@raphy-js/raph 1.0.1-dev.26 → 1.0.1-dev.54

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/README.md +100 -0
  2. package/dist/api/Raph.d.ts +15 -15
  3. package/dist/api/RaphFacadeSession.d.ts +4 -4
  4. package/dist/api/RaphReactivityInstance.d.ts +4 -4
  5. package/dist/api/types.d.ts +11 -11
  6. package/dist/compact.cjs +1 -0
  7. package/dist/compact.js +4 -0
  8. package/dist/debug/reactivity/engine-core.cjs +1 -0
  9. package/dist/debug/reactivity/engine-core.js +1760 -0
  10. package/dist/debug/reactivity/engine.cjs +1 -1
  11. package/dist/debug/reactivity/engine.js +25 -1689
  12. package/dist/debug/reactivity/reactive-object.cjs +1 -1
  13. package/dist/debug/reactivity/reactive-object.js +604 -167
  14. package/dist/debug/runtime/RaphCompactExecutionRuntime.cjs +1 -0
  15. package/dist/debug/runtime/RaphCompactExecutionRuntime.js +9 -0
  16. package/dist/debug/runtime/RaphExecutionRuntime.cjs +1 -0
  17. package/dist/debug/runtime/RaphExecutionRuntime.js +11 -0
  18. package/dist/debug/runtime/RaphRuntime.cjs +1 -1
  19. package/dist/debug/runtime/RaphRuntime.js +115 -1176
  20. package/dist/debug/runtime/RaphRuntimeBase.cjs +1 -0
  21. package/dist/debug/runtime/RaphRuntimeBase.js +941 -0
  22. package/dist/debug/runtime/diagnostics/RaphDebug.cjs +1 -1
  23. package/dist/debug/runtime/diagnostics/RaphDebug.js +72 -66
  24. package/dist/debug/runtime/ownership/RaphNode.cjs +1 -1
  25. package/dist/debug/runtime/ownership/RaphNode.js +11 -0
  26. package/dist/debug/runtime/ownership/RaphScope.cjs +1 -1
  27. package/dist/debug/runtime/ownership/RaphScope.js +12 -12
  28. package/dist/debug/runtime/phases/RaphPhasePipeline.cjs +1 -1
  29. package/dist/debug/runtime/phases/RaphPhasePipeline.js +361 -242
  30. package/dist/debug/runtime/phases/RaphPhaseTaskRecord.cjs +1 -1
  31. package/dist/debug/runtime/phases/RaphPhaseTaskRecord.js +23 -22
  32. package/dist/debug/runtime/reactivity/RaphSelector.cjs +1 -1
  33. package/dist/debug/runtime/reactivity/RaphSelector.js +111 -90
  34. package/dist/debug/runtime/reactivity/RuntimeObjectSupport.cjs +1 -0
  35. package/dist/debug/runtime/reactivity/RuntimeObjectSupport.js +11 -0
  36. package/dist/debug/runtime/reactivity/RuntimeReactivity.cjs +1 -1
  37. package/dist/debug/runtime/reactivity/RuntimeReactivity.js +118 -103
  38. package/dist/debug/runtime/reactivity/RuntimeSelectorSupport.cjs +1 -0
  39. package/dist/debug/runtime/reactivity/RuntimeSelectorSupport.js +12 -0
  40. package/dist/entrypoints/compact.d.ts +2 -0
  41. package/dist/entrypoints/execution.d.ts +2 -0
  42. package/dist/entrypoints/machine-testing.d.ts +2 -2
  43. package/dist/entrypoints/machine.d.ts +5 -5
  44. package/dist/entrypoints/observable.d.ts +4 -0
  45. package/dist/entrypoints/path.d.ts +14 -14
  46. package/dist/entrypoints/reactivity.d.ts +1 -1
  47. package/dist/entrypoints/runtime.d.ts +19 -18
  48. package/dist/execution.cjs +1 -0
  49. package/dist/execution.js +4 -0
  50. package/dist/index.cjs +1 -1
  51. package/dist/index.js +23 -21
  52. package/dist/machine/compiler.d.ts +1 -1
  53. package/dist/machine/core.d.ts +2 -2
  54. package/dist/machine/persistence.d.ts +1 -1
  55. package/dist/machine/runtime.d.ts +3 -3
  56. package/dist/machine/testing.d.ts +1 -1
  57. package/dist/machine/types.d.ts +3 -3
  58. package/dist/main.d.ts +19 -19
  59. package/dist/observable/buffer.d.ts +6 -0
  60. package/dist/observable/class-admin.d.ts +63 -0
  61. package/dist/observable/class-plan.d.ts +46 -0
  62. package/dist/observable/classes.d.ts +10 -0
  63. package/dist/observable/context.d.ts +73 -0
  64. package/dist/observable/native.d.ts +2 -0
  65. package/dist/observable/observable.d.ts +13 -0
  66. package/dist/observable/types.d.ts +60 -0
  67. package/dist/observable.cjs +1 -0
  68. package/dist/observable.js +1187 -0
  69. package/dist/path/DataPath.d.ts +2 -2
  70. package/dist/path/PathRouter.d.ts +1 -1
  71. package/dist/path/RaphKernel.d.ts +6 -6
  72. package/dist/path/data-path.types.d.ts +1 -1
  73. package/dist/path/data-path.utils.d.ts +2 -2
  74. package/dist/path/derived/DerivedRegistry.d.ts +3 -3
  75. package/dist/path/derived/RaphDerivedHandle.d.ts +3 -3
  76. package/dist/path/derived/derived-collection.types.d.ts +1 -1
  77. package/dist/path/derived/derived-collection.utils.d.ts +3 -3
  78. package/dist/path/derived/derived-strategy.utils.d.ts +1 -1
  79. package/dist/path/meta/MetaController.d.ts +5 -5
  80. package/dist/path/meta/RaphMeta.d.ts +3 -3
  81. package/dist/path/meta/RaphMetaStore.d.ts +1 -1
  82. package/dist/path/meta/meta.types.d.ts +2 -2
  83. package/dist/path/path.types.d.ts +2 -2
  84. package/dist/path/pathSegmentKey.d.ts +1 -1
  85. package/dist/path/storage/AdapterPathStore.d.ts +2 -2
  86. package/dist/path/storage/DefaultDataAdapter.d.ts +2 -2
  87. package/dist/path/storage/PathEventHub.d.ts +1 -1
  88. package/dist/path/storage/PathStore.d.ts +2 -2
  89. package/dist/path/storage/data-adapter.types.d.ts +1 -1
  90. package/dist/raph.cjs +1 -1
  91. package/dist/raph.js +23 -21
  92. package/dist/reactivity/engine-core.d.ts +600 -0
  93. package/dist/reactivity/engine.d.ts +6 -550
  94. package/dist/reactivity/reactive-object.d.ts +143 -2
  95. package/dist/reactivity/scope.d.ts +7 -6
  96. package/dist/reactivity/types.d.ts +9 -12
  97. package/dist/reactivity/watch.d.ts +1 -1
  98. package/dist/runtime/RaphCompactExecutionRuntime.d.ts +7 -0
  99. package/dist/runtime/RaphExecutionRuntime.d.ts +6 -0
  100. package/dist/runtime/RaphRuntime.d.ts +19 -403
  101. package/dist/runtime/RaphRuntimeBase.d.ts +194 -0
  102. package/dist/runtime/diagnostics/RaphDebug.d.ts +8 -5
  103. package/dist/runtime/errors.d.ts +1 -1
  104. package/dist/runtime/ownership/RaphEffectScope.d.ts +13 -12
  105. package/dist/runtime/ownership/RaphNode.d.ts +28 -21
  106. package/dist/runtime/ownership/RaphScope.d.ts +32 -19
  107. package/dist/runtime/ownership/parent-graph.types.d.ts +1 -1
  108. package/dist/runtime/ownership/parentGraph.d.ts +2 -2
  109. package/dist/runtime/phases/RaphFrameLoop.d.ts +1 -1
  110. package/dist/runtime/phases/RaphPhasePipeline.d.ts +80 -29
  111. package/dist/runtime/phases/RaphPhaseTaskRecord.d.ts +21 -21
  112. package/dist/runtime/phases/RaphPhaseWatch.d.ts +3 -3
  113. package/dist/runtime/phases/orderPhaseTasks.d.ts +4 -2
  114. package/dist/runtime/phases/phase.types.d.ts +36 -35
  115. package/dist/runtime/reactivity/PathHandle.d.ts +5 -5
  116. package/dist/runtime/reactivity/RaphMetaSource.d.ts +7 -7
  117. package/dist/runtime/reactivity/RaphSelector.d.ts +27 -6
  118. package/dist/runtime/reactivity/RaphWorkGraph.d.ts +40 -39
  119. package/dist/runtime/reactivity/RuntimeObjectSupport.d.ts +9 -0
  120. package/dist/runtime/reactivity/RuntimeReactivity.d.ts +27 -19
  121. package/dist/runtime/reactivity/RuntimeSelectorSupport.d.ts +10 -0
  122. package/dist/runtime/reactivity/RuntimeWatch.d.ts +1 -1
  123. package/dist/runtime/reactivity/disposal-sweep.utils.d.ts +1 -1
  124. package/dist/runtime/reactivity/runtime-reactivity.types.d.ts +3 -3
  125. package/dist/runtime.cjs +1 -1
  126. package/dist/runtime.js +13 -11
  127. package/package.json +22 -62
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const R=Symbol("raph.reactive-object.identity"),x=new Set(["copyWithin","fill","pop","push","reverse","shift","sort","splice","unshift"]),f=new WeakMap,g=new WeakMap,l=new WeakMap,T=Object.freeze({}),O=Object.freeze({assertRead:p,assertWrite:p,throwForeign:p});function j(s,e){g.set(s,e)}function A(s,e=O){g.delete(s);const t=f.get(s);t!==void 0&&(f.delete(s),t.dispose(e))}function M(s,e,t){const r=d(e),i=f.get(s);if(r!==void 0){if(r.context===i)return e;throw(g.get(s)??T).throwForeign?.(r.context.owner),new TypeError("[Raph] Reactive object belongs to another reactivity engine.")}return D(e),(i??W(s,t)).wrap(e)}class P{_rawToProxy=new WeakMap;_rawToTracking=new WeakMap;_arrayMethods=new Map;_bridge;_policy;_writeDepth=0;_disposed=!1;_handler;_weakSelf;constructor(e,t){this._bridge=e,this._policy=t,this._weakSelf=new WeakRef(this),this._handler={defineProperty:(r,i,n)=>this._define(r,i,n),deleteProperty:(r,i)=>this._delete(r,i),get:(r,i,n)=>this._get(r,i,n),has:(r,i)=>this._has(r,i),ownKeys:r=>this._ownKeys(r),set:(r,i,n)=>this._set(r,i,n)}}get owner(){return this._policy.owner}get disposed(){return this._disposed}wrap(e){const t=d(e);if(t!==void 0){if(t.context===this)return e;throw this._policy.throwForeign?.(t.context.owner),new TypeError("[Raph] Reactive object belongs to another reactivity engine.")}D(e);const r=v(e);if(r!==void 0&&r!==this&&!r.disposed)throw this._policy.throwForeign?.(r.owner),new TypeError("[Raph] Raw reactive object belongs to another reactivity engine.");const i=this._rawToProxy.get(e);if(i!==void 0)return i;const n=new Proxy(e,this._handler);return l.set(e,this._weakSelf),this._rawToProxy.set(e,n),n}dispose(e){this._disposed=!0,this._policy=e,this._bridge=void 0,this._rawToProxy=new WeakMap,this._rawToTracking=new WeakMap,this._arrayMethods.clear()}_get(e,t,r){if(t===R)return{context:this,raw:e};this._policy.assertRead?.();const i=Reflect.get(e,t,r);return this._trackValue(e,t),Array.isArray(e)&&x.has(t)&&i===Array.prototype[t]?this._arrayMutator(t):w(i)?this.wrap(i):i}_set(e,t,r){return this._write(()=>{const i=this._unwrap(r),n=Object.hasOwn(e,t),o=Reflect.get(e,t,e),c=Array.isArray(e)?e.length:0;if(n&&o===i)return!0;if(!Reflect.set(e,t,i,e))return!1;const h=this._rawToTracking.get(e);return h===void 0||(this._trigger(h.valueDeps?.get(t)),n||(this._trigger(h.hasDeps?.get(t)),this._trigger(h.iterateDep)),this._triggerArrayShape(e,t,i,c,h)),!0})}_define(e,t,r){return this._write(()=>{const i=Object.hasOwn(e,t),n=Reflect.getOwnPropertyDescriptor(e,t),o=Reflect.get(e,t,e),c=Array.isArray(e)?e.length:0,a="value"in r?{...r,value:this._unwrap(r.value)}:r;if(!Reflect.defineProperty(e,t,a))return!1;const u=this._rawToTracking.get(e);if(u===void 0)return!0;const y=Reflect.getOwnPropertyDescriptor(e,t),b=Reflect.get(e,t,e);return(!i||o!==b||!m(n,y))&&this._trigger(u.valueDeps?.get(t)),i?n?.enumerable!==y?.enumerable&&this._trigger(u.iterateDep):(this._trigger(u.hasDeps?.get(t)),this._trigger(u.iterateDep)),this._triggerArrayShape(e,t,b,c,u),!0})}_delete(e,t){return this._write(()=>{if(!Object.hasOwn(e,t))return!0;if(!Reflect.deleteProperty(e,t))return!1;const i=this._rawToTracking.get(e);return i!==void 0&&(this._trigger(i.valueDeps?.get(t)),this._trigger(i.hasDeps?.get(t)),this._trigger(i.iterateDep)),!0})}_has(e,t){return this._policy.assertRead?.(),this._trackHas(e,t),Reflect.has(e,t)}_ownKeys(e){return this._policy.assertRead?.(),this._trackIterate(e),Reflect.ownKeys(e)}_arrayMutator(e){const t=this._arrayMethods.get(e);if(t!==void 0)return t;const r=n=>this._write(n),i=function(...n){return r(()=>Reflect.apply(Array.prototype[e],this,n))};return this._arrayMethods.set(e,i),i}_trackValue(e,t){const r=this._requireBridge();if(!r.isTracking())return;const i=this._ensureTracking(e),n=i.valueDeps??=new Map;let o=n.get(t);o===void 0&&(o=r.create(),n.set(t,o)),r.track(o)}_trackHas(e,t){const r=this._requireBridge();if(!r.isTracking())return;const i=this._ensureTracking(e),n=i.hasDeps??=new Map;let o=n.get(t);o===void 0&&(o=r.create(),n.set(t,o)),r.track(o)}_trackIterate(e){const t=this._requireBridge();if(!t.isTracking())return;const r=this._ensureTracking(e),i=r.iterateDep??=t.create();t.track(i)}_ensureTracking(e){let t=this._rawToTracking.get(e);return t===void 0&&(t={},this._rawToTracking.set(e,t)),t}_trigger(e){e!==void 0&&this._requireBridge().trigger(e)}_triggerArrayShape(e,t,r,i,n){if(!Array.isArray(e))return;if(_(t)&&Number(t)>=i){this._trigger(n.valueDeps?.get("length"));return}if(t!=="length"||Number(r)>=i)return;const o=Number(r);for(const[c,a]of n.valueDeps?.entries()??[])_(c)&&Number(c)>=o&&this._trigger(a);for(const[c,a]of n.hasDeps?.entries()??[])_(c)&&Number(c)>=o&&this._trigger(a);this._trigger(n.iterateDep)}_write(e){if(this._policy.assertWrite?.(),this._writeDepth!==0)return e();const t=()=>{++this._writeDepth;try{return this._requireBridge().batch(e)}finally{--this._writeDepth}};return this._policy.runWrite===void 0?t():this._policy.runWrite(t)}_unwrap(e){const t=d(e);if(t===void 0){if(w(e)){const r=v(e);if(r!==void 0&&r!==this&&!r.disposed)throw this._policy.throwForeign?.(r.owner),new TypeError("[Raph] Raw reactive object belongs to another reactivity engine.")}return e}if(t.context!==this)throw this._policy.throwForeign?.(t.context.owner),new TypeError("[Raph] Reactive object belongs to another reactivity engine.");return t.raw}_requireBridge(){const e=this._bridge;return e===void 0&&p(),e}}function W(s,e){const t=new P(e(),g.get(s)??T);return f.set(s,t),t}function v(s){const e=l.get(s),t=e?.deref();return e!==void 0&&t===void 0&&l.delete(s),t}function d(s){if(!(s===null||typeof s!="object"))return Reflect.get(s,R)}function w(s){if(s===null||typeof s!="object")return!1;if(Array.isArray(s))return!0;const e=Object.getPrototypeOf(s);return e===Object.prototype||e===null}function D(s){if(!w(s))throw new TypeError("[Raph] reactive() accepts only plain objects and arrays.")}function _(s){if(typeof s!="string"||s==="")return!1;const e=Number(s);return Number.isInteger(e)&&e>=0&&e<4294967295&&String(e)===s}function m(s,e){return s===e?!0:s===void 0||e===void 0?!1:s.configurable===e.configurable&&s.enumerable===e.enumerable&&s.get===e.get&&s.set===e.set&&s.value===e.value&&s.writable===e.writable}function p(){throw new Error("[Raph] Reactive object owner is disposed.")}exports.configureReactiveObjectPolicy=j;exports.disposeReactiveObjectContext=A;exports.reactiveObject=M;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class O{constructor(e,t){this._key=e,this._source=t}get(e){return this._key===e?this._source:void 0}set(e,t){return new Map([[this._key,this._source],[e,t]])}entries(){return[[this._key,this._source]].values()}}const R=Symbol("raph.reactive-object.identity"),_=0,W=1,p=2,C=new Set(["copyWithin","fill","pop","push","reverse","shift","sort","splice","unshift"]),D=0,P=1,S=2,j=3,H=4;function N(o,e,t){switch(e){case"push":return function(i){const n=o._fastArrayTarget(this);return n===void 0||arguments.length!==1?Reflect.apply(t,this,arguments):o._arrayWrite(D,n,i,void 0,void 0,1)};case"pop":return function(){const i=o._fastArrayTarget(this);return i===void 0||arguments.length!==0?Reflect.apply(t,this,arguments):o._arrayWrite(P,i,void 0,void 0,void 0,0)};case"shift":return function(){const i=o._fastArrayTarget(this);return i===void 0||arguments.length!==0?Reflect.apply(t,this,arguments):o._arrayWrite(S,i,void 0,void 0,void 0,0)};case"unshift":return function(i){const n=o._fastArrayTarget(this);return n===void 0||arguments.length!==1?Reflect.apply(t,this,arguments):o._arrayWrite(j,n,i,void 0,void 0,1)};case"splice":return function(i,n,s){const a=arguments.length,c=o._fastArrayTarget(this),h=a>=1&&a<=3&&typeof i=="number"&&(a===1||typeof n=="number");return c===void 0||!h?Reflect.apply(t,this,arguments):o._arrayWrite(H,c,i,n,s,a)};default:return t}}const f=new WeakMap,m=new WeakMap,A=new WeakMap;let B=0;class V{owner;proxy=void 0;tracking=void 0;extension=void 0;view=void 0;deep=!1;constructor(e){this.owner=e}}let E;class q{constructor(e){return e}}class g extends q{#e;static read(e){return#e in e?e.#e:E?.get(e)}static write(e,t){if(#e in e){e.#e=t;return}if(Object.isExtensible(e)){const r=new g(e);r.#e=t;return}(E??=new WeakMap).set(e,t)}}const I=Object.freeze({}),L=Object.freeze({assertRead:v,assertWrite:v,throwForeign:v});function Y(o,e){m.set(o,e);const t=f.get(o);t!==void 0&&!t.disposed&&t._setPolicy(e)}function F(o,e=L){m.delete(o);const t=f.get(o);t!==void 0&&(f.delete(o),t.dispose(e))}function K(o,e,t){const r=x(e),i=f.get(o);if(r!==void 0){if(r.context===i)return e;throw(m.get(o)??I).throwForeign?.(r.context.owner),new TypeError("[Raph] Reactive object belongs to another reactivity engine.")}return M(e),(i??$(o,t)).wrap(e)}class U{_admins;_arrayMethods=new Map;_bridge;_policy;_writeDepth=0;_openBridge;_openBoundary;_disposed=!1;_extendedHandlers;_mutatorProxy;_mutatorTarget;_lockedTargets;_handler;_weakSelf;constructor(e,t){this._bridge=e,this._policy=t,this._weakSelf=new WeakRef(this),t.owner===void 0&&(this._admins=new WeakMap,B++),this._handler={defineProperty:(r,i,n)=>this._define(r,i,n),deleteProperty:(r,i)=>this._delete(r,i),get:(r,i,n)=>this._get(r,i,n),has:(r,i)=>this._has(r,i),ownKeys:r=>this._ownKeys(r),set:(r,i,n)=>this._set(r,i,n)}}get owner(){return this._policy.owner}_setPolicy(e){this._policy=e}get disposed(){return this._disposed}support(){const e={bridge:this._requireBridge(),wrap:(t,r,i)=>{const n=this._ownAdmin(t),s=n?.extension;if(s!==void 0){if(this._policy.assertRead?.(),s.extension!==r||s.deep!==i)throw new TypeError("[Raph] Observable depth is already fixed for this value.");return n.proxy}const a=this._extensionHandler(r,i),c=this.wrap(t,a),h=this._ownAdmin(t);return h!==void 0&&(h.extension=a),c},observedView:t=>{const r=this._ownAdmin(t);return r?.view===void 0?void 0:r},setObservedView:(t,r,i)=>{const n=this._ownAdmin(t);n!==void 0&&(n.view=r,n.deep=i)},claim:t=>this.claim(t),unwrap:t=>this._unwrap(t),identity:t=>({context:this,raw:t}),hasView:t=>this._ownAdmin(t)?.proxy!==void 0,write:t=>this._write(t),openWrite:()=>this._openWrite(),closeWrite:()=>this._closeWrite(),failWrite:t=>this._failOpenWrite(t),tryDirectWrite:()=>(this._policy.assertWrite?.(),this._writeDepth!==0||this._policy.writeBoundary?._isWriteBatchOpen()===!0)};return Object.defineProperty(e,"policy",{enumerable:!0,get:()=>this._policy}),e}claim(e){this._policy.assertRead?.(),this._claimAdmin(e)}_ownAdmin(e){const t=this._admins;if(t!==void 0)return t.get(e);const r=g.read(e);return r!==void 0&&r.owner===this._weakSelf?r:void 0}_claimAdmin(e){const t=this._ownAdmin(e);if(t!==void 0)return t;const r=T(e);if(r!==void 0&&r!==this&&!r.disposed)throw this._policy.throwForeign?.(r.owner),new TypeError("[Raph] Raw reactive object belongs to another reactivity engine.");const i=new V(this._weakSelf),n=this._admins;return n===void 0?g.write(e,i):(n.set(e,i),A.set(e,this._weakSelf)),i}wrap(e,t){const r=x(e);if(r!==void 0){if(r.context===this)return e;throw this._policy.throwForeign?.(r.context.owner),new TypeError("[Raph] Reactive object belongs to another reactivity engine.")}M(e);const i=this._claimAdmin(e),n=i.proxy;if(n!==void 0)return n;const s=new Proxy(e,t?.handler??this._handler);return i.proxy=s,s}dispose(e){if(this._disposed=!0,this._policy=e,this._bridge=void 0,this._admins!==void 0&&(this._admins=new WeakMap),this._arrayMethods.clear(),this._lockedTargets=void 0,this._mutatorProxy=void 0,this._mutatorTarget=void 0,this._extendedHandlers!==void 0){for(const t of this._extendedHandlers.values())t.deep!==void 0&&(t.deep.extension=void 0),t.shallow!==void 0&&(t.shallow.extension=void 0);this._extendedHandlers=void 0}}_extensionHandler(e,t){const r=this._extendedHandlers??=new Map;let i=r.get(e);i===void 0&&r.set(e,i={});const n=t?"deep":"shallow";let s=i[n];if(s===void 0){const a=Object.create(this._handler),c={extension:e,deep:t,handler:a};a.get=(h,l,u)=>this._get(h,l,u,c),i[n]=s=c}return s}_get(e,t,r,i){if(t===R)return{context:this,raw:e};this._policy.assertRead?.();const n=Reflect.get(e,t,r);if(this._trackValue(e,t),n===null||typeof n!="object")return typeof n=="function"&&Array.isArray(e)&&C.has(t)&&n===Array.prototype[t]?(this._mutatorProxy=r,this._mutatorTarget=e,this._arrayMutator(t)):n;const s=i??this._ownAdmin(e)?.extension;if(s!==void 0){if(!Object.isExtensible(e)||this._lockedTargets?.has(e)===!0){const a=Object.getOwnPropertyDescriptor(e,t);if(a?.configurable===!1&&a.writable===!1&&"value"in a)return n}return s.extension.readValue(n,s.deep)}return w(n)?this.wrap(n):n}_set(e,t,r){const i=this._openWrite();if(i===_)return this._applySet(e,t,r);if(i===p)return this._writeThroughPolicy(()=>this._applySet(e,t,r));let n;try{n=this._applySet(e,t,r)}catch(s){throw this._failOpenWrite(s)}return this._closeWrite(),n}_applySet(e,t,r){const i=this._unwrap(r),n=Object.hasOwn(e,t),s=Reflect.get(e,t,e),a=Array.isArray(e)?e.length:0;if(n&&s===i)return!0;if(!Reflect.set(e,t,i,e))return!1;const h=this._ownAdmin(e)?.tracking;return h===void 0||(this._trigger(h.valueDeps?.get(t)),n||(this._trigger(h.hasDeps?.get(t)),this._trigger(h.iterateDep)),this._triggerArrayShape(e,t,i,a,h)),!0}_define(e,t,r){const i=this._openWrite();if(i===_)return this._applyDefine(e,t,r);if(i===p)return this._writeThroughPolicy(()=>this._applyDefine(e,t,r));let n;try{n=this._applyDefine(e,t,r)}catch(s){throw this._failOpenWrite(s)}return this._closeWrite(),n}_applyDefine(e,t,r){const i=Object.hasOwn(e,t),n=Reflect.getOwnPropertyDescriptor(e,t),s=Reflect.get(e,t,e),a=Array.isArray(e)?e.length:0,c="value"in r?{...r,value:this._unwrap(r.value)}:r;if(!Reflect.defineProperty(e,t,c))return!1;(n?.configurable===!1||Reflect.getOwnPropertyDescriptor(e,t)?.configurable===!1)&&(this._lockedTargets??=new WeakSet).add(e);const l=this._ownAdmin(e)?.tracking;if(l===void 0)return!0;const u=Reflect.getOwnPropertyDescriptor(e,t),d=Reflect.get(e,t,e);return(!i||s!==d||!k(n,u))&&this._trigger(l.valueDeps?.get(t)),i?n?.enumerable!==u?.enumerable&&this._trigger(l.iterateDep):(this._trigger(l.hasDeps?.get(t)),this._trigger(l.iterateDep)),this._triggerArrayShape(e,t,d,a,l),!0}_delete(e,t){const r=this._openWrite();if(r===_)return this._applyDelete(e,t);if(r===p)return this._writeThroughPolicy(()=>this._applyDelete(e,t));let i;try{i=this._applyDelete(e,t)}catch(n){throw this._failOpenWrite(n)}return this._closeWrite(),i}_applyDelete(e,t){if(!Object.hasOwn(e,t))return!0;if(!Reflect.deleteProperty(e,t))return!1;const i=this._ownAdmin(e)?.tracking;return i!==void 0&&(this._trigger(i.valueDeps?.get(t)),this._trigger(i.hasDeps?.get(t)),this._trigger(i.iterateDep)),!0}_has(e,t){return this._policy.assertRead?.(),this._trackHas(e,t),Reflect.has(e,t)}_ownKeys(e){return this._policy.assertRead?.(),this._trackIterate(e),Reflect.ownKeys(e)}_arrayMutator(e){const t=this._arrayMethods.get(e);if(t!==void 0)return t;const r=s=>this._write(s),n=N(this,e,function(...s){return r(()=>Reflect.apply(Array.prototype[e],this,s))});return this._arrayMethods.set(e,n),n}_fastArrayTarget(e){const t=this._mutatorProxy,r=this._mutatorTarget;if(this._mutatorProxy=void 0,this._mutatorTarget=void 0,r===void 0||t!==e||Object.getPrototypeOf(r)!==Array.prototype)return;const i=this._bridge;return i===void 0||i.isTracking()?void 0:r}_arrayWrite(e,t,r,i,n,s){const a=this._openWrite();if(a===_)return this._arrayOperation(e,t,r,i,n,s);if(a===p)return this._writeThroughPolicy(()=>this._arrayOperation(e,t,r,i,n,s));let c;try{c=this._arrayOperation(e,t,r,i,n,s)}catch(h){throw this._failOpenWrite(h)}return this._closeWrite(),c}_arrayOperation(e,t,r,i,n,s){switch(e){case D:{const a=t.length;return this._setArrayEntry(t,String(a),r),this._setArrayEntry(t,"length",a+1),a+1}case P:{const a=t.length;if(a===0){this._setArrayEntry(t,"length",0);return}const c=String(a-1),h=t[a-1];return this._deleteArrayEntry(t,c),this._setArrayEntry(t,"length",a-1),this._viewOf(t,c,h)}case S:{const a=t.length;if(a===0){this._setArrayEntry(t,"length",0);return}const c=t[0];for(let h=1;h<a;h++)this._moveArrayEntry(t,h,h-1);return this._deleteArrayEntry(t,String(a-1)),this._setArrayEntry(t,"length",a-1),this._viewOf(t,"0",c)}case j:{const a=t.length;for(let c=a;c>0;c--)this._moveArrayEntry(t,c-1,c);return this._setArrayEntry(t,"0",r),this._setArrayEntry(t,"length",a+1),a+1}default:return this._splice(t,r,i,n,s)}}_splice(e,t,r,i,n){const s=e.length,a=Number.isNaN(t)?0:Math.trunc(t),c=a<0?Math.max(s+a,0):Math.min(a,s),h=n>2?1:0;let l=0;if(n===1)l=s-c;else if(n>1){const d=Number.isNaN(r)?0:Math.trunc(r);l=Math.min(Math.max(d,0),s-c)}const u=[];for(let d=0;d<l;d++){const b=c+d;b in e&&(u[d]=this._viewOf(e,String(b),e[b]))}if(u.length=l,h<l){for(let d=c;d<s-l;d++)this._moveArrayEntry(e,d+l,d+h);for(let d=s;d>s-l+h;d--)this._deleteArrayEntry(e,String(d-1))}else if(h>l)for(let d=s-l;d>c;d--)this._moveArrayEntry(e,d+l-1,d+h-1);return h===1&&this._setArrayEntry(e,String(c),i),this._setArrayEntry(e,"length",s-l+h),u}_moveArrayEntry(e,t,r){t in e?this._setArrayEntry(e,String(r),e[t]):this._deleteArrayEntry(e,String(r))}_setArrayEntry(e,t,r){if(!this._applySet(e,t,r))throw new TypeError(`[Raph] Cannot assign array property "${t}".`)}_deleteArrayEntry(e,t){if(!this._applyDelete(e,t))throw new TypeError(`[Raph] Cannot delete array property "${t}".`)}_viewOf(e,t,r){if(r===null||typeof r!="object")return r;const i=this._ownAdmin(e)?.extension;if(i!==void 0){if(!Object.isExtensible(e)||this._lockedTargets?.has(e)===!0){const n=Object.getOwnPropertyDescriptor(e,t);if(n?.configurable===!1&&n.writable===!1&&"value"in n)return r}return i.extension.readValue(r,i.deep)}return w(r)?this.wrap(r):r}_trackValue(e,t){const r=this._requireBridge();if(!r.isTracking())return;const i=this._ensureTracking(e),n=i.valueDeps;let s=n?.get(t);if(s===void 0){s=r.create(),i.valueDeps=n===void 0?new O(t,s):n.set(t,s);const a=Array.isArray(e)?y(t):-1;a>=0&&(i.maxValueIndex=Math.max(i.maxValueIndex??-1,a))}r.track(s)}_trackHas(e,t){const r=this._requireBridge();if(!r.isTracking())return;const i=this._ensureTracking(e),n=i.hasDeps;let s=n?.get(t);if(s===void 0){s=r.create(),i.hasDeps=n===void 0?new O(t,s):n.set(t,s);const a=Array.isArray(e)?y(t):-1;a>=0&&(i.maxHasIndex=Math.max(i.maxHasIndex??-1,a))}r.track(s)}_trackIterate(e){const t=this._requireBridge();if(!t.isTracking())return;const r=this._ensureTracking(e),i=r.iterateDep??=t.create();t.track(i)}_ensureTracking(e){const t=this._claimAdmin(e);return t.tracking??={}}_trigger(e){e!==void 0&&this._requireBridge().trigger(e)}_triggerArrayShape(e,t,r,i,n){if(!Array.isArray(e))return;if(y(t)>=i){this._trigger(n.valueDeps?.get("length"));return}if(t!=="length"||Number(r)>=i)return;const s=Number(r);if(n.maxValueIndex!==void 0&&n.maxValueIndex>=s)for(const[a,c]of n.valueDeps.entries())y(a)>=s&&this._trigger(c);if(n.maxHasIndex!==void 0&&n.maxHasIndex>=s)for(const[a,c]of n.hasDeps.entries())y(a)>=s&&this._trigger(c);this._trigger(n.iterateDep)}_write(e){const t=this._openWrite();if(t===_)return e();if(t===p)return this._writeThroughPolicy(e);let r;try{r=e()}catch(i){throw this._failOpenWrite(i)}return this._closeWrite(),r}_openWrite(){this._policy.assertWrite?.();const e=this._policy.writeBoundary;if(this._writeDepth!==0||e?._isWriteBatchOpen())return _;if(e===void 0&&this._policy.runWrite!==void 0)return p;const t=this._requireBridge();return e?._enterWrite(),++this._writeDepth,t.startBatch(),this._openBridge=t,this._openBoundary=e,W}_closeWrite(){const e=this._openBridge,t=this._openBoundary;this._openBridge=void 0,this._openBoundary=void 0;let r,i=!1;try{e.endBatch()}catch(n){i=!0,r=n}if(--this._writeDepth,i)throw t===void 0?r:t._failWrite(r);t?._exitWrite()}_failOpenWrite(e){const t=this._openBridge,r=this._openBoundary;this._openBridge=void 0,this._openBoundary=void 0;let i=e;try{t.endBatch()}catch(n){i=new AggregateError([e,n],"[Raph] Batch operation and effect flush failed.")}return--this._writeDepth,r===void 0?i:r._failWrite(i)}_writeThroughPolicy(e){const t=()=>{++this._writeDepth;try{return this._requireBridge().batch(e)}finally{--this._writeDepth}};return this._policy.runWrite===void 0?t():this._policy.runWrite(t)}_unwrap(e){const t=x(e);if(t===void 0){if(e!==null&&typeof e=="object"){const r=T(e);if(r!==void 0&&r!==this&&!r.disposed)throw this._policy.throwForeign?.(r.owner),new TypeError("[Raph] Raw reactive object belongs to another reactivity engine.")}return e}if(t.context!==this)throw this._policy.throwForeign?.(t.context.owner),new TypeError("[Raph] Reactive object belongs to another reactivity engine.");return t.raw}_requireBridge(){const e=this._bridge;return e===void 0&&v(),e}}function z(o){const e=f.get(o);if(e===void 0)throw new Error("[Raph] Reactive object context must be initialized first.");return e.support()}function J(o){return w(o)}function $(o,e){const t=new U(e(),m.get(o)??I);return f.set(o,t),t}function T(o){const e=g.read(o)?.owner.deref();if(e!==void 0&&!e.disposed||B===0)return e;const t=A.get(o),r=t?.deref();return t!==void 0&&r===void 0&&A.delete(o),r!==void 0&&!r.disposed?r:e??r}function x(o){if(!(o===null||typeof o!="object"))return Reflect.get(o,R)}function w(o){if(o===null||typeof o!="object")return!1;if(Array.isArray(o))return!0;const e=Object.getPrototypeOf(o);return e===Object.prototype||e===null}function M(o){if(!w(o))throw new TypeError("[Raph] reactive() accepts only plain objects and arrays.")}function y(o){if(typeof o!="string")return-1;const e=o.length;if(e===0||e>10)return-1;const t=o.charCodeAt(0)-48;if(t<0||t>9)return-1;if(t===0)return e===1?0:-1;let r=t;for(let i=1;i<e;i++){const n=o.charCodeAt(i)-48;if(n<0||n>9)return-1;r=r*10+n}return r<4294967295?r:-1}function k(o,e){return o===e?!0:o===void 0||e===void 0?!1:o.configurable===e.configurable&&o.enumerable===e.enumerable&&o.get===e.get&&o.set===e.set&&o.value===e.value&&o.writable===e.writable}function v(){throw new Error("[Raph] Reactive object owner is disposed.")}exports.REACTIVE_OBJECT_IDENTITY=R;exports.WRITE_CALLBACK=p;exports.WRITE_NESTED=_;exports.WRITE_OPENED=W;exports.configureReactiveObjectPolicy=Y;exports.disposeReactiveObjectContext=F;exports.getReactiveObjectSupport=z;exports.isPlainReactiveValue=J;exports.reactiveObject=K;