📁 File Manager Pro
v10.0.3 | PHP: 8.2.31
Server: LiteSpeed
2026-07-01 23:30:24
📂
/ (Root)
/
home
/
orkouolp
/
web
/
testing.orkobd
/
laravel
/
node_modules
/
alpinejs
/
src
📍 /home/orkouolp/web/testing.orkobd/laravel/node_modules/alpinejs/src
🔄 Refresh
✏️
Editing: entangle.js
Writable
import { effect, release } from './reactivity' export function entangle({ get: outerGet, set: outerSet }, { get: innerGet, set: innerSet }) { let firstRun = true let outerHash let innerHash let reference = effect(() => { let outer = outerGet() let inner = innerGet() if (firstRun) { innerSet(cloneIfObject(outer)) firstRun = false } else { let outerHashLatest = JSON.stringify(outer) let innerHashLatest = JSON.stringify(inner) if (outerHashLatest !== outerHash) { // If outer changed... innerSet(cloneIfObject(outer)) } else if (outerHashLatest !== innerHashLatest) { // If inner changed... outerSet(cloneIfObject(inner)) } else { // If nothing changed... // Prevent an infinite loop... } } outerHash = JSON.stringify(outerGet()) innerHash = JSON.stringify(innerGet()) }) return () => { release(reference) } } function cloneIfObject(value) { return typeof value === 'object' ? JSON.parse(JSON.stringify(value)) : value }
💾 Save Changes
❌ Cancel