@planet-matrix/mobius-model 0.1.3 → 0.3.0

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 (77) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/README.md +21 -0
  3. package/dist/index.d.ts +1 -1
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +2 -2
  6. package/dist/index.js.map +12 -6
  7. package/dist/reactor/index.d.ts +3 -0
  8. package/dist/reactor/index.d.ts.map +1 -0
  9. package/dist/reactor/reactor-core/flags.d.ts.map +1 -0
  10. package/dist/reactor/reactor-core/index.d.ts.map +1 -0
  11. package/dist/reactor/reactor-core/primitive.d.ts +276 -0
  12. package/dist/reactor/reactor-core/primitive.d.ts.map +1 -0
  13. package/dist/{signal/signal-core → reactor/reactor-core}/reactive-system.d.ts +102 -22
  14. package/dist/reactor/reactor-core/reactive-system.d.ts.map +1 -0
  15. package/dist/reactor/reactor-operators/branch.d.ts +19 -0
  16. package/dist/reactor/reactor-operators/branch.d.ts.map +1 -0
  17. package/dist/reactor/reactor-operators/convert.d.ts +30 -0
  18. package/dist/reactor/reactor-operators/convert.d.ts.map +1 -0
  19. package/dist/reactor/reactor-operators/create.d.ts +26 -0
  20. package/dist/reactor/reactor-operators/create.d.ts.map +1 -0
  21. package/dist/reactor/reactor-operators/filter.d.ts +269 -0
  22. package/dist/reactor/reactor-operators/filter.d.ts.map +1 -0
  23. package/dist/reactor/reactor-operators/index.d.ts +8 -0
  24. package/dist/reactor/reactor-operators/index.d.ts.map +1 -0
  25. package/dist/reactor/reactor-operators/join.d.ts +48 -0
  26. package/dist/reactor/reactor-operators/join.d.ts.map +1 -0
  27. package/dist/reactor/reactor-operators/map.d.ts +165 -0
  28. package/dist/reactor/reactor-operators/map.d.ts.map +1 -0
  29. package/dist/reactor/reactor-operators/utility.d.ts +48 -0
  30. package/dist/reactor/reactor-operators/utility.d.ts.map +1 -0
  31. package/package.json +9 -12
  32. package/src/index.ts +1 -1
  33. package/src/reactor/README.md +18 -0
  34. package/src/reactor/index.ts +2 -0
  35. package/src/reactor/reactor-core/primitive.ts +1046 -0
  36. package/src/{signal/signal-core → reactor/reactor-core}/reactive-system.ts +392 -93
  37. package/src/reactor/reactor-operators/branch.ts +66 -0
  38. package/src/reactor/reactor-operators/convert.ts +70 -0
  39. package/src/reactor/reactor-operators/create.ts +66 -0
  40. package/src/reactor/reactor-operators/filter.ts +988 -0
  41. package/src/reactor/reactor-operators/index.ts +7 -0
  42. package/src/reactor/reactor-operators/join.ts +174 -0
  43. package/src/reactor/reactor-operators/map.ts +599 -0
  44. package/src/reactor/reactor-operators/utility.ts +102 -0
  45. package/tests/unit/{signal/computed.spec.ts → reactor/alien-signals-computed.spec.ts} +15 -10
  46. package/tests/unit/reactor/alien-signals-effect-scope.spec.ts +86 -0
  47. package/tests/unit/reactor/alien-signals-effect.spec.ts +395 -0
  48. package/tests/unit/reactor/alien-signals-topology.spec.ts +361 -0
  49. package/tests/unit/reactor/alien-signals-trigger.spec.ts +75 -0
  50. package/tests/unit/reactor/alien-signals-untrack.spec.ts +91 -0
  51. package/tests/unit/reactor/preact-signal.spec.ts +73 -0
  52. package/tests/unit/reactor/reactor-core.spec.ts +219 -0
  53. package/tests/unit/reactor/reactor-operators-branch.spec.ts +33 -0
  54. package/tests/unit/reactor/reactor-operators-convert.spec.ts +31 -0
  55. package/tests/unit/reactor/reactor-operators-create.spec.ts +47 -0
  56. package/tests/unit/reactor/reactor-operators-filter.spec.ts +604 -0
  57. package/tests/unit/reactor/reactor-operators-join.spec.ts +94 -0
  58. package/tests/unit/reactor/reactor-operators-map.spec.ts +327 -0
  59. package/tests/unit/reactor/reactor-operators-utility.spec.ts +55 -0
  60. package/dist/signal/index.d.ts +0 -3
  61. package/dist/signal/index.d.ts.map +0 -1
  62. package/dist/signal/signal-core/flags.d.ts.map +0 -1
  63. package/dist/signal/signal-core/index.d.ts.map +0 -1
  64. package/dist/signal/signal-core/primitive.d.ts +0 -67
  65. package/dist/signal/signal-core/primitive.d.ts.map +0 -1
  66. package/dist/signal/signal-core/reactive-system.d.ts.map +0 -1
  67. package/dist/signal/signal-operators/index.d.ts +0 -4
  68. package/dist/signal/signal-operators/index.d.ts.map +0 -1
  69. package/src/signal/index.ts +0 -2
  70. package/src/signal/signal-core/README.md +0 -4
  71. package/src/signal/signal-core/primitive.ts +0 -275
  72. package/src/signal/signal-operators/index.ts +0 -19
  73. package/tests/unit/signal/effect.spec.ts +0 -108
  74. /package/dist/{signal/signal-core → reactor/reactor-core}/flags.d.ts +0 -0
  75. /package/dist/{signal/signal-core → reactor/reactor-core}/index.d.ts +0 -0
  76. /package/src/{signal/signal-core → reactor/reactor-core}/flags.ts +0 -0
  77. /package/src/{signal/signal-core → reactor/reactor-core}/index.ts +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,59 @@
1
1
  # @planet-matrix/mobius-model
2
2
 
3
+ ## 0.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - b5fb088: Support `withoutTracking` related functionality.
8
+ - 53b681a: Optimize reactor operators and tests. Include:
9
+
10
+ - Split transformation into map and branch categories.
11
+ - Turn operators' arguments to single options style.
12
+ - Fix some operators.
13
+ - Add some operators and tests.
14
+
15
+ - 4429bce: Add timer, merge, and buffer operators; enhance tests for new functionality.
16
+ - d2e0839: Rename signal to reactor.
17
+ - 4601de9: Implement combineLatest and getValues operators, and corresponding tests.
18
+ - c36e373: Add transformation operators, and corresponding tests.
19
+ - 584595d: Support `subscribe` reactor operator.
20
+ - 31ccb80: Enhance Effect and Trigger classes with cleanup functionality and update tests.
21
+ - c026ad1: Add type checking functions.
22
+ - f8e8b69: Add `assertWithoutActiveNodeAsSub` and `assertWithoutTracking` methods to ReactiveSystem.
23
+ - 478e43c: Enhance effect cleanup handling with context-aware setCleanup.
24
+ - 50a4b17: Rename `stop` to `dispose`, rename `peek` to `getWithoutTrack`.
25
+ - fdb77c9: Implement interval, withHistory, and zip operators; add corresponding tests.
26
+ - 69c4923: Add onDispose callback support and corresponding tests.
27
+ - 8ed8b53: Update signal and computed constructors to accept getters; modify tests accordingly.
28
+ - 8ef178e: Add Derived Reactor.
29
+ - 2fa20d7: Support `peek` method.
30
+ - 9cdee0d: Implement Trigger Signal and add more tests.
31
+ - 9221b8d: Support options parameter for signals constructors and factory functions.
32
+ - 90c99b5: Add audit operators and corresponding tests.
33
+ - f43629b: Support change equality function of signal and computed.
34
+ - 6e3abf5: Support dep change and sup change callbacks.
35
+
36
+ ## 0.2.0
37
+
38
+ ### Minor Changes
39
+
40
+ - 1a8ecad: Implement EffectScope, add related tests.
41
+ - a127dd1: Fix signal reactive system and add effect tests.
42
+
43
+ 依赖收集时会尝试复用现存的连接,本次更新修复了复用连接时未正确更新指针位置的问题。
44
+
45
+ 同时注意到:若连接无法复用,会创建新的连接,在创建新连接时,首先会做重复连接检查,该检查的检索顺序可能会影响依赖收集的结果,仅为一时猜测,尚未确认该问题是否真的存在。
46
+
47
+ - 1f79304: Add more tests for effect, refine codes.
48
+
49
+ ## 0.1.4
50
+
51
+ ### Patch Changes
52
+
53
+ - 1297345: Update Mobius Mono.
54
+
55
+ 使用 `.npmignore` 代替 `files` 字段,重新撰写 Mobius Mono 文档等。
56
+
3
57
  ## 0.1.3
