@fluixi/reactive 1.0.0-alpha.53

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 (176) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +343 -0
  3. package/dist/cdn/reactive.cjs +1 -0
  4. package/dist/cdn/reactive.d.ts +11 -0
  5. package/dist/cdn/reactive.d.ts.map +1 -0
  6. package/dist/cdn/reactive.global.js +1 -0
  7. package/dist/cdn/reactive.js +10 -0
  8. package/dist/cdn/reactive.mjs +1 -0
  9. package/dist/cdn/signal.cjs +1 -0
  10. package/dist/cdn/signal.d.ts +19 -0
  11. package/dist/cdn/signal.d.ts.map +1 -0
  12. package/dist/cdn/signal.global.js +1 -0
  13. package/dist/cdn/signal.js +18 -0
  14. package/dist/cdn/signal.mjs +1 -0
  15. package/dist/index.cjs +1 -0
  16. package/dist/index.d.ts +2 -0
  17. package/dist/index.d.ts.map +1 -0
  18. package/dist/index.js +1 -0
  19. package/dist/index.mjs +1 -0
  20. package/dist/lib/index.cjs +1 -0
  21. package/dist/lib/index.d.ts +5 -0
  22. package/dist/lib/index.d.ts.map +1 -0
  23. package/dist/lib/index.js +4 -0
  24. package/dist/lib/index.mjs +1 -0
  25. package/dist/lib/observable/index.cjs +1 -0
  26. package/dist/lib/observable/index.d.ts +4 -0
  27. package/dist/lib/observable/index.d.ts.map +1 -0
  28. package/dist/lib/observable/index.js +3 -0
  29. package/dist/lib/observable/index.mjs +1 -0
  30. package/dist/lib/observable/observable.cjs +1 -0
  31. package/dist/lib/observable/observable.d.ts +383 -0
  32. package/dist/lib/observable/observable.d.ts.map +1 -0
  33. package/dist/lib/observable/observable.js +339 -0
  34. package/dist/lib/observable/observable.mjs +1 -0
  35. package/dist/lib/observable/subscription.cjs +1 -0
  36. package/dist/lib/observable/subscription.d.ts +70 -0
  37. package/dist/lib/observable/subscription.d.ts.map +1 -0
  38. package/dist/lib/observable/subscription.js +190 -0
  39. package/dist/lib/observable/subscription.mjs +1 -0
  40. package/dist/lib/observable/types.cjs +1 -0
  41. package/dist/lib/observable/types.d.ts +44 -0
  42. package/dist/lib/observable/types.d.ts.map +1 -0
  43. package/dist/lib/observable/types.js +1 -0
  44. package/dist/lib/observable/types.mjs +0 -0
  45. package/dist/lib/signal/cached-resource.cjs +1 -0
  46. package/dist/lib/signal/cached-resource.d.ts +94 -0
  47. package/dist/lib/signal/cached-resource.d.ts.map +1 -0
  48. package/dist/lib/signal/cached-resource.js +257 -0
  49. package/dist/lib/signal/cached-resource.mjs +1 -0
  50. package/dist/lib/signal/graph/children.cjs +1 -0
  51. package/dist/lib/signal/graph/children.d.ts +2 -0
  52. package/dist/lib/signal/graph/children.d.ts.map +1 -0
  53. package/dist/lib/signal/graph/children.js +30 -0
  54. package/dist/lib/signal/graph/children.mjs +1 -0
  55. package/dist/lib/signal/graph/compat.cjs +1 -0
  56. package/dist/lib/signal/graph/compat.d.ts +64 -0
  57. package/dist/lib/signal/graph/compat.d.ts.map +1 -0
  58. package/dist/lib/signal/graph/compat.js +178 -0
  59. package/dist/lib/signal/graph/compat.mjs +1 -0
  60. package/dist/lib/signal/graph/core.cjs +1 -0
  61. package/dist/lib/signal/graph/core.d.ts +95 -0
  62. package/dist/lib/signal/graph/core.d.ts.map +1 -0
  63. package/dist/lib/signal/graph/core.js +254 -0
  64. package/dist/lib/signal/graph/core.mjs +1 -0
  65. package/dist/lib/signal/graph/derived.cjs +1 -0
  66. package/dist/lib/signal/graph/derived.d.ts +14 -0
  67. package/dist/lib/signal/graph/derived.d.ts.map +1 -0
  68. package/dist/lib/signal/graph/derived.js +81 -0
  69. package/dist/lib/signal/graph/derived.mjs +1 -0
  70. package/dist/lib/signal/graph/detect.cjs +1 -0
  71. package/dist/lib/signal/graph/detect.d.ts +16 -0
  72. package/dist/lib/signal/graph/detect.d.ts.map +1 -0
  73. package/dist/lib/signal/graph/detect.js +36 -0
  74. package/dist/lib/signal/graph/detect.mjs +1 -0
  75. package/dist/lib/signal/graph/error-boundary.cjs +1 -0
  76. package/dist/lib/signal/graph/error-boundary.d.ts +16 -0
  77. package/dist/lib/signal/graph/error-boundary.d.ts.map +1 -0
  78. package/dist/lib/signal/graph/error-boundary.js +34 -0
  79. package/dist/lib/signal/graph/error-boundary.mjs +1 -0
  80. package/dist/lib/signal/graph/index.cjs +1 -0
  81. package/dist/lib/signal/graph/index.d.ts +21 -0
  82. package/dist/lib/signal/graph/index.d.ts.map +1 -0
  83. package/dist/lib/signal/graph/index.js +20 -0
  84. package/dist/lib/signal/graph/index.mjs +1 -0
  85. package/dist/lib/signal/graph/resource.cjs +1 -0
  86. package/dist/lib/signal/graph/resource.d.ts +36 -0
  87. package/dist/lib/signal/graph/resource.d.ts.map +1 -0
  88. package/dist/lib/signal/graph/resource.js +156 -0
  89. package/dist/lib/signal/graph/resource.mjs +1 -0
  90. package/dist/lib/signal/graph/runtime.cjs +1 -0
  91. package/dist/lib/signal/graph/runtime.d.ts +56 -0
  92. package/dist/lib/signal/graph/runtime.d.ts.map +1 -0
  93. package/dist/lib/signal/graph/runtime.js +277 -0
  94. package/dist/lib/signal/graph/runtime.mjs +1 -0
  95. package/dist/lib/signal/graph/signal-next.cjs +1 -0
  96. package/dist/lib/signal/graph/signal-next.d.ts +37 -0
  97. package/dist/lib/signal/graph/signal-next.d.ts.map +1 -0
  98. package/dist/lib/signal/graph/signal-next.js +41 -0
  99. package/dist/lib/signal/graph/signal-next.mjs +1 -0
  100. package/dist/lib/signal/graph/ssr-hooks.cjs +1 -0
  101. package/dist/lib/signal/graph/ssr-hooks.d.ts +28 -0
  102. package/dist/lib/signal/graph/ssr-hooks.d.ts.map +1 -0
  103. package/dist/lib/signal/graph/ssr-hooks.js +45 -0
  104. package/dist/lib/signal/graph/ssr-hooks.mjs +1 -0
  105. package/dist/lib/signal/graph/state.cjs +1 -0
  106. package/dist/lib/signal/graph/state.d.ts +43 -0
  107. package/dist/lib/signal/graph/state.d.ts.map +1 -0
  108. package/dist/lib/signal/graph/state.js +37 -0
  109. package/dist/lib/signal/graph/state.mjs +1 -0
  110. package/dist/lib/signal/graph/suspense.cjs +1 -0
  111. package/dist/lib/signal/graph/suspense.d.ts +13 -0
  112. package/dist/lib/signal/graph/suspense.d.ts.map +1 -0
  113. package/dist/lib/signal/graph/suspense.js +36 -0
  114. package/dist/lib/signal/graph/suspense.mjs +1 -0
  115. package/dist/lib/signal/index-legacy.cjs +1 -0
  116. package/dist/lib/signal/index-legacy.d.ts +12 -0
  117. package/dist/lib/signal/index-legacy.d.ts.map +1 -0
  118. package/dist/lib/signal/index-legacy.js +11 -0
  119. package/dist/lib/signal/index-legacy.mjs +1 -0
  120. package/dist/lib/signal/index.cjs +1 -0
  121. package/dist/lib/signal/index.d.ts +12 -0
  122. package/dist/lib/signal/index.d.ts.map +1 -0
  123. package/dist/lib/signal/index.js +11 -0
  124. package/dist/lib/signal/index.mjs +1 -0
  125. package/dist/lib/signal/list.cjs +1 -0
  126. package/dist/lib/signal/list.d.ts +39 -0
  127. package/dist/lib/signal/list.d.ts.map +1 -0
  128. package/dist/lib/signal/list.js +172 -0
  129. package/dist/lib/signal/list.mjs +1 -0
  130. package/dist/lib/signal/signal.cjs +1 -0
  131. package/dist/lib/signal/signal.d.ts +295 -0
  132. package/dist/lib/signal/signal.d.ts.map +1 -0
  133. package/dist/lib/signal/signal.js +1219 -0
  134. package/dist/lib/signal/signal.mjs +1 -0
  135. package/dist/lib/signal/types.cjs +1 -0
  136. package/dist/lib/signal/types.d.ts +133 -0
  137. package/dist/lib/signal/types.d.ts.map +1 -0
  138. package/dist/lib/signal/types.js +38 -0
  139. package/dist/lib/signal/types.mjs +1 -0
  140. package/dist/lib/signal/utilities.cjs +1 -0
  141. package/dist/lib/signal/utilities.d.ts +355 -0
  142. package/dist/lib/signal/utilities.d.ts.map +1 -0
  143. package/dist/lib/signal/utilities.js +504 -0
  144. package/dist/lib/signal/utilities.mjs +1 -0
  145. package/dist/lib/store/index.cjs +1 -0
  146. package/dist/lib/store/index.d.ts +14 -0
  147. package/dist/lib/store/index.d.ts.map +1 -0
  148. package/dist/lib/store/index.js +11 -0
  149. package/dist/lib/store/index.mjs +1 -0
  150. package/dist/lib/store/setter.types.cjs +1 -0
  151. package/dist/lib/store/setter.types.d.ts +79 -0
  152. package/dist/lib/store/setter.types.d.ts.map +1 -0
  153. package/dist/lib/store/setter.types.js +65 -0
  154. package/dist/lib/store/setter.types.mjs +0 -0
  155. package/dist/lib/store/store.cjs +1 -0
  156. package/dist/lib/store/store.d.ts +86 -0
  157. package/dist/lib/store/store.d.ts.map +1 -0
  158. package/dist/lib/store/store.js +442 -0
  159. package/dist/lib/store/store.mjs +1 -0
  160. package/dist/lib/store/types.cjs +1 -0
  161. package/dist/lib/store/types.d.ts +57 -0
  162. package/dist/lib/store/types.d.ts.map +1 -0
  163. package/dist/lib/store/types.js +1 -0
  164. package/dist/lib/store/types.mjs +0 -0
  165. package/dist/lib/store/utils.cjs +1 -0
  166. package/dist/lib/store/utils.d.ts +13 -0
  167. package/dist/lib/store/utils.d.ts.map +1 -0
  168. package/dist/lib/store/utils.js +29 -0
  169. package/dist/lib/store/utils.mjs +1 -0
  170. package/dist/lib/subject.cjs +1 -0
  171. package/dist/lib/subject.d.ts +14 -0
  172. package/dist/lib/subject.d.ts.map +1 -0
  173. package/dist/lib/subject.js +169 -0
  174. package/dist/lib/subject.mjs +1 -0
  175. package/dist/tsconfig.lib.tsbuildinfo +1 -0
  176. package/package.json +114 -0
