@but212/atom-effect-jquery 0.16.0 → 0.16.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/README.md +1 -1
- package/dist/atom-effect-jquery.min.js +1 -1
- package/dist/atom-effect-jquery.min.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +858 -853
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("jquery"),nt={ONE_SECOND_MS:1e3},_e={IDLE:"idle",PENDING:"pending",RESOLVED:"resolved",REJECTED:"rejected"},w={DISPOSED:1,HAS_FN_SUBS:2,HAS_OBJ_SUBS:4},U={...w,EXECUTING:8},f={...w,DIRTY:8,IDLE:16,PENDING:32,RESOLVED:64,REJECTED:128,RECOMPUTING:256,HAS_ERROR:512},L={...w,SYNC:8,NOTIFICATION_SCHEDULED:16},q={MAX_EXECUTIONS_PER_SECOND:1e3,MAX_EXECUTIONS_PER_EFFECT:100,MAX_EXECUTIONS_PER_FLUSH:1e4,MAX_FLUSH_ITERATIONS:1e3,MIN_FLUSH_ITERATIONS:10,BATCH_QUEUE_SHRINK_THRESHOLD:1e3},Le={MAX_DEPENDENCIES:1e3,WARN_INFINITE_LOOP:!0},Z=1073741823,ee=typeof process<"u"&&process.env&&process.env.NODE_ENV!=="production",st=Object.freeze([]);class Q extends Error{constructor(e,t=null,s=!0){super(e),this.name="AtomError",this.cause=t,this.recoverable=s,this.timestamp=new Date}}class $ extends Q{constructor(e,t=null){super(e,t,!0),this.name="ComputedError"}}class W extends Q{constructor(e,t=null){super(e,t,!1),this.name="EffectError"}}class ue extends Q{constructor(e,t=null){super(e,t,!1),this.name="SchedulerError"}}const C={COMPUTED_MUST_BE_FUNCTION:"Computed function must be a function",COMPUTED_ASYNC_PENDING_NO_DEFAULT:"Async computation is pending. No default value provided",COMPUTED_COMPUTATION_FAILED:"Computed computation failed",COMPUTED_ASYNC_COMPUTATION_FAILED:"Async computed computation failed",COMPUTED_CIRCULAR_DEPENDENCY:"Circular dependency detected during computation",COMPUTED_DISPOSED:"Cannot access a disposed computed",ATOM_SUBSCRIBER_MUST_BE_FUNCTION:"Subscription listener must be a function or Subscriber object",ATOM_INDIVIDUAL_SUBSCRIBER_FAILED:"Error during individual atom subscriber execution",EFFECT_MUST_BE_FUNCTION:"Effect function must be a function",EFFECT_EXECUTION_FAILED:"Effect execution failed",EFFECT_CLEANUP_FAILED:"Effect cleanup function execution failed",EFFECT_DISPOSED:"Cannot run a disposed effect",LARGE_DEPENDENCY_GRAPH:n=>`Large dependency graph detected: ${n} dependencies`,CALLBACK_ERROR_IN_ERROR_HANDLER:"Error occurred during onError callback execution"},ye=Symbol("debugName"),it=Symbol("id"),Ie=Symbol("type"),Ce=Symbol("noDefaultValue");function rt(n){return"dependencies"in n&&Array.isArray(n.dependencies)}function ze(n,e,t){if(!t.has(n.id)){if(t.add(n.id),n===e)throw new $("Indirect circular dependency detected");if(rt(n)){const s=n.dependencies;for(let i=0;i<s.length;i++){const r=s[i];r&&ze(r,e,t)}}}}const F={enabled:typeof process<"u"&&process.env?.NODE_ENV==="development",maxDependencies:Le.MAX_DEPENDENCIES,warnInfiniteLoop:Le.WARN_INFINITE_LOOP,warn(n,e){this.enabled&&n&&console.warn(`[Atom Effect] ${e}`)},checkCircular(n,e){if(n===e)throw new $("Direct circular dependency detected");this.enabled&&ze(n,e,new Set)},attachDebugInfo(n,e,t){if(!this.enabled)return;const s=n;s[ye]=`${e}_${t}`,s[it]=t,s[Ie]=e},getDebugName(n){if(n!=null&&ye in n)return n[ye]},getDebugType(n){if(n!=null&&Ie in n)return n[Ie]}};let ot=1;const ct=()=>ot++;class qe{constructor(){this.flags=0,this.version=0,this._lastSeenEpoch=-1,this._modifiedAtEpoch=-1,this.id=ct()&Z,this._tempUnsub=void 0}}class Xe extends qe{subscribe(e){if(typeof e=="function")return this._addSubscriber(this._fnSubs,e,w.HAS_FN_SUBS);if(e!==null&&typeof e=="object"&&"execute"in e)return this._addSubscriber(this._objSubs,e,w.HAS_OBJ_SUBS);throw new Q(C.ATOM_SUBSCRIBER_MUST_BE_FUNCTION)}_addSubscriber(e,t,s){return e.indexOf(t)!==-1?(ee&&console.warn("Attempted to subscribe the same listener twice. Ignoring duplicate subscription."),()=>{}):(e.push(t),this.flags|=s,()=>{const i=e.indexOf(t);if(i===-1)return;const r=e.pop();i<e.length&&(e[i]=r),e.length===0&&(this.flags&=~s)})}subscriberCount(){return this._fnSubs.length+this._objSubs.length}_notifySubscribers(e,t){const s=this.flags;if(s&(w.HAS_FN_SUBS|w.HAS_OBJ_SUBS)){if(s&w.HAS_FN_SUBS){const i=this._fnSubs;for(let r=0;r<i.length;r++)try{i[r](e,t)}catch(o){this._handleNotifyError(o)}}if(s&w.HAS_OBJ_SUBS){const i=this._objSubs;for(let r=0;r<i.length;r++)try{i[r].execute()}catch(o){this._handleNotifyError(o)}}}}_handleNotifyError(e){console.error(new Q(C.ATOM_INDIVIDUAL_SUBSCRIBER_FAILED,e))}}class ut{constructor(){this.frozen=0,this.tooLarge=0,this.poolFull=0}}class lt{constructor(){this.acquired=0,this.released=0,this.rejected=new ut}}class Oe{constructor(){this.pool=[],this.maxPoolSize=50,this.maxReusableCapacity=256,this.stats=ee?new lt:null}acquire(){const e=this.stats;return e&&e.acquired++,this.pool.pop()??[]}release(e,t){const s=this.stats;if(t&&e===t)return;if(Object.isFrozen(e)){s&&s.rejected.frozen++;return}if(e.length>this.maxReusableCapacity){s&&s.rejected.tooLarge++;return}const i=this.pool;if(i.length>=this.maxPoolSize){s&&s.rejected.poolFull++;return}e.length=0,i.push(e),s&&s.released++}getStats(){const e=this.stats;if(!e)return null;const{acquired:t,released:s,rejected:i}=e,{frozen:r,tooLarge:o,poolFull:c}=i;return{acquired:t,released:s,rejected:{frozen:r,tooLarge:o,poolFull:c},leaked:t-s-(r+o+c),poolSize:this.pool.length}}reset(){this.pool.length=0;const e=this.stats;e&&(e.acquired=0,e.released=0,e.rejected.frozen=0,e.rejected.tooLarge=0,e.rejected.poolFull=0)}}const R=Object.freeze([]),X=Object.freeze([]),v=Object.freeze([]),G=new Oe,K=new Oe,j=new Oe;function z(n,e,t,s){if(e!=null){if(typeof e.addDependency=="function"){e.addDependency(n);return}if(typeof e=="function"){const i=e;t.indexOf(i)===-1&&(t.push(i),n.flags|=w.HAS_FN_SUBS);return}if(typeof e.execute=="function"){const i=e;s.indexOf(i)===-1&&(s.push(i),n.flags|=w.HAS_OBJ_SUBS)}}}function ht(n,e,t,s){const i=e.length;if(i>0)for(let c=0;c<i;c++){const u=e[c];u&&(u._tempUnsub=t[c])}const r=n.length,o=K.acquire();o.length=r;for(let c=0;c<r;c++){const u=n[c];if(!u)continue;const h=u._tempUnsub;h?(o[c]=h,u._tempUnsub=void 0):(F.checkCircular(u,s),o[c]=u.subscribe(s))}if(i>0)for(let c=0;c<i;c++){const u=e[c];if(u){const h=u._tempUnsub;h&&(h(),u._tempUnsub=void 0)}}return t!==X&&K.release(t),o}let he=0;function Ge(){return he=he+1&Z||1,he}function at(){return he}let Te=0,Ae=0,fe=!1;function Fe(){return fe?(ee&&console.warn("Warning: startFlush() called during flush - ignored to prevent infinite loop detection bypass"),!1):(fe=!0,Te=Te+1&Z||1,Ae=0,!0)}function Pe(){fe=!1}function ft(){return fe?++Ae:0}class dt{constructor(){this._queueBuffer=[[],[]],this._bufferIndex=0,this._size=0,this._epoch=0,this._isProcessing=!1,this._isBatching=!1,this._batchDepth=0,this._batchQueue=[],this._batchQueueSize=0,this._isFlushingSync=!1,this._maxFlushIterations=q.MAX_FLUSH_ITERATIONS}get phase(){return this._isProcessing||this._isFlushingSync?2:this._isBatching?1:0}get queueSize(){return this._size}get isBatching(){return this._isBatching}schedule(e){if(ee&&typeof e!="function")throw new ue("Scheduler callback must be a function");const t=this._epoch;if(e._nextEpoch===t)return;if(e._nextEpoch=t,this._isBatching||this._isFlushingSync){this._batchQueue[this._batchQueueSize++]=e;return}const s=this._bufferIndex,i=this._size;this._queueBuffer[s][i]=e,this._size=i+1,this._isProcessing||this.flush()}flush(){this._isProcessing||this._size===0||(this._isProcessing=!0,queueMicrotask(()=>{try{if(this._size===0)return;const e=Fe();this._drainQueue(),e&&Pe()}finally{this._isProcessing=!1,this._size>0&&!this._isBatching&&this.flush()}}))}flushSync(){this._isFlushingSync=!0;const e=Fe();try{this._mergeBatchQueue(),this._drainQueue()}finally{this._isFlushingSync=!1,e&&Pe()}}_mergeBatchQueue(){const e=this._batchQueueSize;if(e===0)return;const t=++this._epoch,s=this._batchQueue,i=this._queueBuffer[this._bufferIndex];let r=this._size;for(let o=0;o<e;o++){const c=s[o];c._nextEpoch!==t&&(c._nextEpoch=t,i[r++]=c)}this._size=r,this._batchQueueSize=0,s.length>q.BATCH_QUEUE_SHRINK_THRESHOLD&&(s.length=0)}_drainQueue(){let e=0;const t=this._maxFlushIterations;for(;this._size>0;){if(++e>t){this._handleFlushOverflow();return}this._processQueue(),this._mergeBatchQueue()}}_processQueue(){const e=this._bufferIndex,t=this._queueBuffer[e],s=this._size;this._bufferIndex=e^1,this._size=0,this._epoch++,this._processJobs(t,s)}_handleFlushOverflow(){console.error(new ue(`Maximum flush iterations (${this._maxFlushIterations}) exceeded. Possible infinite loop.`)),this._size=0,this._queueBuffer[this._bufferIndex].length=0,this._batchQueueSize=0}_processJobs(e,t){for(let s=0;s<t;s++)try{const i=e[s];i&&i()}catch(i){console.error(new ue("Error occurred during scheduler execution",i))}e.length=0}startBatch(){this._batchDepth++,this._isBatching=!0}endBatch(){const e=this._batchDepth;if(e===0){ee&&console.warn("endBatch() called without matching startBatch(). Ignoring.");return}const t=e-1;this._batchDepth=t,t===0&&(this.flushSync(),this._isBatching=!1)}setMaxFlushIterations(e){if(e<q.MIN_FLUSH_ITERATIONS)throw new ue(`Max flush iterations must be at least ${q.MIN_FLUSH_ITERATIONS}`);this._maxFlushIterations=e}}const re=new dt;class _t{constructor(){this.current=null}run(e,t){const s=this.current;this.current=e;try{return t()}finally{this.current=s}}getCurrent(){return this.current}}const O=new _t;function ve(n){if(typeof n!="function")throw new Q("Untracked callback must be a function");const e=O.current;O.current=null;try{return n()}finally{O.current=e}}class pt extends Xe{constructor(e,t){super(),this._value=e,this._pendingOldValue=void 0,this._notifyTask=void 0,this._fnSubs=[],this._objSubs=[],t&&(this.flags|=L.SYNC),F.attachDebugInfo(this,"atom",this.id)}get value(){const e=O.current;return e&&z(this,e,this._fnSubs,this._objSubs),this._value}set value(e){const t=this._value;t===e||Object.is(t,e)||(this._value=e,this.version=this.version+1&Z,this.flags&(L.HAS_FN_SUBS|L.HAS_OBJ_SUBS)&&this._scheduleNotification(t))}_scheduleNotification(e){let t=this.flags;if(t&L.NOTIFICATION_SCHEDULED||(this._pendingOldValue=e,t|=L.NOTIFICATION_SCHEDULED,this.flags=t),t&L.SYNC&&!re.isBatching){this._flushNotifications();return}this._notifyTask||(this._notifyTask=()=>this._flushNotifications());const s=this._notifyTask;re.schedule(s)}_flushNotifications(){const e=this.flags;if(!(e&L.NOTIFICATION_SCHEDULED)||e&L.DISPOSED)return;const t=this._pendingOldValue;this._pendingOldValue=void 0,this.flags=e&-17,this._notifySubscribers(this._value,t)}peek(){return this._value}dispose(){const e=this.flags;e&L.DISPOSED||(this._fnSubs.length=0,this._objSubs.length=0,this.flags=e|L.DISPOSED,this._value=void 0,this._pendingOldValue=void 0,this._notifyTask=void 0)}}function Qe(n,e={}){return new pt(n,e.sync??!1)}function se(n,e,t){if(n instanceof TypeError)return new e(`Type error (${t}): ${n.message}`,n);if(n instanceof ReferenceError)return new e(`Reference error (${t}): ${n.message}`,n);if(n instanceof Q)return n;const s=n instanceof Error?n.message:String(n),i=n instanceof Error?n:null;return new e(`Unexpected error (${t}): ${s}`,i)}function Ne(n){return n!==null&&typeof n=="object"&&"value"in n&&typeof n.subscribe=="function"}function Me(n){return F.enabled&&n!=null&&typeof n=="object"&&F.getDebugType(n)==="computed"?!0:Ne(n)&&typeof n.invalidate=="function"}function Je(n){return n!=null&&typeof n.then=="function"}const Ye=f.RESOLVED|f.PENDING|f.REJECTED,pe=Array(Ye+1).fill(_e.IDLE);pe[f.RESOLVED]=_e.RESOLVED;pe[f.PENDING]=_e.PENDING;pe[f.REJECTED]=_e.REJECTED;const Be=3,$e=Number.MAX_SAFE_INTEGER-1;class We extends Xe{constructor(e,t={}){if(typeof e!="function")throw new $(C.COMPUTED_MUST_BE_FUNCTION);if(super(),this._value=void 0,this.flags=f.DIRTY|f.IDLE,this._error=null,this._promiseId=0,this._equal=t.equal??Object.is,this._fn=e,this._defaultValue="defaultValue"in t?t.defaultValue:Ce,this._onError=t.onError??null,this._fnSubs=[],this._objSubs=[],this._dependencies=R,this._dependencyVersions=v,this._unsubscribes=X,this._cachedErrors=null,this._errorCacheEpoch=-1,this._asyncStartAggregateVersion=0,this._asyncRetryCount=0,this._trackEpoch=-1,this._trackDeps=R,this._trackVersions=v,this._trackCount=0,F.attachDebugInfo(this,"computed",this.id),F.enabled){const s=this;s.subscriberCount=this.subscriberCount.bind(this),s.isDirty=()=>(this.flags&f.DIRTY)!==0,s.dependencies=this._dependencies}if(t.lazy===!1)try{this._recompute()}catch{}}get value(){const e=O.current;e&&z(this,e,this._fnSubs,this._objSubs);let t=this.flags;if((t&(f.RESOLVED|f.DIRTY|f.IDLE))===f.RESOLVED)return this._value;if(t&f.DISPOSED)throw new $(C.COMPUTED_DISPOSED);if(t&f.RECOMPUTING){const r=this._defaultValue;if(r!==Ce)return r;throw new $(C.COMPUTED_CIRCULAR_DEPENDENCY)}if(t&(f.DIRTY|f.IDLE)&&(this._recompute(),t=this.flags),t&f.RESOLVED)return this._value;const s=this._defaultValue,i=s!==Ce;if(t&f.PENDING){if(i)return s;throw new $(C.COMPUTED_ASYNC_PENDING_NO_DEFAULT)}if(t&f.REJECTED){const r=this._error;if(r?.recoverable&&i)return s;throw r}return this._value}peek(){return this._value}get state(){const e=O.current;return e&&z(this,e,this._fnSubs,this._objSubs),pe[this.flags&Ye]}get hasError(){const e=O.current;if(e&&z(this,e,this._fnSubs,this._objSubs),this.flags&(f.REJECTED|f.HAS_ERROR))return!0;const t=this._dependencies;for(let s=0,i=t.length;s<i;s++)if(t[s].flags&f.HAS_ERROR)return!0;return!1}get isValid(){return!this.hasError}get errors(){const e=O.current;if(e&&z(this,e,this._fnSubs,this._objSubs),!this.hasError)return st;const t=at();if(this._errorCacheEpoch===t&&this._cachedErrors!==null)return this._cachedErrors;const s=new Set,i=this._error;i&&s.add(i);const r=this._dependencies;for(let c=0,u=r.length;c<u;c++){const h=r[c];if(h.flags&f.HAS_ERROR){const p=h.errors;if(p)for(let a=0,_=p.length;a<_;a++){const d=p[a];d&&s.add(d)}}}const o=Object.freeze(Array.from(s));return this._errorCacheEpoch=t,this._cachedErrors=o,o}get lastError(){const e=O.current;return e&&z(this,e,this._fnSubs,this._objSubs),this._error}get isPending(){const e=O.current;return e&&z(this,e,this._fnSubs,this._objSubs),(this.flags&f.PENDING)!==0}get isResolved(){const e=O.current;return e&&z(this,e,this._fnSubs,this._objSubs),(this.flags&f.RESOLVED)!==0}invalidate(){this._markDirty();const e=this._dependencyVersions;e!==v&&(j.release(e),this._dependencyVersions=v),this._errorCacheEpoch=-1,this._cachedErrors=null}dispose(){if(this.flags&f.DISPOSED)return;const e=this._unsubscribes;if(e!==X){for(let i=0,r=e.length;i<r;i++){const o=e[i];o&&o()}K.release(e),this._unsubscribes=X}const t=this._dependencies;t!==R&&(G.release(t),this._dependencies=R);const s=this._dependencyVersions;s!==v&&(j.release(s),this._dependencyVersions=v),this._fnSubs.length=0,this._objSubs.length=0,this.flags=f.DISPOSED|f.DIRTY|f.IDLE,this._error=null,this._value=void 0,this._promiseId=(this._promiseId+1)%$e,this._cachedErrors=null,this._errorCacheEpoch=-1}addDependency(e){if(e._lastSeenEpoch===this._trackEpoch)return;e._lastSeenEpoch=this._trackEpoch;const t=this._trackCount,s=this._trackDeps,i=this._trackVersions;t<s.length?(s[t]=e,i[t]=e.version):(s.push(e),i.push(e.version)),this._trackCount=t+1}_commitDeps(e){const t=this._trackDeps,s=this._trackVersions,i=this._trackCount;t.length=i,s.length=i,this._unsubscribes=ht(t,e,this._unsubscribes,this),this._dependencies=t,this._dependencyVersions=s}_recompute(){if(this.flags&f.RECOMPUTING)return;this.flags|=f.RECOMPUTING;const e=this._dependencies,t=this._dependencyVersions;this._trackEpoch=Ge(),this._trackDeps=G.acquire(),this._trackVersions=j.acquire(),this._trackCount=0;let s=!1;try{const i=O.run(this,this._fn);this._commitDeps(e),s=!0,Je(i)?this._handleAsyncComputation(i):this._finalizeResolution(i)}catch(i){let r=i;if(!s)try{this._commitDeps(e),s=!0}catch(o){r=o}this._handleComputationError(r)}finally{s?(e!==R&&G.release(e),t!==v&&j.release(t)):(G.release(this._trackDeps),j.release(this._trackVersions)),this._trackEpoch=-1,this._trackDeps=R,this._trackVersions=v,this._trackCount=0,this.flags&=-257}}_handleAsyncComputation(e){this.flags=(this.flags|f.PENDING)&-217,this._notifySubscribers(void 0,void 0),this._asyncStartAggregateVersion=this._captureVersionSnapshot(),this._asyncRetryCount=0,this._promiseId=(this._promiseId+1)%$e;const t=this._promiseId;e.then(s=>{if(t===this._promiseId){if(this._captureVersionSnapshot()!==this._asyncStartAggregateVersion){if(this._asyncRetryCount<Be){this._asyncRetryCount++,this._markDirty();return}this._handleAsyncRejection(new $(`Async drift threshold exceeded after ${Be} retries.`));return}this._finalizeResolution(s),this._notifySubscribers(s,void 0)}}).catch(s=>{t===this._promiseId&&this._handleAsyncRejection(s)})}_captureVersionSnapshot(){let e=0;const t=this._dependencies;for(let s=0,i=t.length;s<i;s++){const r=t[s];if(r){const o=r.version;e=((e<<5)-e|0)+o&Z}}return e}_handleAsyncRejection(e){const t=se(e,$,C.COMPUTED_ASYNC_COMPUTATION_FAILED);this.flags&f.REJECTED||(this.version=this.version+1&Z),this._error=t,this.flags=this.flags&-121|(f.REJECTED|f.HAS_ERROR);const s=this._onError;if(s)try{s(t)}catch(i){console.error(C.CALLBACK_ERROR_IN_ERROR_HANDLER,i)}this._notifySubscribers(void 0,void 0)}_finalizeResolution(e){(!(this.flags&f.RESOLVED)||!this._equal(this._value,e))&&(this.version=this.version+1&Z),this._value=e,this._error=null,this.flags=(this.flags|f.RESOLVED)&-697,this._cachedErrors=null,this._errorCacheEpoch=-1}_handleComputationError(e){const t=se(e,$,C.COMPUTED_COMPUTATION_FAILED);this._error=t,this.flags=this.flags&-121|(f.REJECTED|f.HAS_ERROR);const s=this._onError;if(s)try{s(t)}catch(i){console.error(C.CALLBACK_ERROR_IN_ERROR_HANDLER,i)}throw t}execute(){this._markDirty()}_markDirty(){const e=this.flags;e&(f.RECOMPUTING|f.DIRTY)||(this.flags=e|f.DIRTY,this._notifySubscribers(void 0,void 0))}}Object.freeze(We.prototype);function Ke(n,e={}){return new We(n,e)}class Et extends qe{constructor(e,t={}){super(),this._cleanup=null,this._dependencies=R,this._dependencyVersions=v,this._unsubscribes=X,this._nextDeps=null,this._nextVersions=null,this._nextUnsubs=null,this._executeTask=void 0,this._onError=t.onError??null,this._currentEpoch=-1,this._lastFlushEpoch=-1,this._executionsInEpoch=0,this._fn=e,this._sync=t.sync??!1,this._maxExecutions=t.maxExecutionsPerSecond??q.MAX_EXECUTIONS_PER_SECOND,this._maxExecutionsPerFlush=t.maxExecutionsPerFlush??q.MAX_EXECUTIONS_PER_EFFECT,this._trackModifications=t.trackModifications??!1,this._executionCount=0,this._historyPtr=0;const s=Number.isFinite(this._maxExecutions),i=s?Math.min(this._maxExecutions+1,q.MAX_EXECUTIONS_PER_SECOND+1):0;this._historyCapacity=i,this._history=ee&&s&&i>0?new Array(i).fill(0):null,this._execId=0,F.attachDebugInfo(this,"effect",this.id)}run(){if(this.flags&U.DISPOSED)throw new W(C.EFFECT_DISPOSED);this.execute(!0)}dispose(){const e=this.flags;if(e&U.DISPOSED)return;if(this.flags=e|U.DISPOSED,this._cleanup){try{this._cleanup()}catch(r){this._handleExecutionError(r,C.EFFECT_CLEANUP_FAILED)}this._cleanup=null}const t=this._unsubscribes;if(t!==X){for(let r=0,o=t.length;r<o;r++){const c=t[r];c&&c()}K.release(t),this._unsubscribes=X}const s=this._dependencies;s!==R&&(G.release(s),this._dependencies=R);const i=this._dependencyVersions;i!==v&&(j.release(i),this._dependencyVersions=v),this._executeTask=void 0}addDependency(e){if(!(this.flags&U.EXECUTING))return;const t=this._currentEpoch;if(e._lastSeenEpoch===t)return;e._lastSeenEpoch=t;const s=this._nextDeps,i=this._nextVersions,r=this._nextUnsubs;s.push(e),i.push(e.version);const o=e._tempUnsub;if(o){r.push(o),e._tempUnsub=void 0;return}try{const c=this._sync,u=this._trackModifications,h=e.subscribe(()=>{if(u&&this.flags&U.EXECUTING&&(e._modifiedAtEpoch=this._currentEpoch),c){this.execute();return}this._executeTask||(this._executeTask=()=>this.execute());const p=this._executeTask;re.schedule(p)});r.push(h)}catch(c){console.error(se(c,W,C.EFFECT_EXECUTION_FAILED)),r.push(()=>{})}}execute(e=!1){if(this.flags&(U.DISPOSED|U.EXECUTING))return;if(!e){const a=this._dependencies,_=a.length;if(_>0){const d=this._dependencyVersions;let S=!1;for(let T=0;T<_;T++){const I=a[T];if(I.version!==d[T]){S=!0;break}if("value"in I)try{if(ve(()=>I.value),I.version!==d[T]){S=!0;break}}catch{S=!0;break}}if(!S)return}}const t=Te;this._lastFlushEpoch!==t&&(this._lastFlushEpoch=t,this._executionsInEpoch=0),++this._executionsInEpoch>this._maxExecutionsPerFlush&&this._throwInfiniteLoopError("per-effect"),ft()>q.MAX_EXECUTIONS_PER_FLUSH&&this._throwInfiniteLoopError("global"),this._executionCount++;const s=this._history;if(s){const a=Date.now(),_=this._historyPtr;s[_]=a;const d=(_+1)%this._historyCapacity;this._historyPtr=d;const S=s[d]||0;if(S>0&&a-S<nt.ONE_SECOND_MS){const T=new W("Effect executed too frequently within 1 second. Suspected infinite loop.");if(this.dispose(),this._handleExecutionError(T),ee)throw T;return}}if(this.flags|=U.EXECUTING,this._cleanup){try{this._cleanup()}catch(a){this._handleExecutionError(a,C.EFFECT_CLEANUP_FAILED)}this._cleanup=null}const i=this._dependencies,r=this._dependencyVersions,o=this._unsubscribes;if(i!==R)for(let a=0,_=i.length;a<_;a++){const d=i[a];d&&(d._tempUnsub=o[a])}const c=G.acquire(),u=j.acquire(),h=K.acquire();this._nextDeps=c,this._nextVersions=u,this._nextUnsubs=h,this._currentEpoch=Ge();let p=!1;try{const a=O.run(this,this._fn);this._dependencies=c,this._dependencyVersions=u,this._unsubscribes=h,p=!0,this._checkLoopWarnings();const _=++this._execId;Je(a)?a.then(d=>{if(_!==this._execId||this.flags&U.DISPOSED){if(typeof d=="function")try{d()}catch(S){this._handleExecutionError(S,C.EFFECT_CLEANUP_FAILED)}return}typeof d=="function"&&(this._cleanup=d)}).catch(d=>{_===this._execId&&this._handleExecutionError(d)}):this._cleanup=typeof a=="function"?a:null}catch(a){p=!0,this._handleExecutionError(a),this._cleanup=null}finally{if(this._nextDeps=null,this._nextVersions=null,this._nextUnsubs=null,p){if(i!==R){for(let a=0,_=i.length;a<_;a++){const d=i[a],S=d?d._tempUnsub:void 0;S&&(S(),d&&(d._tempUnsub=void 0))}G.release(i)}r!==v&&j.release(r),o!==X&&K.release(o)}else{G.release(c),j.release(u);for(let a=0,_=h.length;a<_;a++){const d=h[a];d&&d()}if(K.release(h),i!==R)for(let a=0,_=i.length;a<_;a++){const d=i[a];d&&(d._tempUnsub=void 0)}}this.flags&=-9}}get isDisposed(){return(this.flags&U.DISPOSED)!==0}get executionCount(){return this._executionCount}get isExecuting(){return(this.flags&U.EXECUTING)!==0}_throwInfiniteLoopError(e){const t=new W(`Infinite loop detected (${e}): effect executed ${this._executionsInEpoch} times in current flush. Total executions in flush: ${Ae}`);throw this.dispose(),console.error(t),t}_handleExecutionError(e,t=C.EFFECT_EXECUTION_FAILED){const s=se(e,W,t);console.error(s);const i=this._onError;if(i)try{i(s)}catch(r){console.error(se(r,W,C.CALLBACK_ERROR_IN_ERROR_HANDLER))}}_checkLoopWarnings(){if(this._trackModifications&&F.enabled){const e=this._dependencies,t=this._currentEpoch;for(let s=0,i=e.length;s<i;s++){const r=e[s];r&&r._modifiedAtEpoch===t&&F.warn(!0,`Effect is reading a dependency (${F.getDebugName(r)||"unknown"}) that it just modified. Infinite loop may occur`)}}}}function J(n,e={}){if(typeof n!="function")throw new W(C.EFFECT_MUST_BE_FUNCTION);const t=new Et(n,e);return t.execute(),t}function Ee(n){if(typeof n!="function")throw new Q("Batch callback must be a function");re.startBatch();try{return n()}finally{re.endBatch()}}function gt(n){return n!==null&&typeof n=="object"&&"value"in n&&"subscribe"in n}function ge(n){if(!n)return"unknown";const e="jquery"in n?n[0]:n;if(!e)return"unknown";const t=e.id;if(t&&typeof t=="string")return`#${t}`;const s=e.tagName.toLowerCase(),i=e.classList;if(i&&i.length>0){let r=s;for(let o=0,c=i.length;o<c;o++){const u=i[o];u&&(r+=`.${u}`)}return r}return s}function mt(n){const e=n.length;if(e===0)return new Int32Array(0);const t=new Int32Array(e),s=new Int32Array(e);let i=0;for(let o=0;o<e;o++){const c=n[o];if(c===void 0||c===-1)continue;const u=i>0?s[i-1]:void 0;if(i===0||u!==void 0&&(n[u]??-1)<c){t[o]=u??-1,s[i++]=o;continue}let h=0,p=i-1;for(;h<p;){const _=h+p>>>1,d=s[_];d!==void 0&&(n[d]??-1)<c?h=_+1:p=_}const a=s[h];a!==void 0&&c<(n[a]??Number.MAX_SAFE_INTEGER)&&(h>0&&(t[o]=s[h-1]??-1),s[h]=o)}const r=new Int32Array(i);if(i>0){let o=s[i-1];for(let c=i-1;c>=0&&o!==void 0&&o!==-1;c--)r[c]=o,o=t[o]}return r}function bt(){if(typeof window<"u"){const n=window.__ATOM_DEBUG__;if(typeof n=="boolean")return n}try{if(typeof process<"u"&&process.env?.NODE_ENV==="development")return!0}catch{}return!1}let Y=bt();const g={get enabled(){return Y},set enabled(n){Y=n},log(n,...e){Y&&console.log(`[atom-effect-jquery] ${n}:`,...e)},atomChanged(n,e,t){Y&&console.log(`[atom-effect-jquery] Atom "${n??"anonymous"}" changed:`,e,"→",t)},domUpdated(n,e,t){Y&&(console.log(`[atom-effect-jquery] DOM updated: ${ge(n)}.${e} =`,t),St(n))},cleanup(n){Y&&console.log(`[atom-effect-jquery] Cleanup: ${n}`)},warn(...n){Y&&console.warn("[atom-effect-jquery]",...n)}},De=new WeakMap;function St(n){const e="jquery"in n?n[0]:n;if(!e||!e.isConnected)return;let t=De.get(e);if(t||(t={},De.set(e,t)),t.timer&&clearTimeout(t.timer),t.cleanupTimer&&clearTimeout(t.cleanupTimer),!t.orgStyle){const i=e.style;t.orgStyle={outline:i.outline,outlineOffset:i.outlineOffset,transition:i.transition}}const s=e.style;s.outline="2px solid rgba(255, 68, 68, 0.8)",s.outlineOffset="1px",s.transition="none",t.timer=setTimeout(()=>{e.isConnected&&(s.transition="outline 0.5s ease-out",requestAnimationFrame(()=>{if(!e.isConnected)return;const i=t?.orgStyle;i&&(s.outline=i.outline,s.outlineOffset=i.outlineOffset),t.cleanupTimer=setTimeout(()=>{e.isConnected&&t?.orgStyle&&(s.transition=t.orgStyle.transition),De.delete(e)},500)}))},100)}const yt=new WeakMap;function Ze(n,e={}){const t=Qe(n,e);return e.name&&yt.set(t,{name:e.name}),t}Object.defineProperty(Ze,"debug",{get(){return g.enabled},set(n){g.enabled=n}});function It(){return new Promise(n=>setTimeout(n,0))}l.extend({atom:Ze,computed:Ke,effect:J,batch:Ee,untracked:ve,isAtom:Ne,isComputed:Me,isReactive:n=>Ne(n)||Me(n),nextTick:It});const le="_aes-bound";class Ct{records=new WeakMap;boundElements=new WeakSet;preservedNodes=new WeakSet;ignoredNodes=new WeakSet;keep(e){this.preservedNodes.add(e)}isKept(e){return this.preservedNodes.has(e)}markIgnored(e){this.ignoredNodes.add(e)}isIgnored(e){return this.ignoredNodes.has(e)}_getOrCreateRecord(e){let t=this.records.get(e);return t||(t={},this.records.set(e,t),this.boundElements.has(e)||(this.boundElements.add(e),e.classList.add(le))),t}trackEffect(e,t){const s=this._getOrCreateRecord(e);s.effects||(s.effects=[]),s.effects.push(t)}trackCleanup(e,t){const s=this._getOrCreateRecord(e);s.cleanups||(s.cleanups=[]),s.cleanups.push(t)}hasBind(e){return this.boundElements.has(e)}cleanup(e){if(!this.boundElements.delete(e))return;const t=this.records.get(e);if(!t)return;this.records.delete(e),this.preservedNodes.delete(e),this.ignoredNodes.delete(e),e.classList.remove(le),g.enabled&&g.cleanup(ge(e));const s=t.effects;if(s)for(let r=0,o=s.length;r<o;r++)try{s[r]?.dispose()}catch(c){g.warn("Effect dispose error:",c)}const i=t.cleanups;if(i)for(let r=0,o=i.length;r<o;r++)try{i[r]?.()}catch(c){g.warn("Cleanup error:",c)}}cleanupDescendants(e){const t=e.querySelectorAll(`.${le}`);for(let s=0,i=t.length;s<i;s++){const r=t[s];r&&this.boundElements.has(r)?this.cleanup(r):r&&r.classList.remove(le)}}cleanupTree(e){this.cleanupDescendants(e),this.cleanup(e)}}const b=new Ct;let ie=null;function et(n=document.body){ie||(ie=new MutationObserver(e=>{for(let t=0,s=e.length;t<s;t++){const i=e[t]?.removedNodes;if(!i)continue;const r=i.length;if(r!==0)for(let o=0;o<r;o++){const c=i[o];c.nodeType===1&&(c.isConnected||b.isKept(c)||b.isIgnored(c)||b.cleanupTree(c))}}}),ie.observe(n,{childList:!0,subtree:!0}))}function Dt(){ie?.disconnect(),ie=null}function D(n,e,t,s){gt(e)?b.trackEffect(n,J(()=>{const i=e.value;t(i),g.domUpdated(l(n),s,i)})):(t(e),g.domUpdated(l(n),s,e))}var y=(n=>(n[n.None=0]="None",n[n.Focused=1]="Focused",n[n.Composing=2]="Composing",n[n.SyncingToAtom=4]="SyncingToAtom",n[n.SyncingToDom=8]="SyncingToDom",n[n.Busy=14]="Busy",n))(y||{});function Re(){return{timeoutId:null,flags:0}}function tt(n,e,t={}){const{debounce:s,event:i="input",parse:r=I=>I,format:o=I=>String(I??""),equal:c=Object.is}=t,u=Re(),h=n[0],p=()=>{if(!(u.flags&y.Busy)){u.flags|=y.SyncingToAtom;try{const I=h.value,A=r(I);c(e.value,A)||(e.value=A)}finally{u.flags&=~y.SyncingToAtom}}},a=()=>{u.timeoutId&&(clearTimeout(u.timeoutId),u.timeoutId=null,p()),u.flags&=~y.Focused;const I=o(e.value);h.value!==I&&(h.value=I)},_=()=>{u.flags&y.Busy||(s?(u.timeoutId&&clearTimeout(u.timeoutId),u.timeoutId=setTimeout(p,s)):p())},d={compositionstart:()=>{u.flags|=y.Composing},compositionend:()=>{u.flags&=~y.Composing,p()},focus:()=>{u.flags|=y.Focused},blur:a,[i]:_,change:_};return n.on(d),{effect:()=>{const I=e.value,A=o(I),x=h.value;if(x!==A&&!(u.flags&y.Focused&&c(r(x),I))){u.flags|=y.SyncingToDom;try{if(u.flags&y.Focused){const{selectionStart:oe,selectionEnd:me}=h;h.value=A;const V=A.length;h.setSelectionRange(Math.min(oe??V,V),Math.min(me??V,V))}else h.value=A;g.domUpdated(n,"val",A)}finally{u.flags&=~y.SyncingToDom}}},cleanup:()=>{n.off(d),u.timeoutId&&clearTimeout(u.timeoutId)}}}l.fn.atomText=function(n,e){return this.each(function(){const t=l(this);D(this,n,e?i=>t.text(e(i)):i=>t.text(String(i??"")),"text")})};l.fn.atomHtml=function(n){return this.each(function(){const e=l(this);D(this,n,t=>e.html(String(t??"")),"html")})};l.fn.atomClass=function(n,e){return this.each(function(){const t=l(this);D(this,e,s=>t.toggleClass(n,!!s),`class.${n}`)})};l.fn.atomCss=function(n,e,t){return this.each(function(){const s=l(this);D(this,e,t?r=>s.css(n,`${r}${t}`):r=>s.css(n,r),`css.${n}`)})};l.fn.atomAttr=function(n,e){return this.each(function(){const t=l(this);D(this,e,s=>{if(s==null||s===!1){t.removeAttr(n);return}t.attr(n,s===!0?n:String(s))},`attr.${n}`)})};l.fn.atomProp=function(n,e){return this.each(function(){const t=l(this);D(this,e,s=>t.prop(n,s),`prop.${n}`)})};l.fn.atomShow=function(n){return this.each(function(){const e=l(this);D(this,n,t=>e.toggle(!!t),"show")})};l.fn.atomHide=function(n){return this.each(function(){const e=l(this);D(this,n,t=>e.toggle(!t),"hide")})};l.fn.atomVal=function(n,e={}){return this.each(function(){const{effect:t,cleanup:s}=tt(l(this),n,e);b.trackEffect(this,J(t)),b.trackCleanup(this,s)})};l.fn.atomChecked=function(n){return this.each(function(){const e=l(this),t=this,s=Re(),i=()=>{if(s.flags&y.Busy)return;const o=t.checked;n.value!==o&&(n.value=o)};e.on("change",i),b.trackCleanup(this,()=>e.off("change",i));const r=J(()=>{s.flags|=y.SyncingToDom;const o=!!n.value;t.checked!==o&&(t.checked=o,g.domUpdated(e,"checked",o)),s.flags&=~y.SyncingToDom});b.trackEffect(this,r)})};l.fn.atomOn=function(n,e){return this.each(function(){const t=l(this);t.on(n,e),b.trackCleanup(this,()=>t.off(n,e))})};l.fn.atomUnbind=function(){return this.each(function(){b.cleanupTree(this)})};const je=Object.create(null);function Tt(n){let e=je[n];return e||(e=n.includes("-")?n.replace(/-./g,t=>t[1].toUpperCase()):n,je[n]=e,e)}function Nt(n,e){const t=n.el;D(t,e,s=>{const i=typeof s=="string"?s:String(s??"");t.textContent!==i&&(t.textContent=i)},"text")}function Ot(n,e){const t=n.el;D(t,e,s=>{const i=String(s??"");t.innerHTML!==i&&(t.innerHTML=i)},"html")}function At(n,e){for(const t in e)D(n.el,e[t],s=>{n.el.classList.toggle(t,!!s)},`class.${t}`)}function vt(n,e){const t=n.el,s=t.style;for(const i in e){const r=e[i];if(r===void 0)continue;const o=Tt(i);Array.isArray(r)?D(t,r[0],c=>{s[o]=`${c}${r[1]}`},`css.${i}`):D(t,r,c=>{s[o]=c},`css.${i}`)}}function Rt(n,e){const t=n.el;for(const s in e)D(t,e[s],i=>{if(i==null||i===!1){t.removeAttribute(s);return}const r=i===!0?s:String(i);t.getAttribute(s)!==r&&t.setAttribute(s,r)},`attr.${s}`)}function xt(n,e){const t=n.el;for(const s in e)D(n.el,e[s],i=>{t[s]!==i&&(t[s]=i)},`prop.${s}`)}function Ut(n,e){const t=n.el;D(t,e,s=>{t.style.display=s?"":"none",g.enabled&&g.domUpdated(t,"show",s)},"show")}function wt(n,e){const t=n.el;D(t,e,s=>{t.style.display=s?"none":"",g.enabled&&g.domUpdated(t,"hide",s)},"hide")}function kt(n,e){const t=Array.isArray(e),{effect:s,cleanup:i}=tt(n.$el,t?e[0]:e,t?e[1]:{});b.trackEffect(n.el,J(s)),n.trackCleanup(i)}function Lt(n,e){const t=n.el,s=Re(),i=()=>{if(s.flags&y.Busy)return;const o=t.checked;e.value!==o&&(e.value=o)};t.addEventListener("change",i),n.trackCleanup(()=>t.removeEventListener("change",i));const r=J(()=>{s.flags|=y.SyncingToDom;const o=!!e.value;t.checked!==o&&(t.checked=o,g.enabled&&g.domUpdated(t,"checked",o)),s.flags&=~y.SyncingToDom});b.trackEffect(t,r)}function Ft(n,e){for(const t in e){const s=e[t];if(typeof s!="function")continue;const i=r=>{Ee(()=>s.call(n.el,l.Event(r.type,{originalEvent:r})))};n.el.addEventListener(t,i),n.trackCleanup(()=>n.el.removeEventListener(t,i))}}l.fn.atomBind=function(n){return this.each(function(){const e=this;let t=null;const s={get $el(){return t||(t=l(e)),t},el:e,trackCleanup:i=>b.trackCleanup(e,i)};n.text!==void 0&&Nt(s,n.text),n.html!==void 0&&Ot(s,n.html),n.class&&At(s,n.class),n.css&&vt(s,n.css),n.attr&&Rt(s,n.attr),n.prop&&xt(s,n.prop),n.show!==void 0&&Ut(s,n.show),n.hide!==void 0&&wt(s,n.hide),n.val!==void 0&&kt(s,n.val),n.checked!==void 0&&Lt(s,n.checked),n.on&&Ft(s,n.on)})};l.fn.atomList=function(n,e){const{key:t,render:s,bind:i,update:r,onAdd:o,onRemove:c,empty:u}=e,h=typeof t=="function"?t:(p,a)=>p[t];return this.each(function(){const p=l(this),a=ge(this),_=new Map,d=new Set;let S=[],T=null;const I=J(()=>{const A=n.value,x=A.length;if(x===0?u&&!T&&(T=l(u).appendTo(p)):T&&(T.remove(),T=null),x===0&&_.size===0){S=[];return}g.log("list",`${a} updating with ${x} items`);const oe=new Map,me=S.length;for(let E=0;E<me;E++)oe.set(S[E],E);const V=new Array(x),be=new Set,Ue=new Int32Array(x);for(let E=0;E<x;E++){const M=A[E],m=h(M,E);g.enabled&&be.has(m)&&console.warn(`[atomList] Duplicate key "${m}" at index ${E}.`),V[E]=m,be.add(m),Ue[E]=oe.get(m)??-1}if(_.size>0)for(const[E,M]of _){if(be.has(E)||d.has(E))continue;const m=()=>{M.$el.remove(),M.$el[0]&&b.cleanup(M.$el[0]),d.delete(E),g.log("list",`${a} removed item:`,E)};if(_.delete(E),d.add(E),c){const N=c(M.$el);N instanceof Promise?N.then(m):m()}else m()}if(x===0){S=[];return}const we=mt(Ue);let Se=we.length-1,P=null;for(let E=x-1;E>=0;E--){const M=V[E],m=A[E],N=_.get(M);if(N){const te=N.item;N.item=m;const k=N.$el[0];if(!k)continue;if(r)r(N.$el,m,E),g.domUpdated(N.$el,"list.update",m);else if(te!==m){let H=!0;if(typeof te=="object"&&te!==null&&typeof m=="object"&&m!==null){H=!1;let B=0;const ce=te,ke=m;for(const ne in ce){if(ce[ne]!==ke[ne]){H=!0;break}B++}if(!H){let ne=0;for(const Mt in ke)if(ne++,ne>B){H=!0;break}B!==ne&&(H=!0)}}if(H){const B=l(s(m,E)),ce=P===k;N.$el.replaceWith(B),N.$el=B,i&&i(B,m,E),g.domUpdated(B,"list.render",m),ce&&(P=B[0]||null)}}if(Se>=0&&we[Se]===E)Se--;else{const H=N.$el[0];P?.isConnected?P!==H&&N.$el.insertBefore(P):N.$el.appendTo(p)}P=N.$el[0]||null}else{const te=s(m,E),k=l(te);_.set(M,{$el:k,item:m}),P?.isConnected?k.insertBefore(P):k.appendTo(p),i&&i(k,m,E),o&&o(k),g.domUpdated(k,"list.add",m),P=k[0]||null}}S=V});b.trackEffect(this,I),b.trackCleanup(this,()=>{_.clear(),d.clear(),S=[],T?.remove()})})};const ae=new WeakMap;l.fn.atomMount=function(n,e={}){return this.each(function(){const t=g.enabled,s=t?ge(this):"",i=ae.get(this);i&&(t&&g.log("mount",`${s} unmounting existing component`),i()),t&&g.log("mount",`${s} mounting component`);let r;try{r=n(l(this),e)}catch(c){console.error("[atom-effect-jquery] Mount error:",c);return}const o=()=>{if(ae.delete(this)){if(t&&g.log("mount",`${s} full cleanup`),typeof r=="function")try{r()}catch(c){console.error("[atom-effect-jquery] Cleanup error:",c)}b.cleanupTree(this)}};ae.set(this,o),b.trackCleanup(this,o)})};l.fn.atomUnmount=function(){return this.each(function(){const n=ae.get(this);n&&n()})};const de=new WeakMap;let Ve=!1;const He=n=>{let e=de.get(n);return e||(e=function(...t){return Ee(()=>n.apply(this,t))},de.set(n,e)),e};function xe(){if(Ve)return;Ve=!0;const n=l.fn.on,e=l.fn.off,t=l.fn.remove,s=l.fn.empty,i=l.fn.detach;l.fn.remove=function(r){const o=r?this.filter(r):this;for(let c=0,u=o.length;c<u;c++){const h=o[c];h&&(b.cleanupTree(h),b.markIgnored(h))}return t.call(this,r)},l.fn.empty=function(){for(let r=0,o=this.length;r<o;r++){const c=this[r];c&&b.cleanupDescendants(c)}return s.call(this)},l.fn.detach=function(r){const o=r?this.filter(r):this;for(let c=0,u=o.length;c<u;c++){const h=o[c];h&&b.keep(h)}return i.call(this,r)},l.fn.on=function(...r){const o=r[0];if(o&&typeof o=="object"){const c=o,u={};for(const h in c){const p=c[h];p&&(u[h]=He(p))}r[0]=u}else for(let c=r.length-1;c>=0;c--)if(typeof r[c]=="function"){r[c]=He(r[c]);break}return n.apply(this,r)},l.fn.off=function(...r){const o=r[0];if(o&&typeof o=="object"){const c=o,u={};for(const h in c){const p=c[h];p&&(u[h]=de.get(p)||p)}r[0]=u}else for(let c=r.length-1;c>=0;c--)if(typeof r[c]=="function"){r[c]=de.get(r[c])||r[c];break}return e.apply(this,r)}}const Pt=xe;xe();l(()=>{et(document.body)});exports.default=l;exports.atom=Qe;exports.batch=Ee;exports.computed=Ke;exports.disableAutoCleanup=Dt;exports.effect=J;exports.enableAutoCleanup=et;exports.enablejQueryBatching=Pt;exports.enablejQueryOverrides=xe;exports.registry=b;exports.untracked=ve;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("jquery"),Ze={ONE_SECOND_MS:1e3},he={IDLE:"idle",PENDING:"pending",RESOLVED:"resolved",REJECTED:"rejected"},P={DISPOSED:1,HAS_FN_SUBS:2,HAS_OBJ_SUBS:4},v={...P,EXECUTING:8},h={...P,DIRTY:8,IDLE:16,PENDING:32,RESOLVED:64,REJECTED:128,RECOMPUTING:256,HAS_ERROR:512},k={...P,SYNC:8,NOTIFICATION_SCHEDULED:16},j={MAX_EXECUTIONS_PER_SECOND:1e3,MAX_EXECUTIONS_PER_EFFECT:100,MAX_EXECUTIONS_PER_FLUSH:1e4,MAX_FLUSH_ITERATIONS:1e3,MIN_FLUSH_ITERATIONS:10,BATCH_QUEUE_SHRINK_THRESHOLD:1e3},we={MAX_DEPENDENCIES:1e3,WARN_INFINITE_LOOP:!0},J=1073741823,V=typeof process<"u"&&process.env&&process.env.NODE_ENV!=="production",et=Object.freeze([]);class z extends Error{constructor(e,t=null,s=!0){super(e),this.name="AtomError",this.cause=t,this.recoverable=s,this.timestamp=new Date}}class F extends z{constructor(e,t=null){super(e,t,!0),this.name="ComputedError"}}class Y extends z{constructor(e,t=null){super(e,t,!1),this.name="EffectError"}}class ie extends z{constructor(e,t=null){super(e,t,!1),this.name="SchedulerError"}}const me=Symbol("debugName"),tt=Symbol("id"),be=Symbol("type"),ye=Symbol("noDefaultValue");function nt(n){return"dependencies"in n&&Array.isArray(n.dependencies)}function je(n,e,t){if(!t.has(n.id)){if(t.add(n.id),n===e)throw new F("Indirect circular dependency detected");if(nt(n)){const s=n.dependencies;for(let i=0;i<s.length;i++){const o=s[i];o&&je(o,e,t)}}}}const w={enabled:typeof process<"u"&&process.env?.NODE_ENV==="development",maxDependencies:we.MAX_DEPENDENCIES,warnInfiniteLoop:we.WARN_INFINITE_LOOP,warn(n,e){this.enabled&&n&&console.warn(`[Atom Effect] ${e}`)},checkCircular(n,e){if(n===e)throw new F("Direct circular dependency detected");this.enabled&&je(n,e,new Set)},attachDebugInfo(n,e,t){if(!this.enabled)return;const s=n;s[me]=`${e}_${t}`,s[tt]=t,s[be]=e},getDebugName(n){if(n!=null&&me in n)return n[me]},getDebugType(n){if(n!=null&&be in n)return n[be]}};let st=1;const it=()=>st++;function B(n,e,t){if(e==null)return;const s=e;if(typeof s.addDependency=="function"){s.addDependency(n);return}if(typeof e=="function"){const o=e,c=t.length;for(let r=0;r<c;r++)if(t[r].fn===o)return;t.push(new ue(o)),n.flags|=P.HAS_FN_SUBS;return}const i=e;if(typeof i.execute=="function"){const o=t.length;for(let c=0;c<o;c++)if(t[c].sub===i)return;t.push(new ue(void 0,i)),n.flags|=P.HAS_OBJ_SUBS}}function ot(n,e,t){const s=e.length,i=n.length;if(s>0)for(let o=0;o<s;o++){const c=e[o];c&&(c.node._tempUnsub=c.unsub)}for(let o=0;o<i;o++){const c=n[o];if(!c)continue;const r=c.node,u=r._tempUnsub;u!==void 0?(c.unsub=u,r._tempUnsub=void 0):(w.checkCircular(r,t),c.unsub=r.subscribe(t))}if(s>0)for(let o=0;o<s;o++){const c=e[o];if(c){const r=c.node,u=r._tempUnsub;u!==void 0&&(u(),r._tempUnsub=void 0),c.unsub=void 0}}}class Ie{constructor(e,t,s=void 0){this.node=e,this.version=t,this.unsub=s}}class ue{constructor(e,t){this.fn=e,this.sub=t}}const y={COMPUTED_MUST_BE_FUNCTION:"Computed function must be a function",COMPUTED_ASYNC_PENDING_NO_DEFAULT:"Async computation is pending. No default value provided",COMPUTED_COMPUTATION_FAILED:"Computed computation failed",COMPUTED_ASYNC_COMPUTATION_FAILED:"Async computed computation failed",COMPUTED_CIRCULAR_DEPENDENCY:"Circular dependency detected during computation",COMPUTED_DISPOSED:"Cannot access a disposed computed",ATOM_SUBSCRIBER_MUST_BE_FUNCTION:"Subscription listener must be a function or Subscriber object",ATOM_INDIVIDUAL_SUBSCRIBER_FAILED:"Error during individual atom subscriber execution",EFFECT_MUST_BE_FUNCTION:"Effect function must be a function",EFFECT_EXECUTION_FAILED:"Effect execution failed",EFFECT_CLEANUP_FAILED:"Effect cleanup function execution failed",EFFECT_DISPOSED:"Cannot run a disposed effect",LARGE_DEPENDENCY_GRAPH:n=>`Large dependency graph detected: ${n} dependencies`,CALLBACK_ERROR_IN_ERROR_HANDLER:"Error occurred during onError callback execution"};class He{constructor(){this.flags=0,this.version=0,this._lastSeenEpoch=-1,this._modifiedAtEpoch=-1,this.id=it()&J,this._tempUnsub=void 0}}class Ve extends He{subscribe(e){const t=this._subscribers,s=typeof e=="function";if(!s&&(e===null||typeof e!="object"||typeof e.execute!="function"))throw new z(y.ATOM_SUBSCRIBER_MUST_BE_FUNCTION);const i=t.length;if(s){for(let c=0;c<i;c++)if(t[c].fn===e)return V&&console.warn("Attempted to subscribe the same listener twice. Ignoring duplicate subscription."),()=>{}}else for(let c=0;c<i;c++)if(t[c].sub===e)return V&&console.warn("Attempted to subscribe the same listener twice. Ignoring duplicate subscription."),()=>{};const o=s?new ue(e):new ue(void 0,e);return t.push(o),this.flags|=s?P.HAS_FN_SUBS:P.HAS_OBJ_SUBS,()=>{const c=t.indexOf(o);if(c===-1)return;const r=t.pop();c<t.length&&(t[c]=r);const u=t.length;if(u===0)this.flags&=-7;else{let l=!1,f=!1;for(let E=0;E<u&&(t[E].fn?l=!0:f=!0,!(l&&f));E++);let g=this.flags;l||(g&=-3),f||(g&=-5),this.flags=g}}}subscriberCount(){return this._subscribers.length}_notifySubscribers(e,t){if(!(this.flags&(P.HAS_FN_SUBS|P.HAS_OBJ_SUBS)))return;const s=this._subscribers,i=s.length;for(let o=0;o<i;o++){const c=s[o];try{c.fn?c.fn(e,t):c.sub&&c.sub.execute()}catch(r){this._handleNotifyError(r)}}}_handleNotifyError(e){console.error(new z(y.ATOM_INDIVIDUAL_SUBSCRIBER_FAILED,e))}}let re=0;function ze(){return re=re+1&J||1,re}function rt(){return re}let Ce=0,Te=0,le=!1;function Ue(){return le?(V&&console.warn("Warning: startFlush() called during flush - ignored to prevent infinite loop detection bypass"),!1):(le=!0,Ce=Ce+1&J||1,Te=0,!0)}function xe(){le=!1}function ct(){return le?++Te:0}class ut{constructor(){this._queueBuffer=[[],[]],this._bufferIndex=0,this._size=0,this._epoch=0,this._isProcessing=!1,this._isBatching=!1,this._batchDepth=0,this._batchQueue=[],this._batchQueueSize=0,this._isFlushingSync=!1,this._maxFlushIterations=j.MAX_FLUSH_ITERATIONS}get phase(){return this._isProcessing||this._isFlushingSync?2:this._isBatching?1:0}get queueSize(){return this._size}get isBatching(){return this._isBatching}schedule(e){if(V&&typeof e!="function")throw new ie("Scheduler callback must be a function");const t=this._epoch;if(e._nextEpoch===t)return;if(e._nextEpoch=t,this._isBatching||this._isFlushingSync){this._batchQueue[this._batchQueueSize++]=e;return}const s=this._bufferIndex,i=this._size;this._queueBuffer[s][i]=e,this._size=i+1,this._isProcessing||this.flush()}flush(){this._isProcessing||this._size===0||(this._isProcessing=!0,queueMicrotask(()=>{try{if(this._size===0)return;const e=Ue();this._drainQueue(),e&&xe()}finally{this._isProcessing=!1,this._size>0&&!this._isBatching&&this.flush()}}))}flushSync(){this._isFlushingSync=!0;const e=Ue();try{this._mergeBatchQueue(),this._drainQueue()}finally{this._isFlushingSync=!1,e&&xe()}}_mergeBatchQueue(){const e=this._batchQueueSize;if(e===0)return;const t=++this._epoch,s=this._batchQueue,i=this._queueBuffer[this._bufferIndex];let o=this._size;for(let c=0;c<e;c++){const r=s[c];r._nextEpoch!==t&&(r._nextEpoch=t,i[o++]=r)}this._size=o,this._batchQueueSize=0,s.length>j.BATCH_QUEUE_SHRINK_THRESHOLD&&(s.length=0)}_drainQueue(){let e=0;const t=this._maxFlushIterations;for(;this._size>0;){if(++e>t){this._handleFlushOverflow();return}this._processQueue(),this._mergeBatchQueue()}}_processQueue(){const e=this._bufferIndex,t=this._queueBuffer[e],s=this._size;this._bufferIndex=e^1,this._size=0,this._epoch++,this._processJobs(t,s)}_handleFlushOverflow(){console.error(new ie(`Maximum flush iterations (${this._maxFlushIterations}) exceeded. Possible infinite loop.`)),this._size=0,this._queueBuffer[this._bufferIndex].length=0,this._batchQueueSize=0}_processJobs(e,t){for(let s=0;s<t;s++)try{const i=e[s];i&&i()}catch(i){console.error(new ie("Error occurred during scheduler execution",i))}e.length=0}startBatch(){this._batchDepth++,this._isBatching=!0}endBatch(){const e=this._batchDepth;if(e===0){V&&console.warn("endBatch() called without matching startBatch(). Ignoring.");return}const t=e-1;this._batchDepth=t,t===0&&(this.flushSync(),this._isBatching=!1)}setMaxFlushIterations(e){if(e<j.MIN_FLUSH_ITERATIONS)throw new ie(`Max flush iterations must be at least ${j.MIN_FLUSH_ITERATIONS}`);this._maxFlushIterations=e}}const te=new ut;class lt{constructor(){this.current=null}run(e,t){const s=this.current;this.current=e;try{return t()}finally{this.current=s}}getCurrent(){return this.current}}const T=new lt;function Ne(n){if(typeof n!="function")throw new z("Untracked callback must be a function");const e=T.current;T.current=null;try{return n()}finally{T.current=e}}class at extends Ve{constructor(e,t){super(),this._value=e,this._pendingOldValue=void 0,this._notifyTask=void 0,this._subscribers=[],t&&(this.flags|=k.SYNC),w.attachDebugInfo(this,"atom",this.id)}get value(){const e=T.current;return e&&B(this,e,this._subscribers),this._value}set value(e){const t=this._value;if(t===e||Object.is(t,e))return;this._value=e,this.version=this.version+1&J;let s=this.flags;if(s&(k.HAS_FN_SUBS|k.HAS_OBJ_SUBS)){if(s&k.NOTIFICATION_SCHEDULED)return;if(this._pendingOldValue=t,s|=k.NOTIFICATION_SCHEDULED,this.flags=s,s&k.SYNC&&!te.isBatching){this._flushNotifications();return}this._notifyTask||(this._notifyTask=()=>this._flushNotifications()),te.schedule(this._notifyTask)}}_flushNotifications(){const e=this.flags;if(!(e&k.NOTIFICATION_SCHEDULED)||e&k.DISPOSED)return;const t=this._pendingOldValue;this._pendingOldValue=void 0,this.flags=e&-17,this._notifySubscribers(this._value,t)}peek(){return this._value}dispose(){const e=this.flags;e&k.DISPOSED||(this._subscribers.length=0,this.flags=e|k.DISPOSED,this._value=void 0,this._pendingOldValue=void 0,this._notifyTask=void 0)}}function qe(n,e={}){return new at(n,e.sync??!1)}class ht{constructor(){this.frozen=0,this.tooLarge=0,this.poolFull=0}}class ft{constructor(){this.acquired=0,this.released=0,this.rejected=new ht}}class dt{constructor(){this.pool=[],this.maxPoolSize=50,this.maxReusableCapacity=256,this.stats=V?new ft:null}acquire(){const e=this.stats;return e&&e.acquired++,this.pool.pop()??[]}release(e,t){const s=this.stats;if(t&&e===t)return;if(Object.isFrozen(e)){s&&s.rejected.frozen++;return}if(e.length>this.maxReusableCapacity){s&&s.rejected.tooLarge++;return}const i=this.pool;if(i.length>=this.maxPoolSize){s&&s.rejected.poolFull++;return}e.length=0,i.push(e),s&&s.released++}getStats(){const e=this.stats;if(!e)return null;const{acquired:t,released:s,rejected:i}=e,{frozen:o,tooLarge:c,poolFull:r}=i;return{acquired:t,released:s,rejected:{frozen:o,tooLarge:c,poolFull:r},leaked:t-s-(o+c+r),poolSize:this.pool.length}}reset(){this.pool.length=0;const e=this.stats;e&&(e.acquired=0,e.released=0,e.rejected.frozen=0,e.rejected.tooLarge=0,e.rejected.poolFull=0)}}const O=Object.freeze([]),H=new dt;function Z(n,e,t){if(n instanceof TypeError)return new e(`Type error (${t}): ${n.message}`,n);if(n instanceof ReferenceError)return new e(`Reference error (${t}): ${n.message}`,n);if(n instanceof z)return n;const s=n instanceof Error?n.message:String(n),i=n instanceof Error?n:null;return new e(`Unexpected error (${t}): ${s}`,i)}function De(n){return n!==null&&typeof n=="object"&&"value"in n&&typeof n.subscribe=="function"}function Le(n){return w.enabled&&n!=null&&typeof n=="object"&&w.getDebugType(n)==="computed"?!0:De(n)&&typeof n.invalidate=="function"}function Xe(n){return n!=null&&typeof n.then=="function"}const Ge=h.RESOLVED|h.PENDING|h.REJECTED,fe=Array(Ge+1).fill(he.IDLE);fe[h.RESOLVED]=he.RESOLVED;fe[h.PENDING]=he.PENDING;fe[h.REJECTED]=he.REJECTED;const Fe=3,Pe=Number.MAX_SAFE_INTEGER-1;class Qe extends Ve{constructor(e,t={}){if(typeof e!="function")throw new F(y.COMPUTED_MUST_BE_FUNCTION);if(super(),this._value=void 0,this.flags=h.DIRTY|h.IDLE,this._error=null,this._promiseId=0,this._equal=t.equal??Object.is,this._fn=e,this._defaultValue="defaultValue"in t?t.defaultValue:ye,this._onError=t.onError??null,this._subscribers=[],this._links=O,this._cachedErrors=null,this._errorCacheEpoch=-1,this._asyncStartAggregateVersion=0,this._asyncRetryCount=0,this._trackEpoch=-1,this._trackLinks=O,this._trackCount=0,w.attachDebugInfo(this,"computed",this.id),w.enabled){const s=this;s.subscriberCount=this.subscriberCount.bind(this),s.isDirty=()=>(this.flags&h.DIRTY)!==0,s.links=this._links}if(t.lazy===!1)try{this._recompute()}catch{}}get value(){const e=T.current;e&&B(this,e,this._subscribers);let t=this.flags;if((t&(h.RESOLVED|h.DIRTY|h.IDLE))===h.RESOLVED)return this._value;if(t&h.DISPOSED)throw new F(y.COMPUTED_DISPOSED);if(t&h.RECOMPUTING){const o=this._defaultValue;if(o!==ye)return o;throw new F(y.COMPUTED_CIRCULAR_DEPENDENCY)}if(t&(h.DIRTY|h.IDLE)&&(this._recompute(),t=this.flags),t&h.RESOLVED)return this._value;const s=this._defaultValue,i=s!==ye;if(t&h.PENDING){if(i)return s;throw new F(y.COMPUTED_ASYNC_PENDING_NO_DEFAULT)}if(t&h.REJECTED){const o=this._error;if(o?.recoverable&&i)return s;throw o}return this._value}peek(){return this._value}get state(){const e=T.current;return e&&B(this,e,this._subscribers),fe[this.flags&Ge]}get hasError(){const e=T.current;if(e&&B(this,e,this._subscribers),this.flags&(h.REJECTED|h.HAS_ERROR))return!0;const t=this._links;for(let s=0,i=t.length;s<i;s++)if(t[s].node.flags&h.HAS_ERROR)return!0;return!1}get isValid(){return!this.hasError}get errors(){const e=T.current;if(e&&B(this,e,this._subscribers),!this.hasError)return et;const t=rt();if(this._errorCacheEpoch===t&&this._cachedErrors!==null)return this._cachedErrors;const s=new Set,i=this._error;i&&s.add(i);const o=this._links;for(let r=0,u=o.length;r<u;r++){const l=o[r].node;if(l.flags&h.HAS_ERROR){const f=l.errors;if(f)for(let g=0,E=f.length;g<E;g++){const C=f[g];C&&s.add(C)}}}const c=Object.freeze(Array.from(s));return this._errorCacheEpoch=t,this._cachedErrors=c,c}get lastError(){const e=T.current;return e&&B(this,e,this._subscribers),this._error}get isPending(){const e=T.current;return e&&B(this,e,this._subscribers),(this.flags&h.PENDING)!==0}get isResolved(){const e=T.current;return e&&B(this,e,this._subscribers),(this.flags&h.RESOLVED)!==0}invalidate(){this._markDirty(),this._errorCacheEpoch=-1,this._cachedErrors=null}dispose(){if(this.flags&h.DISPOSED)return;const e=this._links;if(e!==O){for(let t=0,s=e.length;t<s;t++){const i=e[t];i?.unsub&&i.unsub()}H.release(e),this._links=O}this._subscribers.length=0,this.flags=h.DISPOSED|h.DIRTY|h.IDLE,this._error=null,this._value=void 0,this._promiseId=(this._promiseId+1)%Pe,this._cachedErrors=null,this._errorCacheEpoch=-1}addDependency(e){const t=this._trackEpoch;if(e._lastSeenEpoch===t)return;e._lastSeenEpoch=t;const s=this._trackCount,i=this._trackLinks;if(s<i.length){const o=i[s];o.node=e,o.version=e.version}else i.push(new Ie(e,e.version));this._trackCount=s+1}_commitDeps(e){const t=this._trackLinks,s=this._trackCount;t.length=s,ot(t,e,this),this._links=t}_recompute(){if(this.flags&h.RECOMPUTING)return;this.flags|=h.RECOMPUTING;const e=this._links;this._trackEpoch=ze(),this._trackLinks=H.acquire(),this._trackCount=0;let t=!1;try{const s=T.run(this,this._fn);this._commitDeps(e),t=!0,Xe(s)?this._handleAsyncComputation(s):this._finalizeResolution(s)}catch(s){let i=s;if(!t)try{this._commitDeps(e),t=!0}catch(o){i=o}this._handleComputationError(i)}finally{t?e!==O&&H.release(e):H.release(this._trackLinks),this._trackEpoch=-1,this._trackLinks=O,this._trackCount=0,this.flags&=-257}}_handleAsyncComputation(e){this.flags=(this.flags|h.PENDING)&-217,this._notifySubscribers(void 0,void 0),this._asyncStartAggregateVersion=this._captureVersionSnapshot(),this._asyncRetryCount=0,this._promiseId=(this._promiseId+1)%Pe;const t=this._promiseId;e.then(s=>{if(t===this._promiseId){if(this._captureVersionSnapshot()!==this._asyncStartAggregateVersion){if(this._asyncRetryCount<Fe){this._asyncRetryCount++,this._markDirty();return}this._handleAsyncRejection(new F(`Async drift threshold exceeded after ${Fe} retries.`));return}this._finalizeResolution(s),this._notifySubscribers(s,void 0)}}).catch(s=>{t===this._promiseId&&this._handleAsyncRejection(s)})}_captureVersionSnapshot(){let e=0;const t=this._links;for(let s=0,i=t.length;s<i;s++){const o=t[s].node.version;e=((e<<5)-e|0)+o&J}return e}_handleAsyncRejection(e){const t=Z(e,F,y.COMPUTED_ASYNC_COMPUTATION_FAILED);this.flags&h.REJECTED||(this.version=this.version+1&J),this._error=t,this.flags=this.flags&-121|(h.REJECTED|h.HAS_ERROR);const s=this._onError;if(s)try{s(t)}catch(i){console.error(y.CALLBACK_ERROR_IN_ERROR_HANDLER,i)}this._notifySubscribers(void 0,void 0)}_finalizeResolution(e){(!(this.flags&h.RESOLVED)||!this._equal(this._value,e))&&(this.version=this.version+1&J),this._value=e,this._error=null,this.flags=(this.flags|h.RESOLVED)&-697,this._cachedErrors=null,this._errorCacheEpoch=-1}_handleComputationError(e){const t=Z(e,F,y.COMPUTED_COMPUTATION_FAILED);this._error=t,this.flags=this.flags&-121|(h.REJECTED|h.HAS_ERROR);const s=this._onError;if(s)try{s(t)}catch(i){console.error(y.CALLBACK_ERROR_IN_ERROR_HANDLER,i)}throw t}execute(){this._markDirty()}_markDirty(){const e=this.flags;e&(h.RECOMPUTING|h.DIRTY)||(this.flags=e|h.DIRTY,this._notifySubscribers(void 0,void 0))}}Object.freeze(Qe.prototype);function Ye(n,e={}){return new Qe(n,e)}class _t extends He{constructor(e,t={}){super(),this._cleanup=null,this._links=O,this._nextLinks=null,this._executeTask=void 0,this._onError=t.onError??null,this._currentEpoch=-1,this._lastFlushEpoch=-1,this._executionsInEpoch=0,this._fn=e,this._sync=t.sync??!1,this._maxExecutions=t.maxExecutionsPerSecond??j.MAX_EXECUTIONS_PER_SECOND,this._maxExecutionsPerFlush=t.maxExecutionsPerFlush??j.MAX_EXECUTIONS_PER_EFFECT,this._trackModifications=t.trackModifications??!1,this._executionCount=0,this._historyPtr=0;const s=Number.isFinite(this._maxExecutions),i=s?Math.min(this._maxExecutions+1,j.MAX_EXECUTIONS_PER_SECOND+1):0;this._historyCapacity=i,this._history=V&&s&&i>0?new Array(i).fill(0):null,this._execId=0,w.attachDebugInfo(this,"effect",this.id)}run(){if(this.flags&v.DISPOSED)throw new Y(y.EFFECT_DISPOSED);this.execute(!0)}dispose(){const e=this.flags;if(e&v.DISPOSED)return;if(this.flags=e|v.DISPOSED,this._cleanup){try{this._cleanup()}catch(s){this._handleExecutionError(s,y.EFFECT_CLEANUP_FAILED)}this._cleanup=null}const t=this._links;if(t!==O){for(let s=0,i=t.length;s<i;s++){const o=t[s];o?.unsub&&o.unsub()}H.release(t),this._links=O}this._executeTask=void 0}addDependency(e){if(!(this.flags&v.EXECUTING))return;const t=this._currentEpoch;if(e._lastSeenEpoch===t)return;e._lastSeenEpoch=t;const s=this._nextLinks,i=e._tempUnsub;if(i){s.push(new Ie(e,e.version,i)),e._tempUnsub=void 0;return}try{const o=this._sync,c=this._trackModifications,r=e.subscribe(()=>{if(c&&this.flags&v.EXECUTING&&(e._modifiedAtEpoch=this._currentEpoch),o){this.execute();return}this._executeTask||(this._executeTask=()=>this.execute());const u=this._executeTask;te.schedule(u)});s.push(new Ie(e,e.version,r))}catch(o){console.error(Z(o,Y,y.EFFECT_EXECUTION_FAILED))}}execute(e=!1){if(this.flags&(v.DISPOSED|v.EXECUTING))return;if(!e){const r=this._links,u=r.length;if(u>0){let l=!1;for(let f=0;f<u;f++){const g=r[f],E=g.node;if(E.version!==g.version){l=!0;break}if("value"in E)try{if(Ne(()=>E.value),E.version!==g.version){l=!0;break}}catch{l=!0;break}}if(!l)return}}const t=Ce;this._lastFlushEpoch!==t&&(this._lastFlushEpoch=t,this._executionsInEpoch=0),++this._executionsInEpoch>this._maxExecutionsPerFlush&&this._throwInfiniteLoopError("per-effect"),ct()>j.MAX_EXECUTIONS_PER_FLUSH&&this._throwInfiniteLoopError("global"),this._executionCount++;const s=this._history;if(s){const r=Date.now(),u=this._historyPtr;s[u]=r;const l=(u+1)%this._historyCapacity;this._historyPtr=l;const f=s[l]||0;if(f>0&&r-f<Ze.ONE_SECOND_MS){const g=new Y("Effect executed too frequently within 1 second. Suspected infinite loop.");if(this.dispose(),this._handleExecutionError(g),V)throw g;return}}if(this.flags|=v.EXECUTING,this._cleanup){try{this._cleanup()}catch(r){this._handleExecutionError(r,y.EFFECT_CLEANUP_FAILED)}this._cleanup=null}const i=this._links;if(i!==O)for(let r=0,u=i.length;r<u;r++){const l=i[r];l&&(l.node._tempUnsub=l.unsub)}const o=H.acquire();this._nextLinks=o,this._currentEpoch=ze();let c=!1;try{const r=T.run(this,this._fn);this._links=o,c=!0,this._checkLoopWarnings();const u=++this._execId;Xe(r)?r.then(l=>{if(u!==this._execId||this.flags&v.DISPOSED){if(typeof l=="function")try{l()}catch(f){this._handleExecutionError(f,y.EFFECT_CLEANUP_FAILED)}return}typeof l=="function"&&(this._cleanup=l)}).catch(l=>{u===this._execId&&this._handleExecutionError(l)}):this._cleanup=typeof r=="function"?r:null}catch(r){c=!0,this._handleExecutionError(r),this._cleanup=null}finally{if(this._nextLinks=null,c){if(i!==O){for(let r=0,u=i.length;r<u;r++){const l=i[r],f=l?l.node._tempUnsub:void 0;f&&(f(),l&&(l.node._tempUnsub=void 0))}H.release(i)}}else{for(let r=0,u=o.length;r<u;r++){const l=o[r];l?.unsub&&l.unsub()}if(H.release(o),i!==O)for(let r=0,u=i.length;r<u;r++){const l=i[r];l&&(l.node._tempUnsub=void 0)}}this.flags&=-9}}get isDisposed(){return(this.flags&v.DISPOSED)!==0}get executionCount(){return this._executionCount}get isExecuting(){return(this.flags&v.EXECUTING)!==0}_throwInfiniteLoopError(e){const t=new Y(`Infinite loop detected (${e}): effect executed ${this._executionsInEpoch} times in current flush. Total executions in flush: ${Te}`);throw this.dispose(),console.error(t),t}_handleExecutionError(e,t=y.EFFECT_EXECUTION_FAILED){const s=Z(e,Y,t);console.error(s);const i=this._onError;if(i)try{i(s)}catch(o){console.error(Z(o,Y,y.CALLBACK_ERROR_IN_ERROR_HANDLER))}}_checkLoopWarnings(){if(this._trackModifications&&w.enabled){const e=this._links,t=this._currentEpoch;for(let s=0,i=e.length;s<i;s++){const o=e[s].node;o&&o._modifiedAtEpoch===t&&w.warn(!0,`Effect is reading a dependency (${w.getDebugName(o)||"unknown"}) that it just modified. Infinite loop may occur`)}}}}function q(n,e={}){if(typeof n!="function")throw new Y(y.EFFECT_MUST_BE_FUNCTION);const t=new _t(n,e);return t.execute(),t}function de(n){if(typeof n!="function")throw new z("Batch callback must be a function");te.startBatch();try{return n()}finally{te.endBatch()}}function Et(n){return n!==null&&typeof n=="object"&&"value"in n&&"subscribe"in n}function _e(n){if(!n)return"unknown";const e="jquery"in n?n[0]:n;if(!e)return"unknown";const t=e.id;if(t&&typeof t=="string")return`#${t}`;const s=e.tagName.toLowerCase(),i=e.classList;if(i&&i.length>0){let o=s;for(let c=0,r=i.length;c<r;c++){const u=i[c];u&&(o+=`.${u}`)}return o}return s}function pt(n){const e=n.length;if(e===0)return new Int32Array(0);const t=new Int32Array(e),s=new Int32Array(e);let i=0;for(let c=0;c<e;c++){const r=n[c];if(r===void 0||r===-1)continue;const u=i>0?s[i-1]:void 0;if(i===0||u!==void 0&&(n[u]??-1)<r){t[c]=u??-1,s[i++]=c;continue}let l=0,f=i-1;for(;l<f;){const E=l+f>>>1,C=s[E];C!==void 0&&(n[C]??-1)<r?l=E+1:f=E}const g=s[l];g!==void 0&&r<(n[g]??Number.MAX_SAFE_INTEGER)&&(l>0&&(t[c]=s[l-1]??-1),s[l]=c)}const o=new Int32Array(i);if(i>0){let c=s[i-1];for(let r=i-1;r>=0&&c!==void 0&&c!==-1;r--)o[r]=c,c=t[c]}return o}function gt(){if(typeof window<"u"){const n=window.__ATOM_DEBUG__;if(typeof n=="boolean")return n}try{if(typeof process<"u"&&process.env?.NODE_ENV==="development")return!0}catch{}return!1}let Q=gt();const _={get enabled(){return Q},set enabled(n){Q=n},log(n,...e){Q&&console.log(`[atom-effect-jquery] ${n}:`,...e)},atomChanged(n,e,t){Q&&console.log(`[atom-effect-jquery] Atom "${n??"anonymous"}" changed:`,e,"→",t)},domUpdated(n,e,t){Q&&(console.log(`[atom-effect-jquery] DOM updated: ${_e(n)}.${e} =`,t),mt(n))},cleanup(n){Q&&console.log(`[atom-effect-jquery] Cleanup: ${n}`)},warn(...n){Q&&console.warn("[atom-effect-jquery]",...n)}},Se=new WeakMap;function mt(n){const e="jquery"in n?n[0]:n;if(!e||!e.isConnected)return;let t=Se.get(e);if(t||(t={},Se.set(e,t)),t.timer&&clearTimeout(t.timer),t.cleanupTimer&&clearTimeout(t.cleanupTimer),!t.orgStyle){const i=e.style;t.orgStyle={outline:i.outline,outlineOffset:i.outlineOffset,transition:i.transition}}const s=e.style;s.outline="2px solid rgba(255, 68, 68, 0.8)",s.outlineOffset="1px",s.transition="none",t.timer=setTimeout(()=>{e.isConnected&&(s.transition="outline 0.5s ease-out",requestAnimationFrame(()=>{if(!e.isConnected)return;const i=t?.orgStyle;i&&(s.outline=i.outline,s.outlineOffset=i.outlineOffset),t.cleanupTimer=setTimeout(()=>{e.isConnected&&t?.orgStyle&&(s.transition=t.orgStyle.transition),Se.delete(e)},500)}))},100)}const bt=new WeakMap;function Je(n,e={}){const t=qe(n,e);return e.name&&bt.set(t,{name:e.name}),t}Object.defineProperty(Je,"debug",{get(){return _.enabled},set(n){_.enabled=n}});function yt(){return new Promise(n=>setTimeout(n,0))}a.extend({atom:Je,computed:Ye,effect:q,batch:de,untracked:Ne,isAtom:De,isComputed:Le,isReactive:n=>De(n)||Le(n),nextTick:yt});const oe="_aes-bound";class St{records=new WeakMap;boundElements=new WeakSet;preservedNodes=new WeakSet;ignoredNodes=new WeakSet;keep(e){this.preservedNodes.add(e)}isKept(e){return this.preservedNodes.has(e)}markIgnored(e){this.ignoredNodes.add(e)}isIgnored(e){return this.ignoredNodes.has(e)}_getOrCreateRecord(e){let t=this.records.get(e);return t||(t={},this.records.set(e,t),this.boundElements.has(e)||(this.boundElements.add(e),e.classList.add(oe))),t}trackEffect(e,t){const s=this._getOrCreateRecord(e);s.effects||(s.effects=[]),s.effects.push(t)}trackCleanup(e,t){const s=this._getOrCreateRecord(e);s.cleanups||(s.cleanups=[]),s.cleanups.push(t)}hasBind(e){return this.boundElements.has(e)}cleanup(e){if(!this.boundElements.delete(e))return;const t=this.records.get(e);if(!t)return;this.records.delete(e),this.preservedNodes.delete(e),this.ignoredNodes.delete(e),e.classList.remove(oe),_.enabled&&_.cleanup(_e(e));const s=t.effects;if(s)for(let o=0,c=s.length;o<c;o++)try{s[o]?.dispose()}catch(r){_.warn("Effect dispose error:",r)}const i=t.cleanups;if(i)for(let o=0,c=i.length;o<c;o++)try{i[o]?.()}catch(r){_.warn("Cleanup error:",r)}}cleanupDescendants(e){const t=e.querySelectorAll(`.${oe}`);for(let s=0,i=t.length;s<i;s++){const o=t[s];o&&this.boundElements.has(o)?this.cleanup(o):o&&o.classList.remove(oe)}}cleanupTree(e){this.cleanupDescendants(e),this.cleanup(e)}}const m=new St;let ee=null;function We(n=document.body){ee||(ee=new MutationObserver(e=>{for(let t=0,s=e.length;t<s;t++){const i=e[t]?.removedNodes;if(!i)continue;const o=i.length;if(o!==0)for(let c=0;c<o;c++){const r=i[c];r.nodeType===1&&(r.isConnected||m.isKept(r)||m.isIgnored(r)||m.cleanupTree(r))}}}),ee.observe(n,{childList:!0,subtree:!0}))}function It(){ee?.disconnect(),ee=null}function S(n,e,t,s){Et(e)?m.trackEffect(n,q(()=>{const i=e.value;t(i),_.domUpdated(a(n),s,i)})):(t(e),_.domUpdated(a(n),s,e))}var b=(n=>(n[n.None=0]="None",n[n.Focused=1]="Focused",n[n.Composing=2]="Composing",n[n.SyncingToAtom=4]="SyncingToAtom",n[n.SyncingToDom=8]="SyncingToDom",n[n.Busy=14]="Busy",n))(b||{});function Oe(){return{timeoutId:null,flags:0}}function Ke(n,e,t={}){const{debounce:s,event:i="input",parse:o=D=>D,format:c=D=>String(D??""),equal:r=Object.is}=t,u=Oe(),l=n[0],f=()=>{if(!(u.flags&b.Busy)){u.flags|=b.SyncingToAtom;try{const D=l.value,N=o(D);r(e.value,N)||(e.value=N)}finally{u.flags&=~b.SyncingToAtom}}},g=()=>{u.timeoutId&&(clearTimeout(u.timeoutId),u.timeoutId=null,f()),u.flags&=~b.Focused;const D=c(e.value);l.value!==D&&(l.value=D)},E=()=>{u.flags&b.Busy||(s?(u.timeoutId&&clearTimeout(u.timeoutId),u.timeoutId=setTimeout(f,s)):f())},C={compositionstart:()=>{u.flags|=b.Composing},compositionend:()=>{u.flags&=~b.Composing,f()},focus:()=>{u.flags|=b.Focused},blur:g,[i]:E,change:E};return n.on(C),{effect:()=>{const D=e.value,N=c(D),A=l.value;if(A!==N&&!(u.flags&b.Focused&&r(o(A),D))){u.flags|=b.SyncingToDom;try{if(u.flags&b.Focused){const{selectionStart:ne,selectionEnd:Ee}=l;l.value=N;const M=N.length;l.setSelectionRange(Math.min(ne??M,M),Math.min(Ee??M,M))}else l.value=N;_.domUpdated(n,"val",N)}finally{u.flags&=~b.SyncingToDom}}},cleanup:()=>{n.off(C),u.timeoutId&&clearTimeout(u.timeoutId)}}}a.fn.atomText=function(n,e){return this.each(function(){const t=a(this);S(this,n,e?i=>t.text(e(i)):i=>t.text(String(i??"")),"text")})};a.fn.atomHtml=function(n){return this.each(function(){const e=a(this);S(this,n,t=>e.html(String(t??"")),"html")})};a.fn.atomClass=function(n,e){return this.each(function(){const t=a(this);S(this,e,s=>t.toggleClass(n,!!s),`class.${n}`)})};a.fn.atomCss=function(n,e,t){return this.each(function(){const s=a(this);S(this,e,t?o=>s.css(n,`${o}${t}`):o=>s.css(n,o),`css.${n}`)})};a.fn.atomAttr=function(n,e){return this.each(function(){const t=a(this);S(this,e,s=>{if(s==null||s===!1){t.removeAttr(n);return}t.attr(n,s===!0?n:String(s))},`attr.${n}`)})};a.fn.atomProp=function(n,e){return this.each(function(){const t=a(this);S(this,e,s=>t.prop(n,s),`prop.${n}`)})};a.fn.atomShow=function(n){return this.each(function(){const e=a(this);S(this,n,t=>e.toggle(!!t),"show")})};a.fn.atomHide=function(n){return this.each(function(){const e=a(this);S(this,n,t=>e.toggle(!t),"hide")})};a.fn.atomVal=function(n,e={}){return this.each(function(){const{effect:t,cleanup:s}=Ke(a(this),n,e);m.trackEffect(this,q(t)),m.trackCleanup(this,s)})};a.fn.atomChecked=function(n){return this.each(function(){const e=a(this),t=this,s=Oe(),i=()=>{if(s.flags&b.Busy)return;const c=t.checked;n.value!==c&&(n.value=c)};e.on("change",i),m.trackCleanup(this,()=>e.off("change",i));const o=q(()=>{s.flags|=b.SyncingToDom;const c=!!n.value;t.checked!==c&&(t.checked=c,_.domUpdated(e,"checked",c)),s.flags&=~b.SyncingToDom});m.trackEffect(this,o)})};a.fn.atomOn=function(n,e){return this.each(function(){const t=a(this);t.on(n,e),m.trackCleanup(this,()=>t.off(n,e))})};a.fn.atomUnbind=function(){return this.each(function(){m.cleanupTree(this)})};const Me=Object.create(null);function Ct(n){let e=Me[n];return e||(e=n.includes("-")?n.replace(/-./g,t=>t[1].toUpperCase()):n,Me[n]=e,e)}function Dt(n,e){const t=n.el;S(t,e,s=>{const i=typeof s=="string"?s:String(s??"");t.textContent!==i&&(t.textContent=i)},"text")}function Tt(n,e){const t=n.el;S(t,e,s=>{const i=String(s??"");t.innerHTML!==i&&(t.innerHTML=i)},"html")}function Nt(n,e){for(const t in e)S(n.el,e[t],s=>{n.el.classList.toggle(t,!!s)},`class.${t}`)}function Ot(n,e){const t=n.el,s=t.style;for(const i in e){const o=e[i];if(o===void 0)continue;const c=Ct(i);Array.isArray(o)?S(t,o[0],r=>{s[c]=`${r}${o[1]}`},`css.${i}`):S(t,o,r=>{s[c]=r},`css.${i}`)}}function At(n,e){const t=n.el;for(const s in e)S(t,e[s],i=>{if(i==null||i===!1){t.removeAttribute(s);return}const o=i===!0?s:String(i);t.getAttribute(s)!==o&&t.setAttribute(s,o)},`attr.${s}`)}function vt(n,e){const t=n.el;for(const s in e)S(n.el,e[s],i=>{t[s]!==i&&(t[s]=i)},`prop.${s}`)}function Rt(n,e){const t=n.el;S(t,e,s=>{t.style.display=s?"":"none",_.enabled&&_.domUpdated(t,"show",s)},"show")}function kt(n,e){const t=n.el;S(t,e,s=>{t.style.display=s?"none":"",_.enabled&&_.domUpdated(t,"hide",s)},"hide")}function wt(n,e){const t=Array.isArray(e),{effect:s,cleanup:i}=Ke(n.$el,t?e[0]:e,t?e[1]:{});m.trackEffect(n.el,q(s)),n.trackCleanup(i)}function Ut(n,e){const t=n.el,s=Oe(),i=()=>{if(s.flags&b.Busy)return;const c=t.checked;e.value!==c&&(e.value=c)};t.addEventListener("change",i),n.trackCleanup(()=>t.removeEventListener("change",i));const o=q(()=>{s.flags|=b.SyncingToDom;const c=!!e.value;t.checked!==c&&(t.checked=c,_.enabled&&_.domUpdated(t,"checked",c)),s.flags&=~b.SyncingToDom});m.trackEffect(t,o)}function xt(n,e){for(const t in e){const s=e[t];if(typeof s!="function")continue;const i=o=>{de(()=>s.call(n.el,a.Event(o.type,{originalEvent:o})))};n.el.addEventListener(t,i),n.trackCleanup(()=>n.el.removeEventListener(t,i))}}a.fn.atomBind=function(n){return this.each(function(){const e=this;let t=null;const s={get $el(){return t||(t=a(e)),t},el:e,trackCleanup:i=>m.trackCleanup(e,i)};n.text!==void 0&&Dt(s,n.text),n.html!==void 0&&Tt(s,n.html),n.class&&Nt(s,n.class),n.css&&Ot(s,n.css),n.attr&&At(s,n.attr),n.prop&&vt(s,n.prop),n.show!==void 0&&Rt(s,n.show),n.hide!==void 0&&kt(s,n.hide),n.val!==void 0&&wt(s,n.val),n.checked!==void 0&&Ut(s,n.checked),n.on&&xt(s,n.on)})};a.fn.atomList=function(n,e){const{key:t,render:s,bind:i,update:o,onAdd:c,onRemove:r,empty:u}=e,l=typeof t=="function"?t:(f,g)=>f[t];return this.each(function(){const f=a(this),g=_e(this),E=new Map,C=new Set;let X=[],G=null;const D=q(()=>{const N=n.value,A=N.length;if(A===0?u&&!G&&(G=a(u).appendTo(f)):G&&(G.remove(),G=null),A===0&&E.size===0){X=[];return}_.log("list",`${g} updating with ${A} items`);const ne=new Map,Ee=X.length;for(let d=0;d<Ee;d++)ne.set(X[d],d);const M=new Array(A),pe=new Set,ve=new Int32Array(A);for(let d=0;d<A;d++){const x=N[d],p=l(x,d);_.enabled&&pe.has(p)&&console.warn(`[atomList] Duplicate key "${p}" at index ${d}.`),M[d]=p,pe.add(p),ve[d]=ne.get(p)??-1}if(E.size>0)for(const[d,x]of E){if(pe.has(d)||C.has(d))continue;const p=()=>{x.$el.remove(),x.$el[0]&&m.cleanup(x.$el[0]),C.delete(d),_.log("list",`${g} removed item:`,d)};if(E.delete(d),C.add(d),r){const I=r(x.$el);I instanceof Promise?I.then(p):p()}else p()}if(A===0){X=[];return}const Re=pt(ve);let ge=Re.length-1,U=null;for(let d=A-1;d>=0;d--){const x=M[d],p=N[d],I=E.get(x);if(I){const W=I.item;I.item=p;const R=I.$el[0];if(!R)continue;if(o)o(I.$el,p,d),_.domUpdated(I.$el,"list.update",p);else if(W!==p){let $=!0;if(typeof W=="object"&&W!==null&&typeof p=="object"&&p!==null){$=!1;let L=0;const se=W,ke=p;for(const K in se){if(se[K]!==ke[K]){$=!0;break}L++}if(!$){let K=0;for(const Ft in ke)if(K++,K>L){$=!0;break}L!==K&&($=!0)}}if($){const L=a(s(p,d)),se=U===R;I.$el.replaceWith(L),I.$el=L,i&&i(L,p,d),_.domUpdated(L,"list.render",p),se&&(U=L[0]||null)}}if(ge>=0&&Re[ge]===d)ge--;else{const $=I.$el[0];U?.isConnected?U!==$&&I.$el.insertBefore(U):I.$el.appendTo(f)}U=I.$el[0]||null}else{const W=s(p,d),R=a(W);E.set(x,{$el:R,item:p}),U?.isConnected?R.insertBefore(U):R.appendTo(f),i&&i(R,p,d),c&&c(R),_.domUpdated(R,"list.add",p),U=R[0]||null}}X=M});m.trackEffect(this,D),m.trackCleanup(this,()=>{E.clear(),C.clear(),X=[],G?.remove()})})};const ce=new WeakMap;a.fn.atomMount=function(n,e={}){return this.each(function(){const t=_.enabled,s=t?_e(this):"",i=ce.get(this);i&&(t&&_.log("mount",`${s} unmounting existing component`),i()),t&&_.log("mount",`${s} mounting component`);let o;try{o=n(a(this),e)}catch(r){console.error("[atom-effect-jquery] Mount error:",r);return}const c=()=>{if(ce.delete(this)){if(t&&_.log("mount",`${s} full cleanup`),typeof o=="function")try{o()}catch(r){console.error("[atom-effect-jquery] Cleanup error:",r)}m.cleanupTree(this)}};ce.set(this,c),m.trackCleanup(this,c)})};a.fn.atomUnmount=function(){return this.each(function(){const n=ce.get(this);n&&n()})};const ae=new WeakMap;let $e=!1;const Be=n=>{let e=ae.get(n);return e||(e=function(...t){return de(()=>n.apply(this,t))},ae.set(n,e)),e};function Ae(){if($e)return;$e=!0;const n=a.fn.on,e=a.fn.off,t=a.fn.remove,s=a.fn.empty,i=a.fn.detach;a.fn.remove=function(o){const c=o?this.filter(o):this;for(let r=0,u=c.length;r<u;r++){const l=c[r];l&&(m.cleanupTree(l),m.markIgnored(l))}return t.call(this,o)},a.fn.empty=function(){for(let o=0,c=this.length;o<c;o++){const r=this[o];r&&m.cleanupDescendants(r)}return s.call(this)},a.fn.detach=function(o){const c=o?this.filter(o):this;for(let r=0,u=c.length;r<u;r++){const l=c[r];l&&m.keep(l)}return i.call(this,o)},a.fn.on=function(...o){const c=o[0];if(c&&typeof c=="object"){const r=c,u={};for(const l in r){const f=r[l];f&&(u[l]=Be(f))}o[0]=u}else for(let r=o.length-1;r>=0;r--)if(typeof o[r]=="function"){o[r]=Be(o[r]);break}return n.apply(this,o)},a.fn.off=function(...o){const c=o[0];if(c&&typeof c=="object"){const r=c,u={};for(const l in r){const f=r[l];f&&(u[l]=ae.get(f)||f)}o[0]=u}else for(let r=o.length-1;r>=0;r--)if(typeof o[r]=="function"){o[r]=ae.get(o[r])||o[r];break}return e.apply(this,o)}}const Lt=Ae;Ae();a(()=>{We(document.body)});exports.default=a;exports.atom=qe;exports.batch=de;exports.computed=Ye;exports.disableAutoCleanup=It;exports.effect=q;exports.enableAutoCleanup=We;exports.enablejQueryBatching=Lt;exports.enablejQueryOverrides=Ae;exports.registry=m;exports.untracked=Ne;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|