@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.
- package/LICENSE +21 -0
- package/README.md +343 -0
- package/dist/cdn/reactive.cjs +1 -0
- package/dist/cdn/reactive.d.ts +11 -0
- package/dist/cdn/reactive.d.ts.map +1 -0
- package/dist/cdn/reactive.global.js +1 -0
- package/dist/cdn/reactive.js +10 -0
- package/dist/cdn/reactive.mjs +1 -0
- package/dist/cdn/signal.cjs +1 -0
- package/dist/cdn/signal.d.ts +19 -0
- package/dist/cdn/signal.d.ts.map +1 -0
- package/dist/cdn/signal.global.js +1 -0
- package/dist/cdn/signal.js +18 -0
- package/dist/cdn/signal.mjs +1 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -0
- package/dist/index.mjs +1 -0
- package/dist/lib/index.cjs +1 -0
- package/dist/lib/index.d.ts +5 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +4 -0
- package/dist/lib/index.mjs +1 -0
- package/dist/lib/observable/index.cjs +1 -0
- package/dist/lib/observable/index.d.ts +4 -0
- package/dist/lib/observable/index.d.ts.map +1 -0
- package/dist/lib/observable/index.js +3 -0
- package/dist/lib/observable/index.mjs +1 -0
- package/dist/lib/observable/observable.cjs +1 -0
- package/dist/lib/observable/observable.d.ts +383 -0
- package/dist/lib/observable/observable.d.ts.map +1 -0
- package/dist/lib/observable/observable.js +339 -0
- package/dist/lib/observable/observable.mjs +1 -0
- package/dist/lib/observable/subscription.cjs +1 -0
- package/dist/lib/observable/subscription.d.ts +70 -0
- package/dist/lib/observable/subscription.d.ts.map +1 -0
- package/dist/lib/observable/subscription.js +190 -0
- package/dist/lib/observable/subscription.mjs +1 -0
- package/dist/lib/observable/types.cjs +1 -0
- package/dist/lib/observable/types.d.ts +44 -0
- package/dist/lib/observable/types.d.ts.map +1 -0
- package/dist/lib/observable/types.js +1 -0
- package/dist/lib/observable/types.mjs +0 -0
- package/dist/lib/signal/cached-resource.cjs +1 -0
- package/dist/lib/signal/cached-resource.d.ts +94 -0
- package/dist/lib/signal/cached-resource.d.ts.map +1 -0
- package/dist/lib/signal/cached-resource.js +257 -0
- package/dist/lib/signal/cached-resource.mjs +1 -0
- package/dist/lib/signal/graph/children.cjs +1 -0
- package/dist/lib/signal/graph/children.d.ts +2 -0
- package/dist/lib/signal/graph/children.d.ts.map +1 -0
- package/dist/lib/signal/graph/children.js +30 -0
- package/dist/lib/signal/graph/children.mjs +1 -0
- package/dist/lib/signal/graph/compat.cjs +1 -0
- package/dist/lib/signal/graph/compat.d.ts +64 -0
- package/dist/lib/signal/graph/compat.d.ts.map +1 -0
- package/dist/lib/signal/graph/compat.js +178 -0
- package/dist/lib/signal/graph/compat.mjs +1 -0
- package/dist/lib/signal/graph/core.cjs +1 -0
- package/dist/lib/signal/graph/core.d.ts +95 -0
- package/dist/lib/signal/graph/core.d.ts.map +1 -0
- package/dist/lib/signal/graph/core.js +254 -0
- package/dist/lib/signal/graph/core.mjs +1 -0
- package/dist/lib/signal/graph/derived.cjs +1 -0
- package/dist/lib/signal/graph/derived.d.ts +14 -0
- package/dist/lib/signal/graph/derived.d.ts.map +1 -0
- package/dist/lib/signal/graph/derived.js +81 -0
- package/dist/lib/signal/graph/derived.mjs +1 -0
- package/dist/lib/signal/graph/detect.cjs +1 -0
- package/dist/lib/signal/graph/detect.d.ts +16 -0
- package/dist/lib/signal/graph/detect.d.ts.map +1 -0
- package/dist/lib/signal/graph/detect.js +36 -0
- package/dist/lib/signal/graph/detect.mjs +1 -0
- package/dist/lib/signal/graph/error-boundary.cjs +1 -0
- package/dist/lib/signal/graph/error-boundary.d.ts +16 -0
- package/dist/lib/signal/graph/error-boundary.d.ts.map +1 -0
- package/dist/lib/signal/graph/error-boundary.js +34 -0
- package/dist/lib/signal/graph/error-boundary.mjs +1 -0
- package/dist/lib/signal/graph/index.cjs +1 -0
- package/dist/lib/signal/graph/index.d.ts +21 -0
- package/dist/lib/signal/graph/index.d.ts.map +1 -0
- package/dist/lib/signal/graph/index.js +20 -0
- package/dist/lib/signal/graph/index.mjs +1 -0
- package/dist/lib/signal/graph/resource.cjs +1 -0
- package/dist/lib/signal/graph/resource.d.ts +36 -0
- package/dist/lib/signal/graph/resource.d.ts.map +1 -0
- package/dist/lib/signal/graph/resource.js +156 -0
- package/dist/lib/signal/graph/resource.mjs +1 -0
- package/dist/lib/signal/graph/runtime.cjs +1 -0
- package/dist/lib/signal/graph/runtime.d.ts +56 -0
- package/dist/lib/signal/graph/runtime.d.ts.map +1 -0
- package/dist/lib/signal/graph/runtime.js +277 -0
- package/dist/lib/signal/graph/runtime.mjs +1 -0
- package/dist/lib/signal/graph/signal-next.cjs +1 -0
- package/dist/lib/signal/graph/signal-next.d.ts +37 -0
- package/dist/lib/signal/graph/signal-next.d.ts.map +1 -0
- package/dist/lib/signal/graph/signal-next.js +41 -0
- package/dist/lib/signal/graph/signal-next.mjs +1 -0
- package/dist/lib/signal/graph/ssr-hooks.cjs +1 -0
- package/dist/lib/signal/graph/ssr-hooks.d.ts +28 -0
- package/dist/lib/signal/graph/ssr-hooks.d.ts.map +1 -0
- package/dist/lib/signal/graph/ssr-hooks.js +45 -0
- package/dist/lib/signal/graph/ssr-hooks.mjs +1 -0
- package/dist/lib/signal/graph/state.cjs +1 -0
- package/dist/lib/signal/graph/state.d.ts +43 -0
- package/dist/lib/signal/graph/state.d.ts.map +1 -0
- package/dist/lib/signal/graph/state.js +37 -0
- package/dist/lib/signal/graph/state.mjs +1 -0
- package/dist/lib/signal/graph/suspense.cjs +1 -0
- package/dist/lib/signal/graph/suspense.d.ts +13 -0
- package/dist/lib/signal/graph/suspense.d.ts.map +1 -0
- package/dist/lib/signal/graph/suspense.js +36 -0
- package/dist/lib/signal/graph/suspense.mjs +1 -0
- package/dist/lib/signal/index-legacy.cjs +1 -0
- package/dist/lib/signal/index-legacy.d.ts +12 -0
- package/dist/lib/signal/index-legacy.d.ts.map +1 -0
- package/dist/lib/signal/index-legacy.js +11 -0
- package/dist/lib/signal/index-legacy.mjs +1 -0
- package/dist/lib/signal/index.cjs +1 -0
- package/dist/lib/signal/index.d.ts +12 -0
- package/dist/lib/signal/index.d.ts.map +1 -0
- package/dist/lib/signal/index.js +11 -0
- package/dist/lib/signal/index.mjs +1 -0
- package/dist/lib/signal/list.cjs +1 -0
- package/dist/lib/signal/list.d.ts +39 -0
- package/dist/lib/signal/list.d.ts.map +1 -0
- package/dist/lib/signal/list.js +172 -0
- package/dist/lib/signal/list.mjs +1 -0
- package/dist/lib/signal/signal.cjs +1 -0
- package/dist/lib/signal/signal.d.ts +295 -0
- package/dist/lib/signal/signal.d.ts.map +1 -0
- package/dist/lib/signal/signal.js +1219 -0
- package/dist/lib/signal/signal.mjs +1 -0
- package/dist/lib/signal/types.cjs +1 -0
- package/dist/lib/signal/types.d.ts +133 -0
- package/dist/lib/signal/types.d.ts.map +1 -0
- package/dist/lib/signal/types.js +38 -0
- package/dist/lib/signal/types.mjs +1 -0
- package/dist/lib/signal/utilities.cjs +1 -0
- package/dist/lib/signal/utilities.d.ts +355 -0
- package/dist/lib/signal/utilities.d.ts.map +1 -0
- package/dist/lib/signal/utilities.js +504 -0
- package/dist/lib/signal/utilities.mjs +1 -0
- package/dist/lib/store/index.cjs +1 -0
- package/dist/lib/store/index.d.ts +14 -0
- package/dist/lib/store/index.d.ts.map +1 -0
- package/dist/lib/store/index.js +11 -0
- package/dist/lib/store/index.mjs +1 -0
- package/dist/lib/store/setter.types.cjs +1 -0
- package/dist/lib/store/setter.types.d.ts +79 -0
- package/dist/lib/store/setter.types.d.ts.map +1 -0
- package/dist/lib/store/setter.types.js +65 -0
- package/dist/lib/store/setter.types.mjs +0 -0
- package/dist/lib/store/store.cjs +1 -0
- package/dist/lib/store/store.d.ts +86 -0
- package/dist/lib/store/store.d.ts.map +1 -0
- package/dist/lib/store/store.js +442 -0
- package/dist/lib/store/store.mjs +1 -0
- package/dist/lib/store/types.cjs +1 -0
- package/dist/lib/store/types.d.ts +57 -0
- package/dist/lib/store/types.d.ts.map +1 -0
- package/dist/lib/store/types.js +1 -0
- package/dist/lib/store/types.mjs +0 -0
- package/dist/lib/store/utils.cjs +1 -0
- package/dist/lib/store/utils.d.ts +13 -0
- package/dist/lib/store/utils.d.ts.map +1 -0
- package/dist/lib/store/utils.js +29 -0
- package/dist/lib/store/utils.mjs +1 -0
- package/dist/lib/subject.cjs +1 -0
- package/dist/lib/subject.d.ts +14 -0
- package/dist/lib/subject.d.ts.map +1 -0
- package/dist/lib/subject.js +169 -0
- package/dist/lib/subject.mjs +1 -0
- package/dist/tsconfig.lib.tsbuildinfo +1 -0
- 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}
|
package/dist/index.d.ts
ADDED
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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)})})}};
|