@@ -0,0 +1,18 @@
1
+ /**
2
+ * CDN entry: the raw TC39 Signal core as a browser global.
3
+ *
4
+ * <script src="https://.../@fluixi/reactive/signal.global.js"></script>
5
+ * const c = new Signal.State(0); // window.Signal.State / .Computed / .subtle
6
+ *
7
+ * Exports the flat TC39 shape (State/Computed/subtle) as named bindings so the iife
8
+ * global is `window.Signal = { State, Computed, subtle }` — matching the future native
9
+ * globalThis.Signal, not a nested `Signal.Signal`.
10
+ */
11
+ import { Watcher, untrack, currentComputed, hasSinks } from '../lib/signal/graph/core.js';
12
+ export { State, Computed } from '../lib/signal/graph/core.js';
13
+ export const subtle = {
14
+ Watcher,
15
+ untrack,
16
+ currentComputed,
17
+ hasSinks,
18
+ };
@@ -0,0 +1 @@
1
+ var m="__fluixi_signal_next_state__",S=s=>{typeof queueMicrotask=="function"?queueMicrotask(s):Promise.resolve().then(s)},r=globalThis[m]??={consumer:null,untracked:!1,owner:null,queue:[],scheduled:!1,flushing:!1,batchDepth:0,hostSchedule:S,onSuspend:null,onError:null};var v=0,_=1,a=2,h=class{constructor(){this.observers=null;this.watchers=null;this.version=0}updateIfNecessary(){}track(){if(r.untracked)return;let e=r.consumer;e&&((this.observers??=new Set).add(e),(e.sources??=new Set).add(this))}},d=class extends h{constructor(e,t){super(),this._value=e,this._equals=t?.equals===!1?()=>!1:t?.equals??Object.is}get(){return this.track(),this._value}set(e){if(!this._equals(this._value,e)){if(this._value=e,this.version++,this.observers)for(let t of[...this.observers])t.markDirty(a);p(this)}}peek(){return this._value}},f=class extends h{constructor(t,o){super();this._threw=!1;this._initialized=!1;this.state=a;this.sources=null;this._fn=t,this._equals=o?.equals===!1?()=>!1:o?.equals??Object.is}get(){if(r.consumer===this)throw new Error("Signal.Computed cannot read itself");if(this.track(),this.updateIfNecessary(),this._threw)throw this._error;return this._value}updateIfNecessary(){if(this.state===_&&this.sources){for(let t of this.sources)if(t.updateIfNecessary(),this.state===a)break}(this.state===a||!this._initialized)&&this.recompute(),this.state=v}recompute(){if(this.sources){for(let n of this.sources)n.observers?.delete(this);this.sources.clear()}let t=r.consumer,o=r.untracked;r.consumer=this,r.untracked=!1;let i,u=!1,l;try{i=this._fn()}catch(n){u=!0,l=n,i=this._value}finally{r.consumer=t,r.untracked=o}let k=!this._initialized||this._threw!==u||(u?l!==this._error:!this._equals(this._value,i));if(this._initialized=!0,this._threw=u,this._error=l,this._value=i,k){if(this.version++,this.observers)for(let n of[...this.observers])n.markDirty(a);p(this)}}markDirty(t){if(this.state>=t)return;let o=this.state===v;if(this.state=t,o){if(this.observers)for(let i of[...this.observers])i.markDirty(_);p(this)}}peek(){if(this.updateIfNecessary(),this._threw)throw this._error;return this._value}};function p(s){if(s.watchers)for(let e of[...s.watchers])e._notify(s)}var c=class{constructor(e){this._watched=new Set;this._pending=new Set;this._notifyFn=e}watch(...e){for(let t of e)this._watched.add(t),(t.watchers??=new Set).add(this)}unwatch(...e){for(let t of e)this._watched.delete(t),t.watchers?.delete(this),this._pending.delete(t)}getPending(){let e=[...this._pending];return this._pending.clear(),e}_notify(e){if(!this._watched.has(e)||this._pending.has(e))return;let t=this._pending.size===0;this._pending.add(e),t&&this._notifyFn()}};function w(s){if(r.untracked)return s();r.untracked=!0;try{return s()}finally{r.untracked=!1}}function y(){return r.consumer}function b(s){return!!(s.observers&&s.observers.size)||!!(s.watchers&&s.watchers.size)}var C={Watcher:c,untrack:w,currentComputed:y,hasSinks:b};export{f as Computed,d as State,C as subtle};
package/dist/index.cjs ADDED
@@ -0,0 +1 @@
1
+ "use strict";var Se=Object.defineProperty;var Qt=Object.getOwnPropertyDescriptor;var Zt=Object.getOwnPropertyNames;var er=Object.prototype.hasOwnProperty;var tr=(e,t)=>{for(var r in t)Se(e,r,{get:t[r],enumerable:!0})},rr=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Zt(t))!er.call(e,o)&&o!==r&&Se(e,o,{get:()=>t[o],enumerable:!(n=Qt(t,o))||n.enumerable});return e};var nr=e=>rr(Se({},"__esModule",{value:!0}),e);var Or={};tr(Or,{$NAME:()=>Dt,$NODE:()=>F,$PROXY:()=>vr,$RAW:()=>J,$SELF:()=>be,$SIGNAL:()=>mr,$STORE:()=>Ut,$TRACK:()=>Te,Observable:()=>B,SafeSubscriber:()=>te,Signal:()=>_t,Store:()=>_,StoreAPI:()=>zt,Subject:()=>we,Subscriber:()=>U,Subscription:()=>D,SuspenseContext:()=>ye,__DEV__:()=>ae,batch:()=>w,createComputed:()=>rt,createComputedStore:()=>Mt,createContext:()=>q,createDebounce:()=>mt,createDeferred:()=>Tt,createEffect:()=>P,createErrorBoundary:()=>gt,createMemo:()=>S,createMutableStore:()=>qe,createRenderEffect:()=>nt,createResource:()=>St,createRoot:()=>k,createSelector:()=>bt,createSignal:()=>d,createStore:()=>Ne,createStoreEffect:()=>$t,createStoreMemo:()=>Lt,createSuspenseBoundary:()=>xt,flush:()=>st,getNode:()=>Gt,getOwner:()=>z,getServerData:()=>le,getStoreNode:()=>Wt,indexArray:()=>dr,isComponent:()=>ct,isMemo:()=>at,isProvider:()=>pt,isResource:()=>ut,isSignal:()=>ue,isStore:()=>Kt,isStoreProxy:()=>ve,isSuspense:()=>lt,keyArray:()=>fr,makeArrayFlat:()=>Ee,mapArray:()=>pr,modifiable:()=>Ht,nextResourceId:()=>pe,on:()=>it,onCleanup:()=>v,operate:()=>or,produceUtil:()=>Yt,provide:()=>M,provideErrorBoundary:()=>At,provideSuspense:()=>wt,readChildren:()=>vt,reconcileUtil:()=>Xt,reportResourceData:()=>fe,runWithOwner:()=>$,setOwner:()=>Ae,setResourceDataSink:()=>ht,setResourceIdSource:()=>yt,setResourceTracker:()=>ft,setServerDataGetter:()=>dt,startTransition:()=>Re,trackResourcePromise:()=>ce,untrack:()=>O,untrackStore:()=>Me,unwrap:()=>V,useContext:()=>Ye,useTransition:()=>ot,wrap:()=>Vt});module.exports=nr(Or);var Ke=require("@fluixi/utils/object"),xe=require("@fluixi/utils/functions"),D=class e{constructor(t){this._closed=!1;this._parentOrParents=null;this._subscriptions=null;t&&(this._subscriptions=[t])}get closed(){return this._closed}unsubscribe(){if(this._closed)return;this._closed=!0;let{_parentOrParents:t,_subscriptions:r}=this;if(t instanceof e)t.remove(this);else if(t!==null)for(let n of t)n.remove(this);if(r){for(let n of r)if((0,xe.isFunction)(n)&&!(n instanceof e))try{n()}catch(o){console.error("Error in unsubscribe function:",o)}else if((0,Ke.isObject)(n)&&typeof n.unsubscribe=="function")try{n.unsubscribe()}catch(o){console.error("Error unsubscribing child:",o)}this._subscriptions=null}}add(t){if(!t||t===this)return this;if(t.closed)return this;let{_closed:r,_subscriptions:n}=this;if(r){if((0,xe.isFunction)(t))try{t()}catch(o){console.error("Error in unsubscribe function:",o)}else if(t.unsubscribe)try{t.unsubscribe()}catch(o){console.error("Error unsubscribing:",o)}return this}return n||(this._subscriptions=[]),this._subscriptions.push(t),t instanceof e&&t._addParent(this),this}remove(t){let{_subscriptions:r}=this;if(!r)return;let n=r.indexOf(t);n!==-1&&(r.splice(n,1),t._removeParent(this))}_addParent(t){let{_parentOrParents:r}=this;r?Array.isArray(r)?r.push(t):this._parentOrParents=[r,t]:this._parentOrParents=t}_removeParent(t){let{_parentOrParents:r}=this;if(r===t)this._parentOrParents=null;else if(Array.isArray(r)){let n=r.indexOf(t);n!==-1&&(r.splice(n,1),r.length===1&&(this._parentOrParents=r[0]))}}};var U=class extends D{constructor(r,n,o){super();this.isStopped=!1;let s;r?typeof r=="object"?s=r:s={next:r,error:n,complete:o}:s={},this.destination=s}next(r){if(!this.isStopped&&this.destination.next)try{this.destination.next(r)}catch(n){this.error(n)}}error(r){if(!this.isStopped){if(this.isStopped=!0,this.destination.error)try{this.destination.error(r)}catch(n){throw n}else throw r;this.unsubscribe()}}complete(){if(!this.isStopped){if(this.isStopped=!0,this.destination.complete)try{this.destination.complete()}catch(r){this.error(r);return}this.unsubscribe()}}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}},te=class extends U{constructor(r,n,o,s){super(r,n,o);this._isUnsubscribing=!1;this._parentSubscriber=null;this._parentSubscriber=s||null}next(r){if(!this.isStopped&&!this._isUnsubscribing)try{super.next(r)}catch(n){this.error(n)}}error(r){if(!this.isStopped&&!this._isUnsubscribing){this._isUnsubscribing=!0;try{super.error(r)}finally{this._isUnsubscribing=!1}}}complete(){if(!this.isStopped&&!this._isUnsubscribing){this._isUnsubscribing=!0;try{super.complete()}finally{this._isUnsubscribing=!1}}}unsubscribe(){this.closed||(this._isUnsubscribing=!0,super.unsubscribe(),this._isUnsubscribing=!1)}};function or(e){return new U(e.next,e.error,e.complete)}var B=class extends D{constructor(t){if(super(),t)this._subscribe=t;else throw new TypeError("Observable constructor requires a subscribe function")}subscribe(t,r,n){let o;t instanceof U?o=t:o=new te(t,r,n);let{_subscribe:s}=this;try{let i=s.call(this,o);i&&(typeof i=="function"||typeof i.unsubscribe=="function")&&o.add(i)}catch(i){o.error(i)}return o}pipe(...t){return t.length===0?this:t.reduce((r,n)=>n(r),this)}toPromise(){return new Promise((t,r)=>{let n;this.subscribe({next:o=>n=o,error:r,complete:()=>t(n)})})}};var we=class extends B{constructor(){super(r=>{if(this.closed)throw new Error("Subject has been closed");if(this.hasError)r.error(this.thrownError);else if(this.isStopped)r.complete();else return this.observers.push(r),()=>{let n=this.observers.indexOf(r);n!==-1&&this.observers.splice(n,1)}});this.observers=[];this.isStopped=!1;this.hasError=!1;this.thrownError=null}next(r){if(this.isStopped)return;let{observers:n}=this,o=n.length,s=n.slice();for(let i=0;i<o;i++)s[i].next?.(r)}error(r){if(this.isStopped)return;this.hasError=!0,this.thrownError=r,this.isStopped=!0;let{observers:n}=this;this.observers=[];let o=n.length,s=n.slice();for(let i=0;i<o;i++)s[i].error?.(r)}complete(){if(this.isStopped)return;this.isStopped=!0;let{observers:r}=this;this.observers=[];let n=r.length,o=r.slice();for(let s=0;s<n;s++)o[s].complete?.()}unsubscribe(){this.isStopped=!0,this.observers=[]}asObservable(){return new B(n=>this.subscribe(n))}};var sr="__fluixi_signal_next_state__",ir=e=>{typeof queueMicrotask=="function"?queueMicrotask(e):Promise.resolve().then(e)},a=globalThis[sr]??={consumer:null,untracked:!1,owner:null,queue:[],scheduled:!1,flushing:!1,batchDepth:0,hostSchedule:ir,onSuspend:null,onError:null};var Ge=0,We=1,W=2,re=class{constructor(){this.observers=null;this.watchers=null;this.version=0}updateIfNecessary(){}track(){if(a.untracked)return;let t=a.consumer;t&&((this.observers??=new Set).add(t),(t.sources??=new Set).add(this))}},j=class extends re{constructor(t,r){super(),this._value=t,this._equals=r?.equals===!1?()=>!1:r?.equals??Object.is}get(){return this.track(),this._value}set(t){if(!this._equals(this._value,t)){if(this._value=t,this.version++,this.observers)for(let r of[...this.observers])r.markDirty(W);Oe(this)}}peek(){return this._value}},A=class extends re{constructor(r,n){super();this._threw=!1;this._initialized=!1;this.state=W;this.sources=null;this._fn=r,this._equals=n?.equals===!1?()=>!1:n?.equals??Object.is}get(){if(a.consumer===this)throw new Error("Signal.Computed cannot read itself");if(this.track(),this.updateIfNecessary(),this._threw)throw this._error;return this._value}updateIfNecessary(){if(this.state===We&&this.sources){for(let r of this.sources)if(r.updateIfNecessary(),this.state===W)break}(this.state===W||!this._initialized)&&this.recompute(),this.state=Ge}recompute(){if(this.sources){for(let u of this.sources)u.observers?.delete(this);this.sources.clear()}let r=a.consumer,n=a.untracked;a.consumer=this,a.untracked=!1;let o,s=!1,i;try{o=this._fn()}catch(u){s=!0,i=u,o=this._value}finally{a.consumer=r,a.untracked=n}let c=!this._initialized||this._threw!==s||(s?i!==this._error:!this._equals(this._value,o));if(this._initialized=!0,this._threw=s,this._error=i,this._value=o,c){if(this.version++,this.observers)for(let u of[...this.observers])u.markDirty(W);Oe(this)}}markDirty(r){if(this.state>=r)return;let n=this.state===Ge;if(this.state=r,n){if(this.observers)for(let o of[...this.observers])o.markDirty(We);Oe(this)}}peek(){if(this.updateIfNecessary(),this._threw)throw this._error;return this._value}};function Oe(e){if(e.watchers)for(let t of[...e.watchers])t._notify(e)}var N=class{constructor(t){this._watched=new Set;this._pending=new Set;this._notifyFn=t}watch(...t){for(let r of t)this._watched.add(r),(r.watchers??=new Set).add(this)}unwatch(...t){for(let r of t)this._watched.delete(r),r.watchers?.delete(this),this._pending.delete(r)}getPending(){let t=[...this._pending];return this._pending.clear(),t}_notify(t){if(!this._watched.has(t)||this._pending.has(t))return;let r=this._pending.size===0;this._pending.add(t),r&&this._notifyFn()}};function H(e){if(a.untracked)return e();a.untracked=!0;try{return e()}finally{a.untracked=!1}}function He(){return a.consumer}function ze(e){return!!(e.observers&&e.observers.size)||!!(e.watchers&&e.watchers.size)}function oe(e){return{cleanups:null,owned:null,parent:e,contexts:null}}function q(e){let t=Symbol("context");return{id:t,defaultValue:e,Provider:n=>{let o=a.owner,s=oe(o);(s.contexts=new Map).set(t,n.value),o&&(o.owned??=[]).push(s),a.owner=s;try{return n.children}finally{a.owner=o}}}}function Ye(e){let t=a.owner;for(;t;){if(t.contexts&&t.contexts.has(e.id))return t.contexts.get(e.id);t=t.parent}return e.defaultValue}function se(e,t){let r=e;for(;r;){if(r.contexts&&r.contexts.has(t.id))return r.contexts.get(t.id);r=r.parent}return t.defaultValue}function M(e,t,r){let n=oe(a.owner);(n.contexts=new Map).set(e.id,t),a.owner&&(a.owner.owned??=[]).push(n);let o=a.owner;a.owner=n;try{return r()}finally{a.owner=o}}function Xe(e){a.onSuspend=e}function Je(e){return a.onSuspend?(a.onSuspend(e,a.owner),!0):!1}function Qe(e){a.onError=e}function z(){return a.owner}function Ae(e){let t=a.owner;return a.owner=e,t}function $(e,t){let r=a.owner;a.owner=e;try{return t()}finally{a.owner=r}}function v(e){a.owner&&(a.owner.cleanups??=[]).push(e)}function ne(e){if(e.owned){for(let t=e.owned.length-1;t>=0;t--)ne(e.owned[t]);e.owned=null}if(e.cleanups){for(let t=e.cleanups.length-1;t>=0;t--)e.cleanups[t]();e.cleanups=null}}function k(e){let t=oe(a.owner);a.owner&&(a.owner.owned??=[]).push(t);let r=a.owner;a.owner=t;try{return e(()=>ne(t))}finally{a.owner=r}}function Ze(e){a.hostSchedule=e??(t=>{Promise.resolve().then(t)})}function ar(e){e.queued||(e.queued=!0,a.queue.push(e),!a.scheduled&&a.batchDepth===0&&(a.scheduled=!0,a.hostSchedule(Y)))}function Y(){if(a.scheduled=!1,a.flushing)return;a.flushing=!0;let e=0;try{for(;a.queue.length;){if(++e>1e5)throw new Error("[fluixi] effect flush did not settle (cycle?)");let t=a.queue;a.queue=[];for(let r of t)r.queued=!1,r.disposed||r.run()}}finally{a.flushing=!1}}function et(){a.batchDepth===0&&Y()}function _e(e){a.batchDepth++;try{return e()}finally{--a.batchDepth===0&&Y()}}var ge=class{constructor(t){this.queued=!1;this.disposed=!1;this.owner=oe(a.owner),a.owner&&(a.owner.cleanups??=[]).push(()=>this.dispose()),this.computed=new A(()=>{ne(this.owner),$(this.owner,()=>{let r=t();typeof r=="function"&&(this.owner.cleanups??=[]).push(r)})}),this.watcher=new N(()=>ar(this)),this.run(),this.watcher.watch(this.computed)}run(){if(!this.disposed){this.watcher.getPending();try{this.computed.get()}catch(t){if(t&&typeof t.then=="function"&&a.onSuspend){a.onSuspend(t,this.owner);return}if(a.onError&&a.onError(t,this.owner))return;throw t}}}dispose(){this.disposed||(this.disposed=!0,this.watcher.unwatch(this.computed),ne(this.owner))}};function ie(e){let t=new ge(e);return()=>t.dispose()}function ur(e){return!!e&&typeof e.then=="function"}Ze(()=>{});var tt=Symbol.for("signal"),cr=Symbol.for("memo"),lr=Symbol.for("signal-node");function d(e,t){let r=new j(e,{equals:t?.equals}),n=(()=>r.get()),o=(s=>{let i=typeof s=="function"?s(r.peek()):s;return r.set(i),et(),i});return Object.defineProperty(n,tt,{value:!0,enumerable:!0}),Object.defineProperty(n,lr,{value:{get value(){return r.peek()},get version(){return r.version}},enumerable:!1}),[n,o]}function S(e,t,r){let n=t,o=z(),s=new A(()=>$(o,()=>{try{return n=e(n)}catch(c){if(ur(c))return Je(c),n;throw c}}),{equals:r?.equals}),i=(()=>s.get());return Object.defineProperty(i,tt,{value:!0,enumerable:!0}),Object.defineProperty(i,cr,{value:!0,enumerable:!0}),i}function P(e,t){let r=t;return ie(()=>{r=e(r)})}function rt(e,t){let r=t;ie(()=>{r=e(r)})}function nt(e,t){let r=t;return ie(()=>{r=e(r)})}function w(e){return _e(e)}function O(e){return H(e)}function Re(e){return _e(e),Promise.resolve()}function ot(){return[()=>!1,Re]}function st(){return Y(),Promise.resolve()}function it(e,t,r){let n=Array.isArray(e),o,s=r?.defer??!1;return i=>{let c=n?e.map(f=>f()):e();if(s){s=!1,o=c;return}let u=H(()=>t(c,o,i));return o=c,u}}function pr(e,t,r){let n=[];return v(()=>{for(let o of n)o.dispose();n=[]}),S(()=>{let o=e()||[];return O(()=>{if(o.length===0){for(let u of n)u.dispose();return n=[],r?.fallback?r.fallback():[]}let s=new Map;for(let u of n)s.has(u.item)||s.set(u.item,u);let i=[],c=new Set;for(let u=0;u<o.length;u++){let f=o[u],y=s.get(f);if(y&&!c.has(y))y.setIndex(u),i.push(y),c.add(y);else{let l,h,b;k(T=>{b=T;let[C,K]=d(u);h=K,l=t(f,C)});let x={item:f,rendered:l,dispose:b,setIndex:h};i.push(x),c.add(x)}}for(let u of n)c.has(u)||u.dispose();return n=i,i.map(u=>u.rendered)})})}function fr(e,t,r,n){let o=[],s=[];return v(()=>{for(let i of s)i.dispose();o=[],s=[]}),S(()=>{let i=e()||[];return O(()=>{if(i.length===0){for(let l of s)l.dispose();return o=[],s=[],n?.fallback?n.fallback():[]}let c=new Map;for(let l=0;l<o.length;l++)c.set(o[l],s[l]);let u=[],f=[],y=new Set;for(let l=0;l<i.length;l++){let h=t(i[l]),b=c.get(h);if(b&&!y.has(h))b.setIndex(l),u.push(b);else{let x,T,C;k(K=>{C=K;let[R,G]=d(l);T=G;let Q=S(I=>{let g=(e()||[])[R()];return g??I},i[l]);x=r(Q,R)}),u.push({rendered:x,dispose:C,setIndex:T})}f.push(h),y.add(h)}for(let[l,h]of c)y.has(l)||h.dispose();return o=f,s=u,u.map(l=>l.rendered)})})}function dr(e,t,r){let n=[];return v(()=>{for(let o of n)o.dispose();n=[]}),S(()=>{let o=e()||[];return O(()=>{if(o.length===0){for(let u of n)u.dispose();return n=[],r?.fallback?r.fallback():[]}let s=n.length,i=o.length;for(let u=s;u<i;u++){let f,y,l,h=o[u];k(b=>{l=b;let[x,T]=d(h);y=T,f=t(x,u)}),n.push({rendered:f,setItem:y,dispose:l})}for(let u=i;u<s;u++)n[u].dispose();i<s&&(n=n.slice(0,i));let c=Math.min(s,i);for(let u=0;u<c;u++)n[u].setItem(o[u]);return n.map(u=>u.rendered)})})}var ae=!1,yr=Symbol.for("signal"),hr=Symbol.for("memo"),br=Symbol.for("resource");function ue(e){return typeof e=="function"&&e[yr]===!0}function at(e){return typeof e=="function"&&e[hr]===!0}function ut(e){return typeof e=="function"&&e[br]===!0}function ct(e){return typeof e=="function"&&e[Symbol.for("fluixi-component")]===!0}function lt(e){return typeof e=="function"&&e[Symbol.for("fluixi-suspense")]===!0}function pt(e){return typeof e=="function"&&e[Symbol.for("fluixi-provider")]===!0}function Ee(e){return Array.isArray(e)?e.length===2&&e[1]===" "?Array.isArray(e[0])?Ee(e[0]):(typeof e[0]=="function",e[0]):e.length===1&&typeof e[0]=="function"?e[0]:e:e}var ke=null;function ft(e){ke=e}function ce(e){ke&&ke(e)}var Pe=null;function dt(e){Pe=e}function le(e){return Pe?Pe(e):void 0}var Fe=null;function yt(e){Fe=e}function pe(){return Fe?Fe():void 0}var Ce=null;function ht(e){Ce=e}function fe(e,t){Ce&&Ce(e,t)}function bt(e,t=(r,n)=>r===n){let r=new Map;return P(()=>{let n=e();for(let[o,s]of r){let[i,c]=s,u=t(o,n);i()!==u&&c(u)}}),n=>{let o=r.get(n);if(!o){let[s,i]=d(!1);o=[s,i],r.set(n,o);let c=e();i(t(n,c))}return o[0]()}}function Tt(e,t){let[r,n]=d(e(),t);return P(()=>{let o=e();t?.timeoutMs?setTimeout(()=>n(()=>o),t.timeoutMs):typeof requestIdleCallback=="function"?requestIdleCallback(()=>n(()=>o)):Promise.resolve().then(()=>n(()=>o))}),r}function mt(e,t){let r,n=(...o)=>{r!==void 0&&clearTimeout(r),r=setTimeout(()=>{if(r=void 0,o.length>0){let s=o[o.length-1];typeof s=="object"&&s&&!s.tagName&&s.target&&s.target.tagName&&(s=s.target),s&&typeof s=="object"&&s.tagName&&(s.tagName.toLowerCase()==="input"||s.tagName.toLowerCase()==="textarea")&&s.focus()}e(...o)},t)};return v(()=>{r!==void 0&&clearTimeout(r)}),n}function de(e){if(typeof e=="function"&&!e.length){let t=e();return ue(t)?t:de(t)}if(Array.isArray(e)){let t=[];for(let r=0;r<e.length;r++){let n=de(e[r]);Array.isArray(n)?t.push.apply(t,n):t.push(n)}return t}return e}function vt(e){let t=S(e);return S(()=>de(t()))}function Tr(e){return!!e&&typeof e.then=="function"}var Ie=Symbol();function St(e,t,r={}){let n,o;typeof t=="function"?(n=typeof e=="function"?e:()=>e,o=t):(n=()=>!0,o=e,t&&typeof t=="object"&&(r=t));let s=pe(),i=s!==void 0?le(s):void 0,c=i!==void 0,[u,f]=d(i!==void 0?i.value:r.initialValue,{equals:!1}),[y,l]=d(void 0,{equals:!1}),[h,b]=d(i!==void 0||r.initialValue!==void 0?"ready":"unresolved",{equals:!1}),[x,T]=d(void 0,{equals:!1}),[C,K]=d(void 0,{equals:!1}),R=Ie,G=!1;P(()=>{let m=n();if(C(),m===!1||m===null||m===void 0){R=Ie,w(()=>{b("unresolved"),T(void 0),l(void 0)});return}let g=G;if(G=!1,R!==Ie&&m===R&&!g)return;if(R=m,c){c=!1;return}let Z=!1;v(()=>Z=!0);let Le=O(h),Jt=O(u),Ve=Le==="ready"||Le==="refreshing";w(()=>{b(Ve?"refreshing":"pending"),l(void 0)});try{let E=o(m,{value:Jt,refetching:Ve});Tr(E)?(T(E),ce(E),E.then(ee=>{Z||(s!==void 0&&fe(s,ee),w(()=>{f(()=>ee),b("ready"),T(void 0)}))},ee=>{Z||w(()=>{l(ee),b("errored"),T(void 0)})})):w(()=>{f(()=>E),b("ready"),T(void 0)})}catch(E){if(Z)return;w(()=>{l(E),b("errored"),T(void 0)})}});let Q=()=>{let m=h();return m==="pending"||m==="refreshing"},I=(()=>{let m=y();if(m)throw m;if(Q()){let g=x();if(g)throw g}return u()});return Object.defineProperties(I,{state:{get:h},loading:{get:Q},error:{get:y},latest:{get:u}}),Object.defineProperty(I,Symbol.for("resource"),{value:!0,enumerable:!0}),Object.defineProperty(I,Symbol.for("signal"),{value:!0,enumerable:!0}),[I,{mutate:f,refetch:()=>{G=!0,K(void 0)}}]}var ye=q();Xe((e,t)=>{let r=se(t,ye);r&&(r.increment(),e.finally(()=>r.decrement()))});function xt(){let[e,t]=d(0),r=0;return{increment:()=>t(r+=1),decrement:()=>t(r-=1),inFallback:()=>e()>0}}function wt(e,t){return M(ye,e,t)}var Ot=q();Qe((e,t)=>{let r=se(t,Ot);return r?(r.setError(e),!0):!1});function gt(){let[e,t]=d(void 0,{equals:!1});return{error:e,reset:()=>t(()=>{}),setError:n=>t(()=>n)}}function At(e,t){return M(Ot,e,t)}var _t={State:j,Computed:A,subtle:{Watcher:N,untrack:H,currentComputed:He,hasSinks:ze}};var mr=Symbol.for("signal"),vr=Symbol.for("fluixi-proxy");var p=require("@fluixi/reactive/signal"),J=Symbol("store-raw"),F=Symbol("store-node"),Rt=Symbol("store-has"),be=Symbol("store-self"),Te=Symbol("store-track"),Dt=Symbol("store-name"),Ut=Symbol("store-store"),Et=new WeakMap,kt=new WeakMap;function Bt(e){let[t,r]=(0,p.createSignal)(e),n=t;return n.$=r,n}function me(e){let t=Et.get(e);return t||Et.set(e,t={keys:new Map}),t}function Pt(e,t,r){let n=e.keys.get(t);return n||e.keys.set(t,n=Bt(r)),n}function Ft(e){let t=me(e);(t.all||(t.all=Bt()))()}function Ct(e,t){e.$(typeof t=="function"?()=>t:t)}function jt(e){if(e==null||typeof e!="object")return!1;if(Array.isArray(e))return!0;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function he(e){if(!jt(e))return e;let t=kt.get(e);if(t)return t;let r=new Proxy(e,Sr);return kt.set(e,r),r}var Sr={get(e,t,r){if(t===J||t===F)return e;if(t===p.$PROXY)return r;if(t===Rt)return i=>i in e;if(t==="__proxy")return!0;if(t===Te||t===be)return Ft(e),r;let n=e[t];if(typeof n=="function"&&!Object.prototype.hasOwnProperty.call(e,t))return n;let o=Object.getOwnPropertyDescriptor(e,t);if(o&&o.get)return o.get.call(r);let s=Pt(me(e),t,n)();return jt(s)?he(s):s},set(){return!0},deleteProperty(e,t){return t in e&&X(e,t,void 0),!0},has(e,t){return t===J||t===p.$PROXY||t===F||t===Rt||t===be||t===Te?!0:(Pt(me(e),t,e[t])(),t in e)},ownKeys(e){return Ft(e),Reflect.ownKeys(e)},getOwnPropertyDescriptor(e,t){return Reflect.getOwnPropertyDescriptor(e,t)}};function X(e,t,r){if(e[t]===r&&(r!==void 0||t in e))return;let o=Array.isArray(e),s=o?e.length:0;r===void 0?delete e[t]:e[t]=r;let i=me(e),c=i.keys.get(t);if(c&&Ct(c,r),o&&e.length!==s){let u=i.keys.get("length");u&&Ct(u,e.length)}i.all&&i.all.$(void 0)}function It(e,t){return typeof e=="function"?e(t):e}function Ue(e,t){for(let r of Object.keys(t)){let n=t[r],o=e[r];n&&typeof n=="object"&&!Array.isArray(n)&&o&&typeof o=="object"&&!Array.isArray(o)?Ue(o,n):X(e,r,n)}}function je(e){let t=[],r=e.replace(/\[([^\]]*)\]/g,".$1");for(let n of r.split("."))n.length&&t.push(n);return t}function Nt(e,t,r){let n=t.length-1;for(let s=0;s<n;s++){let i=t[s];if(i==="*"){let u=t.slice(s+1);if(Array.isArray(e))for(let f=0;f<e.length;f++)Nt(e[f],u,r);return}let c=e[i];(c==null||typeof c!="object")&&(c=/^\d+$/.test(t[s+1])?[]:{},X(e,i,c)),e=c}let o=t[n];if(o==="*"){if(Array.isArray(e))for(let s=0;s<e.length;s++)X(e,s,It(r,e[s]));return}X(e,o,It(r,e[o]))}function De(e,t,r){Nt(e,je(t),r)}function xr(e,t){let r=t[0];if(typeof r=="function"&&t.length===1){let n=r(e);n&&n!==e&&Ue(e,n);return}if(Array.isArray(r)&&t.length===1){for(let n of r)Array.isArray(n)&&De(e,n[0],n[1]);return}if(r&&typeof r=="object"&&!Array.isArray(r)&&t.length===1){Ue(e,r);return}if(Array.isArray(t[1])&&t.length>=3){De(e,`${r}.${t[1].join(".")}`,t[2]);return}De(e,String(r),t[1])}function Be(e){if(e==null||typeof e!="object")return e;if(Array.isArray(e))return e.map(Be);let t={};for(let r of Object.keys(e))t[r]=Be(e[r]);return t}function L(e,t){let r=e;for(let n of je(t)){if(r==null)return;r=r[n]}return r}var _=class{constructor(t,r={immutable:!0}){this.options=r;this.root=t,this.set=((...n)=>(0,p.batch)(()=>xr(this.root,n)))}get state(){return he(this.root)}get proxy(){return he(this.root)}get accessor(){return(()=>he(this.root))}unwrap(){return this.root}getNode(t){return this.root&&this.root[t]}get(t){if(t==null||t==="")return V(this.state);let r=this.state;for(let n of je(t)){if(r==null)return;r=r[n]}return V(r)}select(t){return(0,p.createMemo)(()=>t(this.state))}subscribe(t){return(0,p.createEffect)(()=>t(this.state))}watch(t,r){let n;return(0,p.createEffect)(()=>{let o=t(this.state);Object.is(o,n)||(r(o,n),n=o)})}reactive(t){return(0,p.createMemo)(()=>this.state[t])}produce(t){this.set((r=>{let n=Be(r);return t(n),n}))}reconcile(t,r={}){this.set(t)}push(t,...r){let n=L(this.root,t);this.set(t,n.concat(r))}pop(t){let r=L(this.root,t).slice(),n=r.pop();return this.set(t,r),n}shift(t){let r=L(this.root,t).slice(),n=r.shift();return this.set(t,r),n}splice(t,r,n,...o){let s=L(this.root,t).slice(),i=s.splice(r,n,...o);return this.set(t,s),i}insert(t,r,n){let o=L(this.root,t).slice();o.splice(r,0,n),this.set(t,o)}removeAt(t,r){let n=L(this.root,t).slice(),o=n.splice(r,1);return this.set(t,n),o}toObservable(){let[t]=(0,p.createSignal)(this.state);return t.toObservable()}dispose(){}},wr=["get","select","watch","subscribe","produce","reconcile","push","pop","shift","splice","insert","removeAt","unwrap","toObservable"];function qt(e,t){for(let r of wr)e[r]=t[r].bind(t);e.$=t.reactive.bind(t)}function Ne(e,t={immutable:!0}){let r=new _(e,t);return qt(r.set,r),[r.proxy,r.set]}function qe(e,t={}){return new _(e,{...t,immutable:!1})}function Mt(e,t={}){let r=new _(e(),t);return(0,p.createEffect)(()=>r.set(e())),r}function $t(e,t,r){return(0,p.createEffect)(()=>r(t(e)))}function Lt(e,t,r){return(0,p.createMemo)(()=>t(e),void 0,r)}function Vt(e,t={}){let r=new _(e,t),n=(()=>r.proxy);return qt(n,r),n}function V(e){if(e==null||typeof e!="object")return e;let t=e[J];return t!==void 0?t:e}function Me(e){return(0,p.untrack)(()=>V(e))}function Kt(e){return ve(e)}function Gt(e){return ve(e)?e[F]:null}function Wt(e){return e&&typeof e=="object"&&F in e?e[F]:null}function ve(e){return!!e&&typeof e=="object"&&(p.$PROXY in e||e.__proxy===!0)}function Ht(e){return e}var zt=Object.freeze({createStore:Ne,createMutableStore:qe,batch:p.batch,unwrap:V,untrackStore:Me});function $e(e){if(e==null||typeof e!="object")return e;if(Array.isArray(e))return e.map($e);let t={};for(let r of Object.keys(e))t[r]=$e(e[r]);return t}function Yt(e){return t=>{let r=$e(t);return e(r),r}}function Xt(e,t={}){return()=>e}
@@ -0,0 +1,2 @@
1
+ export * from './lib/index.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1 @@
1
+ export * from './lib/index.js';
package/dist/index.mjs ADDED
@@ -0,0 +1 @@
1
+ import{isObject as bt}from"@fluixi/utils/object";import{isFunction as je}from"@fluixi/utils/functions";var N=class e{constructor(t){this._closed=!1;this._parentOrParents=null;this._subscriptions=null;t&&(this._subscriptions=[t])}get closed(){return this._closed}unsubscribe(){if(this._closed)return;this._closed=!0;let{_parentOrParents:t,_subscriptions:r}=this;if(t instanceof e)t.remove(this);else if(t!==null)for(let n of t)n.remove(this);if(r){for(let n of r)if(je(n)&&!(n instanceof e))try{n()}catch(o){console.error("Error in unsubscribe function:",o)}else if(bt(n)&&typeof n.unsubscribe=="function")try{n.unsubscribe()}catch(o){console.error("Error unsubscribing child:",o)}this._subscriptions=null}}add(t){if(!t||t===this)return this;if(t.closed)return this;let{_closed:r,_subscriptions:n}=this;if(r){if(je(t))try{t()}catch(o){console.error("Error in unsubscribe function:",o)}else if(t.unsubscribe)try{t.unsubscribe()}catch(o){console.error("Error unsubscribing:",o)}return this}return n||(this._subscriptions=[]),this._subscriptions.push(t),t instanceof e&&t._addParent(this),this}remove(t){let{_subscriptions:r}=this;if(!r)return;let n=r.indexOf(t);n!==-1&&(r.splice(n,1),t._removeParent(this))}_addParent(t){let{_parentOrParents:r}=this;r?Array.isArray(r)?r.push(t):this._parentOrParents=[r,t]:this._parentOrParents=t}_removeParent(t){let{_parentOrParents:r}=this;if(r===t)this._parentOrParents=null;else if(Array.isArray(r)){let n=r.indexOf(t);n!==-1&&(r.splice(n,1),r.length===1&&(this._parentOrParents=r[0]))}}};var q=class extends N{constructor(r,n,o){super();this.isStopped=!1;let s;r?typeof r=="object"?s=r:s={next:r,error:n,complete:o}:s={},this.destination=s}next(r){if(!this.isStopped&&this.destination.next)try{this.destination.next(r)}catch(n){this.error(n)}}error(r){if(!this.isStopped){if(this.isStopped=!0,this.destination.error)try{this.destination.error(r)}catch(n){throw n}else throw r;this.unsubscribe()}}complete(){if(!this.isStopped){if(this.isStopped=!0,this.destination.complete)try{this.destination.complete()}catch(r){this.error(r);return}this.unsubscribe()}}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}},ce=class extends q{constructor(r,n,o,s){super(r,n,o);this._isUnsubscribing=!1;this._parentSubscriber=null;this._parentSubscriber=s||null}next(r){if(!this.isStopped&&!this._isUnsubscribing)try{super.next(r)}catch(n){this.error(n)}}error(r){if(!this.isStopped&&!this._isUnsubscribing){this._isUnsubscribing=!0;try{super.error(r)}finally{this._isUnsubscribing=!1}}}complete(){if(!this.isStopped&&!this._isUnsubscribing){this._isUnsubscribing=!0;try{super.complete()}finally{this._isUnsubscribing=!1}}}unsubscribe(){this.closed||(this._isUnsubscribing=!0,super.unsubscribe(),this._isUnsubscribing=!1)}};function vr(e){return new q(e.next,e.error,e.complete)}var M=class extends N{constructor(t){if(super(),t)this._subscribe=t;else throw new TypeError("Observable constructor requires a subscribe function")}subscribe(t,r,n){let o;t instanceof q?o=t:o=new ce(t,r,n);let{_subscribe:s}=this;try{let i=s.call(this,o);i&&(typeof i=="function"||typeof i.unsubscribe=="function")&&o.add(i)}catch(i){o.error(i)}return o}pipe(...t){return t.length===0?this:t.reduce((r,n)=>n(r),this)}toPromise(){return new Promise((t,r)=>{let n;this.subscribe({next:o=>n=o,error:r,complete:()=>t(n)})})}};var Ne=class extends M{constructor(){super(r=>{if(this.closed)throw new Error("Subject has been closed");if(this.hasError)r.error(this.thrownError);else if(this.isStopped)r.complete();else return this.observers.push(r),()=>{let n=this.observers.indexOf(r);n!==-1&&this.observers.splice(n,1)}});this.observers=[];this.isStopped=!1;this.hasError=!1;this.thrownError=null}next(r){if(this.isStopped)return;let{observers:n}=this,o=n.length,s=n.slice();for(let i=0;i<o;i++)s[i].next?.(r)}error(r){if(this.isStopped)return;this.hasError=!0,this.thrownError=r,this.isStopped=!0;let{observers:n}=this;this.observers=[];let o=n.length,s=n.slice();for(let i=0;i<o;i++)s[i].error?.(r)}complete(){if(this.isStopped)return;this.isStopped=!0;let{observers:r}=this;this.observers=[];let n=r.length,o=r.slice();for(let s=0;s<n;s++)o[s].complete?.()}unsubscribe(){this.isStopped=!0,this.observers=[]}asObservable(){return new M(n=>this.subscribe(n))}};var Tt="__fluixi_signal_next_state__",mt=e=>{typeof queueMicrotask=="function"?queueMicrotask(e):Promise.resolve().then(e)},a=globalThis[Tt]??={consumer:null,untracked:!1,owner:null,queue:[],scheduled:!1,flushing:!1,batchDepth:0,hostSchedule:mt,onSuspend:null,onError:null};var qe=0,Me=1,$=2,Q=class{constructor(){this.observers=null;this.watchers=null;this.version=0}updateIfNecessary(){}track(){if(a.untracked)return;let t=a.consumer;t&&((this.observers??=new Set).add(t),(t.sources??=new Set).add(this))}},P=class extends Q{constructor(t,r){super(),this._value=t,this._equals=r?.equals===!1?()=>!1:r?.equals??Object.is}get(){return this.track(),this._value}set(t){if(!this._equals(this._value,t)){if(this._value=t,this.version++,this.observers)for(let r of[...this.observers])r.markDirty($);le(this)}}peek(){return this._value}},w=class extends Q{constructor(r,n){super();this._threw=!1;this._initialized=!1;this.state=$;this.sources=null;this._fn=r,this._equals=n?.equals===!1?()=>!1:n?.equals??Object.is}get(){if(a.consumer===this)throw new Error("Signal.Computed cannot read itself");if(this.track(),this.updateIfNecessary(),this._threw)throw this._error;return this._value}updateIfNecessary(){if(this.state===Me&&this.sources){for(let r of this.sources)if(r.updateIfNecessary(),this.state===$)break}(this.state===$||!this._initialized)&&this.recompute(),this.state=qe}recompute(){if(this.sources){for(let u of this.sources)u.observers?.delete(this);this.sources.clear()}let r=a.consumer,n=a.untracked;a.consumer=this,a.untracked=!1;let o,s=!1,i;try{o=this._fn()}catch(u){s=!0,i=u,o=this._value}finally{a.consumer=r,a.untracked=n}let c=!this._initialized||this._threw!==s||(s?i!==this._error:!this._equals(this._value,o));if(this._initialized=!0,this._threw=s,this._error=i,this._value=o,c){if(this.version++,this.observers)for(let u of[...this.observers])u.markDirty($);le(this)}}markDirty(r){if(this.state>=r)return;let n=this.state===qe;if(this.state=r,n){if(this.observers)for(let o of[...this.observers])o.markDirty(Me);le(this)}}peek(){if(this.updateIfNecessary(),this._threw)throw this._error;return this._value}};function le(e){if(e.watchers)for(let t of[...e.watchers])t._notify(e)}var F=class{constructor(t){this._watched=new Set;this._pending=new Set;this._notifyFn=t}watch(...t){for(let r of t)this._watched.add(r),(r.watchers??=new Set).add(this)}unwatch(...t){for(let r of t)this._watched.delete(r),r.watchers?.delete(this),this._pending.delete(r)}getPending(){let t=[...this._pending];return this._pending.clear(),t}_notify(t){if(!this._watched.has(t)||this._pending.has(t))return;let r=this._pending.size===0;this._pending.add(t),r&&this._notifyFn()}};function L(e){if(a.untracked)return e();a.untracked=!0;try{return e()}finally{a.untracked=!1}}function $e(){return a.consumer}function Le(e){return!!(e.observers&&e.observers.size)||!!(e.watchers&&e.watchers.size)}function ee(e){return{cleanups:null,owned:null,parent:e,contexts:null}}function V(e){let t=Symbol("context");return{id:t,defaultValue:e,Provider:n=>{let o=a.owner,s=ee(o);(s.contexts=new Map).set(t,n.value),o&&(o.owned??=[]).push(s),a.owner=s;try{return n.children}finally{a.owner=o}}}}function vt(e){let t=a.owner;for(;t;){if(t.contexts&&t.contexts.has(e.id))return t.contexts.get(e.id);t=t.parent}return e.defaultValue}function te(e,t){let r=e;for(;r;){if(r.contexts&&r.contexts.has(t.id))return r.contexts.get(t.id);r=r.parent}return t.defaultValue}function K(e,t,r){let n=ee(a.owner);(n.contexts=new Map).set(e.id,t),a.owner&&(a.owner.owned??=[]).push(n);let o=a.owner;a.owner=n;try{return r()}finally{a.owner=o}}function Ve(e){a.onSuspend=e}function Ke(e){return a.onSuspend?(a.onSuspend(e,a.owner),!0):!1}function Ge(e){a.onError=e}function re(){return a.owner}function We(e){let t=a.owner;return a.owner=e,t}function G(e,t){let r=a.owner;a.owner=e;try{return t()}finally{a.owner=r}}function m(e){a.owner&&(a.owner.cleanups??=[]).push(e)}function Z(e){if(e.owned){for(let t=e.owned.length-1;t>=0;t--)Z(e.owned[t]);e.owned=null}if(e.cleanups){for(let t=e.cleanups.length-1;t>=0;t--)e.cleanups[t]();e.cleanups=null}}function C(e){let t=ee(a.owner);a.owner&&(a.owner.owned??=[]).push(t);let r=a.owner;a.owner=t;try{return e(()=>Z(t))}finally{a.owner=r}}function He(e){a.hostSchedule=e??(t=>{Promise.resolve().then(t)})}function St(e){e.queued||(e.queued=!0,a.queue.push(e),!a.scheduled&&a.batchDepth===0&&(a.scheduled=!0,a.hostSchedule(W)))}function W(){if(a.scheduled=!1,a.flushing)return;a.flushing=!0;let e=0;try{for(;a.queue.length;){if(++e>1e5)throw new Error("[fluixi] effect flush did not settle (cycle?)");let t=a.queue;a.queue=[];for(let r of t)r.queued=!1,r.disposed||r.run()}}finally{a.flushing=!1}}function ze(){a.batchDepth===0&&W()}function fe(e){a.batchDepth++;try{return e()}finally{--a.batchDepth===0&&W()}}var pe=class{constructor(t){this.queued=!1;this.disposed=!1;this.owner=ee(a.owner),a.owner&&(a.owner.cleanups??=[]).push(()=>this.dispose()),this.computed=new w(()=>{Z(this.owner),G(this.owner,()=>{let r=t();typeof r=="function"&&(this.owner.cleanups??=[]).push(r)})}),this.watcher=new F(()=>St(this)),this.run(),this.watcher.watch(this.computed)}run(){if(!this.disposed){this.watcher.getPending();try{this.computed.get()}catch(t){if(t&&typeof t.then=="function"&&a.onSuspend){a.onSuspend(t,this.owner);return}if(a.onError&&a.onError(t,this.owner))return;throw t}}}dispose(){this.disposed||(this.disposed=!0,this.watcher.unwatch(this.computed),Z(this.owner))}};function ne(e){let t=new pe(e);return()=>t.dispose()}function xt(e){return!!e&&typeof e.then=="function"}He(()=>{});var Ye=Symbol.for("signal"),wt=Symbol.for("memo"),Ot=Symbol.for("signal-node");function f(e,t){let r=new P(e,{equals:t?.equals}),n=(()=>r.get()),o=(s=>{let i=typeof s=="function"?s(r.peek()):s;return r.set(i),ze(),i});return Object.defineProperty(n,Ye,{value:!0,enumerable:!0}),Object.defineProperty(n,Ot,{value:{get value(){return r.peek()},get version(){return r.version}},enumerable:!1}),[n,o]}function v(e,t,r){let n=t,o=re(),s=new w(()=>G(o,()=>{try{return n=e(n)}catch(c){if(xt(c))return Ke(c),n;throw c}}),{equals:r?.equals}),i=(()=>s.get());return Object.defineProperty(i,Ye,{value:!0,enumerable:!0}),Object.defineProperty(i,wt,{value:!0,enumerable:!0}),i}function I(e,t){let r=t;return ne(()=>{r=e(r)})}function gt(e,t){let r=t;ne(()=>{r=e(r)})}function At(e,t){let r=t;return ne(()=>{r=e(r)})}function O(e){return fe(e)}function g(e){return L(e)}function Xe(e){return fe(e),Promise.resolve()}function _t(){return[()=>!1,Xe]}function Rt(){return W(),Promise.resolve()}function Et(e,t,r){let n=Array.isArray(e),o,s=r?.defer??!1;return i=>{let c=n?e.map(p=>p()):e();if(s){s=!1,o=c;return}let u=L(()=>t(c,o,i));return o=c,u}}function Dr(e,t,r){let n=[];return m(()=>{for(let o of n)o.dispose();n=[]}),v(()=>{let o=e()||[];return g(()=>{if(o.length===0){for(let u of n)u.dispose();return n=[],r?.fallback?r.fallback():[]}let s=new Map;for(let u of n)s.has(u.item)||s.set(u.item,u);let i=[],c=new Set;for(let u=0;u<o.length;u++){let p=o[u],d=s.get(p);if(d&&!c.has(d))d.setIndex(u),i.push(d),c.add(d);else{let l,y,h;C(b=>{h=b;let[E,B]=f(u);y=B,l=t(p,E)});let S={item:p,rendered:l,dispose:h,setIndex:y};i.push(S),c.add(S)}}for(let u of n)c.has(u)||u.dispose();return n=i,i.map(u=>u.rendered)})})}function Ur(e,t,r,n){let o=[],s=[];return m(()=>{for(let i of s)i.dispose();o=[],s=[]}),v(()=>{let i=e()||[];return g(()=>{if(i.length===0){for(let l of s)l.dispose();return o=[],s=[],n?.fallback?n.fallback():[]}let c=new Map;for(let l=0;l<o.length;l++)c.set(o[l],s[l]);let u=[],p=[],d=new Set;for(let l=0;l<i.length;l++){let y=t(i[l]),h=c.get(y);if(h&&!d.has(y))h.setIndex(l),u.push(h);else{let S,b,E;C(B=>{E=B;let[A,j]=f(l);b=j;let Y=v(k=>{let x=(e()||[])[A()];return x??k},i[l]);S=r(Y,A)}),u.push({rendered:S,dispose:E,setIndex:b})}p.push(y),d.add(y)}for(let[l,y]of c)d.has(l)||y.dispose();return o=p,s=u,u.map(l=>l.rendered)})})}function Br(e,t,r){let n=[];return m(()=>{for(let o of n)o.dispose();n=[]}),v(()=>{let o=e()||[];return g(()=>{if(o.length===0){for(let u of n)u.dispose();return n=[],r?.fallback?r.fallback():[]}let s=n.length,i=o.length;for(let u=s;u<i;u++){let p,d,l,y=o[u];C(h=>{l=h;let[S,b]=f(y);d=b,p=t(S,u)}),n.push({rendered:p,setItem:d,dispose:l})}for(let u=i;u<s;u++)n[u].dispose();i<s&&(n=n.slice(0,i));let c=Math.min(s,i);for(let u=0;u<c;u++)n[u].setItem(o[u]);return n.map(u=>u.rendered)})})}var de=!1,kt=Symbol.for("signal"),Pt=Symbol.for("memo"),Ft=Symbol.for("resource");function ye(e){return typeof e=="function"&&e[kt]===!0}function Ct(e){return typeof e=="function"&&e[Pt]===!0}function It(e){return typeof e=="function"&&e[Ft]===!0}function Dt(e){return typeof e=="function"&&e[Symbol.for("fluixi-component")]===!0}function Ut(e){return typeof e=="function"&&e[Symbol.for("fluixi-suspense")]===!0}function Bt(e){return typeof e=="function"&&e[Symbol.for("fluixi-provider")]===!0}function Je(e){return Array.isArray(e)?e.length===2&&e[1]===" "?Array.isArray(e[0])?Je(e[0]):(typeof e[0]=="function",e[0]):e.length===1&&typeof e[0]=="function"?e[0]:e:e}var he=null;function jt(e){he=e}function ve(e){he&&he(e)}var be=null;function Nt(e){be=e}function Se(e){return be?be(e):void 0}var Te=null;function qt(e){Te=e}function xe(){return Te?Te():void 0}var me=null;function Mt(e){me=e}function we(e,t){me&&me(e,t)}function $t(e,t=(r,n)=>r===n){let r=new Map;return I(()=>{let n=e();for(let[o,s]of r){let[i,c]=s,u=t(o,n);i()!==u&&c(u)}}),n=>{let o=r.get(n);if(!o){let[s,i]=f(!1);o=[s,i],r.set(n,o);let c=e();i(t(n,c))}return o[0]()}}function Lt(e,t){let[r,n]=f(e(),t);return I(()=>{let o=e();t?.timeoutMs?setTimeout(()=>n(()=>o),t.timeoutMs):typeof requestIdleCallback=="function"?requestIdleCallback(()=>n(()=>o)):Promise.resolve().then(()=>n(()=>o))}),r}function Vt(e,t){let r,n=(...o)=>{r!==void 0&&clearTimeout(r),r=setTimeout(()=>{if(r=void 0,o.length>0){let s=o[o.length-1];typeof s=="object"&&s&&!s.tagName&&s.target&&s.target.tagName&&(s=s.target),s&&typeof s=="object"&&s.tagName&&(s.tagName.toLowerCase()==="input"||s.tagName.toLowerCase()==="textarea")&&s.focus()}e(...o)},t)};return m(()=>{r!==void 0&&clearTimeout(r)}),n}function oe(e){if(typeof e=="function"&&!e.length){let t=e();return ye(t)?t:oe(t)}if(Array.isArray(e)){let t=[];for(let r=0;r<e.length;r++){let n=oe(e[r]);Array.isArray(n)?t.push.apply(t,n):t.push(n)}return t}return e}function Kt(e){let t=v(e);return v(()=>oe(t()))}function Gt(e){return!!e&&typeof e.then=="function"}var Oe=Symbol();function Wt(e,t,r={}){let n,o;typeof t=="function"?(n=typeof e=="function"?e:()=>e,o=t):(n=()=>!0,o=e,t&&typeof t=="object"&&(r=t));let s=xe(),i=s!==void 0?Se(s):void 0,c=i!==void 0,[u,p]=f(i!==void 0?i.value:r.initialValue,{equals:!1}),[d,l]=f(void 0,{equals:!1}),[y,h]=f(i!==void 0||r.initialValue!==void 0?"ready":"unresolved",{equals:!1}),[S,b]=f(void 0,{equals:!1}),[E,B]=f(void 0,{equals:!1}),A=Oe,j=!1;I(()=>{let T=n();if(E(),T===!1||T===null||T===void 0){A=Oe,O(()=>{h("unresolved"),b(void 0),l(void 0)});return}let x=j;if(j=!1,A!==Oe&&T===A&&!x)return;if(A=T,c){c=!1;return}let X=!1;m(()=>X=!0);let Ue=g(y),ht=g(u),Be=Ue==="ready"||Ue==="refreshing";O(()=>{h(Be?"refreshing":"pending"),l(void 0)});try{let _=o(T,{value:ht,refetching:Be});Gt(_)?(b(_),ve(_),_.then(J=>{X||(s!==void 0&&we(s,J),O(()=>{p(()=>J),h("ready"),b(void 0)}))},J=>{X||O(()=>{l(J),h("errored"),b(void 0)})})):O(()=>{p(()=>_),h("ready"),b(void 0)})}catch(_){if(X)return;O(()=>{l(_),h("errored"),b(void 0)})}});let Y=()=>{let T=y();return T==="pending"||T==="refreshing"},k=(()=>{let T=d();if(T)throw T;if(Y()){let x=S();if(x)throw x}return u()});return Object.defineProperties(k,{state:{get:y},loading:{get:Y},error:{get:d},latest:{get:u}}),Object.defineProperty(k,Symbol.for("resource"),{value:!0,enumerable:!0}),Object.defineProperty(k,Symbol.for("signal"),{value:!0,enumerable:!0}),[k,{mutate:p,refetch:()=>{j=!0,B(void 0)}}]}var ge=V();Ve((e,t)=>{let r=te(t,ge);r&&(r.increment(),e.finally(()=>r.decrement()))});function Ht(){let[e,t]=f(0),r=0;return{increment:()=>t(r+=1),decrement:()=>t(r-=1),inFallback:()=>e()>0}}function zt(e,t){return K(ge,e,t)}var Qe=V();Ge((e,t)=>{let r=te(t,Qe);return r?(r.setError(e),!0):!1});function Yt(){let[e,t]=f(void 0,{equals:!1});return{error:e,reset:()=>t(()=>{}),setError:n=>t(()=>n)}}function Xt(e,t){return K(Qe,e,t)}var Jt={State:P,Computed:w,subtle:{Watcher:F,untrack:L,currentComputed:$e,hasSinks:Le}};var rn=Symbol.for("signal"),nn=Symbol.for("fluixi-proxy");import{$PROXY as _e,batch as it,createEffect as ie,createMemo as Re,createSignal as at,untrack as Qt}from"@fluixi/reactive/signal";var ae=Symbol("store-raw"),U=Symbol("store-node"),Ze=Symbol("store-has"),Ee=Symbol("store-self"),ke=Symbol("store-track"),Zt=Symbol("store-name"),er=Symbol("store-store"),et=new WeakMap,tt=new WeakMap;function ut(e){let[t,r]=at(e),n=t;return n.$=r,n}function ue(e){let t=et.get(e);return t||et.set(e,t={keys:new Map}),t}function rt(e,t,r){let n=e.keys.get(t);return n||e.keys.set(t,n=ut(r)),n}function nt(e){let t=ue(e);(t.all||(t.all=ut()))()}function ot(e,t){e.$(typeof t=="function"?()=>t:t)}function ct(e){if(e==null||typeof e!="object")return!1;if(Array.isArray(e))return!0;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function se(e){if(!ct(e))return e;let t=tt.get(e);if(t)return t;let r=new Proxy(e,tr);return tt.set(e,r),r}var tr={get(e,t,r){if(t===ae||t===U)return e;if(t===_e)return r;if(t===Ze)return i=>i in e;if(t==="__proxy")return!0;if(t===ke||t===Ee)return nt(e),r;let n=e[t];if(typeof n=="function"&&!Object.prototype.hasOwnProperty.call(e,t))return n;let o=Object.getOwnPropertyDescriptor(e,t);if(o&&o.get)return o.get.call(r);let s=rt(ue(e),t,n)();return ct(s)?se(s):s},set(){return!0},deleteProperty(e,t){return t in e&&H(e,t,void 0),!0},has(e,t){return t===ae||t===_e||t===U||t===Ze||t===Ee||t===ke?!0:(rt(ue(e),t,e[t])(),t in e)},ownKeys(e){return nt(e),Reflect.ownKeys(e)},getOwnPropertyDescriptor(e,t){return Reflect.getOwnPropertyDescriptor(e,t)}};function H(e,t,r){if(e[t]===r&&(r!==void 0||t in e))return;let o=Array.isArray(e),s=o?e.length:0;r===void 0?delete e[t]:e[t]=r;let i=ue(e),c=i.keys.get(t);if(c&&ot(c,r),o&&e.length!==s){let u=i.keys.get("length");u&&ot(u,e.length)}i.all&&i.all.$(void 0)}function st(e,t){return typeof e=="function"?e(t):e}function Pe(e,t){for(let r of Object.keys(t)){let n=t[r],o=e[r];n&&typeof n=="object"&&!Array.isArray(n)&&o&&typeof o=="object"&&!Array.isArray(o)?Pe(o,n):H(e,r,n)}}function Ce(e){let t=[],r=e.replace(/\[([^\]]*)\]/g,".$1");for(let n of r.split("."))n.length&&t.push(n);return t}function lt(e,t,r){let n=t.length-1;for(let s=0;s<n;s++){let i=t[s];if(i==="*"){let u=t.slice(s+1);if(Array.isArray(e))for(let p=0;p<e.length;p++)lt(e[p],u,r);return}let c=e[i];(c==null||typeof c!="object")&&(c=/^\d+$/.test(t[s+1])?[]:{},H(e,i,c)),e=c}let o=t[n];if(o==="*"){if(Array.isArray(e))for(let s=0;s<e.length;s++)H(e,s,st(r,e[s]));return}H(e,o,st(r,e[o]))}function Ae(e,t,r){lt(e,Ce(t),r)}function rr(e,t){let r=t[0];if(typeof r=="function"&&t.length===1){let n=r(e);n&&n!==e&&Pe(e,n);return}if(Array.isArray(r)&&t.length===1){for(let n of r)Array.isArray(n)&&Ae(e,n[0],n[1]);return}if(r&&typeof r=="object"&&!Array.isArray(r)&&t.length===1){Pe(e,r);return}if(Array.isArray(t[1])&&t.length>=3){Ae(e,`${r}.${t[1].join(".")}`,t[2]);return}Ae(e,String(r),t[1])}function Fe(e){if(e==null||typeof e!="object")return e;if(Array.isArray(e))return e.map(Fe);let t={};for(let r of Object.keys(e))t[r]=Fe(e[r]);return t}function D(e,t){let r=e;for(let n of Ce(t)){if(r==null)return;r=r[n]}return r}var R=class{constructor(t,r={immutable:!0}){this.options=r;this.root=t,this.set=((...n)=>it(()=>rr(this.root,n)))}get state(){return se(this.root)}get proxy(){return se(this.root)}get accessor(){return(()=>se(this.root))}unwrap(){return this.root}getNode(t){return this.root&&this.root[t]}get(t){if(t==null||t==="")return z(this.state);let r=this.state;for(let n of Ce(t)){if(r==null)return;r=r[n]}return z(r)}select(t){return Re(()=>t(this.state))}subscribe(t){return ie(()=>t(this.state))}watch(t,r){let n;return ie(()=>{let o=t(this.state);Object.is(o,n)||(r(o,n),n=o)})}reactive(t){return Re(()=>this.state[t])}produce(t){this.set((r=>{let n=Fe(r);return t(n),n}))}reconcile(t,r={}){this.set(t)}push(t,...r){let n=D(this.root,t);this.set(t,n.concat(r))}pop(t){let r=D(this.root,t).slice(),n=r.pop();return this.set(t,r),n}shift(t){let r=D(this.root,t).slice(),n=r.shift();return this.set(t,r),n}splice(t,r,n,...o){let s=D(this.root,t).slice(),i=s.splice(r,n,...o);return this.set(t,s),i}insert(t,r,n){let o=D(this.root,t).slice();o.splice(r,0,n),this.set(t,o)}removeAt(t,r){let n=D(this.root,t).slice(),o=n.splice(r,1);return this.set(t,n),o}toObservable(){let[t]=at(this.state);return t.toObservable()}dispose(){}},nr=["get","select","watch","subscribe","produce","reconcile","push","pop","shift","splice","insert","removeAt","unwrap","toObservable"];function pt(e,t){for(let r of nr)e[r]=t[r].bind(t);e.$=t.reactive.bind(t)}function ft(e,t={immutable:!0}){let r=new R(e,t);return pt(r.set,r),[r.proxy,r.set]}function dt(e,t={}){return new R(e,{...t,immutable:!1})}function or(e,t={}){let r=new R(e(),t);return ie(()=>r.set(e())),r}function sr(e,t,r){return ie(()=>r(t(e)))}function ir(e,t,r){return Re(()=>t(e),void 0,r)}function ar(e,t={}){let r=new R(e,t),n=(()=>r.proxy);return pt(n,r),n}function z(e){if(e==null||typeof e!="object")return e;let t=e[ae];return t!==void 0?t:e}function yt(e){return Qt(()=>z(e))}function ur(e){return Ie(e)}function cr(e){return Ie(e)?e[U]:null}function lr(e){return e&&typeof e=="object"&&U in e?e[U]:null}function Ie(e){return!!e&&typeof e=="object"&&(_e in e||e.__proxy===!0)}function pr(e){return e}var fr=Object.freeze({createStore:ft,createMutableStore:dt,batch:it,unwrap:z,untrackStore:yt});function De(e){if(e==null||typeof e!="object")return e;if(Array.isArray(e))return e.map(De);let t={};for(let r of Object.keys(e))t[r]=De(e[r]);return t}function dr(e){return t=>{let r=De(t);return e(r),r}}function yr(e,t={}){return()=>e}export{Zt as $NAME,U as $NODE,nn as $PROXY,ae as $RAW,Ee as $SELF,rn as $SIGNAL,er as $STORE,ke as $TRACK,M as Observable,ce as SafeSubscriber,Jt as Signal,R as Store,fr as StoreAPI,Ne as Subject,q as Subscriber,N as Subscription,ge as SuspenseContext,de as __DEV__,O as batch,gt as createComputed,or as createComputedStore,V as createContext,Vt as createDebounce,Lt as createDeferred,I as createEffect,Yt as createErrorBoundary,v as createMemo,dt as createMutableStore,At as createRenderEffect,Wt as createResource,C as createRoot,$t as createSelector,f as createSignal,ft as createStore,sr as createStoreEffect,ir as createStoreMemo,Ht as createSuspenseBoundary,Rt as flush,cr as getNode,re as getOwner,Se as getServerData,lr as getStoreNode,Br as indexArray,Dt as isComponent,Ct as isMemo,Bt as isProvider,It as isResource,ye as isSignal,ur as isStore,Ie as isStoreProxy,Ut as isSuspense,Ur as keyArray,Je as makeArrayFlat,Dr as mapArray,pr as modifiable,xe as nextResourceId,Et as on,m as onCleanup,vr as operate,dr as produceUtil,K as provide,Xt as provideErrorBoundary,zt as provideSuspense,Kt as readChildren,yr as reconcileUtil,we as reportResourceData,G as runWithOwner,We as setOwner,Mt as setResourceDataSink,qt as setResourceIdSource,jt as setResourceTracker,Nt as setServerDataGetter,Xe as startTransition,ve as trackResourcePromise,g as untrack,yt as untrackStore,z as unwrap,vt as useContext,_t as useTransition,ar as wrap};
@@ -0,0 +1 @@
1
+ "use strict";var Se=Object.defineProperty;var Qt=Object.getOwnPropertyDescriptor;var Zt=Object.getOwnPropertyNames;var er=Object.prototype.hasOwnProperty;var tr=(e,t)=>{for(var r in t)Se(e,r,{get:t[r],enumerable:!0})},rr=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Zt(t))!er.call(e,o)&&o!==r&&Se(e,o,{get:()=>t[o],enumerable:!(n=Qt(t,o))||n.enumerable});return e};var nr=e=>rr(Se({},"__esModule",{value:!0}),e);var Or={};tr(Or,{$NAME:()=>Dt,$NODE:()=>F,$PROXY:()=>vr,$RAW:()=>J,$SELF:()=>be,$SIGNAL:()=>mr,$STORE:()=>Ut,$TRACK:()=>Te,Observable:()=>B,SafeSubscriber:()=>te,Signal:()=>_t,Store:()=>_,StoreAPI:()=>zt,Subject:()=>we,Subscriber:()=>U,Subscription:()=>D,SuspenseContext:()=>ye,__DEV__:()=>ae,batch:()=>w,createComputed:()=>rt,createComputedStore:()=>Mt,createContext:()=>q,createDebounce:()=>mt,createDeferred:()=>Tt,createEffect:()=>P,createErrorBoundary:()=>gt,createMemo:()=>S,createMutableStore:()=>qe,createRenderEffect:()=>nt,createResource:()=>St,createRoot:()=>k,createSelector:()=>bt,createSignal:()=>d,createStore:()=>Ne,createStoreEffect:()=>$t,createStoreMemo:()=>Lt,createSuspenseBoundary:()=>xt,flush:()=>st,getNode:()=>Gt,getOwner:()=>z,getServerData:()=>le,getStoreNode:()=>Wt,indexArray:()=>dr,isComponent:()=>ct,isMemo:()=>at,isProvider:()=>pt,isResource:()=>ut,isSignal:()=>ue,isStore:()=>Kt,isStoreProxy:()=>ve,isSuspense:()=>lt,keyArray:()=>fr,makeArrayFlat:()=>Ee,mapArray:()=>pr,modifiable:()=>Ht,nextResourceId:()=>pe,on:()=>it,onCleanup:()=>v,operate:()=>or,produceUtil:()=>Yt,provide:()=>M,provideErrorBoundary:()=>At,provideSuspense:()=>wt,readChildren:()=>vt,reconcileUtil:()=>Xt,reportResourceData:()=>fe,runWithOwner:()=>$,setOwner:()=>Ae,setResourceDataSink:()=>ht,setResourceIdSource:()=>yt,setResourceTracker:()=>ft,setServerDataGetter:()=>dt,startTransition:()=>Re,trackResourcePromise:()=>ce,untrack:()=>O,untrackStore:()=>Me,unwrap:()=>V,useContext:()=>Ye,useTransition:()=>ot,wrap:()=>Vt});module.exports=nr(Or);var Ke=require("@fluixi/utils/object"),xe=require("@fluixi/utils/functions"),D=class e{constructor(t){this._closed=!1;this._parentOrParents=null;this._subscriptions=null;t&&(this._subscriptions=[t])}get closed(){return this._closed}unsubscribe(){if(this._closed)return;this._closed=!0;let{_parentOrParents:t,_subscriptions:r}=this;if(t instanceof e)t.remove(this);else if(t!==null)for(let n of t)n.remove(this);if(r){for(let n of r)if((0,xe.isFunction)(n)&&!(n instanceof e))try{n()}catch(o){console.error("Error in unsubscribe function:",o)}else if((0,Ke.isObject)(n)&&typeof n.unsubscribe=="function")try{n.unsubscribe()}catch(o){console.error("Error unsubscribing child:",o)}this._subscriptions=null}}add(t){if(!t||t===this)return this;if(t.closed)return this;let{_closed:r,_subscriptions:n}=this;if(r){if((0,xe.isFunction)(t))try{t()}catch(o){console.error("Error in unsubscribe function:",o)}else if(t.unsubscribe)try{t.unsubscribe()}catch(o){console.error("Error unsubscribing:",o)}return this}return n||(this._subscriptions=[]),this._subscriptions.push(t),t instanceof e&&t._addParent(this),this}remove(t){let{_subscriptions:r}=this;if(!r)return;let n=r.indexOf(t);n!==-1&&(r.splice(n,1),t._removeParent(this))}_addParent(t){let{_parentOrParents:r}=this;r?Array.isArray(r)?r.push(t):this._parentOrParents=[r,t]:this._parentOrParents=t}_removeParent(t){let{_parentOrParents:r}=this;if(r===t)this._parentOrParents=null;else if(Array.isArray(r)){let n=r.indexOf(t);n!==-1&&(r.splice(n,1),r.length===1&&(this._parentOrParents=r[0]))}}};var U=class extends D{constructor(r,n,o){super();this.isStopped=!1;let s;r?typeof r=="object"?s=r:s={next:r,error:n,complete:o}:s={},this.destination=s}next(r){if(!this.isStopped&&this.destination.next)try{this.destination.next(r)}catch(n){this.error(n)}}error(r){if(!this.isStopped){if(this.isStopped=!0,this.destination.error)try{this.destination.error(r)}catch(n){throw n}else throw r;this.unsubscribe()}}complete(){if(!this.isStopped){if(this.isStopped=!0,this.destination.complete)try{this.destination.complete()}catch(r){this.error(r);return}this.unsubscribe()}}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}},te=class extends U{constructor(r,n,o,s){super(r,n,o);this._isUnsubscribing=!1;this._parentSubscriber=null;this._parentSubscriber=s||null}next(r){if(!this.isStopped&&!this._isUnsubscribing)try{super.next(r)}catch(n){this.error(n)}}error(r){if(!this.isStopped&&!this._isUnsubscribing){this._isUnsubscribing=!0;try{super.error(r)}finally{this._isUnsubscribing=!1}}}complete(){if(!this.isStopped&&!this._isUnsubscribing){this._isUnsubscribing=!0;try{super.complete()}finally{this._isUnsubscribing=!1}}}unsubscribe(){this.closed||(this._isUnsubscribing=!0,super.unsubscribe(),this._isUnsubscribing=!1)}};function or(e){return new U(e.next,e.error,e.complete)}var B=class extends D{constructor(t){if(super(),t)this._subscribe=t;else throw new TypeError("Observable constructor requires a subscribe function")}subscribe(t,r,n){let o;t instanceof U?o=t:o=new te(t,r,n);let{_subscribe:s}=this;try{let i=s.call(this,o);i&&(typeof i=="function"||typeof i.unsubscribe=="function")&&o.add(i)}catch(i){o.error(i)}return o}pipe(...t){return t.length===0?this:t.reduce((r,n)=>n(r),this)}toPromise(){return new Promise((t,r)=>{let n;this.subscribe({next:o=>n=o,error:r,complete:()=>t(n)})})}};var we=class extends B{constructor(){super(r=>{if(this.closed)throw new Error("Subject has been closed");if(this.hasError)r.error(this.thrownError);else if(this.isStopped)r.complete();else return this.observers.push(r),()=>{let n=this.observers.indexOf(r);n!==-1&&this.observers.splice(n,1)}});this.observers=[];this.isStopped=!1;this.hasError=!1;this.thrownError=null}next(r){if(this.isStopped)return;let{observers:n}=this,o=n.length,s=n.slice();for(let i=0;i<o;i++)s[i].next?.(r)}error(r){if(this.isStopped)return;this.hasError=!0,this.thrownError=r,this.isStopped=!0;let{observers:n}=this;this.observers=[];let o=n.length,s=n.slice();for(let i=0;i<o;i++)s[i].error?.(r)}complete(){if(this.isStopped)return;this.isStopped=!0;let{observers:r}=this;this.observers=[];let n=r.length,o=r.slice();for(let s=0;s<n;s++)o[s].complete?.()}unsubscribe(){this.isStopped=!0,this.observers=[]}asObservable(){return new B(n=>this.subscribe(n))}};var sr="__fluixi_signal_next_state__",ir=e=>{typeof queueMicrotask=="function"?queueMicrotask(e):Promise.resolve().then(e)},a=globalThis[sr]??={consumer:null,untracked:!1,owner:null,queue:[],scheduled:!1,flushing:!1,batchDepth:0,hostSchedule:ir,onSuspend:null,onError:null};var Ge=0,We=1,W=2,re=class{constructor(){this.observers=null;this.watchers=null;this.version=0}updateIfNecessary(){}track(){if(a.untracked)return;let t=a.consumer;t&&((this.observers??=new Set).add(t),(t.sources??=new Set).add(this))}},j=class extends re{constructor(t,r){super(),this._value=t,this._equals=r?.equals===!1?()=>!1:r?.equals??Object.is}get(){return this.track(),this._value}set(t){if(!this._equals(this._value,t)){if(this._value=t,this.version++,this.observers)for(let r of[...this.observers])r.markDirty(W);Oe(this)}}peek(){return this._value}},A=class extends re{constructor(r,n){super();this._threw=!1;this._initialized=!1;this.state=W;this.sources=null;this._fn=r,this._equals=n?.equals===!1?()=>!1:n?.equals??Object.is}get(){if(a.consumer===this)throw new Error("Signal.Computed cannot read itself");if(this.track(),this.updateIfNecessary(),this._threw)throw this._error;return this._value}updateIfNecessary(){if(this.state===We&&this.sources){for(let r of this.sources)if(r.updateIfNecessary(),this.state===W)break}(this.state===W||!this._initialized)&&this.recompute(),this.state=Ge}recompute(){if(this.sources){for(let u of this.sources)u.observers?.delete(this);this.sources.clear()}let r=a.consumer,n=a.untracked;a.consumer=this,a.untracked=!1;let o,s=!1,i;try{o=this._fn()}catch(u){s=!0,i=u,o=this._value}finally{a.consumer=r,a.untracked=n}let c=!this._initialized||this._threw!==s||(s?i!==this._error:!this._equals(this._value,o));if(this._initialized=!0,this._threw=s,this._error=i,this._value=o,c){if(this.version++,this.observers)for(let u of[...this.observers])u.markDirty(W);Oe(this)}}markDirty(r){if(this.state>=r)return;let n=this.state===Ge;if(this.state=r,n){if(this.observers)for(let o of[...this.observers])o.markDirty(We);Oe(this)}}peek(){if(this.updateIfNecessary(),this._threw)throw this._error;return this._value}};function Oe(e){if(e.watchers)for(let t of[...e.watchers])t._notify(e)}var N=class{constructor(t){this._watched=new Set;this._pending=new Set;this._notifyFn=t}watch(...t){for(let r of t)this._watched.add(r),(r.watchers??=new Set).add(this)}unwatch(...t){for(let r of t)this._watched.delete(r),r.watchers?.delete(this),this._pending.delete(r)}getPending(){let t=[...this._pending];return this._pending.clear(),t}_notify(t){if(!this._watched.has(t)||this._pending.has(t))return;let r=this._pending.size===0;this._pending.add(t),r&&this._notifyFn()}};function H(e){if(a.untracked)return e();a.untracked=!0;try{return e()}finally{a.untracked=!1}}function He(){return a.consumer}function ze(e){return!!(e.observers&&e.observers.size)||!!(e.watchers&&e.watchers.size)}function oe(e){return{cleanups:null,owned:null,parent:e,contexts:null}}function q(e){let t=Symbol("context");return{id:t,defaultValue:e,Provider:n=>{let o=a.owner,s=oe(o);(s.contexts=new Map).set(t,n.value),o&&(o.owned??=[]).push(s),a.owner=s;try{return n.children}finally{a.owner=o}}}}function Ye(e){let t=a.owner;for(;t;){if(t.contexts&&t.contexts.has(e.id))return t.contexts.get(e.id);t=t.parent}return e.defaultValue}function se(e,t){let r=e;for(;r;){if(r.contexts&&r.contexts.has(t.id))return r.contexts.get(t.id);r=r.parent}return t.defaultValue}function M(e,t,r){let n=oe(a.owner);(n.contexts=new Map).set(e.id,t),a.owner&&(a.owner.owned??=[]).push(n);let o=a.owner;a.owner=n;try{return r()}finally{a.owner=o}}function Xe(e){a.onSuspend=e}function Je(e){return a.onSuspend?(a.onSuspend(e,a.owner),!0):!1}function Qe(e){a.onError=e}function z(){return a.owner}function Ae(e){let t=a.owner;return a.owner=e,t}function $(e,t){let r=a.owner;a.owner=e;try{return t()}finally{a.owner=r}}function v(e){a.owner&&(a.owner.cleanups??=[]).push(e)}function ne(e){if(e.owned){for(let t=e.owned.length-1;t>=0;t--)ne(e.owned[t]);e.owned=null}if(e.cleanups){for(let t=e.cleanups.length-1;t>=0;t--)e.cleanups[t]();e.cleanups=null}}function k(e){let t=oe(a.owner);a.owner&&(a.owner.owned??=[]).push(t);let r=a.owner;a.owner=t;try{return e(()=>ne(t))}finally{a.owner=r}}function Ze(e){a.hostSchedule=e??(t=>{Promise.resolve().then(t)})}function ar(e){e.queued||(e.queued=!0,a.queue.push(e),!a.scheduled&&a.batchDepth===0&&(a.scheduled=!0,a.hostSchedule(Y)))}function Y(){if(a.scheduled=!1,a.flushing)return;a.flushing=!0;let e=0;try{for(;a.queue.length;){if(++e>1e5)throw new Error("[fluixi] effect flush did not settle (cycle?)");let t=a.queue;a.queue=[];for(let r of t)r.queued=!1,r.disposed||r.run()}}finally{a.flushing=!1}}function et(){a.batchDepth===0&&Y()}function _e(e){a.batchDepth++;try{return e()}finally{--a.batchDepth===0&&Y()}}var ge=class{constructor(t){this.queued=!1;this.disposed=!1;this.owner=oe(a.owner),a.owner&&(a.owner.cleanups??=[]).push(()=>this.dispose()),this.computed=new A(()=>{ne(this.owner),$(this.owner,()=>{let r=t();typeof r=="function"&&(this.owner.cleanups??=[]).push(r)})}),this.watcher=new N(()=>ar(this)),this.run(),this.watcher.watch(this.computed)}run(){if(!this.disposed){this.watcher.getPending();try{this.computed.get()}catch(t){if(t&&typeof t.then=="function"&&a.onSuspend){a.onSuspend(t,this.owner);return}if(a.onError&&a.onError(t,this.owner))return;throw t}}}dispose(){this.disposed||(this.disposed=!0,this.watcher.unwatch(this.computed),ne(this.owner))}};function ie(e){let t=new ge(e);return()=>t.dispose()}function ur(e){return!!e&&typeof e.then=="function"}Ze(()=>{});var tt=Symbol.for("signal"),cr=Symbol.for("memo"),lr=Symbol.for("signal-node");function d(e,t){let r=new j(e,{equals:t?.equals}),n=(()=>r.get()),o=(s=>{let i=typeof s=="function"?s(r.peek()):s;return r.set(i),et(),i});return Object.defineProperty(n,tt,{value:!0,enumerable:!0}),Object.defineProperty(n,lr,{value:{get value(){return r.peek()},get version(){return r.version}},enumerable:!1}),[n,o]}function S(e,t,r){let n=t,o=z(),s=new A(()=>$(o,()=>{try{return n=e(n)}catch(c){if(ur(c))return Je(c),n;throw c}}),{equals:r?.equals}),i=(()=>s.get());return Object.defineProperty(i,tt,{value:!0,enumerable:!0}),Object.defineProperty(i,cr,{value:!0,enumerable:!0}),i}function P(e,t){let r=t;return ie(()=>{r=e(r)})}function rt(e,t){let r=t;ie(()=>{r=e(r)})}function nt(e,t){let r=t;return ie(()=>{r=e(r)})}function w(e){return _e(e)}function O(e){return H(e)}function Re(e){return _e(e),Promise.resolve()}function ot(){return[()=>!1,Re]}function st(){return Y(),Promise.resolve()}function it(e,t,r){let n=Array.isArray(e),o,s=r?.defer??!1;return i=>{let c=n?e.map(f=>f()):e();if(s){s=!1,o=c;return}let u=H(()=>t(c,o,i));return o=c,u}}function pr(e,t,r){let n=[];return v(()=>{for(let o of n)o.dispose();n=[]}),S(()=>{let o=e()||[];return O(()=>{if(o.length===0){for(let u of n)u.dispose();return n=[],r?.fallback?r.fallback():[]}let s=new Map;for(let u of n)s.has(u.item)||s.set(u.item,u);let i=[],c=new Set;for(let u=0;u<o.length;u++){let f=o[u],y=s.get(f);if(y&&!c.has(y))y.setIndex(u),i.push(y),c.add(y);else{let l,h,b;k(T=>{b=T;let[C,K]=d(u);h=K,l=t(f,C)});let x={item:f,rendered:l,dispose:b,setIndex:h};i.push(x),c.add(x)}}for(let u of n)c.has(u)||u.dispose();return n=i,i.map(u=>u.rendered)})})}function fr(e,t,r,n){let o=[],s=[];return v(()=>{for(let i of s)i.dispose();o=[],s=[]}),S(()=>{let i=e()||[];return O(()=>{if(i.length===0){for(let l of s)l.dispose();return o=[],s=[],n?.fallback?n.fallback():[]}let c=new Map;for(let l=0;l<o.length;l++)c.set(o[l],s[l]);let u=[],f=[],y=new Set;for(let l=0;l<i.length;l++){let h=t(i[l]),b=c.get(h);if(b&&!y.has(h))b.setIndex(l),u.push(b);else{let x,T,C;k(K=>{C=K;let[R,G]=d(l);T=G;let Q=S(I=>{let g=(e()||[])[R()];return g??I},i[l]);x=r(Q,R)}),u.push({rendered:x,dispose:C,setIndex:T})}f.push(h),y.add(h)}for(let[l,h]of c)y.has(l)||h.dispose();return o=f,s=u,u.map(l=>l.rendered)})})}function dr(e,t,r){let n=[];return v(()=>{for(let o of n)o.dispose();n=[]}),S(()=>{let o=e()||[];return O(()=>{if(o.length===0){for(let u of n)u.dispose();return n=[],r?.fallback?r.fallback():[]}let s=n.length,i=o.length;for(let u=s;u<i;u++){let f,y,l,h=o[u];k(b=>{l=b;let[x,T]=d(h);y=T,f=t(x,u)}),n.push({rendered:f,setItem:y,dispose:l})}for(let u=i;u<s;u++)n[u].dispose();i<s&&(n=n.slice(0,i));let c=Math.min(s,i);for(let u=0;u<c;u++)n[u].setItem(o[u]);return n.map(u=>u.rendered)})})}var ae=!1,yr=Symbol.for("signal"),hr=Symbol.for("memo"),br=Symbol.for("resource");function ue(e){return typeof e=="function"&&e[yr]===!0}function at(e){return typeof e=="function"&&e[hr]===!0}function ut(e){return typeof e=="function"&&e[br]===!0}function ct(e){return typeof e=="function"&&e[Symbol.for("fluixi-component")]===!0}function lt(e){return typeof e=="function"&&e[Symbol.for("fluixi-suspense")]===!0}function pt(e){return typeof e=="function"&&e[Symbol.for("fluixi-provider")]===!0}function Ee(e){return Array.isArray(e)?e.length===2&&e[1]===" "?Array.isArray(e[0])?Ee(e[0]):(typeof e[0]=="function",e[0]):e.length===1&&typeof e[0]=="function"?e[0]:e:e}var ke=null;function ft(e){ke=e}function ce(e){ke&&ke(e)}var Pe=null;function dt(e){Pe=e}function le(e){return Pe?Pe(e):void 0}var Fe=null;function yt(e){Fe=e}function pe(){return Fe?Fe():void 0}var Ce=null;function ht(e){Ce=e}function fe(e,t){Ce&&Ce(e,t)}function bt(e,t=(r,n)=>r===n){let r=new Map;return P(()=>{let n=e();for(let[o,s]of r){let[i,c]=s,u=t(o,n);i()!==u&&c(u)}}),n=>{let o=r.get(n);if(!o){let[s,i]=d(!1);o=[s,i],r.set(n,o);let c=e();i(t(n,c))}return o[0]()}}function Tt(e,t){let[r,n]=d(e(),t);return P(()=>{let o=e();t?.timeoutMs?setTimeout(()=>n(()=>o),t.timeoutMs):typeof requestIdleCallback=="function"?requestIdleCallback(()=>n(()=>o)):Promise.resolve().then(()=>n(()=>o))}),r}function mt(e,t){let r,n=(...o)=>{r!==void 0&&clearTimeout(r),r=setTimeout(()=>{if(r=void 0,o.length>0){let s=o[o.length-1];typeof s=="object"&&s&&!s.tagName&&s.target&&s.target.tagName&&(s=s.target),s&&typeof s=="object"&&s.tagName&&(s.tagName.toLowerCase()==="input"||s.tagName.toLowerCase()==="textarea")&&s.focus()}e(...o)},t)};return v(()=>{r!==void 0&&clearTimeout(r)}),n}function de(e){if(typeof e=="function"&&!e.length){let t=e();return ue(t)?t:de(t)}if(Array.isArray(e)){let t=[];for(let r=0;r<e.length;r++){let n=de(e[r]);Array.isArray(n)?t.push.apply(t,n):t.push(n)}return t}return e}function vt(e){let t=S(e);return S(()=>de(t()))}function Tr(e){return!!e&&typeof e.then=="function"}var Ie=Symbol();function St(e,t,r={}){let n,o;typeof t=="function"?(n=typeof e=="function"?e:()=>e,o=t):(n=()=>!0,o=e,t&&typeof t=="object"&&(r=t));let s=pe(),i=s!==void 0?le(s):void 0,c=i!==void 0,[u,f]=d(i!==void 0?i.value:r.initialValue,{equals:!1}),[y,l]=d(void 0,{equals:!1}),[h,b]=d(i!==void 0||r.initialValue!==void 0?"ready":"unresolved",{equals:!1}),[x,T]=d(void 0,{equals:!1}),[C,K]=d(void 0,{equals:!1}),R=Ie,G=!1;P(()=>{let m=n();if(C(),m===!1||m===null||m===void 0){R=Ie,w(()=>{b("unresolved"),T(void 0),l(void 0)});return}let g=G;if(G=!1,R!==Ie&&m===R&&!g)return;if(R=m,c){c=!1;return}let Z=!1;v(()=>Z=!0);let Le=O(h),Jt=O(u),Ve=Le==="ready"||Le==="refreshing";w(()=>{b(Ve?"refreshing":"pending"),l(void 0)});try{let E=o(m,{value:Jt,refetching:Ve});Tr(E)?(T(E),ce(E),E.then(ee=>{Z||(s!==void 0&&fe(s,ee),w(()=>{f(()=>ee),b("ready"),T(void 0)}))},ee=>{Z||w(()=>{l(ee),b("errored"),T(void 0)})})):w(()=>{f(()=>E),b("ready"),T(void 0)})}catch(E){if(Z)return;w(()=>{l(E),b("errored"),T(void 0)})}});let Q=()=>{let m=h();return m==="pending"||m==="refreshing"},I=(()=>{let m=y();if(m)throw m;if(Q()){let g=x();if(g)throw g}return u()});return Object.defineProperties(I,{state:{get:h},loading:{get:Q},error:{get:y},latest:{get:u}}),Object.defineProperty(I,Symbol.for("resource"),{value:!0,enumerable:!0}),Object.defineProperty(I,Symbol.for("signal"),{value:!0,enumerable:!0}),[I,{mutate:f,refetch:()=>{G=!0,K(void 0)}}]}var ye=q();Xe((e,t)=>{let r=se(t,ye);r&&(r.increment(),e.finally(()=>r.decrement()))});function xt(){let[e,t]=d(0),r=0;return{increment:()=>t(r+=1),decrement:()=>t(r-=1),inFallback:()=>e()>0}}function wt(e,t){return M(ye,e,t)}var Ot=q();Qe((e,t)=>{let r=se(t,Ot);return r?(r.setError(e),!0):!1});function gt(){let[e,t]=d(void 0,{equals:!1});return{error:e,reset:()=>t(()=>{}),setError:n=>t(()=>n)}}function At(e,t){return M(Ot,e,t)}var _t={State:j,Computed:A,subtle:{Watcher:N,untrack:H,currentComputed:He,hasSinks:ze}};var mr=Symbol.for("signal"),vr=Symbol.for("fluixi-proxy");var p=require("@fluixi/reactive/signal"),J=Symbol("store-raw"),F=Symbol("store-node"),Rt=Symbol("store-has"),be=Symbol("store-self"),Te=Symbol("store-track"),Dt=Symbol("store-name"),Ut=Symbol("store-store"),Et=new WeakMap,kt=new WeakMap;function Bt(e){let[t,r]=(0,p.createSignal)(e),n=t;return n.$=r,n}function me(e){let t=Et.get(e);return t||Et.set(e,t={keys:new Map}),t}function Pt(e,t,r){let n=e.keys.get(t);return n||e.keys.set(t,n=Bt(r)),n}function Ft(e){let t=me(e);(t.all||(t.all=Bt()))()}function Ct(e,t){e.$(typeof t=="function"?()=>t:t)}function jt(e){if(e==null||typeof e!="object")return!1;if(Array.isArray(e))return!0;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function he(e){if(!jt(e))return e;let t=kt.get(e);if(t)return t;let r=new Proxy(e,Sr);return kt.set(e,r),r}var Sr={get(e,t,r){if(t===J||t===F)return e;if(t===p.$PROXY)return r;if(t===Rt)return i=>i in e;if(t==="__proxy")return!0;if(t===Te||t===be)return Ft(e),r;let n=e[t];if(typeof n=="function"&&!Object.prototype.hasOwnProperty.call(e,t))return n;let o=Object.getOwnPropertyDescriptor(e,t);if(o&&o.get)return o.get.call(r);let s=Pt(me(e),t,n)();return jt(s)?he(s):s},set(){return!0},deleteProperty(e,t){return t in e&&X(e,t,void 0),!0},has(e,t){return t===J||t===p.$PROXY||t===F||t===Rt||t===be||t===Te?!0:(Pt(me(e),t,e[t])(),t in e)},ownKeys(e){return Ft(e),Reflect.ownKeys(e)},getOwnPropertyDescriptor(e,t){return Reflect.getOwnPropertyDescriptor(e,t)}};function X(e,t,r){if(e[t]===r&&(r!==void 0||t in e))return;let o=Array.isArray(e),s=o?e.length:0;r===void 0?delete e[t]:e[t]=r;let i=me(e),c=i.keys.get(t);if(c&&Ct(c,r),o&&e.length!==s){let u=i.keys.get("length");u&&Ct(u,e.length)}i.all&&i.all.$(void 0)}function It(e,t){return typeof e=="function"?e(t):e}function Ue(e,t){for(let r of Object.keys(t)){let n=t[r],o=e[r];n&&typeof n=="object"&&!Array.isArray(n)&&o&&typeof o=="object"&&!Array.isArray(o)?Ue(o,n):X(e,r,n)}}function je(e){let t=[],r=e.replace(/\[([^\]]*)\]/g,".$1");for(let n of r.split("."))n.length&&t.push(n);return t}function Nt(e,t,r){let n=t.length-1;for(let s=0;s<n;s++){let i=t[s];if(i==="*"){let u=t.slice(s+1);if(Array.isArray(e))for(let f=0;f<e.length;f++)Nt(e[f],u,r);return}let c=e[i];(c==null||typeof c!="object")&&(c=/^\d+$/.test(t[s+1])?[]:{},X(e,i,c)),e=c}let o=t[n];if(o==="*"){if(Array.isArray(e))for(let s=0;s<e.length;s++)X(e,s,It(r,e[s]));return}X(e,o,It(r,e[o]))}function De(e,t,r){Nt(e,je(t),r)}function xr(e,t){let r=t[0];if(typeof r=="function"&&t.length===1){let n=r(e);n&&n!==e&&Ue(e,n);return}if(Array.isArray(r)&&t.length===1){for(let n of r)Array.isArray(n)&&De(e,n[0],n[1]);return}if(r&&typeof r=="object"&&!Array.isArray(r)&&t.length===1){Ue(e,r);return}if(Array.isArray(t[1])&&t.length>=3){De(e,`${r}.${t[1].join(".")}`,t[2]);return}De(e,String(r),t[1])}function Be(e){if(e==null||typeof e!="object")return e;if(Array.isArray(e))return e.map(Be);let t={};for(let r of Object.keys(e))t[r]=Be(e[r]);return t}function L(e,t){let r=e;for(let n of je(t)){if(r==null)return;r=r[n]}return r}var _=class{constructor(t,r={immutable:!0}){this.options=r;this.root=t,this.set=((...n)=>(0,p.batch)(()=>xr(this.root,n)))}get state(){return he(this.root)}get proxy(){return he(this.root)}get accessor(){return(()=>he(this.root))}unwrap(){return this.root}getNode(t){return this.root&&this.root[t]}get(t){if(t==null||t==="")return V(this.state);let r=this.state;for(let n of je(t)){if(r==null)return;r=r[n]}return V(r)}select(t){return(0,p.createMemo)(()=>t(this.state))}subscribe(t){return(0,p.createEffect)(()=>t(this.state))}watch(t,r){let n;return(0,p.createEffect)(()=>{let o=t(this.state);Object.is(o,n)||(r(o,n),n=o)})}reactive(t){return(0,p.createMemo)(()=>this.state[t])}produce(t){this.set((r=>{let n=Be(r);return t(n),n}))}reconcile(t,r={}){this.set(t)}push(t,...r){let n=L(this.root,t);this.set(t,n.concat(r))}pop(t){let r=L(this.root,t).slice(),n=r.pop();return this.set(t,r),n}shift(t){let r=L(this.root,t).slice(),n=r.shift();return this.set(t,r),n}splice(t,r,n,...o){let s=L(this.root,t).slice(),i=s.splice(r,n,...o);return this.set(t,s),i}insert(t,r,n){let o=L(this.root,t).slice();o.splice(r,0,n),this.set(t,o)}removeAt(t,r){let n=L(this.root,t).slice(),o=n.splice(r,1);return this.set(t,n),o}toObservable(){let[t]=(0,p.createSignal)(this.state);return t.toObservable()}dispose(){}},wr=["get","select","watch","subscribe","produce","reconcile","push","pop","shift","splice","insert","removeAt","unwrap","toObservable"];function qt(e,t){for(let r of wr)e[r]=t[r].bind(t);e.$=t.reactive.bind(t)}function Ne(e,t={immutable:!0}){let r=new _(e,t);return qt(r.set,r),[r.proxy,r.set]}function qe(e,t={}){return new _(e,{...t,immutable:!1})}function Mt(e,t={}){let r=new _(e(),t);return(0,p.createEffect)(()=>r.set(e())),r}function $t(e,t,r){return(0,p.createEffect)(()=>r(t(e)))}function Lt(e,t,r){return(0,p.createMemo)(()=>t(e),void 0,r)}function Vt(e,t={}){let r=new _(e,t),n=(()=>r.proxy);return qt(n,r),n}function V(e){if(e==null||typeof e!="object")return e;let t=e[J];return t!==void 0?t:e}function Me(e){return(0,p.untrack)(()=>V(e))}function Kt(e){return ve(e)}function Gt(e){return ve(e)?e[F]:null}function Wt(e){return e&&typeof e=="object"&&F in e?e[F]:null}function ve(e){return!!e&&typeof e=="object"&&(p.$PROXY in e||e.__proxy===!0)}function Ht(e){return e}var zt=Object.freeze({createStore:Ne,createMutableStore:qe,batch:p.batch,unwrap:V,untrackStore:Me});function $e(e){if(e==null||typeof e!="object")return e;if(Array.isArray(e))return e.map($e);let t={};for(let r of Object.keys(e))t[r]=$e(e[r]);return t}function Yt(e){return t=>{let r=$e(t);return e(r),r}}function Xt(e,t={}){return()=>e}
@@ -0,0 +1,5 @@
1
+ export * from './observable/index.js';
2
+ export * from './subject.js';
3
+ export * from './signal/index.js';
4
+ export * from './store/index.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './observable/index.js';
2
+ export * from './subject.js';
3
+ export * from './signal/index.js';
4
+ export * from './store/index.js';
@@ -0,0 +1 @@
1
+ import{isObject as bt}from"@fluixi/utils/object";import{isFunction as je}from"@fluixi/utils/functions";var N=class e{constructor(t){this._closed=!1;this._parentOrParents=null;this._subscriptions=null;t&&(this._subscriptions=[t])}get closed(){return this._closed}unsubscribe(){if(this._closed)return;this._closed=!0;let{_parentOrParents:t,_subscriptions:r}=this;if(t instanceof e)t.remove(this);else if(t!==null)for(let n of t)n.remove(this);if(r){for(let n of r)if(je(n)&&!(n instanceof e))try{n()}catch(o){console.error("Error in unsubscribe function:",o)}else if(bt(n)&&typeof n.unsubscribe=="function")try{n.unsubscribe()}catch(o){console.error("Error unsubscribing child:",o)}this._subscriptions=null}}add(t){if(!t||t===this)return this;if(t.closed)return this;let{_closed:r,_subscriptions:n}=this;if(r){if(je(t))try{t()}catch(o){console.error("Error in unsubscribe function:",o)}else if(t.unsubscribe)try{t.unsubscribe()}catch(o){console.error("Error unsubscribing:",o)}return this}return n||(this._subscriptions=[]),this._subscriptions.push(t),t instanceof e&&t._addParent(this),this}remove(t){let{_subscriptions:r}=this;if(!r)return;let n=r.indexOf(t);n!==-1&&(r.splice(n,1),t._removeParent(this))}_addParent(t){let{_parentOrParents:r}=this;r?Array.isArray(r)?r.push(t):this._parentOrParents=[r,t]:this._parentOrParents=t}_removeParent(t){let{_parentOrParents:r}=this;if(r===t)this._parentOrParents=null;else if(Array.isArray(r)){let n=r.indexOf(t);n!==-1&&(r.splice(n,1),r.length===1&&(this._parentOrParents=r[0]))}}};var q=class extends N{constructor(r,n,o){super();this.isStopped=!1;let s;r?typeof r=="object"?s=r:s={next:r,error:n,complete:o}:s={},this.destination=s}next(r){if(!this.isStopped&&this.destination.next)try{this.destination.next(r)}catch(n){this.error(n)}}error(r){if(!this.isStopped){if(this.isStopped=!0,this.destination.error)try{this.destination.error(r)}catch(n){throw n}else throw r;this.unsubscribe()}}complete(){if(!this.isStopped){if(this.isStopped=!0,this.destination.complete)try{this.destination.complete()}catch(r){this.error(r);return}this.unsubscribe()}}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}},ce=class extends q{constructor(r,n,o,s){super(r,n,o);this._isUnsubscribing=!1;this._parentSubscriber=null;this._parentSubscriber=s||null}next(r){if(!this.isStopped&&!this._isUnsubscribing)try{super.next(r)}catch(n){this.error(n)}}error(r){if(!this.isStopped&&!this._isUnsubscribing){this._isUnsubscribing=!0;try{super.error(r)}finally{this._isUnsubscribing=!1}}}complete(){if(!this.isStopped&&!this._isUnsubscribing){this._isUnsubscribing=!0;try{super.complete()}finally{this._isUnsubscribing=!1}}}unsubscribe(){this.closed||(this._isUnsubscribing=!0,super.unsubscribe(),this._isUnsubscribing=!1)}};function vr(e){return new q(e.next,e.error,e.complete)}var M=class extends N{constructor(t){if(super(),t)this._subscribe=t;else throw new TypeError("Observable constructor requires a subscribe function")}subscribe(t,r,n){let o;t instanceof q?o=t:o=new ce(t,r,n);let{_subscribe:s}=this;try{let i=s.call(this,o);i&&(typeof i=="function"||typeof i.unsubscribe=="function")&&o.add(i)}catch(i){o.error(i)}return o}pipe(...t){return t.length===0?this:t.reduce((r,n)=>n(r),this)}toPromise(){return new Promise((t,r)=>{let n;this.subscribe({next:o=>n=o,error:r,complete:()=>t(n)})})}};var Ne=class extends M{constructor(){super(r=>{if(this.closed)throw new Error("Subject has been closed");if(this.hasError)r.error(this.thrownError);else if(this.isStopped)r.complete();else return this.observers.push(r),()=>{let n=this.observers.indexOf(r);n!==-1&&this.observers.splice(n,1)}});this.observers=[];this.isStopped=!1;this.hasError=!1;this.thrownError=null}next(r){if(this.isStopped)return;let{observers:n}=this,o=n.length,s=n.slice();for(let i=0;i<o;i++)s[i].next?.(r)}error(r){if(this.isStopped)return;this.hasError=!0,this.thrownError=r,this.isStopped=!0;let{observers:n}=this;this.observers=[];let o=n.length,s=n.slice();for(let i=0;i<o;i++)s[i].error?.(r)}complete(){if(this.isStopped)return;this.isStopped=!0;let{observers:r}=this;this.observers=[];let n=r.length,o=r.slice();for(let s=0;s<n;s++)o[s].complete?.()}unsubscribe(){this.isStopped=!0,this.observers=[]}asObservable(){return new M(n=>this.subscribe(n))}};var Tt="__fluixi_signal_next_state__",mt=e=>{typeof queueMicrotask=="function"?queueMicrotask(e):Promise.resolve().then(e)},a=globalThis[Tt]??={consumer:null,untracked:!1,owner:null,queue:[],scheduled:!1,flushing:!1,batchDepth:0,hostSchedule:mt,onSuspend:null,onError:null};var qe=0,Me=1,$=2,Q=class{constructor(){this.observers=null;this.watchers=null;this.version=0}updateIfNecessary(){}track(){if(a.untracked)return;let t=a.consumer;t&&((this.observers??=new Set).add(t),(t.sources??=new Set).add(this))}},P=class extends Q{constructor(t,r){super(),this._value=t,this._equals=r?.equals===!1?()=>!1:r?.equals??Object.is}get(){return this.track(),this._value}set(t){if(!this._equals(this._value,t)){if(this._value=t,this.version++,this.observers)for(let r of[...this.observers])r.markDirty($);le(this)}}peek(){return this._value}},w=class extends Q{constructor(r,n){super();this._threw=!1;this._initialized=!1;this.state=$;this.sources=null;this._fn=r,this._equals=n?.equals===!1?()=>!1:n?.equals??Object.is}get(){if(a.consumer===this)throw new Error("Signal.Computed cannot read itself");if(this.track(),this.updateIfNecessary(),this._threw)throw this._error;return this._value}updateIfNecessary(){if(this.state===Me&&this.sources){for(let r of this.sources)if(r.updateIfNecessary(),this.state===$)break}(this.state===$||!this._initialized)&&this.recompute(),this.state=qe}recompute(){if(this.sources){for(let u of this.sources)u.observers?.delete(this);this.sources.clear()}let r=a.consumer,n=a.untracked;a.consumer=this,a.untracked=!1;let o,s=!1,i;try{o=this._fn()}catch(u){s=!0,i=u,o=this._value}finally{a.consumer=r,a.untracked=n}let c=!this._initialized||this._threw!==s||(s?i!==this._error:!this._equals(this._value,o));if(this._initialized=!0,this._threw=s,this._error=i,this._value=o,c){if(this.version++,this.observers)for(let u of[...this.observers])u.markDirty($);le(this)}}markDirty(r){if(this.state>=r)return;let n=this.state===qe;if(this.state=r,n){if(this.observers)for(let o of[...this.observers])o.markDirty(Me);le(this)}}peek(){if(this.updateIfNecessary(),this._threw)throw this._error;return this._value}};function le(e){if(e.watchers)for(let t of[...e.watchers])t._notify(e)}var F=class{constructor(t){this._watched=new Set;this._pending=new Set;this._notifyFn=t}watch(...t){for(let r of t)this._watched.add(r),(r.watchers??=new Set).add(this)}unwatch(...t){for(let r of t)this._watched.delete(r),r.watchers?.delete(this),this._pending.delete(r)}getPending(){let t=[...this._pending];return this._pending.clear(),t}_notify(t){if(!this._watched.has(t)||this._pending.has(t))return;let r=this._pending.size===0;this._pending.add(t),r&&this._notifyFn()}};function L(e){if(a.untracked)return e();a.untracked=!0;try{return e()}finally{a.untracked=!1}}function $e(){return a.consumer}function Le(e){return!!(e.observers&&e.observers.size)||!!(e.watchers&&e.watchers.size)}function ee(e){return{cleanups:null,owned:null,parent:e,contexts:null}}function V(e){let t=Symbol("context");return{id:t,defaultValue:e,Provider:n=>{let o=a.owner,s=ee(o);(s.contexts=new Map).set(t,n.value),o&&(o.owned??=[]).push(s),a.owner=s;try{return n.children}finally{a.owner=o}}}}function vt(e){let t=a.owner;for(;t;){if(t.contexts&&t.contexts.has(e.id))return t.contexts.get(e.id);t=t.parent}return e.defaultValue}function te(e,t){let r=e;for(;r;){if(r.contexts&&r.contexts.has(t.id))return r.contexts.get(t.id);r=r.parent}return t.defaultValue}function K(e,t,r){let n=ee(a.owner);(n.contexts=new Map).set(e.id,t),a.owner&&(a.owner.owned??=[]).push(n);let o=a.owner;a.owner=n;try{return r()}finally{a.owner=o}}function Ve(e){a.onSuspend=e}function Ke(e){return a.onSuspend?(a.onSuspend(e,a.owner),!0):!1}function Ge(e){a.onError=e}function re(){return a.owner}function We(e){let t=a.owner;return a.owner=e,t}function G(e,t){let r=a.owner;a.owner=e;try{return t()}finally{a.owner=r}}function m(e){a.owner&&(a.owner.cleanups??=[]).push(e)}function Z(e){if(e.owned){for(let t=e.owned.length-1;t>=0;t--)Z(e.owned[t]);e.owned=null}if(e.cleanups){for(let t=e.cleanups.length-1;t>=0;t--)e.cleanups[t]();e.cleanups=null}}function C(e){let t=ee(a.owner);a.owner&&(a.owner.owned??=[]).push(t);let r=a.owner;a.owner=t;try{return e(()=>Z(t))}finally{a.owner=r}}function He(e){a.hostSchedule=e??(t=>{Promise.resolve().then(t)})}function St(e){e.queued||(e.queued=!0,a.queue.push(e),!a.scheduled&&a.batchDepth===0&&(a.scheduled=!0,a.hostSchedule(W)))}function W(){if(a.scheduled=!1,a.flushing)return;a.flushing=!0;let e=0;try{for(;a.queue.length;){if(++e>1e5)throw new Error("[fluixi] effect flush did not settle (cycle?)");let t=a.queue;a.queue=[];for(let r of t)r.queued=!1,r.disposed||r.run()}}finally{a.flushing=!1}}function ze(){a.batchDepth===0&&W()}function fe(e){a.batchDepth++;try{return e()}finally{--a.batchDepth===0&&W()}}var pe=class{constructor(t){this.queued=!1;this.disposed=!1;this.owner=ee(a.owner),a.owner&&(a.owner.cleanups??=[]).push(()=>this.dispose()),this.computed=new w(()=>{Z(this.owner),G(this.owner,()=>{let r=t();typeof r=="function"&&(this.owner.cleanups??=[]).push(r)})}),this.watcher=new F(()=>St(this)),this.run(),this.watcher.watch(this.computed)}run(){if(!this.disposed){this.watcher.getPending();try{this.computed.get()}catch(t){if(t&&typeof t.then=="function"&&a.onSuspend){a.onSuspend(t,this.owner);return}if(a.onError&&a.onError(t,this.owner))return;throw t}}}dispose(){this.disposed||(this.disposed=!0,this.watcher.unwatch(this.computed),Z(this.owner))}};function ne(e){let t=new pe(e);return()=>t.dispose()}function xt(e){return!!e&&typeof e.then=="function"}He(()=>{});var Ye=Symbol.for("signal"),wt=Symbol.for("memo"),Ot=Symbol.for("signal-node");function f(e,t){let r=new P(e,{equals:t?.equals}),n=(()=>r.get()),o=(s=>{let i=typeof s=="function"?s(r.peek()):s;return r.set(i),ze(),i});return Object.defineProperty(n,Ye,{value:!0,enumerable:!0}),Object.defineProperty(n,Ot,{value:{get value(){return r.peek()},get version(){return r.version}},enumerable:!1}),[n,o]}function v(e,t,r){let n=t,o=re(),s=new w(()=>G(o,()=>{try{return n=e(n)}catch(c){if(xt(c))return Ke(c),n;throw c}}),{equals:r?.equals}),i=(()=>s.get());return Object.defineProperty(i,Ye,{value:!0,enumerable:!0}),Object.defineProperty(i,wt,{value:!0,enumerable:!0}),i}function I(e,t){let r=t;return ne(()=>{r=e(r)})}function gt(e,t){let r=t;ne(()=>{r=e(r)})}function At(e,t){let r=t;return ne(()=>{r=e(r)})}function O(e){return fe(e)}function g(e){return L(e)}function Xe(e){return fe(e),Promise.resolve()}function _t(){return[()=>!1,Xe]}function Rt(){return W(),Promise.resolve()}function Et(e,t,r){let n=Array.isArray(e),o,s=r?.defer??!1;return i=>{let c=n?e.map(p=>p()):e();if(s){s=!1,o=c;return}let u=L(()=>t(c,o,i));return o=c,u}}function Dr(e,t,r){let n=[];return m(()=>{for(let o of n)o.dispose();n=[]}),v(()=>{let o=e()||[];return g(()=>{if(o.length===0){for(let u of n)u.dispose();return n=[],r?.fallback?r.fallback():[]}let s=new Map;for(let u of n)s.has(u.item)||s.set(u.item,u);let i=[],c=new Set;for(let u=0;u<o.length;u++){let p=o[u],d=s.get(p);if(d&&!c.has(d))d.setIndex(u),i.push(d),c.add(d);else{let l,y,h;C(b=>{h=b;let[E,B]=f(u);y=B,l=t(p,E)});let S={item:p,rendered:l,dispose:h,setIndex:y};i.push(S),c.add(S)}}for(let u of n)c.has(u)||u.dispose();return n=i,i.map(u=>u.rendered)})})}function Ur(e,t,r,n){let o=[],s=[];return m(()=>{for(let i of s)i.dispose();o=[],s=[]}),v(()=>{let i=e()||[];return g(()=>{if(i.length===0){for(let l of s)l.dispose();return o=[],s=[],n?.fallback?n.fallback():[]}let c=new Map;for(let l=0;l<o.length;l++)c.set(o[l],s[l]);let u=[],p=[],d=new Set;for(let l=0;l<i.length;l++){let y=t(i[l]),h=c.get(y);if(h&&!d.has(y))h.setIndex(l),u.push(h);else{let S,b,E;C(B=>{E=B;let[A,j]=f(l);b=j;let Y=v(k=>{let x=(e()||[])[A()];return x??k},i[l]);S=r(Y,A)}),u.push({rendered:S,dispose:E,setIndex:b})}p.push(y),d.add(y)}for(let[l,y]of c)d.has(l)||y.dispose();return o=p,s=u,u.map(l=>l.rendered)})})}function Br(e,t,r){let n=[];return m(()=>{for(let o of n)o.dispose();n=[]}),v(()=>{let o=e()||[];return g(()=>{if(o.length===0){for(let u of n)u.dispose();return n=[],r?.fallback?r.fallback():[]}let s=n.length,i=o.length;for(let u=s;u<i;u++){let p,d,l,y=o[u];C(h=>{l=h;let[S,b]=f(y);d=b,p=t(S,u)}),n.push({rendered:p,setItem:d,dispose:l})}for(let u=i;u<s;u++)n[u].dispose();i<s&&(n=n.slice(0,i));let c=Math.min(s,i);for(let u=0;u<c;u++)n[u].setItem(o[u]);return n.map(u=>u.rendered)})})}var de=!1,kt=Symbol.for("signal"),Pt=Symbol.for("memo"),Ft=Symbol.for("resource");function ye(e){return typeof e=="function"&&e[kt]===!0}function Ct(e){return typeof e=="function"&&e[Pt]===!0}function It(e){return typeof e=="function"&&e[Ft]===!0}function Dt(e){return typeof e=="function"&&e[Symbol.for("fluixi-component")]===!0}function Ut(e){return typeof e=="function"&&e[Symbol.for("fluixi-suspense")]===!0}function Bt(e){return typeof e=="function"&&e[Symbol.for("fluixi-provider")]===!0}function Je(e){return Array.isArray(e)?e.length===2&&e[1]===" "?Array.isArray(e[0])?Je(e[0]):(typeof e[0]=="function",e[0]):e.length===1&&typeof e[0]=="function"?e[0]:e:e}var he=null;function jt(e){he=e}function ve(e){he&&he(e)}var be=null;function Nt(e){be=e}function Se(e){return be?be(e):void 0}var Te=null;function qt(e){Te=e}function xe(){return Te?Te():void 0}var me=null;function Mt(e){me=e}function we(e,t){me&&me(e,t)}function $t(e,t=(r,n)=>r===n){let r=new Map;return I(()=>{let n=e();for(let[o,s]of r){let[i,c]=s,u=t(o,n);i()!==u&&c(u)}}),n=>{let o=r.get(n);if(!o){let[s,i]=f(!1);o=[s,i],r.set(n,o);let c=e();i(t(n,c))}return o[0]()}}function Lt(e,t){let[r,n]=f(e(),t);return I(()=>{let o=e();t?.timeoutMs?setTimeout(()=>n(()=>o),t.timeoutMs):typeof requestIdleCallback=="function"?requestIdleCallback(()=>n(()=>o)):Promise.resolve().then(()=>n(()=>o))}),r}function Vt(e,t){let r,n=(...o)=>{r!==void 0&&clearTimeout(r),r=setTimeout(()=>{if(r=void 0,o.length>0){let s=o[o.length-1];typeof s=="object"&&s&&!s.tagName&&s.target&&s.target.tagName&&(s=s.target),s&&typeof s=="object"&&s.tagName&&(s.tagName.toLowerCase()==="input"||s.tagName.toLowerCase()==="textarea")&&s.focus()}e(...o)},t)};return m(()=>{r!==void 0&&clearTimeout(r)}),n}function oe(e){if(typeof e=="function"&&!e.length){let t=e();return ye(t)?t:oe(t)}if(Array.isArray(e)){let t=[];for(let r=0;r<e.length;r++){let n=oe(e[r]);Array.isArray(n)?t.push.apply(t,n):t.push(n)}return t}return e}function Kt(e){let t=v(e);return v(()=>oe(t()))}function Gt(e){return!!e&&typeof e.then=="function"}var Oe=Symbol();function Wt(e,t,r={}){let n,o;typeof t=="function"?(n=typeof e=="function"?e:()=>e,o=t):(n=()=>!0,o=e,t&&typeof t=="object"&&(r=t));let s=xe(),i=s!==void 0?Se(s):void 0,c=i!==void 0,[u,p]=f(i!==void 0?i.value:r.initialValue,{equals:!1}),[d,l]=f(void 0,{equals:!1}),[y,h]=f(i!==void 0||r.initialValue!==void 0?"ready":"unresolved",{equals:!1}),[S,b]=f(void 0,{equals:!1}),[E,B]=f(void 0,{equals:!1}),A=Oe,j=!1;I(()=>{let T=n();if(E(),T===!1||T===null||T===void 0){A=Oe,O(()=>{h("unresolved"),b(void 0),l(void 0)});return}let x=j;if(j=!1,A!==Oe&&T===A&&!x)return;if(A=T,c){c=!1;return}let X=!1;m(()=>X=!0);let Ue=g(y),ht=g(u),Be=Ue==="ready"||Ue==="refreshing";O(()=>{h(Be?"refreshing":"pending"),l(void 0)});try{let _=o(T,{value:ht,refetching:Be});Gt(_)?(b(_),ve(_),_.then(J=>{X||(s!==void 0&&we(s,J),O(()=>{p(()=>J),h("ready"),b(void 0)}))},J=>{X||O(()=>{l(J),h("errored"),b(void 0)})})):O(()=>{p(()=>_),h("ready"),b(void 0)})}catch(_){if(X)return;O(()=>{l(_),h("errored"),b(void 0)})}});let Y=()=>{let T=y();return T==="pending"||T==="refreshing"},k=(()=>{let T=d();if(T)throw T;if(Y()){let x=S();if(x)throw x}return u()});return Object.defineProperties(k,{state:{get:y},loading:{get:Y},error:{get:d},latest:{get:u}}),Object.defineProperty(k,Symbol.for("resource"),{value:!0,enumerable:!0}),Object.defineProperty(k,Symbol.for("signal"),{value:!0,enumerable:!0}),[k,{mutate:p,refetch:()=>{j=!0,B(void 0)}}]}var ge=V();Ve((e,t)=>{let r=te(t,ge);r&&(r.increment(),e.finally(()=>r.decrement()))});function Ht(){let[e,t]=f(0),r=0;return{increment:()=>t(r+=1),decrement:()=>t(r-=1),inFallback:()=>e()>0}}function zt(e,t){return K(ge,e,t)}var Qe=V();Ge((e,t)=>{let r=te(t,Qe);return r?(r.setError(e),!0):!1});function Yt(){let[e,t]=f(void 0,{equals:!1});return{error:e,reset:()=>t(()=>{}),setError:n=>t(()=>n)}}function Xt(e,t){return K(Qe,e,t)}var Jt={State:P,Computed:w,subtle:{Watcher:F,untrack:L,currentComputed:$e,hasSinks:Le}};var rn=Symbol.for("signal"),nn=Symbol.for("fluixi-proxy");import{$PROXY as _e,batch as it,createEffect as ie,createMemo as Re,createSignal as at,untrack as Qt}from"@fluixi/reactive/signal";var ae=Symbol("store-raw"),U=Symbol("store-node"),Ze=Symbol("store-has"),Ee=Symbol("store-self"),ke=Symbol("store-track"),Zt=Symbol("store-name"),er=Symbol("store-store"),et=new WeakMap,tt=new WeakMap;function ut(e){let[t,r]=at(e),n=t;return n.$=r,n}function ue(e){let t=et.get(e);return t||et.set(e,t={keys:new Map}),t}function rt(e,t,r){let n=e.keys.get(t);return n||e.keys.set(t,n=ut(r)),n}function nt(e){let t=ue(e);(t.all||(t.all=ut()))()}function ot(e,t){e.$(typeof t=="function"?()=>t:t)}function ct(e){if(e==null||typeof e!="object")return!1;if(Array.isArray(e))return!0;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function se(e){if(!ct(e))return e;let t=tt.get(e);if(t)return t;let r=new Proxy(e,tr);return tt.set(e,r),r}var tr={get(e,t,r){if(t===ae||t===U)return e;if(t===_e)return r;if(t===Ze)return i=>i in e;if(t==="__proxy")return!0;if(t===ke||t===Ee)return nt(e),r;let n=e[t];if(typeof n=="function"&&!Object.prototype.hasOwnProperty.call(e,t))return n;let o=Object.getOwnPropertyDescriptor(e,t);if(o&&o.get)return o.get.call(r);let s=rt(ue(e),t,n)();return ct(s)?se(s):s},set(){return!0},deleteProperty(e,t){return t in e&&H(e,t,void 0),!0},has(e,t){return t===ae||t===_e||t===U||t===Ze||t===Ee||t===ke?!0:(rt(ue(e),t,e[t])(),t in e)},ownKeys(e){return nt(e),Reflect.ownKeys(e)},getOwnPropertyDescriptor(e,t){return Reflect.getOwnPropertyDescriptor(e,t)}};function H(e,t,r){if(e[t]===r&&(r!==void 0||t in e))return;let o=Array.isArray(e),s=o?e.length:0;r===void 0?delete e[t]:e[t]=r;let i=ue(e),c=i.keys.get(t);if(c&&ot(c,r),o&&e.length!==s){let u=i.keys.get("length");u&&ot(u,e.length)}i.all&&i.all.$(void 0)}function st(e,t){return typeof e=="function"?e(t):e}function Pe(e,t){for(let r of Object.keys(t)){let n=t[r],o=e[r];n&&typeof n=="object"&&!Array.isArray(n)&&o&&typeof o=="object"&&!Array.isArray(o)?Pe(o,n):H(e,r,n)}}function Ce(e){let t=[],r=e.replace(/\[([^\]]*)\]/g,".$1");for(let n of r.split("."))n.length&&t.push(n);return t}function lt(e,t,r){let n=t.length-1;for(let s=0;s<n;s++){let i=t[s];if(i==="*"){let u=t.slice(s+1);if(Array.isArray(e))for(let p=0;p<e.length;p++)lt(e[p],u,r);return}let c=e[i];(c==null||typeof c!="object")&&(c=/^\d+$/.test(t[s+1])?[]:{},H(e,i,c)),e=c}let o=t[n];if(o==="*"){if(Array.isArray(e))for(let s=0;s<e.length;s++)H(e,s,st(r,e[s]));return}H(e,o,st(r,e[o]))}function Ae(e,t,r){lt(e,Ce(t),r)}function rr(e,t){let r=t[0];if(typeof r=="function"&&t.length===1){let n=r(e);n&&n!==e&&Pe(e,n);return}if(Array.isArray(r)&&t.length===1){for(let n of r)Array.isArray(n)&&Ae(e,n[0],n[1]);return}if(r&&typeof r=="object"&&!Array.isArray(r)&&t.length===1){Pe(e,r);return}if(Array.isArray(t[1])&&t.length>=3){Ae(e,`${r}.${t[1].join(".")}`,t[2]);return}Ae(e,String(r),t[1])}function Fe(e){if(e==null||typeof e!="object")return e;if(Array.isArray(e))return e.map(Fe);let t={};for(let r of Object.keys(e))t[r]=Fe(e[r]);return t}function D(e,t){let r=e;for(let n of Ce(t)){if(r==null)return;r=r[n]}return r}var R=class{constructor(t,r={immutable:!0}){this.options=r;this.root=t,this.set=((...n)=>it(()=>rr(this.root,n)))}get state(){return se(this.root)}get proxy(){return se(this.root)}get accessor(){return(()=>se(this.root))}unwrap(){return this.root}getNode(t){return this.root&&this.root[t]}get(t){if(t==null||t==="")return z(this.state);let r=this.state;for(let n of Ce(t)){if(r==null)return;r=r[n]}return z(r)}select(t){return Re(()=>t(this.state))}subscribe(t){return ie(()=>t(this.state))}watch(t,r){let n;return ie(()=>{let o=t(this.state);Object.is(o,n)||(r(o,n),n=o)})}reactive(t){return Re(()=>this.state[t])}produce(t){this.set((r=>{let n=Fe(r);return t(n),n}))}reconcile(t,r={}){this.set(t)}push(t,...r){let n=D(this.root,t);this.set(t,n.concat(r))}pop(t){let r=D(this.root,t).slice(),n=r.pop();return this.set(t,r),n}shift(t){let r=D(this.root,t).slice(),n=r.shift();return this.set(t,r),n}splice(t,r,n,...o){let s=D(this.root,t).slice(),i=s.splice(r,n,...o);return this.set(t,s),i}insert(t,r,n){let o=D(this.root,t).slice();o.splice(r,0,n),this.set(t,o)}removeAt(t,r){let n=D(this.root,t).slice(),o=n.splice(r,1);return this.set(t,n),o}toObservable(){let[t]=at(this.state);return t.toObservable()}dispose(){}},nr=["get","select","watch","subscribe","produce","reconcile","push","pop","shift","splice","insert","removeAt","unwrap","toObservable"];function pt(e,t){for(let r of nr)e[r]=t[r].bind(t);e.$=t.reactive.bind(t)}function ft(e,t={immutable:!0}){let r=new R(e,t);return pt(r.set,r),[r.proxy,r.set]}function dt(e,t={}){return new R(e,{...t,immutable:!1})}function or(e,t={}){let r=new R(e(),t);return ie(()=>r.set(e())),r}function sr(e,t,r){return ie(()=>r(t(e)))}function ir(e,t,r){return Re(()=>t(e),void 0,r)}function ar(e,t={}){let r=new R(e,t),n=(()=>r.proxy);return pt(n,r),n}function z(e){if(e==null||typeof e!="object")return e;let t=e[ae];return t!==void 0?t:e}function yt(e){return Qt(()=>z(e))}function ur(e){return Ie(e)}function cr(e){return Ie(e)?e[U]:null}function lr(e){return e&&typeof e=="object"&&U in e?e[U]:null}function Ie(e){return!!e&&typeof e=="object"&&(_e in e||e.__proxy===!0)}function pr(e){return e}var fr=Object.freeze({createStore:ft,createMutableStore:dt,batch:it,unwrap:z,untrackStore:yt});function De(e){if(e==null||typeof e!="object")return e;if(Array.isArray(e))return e.map(De);let t={};for(let r of Object.keys(e))t[r]=De(e[r]);return t}function dr(e){return t=>{let r=De(t);return e(r),r}}function yr(e,t={}){return()=>e}export{Zt as $NAME,U as $NODE,nn as $PROXY,ae as $RAW,Ee as $SELF,rn as $SIGNAL,er as $STORE,ke as $TRACK,M as Observable,ce as SafeSubscriber,Jt as Signal,R as Store,fr as StoreAPI,Ne as Subject,q as Subscriber,N as Subscription,ge as SuspenseContext,de as __DEV__,O as batch,gt as createComputed,or as createComputedStore,V as createContext,Vt as createDebounce,Lt as createDeferred,I as createEffect,Yt as createErrorBoundary,v as createMemo,dt as createMutableStore,At as createRenderEffect,Wt as createResource,C as createRoot,$t as createSelector,f as createSignal,ft as createStore,sr as createStoreEffect,ir as createStoreMemo,Ht as createSuspenseBoundary,Rt as flush,cr as getNode,re as getOwner,Se as getServerData,lr as getStoreNode,Br as indexArray,Dt as isComponent,Ct as isMemo,Bt as isProvider,It as isResource,ye as isSignal,ur as isStore,Ie as isStoreProxy,Ut as isSuspense,Ur as keyArray,Je as makeArrayFlat,Dr as mapArray,pr as modifiable,xe as nextResourceId,Et as on,m as onCleanup,vr as operate,dr as produceUtil,K as provide,Xt as provideErrorBoundary,zt as provideSuspense,Kt as readChildren,yr as reconcileUtil,we as reportResourceData,G as runWithOwner,We as setOwner,Mt as setResourceDataSink,qt as setResourceIdSource,jt as setResourceTracker,Nt as setServerDataGetter,Xe as startTransition,ve as trackResourcePromise,g as untrack,yt as untrackStore,z as unwrap,vt as useContext,_t as useTransition,ar as wrap};
@@ -0,0 +1 @@
1
+ "use strict";var a=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var f=(o,r)=>{for(var e in r)a(o,e,{get:r[e],enumerable:!0})},F=(o,r,e,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of v(r))!h.call(o,i)&&i!==e&&a(o,i,{get:()=>r[i],enumerable:!(t=d(r,i))||t.enumerable});return o};var T=o=>F(a({},"__esModule",{value:!0}),o);var A={};f(A,{Observable:()=>l,SafeSubscriber:()=>c,Subscriber:()=>u,Subscription:()=>p,operate:()=>y});module.exports=T(A);var O=require("@fluixi/utils/object"),b=require("@fluixi/utils/functions"),p=class o{constructor(r){this._closed=!1;this._parentOrParents=null;this._subscriptions=null;r&&(this._subscriptions=[r])}get closed(){return this._closed}unsubscribe(){if(this._closed)return;this._closed=!0;let{_parentOrParents:r,_subscriptions:e}=this;if(r instanceof o)r.remove(this);else if(r!==null)for(let t of r)t.remove(this);if(e){for(let t of e)if((0,b.isFunction)(t)&&!(t instanceof o))try{t()}catch(i){console.error("Error in unsubscribe function:",i)}else if((0,O.isObject)(t)&&typeof t.unsubscribe=="function")try{t.unsubscribe()}catch(i){console.error("Error unsubscribing child:",i)}this._subscriptions=null}}add(r){if(!r||r===this)return this;if(r.closed)return this;let{_closed:e,_subscriptions:t}=this;if(e){if((0,b.isFunction)(r))try{r()}catch(i){console.error("Error in unsubscribe function:",i)}else if(r.unsubscribe)try{r.unsubscribe()}catch(i){console.error("Error unsubscribing:",i)}return this}return t||(this._subscriptions=[]),this._subscriptions.push(r),r instanceof o&&r._addParent(this),this}remove(r){let{_subscriptions:e}=this;if(!e)return;let t=e.indexOf(r);t!==-1&&(e.splice(t,1),r._removeParent(this))}_addParent(r){let{_parentOrParents:e}=this;e?Array.isArray(e)?e.push(r):this._parentOrParents=[e,r]:this._parentOrParents=r}_removeParent(r){let{_parentOrParents:e}=this;if(e===r)this._parentOrParents=null;else if(Array.isArray(e)){let t=e.indexOf(r);t!==-1&&(e.splice(t,1),e.length===1&&(this._parentOrParents=e[0]))}}};var u=class extends p{constructor(e,t,i){super();this.isStopped=!1;let n;e?typeof e=="object"?n=e:n={next:e,error:t,complete:i}:n={},this.destination=n}next(e){if(!this.isStopped&&this.destination.next)try{this.destination.next(e)}catch(t){this.error(t)}}error(e){if(!this.isStopped){if(this.isStopped=!0,this.destination.error)try{this.destination.error(e)}catch(t){throw t}else throw e;this.unsubscribe()}}complete(){if(!this.isStopped){if(this.isStopped=!0,this.destination.complete)try{this.destination.complete()}catch(e){this.error(e);return}this.unsubscribe()}}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}},c=class extends u{constructor(e,t,i,n){super(e,t,i);this._isUnsubscribing=!1;this._parentSubscriber=null;this._parentSubscriber=n||null}next(e){if(!this.isStopped&&!this._isUnsubscribing)try{super.next(e)}catch(t){this.error(t)}}error(e){if(!this.isStopped&&!this._isUnsubscribing){this._isUnsubscribing=!0;try{super.error(e)}finally{this._isUnsubscribing=!1}}}complete(){if(!this.isStopped&&!this._isUnsubscribing){this._isUnsubscribing=!0;try{super.complete()}finally{this._isUnsubscribing=!1}}}unsubscribe(){this.closed||(this._isUnsubscribing=!0,super.unsubscribe(),this._isUnsubscribing=!1)}};function y(o){return new u(o.next,o.error,o.complete)}var l=class extends p{constructor(r){if(super(),r)this._subscribe=r;else throw new TypeError("Observable constructor requires a subscribe function")}subscribe(r,e,t){let i;r instanceof u?i=r:i=new c(r,e,t);let{_subscribe:n}=this;try{let s=n.call(this,i);s&&(typeof s=="function"||typeof s.unsubscribe=="function")&&i.add(s)}catch(s){i.error(s)}return i}pipe(...r){return r.length===0?this:r.reduce((e,t)=>t(e),this)}toPromise(){return new Promise((r,e)=>{let t;this.subscribe({next:i=>t=i,error:e,complete:()=>r(t)})})}};
@@ -0,0 +1,4 @@
1
+ export * from "./observable.js";
2
+ export * from "./subscription.js";
3
+ export * from "./types.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/observable/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from "./observable.js";
2
+ export * from "./subscription.js";
3
+ export * from "./types.js";
@@ -0,0 +1 @@
1
+ import{isObject as l}from"@fluixi/utils/object";import{isFunction as a}from"@fluixi/utils/functions";var p=class o{constructor(e){this._closed=!1;this._parentOrParents=null;this._subscriptions=null;e&&(this._subscriptions=[e])}get closed(){return this._closed}unsubscribe(){if(this._closed)return;this._closed=!0;let{_parentOrParents:e,_subscriptions:r}=this;if(e instanceof o)e.remove(this);else if(e!==null)for(let t of e)t.remove(this);if(r){for(let t of r)if(a(t)&&!(t instanceof o))try{t()}catch(i){console.error("Error in unsubscribe function:",i)}else if(l(t)&&typeof t.unsubscribe=="function")try{t.unsubscribe()}catch(i){console.error("Error unsubscribing child:",i)}this._subscriptions=null}}add(e){if(!e||e===this)return this;if(e.closed)return this;let{_closed:r,_subscriptions:t}=this;if(r){if(a(e))try{e()}catch(i){console.error("Error in unsubscribe function:",i)}else if(e.unsubscribe)try{e.unsubscribe()}catch(i){console.error("Error unsubscribing:",i)}return this}return t||(this._subscriptions=[]),this._subscriptions.push(e),e instanceof o&&e._addParent(this),this}remove(e){let{_subscriptions:r}=this;if(!r)return;let t=r.indexOf(e);t!==-1&&(r.splice(t,1),e._removeParent(this))}_addParent(e){let{_parentOrParents:r}=this;r?Array.isArray(r)?r.push(e):this._parentOrParents=[r,e]:this._parentOrParents=e}_removeParent(e){let{_parentOrParents:r}=this;if(r===e)this._parentOrParents=null;else if(Array.isArray(r)){let t=r.indexOf(e);t!==-1&&(r.splice(t,1),r.length===1&&(this._parentOrParents=r[0]))}}};var u=class extends p{constructor(r,t,i){super();this.isStopped=!1;let n;r?typeof r=="object"?n=r:n={next:r,error:t,complete:i}:n={},this.destination=n}next(r){if(!this.isStopped&&this.destination.next)try{this.destination.next(r)}catch(t){this.error(t)}}error(r){if(!this.isStopped){if(this.isStopped=!0,this.destination.error)try{this.destination.error(r)}catch(t){throw t}else throw r;this.unsubscribe()}}complete(){if(!this.isStopped){if(this.isStopped=!0,this.destination.complete)try{this.destination.complete()}catch(r){this.error(r);return}this.unsubscribe()}}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}},c=class extends u{constructor(r,t,i,n){super(r,t,i);this._isUnsubscribing=!1;this._parentSubscriber=null;this._parentSubscriber=n||null}next(r){if(!this.isStopped&&!this._isUnsubscribing)try{super.next(r)}catch(t){this.error(t)}}error(r){if(!this.isStopped&&!this._isUnsubscribing){this._isUnsubscribing=!0;try{super.error(r)}finally{this._isUnsubscribing=!1}}}complete(){if(!this.isStopped&&!this._isUnsubscribing){this._isUnsubscribing=!0;try{super.complete()}finally{this._isUnsubscribing=!1}}}unsubscribe(){this.closed||(this._isUnsubscribing=!0,super.unsubscribe(),this._isUnsubscribing=!1)}};function f(o){return new u(o.next,o.error,o.complete)}var b=class extends p{constructor(e){if(super(),e)this._subscribe=e;else throw new TypeError("Observable constructor requires a subscribe function")}subscribe(e,r,t){let i;e instanceof u?i=e:i=new c(e,r,t);let{_subscribe:n}=this;try{let s=n.call(this,i);s&&(typeof s=="function"||typeof s.unsubscribe=="function")&&i.add(s)}catch(s){i.error(s)}return i}pipe(...e){return e.length===0?this:e.reduce((r,t)=>t(r),this)}toPromise(){return new Promise((e,r)=>{let t;this.subscribe({next:i=>t=i,error:r,complete:()=>e(t)})})}};export{b as Observable,c as SafeSubscriber,u as Subscriber,p as Subscription,f as operate};
@@ -0,0 +1 @@
1
+ "use strict";var a=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var f=(o,r)=>{for(var e in r)a(o,e,{get:r[e],enumerable:!0})},F=(o,r,e,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of v(r))!h.call(o,i)&&i!==e&&a(o,i,{get:()=>r[i],enumerable:!(t=d(r,i))||t.enumerable});return o};var T=o=>F(a({},"__esModule",{value:!0}),o);var A={};f(A,{Observable:()=>l,SafeSubscriber:()=>c,Subscriber:()=>p,operate:()=>y});module.exports=T(A);var O=require("@fluixi/utils/object"),b=require("@fluixi/utils/functions"),u=class o{constructor(r){this._closed=!1;this._parentOrParents=null;this._subscriptions=null;r&&(this._subscriptions=[r])}get closed(){return this._closed}unsubscribe(){if(this._closed)return;this._closed=!0;let{_parentOrParents:r,_subscriptions:e}=this;if(r instanceof o)r.remove(this);else if(r!==null)for(let t of r)t.remove(this);if(e){for(let t of e)if((0,b.isFunction)(t)&&!(t instanceof o))try{t()}catch(i){console.error("Error in unsubscribe function:",i)}else if((0,O.isObject)(t)&&typeof t.unsubscribe=="function")try{t.unsubscribe()}catch(i){console.error("Error unsubscribing child:",i)}this._subscriptions=null}}add(r){if(!r||r===this)return this;if(r.closed)return this;let{_closed:e,_subscriptions:t}=this;if(e){if((0,b.isFunction)(r))try{r()}catch(i){console.error("Error in unsubscribe function:",i)}else if(r.unsubscribe)try{r.unsubscribe()}catch(i){console.error("Error unsubscribing:",i)}return this}return t||(this._subscriptions=[]),this._subscriptions.push(r),r instanceof o&&r._addParent(this),this}remove(r){let{_subscriptions:e}=this;if(!e)return;let t=e.indexOf(r);t!==-1&&(e.splice(t,1),r._removeParent(this))}_addParent(r){let{_parentOrParents:e}=this;e?Array.isArray(e)?e.push(r):this._parentOrParents=[e,r]:this._parentOrParents=r}_removeParent(r){let{_parentOrParents:e}=this;if(e===r)this._parentOrParents=null;else if(Array.isArray(e)){let t=e.indexOf(r);t!==-1&&(e.splice(t,1),e.length===1&&(this._parentOrParents=e[0]))}}};var p=class extends u{constructor(e,t,i){super();this.isStopped=!1;let n;e?typeof e=="object"?n=e:n={next:e,error:t,complete:i}:n={},this.destination=n}next(e){if(!this.isStopped&&this.destination.next)try{this.destination.next(e)}catch(t){this.error(t)}}error(e){if(!this.isStopped){if(this.isStopped=!0,this.destination.error)try{this.destination.error(e)}catch(t){throw t}else throw e;this.unsubscribe()}}complete(){if(!this.isStopped){if(this.isStopped=!0,this.destination.complete)try{this.destination.complete()}catch(e){this.error(e);return}this.unsubscribe()}}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}},c=class extends p{constructor(e,t,i,n){super(e,t,i);this._isUnsubscribing=!1;this._parentSubscriber=null;this._parentSubscriber=n||null}next(e){if(!this.isStopped&&!this._isUnsubscribing)try{super.next(e)}catch(t){this.error(t)}}error(e){if(!this.isStopped&&!this._isUnsubscribing){this._isUnsubscribing=!0;try{super.error(e)}finally{this._isUnsubscribing=!1}}}complete(){if(!this.isStopped&&!this._isUnsubscribing){this._isUnsubscribing=!0;try{super.complete()}finally{this._isUnsubscribing=!1}}}unsubscribe(){this.closed||(this._isUnsubscribing=!0,super.unsubscribe(),this._isUnsubscribing=!1)}};function y(o){return new p(o.next,o.error,o.complete)}var l=class extends u{constructor(r){if(super(),r)this._subscribe=r;else throw new TypeError("Observable constructor requires a subscribe function")}subscribe(r,e,t){let i;r instanceof p?i=r:i=new c(r,e,t);let{_subscribe:n}=this;try{let s=n.call(this,i);s&&(typeof s=="function"||typeof s.unsubscribe=="function")&&i.add(s)}catch(s){i.error(s)}return i}pipe(...r){return r.length===0?this:r.reduce((e,t)=>t(e),this)}toPromise(){return new Promise((r,e)=>{let t;this.subscribe({next:i=>t=i,error:e,complete:()=>r(t)})})}};