4
58
 
5
59
  ### Patch Changes
package/README.md CHANGED
@@ -3,3 +3,24 @@
3
3
  ## Feature
4
4
 
5
5
  - 默认跨平台。
6
+
7
+ ## Todos & Drafts
8
+
9
+ - [ ] reactor 支持 scope。
10
+ - [ ] reactor operators.
11
+ - [ ] Angular signal's `resource`(https://angular.dev/guide/signals/resource),also refer to `createResource` of SolidJS(https://docs.solidjs.com/reference/basic-reactivity/create-resource).
12
+ - [ ] delay operator.
13
+ - [ ] timeInterval operator.
14
+ - [ ] timestamp operator.
15
+ - [ ] timeout operator.
16
+ - [ ] timeoutWith operator.
17
+ - [ ] toArray operator.
18
+ - [ ] count operator.
19
+ - [ ] clone operator. >2
20
+ - [ ] iif operator.
21
+ - [ ] pluck operator.
22
+ - [ ] sequenceEqual operator.
23
+ - [ ] skip operator.
24
+ - [ ] skipWhile operator.
25
+ - [ ] skipUntil operator.
26
+ - [ ] fix preact signal tests.
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export * from "./signal/index.ts";
1
+ export * as Reactor from "./reactor/index.ts";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA"}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  // Enjoy using Example Library!
3
- var Q={None:0,Mutable:1,Pending:2,Dirty:4,Watching:8,Tracking:16,TrackingReusing:32},n=(U)=>{return(U&Q.Mutable)!==0},e=(U)=>{return U===void 0?Q.Mutable:U|Q.Mutable},UU=(U)=>{return U&~Q.Mutable},HU=(U)=>{return U^Q.Mutable},jU=(U)=>{return(U&Q.Dirty)!==0},JU=(U)=>{return U===void 0?Q.Dirty:U|Q.Dirty},KU=(U)=>{return U&~Q.Dirty},QU=(U)=>{return U^Q.Dirty},XU=(U)=>{return(U&Q.Pending)!==0},YU=(U)=>{return U===void 0?Q.Pending:U|Q.Pending},ZU=(U)=>{return U&~Q.Pending},$U=(U)=>{return U^Q.Pending},zU=(U)=>{return(U&Q.Watching)!==0},qU=(U)=>{return U===void 0?Q.Watching:U|Q.Watching},EU=(U)=>{return U&~Q.Watching},MU=(U)=>{return U^Q.Watching},WU=(U)=>{return(U&Q.Tracking)!==0},mU=(U)=>{return U===void 0?Q.Tracking:U|Q.Tracking},VU=(U)=>{return U&~Q.Tracking},BU=(U)=>{return U^Q.Tracking},PU=(U)=>{return(U&Q.TrackingReusing)!==0},RU=(U)=>{return U===void 0?Q.TrackingReusing:U|Q.TrackingReusing},yU=(U)=>{return U&~Q.TrackingReusing},xU=(U)=>{return U^Q.TrackingReusing};class x{flags;constructor(){this.flags=Q.None}static clone(U){let X=new x;return X.set(U.get()),X}get(){return this.flags}set(U){return this.flags=U,this}clear(){return this.flags=Q.None,this}hasMutable(){return n(this.flags)}setMutable(){return this.flags=e(this.flags),this}unsetMutable(){return this.flags=UU(this.flags),this}toggleMutable(){return this.flags=HU(this.flags),this}hasDirty(){return jU(this.flags)}setDirty(){return this.flags=JU(this.flags),this}unsetDirty(){return this.flags=KU(this.flags),this}toggleDirty(){return this.flags=QU(this.flags),this}hasPending(){return XU(this.flags)}setPending(){return this.flags=YU(this.flags),this}unsetPending(){return this.flags=ZU(this.flags),this}togglePending(){return this.flags=$U(this.flags),this}hasWatching(){return zU(this.flags)}setWatching(){return this.flags=qU(this.flags),this}unsetWatching(){return this.flags=EU(this.flags),this}toggleWatching(){return this.flags=MU(this.flags),this}hasTracking(){return WU(this.flags)}setTracking(){return this.flags=mU(this.flags),this}unsetTracking(){return this.flags=VU(this.flags),this}toggleTracking(){return this.flags=BU(this.flags),this}hasTrackingReusing(){return PU(this.flags)}setTrackingReusing(){return this.flags=RU(this.flags),this}unsetTrackingReusing(){return this.flags=yU(this.flags),this}toggleTrackingReusing(){return this.flags=xU(this.flags),this}toString(){if(this.flags===Q.None)return"Flags(None)";let U=[];if(this.hasMutable())U.push("Mutable");if(this.hasPending())U.push("Pending");if(this.hasDirty())U.push("Dirty");if(this.hasWatching())U.push("Watching");if(this.hasTracking())U.push("Tracking");if(this.hasTrackingReusing())U.push("TrackingReusing");return`Flags(${U.join(" | ")})`}}var m=(U)=>{let X=new x;if(U!==void 0)X.set(U);return X};var S=(U)=>{let{update:X,notify:$,unwatched:V}=U,g=(j,H)=>{let J=H.tailDepLink;while(J!==void 0){if(J===j)return!0;J=J.prevDepLink}return!1},d=(j,H)=>{let J=H.tailSubLink;while(J!==void 0){if(J===j)return!0;J=J.prevSubLink}return!1},E=(j,H)=>{let J=j.tailSubLink;while(J!==void 0){if(J.sub===H)return J;J=J.prevSubLink}return},k=(j,H)=>{if(E(j,H)!==void 0===!0)return!0;if(E(H,j)!==void 0===!0)return!0;return!1},C=(j,H)=>{if(E(j,H)!==void 0===!0)return;let K={dep:j,prevSubLink:void 0,nextSubLink:void 0,sub:H,prevDepLink:void 0,nextDepLink:void 0},Y=H.tailDepLink;if(Y!==void 0)Y.nextDepLink=K,K.prevDepLink=Y;else H.headDepLink=K;H.tailDepLink=K;let Z=j.tailSubLink;if(Z!==void 0)Z.nextSubLink=K,K.prevSubLink=Z;else j.headSubLink=K;j.tailSubLink=K},t=(j,H)=>{let J=E(j,H);if(J!==void 0)M(J);let K=E(H,j);if(K!==void 0)M(K)},M=(j)=>{let{prevDepLink:H,dep:J,nextDepLink:K,prevSubLink:Y,sub:Z,nextSubLink:z}=j;if(K!==void 0)K.prevDepLink=H;else Z.tailDepLink=H;if(H!==void 0)H.nextDepLink=K;else Z.headDepLink=K;if(z!==void 0)z.prevSubLink=Y;else J.tailSubLink=Y;if(Y!==void 0)Y.nextSubLink=z;else J.headSubLink=z;if(J.headSubLink===void 0&&J.tailSubLink===void 0)V(J);j.prevDepLink=void 0,j.dep=void 0,j.nextDepLink=void 0,j.prevSubLink=void 0,j.sub=void 0,j.nextSubLink=void 0},l=(j)=>{let H=j.headDepLink;while(H!==void 0){let J=H.nextDepLink;M(H),H=J}},s=(j)=>{let H=j.headSubLink;while(H!==void 0){let J=H.nextSubLink;M(H),H=J}},N=[],B=void 0,T=()=>{return B},P=(j)=>{N.push(B),B=j},R=()=>{B=N.pop()},u=(j,H)=>{P(j);try{return H()}finally{R()}},v=(j)=>{P(j),j.flags.unsetPending().unsetDirty().setTracking()},F=(j)=>{let H=j.flags;if(H.hasTrackingReusing()===!0){let J=j?.tailDepLink?.nextDepLink;if(J!==void 0){let K=J;while(K!==void 0){let Y=K.nextDepLink;M(K),K=Y}}}H.unsetTrackingReusing().unsetTracking(),R()},a=(j,H)=>{v(j);try{return H()}finally{F(j)}},h=(j,H)=>{let J,K=H.flags;if(K.hasTracking()===!0&&K.hasTrackingReusing()===!1)K.setTrackingReusing(),H.tailDepLink=H.headDepLink,J=H.tailDepLink;else J=H.tailDepLink?.nextDepLink;if(J!==void 0&&J.dep===j)return;C(j,H)},i=(j)=>{let H=T();if(H!==void 0)h(j,H)},A=(j)=>{let H=j.headSubLink;while(H!==void 0){let J=H.sub,K=J.flags,Y=!1;if(K.hasPending()===!0&&K.hasDirty()===!1)K.setDirty().unsetPending(),Y=!0;else{H=H.nextSubLink;continue}if(Y===!0){if((K.hasWatching()===!0&&K.hasTracking()===!1)===!0)$(J)}H=H.nextSubLink}};return{isDepLinkOfNode:g,isSubLinkOfNode:d,getLinkOfNodes:E,isLinked:k,linkNode:C,unlinkNode:t,unlink:M,unlinkAllDepLinksOfNode:l,unlinkAllSubLinksOfNode:s,getActiveNodeAsSub:T,setActiveNodeAsSub:P,resetActiveNodeAsSub:R,withActiveNodeAsSub:u,startTracking:v,endTracking:F,withTracking:a,linkNodeOptimizedForTracking:h,track:i,shallowPropagate:A,deeeeepPropagate:(j)=>{let H=j.headSubLink,J=H?.nextSubLink,K=void 0;while(H!==void 0){let Y=H.sub,Z=Y.flags,z=Z.hasWatching(),q=Z.hasMutable();if(Z.hasTracking()===!1&&Z.hasDirty()===!1&&Z.hasPending()===!1)Z.setPending();else if(Z.hasTracking()===!1)z=!1,q=!1;else if(Z.hasDirty()===!1&&Z.hasPending()===!1)Z.setPending(),z=!1;else z=!1,q=!1;if(z===!0)$(Y);if(q===!0){let y=Y.headSubLink;if(y!==void 0){H=y;let p=y.nextSubLink;if(p!==void 0)K={value:J,prev:K},J=p;continue}}if(H=J,H!==void 0){J=H.nextSubLink;continue}if(K!==void 0){if(H=K.value,K=K.prev,H!==void 0)J=H.nextSubLink}}},resolvePending:(j)=>{let H=j.headDepLink,J=void 0;while(H!==void 0){let{sub:K,dep:Y}=H,Z=K.flags,z=Y.flags;if(z.hasMutable()===!0&&z.hasDirty()===!0){if(X(Y)===!0)A(Y)}else if(z.hasMutable()===!0&&z.hasPending()===!0){J={value:H,prev:J},H=Y.headDepLink;continue}if(Z.hasPending()===!0){let q=H.nextDepLink;if(q!==void 0){H=q;continue}}if(J!==void 0)H=J.value,J=J.prev,H.dep.flags.unsetPending();else{H.sub.flags.unsetPending();break}}}}};var wU=Symbol("void"),w=[],D=()=>{while(w.length!==0)w.shift().run()},W=0,FU=()=>{W=W+1},hU=()=>{if(W=W-1,W===0)D()},GU=S({update(U){return U.update()},notify(U){let X=[],$=U;while($!==void 0){if($.flags.hasWatching()===!1)break;U.notify(),X.push($);let V=$?.headSubLink?.sub;$=V instanceof _?V:void 0}w.push(...X.toReversed())},unwatched(U){return U.stop()}}),{unlinkAllDepLinksOfNode:c,withTracking:r,track:G,shallowPropagate:f,deeeeepPropagate:_U,resolvePending:b}=GU;class o{headSubLink;tailSubLink;flags;value;pendingValue;constructor(U){this.headSubLink=void 0,this.tailSubLink=void 0,this.flags=m().setMutable(),this.pendingValue=U,this.value=U}get(){let U=!1;if(this.flags.hasDirty()===!0)U=this.update();if(U===!0)f(this);return G(this),this.value}set(U){if(this.pendingValue=U,this.flags.setDirty(),_U(this),W===0)D()}update(){this.flags.unsetDirty();let U=this.value,X=this.pendingValue;return this.value=X,U!==X}stop(){}}class L{headDepLink;tailDepLink;headSubLink;tailSubLink;flags;value;getValue;constructor(U){this.headDepLink=void 0,this.tailDepLink=void 0,this.headSubLink=void 0,this.tailSubLink=void 0,this.flags=m().setMutable().setDirty(),this.value=wU,this.getValue=U}get(){let U=!1;if(this.flags.hasPending()===!0)b(this);if(this.flags.hasDirty()===!0)U=this.update();if(U===!0)f(this);return G(this),this.value}update(){return r(this,()=>{let X=this.value,$=this.getValue();return this.value=$,X!==$})}stop(){c(this),this.flags=m().setMutable().setDirty()}}class _{headDepLink;tailDepLink;headSubLink;tailSubLink;flags;fn;constructor(U){this.headDepLink=void 0,this.tailDepLink=void 0,this.headSubLink=void 0,this.tailSubLink=void 0,this.flags=m().setWatching(),this.fn=U,this.internalRun()}notify(){this.flags.unsetWatching()}run(){if(this.flags.setWatching(),this.flags.hasPending()===!0)b(this);if(this.flags.hasDirty()===!0)this.internalRun()}internalRun(){G(this),r(this,()=>{return this.fn()})}stop(){c(this),this.flags.clear()}}var I=(U)=>{return new o(U)},AU=(U)=>{return new L(U)},O=(U)=>{return new _(U)};var bU=(U)=>{let X=[];return O(()=>{X.push(U.get())}),I(X)},oU=(U,X)=>{let $=I([U.get(),X.get()]);return O(()=>{$.set([U.get(),X.get()])}),$};export{oU as zip,bU as withHistory,EU as unsetWatching,yU as unsetTrackingReusing,VU as unsetTracking,ZU as unsetPending,UU as unsetMutable,KU as unsetDirty,MU as toggleWatching,xU as toggleTrackingReusing,BU as toggleTracking,$U as togglePending,HU as toggleMutable,QU as toggleDirty,FU as startBatch,I as signal,qU as setWatching,RU as setTrackingReusing,mU as setTracking,YU as setPending,e as setMutable,JU as setDirty,zU as hasWatching,PU as hasTrackingReusing,WU as hasTracking,XU as hasPending,n as hasMutable,jU as hasDirty,m as flags,hU as endBatch,O as effect,S as createReactiveSystem,AU as computed,o as Signal,x as Flags,Q as FLAG_DICT,_ as Effect,L as Computed};
3
+ var MJ=Object.defineProperty;var PJ=(H,J)=>{for(var Y in J)MJ(H,Y,{get:J[Y],enumerable:!0,configurable:!0,set:(X)=>J[Y]=()=>X})};var iH={};PJ(iH,{zip:()=>VJ,withLatestFrom:()=>hJ,withHistory:()=>LJ,unsetWatching:()=>IH,unsetTrackingReusing:()=>bH,unsetTracking:()=>DH,unsetPending:()=>CH,unsetMutable:()=>xH,unsetDirty:()=>FH,trigger:()=>zJ,toggleWatching:()=>TH,toggleTrackingReusing:()=>kH,toggleTracking:()=>SH,togglePending:()=>RH,toggleMutable:()=>NH,toggleDirty:()=>GH,toPromise:()=>CJ,timer:()=>RJ,throttleByTrigger:()=>PX,throttleByToggle:()=>EX,throttleByTime:()=>MX,throttleByDynamic:()=>_X,throttleByCount:()=>qX,tap:()=>vJ,takeUntilTrigger:()=>wX,takeByTrigger:()=>FX,takeByToggle:()=>GX,takeByTime:()=>zX,takeByPredicate:()=>NX,takeByCount:()=>BX,switchMap:()=>iJ,subscribe:()=>YH,startBatch:()=>dH,signal:()=>M,setWatching:()=>mH,setTrackingReusing:()=>LH,setTracking:()=>VH,setPending:()=>yH,setMutable:()=>OH,setDirty:()=>zH,scan:()=>nJ,reactiveSystem:()=>pH,partition:()=>SJ,pairwise:()=>aJ,next:()=>eJ,mergeMap:()=>sJ,mergeArray:()=>TJ,map:()=>lJ,isValueReactor:()=>FJ,isTrigger:()=>sH,isSignal:()=>gH,isReactor:()=>OJ,isEffectScope:()=>uH,isEffect:()=>lH,isDerived:()=>oH,isComputed:()=>rH,isActionReactor:()=>GJ,interval:()=>AJ,hasWatching:()=>AH,hasTrackingReusing:()=>vH,hasTracking:()=>hH,hasPending:()=>wH,hasMutable:()=>_H,hasDirty:()=>BH,groupToSignalObjectBy:()=>rJ,groupToSignalArrayBy:()=>oJ,groupToObjectBy:()=>gJ,groupToArrayBy:()=>pJ,getValuesInObject:()=>$H,getValuesInArray:()=>ZH,fromPromiseSync:()=>wJ,fromPromiseAsync:()=>yJ,flushBatch:()=>h,flags:()=>y,filter:()=>HX,endBatch:()=>cH,effectScope:()=>BJ,effect:()=>q,distinctUntilChanged:()=>xX,distinct:()=>OX,derived:()=>xJ,debounceByTrigger:()=>QX,debounceByToggle:()=>UX,debounceByTime:()=>KX,debounceByDynamic:()=>WX,debounceByCount:()=>jX,current:()=>tJ,createReactiveSystem:()=>n,contextualMap:()=>uJ,computed:()=>NJ,combineLatestObject:()=>IJ,combineLatestArray:()=>mJ,clone:()=>DJ,castValueInitializer:()=>_,bufferByTrigger:()=>fJ,bufferByToggle:()=>dJ,bufferByTime:()=>kJ,bufferByDynamic:()=>cJ,bufferByCount:()=>bJ,batch:()=>_J,auditByTrigger:()=>YX,auditByToggle:()=>ZX,auditByTime:()=>XX,auditByDynamic:()=>$X,auditByCount:()=>JX,Trigger:()=>g,Signal:()=>f,Flags:()=>b,FLAG_DICT:()=>O,EffectScope:()=>p,Effect:()=>D,Derived:()=>d,Computed:()=>c,BaseReactor:()=>z});var O={None:0,Mutable:1,Pending:2,Dirty:4,Watching:8,Tracking:16,TrackingReusing:32},_H=(H)=>{return(H&O.Mutable)!==0},OH=(H)=>{return H===void 0?O.Mutable:H|O.Mutable},xH=(H)=>{return H&~O.Mutable},NH=(H)=>{return H^O.Mutable},BH=(H)=>{return(H&O.Dirty)!==0},zH=(H)=>{return H===void 0?O.Dirty:H|O.Dirty},FH=(H)=>{return H&~O.Dirty},GH=(H)=>{return H^O.Dirty},wH=(H)=>{return(H&O.Pending)!==0},yH=(H)=>{return H===void 0?O.Pending:H|O.Pending},CH=(H)=>{return H&~O.Pending},RH=(H)=>{return H^O.Pending},AH=(H)=>{return(H&O.Watching)!==0},mH=(H)=>{return H===void 0?O.Watching:H|O.Watching},IH=(H)=>{return H&~O.Watching},TH=(H)=>{return H^O.Watching},hH=(H)=>{return(H&O.Tracking)!==0},VH=(H)=>{return H===void 0?O.Tracking:H|O.Tracking},DH=(H)=>{return H&~O.Tracking},SH=(H)=>{return H^O.Tracking},vH=(H)=>{return(H&O.TrackingReusing)!==0},LH=(H)=>{return H===void 0?O.TrackingReusing:H|O.TrackingReusing},bH=(H)=>{return H&~O.TrackingReusing},kH=(H)=>{return H^O.TrackingReusing};class b{flags;constructor(){this.flags=O.None}static clone(H){let J=new b;return J.set(H.get()),J}get(){return this.flags}set(H){return this.flags=H,this}clear(){return this.flags=O.None,this}hasMutable(){return _H(this.flags)}setMutable(){return this.flags=OH(this.flags),this}unsetMutable(){return this.flags=xH(this.flags),this}toggleMutable(){return this.flags=NH(this.flags),this}hasDirty(){return BH(this.flags)}setDirty(){return this.flags=zH(this.flags),this}unsetDirty(){return this.flags=FH(this.flags),this}toggleDirty(){return this.flags=GH(this.flags),this}hasPending(){return wH(this.flags)}setPending(){return this.flags=yH(this.flags),this}unsetPending(){return this.flags=CH(this.flags),this}togglePending(){return this.flags=RH(this.flags),this}hasWatching(){return AH(this.flags)}setWatching(){return this.flags=mH(this.flags),this}unsetWatching(){return this.flags=IH(this.flags),this}toggleWatching(){return this.flags=TH(this.flags),this}hasTracking(){return hH(this.flags)}setTracking(){return this.flags=VH(this.flags),this}unsetTracking(){return this.flags=DH(this.flags),this}toggleTracking(){return this.flags=SH(this.flags),this}hasTrackingReusing(){return vH(this.flags)}setTrackingReusing(){return this.flags=LH(this.flags),this}unsetTrackingReusing(){return this.flags=bH(this.flags),this}toggleTrackingReusing(){return this.flags=kH(this.flags),this}toString(){if(this.flags===O.None)return"Flags(None)";let H=[];if(this.hasMutable())H.push("Mutable");if(this.hasPending())H.push("Pending");if(this.hasDirty())H.push("Dirty");if(this.hasWatching())H.push("Watching");if(this.hasTracking())H.push("Tracking");if(this.hasTrackingReusing())H.push("TrackingReusing");return`Flags(${H.join(" | ")})`}}var y=(H)=>{let J=new b;if(H!==void 0)J.set(H);return J};var n=(H)=>{let{onDepChanged:J,onSubChanged:Y,onHasDep:X,onNoDep:Z,onHasSub:$,onNoSub:K,update:W,notify:E}=H,B=(U)=>{let Q=[],j=U.headDepLink,P=U.tailDepLink;while(j!==void 0)if(Q.push(j),j===P===!0)break;else j=j.nextDepLink;return Q},G=(U)=>{let Q=[],j=U.headSubLink,P=U.tailSubLink;while(j!==void 0)if(Q.push(j),j===P===!0)break;else j=j.nextSubLink;return Q},o=(U)=>{return B(U).map((P)=>P.dep)},r=(U)=>{return G(U).map((P)=>P.sub)},nH=(U,Q)=>{let{headDepLink:j,tailDepLink:P}=Q;while(j!==void 0){if(j===U)return!0;if(j===P===!0)break;else j=j.nextDepLink}return!1},aH=(U,Q)=>{let{headSubLink:j,tailSubLink:P}=Q;while(j!==void 0){if(j===U)return!0;if(j===P===!0)break;else j=j.nextSubLink}return!1},tH=(U,Q)=>{let{headDepLink:j,tailDepLink:P}=Q;while(j!==void 0){if(j.dep===U)return!0;if(j===P===!0)break;else j=j.nextDepLink}return!1},eH=(U,Q)=>{let{headSubLink:j,tailSubLink:P}=Q;while(j!==void 0){if(j.sub===U)return!0;if(j===P===!0)break;else j=j.nextSubLink}return!1},l=(U,Q)=>{let{headSubLink:j,tailSubLink:P}=U;while(j!==void 0){if(j.sub===Q)return j;if(j===P===!0)break;else j=j.nextSubLink}return},S=(U,Q)=>{let{headDepLink:j,tailDepLink:P}=Q;while(j!==void 0){if(j.dep===U)return j;if(j===P===!0)break;else j=j.nextDepLink}return},HJ=(U,Q)=>{return l(U,Q)!==void 0},JJ=(U,Q)=>{return S(U,Q)!==void 0},jH=(U,Q)=>{let j=S(U,Q);if(j!==void 0)return j;let P={dep:U,prevSubLink:void 0,nextSubLink:void 0,sub:Q,prevDepLink:void 0,nextDepLink:void 0},x=Q.tailDepLink;if(x!==void 0)x.nextDepLink=P,P.prevDepLink=x;else Q.headDepLink=P;Q.tailDepLink=P;let N=U.tailSubLink;if(N!==void 0)N.nextSubLink=P,P.prevSubLink=N;else U.headSubLink=P;if(U.tailSubLink=P,Y?.(U),N===void 0===!0)$?.(U,Q);if(J?.(Q),x===void 0===!0)X?.(Q,U);return P},XJ=(U,Q)=>{let j=l(U,Q);if(j!==void 0)A(j)},YJ=(U,Q)=>{let j=S(U,Q);if(j!==void 0)A(j)},A=(U)=>{let{prevDepLink:Q,dep:j,nextDepLink:P,prevSubLink:x,sub:N,nextSubLink:F}=U;if(P!==void 0)P.prevDepLink=Q;else N.tailDepLink=Q;if(Q!==void 0)Q.nextDepLink=P;else N.headDepLink=P;if(F!==void 0)F.prevSubLink=x;else j.tailSubLink=x;if(x!==void 0)x.nextSubLink=F;else j.headSubLink=F;if(Y?.(j),j.headSubLink===void 0&&j.tailSubLink===void 0)K?.(j,N);if(J?.(N),N.headDepLink===void 0&&N.tailDepLink===void 0)Z?.(N,j);U.prevDepLink=void 0,U.dep=void 0,U.nextDepLink=void 0,U.prevSubLink=void 0,U.sub=void 0,U.nextSubLink=void 0},ZJ=(U)=>{let Q=[],j=U.headDepLink;while(j!==void 0){Q.push(j.dep);let P=j.nextDepLink;A(j),j=P}return Q},$J=(U)=>{let Q=[],j=U.headSubLink;while(j!==void 0){Q.push(j.sub);let P=j.nextSubLink;A(j),j=P}return Q},KH=[],m=void 0,v=()=>{return m},L=(U)=>{return KH.push(m),m=U,m},jJ=()=>{return L(void 0)},u=()=>{return m=KH.pop(),m},QH=(U,Q)=>{L(U);try{return Q()}finally{u()}},UH=(U)=>{return QH(void 0,U)},WH=()=>{if(v()!==void 0)throw Error("Expected no active node as sub, but got one.")},qH=(U)=>{L(U),U.flags.unsetPending().unsetDirty().setTracking()},MH=(U)=>{let Q=U.flags;if(Q.hasTrackingReusing()===!0){let j=U?.tailDepLink?.nextDepLink;if(j!==void 0){let P=j;while(P!==void 0){let x=P.nextDepLink;A(P),P=x}}}Q.unsetTrackingReusing().unsetTracking(),u()},KJ=(U,Q)=>{qH(U);try{return Q()}finally{MH(U)}},QJ=(U)=>{return UH(()=>{return U()})},UJ=()=>{try{WH()}catch{throw Error("Expected no active node as sub for tracking, but got one.")}},s=(U,Q)=>{let j,P=Q.flags;if(P.hasTracking()===!0&&P.hasTrackingReusing()===!1)P.setTrackingReusing(),Q.tailDepLink=Q.headDepLink,j=Q.tailDepLink;else j=Q.tailDepLink?.nextDepLink;if(j!==void 0&&j.dep===U)return Q.tailDepLink=j,J?.(Q),j;else return jH(U,Q)},WJ=(U)=>{let Q=v();if(Q!==void 0)s(U,Q)},qJ=(U)=>{let Q=v();while(Q!==void 0){let j=Q.flags;if(j.hasMutable()===!0||j.hasWatching()===!0){s(U,Q);break}Q=Q.headSubLink?.sub}},PH=(U)=>{let Q=U.headSubLink;while(Q!==void 0){let j=Q.sub,P=j.flags,x=!1;if(P.hasPending()===!0&&P.hasDirty()===!1)P.setDirty().unsetPending(),x=!0;else{Q=Q.nextSubLink;continue}if(x===!0){if((P.hasWatching()===!0&&P.hasTracking()===!1)===!0)E(j)}Q=Q.nextSubLink}};return{getDepLinksOfNode:B,getSubLinksOfNode:G,getDepsOfNode:o,getSubsOfNode:r,isDepLinkOfNode:nH,isSubLinkOfNode:aH,isDepOfNode:tH,isSubOfNode:eH,getLinkBetweenFromDep:l,getLinkBetweenFromSub:S,hasLinkBetweenFromDep:HJ,hasLinkBetweenFromSub:JJ,addLinkBetween:jH,removeLinkBetweenFromDep:XJ,removeLinkBetweenFromSub:YJ,removeLink:A,removeAllDepLinksOfNode:ZJ,removeAllSubLinksOfNode:$J,getActiveNodeAsSub:v,setActiveNodeAsSub:L,setNoActiveNodeAsSub:jJ,resetActiveNodeAsSub:u,withActiveNodeAsSub:QH,withoutActiveNodeAsSub:UH,assertWithoutActiveNodeAsSub:WH,startTracking:qH,endTracking:MH,withTracking:KJ,withoutTracking:QJ,assertWithoutTracking:UJ,addLinkBetweenOptimizedForTracking:s,track:WJ,trackNearestMutableOrWatching:qJ,shallowPropagate:PH,deeeeepPropagate:(U)=>{let Q=U.headSubLink,j=Q?.nextSubLink,P=void 0;while(Q!==void 0){let x=Q.sub,N=x.flags,F=N.hasWatching(),w=N.hasMutable();if(N.hasTracking()===!1&&N.hasDirty()===!1&&N.hasPending()===!1)N.setPending(),F=F,w=w;else if(N.hasTracking()===!1)N=N,F=!1,w=!1;else if(N.hasDirty()===!1&&N.hasPending()===!1)N.setPending(),F=!1,w=w;else N=N,F=!1,w=!1;if(F===!0)E(x);if(w===!0){let i=x.headSubLink;if(i!==void 0){Q=i;let EH=i.nextSubLink;if(EH!==void 0)P={value:j,prev:P},j=EH;continue}}if(Q=j,Q!==void 0){j=Q.nextSubLink;continue}if(P!==void 0){if(Q=P.value,P=P.prev,Q!==void 0)j=Q.nextSubLink}}},resolvePending:(U)=>{let Q=U.headDepLink,j=void 0;while(Q!==void 0){let{sub:P,dep:x}=Q,N=P.flags,F=x.flags;if(F.hasMutable()===!0&&F.hasDirty()===!0){if(W(x)===!0)PH(x)}else if(F.hasMutable()===!0&&F.hasPending()===!0){j={value:Q,prev:j},Q=x.headDepLink;continue}if(N.hasPending()===!0){let w=Q.nextDepLink;if(w!==void 0){Q=w;continue}}if(j!==void 0)Q=j.value,j=j.prev,Q.dep.flags.unsetPending();else{Q.sub.flags.unsetPending();break}}}}};class z{headDepLink;tailDepLink;headSubLink;tailSubLink;flags;value;_name;_onDepChanged;_onSubChanged;_onHasDep;_onNoDep;_onHasSub;_onNoSub;_onDispose;constructor(H){this.flags=y(),this.value=fH,this._name=H.name,this._onDepChanged=H.onDepChanged,this._onSubChanged=H.onSubChanged,this._onHasDep=H.onHasDep,this._onNoDep=H.onNoDep,this._onHasSub=H.onHasSub,this._onNoSub=H.onNoSub,this._onDispose=H.onDispose}getName(){return this._name}setName(H){this._name=H}triggerOnDepChanged(){this._onDepChanged?.()}triggerOnSubChanged(){this._onSubChanged?.()}triggerOnHasDep(H){this._onHasDep?.(H)}triggerOnNoDep(H){this._onNoDep?.(H)}triggerOnHasSub(H){this._onHasSub?.(H)}triggerOnNoSub(H){this._onNoSub?.(H),this.dispose()}triggerOnDispose(){this._onDispose?.()}}var fH=Symbol("void"),C=(H)=>{return H===fH},a=[],EJ=()=>{let H=a;a=[];try{while(H.length!==0)H.shift().run()}catch{while(H.length!==0)H.shift().reset()}},I=0,h=()=>{if(I===0)EJ()},dH=()=>{I=I+1},cH=()=>{if(I=I-1,I<0)throw Error("endBatch called without matching startBatch");h()},_J=(H)=>{dH();try{H()}finally{cH()}},pH=n({onDepChanged:(H)=>{if(H instanceof z)return H.triggerOnDepChanged()},onSubChanged:(H)=>{if(H instanceof z)return H.triggerOnSubChanged()},onHasDep:(H,J)=>{if(H instanceof z&&J instanceof z)return H.triggerOnHasDep(J)},onNoDep:(H,J)=>{if(H instanceof z&&J instanceof z)return H.triggerOnNoDep(J)},onHasSub:(H,J)=>{if(H instanceof z&&J instanceof z)return H.triggerOnHasSub(J)},onNoSub:(H,J)=>{if(H instanceof z&&J instanceof z)return H.triggerOnNoSub(J)},update(H){return H.update()},notify(H){let J=[],Y=H;while(Y!==void 0){if(Y.flags.hasWatching()===!1)break;Y.notify(),J.push(Y);let X=Y?.headSubLink?.sub;Y=X instanceof D?X:void 0}a.push(...J.toReversed())}}),{removeAllDepLinksOfNode:R,removeAllSubLinksOfNode:T,withTracking:V,track:t,trackNearestMutableOrWatching:e,shallowPropagate:k,deeeeepPropagate:HH,resolvePending:JH}=pH,XH=(H,J)=>{return Object.is(H,J)};class f extends z{isEqual;valueGetter;constructor(H,J){super(J);this.headSubLink=void 0,this.tailSubLink=void 0,this.flags=this.getInitialFlags(),this.isEqual=J.isEqual??XH,this.valueGetter=H}getInitialFlags(){return y().setMutable().setDirty()}trackThis(){e(this)}reset(){this.flags=this.getInitialFlags()}dispose(){R(this),T(this),this.reset(),this.triggerOnDispose()}internalGet(H){let{shouldTrack:J}=H;if(J===!0)this.trackThis();let Y=!1;if(this.flags.hasDirty()===!0)Y=this.update();if(Y===!0)k(this);return this.value}get(){return this.internalGet({shouldTrack:!0})}getWithoutTrack(){return this.internalGet({shouldTrack:!1})}internalSet(H){let{valueUpdater:J}=H;this.valueGetter=J,this.flags.setDirty(),HH(this),h()}set(H){return this.internalSet({valueUpdater:()=>H})}setWithoutCalculate(H){return this.internalSet({valueUpdater:H})}update(){if(this.flags.unsetDirty(),C(this.value)===!0===!0){let J=this.valueGetter({isInitializingRun:!0});return this.value=J,!0}else{let J=this.value,Y=this.valueGetter({isInitializingRun:!1,previousValue:J});return this.value=Y,this.isEqual(J,Y)===!1}}}class d extends z{isEqual;valueGetter;manualValueGetter;constructor(H,J){super(J);this.headDepLink=void 0,this.tailDepLink=void 0,this.headSubLink=void 0,this.tailSubLink=void 0,this.flags=this.getInitialFlags(),this.isEqual=J.isEqual??XH,this.valueGetter=H,this.manualValueGetter=void 0}getInitialFlags(){return y().setMutable().setDirty()}trackThis(){e(this)}reset(){this.flags=this.getInitialFlags()}dispose(){R(this),T(this),this.reset(),this.triggerOnDispose()}internalGet(H){let{shouldTrack:J}=H;if(J===!0)this.trackThis();let Y=!1;if(this.flags.hasPending()===!0)JH(this);if(this.flags.hasDirty()===!0)Y=this.update();if(Y===!0)k(this);return this.value}get(){return this.internalGet({shouldTrack:!0})}getWithoutTrack(){return this.internalGet({shouldTrack:!1})}internalSet(H){let{valueUpdater:J}=H;this.manualValueGetter=J,this.flags.setDirty(),HH(this),h()}set(H){return this.internalSet({valueUpdater:()=>H})}setWithoutCalculate(H){return this.internalSet({valueUpdater:H})}manualUpdate(){let H=this.manualValueGetter;if(H===void 0)throw Error("Derived: manualValueGetter is undefined.");if(this.manualValueGetter=void 0,this.flags.unsetDirty(),C(this.value)===!0===!0){let Y=H({isInitializingRun:!0});return this.value=Y,!0}else{let Y=this.value,X=H({isInitializingRun:!1,previousValue:Y});return this.value=X,this.isEqual(Y,X)===!1}}update(){if(this.manualValueGetter!==void 0)return this.manualUpdate();return V(this,()=>{if(this.flags.unsetDirty(),C(this.value)===!0===!0){let Y=this.valueGetter({isInitializingRun:!0});return this.value=Y,!0}else{let Y=this.value,X=this.valueGetter({isInitializingRun:!1,previousValue:Y});return this.value=X,this.isEqual(Y,X)===!1}})}}class c extends z{isEqual;valueGetter;constructor(H,J){super(J);this.headDepLink=void 0,this.tailDepLink=void 0,this.headSubLink=void 0,this.tailSubLink=void 0,this.flags=this.getInitialFlags(),this.isEqual=J.isEqual??XH,this.valueGetter=H}getInitialFlags(){return y().setMutable().setDirty()}trackThis(){e(this)}reset(){this.flags=this.getInitialFlags()}dispose(){R(this),T(this),this.reset(),this.triggerOnDispose()}internalGet(H){let{shouldTrack:J}=H;if(J===!0)this.trackThis();let Y=!1;if(this.flags.hasPending()===!0)JH(this);if(this.flags.hasDirty()===!0)Y=this.update();if(Y===!0)k(this);return this.value}get(){return this.internalGet({shouldTrack:!0})}getWithoutTrack(){return this.internalGet({shouldTrack:!1})}update(){return V(this,()=>{if(this.flags.unsetDirty(),C(this.value)===!0===!0){let Y=this.valueGetter({isInitializingRun:!0});return this.value=Y,!0}else{let Y=this.value,X=this.valueGetter({isInitializingRun:!1,previousValue:Y});return this.value=X,this.isEqual(Y,X)===!1}})}}class D extends z{valueGetter;cleanupFn;constructor(H,J){super(J);this.headDepLink=void 0,this.tailDepLink=void 0,this.headSubLink=void 0,this.tailSubLink=void 0,this.flags=this.getInitialFlags(),this.valueGetter=H,this.cleanupFn=void 0,this.trackThis(),this.runWithTracking()}getInitialFlags(){return y().setWatching()}trackThis(){t(this)}cleanup(){this.cleanupFn?.(),this.cleanupFn=void 0}runWithTracking(){return V(this,()=>{this.cleanup();let J=C(this.value)===!0;if(J===!0){let Y={setCleanup:(Z)=>{this.cleanupFn=Z},isInitializingRun:J},X=this.valueGetter(Y);return this.value=X,X}else{let Y={setCleanup:(Z)=>{this.cleanupFn=Z},isInitializingRun:J,previousValue:this.value},X=this.valueGetter(Y);return this.value=X,X}})}reset(){this.flags=this.getInitialFlags()}dispose(){this.cleanup(),R(this),T(this),this.reset(),this.triggerOnDispose()}notify(){this.flags.unsetWatching()}run(){if(this.flags.hasPending()===!0)JH(this);if(this.flags.setWatching(),this.flags.hasDirty()===!0)this.runWithTracking()}}class p extends z{valueGetter;cleanupFn;constructor(H,J){super(J);this.headDepLink=void 0,this.tailDepLink=void 0,this.headSubLink=void 0,this.tailSubLink=void 0,this.flags=this.getInitialFlags(),this.valueGetter=H,this.cleanupFn=void 0,this.trackThis(),this.runWithTracking()}getInitialFlags(){return y()}cleanup(){this.cleanupFn?.(),this.cleanupFn=void 0}runWithTracking(){return V(this,()=>{this.cleanup();let J=C(this.value)===!0;if(J===!0){let Y={setCleanup:(Z)=>{this.cleanupFn=Z},isInitializingRun:J},X=this.valueGetter(Y);return this.value=X,X}else{let Y={setCleanup:(Z)=>{this.cleanupFn=Z},isInitializingRun:J,previousValue:this.value},X=this.valueGetter(Y);return this.value=X,X}})}trackThis(){t(this)}reset(){this.flags=this.getInitialFlags()}dispose(){this.cleanup(),R(this),T(this),this.reset(),this.triggerOnDispose()}}class g extends z{valueGetter;cleanupFn;constructor(H,J){super(J);this.headDepLink=void 0,this.tailDepLink=void 0,this.headSubLink=void 0,this.tailSubLink=void 0,this.flags=this.getInitialFlags(),this.valueGetter=H,this.cleanupFn=void 0,this.runWithTracking()}getInitialFlags(){return y().setWatching()}cleanup(){this.cleanupFn?.(),this.cleanupFn=void 0}runWithTracking(){let H=V(this,()=>{this.cleanup();let Y=C(this.value)===!0;if(Y===!0){let X={isInitializingRun:Y,setCleanup:($)=>{this.cleanupFn=$}},Z=this.valueGetter(X);return this.value=Z,Z}else{let X={isInitializingRun:Y,setCleanup:($)=>{this.cleanupFn=$},previousValue:this.value},Z=this.valueGetter(X);return this.value=Z,Z}});return R(this).forEach((Y)=>{HH(Y),k(Y)}),h(),this.dispose(),H}trackThis(){t(this)}reset(){this.flags=this.getInitialFlags()}dispose(){this.cleanup(),R(this),T(this),this.reset(),this.triggerOnDispose()}}var OJ=(H)=>{return H instanceof z},gH=(H)=>{return H instanceof f},M=(H,J)=>{return new f(H,J??{})},oH=(H)=>{return H instanceof d},xJ=(H,J)=>{return new d(H,J??{})},rH=(H)=>{return H instanceof c},NJ=(H,J)=>{return new c(H,J??{})},lH=(H)=>{return H instanceof D},q=(H,J)=>{return new D(H,J??{})},uH=(H)=>{return H instanceof p},BJ=(H,J)=>{return new p(H,J??{})},sH=(H)=>{return H instanceof g},zJ=(H,J)=>{return new g(H,J??{})},FJ=(H)=>{return gH(H)||oH(H)||rH(H)},GJ=(H)=>{return lH(H)||uH(H)||sH(H)};var _=()=>{return()=>{return}},YH=(H)=>{let{target:J,subscriber:Y}=H,X=q(($)=>{let{isInitializingRun:K}=$,W=J.get();if(K===!1)Y(W)});return()=>{X.dispose()}},ZH=(H)=>{let J=H.target,Y=H?.withoutTrack??!1;return J.map((Z)=>{return Y?Z.getWithoutTrack():Z.get()})},$H=(H)=>{let J=H.target,Y=H?.withoutTrack??!1,X={};for(let Z of Object.keys(J)){let $=J[Z],K=Y?$.getWithoutTrack():$.get();X[Z]=K}return X};var wJ=(H)=>{let{target:J}=H,Y=M(()=>{return});return J.then((X)=>{return Y.set(X)}),Y},yJ=async(H)=>{let{target:J}=H,Y=await J;return M(()=>Y)},CJ=async(H)=>{let{target:J}=H,Y,X=new Promise(($)=>{Y=$}),Z=YH({target:J,subscriber:($)=>{Z(),Y($)}});return await X};var RJ=(H)=>{let{delay:J,interval:Y,initialValue:X=0,step:Z=1}=H,$=M(()=>X,{onDispose:()=>{clearTimeout(W),clearInterval(K)}}),K=void 0,W=setTimeout(()=>{$.set($.getWithoutTrack()+Z),K=setInterval(()=>{$.set($.getWithoutTrack()+Z)},Y)},J);return $},AJ=(H)=>{let{interval:J,initialValue:Y=0,step:X=1}=H,Z=M(()=>Y,{onDispose:()=>{clearInterval($)}}),$=setInterval(()=>{Z.set(Z.getWithoutTrack()+X)},J);return Z};var mJ=(H)=>{let{target:J}=H,Y=M(_(),{onDispose:()=>{X.dispose()}}),X=q(()=>{Y.set(ZH({target:J}))});return Y},IJ=(H)=>{let{target:J}=H,Y=M(_(),{onDispose:()=>{X.dispose()}}),X=q(()=>{Y.set($H({target:J}))});return Y},TJ=(H)=>{let{target:J}=H,Y=M(_(),{onDispose:()=>{for(let Z of X)Z.dispose()}}),X=[];for(let Z of J){let $=q(()=>{let K=Z.get();Y.set(K)});X.push($)}return Y},hJ=(H)=>{let{target:J,other:Y}=H,X=M(_(),{onDispose:()=>{K.dispose(),$.dispose()}}),Z=Y.get(),$=q(()=>{Z=Y.get()}),K=q(()=>{let W=J.get();X.set([W,Z])});return X},VJ=(H)=>{let{a:J,b:Y}=H,X=J.getWithoutTrack(),Z=Y.getWithoutTrack(),$=M(()=>[X,Z],{onDispose:()=>{E.dispose()}}),K=[],W=[],E=q(()=>{let B=J.get(),G=Y.get();if(B!==X)K.push(B),X=B;if(G!==Z)W.push(G),Z=G;if(K.length!==0&&W.length!==0){let o=K.shift(),r=W.shift();$.set([o,r])}});return $};var DJ=(H)=>{let{target:J}=H,Y=M(_(),{onDispose:()=>{X.dispose()}}),X=q(()=>{let Z=J.get();Y.set(Z)});return Y},SJ=(H)=>{let{target:J,predicate:Y}=H,X=M(_(),{onDispose:()=>{$.dispose()}}),Z=M(_(),{onDispose:()=>{$.dispose()}}),$=q(()=>{let K=J.get();if(Y(K)===!0)X.set(K);else Z.set(K)});return[X,Z]};var vJ=(H)=>{let{target:J,tapper:Y=(X)=>console.log(X)}=H;return q(()=>{let X=J.get();Y(X)}),J},LJ=(H)=>{let{target:J}=H,Y=M(_(),{onDispose:()=>{Z.dispose()}}),X=[],Z=q(()=>{X.push(J.get()),Y.set([...X])});return Y},bJ=(H)=>{let{target:J,count:Y}=H;if(Y<=0)throw Error("bufferByCount operator requires count to be greater than 0");let X=M(()=>[],{onDispose:()=>{$.dispose()}}),Z=[],$=q(()=>{if(Z.push(J.get()),Z.length>=Y)X.set([...Z]),Z.length=0});return X},kJ=(H)=>{let{target:J,time:Y}=H;if(Y<=0)throw Error("bufferByTime operator requires timeInMilliseconds to be greater than 0");let X=M(()=>[],{onDispose:()=>{$.dispose(),clearInterval(K)}}),Z=[],$=q(()=>{Z.push(J.get())}),K=setInterval(()=>{X.set([...Z]),Z.length=0},Y);return X},fJ=(H)=>{let{target:J,trigger:Y}=H,X=M(_(),{onDispose:()=>{$.dispose(),K.dispose()}}),Z=[],$=q(()=>{Z.push(J.get())}),K=q(()=>{Y.get(),X.set([...Z]),Z.length=0});return X},dJ=(H)=>{let{target:J,open:Y,close:X}=H,Z=M(_(),{onDispose:()=>{E.dispose(),W.dispose(),B.dispose()}}),$=[],K=!1,W=q(()=>{Y.get(),K=!0}),E=q(()=>{let G=J.get();if(K===!0)$.push(G)}),B=q(()=>{if(X.get(),K===!0)Z.set([...$]),$.length=0,K=!1});return Z},cJ=(H)=>{let{target:J,dynamic:Y}=H,X=M(_(),{onDispose:()=>{$.dispose(),W.dispose()}}),Z=[],$=q(()=>{let E=J.get();Z.push(E)}),K=void 0,W=q(()=>{K?.dispose();let E=J.getWithoutTrack();K=Y(E),K.get(),X.set([...Z]),Z.length=0});return X},pJ=(H)=>{let{target:J,keyGetter:Y}=H,X=M(()=>[],{onDispose:()=>{$.dispose()}}),Z=new Map,$=q(()=>{let K=J.get(),W=Y(K);if(Z.has(W)===!1)Z.set(W,[]),X.set([...Z.values()]);Z.get(W).push(K)});return X},gJ=(H)=>{let{target:J,keyGetter:Y}=H,X=M(()=>{return{}},{onDispose:()=>{$.dispose()}}),Z=new Map,$=q(()=>{let K=J.get(),W=Y(K);if(Z.has(W)===!1)Z.set(W,[]),X.set(Object.fromEntries(Z.entries()));Z.get(W).push(K)});return X},oJ=(H,J)=>{let Y=M(()=>[],{onDispose:()=>{Z.dispose()}}),X=new Map,Z=q(()=>{let $=H.get(),K=J($);if(X.has(K)===!1){let B=M(()=>[]);X.set(K,B),Y.set([...X.values()])}let W=X.get(K),E=W.get();W.set([...E,$])});return Y},rJ=(H)=>{let{target:J,keyGetter:Y}=H,X=M(()=>{return{}},{onDispose:()=>{$.dispose()}}),Z=new Map,$=q(()=>{let K=J.get(),W=Y(K);if(Z.has(W)===!1){let G=M(()=>[]);Z.set(W,G),X.set(Object.fromEntries(Z.entries()))}let E=Z.get(W),B=E.get();E.set([...B,K])});return X},lJ=(H)=>{let{target:J,mapper:Y}=H,X=M(_(),{onDispose:()=>{Z.dispose()}}),Z=q(()=>{let $=J.get(),K=Y($);X.set(K)});return X},uJ=(H)=>{let{target:J,mapper:Y}=H,X=M(_(),{onDispose:()=>{Z.dispose()}}),Z=q(($)=>{let K=J.get(),{isInitializingRun:W}=$;if(W===!0){let E=Y({isInitializingRun:W,targetValue:K});X.set(E)}else{let E=X.getWithoutTrack(),B=Y({isInitializingRun:W,targetValue:K,previousMappedValue:E});X.set(B)}});return X},sJ=(H)=>{let{target:J,mapper:Y}=H,X=M(_(),{onDispose:()=>{Z.dispose()}}),Z=q(()=>{let $=J.get(),K=Y($);q(()=>{let W=K.get();X.set(W)})});return X},iJ=(H)=>{let{target:J,mapper:Y}=H,X=M(_(),{onDispose:()=>{$.dispose()}}),Z=void 0,$=q(()=>{let K=J.get();Z?.dispose(),Z=Y(K),q(()=>{let W=Z.get();X.set(W)})});return X},nJ=(H)=>{let{target:J,accumulator:Y,seed:X}=H,Z=M(()=>X,{onDispose:()=>{$.dispose()}}),$=q(()=>{let K=J.get(),W=Y(Z.getWithoutTrack(),K);Z.set(W)});return Z},aJ=(H)=>{let{target:J}=H,Y=M(()=>[void 0,J.get()],{onDispose:()=>{Z.dispose()}}),X=void 0,Z=q(()=>{let $=J.get();Y.set([X,$]),X=$});return Y};var tJ=(H)=>{let{target:J}=H;return M(()=>{return J.get()})},eJ=(H)=>{let{target:J,valueInitializer:Y}=H,X=M(Y,{onDispose:()=>{Z.dispose()}}),Z=q(($)=>{let{isInitializingRun:K}=$,W=J.get();if(K===!1)X.set(W),Z.dispose()});return X},HX=(H)=>{let{target:J,truthyPredicate:Y,falsyValueGetter:X}=H,Z=M(_(),{onDispose:()=>{$.dispose()}}),$=q((K)=>{let W=J.get();if(Y(W)===!0)Z.set(W);else{let{isInitializingRun:E}=K;if(E===!0){let B=X({isInitializingRun:E,targetValue:W});Z.set(B)}else{let B=X({isInitializingRun:E,targetValue:W,previousValue:Z.getWithoutTrack()});Z.set(B)}}});return Z},JX=(H)=>{let{target:J,count:Y}=H;if(Y<=0)throw Error("auditByCount operator requires count to be greater than 0");let X=M(_(),{onDispose:()=>{$.dispose()}}),Z=0,$=q((K)=>{let W=J.get();if(K.isInitializingRun===!0)X.set(W);else if(Z=Z+1,Z>=Y)X.set(W),Z=0});return X},XX=(H)=>{let{target:J,time:Y}=H;if(Y<=0)throw Error("auditByTime operator requires timeInMilliseconds to be greater than 0");let X=M(()=>J.getWithoutTrack(),{onDispose:()=>{clearInterval(Z)}}),Z=setInterval(()=>{X.set(J.getWithoutTrack())},Y);return X},YX=(H)=>{let{target:J,trigger:Y}=H,X=M(_(),{onDispose:()=>{Z.dispose()}}),Z=q(()=>{Y.get(),X.set(J.getWithoutTrack())});return X},ZX=(H)=>{let{target:J,open:Y,close:X}=H,Z=M(_(),{onDispose:()=>{E.dispose(),W.dispose(),B.dispose()}}),$=void 0,K=!1,W=q(()=>{Y.get(),K=!0}),E=q(()=>{let G=J.get();if(K===!0)$=G}),B=q(()=>{if(X.get(),K===!0){if($!==void 0)Z.set($);K=!1,$=void 0}});return Z},$X=(H)=>{let{target:J,dynamic:Y}=H,X=M(_(),{onDispose:()=>{$.dispose()}}),Z=void 0,$=q(()=>{Z?.dispose();let K=J.getWithoutTrack();Z=Y(K),Z.get(),X.set(K)});return X},jX=(H)=>{let{target:J,count:Y}=H;if(Y<=0)throw Error("debounceByCount operator requires count to be greater than 0");let X=M(_(),{onDispose:()=>{$.dispose()}}),Z=0,$=q((K)=>{let W=J.get();if(K.isInitializingRun===!0)X.set(W);else if(Z=Z+1,Z>=Y)X.set(W),Z=0});return X},KX=(H)=>{let{target:J,time:Y}=H;if(Y<=0)throw Error("debounceTime operator requires timeInMilliseconds to be greater than 0");let X=void 0,Z=M(_(),{onDispose:()=>{$.dispose(),clearTimeout(X)}}),$=q((K)=>{let W=J.get();if(K.isInitializingRun===!0)Z.set(W);else clearTimeout(X),X=setTimeout(()=>{Z.set(W),X=void 0},Y)});return Z},QX=(H)=>{let{target:J,trigger:Y}=H,X=M(_(),{onDispose:()=>{Z.dispose()}}),Z=q(()=>{Y.get(),X.set(J.getWithoutTrack())});return X},UX=(H)=>{let{target:J,open:Y,close:X}=H,Z=M(_(),{onDispose:()=>{E.dispose(),W.dispose(),B.dispose()}}),$=void 0,K=!1,W=q(()=>{Y.get(),K=!0}),E=q(()=>{let G=J.get();if(K===!0)$=G}),B=q(()=>{if(X.get(),K===!0){if($!==void 0)Z.set($);K=!1,$=void 0}});return Z},WX=(H)=>{let{target:J,dynamic:Y}=H,X=M(_(),{onDispose:()=>{$.dispose()}}),Z=void 0,$=q(()=>{Z?.dispose();let K=J.getWithoutTrack();Z=Y(K),Z.get(),X.set(K)});return X},qX=(H)=>{let{target:J,count:Y}=H;if(Y<=0)throw Error("throttleByCount operator requires count to be greater than 0");let X=M(_(),{onDispose:()=>{$.dispose()}}),Z=0,$=q(()=>{let K=J.get();if(Z===0)X.set(K);if(Z=Z+1,Z>=Y)Z=0});return X},MX=(H)=>{let{target:J,time:Y}=H;if(Y<=0)throw Error("throttleByTime operator requires timeInMilliseconds to be greater than 0");let X=M(_(),{onDispose:()=>{$.dispose()}}),Z=!0,$=q(()=>{let K=J.get();if(Z===!0)X.set(K),Z=!1,setTimeout(()=>{Z=!0},Y)});return X},PX=(H)=>{let{target:J,trigger:Y}=H,X=M(_(),{onDispose:()=>{$.dispose(),K.dispose()}}),Z=!1,$=q(()=>{Y.get(),Z=!0}),K=q(()=>{let W=J.get();if(Z===!0)X.set(W),Z=!1});return X},EX=(H)=>{let{target:J,open:Y,close:X}=H,Z=M(_(),{onDispose:()=>{W.dispose(),K.dispose(),E.dispose()}}),$=!1,K=q(()=>{Y.get(),$=!0}),W=q(()=>{let B=J.get();if($===!0)Z.set(B),$=!1}),E=q(()=>{X.get(),$=!1});return Z},_X=(H)=>{let{target:J,dynamic:Y}=H,X=M(_(),{onDispose:()=>{K.dispose(),W.dispose()}}),Z=void 0,$=!0,K=q(()=>{Z?.dispose();let E=J.getWithoutTrack();Z=Y(E),Z.get(),$=!0}),W=q(()=>{let E=J.get();if($===!0)X.set(E),$=!1});return X},OX=(H)=>{let{target:J,keyGetter:Y}=H,X=M(_(),{onDispose:()=>{K.dispose()}}),Z=Y??((W)=>W),$=new Set,K=q(()=>{let W=J.get(),E=Z(W);if($.has(E)===!1)X.set(W),$.add(E)});return X},xX=(H)=>{let{target:J,keyGetter:Y}=H,X=M(_(),{onDispose:()=>{K.dispose()}}),Z=Y??((W)=>W),$=Symbol("initial-key-for-distinct-until-changed"),K=q(()=>{let W=J.get(),E=Z(W);if(E!==$)X.set(W),$=E});return X},NX=(H)=>{let{target:J,predicate:Y}=H,X=M(_(),{onDispose:()=>{Z.dispose()}}),Z=q(()=>{let $=J.get();if(Y($)===!0)X.set($);else Z.dispose()});return X},BX=(H)=>{let{target:J,count:Y}=H;if(Y<=0)throw Error("takeByCount operator requires count to be greater than 0");let X=M(_(),{onDispose:()=>{$.dispose()}}),Z=0,$=q(()=>{let K=J.get();if(Z<Y)X.set(K),Z=Z+1;if(Z>=Y)$.dispose()});return X},zX=(H)=>{let{target:J,time:Y}=H;if(Y<=0)throw Error("takeByTime operator requires timeInMilliseconds to be greater than 0");let X=M(_(),{onDispose:()=>{$.dispose(),clearTimeout(Z)}}),Z=setTimeout(()=>{$.dispose()},Y),$=q(()=>{let K=J.get();X.set(K)});return X},FX=(H)=>{let{target:J,trigger:Y}=H,X=M(_(),{onDispose:()=>{Z.dispose()}}),Z=q(()=>{Y.get(),X.set(J.getWithoutTrack())});return X},GX=(H)=>{let{target:J,open:Y,close:X}=H,Z=M(_(),{onDispose:()=>{W.dispose(),K.dispose(),E.dispose()}}),$=!1,K=q(()=>{Y.get(),$=!0}),W=q(()=>{let B=J.get();if($===!0)Z.set(B)}),E=q(()=>{X.get(),$=!1});return Z},wX=(H)=>{let{target:J,trigger:Y}=H,X=M(_(),{onDispose:()=>{Z.dispose(),$.dispose()}}),Z=q(()=>{let K=J.get();X.set(K)}),$=q((K)=>{if(Y.get(),K.isInitializingRun===!1)Z.dispose(),$.dispose()});return X};export{iH as Reactor};
4
4
  // Made with ♥ by the Planet Matrix team!
5
5
 
6
- //# debugId=DFFA09A32FC4BCF264756E2164756E21
6
+ //# debugId=2D5A015F006AB1BC64756E2164756E21
7
7
  //# sourceMappingURL=index.js.map