@lytjs/reactivity 4.2.0 → 5.0.1
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/index.cjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist/signal.cjs +1 -1
- package/dist/signal.mjs +1 -1
- package/dist/types/effect.d.ts +10 -5
- package/dist/types/effect.d.ts.map +1 -1
- package/dist/types/ref.d.ts.map +1 -1
- package/dist/types/scheduler.d.ts.map +1 -1
- package/dist/types/signal.d.ts +23 -1
- package/dist/types/signal.d.ts.map +1 -1
- package/dist/types/watch.d.ts.map +1 -1
- package/package.json +4 -1
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var G=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Ve=Object.getOwnPropertyNames;var Ke=Object.prototype.hasOwnProperty;var ke=(e,t)=>{for(var n in t)G(e,n,{get:t[n],enumerable:!0})},Ae=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ve(t))!Ke.call(e,o)&&o!==n&&G(e,o,{get:()=>t[o],enumerable:!(r=Pe(t,o))||r.enumerable});return e};var Me=e=>Ae(G({},"__esModule",{value:!0}),e);var Ue={};ke(Ue,{ITERATE_KEY:()=>R,ReactiveEffect:()=>d,activeEffect:()=>c,batch:()=>ve,clearQueue:()=>x.clearQueue,computed:()=>be,computedSignal:()=>Re,effect:()=>X,enterSignalComponentContext:()=>Oe,hasPendingJob:()=>x.hasPendingJob,isReactive:()=>v,isReadonly:()=>J,isRef:()=>T,markReadOnly:()=>ae,markSkip:()=>fe,nextTick:()=>_.nextTick,onSignalCleanup:()=>We,pauseTracking:()=>A,queueJob:()=>x.queueJob,queuePostFlushCb:()=>x.queuePostFlushCb,rawSymbol:()=>h,reactive:()=>F,reactiveFlag:()=>S,readonly:()=>D,readonlyFlag:()=>b,ref:()=>ce,refSymbol:()=>w,resetTracking:()=>M,shallowReactive:()=>se,shallowRef:()=>le,shallowRefSymbol:()=>q,signal:()=>I,signalEffect:()=>Se,stop:()=>Z,toRaw:()=>m,toRef:()=>Y,toRefs:()=>de,track:()=>f,trigger:()=>u,triggerRef:()=>ye,unref:()=>pe,untrack:()=>_e,useSignal:()=>Ce,useSignalState:()=>Ee,watch:()=>me,watchEffect:()=>xe});module.exports=Me(Ue);var c=null,O=[],He=0,N=new WeakMap,d=class{constructor(t,n={}){this.active=!0;this.deps=new Set;this.fn=t,this.scheduler=n.scheduler,this.beforeRun=n.beforeRun,this.afterRun=n.afterRun,this.lazy=n.lazy,this.id=He++}run(){var t,n;if(!this.active)return this.fn();if(O.includes(this))return this.fn();try{return(t=this.beforeRun)==null||t.call(this),O.push(this),c=this,B(this),this.fn()}finally{(n=this.afterRun)==null||n.call(this),O.pop(),c=O[O.length-1]||null}}stop(){this.active&&(B(this),this.onStop&&this.onStop(),this.active=!1)}},k=!0,L=[];function A(){L.push(k),k=!1}function M(){let e=L.pop();k=e===void 0?!0:e}function B(e){let{deps:t}=e;for(let n of t)n.delete(e);t.clear()}function f(e,t){if(!k||!c)return;let n=N.get(e);n||(n=new Map,N.set(e,n));let r=n.get(t);r||(r=new Set,n.set(t,r)),r.has(c)||(r.add(c),c.deps.add(r))}function u(e,t,n,r){let o=N.get(e);if(!o)return;let i=new Set,s=a=>{if(a)for(let p of a)(p!==c||p.allowRecurse)&&i.add(p)};if(s(o.get(t)),(n==="add"||n==="delete")&&s(o.get(R)),n==="set"&&Array.isArray(e)){let a=o.get("length");a&&typeof t=="number"&&t<e.length&&s(a)}for(let a of i)a.scheduler?a.scheduler(a):a.run()}var R=Symbol("iterate");function X(e,t={}){let n=new d(e,t);t.lazy||n.run();let r=n.run.bind(n);return r.effect=n,r.stop=()=>n.stop(),r}function Z(e){var t;(t=e==null?void 0:e.effect)==null||t.stop()}var b=Symbol("readonly"),h=Symbol("raw"),S=Symbol("reactive"),re=Symbol("skip"),ee=new WeakMap,te=new WeakMap,ne=new WeakMap;function W(e){return e!==null&&typeof e=="object"}function oe(e,t){return!Object.is(e,t)}function H(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var z={};["includes","indexOf","lastIndexOf"].forEach(e=>{z[e]=function(...t){let n=m(this);for(let r=0;r<n.length;r++)f(n,String(r));return f(n,"length"),n[e](...t)}});["push","pop","shift","unshift","splice","sort","reverse"].forEach(e=>{z[e]=function(...t){A();let n=Array.prototype[e].apply(this,t);return M(),u(m(this),"length","set",m(this).length),n}});var ze={get(e,t,n){if(t===h)return e;if(t===S)return!0;if(Array.isArray(e)&&z.hasOwnProperty(t))return z[t];f(e,t);let r=Reflect.get(e,t,n);return t===b?e[b]===!0:!W(r)||e[re]?r:F(r)},set(e,t,n,r){let o=e[t],i=Array.isArray(e)&&ie(t)?Number(t)<e.length:H(e,t),s=Reflect.set(e,t,n,r);return(e===(r==null?void 0:r[h])||e===m(r))&&(i?oe(n,o)&&u(e,t,"set",n):u(e,t,"add",n)),s},deleteProperty(e,t){let n=H(e,t),r=Reflect.deleteProperty(e,t);return r&&n&&u(e,t,"delete"),r},has(e,t){return f(e,t),Reflect.has(e,t)},ownKeys(e){return f(e,R),Reflect.ownKeys(e)}},De={get(e,t,n){if(t===h)return e;if(t===S||t===b)return!0;f(e,t);let r=Reflect.get(e,t,n);return W(r)?D(r):r},set(e,t,n,r){return!1},deleteProperty(e,t){return!1},has(e,t){return f(e,t),Reflect.has(e,t)},ownKeys(e){return f(e,R),Reflect.ownKeys(e)}},Ie={get(e,t,n){return t===h?e:t===S?!0:(f(e,t),Reflect.get(e,t,n))},set(e,t,n,r){let o=e[t],i=Array.isArray(e)&&ie(t)?Number(t)<e.length:H(e,t),s=Reflect.set(e,t,n,r);return(e===(r==null?void 0:r[h])||e===m(r))&&(i?oe(n,o)&&u(e,t,"set",n):u(e,t,"add",n)),s},deleteProperty(e,t){let n=H(e,t),r=Reflect.deleteProperty(e,t);return r&&n&&u(e,t,"delete"),r},has(e,t){return f(e,t),Reflect.has(e,t)},ownKeys(e){return f(e,R),Reflect.ownKeys(e)}};function ie(e){return typeof e=="string"&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e}function F(e,t={}){if(!W(e)||e[S])return e;if(e[b])return D(e);let n=ee.get(e);if(n)return n;let r=new Proxy(e,ze);return ee.set(e,r),r}function D(e){if(!W(e))return e;let t=te.get(e);if(t)return t;e[b]=!0;let n=new Proxy(e,De);return te.set(e,n),n}function se(e){if(!W(e))return e;let t=ne.get(e);if(t)return t;let n=new Proxy(e,Ie);return ne.set(e,n),n}function m(e){let t=e&&e[h];return t?m(t):e}function v(e){return J(e)?v(e[h]):!!(e&&e[S])}function J(e){return!!(e&&e[b])}function ae(e){return e[b]=!0,e}function fe(e){return e[re]=!0,e}var w=Symbol("ref"),q=Symbol("shallowRef");function Ge(e){return e!==null&&typeof e=="object"}var U=new WeakMap;function Ne(e){return U.get(e)||e}function ce(e){if(T(e))return e;let t={_value:ue(e),_rawValue:e,__v_isRef:!0,[w]:!0},n=new Proxy(t,Je);return U.set(n,t),n}function ue(e){return Ge(e)?F(e):e}var Je={get(e,t,n){return t==="value"?(f(e,"value"),e._value):t===w||t==="__v_isRef"?!0:t==="_rawValue"?e._rawValue:Reflect.get(e,t,n)},set(e,t,n,r){if(t==="value"){let o=e._rawValue;return Object.is(o,n)||(e._rawValue=n,e._value=ue(n),u(e,"value","set",n)),!0}return Reflect.set(e,t,n,r)}};function le(e){if(T(e))return e;let t={_value:e,_rawValue:e,__v_isRef:!0,__v_isShallow:!0,[w]:!0,[q]:!0},n=new Proxy(t,qe);return U.set(n,t),n}var qe={get(e,t,n){return t==="value"?(f(e,"value"),e._value):t===w||t==="__v_isRef"||t==="__v_isShallow"?!0:t==="_rawValue"?e._rawValue:Reflect.get(e,t,n)},set(e,t,n,r){if(t==="value"){let o=e._rawValue;return Object.is(o,n)||(e._rawValue=n,e._value=n,u(e,"value","set",n)),!0}return Reflect.set(e,t,n,r)}};function T(e){return!!(e&&e.__v_isRef===!0)}function pe(e){return T(e)?e.value:e}function Y(e,t){let n=e[t];return T(n)?n:new Proxy({_obj:e,_key:t,__v_isRef:!0},{get(r,o,i){return o==="value"?r._obj[r._key]:o==="__v_isRef"?!0:Reflect.get(r,o,i)},set(r,o,i,s){return o==="value"?(r._obj[r._key]=i,!0):Reflect.set(r,o,i,s)}})}function de(e){let t={};for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=Y(e,n));return t}function ye(e){let t=Ne(e);u(t,"value","set",t._rawValue)}var $=class{constructor(t,n){this._dirty=!0;this.__v_isRef=!0;this.deps=new Set;this._setter=n,this._effect=new d(t,{scheduler:()=>{this._dirty||(this._dirty=!0,this.triggerDep())},lazy:!0}),this._value=void 0}get value(){return f(this,"value"),c&&!this.deps.has(c)&&(this.deps.add(c),c.deps.add(this.deps)),this._dirty&&(this._value=this._effect.run(),this._dirty=!1),this._value}set value(t){this._setter&&this._setter(t)}triggerDep(){for(let t of this.deps)t.scheduler?t.scheduler(t):t.run()}};function be(e){let t,n;return typeof e=="function"?(t=e,n=void 0):(t=e.get,n=e.set),new $(t,n)}var _=require("@lytjs/common");function Te(e){return e!==null&&typeof e=="object"}function P(e,t=1/0,n){if(!Te(e)||t<=0||(n||(n=new Set),n.has(e)))return e;if(n.add(e),T(e))P(e.value,t-1,n);else if(Array.isArray(e))for(let r=0;r<e.length;r++)P(e[r],t-1,n);else for(let r of Object.keys(e))P(e[r],t-1,n);return e}function he(e){return T(e)?()=>e.value:v(e)?()=>P(e):typeof e=="function"?e:()=>P(e)}function me(e,t,n={}){let r,o=!1;if(Array.isArray(e)){o=!0;let l=e.map(E=>he(E));r=()=>l.map(E=>E())}else r=he(e);v(e)&&n.deep!==!1&&(n.deep=!0);let i=o?[]:void 0,s,a=l=>{s=l},p=()=>{s&&(s(),s=void 0);let l=C.run();(o?l.some((E,Fe)=>!Object.is(E,i[Fe])):!Object.is(l,i)||n.deep&&Te(l))&&(t(l,o?[...i]:i,a),i=o?[...l]:l)},C=new d(r,{lazy:!0,scheduler:()=>{n.flush==="sync"?p():(0,_.queueJob)(p)}});return n.immediate?p():i=C.run(),()=>{C.stop()}}function xe(e,t={}){let n,r=()=>{n&&(n(),n=void 0),e(i=>{n=i})},o=new d(r,{scheduler:()=>{t.flush==="sync"?r():(0,_.queueJob)(r)}});return o.run(),()=>{o.stop(),n&&(n(),n=void 0)}}var x=require("@lytjs/common");var y=null,V=!1,K=0,g=new Set,Q=!1;function I(e){let t=e,n=new Set,r=function(){return y&&!V&&n.add(y),t};return r.set=function(o){Object.is(t,o)||(t=o,ge(n))},r.update=function(o){r.set(o(t))},r._subscribe=function(o){n.add(o)},r._unsubscribe=function(o){n.delete(o)},r}function Re(e){let t,n=!0,r=!1,o=new Set,i=new Set,s=function(){if(y&&!V&&i.add(y),n){if(r)throw new Error("[lyt:signal] \u68C0\u6D4B\u5230\u5FAA\u73AF\u4F9D\u8D56: computed \u5728\u5176\u81EA\u8EAB\u7684\u8BA1\u7B97\u56FE\u4E2D");r=!0;for(let l of o)l._unsubscribe(s);o.clear();let C=y;y=s;try{t=e()}finally{y=C,r=!1}n=!1}return t},a={_dirty:!1,notify(){n=!0,ge(i)}};return s.notify=a.notify.bind(a),s._dirty=!1,s._subscribe=function(p){i.add(p)},s._unsubscribe=function(p){i.delete(p)},s}function Se(e){let t=null,n=!1,r=new Set,o=()=>{if(n)return;t&&(t(),t=null);for(let a of r)a._unsubscribe(i);r.clear();let s=y;y=i;try{e(a=>{t=a})}finally{y=s}},i={_dirty:!1,notify(){K>0?g.add(i):o()}};return o(),()=>{n=!0,t&&(t(),t=null);for(let s of r)s._unsubscribe(i);r.clear(),g.delete(i)}}function ve(e){K++;try{e()}finally{K--,K===0&&we()}}function we(){if(!Q){Q=!0;try{let e=new Set(g);g.clear();for(let t of e)t.notify();g.size>0&&we()}finally{Q=!1}}}function _e(e){let t=V;V=!0;try{return e()}finally{V=t}}function ge(e){if(K>0)for(let t of e)g.add(t);else for(let t of e)t.notify()}var j=[];function je(){return j.length>0?j[j.length-1]:null}function Ce(e){return e()}function Ee(e){let t=I(e),n=o=>t.set(o),r=je();return[t,n]}function Oe(){let e={_cleanupFns:[]};return j.push(e),()=>{for(let n of e._cleanupFns)n();e._cleanupFns.length=0;let t=j.indexOf(e);t!==-1&&j.splice(t,1)}}function We(e){let t=je();t&&t._cleanupFns.push(e)}
|
|
1
|
+
"use strict";var N=Object.defineProperty;var Ve=Object.getOwnPropertyDescriptor;var Fe=Object.getOwnPropertyNames;var Ie=Object.prototype.hasOwnProperty;var Ke=(e,t)=>{for(var n in t)N(e,n,{get:t[n],enumerable:!0})},Ae=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Fe(t))!Ie.call(e,o)&&o!==n&&N(e,o,{get:()=>t[o],enumerable:!(r=Ve(t,o))||r.enumerable});return e};var Me=e=>Ae(N({},"__esModule",{value:!0}),e);var Ue={};Ke(Ue,{ITERATE_KEY:()=>S,ReactiveEffect:()=>d,activeEffect:()=>c,batch:()=>we,clearQueue:()=>x.clearQueue,computed:()=>he,computedSignal:()=>Se,effect:()=>Z,enterSignalComponentContext:()=>Oe,hasPendingJob:()=>x.hasPendingJob,isReactive:()=>w,isReadonly:()=>J,isRef:()=>h,markReadOnly:()=>fe,markSkip:()=>ce,nextTick:()=>R.nextTick,onSignalCleanup:()=>We,pauseTracking:()=>K,queueJob:()=>x.queueJob,queuePostFlushCb:()=>x.queuePostFlushCb,rawSymbol:()=>T,reactive:()=>W,reactiveFlag:()=>v,readonly:()=>H,readonlyFlag:()=>y,ref:()=>le,refSymbol:()=>_,resetTracking:()=>A,shallowReactive:()=>ae,shallowRef:()=>de,shallowRefSymbol:()=>U,signal:()=>G,signalEffect:()=>ve,stop:()=>ee,toRaw:()=>m,toRef:()=>L,toRefs:()=>ye,track:()=>f,trigger:()=>u,triggerRef:()=>Te,unref:()=>be,untrack:()=>ge,useSignal:()=>je,useSignalState:()=>ke,watch:()=>me,watchEffect:()=>xe});module.exports=Me(Ue);var c=null,k=[],De=0,Y=new WeakMap,d=class{constructor(t,n={}){this.active=!0;this.deps=new Set;this.fn=t,this.scheduler=n.scheduler,this.beforeRun=n.beforeRun,this.afterRun=n.afterRun,this.lazy=n.lazy,this.id=De++}run(){var t,n;if(!this.active)return this.fn();if(k.includes(this))return this.fn();try{return(t=this.beforeRun)==null||t.call(this),k.push(this),c=this,B(this),this.fn()}finally{(n=this.afterRun)==null||n.call(this),k.pop(),c=k[k.length-1]||null}}stop(){this.active&&(B(this),this.onStop&&this.onStop(),this.active=!1)}},I=!0,X=[];function K(){X.push(I),I=!1}function A(){let e=X.pop();I=e===void 0?!0:e}function B(e){let{deps:t}=e;for(let n of t)n.delete(e);t.clear()}function f(e,t){if(!I||!c)return;let n=Y.get(e);n||(n=new Map,Y.set(e,n));let r=n.get(t);r||(r=new Set,n.set(t,r)),r.has(c)||(r.add(c),c.deps.add(r))}function u(e,t,n,r){let o=Y.get(e);if(!o)return;let i=new Set,s=a=>{if(a)for(let p of a)(p!==c||p.allowRecurse)&&i.add(p)};if(s(o.get(t)),(n==="add"||n==="delete")&&s(o.get(S)),n==="set"&&Array.isArray(e)){let a=o.get("length");a&&typeof t=="number"&&t<e.length&&s(a)}for(let a of i)a.scheduler?a.scheduler(a):a.run()}var S=Symbol("iterate");function Z(e,t={}){let n=new d(e,t);t.lazy||n.run();let r=n.run.bind(n);return r.effect=n,r.stop=()=>n.stop(),r}function ee(e){var t;(t=e==null?void 0:e.effect)==null||t.stop()}var y=Symbol("readonly"),T=Symbol("raw"),v=Symbol("reactive"),oe=Symbol("skip"),te=new WeakMap,ne=new WeakMap,re=new WeakMap;function O(e){return e!==null&&typeof e=="object"}function ie(e,t){return!Object.is(e,t)}function M(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var D={};["includes","indexOf","lastIndexOf"].forEach(e=>{D[e]=function(...t){let n=m(this);for(let r=0;r<n.length;r++)f(n,String(r));return f(n,"length"),n[e](...t)}});["push","pop","shift","unshift","splice","sort","reverse"].forEach(e=>{D[e]=function(...t){K();let n=Array.prototype[e].apply(this,t);return A(),u(m(this),"length","set",m(this).length),n}});var He={get(e,t,n){if(t===T)return e;if(t===v)return!0;if(Array.isArray(e)&&D.hasOwnProperty(t))return D[t];f(e,t);let r=Reflect.get(e,t,n);return t===y?e[y]===!0:!O(r)||e[oe]?r:W(r)},set(e,t,n,r){let o=e[t],i=Array.isArray(e)&&se(t)?Number(t)<e.length:M(e,t),s=Reflect.set(e,t,n,r);return(e===(r==null?void 0:r[T])||e===m(r))&&(i?ie(n,o)&&u(e,t,"set",n):u(e,t,"add",n)),s},deleteProperty(e,t){let n=M(e,t),r=Reflect.deleteProperty(e,t);return r&&n&&u(e,t,"delete"),r},has(e,t){return f(e,t),Reflect.has(e,t)},ownKeys(e){return f(e,S),Reflect.ownKeys(e)}},ze={get(e,t,n){if(t===T)return e;if(t===v||t===y)return!0;f(e,t);let r=Reflect.get(e,t,n);return O(r)?H(r):r},set(e,t,n,r){return!1},deleteProperty(e,t){return!1},has(e,t){return f(e,t),Reflect.has(e,t)},ownKeys(e){return f(e,S),Reflect.ownKeys(e)}},Ge={get(e,t,n){return t===T?e:t===v?!0:(f(e,t),Reflect.get(e,t,n))},set(e,t,n,r){let o=e[t],i=Array.isArray(e)&&se(t)?Number(t)<e.length:M(e,t),s=Reflect.set(e,t,n,r);return(e===(r==null?void 0:r[T])||e===m(r))&&(i?ie(n,o)&&u(e,t,"set",n):u(e,t,"add",n)),s},deleteProperty(e,t){let n=M(e,t),r=Reflect.deleteProperty(e,t);return r&&n&&u(e,t,"delete"),r},has(e,t){return f(e,t),Reflect.has(e,t)},ownKeys(e){return f(e,S),Reflect.ownKeys(e)}};function se(e){return typeof e=="string"&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e}function W(e,t={}){if(!O(e)||e[v])return e;if(e[y])return H(e);let n=te.get(e);if(n)return n;let r=new Proxy(e,He);return te.set(e,r),r}function H(e){if(!O(e))return e;let t=ne.get(e);if(t)return t;e[y]=!0;let n=new Proxy(e,ze);return ne.set(e,n),n}function ae(e){if(!O(e))return e;let t=re.get(e);if(t)return t;let n=new Proxy(e,Ge);return re.set(e,n),n}function m(e){let t=e&&e[T];return t?m(t):e}function w(e){return J(e)?w(e[T]):!!(e&&e[v])}function J(e){return!!(e&&e[y])}function fe(e){return e[y]=!0,e}function ce(e){return e[oe]=!0,e}var ue=require("@lytjs/common"),_=Symbol("ref"),U=Symbol("shallowRef"),q=new WeakMap;function Ne(e){return q.get(e)||e}function le(e){if(h(e))return e;let t={_value:pe(e),_rawValue:e,__v_isRef:!0,[_]:!0},n=new Proxy(t,Ye);return q.set(n,t),n}function pe(e){return(0,ue.isObject)(e)?W(e):e}var Ye={get(e,t,n){return t==="value"?(f(e,"value"),e._value):t===_||t==="__v_isRef"?!0:t==="_rawValue"?e._rawValue:Reflect.get(e,t,n)},set(e,t,n,r){if(t==="value"){let o=e._rawValue;return Object.is(o,n)||(e._rawValue=n,e._value=pe(n),u(e,"value","set",n)),!0}return Reflect.set(e,t,n,r)}};function de(e){if(h(e))return e;let t={_value:e,_rawValue:e,__v_isRef:!0,__v_isShallow:!0,[_]:!0,[U]:!0},n=new Proxy(t,Je);return q.set(n,t),n}var Je={get(e,t,n){return t==="value"?(f(e,"value"),e._value):t===_||t==="__v_isRef"||t==="__v_isShallow"?!0:t==="_rawValue"?e._rawValue:Reflect.get(e,t,n)},set(e,t,n,r){if(t==="value"){let o=e._rawValue;return Object.is(o,n)||(e._rawValue=n,e._value=n,u(e,"value","set",n)),!0}return Reflect.set(e,t,n,r)}};function h(e){return!!(e&&e.__v_isRef===!0)}function be(e){return h(e)?e.value:e}function L(e,t){let n=e[t];return h(n)?n:new Proxy({_obj:e,_key:t,__v_isRef:!0},{get(r,o,i){return o==="value"?r._obj[r._key]:o==="__v_isRef"?!0:Reflect.get(r,o,i)},set(r,o,i,s){return o==="value"?(r._obj[r._key]=i,!0):Reflect.set(r,o,i,s)}})}function ye(e){let t={};for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=L(e,n));return t}function Te(e){let t=Ne(e);u(t,"value","set",t._rawValue)}var $=class{constructor(t,n){this._dirty=!0;this.__v_isRef=!0;this.deps=new Set;this._setter=n,this._effect=new d(t,{scheduler:()=>{this._dirty||(this._dirty=!0,this.triggerDep())},lazy:!0}),this._value=void 0}get value(){return f(this,"value"),c&&!this.deps.has(c)&&(this.deps.add(c),c.deps.add(this.deps)),this._dirty&&(this._value=this._effect.run(),this._dirty=!1),this._value}set value(t){this._setter&&this._setter(t)}triggerDep(){for(let t of this.deps)t.scheduler?t.scheduler(t):t.run()}};function he(e){let t,n;return typeof e=="function"?(t=e,n=void 0):(t=e.get,n=e.set),new $(t,n)}var R=require("@lytjs/common");function P(e,t=1/0,n){if(!(0,R.isObject)(e)||t<=0||(n||(n=new Set),n.has(e)))return e;if(n.add(e),h(e))P(e.value,t-1,n);else if(Array.isArray(e))for(let r=0;r<e.length;r++)P(e[r],t-1,n);else for(let r of Object.keys(e))P(e[r],t-1,n);return e}function Re(e){return h(e)?()=>e.value:w(e)?()=>P(e):typeof e=="function"?e:()=>P(e)}function me(e,t,n={}){let r,o=!1;if(Array.isArray(e)){o=!0;let l=e.map(j=>Re(j));r=()=>l.map(j=>j())}else r=Re(e);w(e)&&n.deep!==!1&&(n.deep=!0);let i=o?[]:void 0,s,a=l=>{s=l},p=()=>{s&&(s(),s=void 0);let l=E.run();(o?l.some((j,Pe)=>!Object.is(j,i[Pe])):!Object.is(l,i)||n.deep&&(0,R.isObject)(l))&&(t(l,o?[...i]:i,a),i=o?[...l]:l)},E=new d(r,{lazy:!0,scheduler:()=>{n.flush==="sync"?p():(0,R.queueJob)(p)}});return n.immediate?p():i=E.run(),()=>{E.stop()}}function xe(e,t={}){let n,r=()=>{n&&(n(),n=void 0),e(i=>{n=i})},o=new d(r,{scheduler:()=>{t.flush==="sync"?r():(0,R.queueJob)(r)}});return o.run(),()=>{o.stop(),n&&(n(),n=void 0)}}var x=require("@lytjs/common");var z=require("@lytjs/common"),b=null,V=!1,F=0,g=new Set,Q=!1;function G(e){let t=e,n=new Set,r=function(){return b&&!V&&n.add(b),t};return r.set=function(o){Object.is(t,o)||(t=o,Ce(n))},r.update=function(o){r.set(o(t))},r._subscribe=function(o){n.add(o)},r._unsubscribe=function(o){n.delete(o)},r.dispose=function(){n.clear()},r}function Se(e){let t,n=!0,r=!1,o=new Set,i=new Set,s=function(){if(b&&!V&&i.add(b),n){if(r)throw new z.LytError(z.LytErrorCodes.LYT_REACTIVITY_CIRCULAR_DEPENDENCY,"computed \u5728\u5176\u81EA\u8EAB\u7684\u8BA1\u7B97\u56FE\u4E2D");r=!0;for(let l of o)l._unsubscribe(s);o.clear();let E=b;b=s;try{t=e()}finally{b=E,r=!1}n=!1}return t},a={_dirty:!1,notify(){n=!0,Ce(i)}};return s.notify=a.notify.bind(a),s._dirty=!1,s._subscribe=function(p){i.add(p)},s._unsubscribe=function(p){i.delete(p)},s}function ve(e){let t=null,n=!1,r=new Set,o=()=>{if(n)return;t&&(t(),t=null);for(let a of r)a._unsubscribe(i);r.clear();let s=b;b=i;try{e(a=>{t=a})}finally{b=s}},i={_dirty:!1,notify(){F>0?g.add(i):o()}};return o(),()=>{n=!0,t&&(t(),t=null);for(let s of r)s._unsubscribe(i);r.clear(),g.delete(i)}}function we(e){F++;try{e()}finally{F--,F===0&&_e()}}function _e(){if(!Q){Q=!0;try{let e=new Set(g);g.clear();for(let t of e)t.notify();g.size>0&&_e()}finally{Q=!1}}}function ge(e){let t=V;V=!0;try{return e()}finally{V=t}}function Ce(e){if(F>0)for(let t of e)g.add(t);else for(let t of e)t.notify()}var C=[];function Ee(){return C.length>0?C[C.length-1]:null}function je(e){return e()}function ke(e){let t=G(e),n=o=>t.set(o),r=Ee();return[t,n]}function Oe(){let e={_cleanupFns:[]};return C.push(e),()=>{for(let n of e._cleanupFns)n();e._cleanupFns.length=0;let t=C.indexOf(e);t!==-1&&C.splice(t,1)}}function We(e){let t=Ee();t&&t._cleanupFns.push(e)}
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var u=null,g=[],ce=0,
|
|
1
|
+
var u=null,g=[],ce=0,K=new WeakMap,b=class{constructor(t,n={}){this.active=!0;this.deps=new Set;this.fn=t,this.scheduler=n.scheduler,this.beforeRun=n.beforeRun,this.afterRun=n.afterRun,this.lazy=n.lazy,this.id=ce++}run(){var t,n;if(!this.active)return this.fn();if(g.includes(this))return this.fn();try{return(t=this.beforeRun)==null||t.call(this),g.push(this),u=this,Y(this),this.fn()}finally{(n=this.afterRun)==null||n.call(this),g.pop(),u=g[g.length-1]||null}}stop(){this.active&&(Y(this),this.onStop&&this.onStop(),this.active=!1)}},P=!0,J=[];function A(){J.push(P),P=!1}function M(){let e=J.pop();P=e===void 0?!0:e}function Y(e){let{deps:t}=e;for(let n of t)n.delete(e);t.clear()}function f(e,t){if(!P||!u)return;let n=K.get(e);n||(n=new Map,K.set(e,n));let r=n.get(t);r||(r=new Set,n.set(t,r)),r.has(u)||(r.add(u),u.deps.add(r))}function l(e,t,n,r){let o=K.get(e);if(!o)return;let i=new Set,s=a=>{if(a)for(let p of a)(p!==u||p.allowRecurse)&&i.add(p)};if(s(o.get(t)),(n==="add"||n==="delete")&&s(o.get(m)),n==="set"&&Array.isArray(e)){let a=o.get("length");a&&typeof t=="number"&&t<e.length&&s(a)}for(let a of i)a.scheduler?a.scheduler(a):a.run()}var m=Symbol("iterate");function ue(e,t={}){let n=new b(e,t);t.lazy||n.run();let r=n.run.bind(n);return r.effect=n,r.stop=()=>n.stop(),r}function le(e){var t;(t=e==null?void 0:e.effect)==null||t.stop()}var y=Symbol("readonly"),T=Symbol("raw"),x=Symbol("reactive"),$=Symbol("skip"),U=new WeakMap,q=new WeakMap,L=new WeakMap;function C(e){return e!==null&&typeof e=="object"}function Q(e,t){return!Object.is(e,t)}function V(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var F={};["includes","indexOf","lastIndexOf"].forEach(e=>{F[e]=function(...t){let n=R(this);for(let r=0;r<n.length;r++)f(n,String(r));return f(n,"length"),n[e](...t)}});["push","pop","shift","unshift","splice","sort","reverse"].forEach(e=>{F[e]=function(...t){A();let n=Array.prototype[e].apply(this,t);return M(),l(R(this),"length","set",R(this).length),n}});var pe={get(e,t,n){if(t===T)return e;if(t===x)return!0;if(Array.isArray(e)&&F.hasOwnProperty(t))return F[t];f(e,t);let r=Reflect.get(e,t,n);return t===y?e[y]===!0:!C(r)||e[$]?r:I(r)},set(e,t,n,r){let o=e[t],i=Array.isArray(e)&&B(t)?Number(t)<e.length:V(e,t),s=Reflect.set(e,t,n,r);return(e===(r==null?void 0:r[T])||e===R(r))&&(i?Q(n,o)&&l(e,t,"set",n):l(e,t,"add",n)),s},deleteProperty(e,t){let n=V(e,t),r=Reflect.deleteProperty(e,t);return r&&n&&l(e,t,"delete"),r},has(e,t){return f(e,t),Reflect.has(e,t)},ownKeys(e){return f(e,m),Reflect.ownKeys(e)}},de={get(e,t,n){if(t===T)return e;if(t===x||t===y)return!0;f(e,t);let r=Reflect.get(e,t,n);return C(r)?D(r):r},set(e,t,n,r){return!1},deleteProperty(e,t){return!1},has(e,t){return f(e,t),Reflect.has(e,t)},ownKeys(e){return f(e,m),Reflect.ownKeys(e)}},be={get(e,t,n){return t===T?e:t===x?!0:(f(e,t),Reflect.get(e,t,n))},set(e,t,n,r){let o=e[t],i=Array.isArray(e)&&B(t)?Number(t)<e.length:V(e,t),s=Reflect.set(e,t,n,r);return(e===(r==null?void 0:r[T])||e===R(r))&&(i?Q(n,o)&&l(e,t,"set",n):l(e,t,"add",n)),s},deleteProperty(e,t){let n=V(e,t),r=Reflect.deleteProperty(e,t);return r&&n&&l(e,t,"delete"),r},has(e,t){return f(e,t),Reflect.has(e,t)},ownKeys(e){return f(e,m),Reflect.ownKeys(e)}};function B(e){return typeof e=="string"&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e}function I(e,t={}){if(!C(e)||e[x])return e;if(e[y])return D(e);let n=U.get(e);if(n)return n;let r=new Proxy(e,pe);return U.set(e,r),r}function D(e){if(!C(e))return e;let t=q.get(e);if(t)return t;e[y]=!0;let n=new Proxy(e,de);return q.set(e,n),n}function ye(e){if(!C(e))return e;let t=L.get(e);if(t)return t;let n=new Proxy(e,be);return L.set(e,n),n}function R(e){let t=e&&e[T];return t?R(t):e}function E(e){return X(e)?E(e[T]):!!(e&&e[x])}function X(e){return!!(e&&e[y])}function Te(e){return e[y]=!0,e}function he(e){return e[$]=!0,e}import{isObject as Re}from"@lytjs/common";var j=Symbol("ref"),Z=Symbol("shallowRef"),H=new WeakMap;function me(e){return H.get(e)||e}function xe(e){if(h(e))return e;let t={_value:ee(e),_rawValue:e,__v_isRef:!0,[j]:!0},n=new Proxy(t,Se);return H.set(n,t),n}function ee(e){return Re(e)?I(e):e}var Se={get(e,t,n){return t==="value"?(f(e,"value"),e._value):t===j||t==="__v_isRef"?!0:t==="_rawValue"?e._rawValue:Reflect.get(e,t,n)},set(e,t,n,r){if(t==="value"){let o=e._rawValue;return Object.is(o,n)||(e._rawValue=n,e._value=ee(n),l(e,"value","set",n)),!0}return Reflect.set(e,t,n,r)}};function ve(e){if(h(e))return e;let t={_value:e,_rawValue:e,__v_isRef:!0,__v_isShallow:!0,[j]:!0,[Z]:!0},n=new Proxy(t,we);return H.set(n,t),n}var we={get(e,t,n){return t==="value"?(f(e,"value"),e._value):t===j||t==="__v_isRef"||t==="__v_isShallow"?!0:t==="_rawValue"?e._rawValue:Reflect.get(e,t,n)},set(e,t,n,r){if(t==="value"){let o=e._rawValue;return Object.is(o,n)||(e._rawValue=n,e._value=n,l(e,"value","set",n)),!0}return Reflect.set(e,t,n,r)}};function h(e){return!!(e&&e.__v_isRef===!0)}function _e(e){return h(e)?e.value:e}function te(e,t){let n=e[t];return h(n)?n:new Proxy({_obj:e,_key:t,__v_isRef:!0},{get(r,o,i){return o==="value"?r._obj[r._key]:o==="__v_isRef"?!0:Reflect.get(r,o,i)},set(r,o,i,s){return o==="value"?(r._obj[r._key]=i,!0):Reflect.set(r,o,i,s)}})}function ge(e){let t={};for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=te(e,n));return t}function Ce(e){let t=me(e);l(t,"value","set",t._rawValue)}var z=class{constructor(t,n){this._dirty=!0;this.__v_isRef=!0;this.deps=new Set;this._setter=n,this._effect=new b(t,{scheduler:()=>{this._dirty||(this._dirty=!0,this.triggerDep())},lazy:!0}),this._value=void 0}get value(){return f(this,"value"),u&&!this.deps.has(u)&&(this.deps.add(u),u.deps.add(this.deps)),this._dirty&&(this._value=this._effect.run(),this._dirty=!1),this._value}set value(t){this._setter&&this._setter(t)}triggerDep(){for(let t of this.deps)t.scheduler?t.scheduler(t):t.run()}};function Ee(e){let t,n;return typeof e=="function"?(t=e,n=void 0):(t=e.get,n=e.set),new z(t,n)}import{queueJob as re,nextTick as je,isObject as oe}from"@lytjs/common";function k(e,t=1/0,n){if(!oe(e)||t<=0||(n||(n=new Set),n.has(e)))return e;if(n.add(e),h(e))k(e.value,t-1,n);else if(Array.isArray(e))for(let r=0;r<e.length;r++)k(e[r],t-1,n);else for(let r of Object.keys(e))k(e[r],t-1,n);return e}function ne(e){return h(e)?()=>e.value:E(e)?()=>k(e):typeof e=="function"?e:()=>k(e)}function ke(e,t,n={}){let r,o=!1;if(Array.isArray(e)){o=!0;let c=e.map(_=>ne(_));r=()=>c.map(_=>_())}else r=ne(e);E(e)&&n.deep!==!1&&(n.deep=!0);let i=o?[]:void 0,s,a=c=>{s=c},p=()=>{s&&(s(),s=void 0);let c=w.run();(o?c.some((_,fe)=>!Object.is(_,i[fe])):!Object.is(c,i)||n.deep&&oe(c))&&(t(c,o?[...i]:i,a),i=o?[...c]:c)},w=new b(r,{lazy:!0,scheduler:()=>{n.flush==="sync"?p():re(p)}});return n.immediate?p():i=w.run(),()=>{w.stop()}}function Oe(e,t={}){let n,r=()=>{n&&(n(),n=void 0),e(i=>{n=i})},o=new b(r,{scheduler:()=>{t.flush==="sync"?r():re(r)}});return o.run(),()=>{o.stop(),n&&(n(),n=void 0)}}import{queueJob as wt,queuePostFlushCb as _t,hasPendingJob as gt,clearQueue as Ct}from"@lytjs/common";import{LytError as We,LytErrorCodes as Pe}from"@lytjs/common";var d=null,O=!1,W=0,S=new Set,G=!1;function N(e){let t=e,n=new Set,r=function(){return d&&!O&&n.add(d),t};return r.set=function(o){Object.is(t,o)||(t=o,se(n))},r.update=function(o){r.set(o(t))},r._subscribe=function(o){n.add(o)},r._unsubscribe=function(o){n.delete(o)},r.dispose=function(){n.clear()},r}function Ve(e){let t,n=!0,r=!1,o=new Set,i=new Set,s=function(){if(d&&!O&&i.add(d),n){if(r)throw new We(Pe.LYT_REACTIVITY_CIRCULAR_DEPENDENCY,"computed \u5728\u5176\u81EA\u8EAB\u7684\u8BA1\u7B97\u56FE\u4E2D");r=!0;for(let c of o)c._unsubscribe(s);o.clear();let w=d;d=s;try{t=e()}finally{d=w,r=!1}n=!1}return t},a={_dirty:!1,notify(){n=!0,se(i)}};return s.notify=a.notify.bind(a),s._dirty=!1,s._subscribe=function(p){i.add(p)},s._unsubscribe=function(p){i.delete(p)},s}function Fe(e){let t=null,n=!1,r=new Set,o=()=>{if(n)return;t&&(t(),t=null);for(let a of r)a._unsubscribe(i);r.clear();let s=d;d=i;try{e(a=>{t=a})}finally{d=s}},i={_dirty:!1,notify(){W>0?S.add(i):o()}};return o(),()=>{n=!0,t&&(t(),t=null);for(let s of r)s._unsubscribe(i);r.clear(),S.delete(i)}}function Ie(e){W++;try{e()}finally{W--,W===0&&ie()}}function ie(){if(!G){G=!0;try{let e=new Set(S);S.clear();for(let t of e)t.notify();S.size>0&&ie()}finally{G=!1}}}function Ke(e){let t=O;O=!0;try{return e()}finally{O=t}}function se(e){if(W>0)for(let t of e)S.add(t);else for(let t of e)t.notify()}var v=[];function ae(){return v.length>0?v[v.length-1]:null}function Ae(e){return e()}function Me(e){let t=N(e),n=o=>t.set(o),r=ae();return[t,n]}function De(){let e={_cleanupFns:[]};return v.push(e),()=>{for(let n of e._cleanupFns)n();e._cleanupFns.length=0;let t=v.indexOf(e);t!==-1&&v.splice(t,1)}}function He(e){let t=ae();t&&t._cleanupFns.push(e)}export{m as ITERATE_KEY,b as ReactiveEffect,u as activeEffect,Ie as batch,Ct as clearQueue,Ee as computed,Ve as computedSignal,ue as effect,De as enterSignalComponentContext,gt as hasPendingJob,E as isReactive,X as isReadonly,h as isRef,Te as markReadOnly,he as markSkip,je as nextTick,He as onSignalCleanup,A as pauseTracking,wt as queueJob,_t as queuePostFlushCb,T as rawSymbol,I as reactive,x as reactiveFlag,D as readonly,y as readonlyFlag,xe as ref,j as refSymbol,M as resetTracking,ye as shallowReactive,ve as shallowRef,Z as shallowRefSymbol,N as signal,Fe as signalEffect,le as stop,R as toRaw,te as toRef,ge as toRefs,f as track,l as trigger,Ce as triggerRef,_e as unref,Ke as untrack,Ae as useSignal,Me as useSignalState,ke as watch,Oe as watchEffect};
|
package/dist/signal.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var
|
|
1
|
+
"use strict";var p=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var x=(i,e)=>{for(var t in e)p(i,t,{get:e[t],enumerable:!0})},E=(i,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of C(e))!m.call(i,r)&&r!==t&&p(i,r,{get:()=>e[r],enumerable:!(n=g(e,r))||n.enumerable});return i};var w=i=>E(p({},"__esModule",{value:!0}),i);var N={};x(N,{batch:()=>I,computed:()=>D,effect:()=>k,signal:()=>h,untrack:()=>L});module.exports=w(N);var a=require("@lytjs/common"),c=null,f=!1,d=0,b=new Set,S=!1;function h(i){let e=i,t=new Set,n=function(){return c&&!f&&t.add(c),e};return n.set=function(r){Object.is(e,r)||(e=r,y(t))},n.update=function(r){n.set(r(e))},n._subscribe=function(r){t.add(r)},n._unsubscribe=function(r){t.delete(r)},n.dispose=function(){t.clear()},n}function D(i){let e,t=!0,n=!1,r=new Set,o=new Set,s=function(){if(c&&!f&&o.add(c),t){if(n)throw new a.LytError(a.LytErrorCodes.LYT_REACTIVITY_CIRCULAR_DEPENDENCY,"computed \u5728\u5176\u81EA\u8EAB\u7684\u8BA1\u7B97\u56FE\u4E2D");n=!0;for(let _ of r)_._unsubscribe(s);r.clear();let T=c;c=s;try{e=i()}finally{c=T,n=!1}t=!1}return e},u={_dirty:!1,notify(){t=!0,y(o)}};return s.notify=u.notify.bind(u),s._dirty=!1,s._subscribe=function(l){o.add(l)},s._unsubscribe=function(l){o.delete(l)},s}function k(i){let e=null,t=!1,n=new Set,r=()=>{if(t)return;e&&(e(),e=null);for(let u of n)u._unsubscribe(o);n.clear();let s=c;c=o;try{i(u=>{e=u})}finally{c=s}},o={_dirty:!1,notify(){d>0?b.add(o):r()}};return r(),()=>{t=!0,e&&(e(),e=null);for(let s of n)s._unsubscribe(o);n.clear(),b.delete(o)}}function I(i){d++;try{i()}finally{d--,d===0&&v()}}function v(){if(!S){S=!0;try{let i=new Set(b);b.clear();for(let e of i)e.notify();b.size>0&&v()}finally{S=!1}}}function L(i){let e=f;f=!0;try{return i()}finally{f=e}}function y(i){if(d>0)for(let e of i)b.add(e);else for(let e of i)e.notify()}
|
package/dist/signal.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var c=null,f=!1,
|
|
1
|
+
import{LytError as T,LytErrorCodes as _}from"@lytjs/common";var c=null,f=!1,d=0,b=new Set,a=!1;function C(n){let e=n,t=new Set,i=function(){return c&&!f&&t.add(c),e};return i.set=function(r){Object.is(e,r)||(e=r,S(t))},i.update=function(r){i.set(r(e))},i._subscribe=function(r){t.add(r)},i._unsubscribe=function(r){t.delete(r)},i.dispose=function(){t.clear()},i}function m(n){let e,t=!0,i=!1,r=new Set,o=new Set,s=function(){if(c&&!f&&o.add(c),t){if(i)throw new T(_.LYT_REACTIVITY_CIRCULAR_DEPENDENCY,"computed \u5728\u5176\u81EA\u8EAB\u7684\u8BA1\u7B97\u56FE\u4E2D");i=!0;for(let y of r)y._unsubscribe(s);r.clear();let v=c;c=s;try{e=n()}finally{c=v,i=!1}t=!1}return e},u={_dirty:!1,notify(){t=!0,S(o)}};return s.notify=u.notify.bind(u),s._dirty=!1,s._subscribe=function(l){o.add(l)},s._unsubscribe=function(l){o.delete(l)},s}function x(n){let e=null,t=!1,i=new Set,r=()=>{if(t)return;e&&(e(),e=null);for(let u of i)u._unsubscribe(o);i.clear();let s=c;c=o;try{n(u=>{e=u})}finally{c=s}},o={_dirty:!1,notify(){d>0?b.add(o):r()}};return r(),()=>{t=!0,e&&(e(),e=null);for(let s of i)s._unsubscribe(o);i.clear(),b.delete(o)}}function E(n){d++;try{n()}finally{d--,d===0&&p()}}function p(){if(!a){a=!0;try{let n=new Set(b);b.clear();for(let e of n)e.notify();b.size>0&&p()}finally{a=!1}}}function w(n){let e=f;f=!0;try{return n()}finally{f=e}}function S(n){if(d>0)for(let e of n)b.add(e);else for(let e of n)e.notify()}export{E as batch,m as computed,x as effect,C as signal,w as untrack};
|
package/dist/types/effect.d.ts
CHANGED
|
@@ -35,6 +35,8 @@ export interface ReactiveEffectOptions {
|
|
|
35
35
|
* 在依赖收集时使用,用于将副作用与响应式属性关联
|
|
36
36
|
*/
|
|
37
37
|
export declare let activeEffect: ReactiveEffect | null;
|
|
38
|
+
/** 依赖映射表类型:属性名 → 依赖该属性的副作用集合 */
|
|
39
|
+
export type DepsMap = Map<unknown, Set<ReactiveEffect>>;
|
|
38
40
|
/**
|
|
39
41
|
* 响应式副作用类
|
|
40
42
|
* 封装一个副作用函数,管理其依赖关系和执行生命周期
|
|
@@ -134,19 +136,22 @@ export declare const ITERATE_KEY: unique symbol;
|
|
|
134
136
|
* runner.effect.stop() // 停止副作用
|
|
135
137
|
* ```
|
|
136
138
|
*/
|
|
137
|
-
|
|
139
|
+
/** effect() 返回的 runner 类型 */
|
|
140
|
+
export interface EffectRunner {
|
|
141
|
+
(): unknown;
|
|
138
142
|
effect: ReactiveEffect;
|
|
139
|
-
():
|
|
140
|
-
}
|
|
143
|
+
stop(): void;
|
|
144
|
+
}
|
|
145
|
+
export declare function effect(fn: EffectFn, options?: ReactiveEffectOptions): EffectRunner;
|
|
141
146
|
/**
|
|
142
147
|
* 停止一个副作用
|
|
143
148
|
*
|
|
144
149
|
* @param runner - effect() 返回的 runner 对象
|
|
145
150
|
*/
|
|
146
|
-
export declare function stop(runner:
|
|
151
|
+
export declare function stop(runner: EffectRunner): void;
|
|
147
152
|
/**
|
|
148
153
|
* 获取当前 targetMap 的引用(用于调试)
|
|
149
154
|
* @internal
|
|
150
155
|
*/
|
|
151
|
-
export declare function getTargetMap(): WeakMap<object,
|
|
156
|
+
export declare function getTargetMap(): WeakMap<object, DepsMap>;
|
|
152
157
|
//# sourceMappingURL=effect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effect.d.ts","sourceRoot":"","sources":["../../src/effect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,cAAc;AACd,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC;AAEjC,mBAAmB;AACnB,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEtD,gBAAgB;AAChB,MAAM,WAAW,qBAAqB;IACpC,wBAAwB;IACxB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IAC7C,gBAAgB;IAChB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,+BAA+B;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uBAAuB;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,uBAAuB;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAID;;;GAGG;AACH,eAAO,IAAI,YAAY,EAAE,cAAc,GAAG,IAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"effect.d.ts","sourceRoot":"","sources":["../../src/effect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,cAAc;AACd,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC;AAEjC,mBAAmB;AACnB,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEtD,gBAAgB;AAChB,MAAM,WAAW,qBAAqB;IACpC,wBAAwB;IACxB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IAC7C,gBAAgB;IAChB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,+BAA+B;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uBAAuB;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,uBAAuB;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAID;;;GAGG;AACH,eAAO,IAAI,YAAY,EAAE,cAAc,GAAG,IAAW,CAAC;AAgBtD,gCAAgC;AAChC,MAAM,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;AAUxD;;;GAGG;AACH,qBAAa,cAAc;IACzB,YAAY;IACZ,EAAE,EAAE,QAAQ,CAAC;IAEb,cAAc;IACd,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IAE7C,gBAAgB;IAChB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtB,sBAAsB;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,aAAa;IACb,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,eAAe;IACf,EAAE,EAAE,MAAM,CAAC;IAEX,eAAe;IACf,MAAM,EAAE,OAAO,CAAQ;IAEvB;;;;OAIG;IACH,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAa;gBAE/B,EAAE,EAAE,QAAQ,EAAE,OAAO,GAAE,qBAA0B;IAS7D;;;;;;;OAOG;IACH,GAAG,IAAI,GAAG;IAkCV;;;;OAIG;IACH,IAAI,IAAI,IAAI;IAYZ,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAgBD;;;GAGG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAGpC;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAGpC;AAqBD;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,CA2BxD;AAID;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CACrB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,cAAc,EACpB,QAAQ,CAAC,EAAE,GAAG,GACb,IAAI,CAiDN;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,eAAoB,CAAC;AAI7C;;;;;;;;;;;;;;;;GAgBG;AACH,6BAA6B;AAC7B,MAAM,WAAW,YAAY;IAC3B,IAAI,OAAO,CAAC;IACZ,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,IAAI,IAAI,CAAC;CACd;AAED,wBAAgB,MAAM,CACpB,EAAE,EAAE,QAAQ,EACZ,OAAO,GAAE,qBAA0B,GAClC,YAAY,CAed;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAE/C;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAEvD"}
|
package/dist/types/ref.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ref.d.ts","sourceRoot":"","sources":["../../src/ref.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"ref.d.ts","sourceRoot":"","sources":["../../src/ref.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAQH,oBAAoB;AACpB,eAAO,MAAM,SAAS,eAAgB,CAAC;AAEvC,2BAA2B;AAC3B,eAAO,MAAM,gBAAgB,eAAuB,CAAC;AAErD,aAAa;AACb,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,GAAG;IAC1B,WAAW;IACX,KAAK,EAAE,CAAC,CAAC;IACT,aAAa;IACb,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC;CACnB;AAED,eAAe;AACf,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAqB1D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAkB7C;AAsED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAkBpD;AAuDD;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,GAAG,CAElD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAE7C;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EACvD,MAAM,EAAE,CAAC,EACT,GAAG,EAAE,CAAC,GACL,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAyBX;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG;KAClD,CAAC,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC1B,CAUA;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAIzC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,oBAAoB;AACpB,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,oBAAoB;AACpB,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AA2BpD;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAgBhD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAWvD;AA4DD;;;;;GAKG;AACH,wBAAgB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAGxC;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAExD;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAQjC"}
|
package/dist/types/signal.d.ts
CHANGED
|
@@ -15,16 +15,37 @@
|
|
|
15
15
|
export interface Signal<T> {
|
|
16
16
|
(): T;
|
|
17
17
|
}
|
|
18
|
-
/** WritableSignal — 可写信号,支持 set / update */
|
|
18
|
+
/** WritableSignal — 可写信号,支持 set / update / dispose */
|
|
19
19
|
export interface WritableSignal<T> extends Signal<T> {
|
|
20
20
|
set(value: T): void;
|
|
21
21
|
update(fn: (prev: T) => T): void;
|
|
22
|
+
/** 销毁信号,释放所有订阅者 */
|
|
23
|
+
dispose(): void;
|
|
24
|
+
/** 内部订阅方法(由 Dependency 接口使用) */
|
|
25
|
+
_subscribe(subscriber: Subscriber): void;
|
|
26
|
+
/** 内部取消订阅方法(由 Dependency 接口使用) */
|
|
27
|
+
_unsubscribe(subscriber: Subscriber): void;
|
|
22
28
|
}
|
|
23
29
|
/** ComputedSignal — 只读计算信号 */
|
|
24
30
|
export interface ComputedSignal<T> extends Signal<T> {
|
|
31
|
+
/** 内部订阅方法(由 Dependency 接口使用) */
|
|
32
|
+
_subscribe(subscriber: Subscriber): void;
|
|
33
|
+
/** 内部取消订阅方法(由 Dependency 接口使用) */
|
|
34
|
+
_unsubscribe(subscriber: Subscriber): void;
|
|
35
|
+
/** 通知订阅者其依赖已变化 */
|
|
36
|
+
notify(): void;
|
|
37
|
+
/** 标记订阅者需要重新计算/执行 */
|
|
38
|
+
_dirty: boolean;
|
|
25
39
|
}
|
|
26
40
|
/** Effect 清理回调 */
|
|
27
41
|
export type EffectCleanup = () => void;
|
|
42
|
+
/** 订阅者接口(effect 或 computed) */
|
|
43
|
+
interface Subscriber {
|
|
44
|
+
/** 通知订阅者其依赖已变化 */
|
|
45
|
+
notify(): void;
|
|
46
|
+
/** 标记订阅者需要重新计算/执行 */
|
|
47
|
+
_dirty: boolean;
|
|
48
|
+
}
|
|
28
49
|
/**
|
|
29
50
|
* 创建一个可写信号
|
|
30
51
|
*
|
|
@@ -62,4 +83,5 @@ export declare function batch(fn: () => void): void;
|
|
|
62
83
|
* @returns 函数返回值
|
|
63
84
|
*/
|
|
64
85
|
export declare function untrack<T>(fn: () => T): T;
|
|
86
|
+
export {};
|
|
65
87
|
//# sourceMappingURL=signal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signal.d.ts","sourceRoot":"","sources":["../../src/signal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"signal.d.ts","sourceRoot":"","sources":["../../src/signal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH,2BAA2B;AAC3B,MAAM,WAAW,MAAM,CAAC,CAAC;IACvB,IAAI,CAAC,CAAA;CACN;AAED,sDAAsD;AACtD,MAAM,WAAW,cAAc,CAAC,CAAC,CAAE,SAAQ,MAAM,CAAC,CAAC,CAAC;IAClD,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAA;IACnB,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;IAChC,mBAAmB;IACnB,OAAO,IAAI,IAAI,CAAA;IACf,gCAAgC;IAChC,UAAU,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAA;IACxC,kCAAkC;IAClC,YAAY,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAA;CAC3C;AAED,8BAA8B;AAC9B,MAAM,WAAW,cAAc,CAAC,CAAC,CAAE,SAAQ,MAAM,CAAC,CAAC,CAAC;IAClD,gCAAgC;IAChC,UAAU,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAA;IACxC,kCAAkC;IAClC,YAAY,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAA;IAC1C,kBAAkB;IAClB,MAAM,IAAI,IAAI,CAAA;IACd,qBAAqB;IACrB,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,kBAAkB;AAClB,MAAM,MAAM,aAAa,GAAG,MAAM,IAAI,CAAA;AAEtC,+BAA+B;AAC/B,UAAU,UAAU;IAClB,kBAAkB;IAClB,MAAM,IAAI,IAAI,CAAA;IACd,qBAAqB;IACrB,MAAM,EAAE,OAAO,CAAA;CAChB;AAiCD;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAsC5D;AAMD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAgE1D;AAMD;;;;;GAKG;AACH,wBAAgB,MAAM,CACpB,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,KAAK,IAAI,GACxD,MAAM,IAAI,CA6DZ;AAMD;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAU1C;AA4BD;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAQzC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../src/watch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAOH,OAAO,EAAS,GAAG,EAAS,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAY,QAAQ,IAAI,iBAAiB,
|
|
1
|
+
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../src/watch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAOH,OAAO,EAAS,GAAG,EAAS,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAY,QAAQ,IAAI,iBAAiB,EAAY,MAAM,eAAe,CAAC;AAIlF,mBAAmB;AACnB,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAC1C,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,CAAC,EACX,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,IAAI,KAAK,IAAI,KACvC,IAAI,CAAC;AAEV,oDAAoD;AACpD,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,GAAG,IAC3B,GAAG,CAAC,CAAC,CAAC,GACN,CAAC,MAAM,CAAC,CAAC,GACT;IACE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAEN,eAAe;AACf,MAAM,WAAW,YAAY;IAC3B,yBAAyB;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wCAAwC;IACxC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uBAAuB;IACvB,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;CACjC;AAED,qBAAqB;AACrB,MAAM,WAAW,kBAAkB;IACjC,gBAAgB;IAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,gBAAgB;IAChB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACjC,WAAW;IACX,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;CACjC;AAED,iBAAiB;AACjB,MAAM,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC;AAuEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,KAAK,CAAC,CAAC,GAAG,GAAG,EAC3B,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,EACzC,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,EACpB,OAAO,GAAE,YAAiB,GACzB,eAAe,CAqFjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,WAAW,CACzB,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,IAAI,KAAK,IAAI,KAAK,IAAI,EACxD,OAAO,GAAE,kBAAuB,GAC/B,eAAe,CAuCjB;AAED;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,iBAAiB,IAAI,QAAQ,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lytjs/reactivity",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.1",
|
|
4
4
|
"description": "Lyt.js 响应式系统 - 提供响应式数据、计算属性、侦听器等核心响应式能力",
|
|
5
5
|
"main": "./dist/index.cjs",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -49,5 +49,8 @@
|
|
|
49
49
|
],
|
|
50
50
|
"publishConfig": {
|
|
51
51
|
"access": "public"
|
|
52
|
+
},
|
|
53
|
+
"dependencies": {
|
|
54
|
+
"@lytjs/common": "^5.0.1"
|
|
52
55
|
}
|
|
53
56
|
}
|