@fluixi/reactive 1.0.0-alpha.62 → 1.0.0-alpha.64
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/dist/cdn/reactive.cjs +1 -1
- package/dist/cdn/reactive.global.js +1 -1
- package/dist/cdn/reactive.mjs +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist/lib/index.cjs +1 -1
- package/dist/lib/index.mjs +1 -1
- package/dist/lib/signal/graph/debounced.cjs +1 -0
- package/dist/lib/signal/graph/debounced.d.ts +67 -0
- package/dist/lib/signal/graph/debounced.d.ts.map +1 -0
- package/dist/lib/signal/graph/debounced.js +92 -0
- package/dist/lib/signal/graph/debounced.mjs +1 -0
- package/dist/lib/signal/graph/derived.cjs +1 -1
- package/dist/lib/signal/graph/derived.d.ts.map +1 -1
- package/dist/lib/signal/graph/derived.js +0 -16
- package/dist/lib/signal/graph/derived.mjs +1 -1
- package/dist/lib/signal/graph/resource.d.ts +2 -1
- package/dist/lib/signal/graph/resource.d.ts.map +1 -1
- package/dist/lib/signal/graph/signal-next.cjs +1 -1
- package/dist/lib/signal/graph/signal-next.d.ts +1 -0
- package/dist/lib/signal/graph/signal-next.d.ts.map +1 -1
- package/dist/lib/signal/graph/signal-next.js +1 -0
- package/dist/lib/signal/graph/signal-next.mjs +1 -1
- package/dist/lib/signal/index-legacy.cjs +1 -1
- package/dist/lib/signal/index-legacy.mjs +1 -1
- package/dist/lib/signal/index.cjs +1 -1
- package/dist/lib/signal/index.mjs +1 -1
- package/dist/lib/signal/signal.cjs +1 -1
- package/dist/lib/signal/signal.mjs +1 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -1 +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 Sr(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 vt(e){return!!e&&e.disposed===!0}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 St(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){if(a.owner){if(a.owner.disposed){e();return}(a.owner.cleanups??=[]).push(e)}}function Z(e,t=!0){if(!e.disposed){if(e.owned){for(let r=e.owned.length-1;r>=0;r--)Z(e.owned[r]);e.owned=null}if(e.cleanups){for(let r=e.cleanups.length-1;r>=0;r--)e.cleanups[r]();e.cleanups=null}t&&(e.disposed=!0)}}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 xt(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,!1),G(this.owner,()=>{let r=t();typeof r=="function"&&(this.owner.cleanups??=[]).push(r)})}),this.watcher=new F(()=>xt(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 wt(e){return!!e&&typeof e.then=="function"}He(()=>{});var Ye=Symbol.for("signal"),Ot=Symbol.for("memo"),gt=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,gt,{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(wt(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,Ot,{value:!0,enumerable:!0}),i}function I(e,t){let r=t;return ne(()=>{r=e(r)})}function At(e,t){let r=t;ne(()=>{r=e(r)})}function _t(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 Rt(){return[()=>!1,Xe]}function Et(){return W(),Promise.resolve()}function kt(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 Ur(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 Br(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 jr(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,Pt=Symbol.for("signal"),Ft=Symbol.for("memo"),Ct=Symbol.for("resource");function ye(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[Ct]===!0}function Ut(e){return typeof e=="function"&&e[Symbol.for("fluixi-component")]===!0}function Bt(e){return typeof e=="function"&&e[Symbol.for("fluixi-suspense")]===!0}function jt(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 Nt(e){he=e}function ve(e){he&&he(e)}var be=null;function qt(e){be=e}function Se(e){return be?be(e):void 0}var Te=null;function Mt(e){Te=e}function xe(){return Te?Te():void 0}var me=null;function $t(e){me=e}function we(e,t){me&&me(e,t)}function Lt(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 Vt(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 Kt(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 Gt(e){let t=v(e);return v(()=>oe(t()))}function Wt(e){return!!e&&typeof e.then=="function"}var Oe=Symbol();function Ht(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});Wt(_)?(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 zt(){let[e,t]=f(0),r=0;return{increment:()=>t(r+=1),decrement:()=>t(r-=1),inFallback:()=>e()>0}}function Yt(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 Xt(){let[e,t]=f(void 0,{equals:!1});return{error:e,reset:()=>t(()=>{}),setError:n=>t(()=>n)}}function Jt(e,t){return K(Qe,e,t)}var Qt={State:P,Computed:w,subtle:{Watcher:F,untrack:L,currentComputed:$e,hasSinks:Le}};var nn=Symbol.for("signal"),on=Symbol.for("fluixi-proxy");import{$PROXY as _e,batch as it,createEffect as ie,createMemo as Re,createSignal as at,untrack as Zt}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"),er=Symbol("store-name"),tr=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,rr);return tt.set(e,r),r}var rr={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 nr(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(()=>nr(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(){}},or=["get","select","watch","subscribe","produce","reconcile","push","pop","shift","splice","insert","removeAt","unwrap","toObservable"];function pt(e,t){for(let r of or)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 sr(e,t={}){let r=new R(e(),t);return ie(()=>r.set(e())),r}function ir(e,t,r){return ie(()=>r(t(e)))}function ar(e,t,r){return Re(()=>t(e),void 0,r)}function ur(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 Zt(()=>z(e))}function cr(e){return Ie(e)}function lr(e){return Ie(e)?e[U]:null}function pr(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 fr(e){return e}var dr=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 yr(e){return t=>{let r=De(t);return e(r),r}}function hr(e,t={}){return()=>e}export{er as $NAME,U as $NODE,on as $PROXY,ae as $RAW,Ee as $SELF,nn as $SIGNAL,tr as $STORE,ke as $TRACK,M as Observable,ce as SafeSubscriber,Qt as Signal,R as Store,dr as StoreAPI,Ne as Subject,q as Subscriber,N as Subscription,ge as SuspenseContext,de as __DEV__,O as batch,At as createComputed,sr as createComputedStore,V as createContext,Kt as createDebounce,Vt as createDeferred,I as createEffect,Xt as createErrorBoundary,v as createMemo,dt as createMutableStore,_t as createRenderEffect,Ht as createResource,C as createRoot,Lt as createSelector,f as createSignal,ft as createStore,ir as createStoreEffect,ar as createStoreMemo,zt as createSuspenseBoundary,Et as flush,lr as getNode,re as getOwner,Se as getServerData,pr as getStoreNode,jr as indexArray,Ut as isComponent,It as isMemo,vt as isOwnerDisposed,jt as isProvider,Dt as isResource,ye as isSignal,cr as isStore,Ie as isStoreProxy,Bt as isSuspense,Br as keyArray,Je as makeArrayFlat,Ur as mapArray,fr as modifiable,xe as nextResourceId,kt as on,m as onCleanup,Sr as operate,yr as produceUtil,K as provide,Jt as provideErrorBoundary,Yt as provideSuspense,Gt as readChildren,hr as reconcileUtil,we as reportResourceData,G as runWithOwner,We as setOwner,$t as setResourceDataSink,Mt as setResourceIdSource,Nt as setResourceTracker,qt as setServerDataGetter,Xe as startTransition,ve as trackResourcePromise,g as untrack,yt as untrackStore,z as unwrap,St as useContext,Rt as useTransition,ur as wrap};
|
|
1
|
+
import{isObject as mt}from"@fluixi/utils/object";import{isFunction as qe}from"@fluixi/utils/functions";var q=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(qe(n)&&!(n instanceof e))try{n()}catch(o){console.error("Error in unsubscribe function:",o)}else if(mt(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(qe(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 M=class extends q{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 M{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 M(e.next,e.error,e.complete)}var N=class extends q{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 M?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 Me=class extends N{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 N(n=>this.subscribe(n))}};var vt="__fluixi_signal_next_state__",St=e=>{typeof queueMicrotask=="function"?queueMicrotask(e):Promise.resolve().then(e)},a=globalThis[vt]??={consumer:null,untracked:!1,owner:null,queue:[],scheduled:!1,flushing:!1,batchDepth:0,hostSchedule:St,onSuspend:null,onError:null};var Ne=0,$e=1,$=2,J=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 J{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}},O=class extends J{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===$e&&this.sources){for(let r of this.sources)if(r.updateIfNecessary(),this.state===$)break}(this.state===$||!this._initialized)&&this.recompute(),this.state=Ne}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===Ne;if(this.state=r,n){if(this.observers)for(let o of[...this.observers])o.markDirty($e);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 D=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 Le(){return a.consumer}function Ve(e){return!!(e.observers&&e.observers.size)||!!(e.watchers&&e.watchers.size)}function xt(e){return!!e&&e.disposed===!0}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 wt(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 Ke(e){a.onSuspend=e}function Ge(e){return a.onSuspend?(a.onSuspend(e,a.owner),!0):!1}function We(e){a.onError=e}function re(){return a.owner}function He(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){if(a.owner){if(a.owner.disposed){e();return}(a.owner.cleanups??=[]).push(e)}}function Z(e,t=!0){if(!e.disposed){if(e.owned){for(let r=e.owned.length-1;r>=0;r--)Z(e.owned[r]);e.owned=null}if(e.cleanups){for(let r=e.cleanups.length-1;r>=0;r--)e.cleanups[r]();e.cleanups=null}t&&(e.disposed=!0)}}function F(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 ze(e){a.hostSchedule=e??(t=>{Promise.resolve().then(t)})}function Ot(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 Ye(){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 O(()=>{Z(this.owner,!1),G(this.owner,()=>{let r=t();typeof r=="function"&&(this.owner.cleanups??=[]).push(r)})}),this.watcher=new D(()=>Ot(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 gt(e){return!!e&&typeof e.then=="function"}ze(()=>{});var Xe=Symbol.for("signal"),At=Symbol.for("memo"),Rt=Symbol.for("signal-node");function d(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),Ye(),i});return Object.defineProperty(n,Xe,{value:!0,enumerable:!0}),Object.defineProperty(n,Rt,{value:{get value(){return r.peek()},get version(){return r.version}},enumerable:!1}),[n,o]}function S(e,t,r){let n=t,o=re(),s=new O(()=>G(o,()=>{try{return n=e(n)}catch(c){if(gt(c))return Ge(c),n;throw c}}),{equals:r?.equals}),i=(()=>s.get());return Object.defineProperty(i,Xe,{value:!0,enumerable:!0}),Object.defineProperty(i,At,{value:!0,enumerable:!0}),i}function C(e,t){let r=t;return ne(()=>{r=e(r)})}function _t(e,t){let r=t;ne(()=>{r=e(r)})}function kt(e,t){let r=t;return ne(()=>{r=e(r)})}function g(e){return fe(e)}function v(e){return L(e)}function Qe(e){return fe(e),Promise.resolve()}function Et(){return[()=>!1,Qe]}function Pt(){return W(),Promise.resolve()}function Dt(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 qr(e,t,r){let n=[];return m(()=>{for(let o of n)o.dispose();n=[]}),S(()=>{let o=e()||[];return v(()=>{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],y=s.get(p);if(y&&!c.has(y))y.setIndex(u),i.push(y),c.add(y);else{let l,f,b;F(h=>{b=h;let[k,B]=d(u);f=B,l=t(p,k)});let x={item:p,rendered:l,dispose:b,setIndex:f};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 Mr(e,t,r,n){let o=[],s=[];return m(()=>{for(let i of s)i.dispose();o=[],s=[]}),S(()=>{let i=e()||[];return v(()=>{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=[],y=new Set;for(let l=0;l<i.length;l++){let f=t(i[l]),b=c.get(f);if(b&&!y.has(f))b.setIndex(l),u.push(b);else{let x,h,k;F(B=>{k=B;let[A,j]=d(l);h=j;let Y=S(E=>{let w=(e()||[])[A()];return w??E},i[l]);x=r(Y,A)}),u.push({rendered:x,dispose:k,setIndex:h})}p.push(f),y.add(f)}for(let[l,f]of c)y.has(l)||f.dispose();return o=p,s=u,u.map(l=>l.rendered)})})}function Nr(e,t,r){let n=[];return m(()=>{for(let o of n)o.dispose();n=[]}),S(()=>{let o=e()||[];return v(()=>{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,y,l,f=o[u];F(b=>{l=b;let[x,h]=d(f);y=h,p=t(x,u)}),n.push({rendered:p,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 de=!1,Ft=Symbol.for("signal"),Ct=Symbol.for("memo"),It=Symbol.for("resource");function ye(e){return typeof e=="function"&&e[Ft]===!0}function Ut(e){return typeof e=="function"&&e[Ct]===!0}function Bt(e){return typeof e=="function"&&e[It]===!0}function jt(e){return typeof e=="function"&&e[Symbol.for("fluixi-component")]===!0}function qt(e){return typeof e=="function"&&e[Symbol.for("fluixi-suspense")]===!0}function Mt(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 be=null;function Nt(e){be=e}function ve(e){be&&be(e)}var he=null;function $t(e){he=e}function Se(e){return he?he(e):void 0}var Te=null;function Lt(e){Te=e}function xe(){return Te?Te():void 0}var me=null;function Vt(e){me=e}function we(e,t){me&&me(e,t)}function Kt(e,t=(r,n)=>r===n){let r=new Map;return C(()=>{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 Gt(e,t){let[r,n]=d(e(),t);return C(()=>{let o=e();t?.timeoutMs?setTimeout(()=>n(()=>o),t.timeoutMs):typeof requestIdleCallback=="function"?requestIdleCallback(()=>n(()=>o)):Promise.resolve().then(()=>n(()=>o))}),r}function Wt(e,t){let r,n=(...o)=>{r!==void 0&&clearTimeout(r),r=setTimeout(()=>{r=void 0,e(...o)},t)};return m(()=>{r!==void 0&&clearTimeout(r)}),n}function Ht(e){return!!e&&typeof e.then=="function"}var Oe=Symbol();function ge(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]=d(i!==void 0?i.value:r.initialValue,{equals:!1}),[y,l]=d(void 0,{equals:!1}),[f,b]=d(i!==void 0||r.initialValue!==void 0?"ready":"unresolved",{equals:!1}),[x,h]=d(void 0,{equals:!1}),[k,B]=d(void 0,{equals:!1}),A=Oe,j=!1;C(()=>{let T=n();if(k(),T===!1||T===null||T===void 0){A=Oe,g(()=>{b("unresolved"),h(void 0),l(void 0)});return}let w=j;if(j=!1,A!==Oe&&T===A&&!w)return;if(A=T,c){c=!1;return}let X=!1;m(()=>X=!0);let Be=v(f),Tt=v(u),je=Be==="ready"||Be==="refreshing";g(()=>{b(je?"refreshing":"pending"),l(void 0)});try{let R=o(T,{value:Tt,refetching:je});Ht(R)?(h(R),ve(R),R.then(Q=>{X||(s!==void 0&&we(s,Q),g(()=>{p(()=>Q),b("ready"),h(void 0)}))},Q=>{X||g(()=>{l(Q),b("errored"),h(void 0)})})):g(()=>{p(()=>R),b("ready"),h(void 0)})}catch(R){if(X)return;g(()=>{l(R),b("errored"),h(void 0)})}});let Y=()=>{let T=f();return T==="pending"||T==="refreshing"},E=(()=>{let T=y();if(T)throw T;if(Y()){let w=x();if(w)throw w}return u()});return Object.defineProperties(E,{state:{get:f},loading:{get:Y},error:{get:y},latest:{get:u}}),Object.defineProperty(E,Symbol.for("resource"),{value:!0,enumerable:!0}),Object.defineProperty(E,Symbol.for("signal"),{value:!0,enumerable:!0}),[E,{mutate:p,refetch:()=>{j=!0,B(void 0)}}]}function Ze(e,t=300){let[r,n]=d(e),[o,s]=d(e),[i,c]=d(!1),u,p=()=>{u!==void 0&&(clearTimeout(u),u=void 0)},y=()=>{p();let f=v(r);return s(()=>f),c(!1),f},l=(f=>{let b=typeof f=="function"?f(v(r)):f;return n(()=>b),c(!0),p(),u=setTimeout(y,t),b});return m(p),[o,l,{immediate:r,pending:i,flush:y,cancel:()=>{p(),c(!1)}}]}function zt(e){return e!=null&&e!==""}function Yt(e,t,r={}){let{delay:n=300,initialValue:o,shouldFetch:s=zt}=r,[i,c,u]=Ze(e,n),p=()=>s(i())?i():!1,[y,{refetch:l}]=ge(p,t,o===void 0?{}:{initialValue:o});return[y,{...u,query:i,setQuery:c,refetch:l}]}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 Xt(e){let t=S(e);return S(()=>oe(t()))}var Ae=V();Ke((e,t)=>{let r=te(t,Ae);r&&(r.increment(),e.finally(()=>r.decrement()))});function Qt(){let[e,t]=d(0),r=0;return{increment:()=>t(r+=1),decrement:()=>t(r-=1),inFallback:()=>e()>0}}function Jt(e,t){return K(Ae,e,t)}var et=V();We((e,t)=>{let r=te(t,et);return r?(r.setError(e),!0):!1});function Zt(){let[e,t]=d(void 0,{equals:!1});return{error:e,reset:()=>t(()=>{}),setError:n=>t(()=>n)}}function er(e,t){return K(et,e,t)}var tr={State:P,Computed:O,subtle:{Watcher:D,untrack:L,currentComputed:Le,hasSinks:Ve}};var ln=Symbol.for("signal"),pn=Symbol.for("fluixi-proxy");import{$PROXY as _e,batch as ut,createEffect as ie,createMemo as ke,createSignal as ct,untrack as rr}from"@fluixi/reactive/signal";var ae=Symbol("store-raw"),U=Symbol("store-node"),tt=Symbol("store-has"),Ee=Symbol("store-self"),Pe=Symbol("store-track"),nr=Symbol("store-name"),or=Symbol("store-store"),rt=new WeakMap,nt=new WeakMap;function lt(e){let[t,r]=ct(e),n=t;return n.$=r,n}function ue(e){let t=rt.get(e);return t||rt.set(e,t={keys:new Map}),t}function ot(e,t,r){let n=e.keys.get(t);return n||e.keys.set(t,n=lt(r)),n}function st(e){let t=ue(e);(t.all||(t.all=lt()))()}function it(e,t){e.$(typeof t=="function"?()=>t:t)}function pt(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(!pt(e))return e;let t=nt.get(e);if(t)return t;let r=new Proxy(e,sr);return nt.set(e,r),r}var sr={get(e,t,r){if(t===ae||t===U)return e;if(t===_e)return r;if(t===tt)return i=>i in e;if(t==="__proxy")return!0;if(t===Pe||t===Ee)return st(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=ot(ue(e),t,n)();return pt(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===tt||t===Ee||t===Pe?!0:(ot(ue(e),t,e[t])(),t in e)},ownKeys(e){return st(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&&it(c,r),o&&e.length!==s){let u=i.keys.get("length");u&&it(u,e.length)}i.all&&i.all.$(void 0)}function at(e,t){return typeof e=="function"?e(t):e}function De(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)?De(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 ft(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++)ft(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,at(r,e[s]));return}H(e,o,at(r,e[o]))}function Re(e,t,r){ft(e,Ce(t),r)}function ir(e,t){let r=t[0];if(typeof r=="function"&&t.length===1){let n=r(e);n&&n!==e&&De(e,n);return}if(Array.isArray(r)&&t.length===1){for(let n of r)Array.isArray(n)&&Re(e,n[0],n[1]);return}if(r&&typeof r=="object"&&!Array.isArray(r)&&t.length===1){De(e,r);return}if(Array.isArray(t[1])&&t.length>=3){Re(e,`${r}.${t[1].join(".")}`,t[2]);return}Re(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 I(e,t){let r=e;for(let n of Ce(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)=>ut(()=>ir(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 ke(()=>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 ke(()=>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=I(this.root,t);this.set(t,n.concat(r))}pop(t){let r=I(this.root,t).slice(),n=r.pop();return this.set(t,r),n}shift(t){let r=I(this.root,t).slice(),n=r.shift();return this.set(t,r),n}splice(t,r,n,...o){let s=I(this.root,t).slice(),i=s.splice(r,n,...o);return this.set(t,s),i}insert(t,r,n){let o=I(this.root,t).slice();o.splice(r,0,n),this.set(t,o)}removeAt(t,r){let n=I(this.root,t).slice(),o=n.splice(r,1);return this.set(t,n),o}toObservable(){let[t]=ct(this.state);return t.toObservable()}dispose(){}},ar=["get","select","watch","subscribe","produce","reconcile","push","pop","shift","splice","insert","removeAt","unwrap","toObservable"];function dt(e,t){for(let r of ar)e[r]=t[r].bind(t);e.$=t.reactive.bind(t)}function yt(e,t={immutable:!0}){let r=new _(e,t);return dt(r.set,r),[r.proxy,r.set]}function bt(e,t={}){return new _(e,{...t,immutable:!1})}function ur(e,t={}){let r=new _(e(),t);return ie(()=>r.set(e())),r}function cr(e,t,r){return ie(()=>r(t(e)))}function lr(e,t,r){return ke(()=>t(e),void 0,r)}function pr(e,t={}){let r=new _(e,t),n=(()=>r.proxy);return dt(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 ht(e){return rr(()=>z(e))}function fr(e){return Ie(e)}function dr(e){return Ie(e)?e[U]:null}function yr(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 br(e){return e}var hr=Object.freeze({createStore:yt,createMutableStore:bt,batch:ut,unwrap:z,untrackStore:ht});function Ue(e){if(e==null||typeof e!="object")return e;if(Array.isArray(e))return e.map(Ue);let t={};for(let r of Object.keys(e))t[r]=Ue(e[r]);return t}function Tr(e){return t=>{let r=Ue(t);return e(r),r}}function mr(e,t={}){return()=>e}export{nr as $NAME,U as $NODE,pn as $PROXY,ae as $RAW,Ee as $SELF,ln as $SIGNAL,or as $STORE,Pe as $TRACK,N as Observable,ce as SafeSubscriber,tr as Signal,_ as Store,hr as StoreAPI,Me as Subject,M as Subscriber,q as Subscription,Ae as SuspenseContext,de as __DEV__,g as batch,_t as createComputed,ur as createComputedStore,V as createContext,Wt as createDebounce,Yt as createDebouncedResource,Ze as createDebouncedSignal,Gt as createDeferred,C as createEffect,Zt as createErrorBoundary,S as createMemo,bt as createMutableStore,kt as createRenderEffect,ge as createResource,F as createRoot,Kt as createSelector,d as createSignal,yt as createStore,cr as createStoreEffect,lr as createStoreMemo,Qt as createSuspenseBoundary,Pt as flush,dr as getNode,re as getOwner,Se as getServerData,yr as getStoreNode,Nr as indexArray,jt as isComponent,Ut as isMemo,xt as isOwnerDisposed,Mt as isProvider,Bt as isResource,ye as isSignal,fr as isStore,Ie as isStoreProxy,qt as isSuspense,Mr as keyArray,Je as makeArrayFlat,qr as mapArray,br as modifiable,xe as nextResourceId,Dt as on,m as onCleanup,Or as operate,Tr as produceUtil,K as provide,er as provideErrorBoundary,Jt as provideSuspense,Xt as readChildren,mr as reconcileUtil,we as reportResourceData,G as runWithOwner,He as setOwner,Vt as setResourceDataSink,Lt as setResourceIdSource,Nt as setResourceTracker,$t as setServerDataGetter,Qe as startTransition,ve as trackResourcePromise,v as untrack,ht as untrackStore,z as unwrap,wt as useContext,Et as useTransition,pr as wrap};
|
package/dist/lib/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var Se=Object.defineProperty;var Zt=Object.getOwnPropertyDescriptor;var er=Object.getOwnPropertyNames;var tr=Object.prototype.hasOwnProperty;var rr=(e,t)=>{for(var r in t)Se(e,r,{get:t[r],enumerable:!0})},nr=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of er(t))!tr.call(e,o)&&o!==r&&Se(e,o,{get:()=>t[o],enumerable:!(n=Zt(t,o))||n.enumerable});return e};var or=e=>nr(Se({},"__esModule",{value:!0}),e);var gr={};rr(gr,{$NAME:()=>Ut,$NODE:()=>F,$PROXY:()=>Sr,$RAW:()=>J,$SELF:()=>be,$SIGNAL:()=>vr,$STORE:()=>Bt,$TRACK:()=>Te,Observable:()=>B,SafeSubscriber:()=>te,Signal:()=>Rt,Store:()=>_,StoreAPI:()=>Yt,Subject:()=>we,Subscriber:()=>U,Subscription:()=>D,SuspenseContext:()=>ye,__DEV__:()=>ae,batch:()=>w,createComputed:()=>nt,createComputedStore:()=>$t,createContext:()=>q,createDebounce:()=>vt,createDeferred:()=>mt,createEffect:()=>P,createErrorBoundary:()=>At,createMemo:()=>S,createMutableStore:()=>qe,createRenderEffect:()=>ot,createResource:()=>xt,createRoot:()=>k,createSelector:()=>Tt,createSignal:()=>d,createStore:()=>Ne,createStoreEffect:()=>Lt,createStoreMemo:()=>Vt,createSuspenseBoundary:()=>wt,flush:()=>it,getNode:()=>Wt,getOwner:()=>z,getServerData:()=>le,getStoreNode:()=>Ht,indexArray:()=>yr,isComponent:()=>lt,isMemo:()=>ut,isOwnerDisposed:()=>Ye,isProvider:()=>ft,isResource:()=>ct,isSignal:()=>ue,isStore:()=>Gt,isStoreProxy:()=>ve,isSuspense:()=>pt,keyArray:()=>dr,makeArrayFlat:()=>Ee,mapArray:()=>fr,modifiable:()=>zt,nextResourceId:()=>pe,on:()=>at,onCleanup:()=>v,operate:()=>sr,produceUtil:()=>Xt,provide:()=>M,provideErrorBoundary:()=>_t,provideSuspense:()=>Ot,readChildren:()=>St,reconcileUtil:()=>Jt,reportResourceData:()=>fe,runWithOwner:()=>$,setOwner:()=>Ae,setResourceDataSink:()=>bt,setResourceIdSource:()=>ht,setResourceTracker:()=>dt,setServerDataGetter:()=>yt,startTransition:()=>Re,trackResourcePromise:()=>ce,untrack:()=>O,untrackStore:()=>Me,unwrap:()=>V,useContext:()=>Xe,useTransition:()=>st,wrap:()=>Kt});module.exports=or(gr);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 sr(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 ir="__fluixi_signal_next_state__",ar=e=>{typeof queueMicrotask=="function"?queueMicrotask(e):Promise.resolve().then(e)},a=globalThis[ir]??={consumer:null,untracked:!1,owner:null,queue:[],scheduled:!1,flushing:!1,batchDepth:0,hostSchedule:ar,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 Ye(e){return!!e&&e.disposed===!0}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 Xe(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 Je(e){a.onSuspend=e}function Qe(e){return a.onSuspend?(a.onSuspend(e,a.owner),!0):!1}function Ze(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){if(a.owner){if(a.owner.disposed){e();return}(a.owner.cleanups??=[]).push(e)}}function ne(e,t=!0){if(!e.disposed){if(e.owned){for(let r=e.owned.length-1;r>=0;r--)ne(e.owned[r]);e.owned=null}if(e.cleanups){for(let r=e.cleanups.length-1;r>=0;r--)e.cleanups[r]();e.cleanups=null}t&&(e.disposed=!0)}}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 et(e){a.hostSchedule=e??(t=>{Promise.resolve().then(t)})}function ur(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 tt(){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,!1),$(this.owner,()=>{let r=t();typeof r=="function"&&(this.owner.cleanups??=[]).push(r)})}),this.watcher=new N(()=>ur(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 cr(e){return!!e&&typeof e.then=="function"}et(()=>{});var rt=Symbol.for("signal"),lr=Symbol.for("memo"),pr=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),tt(),i});return Object.defineProperty(n,rt,{value:!0,enumerable:!0}),Object.defineProperty(n,pr,{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(cr(c))return Qe(c),n;throw c}}),{equals:r?.equals}),i=(()=>s.get());return Object.defineProperty(i,rt,{value:!0,enumerable:!0}),Object.defineProperty(i,lr,{value:!0,enumerable:!0}),i}function P(e,t){let r=t;return ie(()=>{r=e(r)})}function nt(e,t){let r=t;ie(()=>{r=e(r)})}function ot(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 st(){return[()=>!1,Re]}function it(){return Y(),Promise.resolve()}function at(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 fr(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 dr(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 yr(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,hr=Symbol.for("signal"),br=Symbol.for("memo"),Tr=Symbol.for("resource");function ue(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[Tr]===!0}function lt(e){return typeof e=="function"&&e[Symbol.for("fluixi-component")]===!0}function pt(e){return typeof e=="function"&&e[Symbol.for("fluixi-suspense")]===!0}function ft(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 dt(e){ke=e}function ce(e){ke&&ke(e)}var Pe=null;function yt(e){Pe=e}function le(e){return Pe?Pe(e):void 0}var Fe=null;function ht(e){Fe=e}function pe(){return Fe?Fe():void 0}var Ce=null;function bt(e){Ce=e}function fe(e,t){Ce&&Ce(e,t)}function Tt(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 mt(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 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 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 St(e){let t=S(e);return S(()=>de(t()))}function mr(e){return!!e&&typeof e.then=="function"}var Ie=Symbol();function xt(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),Qt=O(u),Ve=Le==="ready"||Le==="refreshing";w(()=>{b(Ve?"refreshing":"pending"),l(void 0)});try{let E=o(m,{value:Qt,refetching:Ve});mr(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();Je((e,t)=>{let r=se(t,ye);r&&(r.increment(),e.finally(()=>r.decrement()))});function wt(){let[e,t]=d(0),r=0;return{increment:()=>t(r+=1),decrement:()=>t(r-=1),inFallback:()=>e()>0}}function Ot(e,t){return M(ye,e,t)}var gt=q();Ze((e,t)=>{let r=se(t,gt);return r?(r.setError(e),!0):!1});function At(){let[e,t]=d(void 0,{equals:!1});return{error:e,reset:()=>t(()=>{}),setError:n=>t(()=>n)}}function _t(e,t){return M(gt,e,t)}var Rt={State:j,Computed:A,subtle:{Watcher:N,untrack:H,currentComputed:He,hasSinks:ze}};var vr=Symbol.for("signal"),Sr=Symbol.for("fluixi-proxy");var p=require("@fluixi/reactive/signal"),J=Symbol("store-raw"),F=Symbol("store-node"),Et=Symbol("store-has"),be=Symbol("store-self"),Te=Symbol("store-track"),Ut=Symbol("store-name"),Bt=Symbol("store-store"),kt=new WeakMap,Pt=new WeakMap;function jt(e){let[t,r]=(0,p.createSignal)(e),n=t;return n.$=r,n}function me(e){let t=kt.get(e);return t||kt.set(e,t={keys:new Map}),t}function Ft(e,t,r){let n=e.keys.get(t);return n||e.keys.set(t,n=jt(r)),n}function Ct(e){let t=me(e);(t.all||(t.all=jt()))()}function It(e,t){e.$(typeof t=="function"?()=>t:t)}function Nt(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(!Nt(e))return e;let t=Pt.get(e);if(t)return t;let r=new Proxy(e,xr);return Pt.set(e,r),r}var xr={get(e,t,r){if(t===J||t===F)return e;if(t===p.$PROXY)return r;if(t===Et)return i=>i in e;if(t==="__proxy")return!0;if(t===Te||t===be)return Ct(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=Ft(me(e),t,n)();return Nt(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===Et||t===be||t===Te?!0:(Ft(me(e),t,e[t])(),t in e)},ownKeys(e){return Ct(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&&It(c,r),o&&e.length!==s){let u=i.keys.get("length");u&&It(u,e.length)}i.all&&i.all.$(void 0)}function Dt(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 qt(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++)qt(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,Dt(r,e[s]));return}X(e,o,Dt(r,e[o]))}function De(e,t,r){qt(e,je(t),r)}function wr(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)(()=>wr(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(){}},Or=["get","select","watch","subscribe","produce","reconcile","push","pop","shift","splice","insert","removeAt","unwrap","toObservable"];function Mt(e,t){for(let r of Or)e[r]=t[r].bind(t);e.$=t.reactive.bind(t)}function Ne(e,t={immutable:!0}){let r=new _(e,t);return Mt(r.set,r),[r.proxy,r.set]}function qe(e,t={}){return new _(e,{...t,immutable:!1})}function $t(e,t={}){let r=new _(e(),t);return(0,p.createEffect)(()=>r.set(e())),r}function Lt(e,t,r){return(0,p.createEffect)(()=>r(t(e)))}function Vt(e,t,r){return(0,p.createMemo)(()=>t(e),void 0,r)}function Kt(e,t={}){let r=new _(e,t),n=(()=>r.proxy);return Mt(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 Gt(e){return ve(e)}function Wt(e){return ve(e)?e[F]:null}function Ht(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 zt(e){return e}var Yt=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 Xt(e){return t=>{let r=$e(t);return e(r),r}}function Jt(e,t={}){return()=>e}
|
|
1
|
+
"use strict";var xe=Object.defineProperty;var tr=Object.getOwnPropertyDescriptor;var rr=Object.getOwnPropertyNames;var nr=Object.prototype.hasOwnProperty;var or=(e,t)=>{for(var r in t)xe(e,r,{get:t[r],enumerable:!0})},sr=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of rr(t))!nr.call(e,o)&&o!==r&&xe(e,o,{get:()=>t[o],enumerable:!(n=tr(t,o))||n.enumerable});return e};var ir=e=>sr(xe({},"__esModule",{value:!0}),e);var _r={};or(_r,{$NAME:()=>jt,$NODE:()=>D,$PROXY:()=>Or,$RAW:()=>Q,$SELF:()=>Te,$SIGNAL:()=>wr,$STORE:()=>qt,$TRACK:()=>me,Observable:()=>B,SafeSubscriber:()=>te,Signal:()=>Et,Store:()=>R,StoreAPI:()=>Qt,Subject:()=>Oe,Subscriber:()=>U,Subscription:()=>I,SuspenseContext:()=>be,__DEV__:()=>ae,batch:()=>O,createComputed:()=>st,createComputedStore:()=>Vt,createContext:()=>M,createDebounce:()=>xt,createDebouncedResource:()=>wt,createDebouncedSignal:()=>Ue,createDeferred:()=>St,createEffect:()=>P,createErrorBoundary:()=>_t,createMemo:()=>x,createMutableStore:()=>$e,createRenderEffect:()=>it,createResource:()=>de,createRoot:()=>E,createSelector:()=>vt,createSignal:()=>f,createStore:()=>Ne,createStoreEffect:()=>Kt,createStoreMemo:()=>Gt,createSuspenseBoundary:()=>gt,flush:()=>ut,getNode:()=>zt,getOwner:()=>z,getServerData:()=>le,getStoreNode:()=>Yt,indexArray:()=>hr,isComponent:()=>ft,isMemo:()=>lt,isOwnerDisposed:()=>Qe,isProvider:()=>yt,isResource:()=>pt,isSignal:()=>ue,isStore:()=>Ht,isStoreProxy:()=>Se,isSuspense:()=>dt,keyArray:()=>br,makeArrayFlat:()=>Ee,mapArray:()=>yr,modifiable:()=>Xt,nextResourceId:()=>pe,on:()=>ct,onCleanup:()=>v,operate:()=>ar,produceUtil:()=>Jt,provide:()=>N,provideErrorBoundary:()=>kt,provideSuspense:()=>At,readChildren:()=>Ot,reconcileUtil:()=>Zt,reportResourceData:()=>fe,runWithOwner:()=>$,setOwner:()=>Re,setResourceDataSink:()=>mt,setResourceIdSource:()=>Tt,setResourceTracker:()=>bt,setServerDataGetter:()=>ht,startTransition:()=>ke,trackResourcePromise:()=>ce,untrack:()=>S,untrackStore:()=>Le,unwrap:()=>V,useContext:()=>Je,useTransition:()=>at,wrap:()=>Wt});module.exports=ir(_r);var We=require("@fluixi/utils/object"),we=require("@fluixi/utils/functions"),I=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,we.isFunction)(n)&&!(n instanceof e))try{n()}catch(o){console.error("Error in unsubscribe function:",o)}else if((0,We.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,we.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 I{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 ar(e){return new U(e.next,e.error,e.complete)}var B=class extends I{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 Oe=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 ur="__fluixi_signal_next_state__",cr=e=>{typeof queueMicrotask=="function"?queueMicrotask(e):Promise.resolve().then(e)},a=globalThis[ur]??={consumer:null,untracked:!1,owner:null,queue:[],scheduled:!1,flushing:!1,batchDepth:0,hostSchedule:cr,onSuspend:null,onError:null};var He=0,ze=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);ge(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===ze&&this.sources){for(let r of this.sources)if(r.updateIfNecessary(),this.state===W)break}(this.state===W||!this._initialized)&&this.recompute(),this.state=He}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);ge(this)}}markDirty(r){if(this.state>=r)return;let n=this.state===He;if(this.state=r,n){if(this.observers)for(let o of[...this.observers])o.markDirty(ze);ge(this)}}peek(){if(this.updateIfNecessary(),this._threw)throw this._error;return this._value}};function ge(e){if(e.watchers)for(let t of[...e.watchers])t._notify(e)}var q=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 Ye(){return a.consumer}function Xe(e){return!!(e.observers&&e.observers.size)||!!(e.watchers&&e.watchers.size)}function Qe(e){return!!e&&e.disposed===!0}function oe(e){return{cleanups:null,owned:null,parent:e,contexts:null}}function M(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 Je(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 N(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 Ze(e){a.onSuspend=e}function et(e){return a.onSuspend?(a.onSuspend(e,a.owner),!0):!1}function tt(e){a.onError=e}function z(){return a.owner}function Re(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){if(a.owner){if(a.owner.disposed){e();return}(a.owner.cleanups??=[]).push(e)}}function ne(e,t=!0){if(!e.disposed){if(e.owned){for(let r=e.owned.length-1;r>=0;r--)ne(e.owned[r]);e.owned=null}if(e.cleanups){for(let r=e.cleanups.length-1;r>=0;r--)e.cleanups[r]();e.cleanups=null}t&&(e.disposed=!0)}}function E(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 rt(e){a.hostSchedule=e??(t=>{Promise.resolve().then(t)})}function lr(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 nt(){a.batchDepth===0&&Y()}function _e(e){a.batchDepth++;try{return e()}finally{--a.batchDepth===0&&Y()}}var Ae=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,!1),$(this.owner,()=>{let r=t();typeof r=="function"&&(this.owner.cleanups??=[]).push(r)})}),this.watcher=new q(()=>lr(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 Ae(e);return()=>t.dispose()}function pr(e){return!!e&&typeof e.then=="function"}rt(()=>{});var ot=Symbol.for("signal"),fr=Symbol.for("memo"),dr=Symbol.for("signal-node");function f(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),nt(),i});return Object.defineProperty(n,ot,{value:!0,enumerable:!0}),Object.defineProperty(n,dr,{value:{get value(){return r.peek()},get version(){return r.version}},enumerable:!1}),[n,o]}function x(e,t,r){let n=t,o=z(),s=new A(()=>$(o,()=>{try{return n=e(n)}catch(c){if(pr(c))return et(c),n;throw c}}),{equals:r?.equals}),i=(()=>s.get());return Object.defineProperty(i,ot,{value:!0,enumerable:!0}),Object.defineProperty(i,fr,{value:!0,enumerable:!0}),i}function P(e,t){let r=t;return ie(()=>{r=e(r)})}function st(e,t){let r=t;ie(()=>{r=e(r)})}function it(e,t){let r=t;return ie(()=>{r=e(r)})}function O(e){return _e(e)}function S(e){return H(e)}function ke(e){return _e(e),Promise.resolve()}function at(){return[()=>!1,ke]}function ut(){return Y(),Promise.resolve()}function ct(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=H(()=>t(c,o,i));return o=c,u}}function yr(e,t,r){let n=[];return v(()=>{for(let o of n)o.dispose();n=[]}),x(()=>{let o=e()||[];return S(()=>{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],b=s.get(p);if(b&&!c.has(b))b.setIndex(u),i.push(b),c.add(b);else{let l,d,h;E(T=>{h=T;let[F,K]=f(u);d=K,l=t(p,F)});let w={item:p,rendered:l,dispose:h,setIndex:d};i.push(w),c.add(w)}}for(let u of n)c.has(u)||u.dispose();return n=i,i.map(u=>u.rendered)})})}function br(e,t,r,n){let o=[],s=[];return v(()=>{for(let i of s)i.dispose();o=[],s=[]}),x(()=>{let i=e()||[];return S(()=>{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=[],b=new Set;for(let l=0;l<i.length;l++){let d=t(i[l]),h=c.get(d);if(h&&!b.has(d))h.setIndex(l),u.push(h);else{let w,T,F;E(K=>{F=K;let[_,G]=f(l);T=G;let J=x(C=>{let g=(e()||[])[_()];return g??C},i[l]);w=r(J,_)}),u.push({rendered:w,dispose:F,setIndex:T})}p.push(d),b.add(d)}for(let[l,d]of c)b.has(l)||d.dispose();return o=p,s=u,u.map(l=>l.rendered)})})}function hr(e,t,r){let n=[];return v(()=>{for(let o of n)o.dispose();n=[]}),x(()=>{let o=e()||[];return S(()=>{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,b,l,d=o[u];E(h=>{l=h;let[w,T]=f(d);b=T,p=t(w,u)}),n.push({rendered:p,setItem:b,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,Tr=Symbol.for("signal"),mr=Symbol.for("memo"),vr=Symbol.for("resource");function ue(e){return typeof e=="function"&&e[Tr]===!0}function lt(e){return typeof e=="function"&&e[mr]===!0}function pt(e){return typeof e=="function"&&e[vr]===!0}function ft(e){return typeof e=="function"&&e[Symbol.for("fluixi-component")]===!0}function dt(e){return typeof e=="function"&&e[Symbol.for("fluixi-suspense")]===!0}function yt(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 Pe=null;function bt(e){Pe=e}function ce(e){Pe&&Pe(e)}var De=null;function ht(e){De=e}function le(e){return De?De(e):void 0}var Fe=null;function Tt(e){Fe=e}function pe(){return Fe?Fe():void 0}var Ce=null;function mt(e){Ce=e}function fe(e,t){Ce&&Ce(e,t)}function vt(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]=f(!1);o=[s,i],r.set(n,o);let c=e();i(t(n,c))}return o[0]()}}function St(e,t){let[r,n]=f(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 xt(e,t){let r,n=(...o)=>{r!==void 0&&clearTimeout(r),r=setTimeout(()=>{r=void 0,e(...o)},t)};return v(()=>{r!==void 0&&clearTimeout(r)}),n}function Sr(e){return!!e&&typeof e.then=="function"}var Ie=Symbol();function de(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,p]=f(i!==void 0?i.value:r.initialValue,{equals:!1}),[b,l]=f(void 0,{equals:!1}),[d,h]=f(i!==void 0||r.initialValue!==void 0?"ready":"unresolved",{equals:!1}),[w,T]=f(void 0,{equals:!1}),[F,K]=f(void 0,{equals:!1}),_=Ie,G=!1;P(()=>{let m=n();if(F(),m===!1||m===null||m===void 0){_=Ie,O(()=>{h("unresolved"),T(void 0),l(void 0)});return}let g=G;if(G=!1,_!==Ie&&m===_&&!g)return;if(_=m,c){c=!1;return}let Z=!1;v(()=>Z=!0);let Ke=S(d),er=S(u),Ge=Ke==="ready"||Ke==="refreshing";O(()=>{h(Ge?"refreshing":"pending"),l(void 0)});try{let k=o(m,{value:er,refetching:Ge});Sr(k)?(T(k),ce(k),k.then(ee=>{Z||(s!==void 0&&fe(s,ee),O(()=>{p(()=>ee),h("ready"),T(void 0)}))},ee=>{Z||O(()=>{l(ee),h("errored"),T(void 0)})})):O(()=>{p(()=>k),h("ready"),T(void 0)})}catch(k){if(Z)return;O(()=>{l(k),h("errored"),T(void 0)})}});let J=()=>{let m=d();return m==="pending"||m==="refreshing"},C=(()=>{let m=b();if(m)throw m;if(J()){let g=w();if(g)throw g}return u()});return Object.defineProperties(C,{state:{get:d},loading:{get:J},error:{get:b},latest:{get:u}}),Object.defineProperty(C,Symbol.for("resource"),{value:!0,enumerable:!0}),Object.defineProperty(C,Symbol.for("signal"),{value:!0,enumerable:!0}),[C,{mutate:p,refetch:()=>{G=!0,K(void 0)}}]}function Ue(e,t=300){let[r,n]=f(e),[o,s]=f(e),[i,c]=f(!1),u,p=()=>{u!==void 0&&(clearTimeout(u),u=void 0)},b=()=>{p();let d=S(r);return s(()=>d),c(!1),d},l=(d=>{let h=typeof d=="function"?d(S(r)):d;return n(()=>h),c(!0),p(),u=setTimeout(b,t),h});return v(p),[o,l,{immediate:r,pending:i,flush:b,cancel:()=>{p(),c(!1)}}]}function xr(e){return e!=null&&e!==""}function wt(e,t,r={}){let{delay:n=300,initialValue:o,shouldFetch:s=xr}=r,[i,c,u]=Ue(e,n),p=()=>s(i())?i():!1,[b,{refetch:l}]=de(p,t,o===void 0?{}:{initialValue:o});return[b,{...u,query:i,setQuery:c,refetch:l}]}function ye(e){if(typeof e=="function"&&!e.length){let t=e();return ue(t)?t:ye(t)}if(Array.isArray(e)){let t=[];for(let r=0;r<e.length;r++){let n=ye(e[r]);Array.isArray(n)?t.push.apply(t,n):t.push(n)}return t}return e}function Ot(e){let t=x(e);return x(()=>ye(t()))}var be=M();Ze((e,t)=>{let r=se(t,be);r&&(r.increment(),e.finally(()=>r.decrement()))});function gt(){let[e,t]=f(0),r=0;return{increment:()=>t(r+=1),decrement:()=>t(r-=1),inFallback:()=>e()>0}}function At(e,t){return N(be,e,t)}var Rt=M();tt((e,t)=>{let r=se(t,Rt);return r?(r.setError(e),!0):!1});function _t(){let[e,t]=f(void 0,{equals:!1});return{error:e,reset:()=>t(()=>{}),setError:n=>t(()=>n)}}function kt(e,t){return N(Rt,e,t)}var Et={State:j,Computed:A,subtle:{Watcher:q,untrack:H,currentComputed:Ye,hasSinks:Xe}};var wr=Symbol.for("signal"),Or=Symbol.for("fluixi-proxy");var y=require("@fluixi/reactive/signal"),Q=Symbol("store-raw"),D=Symbol("store-node"),Pt=Symbol("store-has"),Te=Symbol("store-self"),me=Symbol("store-track"),jt=Symbol("store-name"),qt=Symbol("store-store"),Dt=new WeakMap,Ft=new WeakMap;function Mt(e){let[t,r]=(0,y.createSignal)(e),n=t;return n.$=r,n}function ve(e){let t=Dt.get(e);return t||Dt.set(e,t={keys:new Map}),t}function Ct(e,t,r){let n=e.keys.get(t);return n||e.keys.set(t,n=Mt(r)),n}function It(e){let t=ve(e);(t.all||(t.all=Mt()))()}function Ut(e,t){e.$(typeof t=="function"?()=>t:t)}function Nt(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(!Nt(e))return e;let t=Ft.get(e);if(t)return t;let r=new Proxy(e,gr);return Ft.set(e,r),r}var gr={get(e,t,r){if(t===Q||t===D)return e;if(t===y.$PROXY)return r;if(t===Pt)return i=>i in e;if(t==="__proxy")return!0;if(t===me||t===Te)return It(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=Ct(ve(e),t,n)();return Nt(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===Q||t===y.$PROXY||t===D||t===Pt||t===Te||t===me?!0:(Ct(ve(e),t,e[t])(),t in e)},ownKeys(e){return It(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=ve(e),c=i.keys.get(t);if(c&&Ut(c,r),o&&e.length!==s){let u=i.keys.get("length");u&&Ut(u,e.length)}i.all&&i.all.$(void 0)}function Bt(e,t){return typeof e=="function"?e(t):e}function je(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)?je(o,n):X(e,r,n)}}function Me(e){let t=[],r=e.replace(/\[([^\]]*)\]/g,".$1");for(let n of r.split("."))n.length&&t.push(n);return t}function $t(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++)$t(e[p],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,Bt(r,e[s]));return}X(e,o,Bt(r,e[o]))}function Be(e,t,r){$t(e,Me(t),r)}function Ar(e,t){let r=t[0];if(typeof r=="function"&&t.length===1){let n=r(e);n&&n!==e&&je(e,n);return}if(Array.isArray(r)&&t.length===1){for(let n of r)Array.isArray(n)&&Be(e,n[0],n[1]);return}if(r&&typeof r=="object"&&!Array.isArray(r)&&t.length===1){je(e,r);return}if(Array.isArray(t[1])&&t.length>=3){Be(e,`${r}.${t[1].join(".")}`,t[2]);return}Be(e,String(r),t[1])}function qe(e){if(e==null||typeof e!="object")return e;if(Array.isArray(e))return e.map(qe);let t={};for(let r of Object.keys(e))t[r]=qe(e[r]);return t}function L(e,t){let r=e;for(let n of Me(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)=>(0,y.batch)(()=>Ar(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 Me(t)){if(r==null)return;r=r[n]}return V(r)}select(t){return(0,y.createMemo)(()=>t(this.state))}subscribe(t){return(0,y.createEffect)(()=>t(this.state))}watch(t,r){let n;return(0,y.createEffect)(()=>{let o=t(this.state);Object.is(o,n)||(r(o,n),n=o)})}reactive(t){return(0,y.createMemo)(()=>this.state[t])}produce(t){this.set((r=>{let n=qe(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,y.createSignal)(this.state);return t.toObservable()}dispose(){}},Rr=["get","select","watch","subscribe","produce","reconcile","push","pop","shift","splice","insert","removeAt","unwrap","toObservable"];function Lt(e,t){for(let r of Rr)e[r]=t[r].bind(t);e.$=t.reactive.bind(t)}function Ne(e,t={immutable:!0}){let r=new R(e,t);return Lt(r.set,r),[r.proxy,r.set]}function $e(e,t={}){return new R(e,{...t,immutable:!1})}function Vt(e,t={}){let r=new R(e(),t);return(0,y.createEffect)(()=>r.set(e())),r}function Kt(e,t,r){return(0,y.createEffect)(()=>r(t(e)))}function Gt(e,t,r){return(0,y.createMemo)(()=>t(e),void 0,r)}function Wt(e,t={}){let r=new R(e,t),n=(()=>r.proxy);return Lt(n,r),n}function V(e){if(e==null||typeof e!="object")return e;let t=e[Q];return t!==void 0?t:e}function Le(e){return(0,y.untrack)(()=>V(e))}function Ht(e){return Se(e)}function zt(e){return Se(e)?e[D]:null}function Yt(e){return e&&typeof e=="object"&&D in e?e[D]:null}function Se(e){return!!e&&typeof e=="object"&&(y.$PROXY in e||e.__proxy===!0)}function Xt(e){return e}var Qt=Object.freeze({createStore:Ne,createMutableStore:$e,batch:y.batch,unwrap:V,untrackStore:Le});function Ve(e){if(e==null||typeof e!="object")return e;if(Array.isArray(e))return e.map(Ve);let t={};for(let r of Object.keys(e))t[r]=Ve(e[r]);return t}function Jt(e){return t=>{let r=Ve(t);return e(r),r}}function Zt(e,t={}){return()=>e}
|
package/dist/lib/index.mjs
CHANGED
|
@@ -1 +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 Sr(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 vt(e){return!!e&&e.disposed===!0}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 St(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){if(a.owner){if(a.owner.disposed){e();return}(a.owner.cleanups??=[]).push(e)}}function Z(e,t=!0){if(!e.disposed){if(e.owned){for(let r=e.owned.length-1;r>=0;r--)Z(e.owned[r]);e.owned=null}if(e.cleanups){for(let r=e.cleanups.length-1;r>=0;r--)e.cleanups[r]();e.cleanups=null}t&&(e.disposed=!0)}}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 xt(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,!1),G(this.owner,()=>{let r=t();typeof r=="function"&&(this.owner.cleanups??=[]).push(r)})}),this.watcher=new F(()=>xt(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 wt(e){return!!e&&typeof e.then=="function"}He(()=>{});var Ye=Symbol.for("signal"),Ot=Symbol.for("memo"),gt=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,gt,{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(wt(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,Ot,{value:!0,enumerable:!0}),i}function I(e,t){let r=t;return ne(()=>{r=e(r)})}function At(e,t){let r=t;ne(()=>{r=e(r)})}function _t(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 Rt(){return[()=>!1,Xe]}function Et(){return W(),Promise.resolve()}function kt(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 Ur(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 Br(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 jr(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,Pt=Symbol.for("signal"),Ft=Symbol.for("memo"),Ct=Symbol.for("resource");function ye(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[Ct]===!0}function Ut(e){return typeof e=="function"&&e[Symbol.for("fluixi-component")]===!0}function Bt(e){return typeof e=="function"&&e[Symbol.for("fluixi-suspense")]===!0}function jt(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 Nt(e){he=e}function ve(e){he&&he(e)}var be=null;function qt(e){be=e}function Se(e){return be?be(e):void 0}var Te=null;function Mt(e){Te=e}function xe(){return Te?Te():void 0}var me=null;function $t(e){me=e}function we(e,t){me&&me(e,t)}function Lt(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 Vt(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 Kt(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 Gt(e){let t=v(e);return v(()=>oe(t()))}function Wt(e){return!!e&&typeof e.then=="function"}var Oe=Symbol();function Ht(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});Wt(_)?(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 zt(){let[e,t]=f(0),r=0;return{increment:()=>t(r+=1),decrement:()=>t(r-=1),inFallback:()=>e()>0}}function Yt(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 Xt(){let[e,t]=f(void 0,{equals:!1});return{error:e,reset:()=>t(()=>{}),setError:n=>t(()=>n)}}function Jt(e,t){return K(Qe,e,t)}var Qt={State:P,Computed:w,subtle:{Watcher:F,untrack:L,currentComputed:$e,hasSinks:Le}};var nn=Symbol.for("signal"),on=Symbol.for("fluixi-proxy");import{$PROXY as _e,batch as it,createEffect as ie,createMemo as Re,createSignal as at,untrack as Zt}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"),er=Symbol("store-name"),tr=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,rr);return tt.set(e,r),r}var rr={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 nr(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(()=>nr(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(){}},or=["get","select","watch","subscribe","produce","reconcile","push","pop","shift","splice","insert","removeAt","unwrap","toObservable"];function pt(e,t){for(let r of or)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 sr(e,t={}){let r=new R(e(),t);return ie(()=>r.set(e())),r}function ir(e,t,r){return ie(()=>r(t(e)))}function ar(e,t,r){return Re(()=>t(e),void 0,r)}function ur(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 Zt(()=>z(e))}function cr(e){return Ie(e)}function lr(e){return Ie(e)?e[U]:null}function pr(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 fr(e){return e}var dr=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 yr(e){return t=>{let r=De(t);return e(r),r}}function hr(e,t={}){return()=>e}export{er as $NAME,U as $NODE,on as $PROXY,ae as $RAW,Ee as $SELF,nn as $SIGNAL,tr as $STORE,ke as $TRACK,M as Observable,ce as SafeSubscriber,Qt as Signal,R as Store,dr as StoreAPI,Ne as Subject,q as Subscriber,N as Subscription,ge as SuspenseContext,de as __DEV__,O as batch,At as createComputed,sr as createComputedStore,V as createContext,Kt as createDebounce,Vt as createDeferred,I as createEffect,Xt as createErrorBoundary,v as createMemo,dt as createMutableStore,_t as createRenderEffect,Ht as createResource,C as createRoot,Lt as createSelector,f as createSignal,ft as createStore,ir as createStoreEffect,ar as createStoreMemo,zt as createSuspenseBoundary,Et as flush,lr as getNode,re as getOwner,Se as getServerData,pr as getStoreNode,jr as indexArray,Ut as isComponent,It as isMemo,vt as isOwnerDisposed,jt as isProvider,Dt as isResource,ye as isSignal,cr as isStore,Ie as isStoreProxy,Bt as isSuspense,Br as keyArray,Je as makeArrayFlat,Ur as mapArray,fr as modifiable,xe as nextResourceId,kt as on,m as onCleanup,Sr as operate,yr as produceUtil,K as provide,Jt as provideErrorBoundary,Yt as provideSuspense,Gt as readChildren,hr as reconcileUtil,we as reportResourceData,G as runWithOwner,We as setOwner,$t as setResourceDataSink,Mt as setResourceIdSource,Nt as setResourceTracker,qt as setServerDataGetter,Xe as startTransition,ve as trackResourcePromise,g as untrack,yt as untrackStore,z as unwrap,St as useContext,Rt as useTransition,ur as wrap};
|
|
1
|
+
import{isObject as mt}from"@fluixi/utils/object";import{isFunction as qe}from"@fluixi/utils/functions";var q=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(qe(n)&&!(n instanceof e))try{n()}catch(o){console.error("Error in unsubscribe function:",o)}else if(mt(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(qe(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 M=class extends q{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 M{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 M(e.next,e.error,e.complete)}var N=class extends q{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 M?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 Me=class extends N{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 N(n=>this.subscribe(n))}};var vt="__fluixi_signal_next_state__",St=e=>{typeof queueMicrotask=="function"?queueMicrotask(e):Promise.resolve().then(e)},a=globalThis[vt]??={consumer:null,untracked:!1,owner:null,queue:[],scheduled:!1,flushing:!1,batchDepth:0,hostSchedule:St,onSuspend:null,onError:null};var Ne=0,$e=1,$=2,J=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 J{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}},O=class extends J{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===$e&&this.sources){for(let r of this.sources)if(r.updateIfNecessary(),this.state===$)break}(this.state===$||!this._initialized)&&this.recompute(),this.state=Ne}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===Ne;if(this.state=r,n){if(this.observers)for(let o of[...this.observers])o.markDirty($e);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 D=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 Le(){return a.consumer}function Ve(e){return!!(e.observers&&e.observers.size)||!!(e.watchers&&e.watchers.size)}function xt(e){return!!e&&e.disposed===!0}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 wt(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 Ke(e){a.onSuspend=e}function Ge(e){return a.onSuspend?(a.onSuspend(e,a.owner),!0):!1}function We(e){a.onError=e}function re(){return a.owner}function He(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){if(a.owner){if(a.owner.disposed){e();return}(a.owner.cleanups??=[]).push(e)}}function Z(e,t=!0){if(!e.disposed){if(e.owned){for(let r=e.owned.length-1;r>=0;r--)Z(e.owned[r]);e.owned=null}if(e.cleanups){for(let r=e.cleanups.length-1;r>=0;r--)e.cleanups[r]();e.cleanups=null}t&&(e.disposed=!0)}}function F(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 ze(e){a.hostSchedule=e??(t=>{Promise.resolve().then(t)})}function Ot(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 Ye(){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 O(()=>{Z(this.owner,!1),G(this.owner,()=>{let r=t();typeof r=="function"&&(this.owner.cleanups??=[]).push(r)})}),this.watcher=new D(()=>Ot(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 gt(e){return!!e&&typeof e.then=="function"}ze(()=>{});var Xe=Symbol.for("signal"),At=Symbol.for("memo"),Rt=Symbol.for("signal-node");function d(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),Ye(),i});return Object.defineProperty(n,Xe,{value:!0,enumerable:!0}),Object.defineProperty(n,Rt,{value:{get value(){return r.peek()},get version(){return r.version}},enumerable:!1}),[n,o]}function S(e,t,r){let n=t,o=re(),s=new O(()=>G(o,()=>{try{return n=e(n)}catch(c){if(gt(c))return Ge(c),n;throw c}}),{equals:r?.equals}),i=(()=>s.get());return Object.defineProperty(i,Xe,{value:!0,enumerable:!0}),Object.defineProperty(i,At,{value:!0,enumerable:!0}),i}function C(e,t){let r=t;return ne(()=>{r=e(r)})}function _t(e,t){let r=t;ne(()=>{r=e(r)})}function kt(e,t){let r=t;return ne(()=>{r=e(r)})}function g(e){return fe(e)}function v(e){return L(e)}function Qe(e){return fe(e),Promise.resolve()}function Et(){return[()=>!1,Qe]}function Pt(){return W(),Promise.resolve()}function Dt(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 qr(e,t,r){let n=[];return m(()=>{for(let o of n)o.dispose();n=[]}),S(()=>{let o=e()||[];return v(()=>{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],y=s.get(p);if(y&&!c.has(y))y.setIndex(u),i.push(y),c.add(y);else{let l,f,b;F(h=>{b=h;let[k,B]=d(u);f=B,l=t(p,k)});let x={item:p,rendered:l,dispose:b,setIndex:f};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 Mr(e,t,r,n){let o=[],s=[];return m(()=>{for(let i of s)i.dispose();o=[],s=[]}),S(()=>{let i=e()||[];return v(()=>{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=[],y=new Set;for(let l=0;l<i.length;l++){let f=t(i[l]),b=c.get(f);if(b&&!y.has(f))b.setIndex(l),u.push(b);else{let x,h,k;F(B=>{k=B;let[A,j]=d(l);h=j;let Y=S(E=>{let w=(e()||[])[A()];return w??E},i[l]);x=r(Y,A)}),u.push({rendered:x,dispose:k,setIndex:h})}p.push(f),y.add(f)}for(let[l,f]of c)y.has(l)||f.dispose();return o=p,s=u,u.map(l=>l.rendered)})})}function Nr(e,t,r){let n=[];return m(()=>{for(let o of n)o.dispose();n=[]}),S(()=>{let o=e()||[];return v(()=>{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,y,l,f=o[u];F(b=>{l=b;let[x,h]=d(f);y=h,p=t(x,u)}),n.push({rendered:p,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 de=!1,Ft=Symbol.for("signal"),Ct=Symbol.for("memo"),It=Symbol.for("resource");function ye(e){return typeof e=="function"&&e[Ft]===!0}function Ut(e){return typeof e=="function"&&e[Ct]===!0}function Bt(e){return typeof e=="function"&&e[It]===!0}function jt(e){return typeof e=="function"&&e[Symbol.for("fluixi-component")]===!0}function qt(e){return typeof e=="function"&&e[Symbol.for("fluixi-suspense")]===!0}function Mt(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 be=null;function Nt(e){be=e}function ve(e){be&&be(e)}var he=null;function $t(e){he=e}function Se(e){return he?he(e):void 0}var Te=null;function Lt(e){Te=e}function xe(){return Te?Te():void 0}var me=null;function Vt(e){me=e}function we(e,t){me&&me(e,t)}function Kt(e,t=(r,n)=>r===n){let r=new Map;return C(()=>{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 Gt(e,t){let[r,n]=d(e(),t);return C(()=>{let o=e();t?.timeoutMs?setTimeout(()=>n(()=>o),t.timeoutMs):typeof requestIdleCallback=="function"?requestIdleCallback(()=>n(()=>o)):Promise.resolve().then(()=>n(()=>o))}),r}function Wt(e,t){let r,n=(...o)=>{r!==void 0&&clearTimeout(r),r=setTimeout(()=>{r=void 0,e(...o)},t)};return m(()=>{r!==void 0&&clearTimeout(r)}),n}function Ht(e){return!!e&&typeof e.then=="function"}var Oe=Symbol();function ge(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]=d(i!==void 0?i.value:r.initialValue,{equals:!1}),[y,l]=d(void 0,{equals:!1}),[f,b]=d(i!==void 0||r.initialValue!==void 0?"ready":"unresolved",{equals:!1}),[x,h]=d(void 0,{equals:!1}),[k,B]=d(void 0,{equals:!1}),A=Oe,j=!1;C(()=>{let T=n();if(k(),T===!1||T===null||T===void 0){A=Oe,g(()=>{b("unresolved"),h(void 0),l(void 0)});return}let w=j;if(j=!1,A!==Oe&&T===A&&!w)return;if(A=T,c){c=!1;return}let X=!1;m(()=>X=!0);let Be=v(f),Tt=v(u),je=Be==="ready"||Be==="refreshing";g(()=>{b(je?"refreshing":"pending"),l(void 0)});try{let R=o(T,{value:Tt,refetching:je});Ht(R)?(h(R),ve(R),R.then(Q=>{X||(s!==void 0&&we(s,Q),g(()=>{p(()=>Q),b("ready"),h(void 0)}))},Q=>{X||g(()=>{l(Q),b("errored"),h(void 0)})})):g(()=>{p(()=>R),b("ready"),h(void 0)})}catch(R){if(X)return;g(()=>{l(R),b("errored"),h(void 0)})}});let Y=()=>{let T=f();return T==="pending"||T==="refreshing"},E=(()=>{let T=y();if(T)throw T;if(Y()){let w=x();if(w)throw w}return u()});return Object.defineProperties(E,{state:{get:f},loading:{get:Y},error:{get:y},latest:{get:u}}),Object.defineProperty(E,Symbol.for("resource"),{value:!0,enumerable:!0}),Object.defineProperty(E,Symbol.for("signal"),{value:!0,enumerable:!0}),[E,{mutate:p,refetch:()=>{j=!0,B(void 0)}}]}function Ze(e,t=300){let[r,n]=d(e),[o,s]=d(e),[i,c]=d(!1),u,p=()=>{u!==void 0&&(clearTimeout(u),u=void 0)},y=()=>{p();let f=v(r);return s(()=>f),c(!1),f},l=(f=>{let b=typeof f=="function"?f(v(r)):f;return n(()=>b),c(!0),p(),u=setTimeout(y,t),b});return m(p),[o,l,{immediate:r,pending:i,flush:y,cancel:()=>{p(),c(!1)}}]}function zt(e){return e!=null&&e!==""}function Yt(e,t,r={}){let{delay:n=300,initialValue:o,shouldFetch:s=zt}=r,[i,c,u]=Ze(e,n),p=()=>s(i())?i():!1,[y,{refetch:l}]=ge(p,t,o===void 0?{}:{initialValue:o});return[y,{...u,query:i,setQuery:c,refetch:l}]}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 Xt(e){let t=S(e);return S(()=>oe(t()))}var Ae=V();Ke((e,t)=>{let r=te(t,Ae);r&&(r.increment(),e.finally(()=>r.decrement()))});function Qt(){let[e,t]=d(0),r=0;return{increment:()=>t(r+=1),decrement:()=>t(r-=1),inFallback:()=>e()>0}}function Jt(e,t){return K(Ae,e,t)}var et=V();We((e,t)=>{let r=te(t,et);return r?(r.setError(e),!0):!1});function Zt(){let[e,t]=d(void 0,{equals:!1});return{error:e,reset:()=>t(()=>{}),setError:n=>t(()=>n)}}function er(e,t){return K(et,e,t)}var tr={State:P,Computed:O,subtle:{Watcher:D,untrack:L,currentComputed:Le,hasSinks:Ve}};var ln=Symbol.for("signal"),pn=Symbol.for("fluixi-proxy");import{$PROXY as _e,batch as ut,createEffect as ie,createMemo as ke,createSignal as ct,untrack as rr}from"@fluixi/reactive/signal";var ae=Symbol("store-raw"),U=Symbol("store-node"),tt=Symbol("store-has"),Ee=Symbol("store-self"),Pe=Symbol("store-track"),nr=Symbol("store-name"),or=Symbol("store-store"),rt=new WeakMap,nt=new WeakMap;function lt(e){let[t,r]=ct(e),n=t;return n.$=r,n}function ue(e){let t=rt.get(e);return t||rt.set(e,t={keys:new Map}),t}function ot(e,t,r){let n=e.keys.get(t);return n||e.keys.set(t,n=lt(r)),n}function st(e){let t=ue(e);(t.all||(t.all=lt()))()}function it(e,t){e.$(typeof t=="function"?()=>t:t)}function pt(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(!pt(e))return e;let t=nt.get(e);if(t)return t;let r=new Proxy(e,sr);return nt.set(e,r),r}var sr={get(e,t,r){if(t===ae||t===U)return e;if(t===_e)return r;if(t===tt)return i=>i in e;if(t==="__proxy")return!0;if(t===Pe||t===Ee)return st(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=ot(ue(e),t,n)();return pt(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===tt||t===Ee||t===Pe?!0:(ot(ue(e),t,e[t])(),t in e)},ownKeys(e){return st(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&&it(c,r),o&&e.length!==s){let u=i.keys.get("length");u&&it(u,e.length)}i.all&&i.all.$(void 0)}function at(e,t){return typeof e=="function"?e(t):e}function De(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)?De(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 ft(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++)ft(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,at(r,e[s]));return}H(e,o,at(r,e[o]))}function Re(e,t,r){ft(e,Ce(t),r)}function ir(e,t){let r=t[0];if(typeof r=="function"&&t.length===1){let n=r(e);n&&n!==e&&De(e,n);return}if(Array.isArray(r)&&t.length===1){for(let n of r)Array.isArray(n)&&Re(e,n[0],n[1]);return}if(r&&typeof r=="object"&&!Array.isArray(r)&&t.length===1){De(e,r);return}if(Array.isArray(t[1])&&t.length>=3){Re(e,`${r}.${t[1].join(".")}`,t[2]);return}Re(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 I(e,t){let r=e;for(let n of Ce(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)=>ut(()=>ir(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 ke(()=>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 ke(()=>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=I(this.root,t);this.set(t,n.concat(r))}pop(t){let r=I(this.root,t).slice(),n=r.pop();return this.set(t,r),n}shift(t){let r=I(this.root,t).slice(),n=r.shift();return this.set(t,r),n}splice(t,r,n,...o){let s=I(this.root,t).slice(),i=s.splice(r,n,...o);return this.set(t,s),i}insert(t,r,n){let o=I(this.root,t).slice();o.splice(r,0,n),this.set(t,o)}removeAt(t,r){let n=I(this.root,t).slice(),o=n.splice(r,1);return this.set(t,n),o}toObservable(){let[t]=ct(this.state);return t.toObservable()}dispose(){}},ar=["get","select","watch","subscribe","produce","reconcile","push","pop","shift","splice","insert","removeAt","unwrap","toObservable"];function dt(e,t){for(let r of ar)e[r]=t[r].bind(t);e.$=t.reactive.bind(t)}function yt(e,t={immutable:!0}){let r=new _(e,t);return dt(r.set,r),[r.proxy,r.set]}function bt(e,t={}){return new _(e,{...t,immutable:!1})}function ur(e,t={}){let r=new _(e(),t);return ie(()=>r.set(e())),r}function cr(e,t,r){return ie(()=>r(t(e)))}function lr(e,t,r){return ke(()=>t(e),void 0,r)}function pr(e,t={}){let r=new _(e,t),n=(()=>r.proxy);return dt(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 ht(e){return rr(()=>z(e))}function fr(e){return Ie(e)}function dr(e){return Ie(e)?e[U]:null}function yr(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 br(e){return e}var hr=Object.freeze({createStore:yt,createMutableStore:bt,batch:ut,unwrap:z,untrackStore:ht});function Ue(e){if(e==null||typeof e!="object")return e;if(Array.isArray(e))return e.map(Ue);let t={};for(let r of Object.keys(e))t[r]=Ue(e[r]);return t}function Tr(e){return t=>{let r=Ue(t);return e(r),r}}function mr(e,t={}){return()=>e}export{nr as $NAME,U as $NODE,pn as $PROXY,ae as $RAW,Ee as $SELF,ln as $SIGNAL,or as $STORE,Pe as $TRACK,N as Observable,ce as SafeSubscriber,tr as Signal,_ as Store,hr as StoreAPI,Me as Subject,M as Subscriber,q as Subscription,Ae as SuspenseContext,de as __DEV__,g as batch,_t as createComputed,ur as createComputedStore,V as createContext,Wt as createDebounce,Yt as createDebouncedResource,Ze as createDebouncedSignal,Gt as createDeferred,C as createEffect,Zt as createErrorBoundary,S as createMemo,bt as createMutableStore,kt as createRenderEffect,ge as createResource,F as createRoot,Kt as createSelector,d as createSignal,yt as createStore,cr as createStoreEffect,lr as createStoreMemo,Qt as createSuspenseBoundary,Pt as flush,dr as getNode,re as getOwner,Se as getServerData,yr as getStoreNode,Nr as indexArray,jt as isComponent,Ut as isMemo,xt as isOwnerDisposed,Mt as isProvider,Bt as isResource,ye as isSignal,fr as isStore,Ie as isStoreProxy,qt as isSuspense,Mr as keyArray,Je as makeArrayFlat,qr as mapArray,br as modifiable,xe as nextResourceId,Dt as on,m as onCleanup,Or as operate,Tr as produceUtil,K as provide,er as provideErrorBoundary,Jt as provideSuspense,Xt as readChildren,mr as reconcileUtil,we as reportResourceData,G as runWithOwner,He as setOwner,Vt as setResourceDataSink,Lt as setResourceIdSource,Nt as setResourceTracker,$t as setServerDataGetter,Qe as startTransition,ve as trackResourcePromise,v as untrack,ht as untrackStore,z as unwrap,wt as useContext,Et as useTransition,pr as wrap};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var I=Object.defineProperty;var de=Object.getOwnPropertyDescriptor;var fe=Object.getOwnPropertyNames;var pe=Object.prototype.hasOwnProperty;var he=(e,t)=>{for(var n in t)I(e,n,{get:t[n],enumerable:!0})},Te=(e,t,n,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of fe(t))!pe.call(e,o)&&o!==n&&I(e,o,{get:()=>t[o],enumerable:!(s=de(t,o))||s.enumerable});return e};var ve=e=>Te(I({},"__esModule",{value:!0}),e);var Oe={};he(Oe,{createDebouncedResource:()=>Re,createDebouncedSignal:()=>ie});module.exports=ve(Oe);var we="__fluixi_signal_next_state__",me=e=>{typeof queueMicrotask=="function"?queueMicrotask(e):Promise.resolve().then(e)},r=globalThis[we]??={consumer:null,untracked:!1,owner:null,queue:[],scheduled:!1,flushing:!1,batchDepth:0,hostSchedule:me,onSuspend:null,onError:null};var H=0,K=1,b=2,q=class{constructor(){this.observers=null;this.watchers=null;this.version=0}updateIfNecessary(){}track(){if(r.untracked)return;let t=r.consumer;t&&((this.observers??=new Set).add(t),(t.sources??=new Set).add(this))}},D=class extends q{constructor(t,n){super(),this._value=t,this._equals=n?.equals===!1?()=>!1:n?.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 n of[...this.observers])n.markDirty(b);N(this)}}peek(){return this._value}},g=class extends q{constructor(n,s){super();this._threw=!1;this._initialized=!1;this.state=b;this.sources=null;this._fn=n,this._equals=s?.equals===!1?()=>!1:s?.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===K&&this.sources){for(let n of this.sources)if(n.updateIfNecessary(),this.state===b)break}(this.state===b||!this._initialized)&&this.recompute(),this.state=H}recompute(){if(this.sources){for(let a of this.sources)a.observers?.delete(this);this.sources.clear()}let n=r.consumer,s=r.untracked;r.consumer=this,r.untracked=!1;let o,i=!1,u;try{o=this._fn()}catch(a){i=!0,u=a,o=this._value}finally{r.consumer=n,r.untracked=s}let l=!this._initialized||this._threw!==i||(i?u!==this._error:!this._equals(this._value,o));if(this._initialized=!0,this._threw=i,this._error=u,this._value=o,l){if(this.version++,this.observers)for(let a of[...this.observers])a.markDirty(b);N(this)}}markDirty(n){if(this.state>=n)return;let s=this.state===H;if(this.state=n,s){if(this.observers)for(let o of[...this.observers])o.markDirty(K);N(this)}}peek(){if(this.updateIfNecessary(),this._threw)throw this._error;return this._value}};function N(e){if(e.watchers)for(let t of[...e.watchers])t._notify(e)}var C=class{constructor(t){this._watched=new Set;this._pending=new Set;this._notifyFn=t}watch(...t){for(let n of t)this._watched.add(n),(n.watchers??=new Set).add(this)}unwatch(...t){for(let n of t)this._watched.delete(n),n.watchers?.delete(this),this._pending.delete(n)}getPending(){let t=[...this._pending];return this._pending.clear(),t}_notify(t){if(!this._watched.has(t)||this._pending.has(t))return;let n=this._pending.size===0;this._pending.add(t),n&&this._notifyFn()}};function L(e){if(r.untracked)return e();r.untracked=!0;try{return e()}finally{r.untracked=!1}}function ye(e){return{cleanups:null,owned:null,parent:e,contexts:null}}function M(e,t){let n=r.owner;r.owner=e;try{return t()}finally{r.owner=n}}function x(e){if(r.owner){if(r.owner.disposed){e();return}(r.owner.cleanups??=[]).push(e)}}function V(e,t=!0){if(!e.disposed){if(e.owned){for(let n=e.owned.length-1;n>=0;n--)V(e.owned[n]);e.owned=null}if(e.cleanups){for(let n=e.cleanups.length-1;n>=0;n--)e.cleanups[n]();e.cleanups=null}t&&(e.disposed=!0)}}function U(e){r.hostSchedule=e??(t=>{Promise.resolve().then(t)})}function Se(e){e.queued||(e.queued=!0,r.queue.push(e),!r.scheduled&&r.batchDepth===0&&(r.scheduled=!0,r.hostSchedule(A)))}function A(){if(r.scheduled=!1,r.flushing)return;r.flushing=!0;let e=0;try{for(;r.queue.length;){if(++e>1e5)throw new Error("[fluixi] effect flush did not settle (cycle?)");let t=r.queue;r.queue=[];for(let n of t)n.queued=!1,n.disposed||n.run()}}finally{r.flushing=!1}}function Y(){r.batchDepth===0&&A()}function $(e){r.batchDepth++;try{return e()}finally{--r.batchDepth===0&&A()}}var j=class{constructor(t){this.queued=!1;this.disposed=!1;this.owner=ye(r.owner),r.owner&&(r.owner.cleanups??=[]).push(()=>this.dispose()),this.computed=new g(()=>{V(this.owner,!1),M(this.owner,()=>{let n=t();typeof n=="function"&&(this.owner.cleanups??=[]).push(n)})}),this.watcher=new C(()=>Se(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"&&r.onSuspend){r.onSuspend(t,this.owner);return}if(r.onError&&r.onError(t,this.owner))return;throw t}}}dispose(){this.disposed||(this.disposed=!0,this.watcher.unwatch(this.computed),V(this.owner))}};function Q(e){let t=new j(e);return()=>t.dispose()}U(()=>{});var ge=Symbol.for("signal");var xe=Symbol.for("signal-node");function p(e,t){let n=new D(e,{equals:t?.equals}),s=(()=>n.get()),o=(i=>{let u=typeof i=="function"?i(n.peek()):i;return n.set(u),Y(),u});return Object.defineProperty(s,ge,{value:!0,enumerable:!0}),Object.defineProperty(s,xe,{value:{get value(){return n.peek()},get version(){return n.version}},enumerable:!1}),[s,o]}function B(e,t){let n=t;return Q(()=>{n=e(n)})}function m(e){return $(e)}function S(e){return L(e)}var J=null;function te(e){J&&J(e)}var X=null;function ne(e){return X?X(e):void 0}var Z=null;function re(){return Z?Z():void 0}var ee=null;function oe(e,t){ee&&ee(e,t)}function ke(e){return!!e&&typeof e.then=="function"}var F=Symbol();function se(e,t,n={}){let s,o;typeof t=="function"?(s=typeof e=="function"?e:()=>e,o=t):(s=()=>!0,o=e,t&&typeof t=="object"&&(n=t));let i=re(),u=i!==void 0?ne(i):void 0,l=u!==void 0,[a,d]=p(u!==void 0?u.value:n.initialValue,{equals:!1}),[v,T]=p(void 0,{equals:!1}),[f,h]=p(u!==void 0||n.initialValue!==void 0?"ready":"unresolved",{equals:!1}),[ue,y]=p(void 0,{equals:!1}),[ae,ce]=p(void 0,{equals:!1}),k=F,E=!1;B(()=>{let c=s();if(ae(),c===!1||c===null||c===void 0){k=F,m(()=>{h("unresolved"),y(void 0),T(void 0)});return}let R=E;if(E=!1,k!==F&&c===k&&!R)return;if(k=c,l){l=!1;return}let O=!1;x(()=>O=!0);let W=S(f),le=S(a),z=W==="ready"||W==="refreshing";m(()=>{h(z?"refreshing":"pending"),T(void 0)});try{let w=o(c,{value:le,refetching:z});ke(w)?(y(w),te(w),w.then(P=>{O||(i!==void 0&&oe(i,P),m(()=>{d(()=>P),h("ready"),y(void 0)}))},P=>{O||m(()=>{T(P),h("errored"),y(void 0)})})):m(()=>{d(()=>w),h("ready"),y(void 0)})}catch(w){if(O)return;m(()=>{T(w),h("errored"),y(void 0)})}});let G=()=>{let c=f();return c==="pending"||c==="refreshing"},_=(()=>{let c=v();if(c)throw c;if(G()){let R=ue();if(R)throw R}return a()});return Object.defineProperties(_,{state:{get:f},loading:{get:G},error:{get:v},latest:{get:a}}),Object.defineProperty(_,Symbol.for("resource"),{value:!0,enumerable:!0}),Object.defineProperty(_,Symbol.for("signal"),{value:!0,enumerable:!0}),[_,{mutate:d,refetch:()=>{E=!0,ce(void 0)}}]}function ie(e,t=300){let[n,s]=p(e),[o,i]=p(e),[u,l]=p(!1),a,d=()=>{a!==void 0&&(clearTimeout(a),a=void 0)},v=()=>{d();let f=S(n);return i(()=>f),l(!1),f},T=(f=>{let h=typeof f=="function"?f(S(n)):f;return s(()=>h),l(!0),d(),a=setTimeout(v,t),h});return x(d),[o,T,{immediate:n,pending:u,flush:v,cancel:()=>{d(),l(!1)}}]}function _e(e){return e!=null&&e!==""}function Re(e,t,n={}){let{delay:s=300,initialValue:o,shouldFetch:i=_e}=n,[u,l,a]=ie(e,s),d=()=>i(u())?u():!1,[v,{refetch:T}]=se(d,t,o===void 0?{}:{initialValue:o});return[v,{...a,query:u,setQuery:l,refetch:T}]}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { Accessor, Setter } from './compat.js';
|
|
2
|
+
import type { ResourceFetcherInfo, ResourceReturn } from './resource.js';
|
|
3
|
+
/** Controls beyond reading and writing the value. */
|
|
4
|
+
export interface DebounceControls<T> {
|
|
5
|
+
/** The value as written, before the delay — bind a controlled input to this. */
|
|
6
|
+
immediate: Accessor<T>;
|
|
7
|
+
/** True while a write is waiting to settle. Distinct from a request in flight. */
|
|
8
|
+
pending: Accessor<boolean>;
|
|
9
|
+
/** Settle now, dropping the remaining delay. Returns the value that settled. */
|
|
10
|
+
flush: () => T;
|
|
11
|
+
/** Discard a pending write; the settled value keeps its last value. */
|
|
12
|
+
cancel: () => void;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* A signal whose settled value trails writes by `delay`.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* const [query, setQuery, { immediate, pending, flush }] = createDebouncedSignal('', 300);
|
|
20
|
+
*
|
|
21
|
+
* // the input never lags: it binds the immediate value
|
|
22
|
+
* <input value={immediate()} onInput={(e) => setQuery(e.currentTarget.value)}
|
|
23
|
+
* onKeyDown={(e) => e.key === 'Enter' && flush()} />
|
|
24
|
+
*
|
|
25
|
+
* // work keys off the settled value
|
|
26
|
+
* createEffect(() => search(query()));
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare function createDebouncedSignal<T>(initial: T, delay?: number): [Accessor<T>, Setter<T>, DebounceControls<T>];
|
|
30
|
+
export interface DebouncedResourceOptions<T> {
|
|
31
|
+
/** Delay before a change reaches the fetcher. Defaults to 300ms. */
|
|
32
|
+
delay?: number;
|
|
33
|
+
/** Seed value, so the resource has something to read before the first fetch. */
|
|
34
|
+
initialValue?: T;
|
|
35
|
+
/**
|
|
36
|
+
* Whether a settled query should be fetched at all. Defaults to rejecting
|
|
37
|
+
* `undefined`, `null` and `''` — an empty search box shouldn't hit the network.
|
|
38
|
+
*/
|
|
39
|
+
shouldFetch?: (query: unknown) => boolean;
|
|
40
|
+
}
|
|
41
|
+
export interface DebouncedResourceControls<S> extends DebounceControls<S> {
|
|
42
|
+
/** The settled query the resource is fetching for. */
|
|
43
|
+
query: Accessor<S>;
|
|
44
|
+
setQuery: Setter<S>;
|
|
45
|
+
refetch: (info?: unknown) => unknown;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* A resource driven by a debounced query — search-as-you-type, as one primitive.
|
|
49
|
+
*
|
|
50
|
+
* Two waiting states exist and they are not the same thing: `pending` is "the user
|
|
51
|
+
* is still typing", `resource.loading` is "a request is in flight". A UI that
|
|
52
|
+
* conflates them either flickers on every keystroke or looks frozen while typing.
|
|
53
|
+
*
|
|
54
|
+
* An empty query doesn't fetch, so a cleared search box doesn't hit the network.
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```ts
|
|
58
|
+
* const [results, { setQuery, immediate, pending, flush }] =
|
|
59
|
+
* createDebouncedResource('', (q) => api.search(q));
|
|
60
|
+
*
|
|
61
|
+
* <input value={immediate()} onInput={(e) => setQuery(e.currentTarget.value)} />
|
|
62
|
+
* <Show when={pending()}>typing…</Show>
|
|
63
|
+
* <Show when={results.loading}>searching…</Show>
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
export declare function createDebouncedResource<T, S>(initial: S, fetcher: (query: S, info: ResourceFetcherInfo<T>) => T | Promise<T>, options?: DebouncedResourceOptions<T>): [ResourceReturn<T>[0], DebouncedResourceControls<S>];
|
|
67
|
+
//# sourceMappingURL=debounced.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debounced.d.ts","sourceRoot":"","sources":["../../../../src/lib/signal/graph/debounced.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEzE,qDAAqD;AACrD,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,gFAAgF;IAChF,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACvB,kFAAkF;IAClF,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC3B,gFAAgF;IAChF,KAAK,EAAE,MAAM,CAAC,CAAC;IACf,uEAAuE;IACvE,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EACrC,OAAO,EAAE,CAAC,EACV,KAAK,SAAM,GACV,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAqC/C;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,YAAY,CAAC,EAAE,CAAC,CAAC;IACjB;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CAC3C;AAED,MAAM,WAAW,yBAAyB,CAAC,CAAC,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAC;IACvE,sDAAsD;IACtD,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;CACtC;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAC1C,OAAO,EAAE,CAAC,EACV,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACnE,OAAO,GAAE,wBAAwB,CAAC,CAAC,CAAM,GACxC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAetD"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Debounced reactive values.
|
|
3
|
+
*
|
|
4
|
+
* The shape that matters: a debounced input has TWO values, not one. The
|
|
5
|
+
* immediate value is what the user is typing and what a controlled input must be
|
|
6
|
+
* bound to; the settled value is what a query should run on. Collapsing them into
|
|
7
|
+
* a single delayed signal makes a controlled input lag behind the keyboard, which
|
|
8
|
+
* is why this exposes both rather than only the settled one.
|
|
9
|
+
*
|
|
10
|
+
* `flush` and `cancel` are part of the primitive, not extras: a search box needs
|
|
11
|
+
* "submit now" on Enter, and navigating away needs to drop a pending write instead
|
|
12
|
+
* of firing it into a disposed scope.
|
|
13
|
+
*/
|
|
14
|
+
import { createSignal, onCleanup, untrack } from './compat.js';
|
|
15
|
+
import { createResource } from './resource.js';
|
|
16
|
+
/**
|
|
17
|
+
* A signal whose settled value trails writes by `delay`.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```ts
|
|
21
|
+
* const [query, setQuery, { immediate, pending, flush }] = createDebouncedSignal('', 300);
|
|
22
|
+
*
|
|
23
|
+
* // the input never lags: it binds the immediate value
|
|
24
|
+
* <input value={immediate()} onInput={(e) => setQuery(e.currentTarget.value)}
|
|
25
|
+
* onKeyDown={(e) => e.key === 'Enter' && flush()} />
|
|
26
|
+
*
|
|
27
|
+
* // work keys off the settled value
|
|
28
|
+
* createEffect(() => search(query()));
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export function createDebouncedSignal(initial, delay = 300) {
|
|
32
|
+
const [immediate, setImmediate] = createSignal(initial);
|
|
33
|
+
const [settled, setSettled] = createSignal(initial);
|
|
34
|
+
const [pending, setPending] = createSignal(false);
|
|
35
|
+
let timer;
|
|
36
|
+
const clear = () => {
|
|
37
|
+
if (timer === undefined)
|
|
38
|
+
return;
|
|
39
|
+
clearTimeout(timer);
|
|
40
|
+
timer = undefined;
|
|
41
|
+
};
|
|
42
|
+
const settle = () => {
|
|
43
|
+
clear();
|
|
44
|
+
// untrack: settling is a write, and must not subscribe whoever triggered it.
|
|
45
|
+
const value = untrack(immediate);
|
|
46
|
+
setSettled(() => value);
|
|
47
|
+
setPending(false);
|
|
48
|
+
return value;
|
|
49
|
+
};
|
|
50
|
+
const set = ((value) => {
|
|
51
|
+
const next = typeof value === 'function' ? value(untrack(immediate)) : value;
|
|
52
|
+
setImmediate(() => next);
|
|
53
|
+
setPending(true);
|
|
54
|
+
clear();
|
|
55
|
+
timer = setTimeout(settle, delay);
|
|
56
|
+
return next;
|
|
57
|
+
});
|
|
58
|
+
// A pending write into a disposed scope is a write nobody asked for.
|
|
59
|
+
onCleanup(clear);
|
|
60
|
+
return [settled, set, { immediate, pending, flush: settle, cancel: () => { clear(); setPending(false); } }];
|
|
61
|
+
}
|
|
62
|
+
function meaningful(query) {
|
|
63
|
+
return query !== undefined && query !== null && query !== '';
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* A resource driven by a debounced query — search-as-you-type, as one primitive.
|
|
67
|
+
*
|
|
68
|
+
* Two waiting states exist and they are not the same thing: `pending` is "the user
|
|
69
|
+
* is still typing", `resource.loading` is "a request is in flight". A UI that
|
|
70
|
+
* conflates them either flickers on every keystroke or looks frozen while typing.
|
|
71
|
+
*
|
|
72
|
+
* An empty query doesn't fetch, so a cleared search box doesn't hit the network.
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```ts
|
|
76
|
+
* const [results, { setQuery, immediate, pending, flush }] =
|
|
77
|
+
* createDebouncedResource('', (q) => api.search(q));
|
|
78
|
+
*
|
|
79
|
+
* <input value={immediate()} onInput={(e) => setQuery(e.currentTarget.value)} />
|
|
80
|
+
* <Show when={pending()}>typing…</Show>
|
|
81
|
+
* <Show when={results.loading}>searching…</Show>
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
export function createDebouncedResource(initial, fetcher, options = {}) {
|
|
85
|
+
const { delay = 300, initialValue, shouldFetch = meaningful } = options;
|
|
86
|
+
const [query, setQuery, controls] = createDebouncedSignal(initial, delay);
|
|
87
|
+
// createResource treats a falsy source as "don't fetch", which is exactly the
|
|
88
|
+
// empty-query case — so the predicate rides on the source rather than the fetcher.
|
|
89
|
+
const source = () => (shouldFetch(query()) ? query() : false);
|
|
90
|
+
const [resource, { refetch }] = createResource(source, fetcher, initialValue === undefined ? {} : { initialValue });
|
|
91
|
+
return [resource, { ...controls, query, setQuery, refetch }];
|
|
92
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var ce="__fluixi_signal_next_state__",le=e=>{typeof queueMicrotask=="function"?queueMicrotask(e):Promise.resolve().then(e)},r=globalThis[ce]??={consumer:null,untracked:!1,owner:null,queue:[],scheduled:!1,flushing:!1,batchDepth:0,hostSchedule:le,onSuspend:null,onError:null};var z=0,H=1,b=2,q=class{constructor(){this.observers=null;this.watchers=null;this.version=0}updateIfNecessary(){}track(){if(r.untracked)return;let n=r.consumer;n&&((this.observers??=new Set).add(n),(n.sources??=new Set).add(this))}},D=class extends q{constructor(n,t){super(),this._value=n,this._equals=t?.equals===!1?()=>!1:t?.equals??Object.is}get(){return this.track(),this._value}set(n){if(!this._equals(this._value,n)){if(this._value=n,this.version++,this.observers)for(let t of[...this.observers])t.markDirty(b);I(this)}}peek(){return this._value}},g=class extends q{constructor(t,o){super();this._threw=!1;this._initialized=!1;this.state=b;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===H&&this.sources){for(let t of this.sources)if(t.updateIfNecessary(),this.state===b)break}(this.state===b||!this._initialized)&&this.recompute(),this.state=z}recompute(){if(this.sources){for(let a of this.sources)a.observers?.delete(this);this.sources.clear()}let t=r.consumer,o=r.untracked;r.consumer=this,r.untracked=!1;let s,i=!1,u;try{s=this._fn()}catch(a){i=!0,u=a,s=this._value}finally{r.consumer=t,r.untracked=o}let l=!this._initialized||this._threw!==i||(i?u!==this._error:!this._equals(this._value,s));if(this._initialized=!0,this._threw=i,this._error=u,this._value=s,l){if(this.version++,this.observers)for(let a of[...this.observers])a.markDirty(b);I(this)}}markDirty(t){if(this.state>=t)return;let o=this.state===z;if(this.state=t,o){if(this.observers)for(let s of[...this.observers])s.markDirty(H);I(this)}}peek(){if(this.updateIfNecessary(),this._threw)throw this._error;return this._value}};function I(e){if(e.watchers)for(let n of[...e.watchers])n._notify(e)}var C=class{constructor(n){this._watched=new Set;this._pending=new Set;this._notifyFn=n}watch(...n){for(let t of n)this._watched.add(t),(t.watchers??=new Set).add(this)}unwatch(...n){for(let t of n)this._watched.delete(t),t.watchers?.delete(this),this._pending.delete(t)}getPending(){let n=[...this._pending];return this._pending.clear(),n}_notify(n){if(!this._watched.has(n)||this._pending.has(n))return;let t=this._pending.size===0;this._pending.add(n),t&&this._notifyFn()}};function K(e){if(r.untracked)return e();r.untracked=!0;try{return e()}finally{r.untracked=!1}}function de(e){return{cleanups:null,owned:null,parent:e,contexts:null}}function j(e,n){let t=r.owner;r.owner=e;try{return n()}finally{r.owner=t}}function x(e){if(r.owner){if(r.owner.disposed){e();return}(r.owner.cleanups??=[]).push(e)}}function N(e,n=!0){if(!e.disposed){if(e.owned){for(let t=e.owned.length-1;t>=0;t--)N(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}n&&(e.disposed=!0)}}function L(e){r.hostSchedule=e??(n=>{Promise.resolve().then(n)})}function fe(e){e.queued||(e.queued=!0,r.queue.push(e),!r.scheduled&&r.batchDepth===0&&(r.scheduled=!0,r.hostSchedule(A)))}function A(){if(r.scheduled=!1,r.flushing)return;r.flushing=!0;let e=0;try{for(;r.queue.length;){if(++e>1e5)throw new Error("[fluixi] effect flush did not settle (cycle?)");let n=r.queue;r.queue=[];for(let t of n)t.queued=!1,t.disposed||t.run()}}finally{r.flushing=!1}}function U(){r.batchDepth===0&&A()}function Y(e){r.batchDepth++;try{return e()}finally{--r.batchDepth===0&&A()}}var V=class{constructor(n){this.queued=!1;this.disposed=!1;this.owner=de(r.owner),r.owner&&(r.owner.cleanups??=[]).push(()=>this.dispose()),this.computed=new g(()=>{N(this.owner,!1),j(this.owner,()=>{let t=n();typeof t=="function"&&(this.owner.cleanups??=[]).push(t)})}),this.watcher=new C(()=>fe(this)),this.run(),this.watcher.watch(this.computed)}run(){if(!this.disposed){this.watcher.getPending();try{this.computed.get()}catch(n){if(n&&typeof n.then=="function"&&r.onSuspend){r.onSuspend(n,this.owner);return}if(r.onError&&r.onError(n,this.owner))return;throw n}}}dispose(){this.disposed||(this.disposed=!0,this.watcher.unwatch(this.computed),N(this.owner))}};function $(e){let n=new V(e);return()=>n.dispose()}L(()=>{});var he=Symbol.for("signal");var Te=Symbol.for("signal-node");function p(e,n){let t=new D(e,{equals:n?.equals}),o=(()=>t.get()),s=(i=>{let u=typeof i=="function"?i(t.peek()):i;return t.set(u),U(),u});return Object.defineProperty(o,he,{value:!0,enumerable:!0}),Object.defineProperty(o,Te,{value:{get value(){return t.peek()},get version(){return t.version}},enumerable:!1}),[o,s]}function Q(e,n){let t=n;return $(()=>{t=e(t)})}function m(e){return Y(e)}function S(e){return K(e)}var B=null;function ee(e){B&&B(e)}var J=null;function te(e){return J?J(e):void 0}var X=null;function ne(){return X?X():void 0}var Z=null;function re(e,n){Z&&Z(e,n)}function ve(e){return!!e&&typeof e.then=="function"}var M=Symbol();function oe(e,n,t={}){let o,s;typeof n=="function"?(o=typeof e=="function"?e:()=>e,s=n):(o=()=>!0,s=e,n&&typeof n=="object"&&(t=n));let i=ne(),u=i!==void 0?te(i):void 0,l=u!==void 0,[a,d]=p(u!==void 0?u.value:t.initialValue,{equals:!1}),[v,T]=p(void 0,{equals:!1}),[f,h]=p(u!==void 0||t.initialValue!==void 0?"ready":"unresolved",{equals:!1}),[se,y]=p(void 0,{equals:!1}),[ie,ue]=p(void 0,{equals:!1}),k=M,E=!1;Q(()=>{let c=o();if(ie(),c===!1||c===null||c===void 0){k=M,m(()=>{h("unresolved"),y(void 0),T(void 0)});return}let R=E;if(E=!1,k!==M&&c===k&&!R)return;if(k=c,l){l=!1;return}let O=!1;x(()=>O=!0);let G=S(f),ae=S(a),W=G==="ready"||G==="refreshing";m(()=>{h(W?"refreshing":"pending"),T(void 0)});try{let w=s(c,{value:ae,refetching:W});ve(w)?(y(w),ee(w),w.then(P=>{O||(i!==void 0&&re(i,P),m(()=>{d(()=>P),h("ready"),y(void 0)}))},P=>{O||m(()=>{T(P),h("errored"),y(void 0)})})):m(()=>{d(()=>w),h("ready"),y(void 0)})}catch(w){if(O)return;m(()=>{T(w),h("errored"),y(void 0)})}});let F=()=>{let c=f();return c==="pending"||c==="refreshing"},_=(()=>{let c=v();if(c)throw c;if(F()){let R=se();if(R)throw R}return a()});return Object.defineProperties(_,{state:{get:f},loading:{get:F},error:{get:v},latest:{get:a}}),Object.defineProperty(_,Symbol.for("resource"),{value:!0,enumerable:!0}),Object.defineProperty(_,Symbol.for("signal"),{value:!0,enumerable:!0}),[_,{mutate:d,refetch:()=>{E=!0,ue(void 0)}}]}function we(e,n=300){let[t,o]=p(e),[s,i]=p(e),[u,l]=p(!1),a,d=()=>{a!==void 0&&(clearTimeout(a),a=void 0)},v=()=>{d();let f=S(t);return i(()=>f),l(!1),f},T=(f=>{let h=typeof f=="function"?f(S(t)):f;return o(()=>h),l(!0),d(),a=setTimeout(v,n),h});return x(d),[s,T,{immediate:t,pending:u,flush:v,cancel:()=>{d(),l(!1)}}]}function me(e){return e!=null&&e!==""}function Me(e,n,t={}){let{delay:o=300,initialValue:s,shouldFetch:i=me}=t,[u,l,a]=we(e,o),d=()=>i(u())?u():!1,[v,{refetch:T}]=oe(d,n,s===void 0?{}:{initialValue:s});return[v,{...a,query:u,setQuery:l,refetch:T}]}export{Me as createDebouncedResource,we as createDebouncedSignal};
|