@doeixd/machine 1.0.1 → 1.0.2
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/cjs/development/core.js +39 -14
- package/dist/cjs/development/core.js.map +3 -3
- package/dist/cjs/development/index.js +51 -15
- package/dist/cjs/development/index.js.map +3 -3
- package/dist/cjs/development/react.js +39 -14
- package/dist/cjs/development/react.js.map +3 -3
- package/dist/cjs/production/core.js +1 -1
- package/dist/cjs/production/index.js +2 -2
- package/dist/cjs/production/react.js +1 -1
- package/dist/esm/development/core.js +39 -14
- package/dist/esm/development/core.js.map +3 -3
- package/dist/esm/development/index.js +51 -15
- package/dist/esm/development/index.js.map +3 -3
- package/dist/esm/development/react.js +39 -14
- package/dist/esm/development/react.js.map +3 -3
- package/dist/esm/production/core.js +1 -1
- package/dist/esm/production/index.js +2 -2
- package/dist/esm/production/react.js +1 -1
- package/dist/types/context-bound.d.ts.map +1 -1
- package/dist/types/index.d.ts +0 -5
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/internal-transitions.d.ts +5 -0
- package/dist/types/internal-transitions.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/context-bound.ts +14 -1
- package/src/index.ts +19 -15
- package/src/internal-transitions.ts +32 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var N=Object.defineProperty;var Ie=Object.getOwnPropertyDescriptor;var Le=Object.getOwnPropertyNames;var Ve=Object.prototype.hasOwnProperty;var Ue=(e,t)=>{for(var n in t)N(e,n,{get:t[n],enumerable:!0})},qe=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Le(t))!Ve.call(e,o)&&o!==n&&N(e,o,{get:()=>t[o],enumerable:!(r=Ie(t,o))||r.enumerable});return e};var Ye=e=>qe(N({},"__esModule",{value:!0}),e);var bt={};Ue(bt,{BoundMachine:()=>k,CANCEL:()=>L,META_KEY:()=>xe,MachineBase:()=>m,MiddlewareBuilder:()=>O,MultiMachineBase:()=>G,action:()=>Ce,bindTransitions:()=>te,branch:()=>ut,call:()=>Be,chain:()=>at,combine:()=>lt,combineFactories:()=>Ge,compose:()=>it,composeTyped:()=>v,createAsyncMachine:()=>oe,createCustomMiddleware:()=>ot,createEnsemble:()=>Ee,createEnsembleFactory:()=>Je,createEvent:()=>Re,createFetchMachine:()=>rt,createFlow:()=>de,createFunctionalMachine:()=>re,createMachine:()=>p,createMachineBuilder:()=>_e,createMachineFactory:()=>Ne,createMiddleware:()=>g,createMiddlewareFactory:()=>Tt,createMiddlewareRegistry:()=>dt,createMultiMachine:()=>Ze,createMutableMachine:()=>et,createParallelMachine:()=>I,createPipeline:()=>yt,createRunner:()=>we,createTransition:()=>Oe,createTransitionExtender:()=>ne,createTransitionFactory:()=>ke,delegateToChild:()=>tt,describe:()=>fe,extendTransitions:()=>K,guard:()=>A,guardAsync:()=>F,guarded:()=>pe,hasState:()=>He,inDevelopment:()=>st,invoke:()=>ge,isConditionalMiddleware:()=>Mt,isMiddlewareContext:()=>ht,isMiddlewareError:()=>ft,isMiddlewareFn:()=>ee,isMiddlewareHooks:()=>pt,isMiddlewareOptions:()=>gt,isMiddlewareResult:()=>xt,isNamedMiddleware:()=>Ct,isPipelineConfig:()=>mt,isState:()=>Se,logState:()=>Pe,matchMachine:()=>We,mergeContext:()=>je,metadata:()=>be,middlewareBuilder:()=>Ae,next:()=>De,overrideTransitions:()=>ze,pipeTransitions:()=>ve,run:()=>z,runAsync:()=>le,runMachine:()=>$e,runSequence:()=>ce,runWithDebug:()=>ye,runWithEnsemble:()=>Xe,runWithRunner:()=>Qe,setContext:()=>E,state:()=>Ke,step:()=>ae,stepAsync:()=>ue,toggle:()=>nt,transitionTo:()=>he,when:()=>B,whenContext:()=>ct,whenGuard:()=>me,whenGuardAsync:()=>Te,withAnalytics:()=>U,withDebugging:()=>Fe,withErrorReporting:()=>J,withHistory:()=>S,withLogging:()=>V,withPerformanceMonitoring:()=>Q,withPermissions:()=>Y,withRetry:()=>X,withSnapshot:()=>R,withTimeTravel:()=>j,withValidation:()=>q,yieldMachine:()=>se});module.exports=Ye(bt);function z(e,t){let n=e(t),r=t;for(;;){let{value:o,done:i}=n.next(r);if(i)return o;r=o}}function ae(e){return function*(){return yield e}()}function se(e){return e}function ce(e,t){return t.reduce((n,r)=>z(r,n),e)}function de(e){return e}function ye(e,t,n=(r,o)=>{console.log(`Step ${r}:`,o.context)}){let r=e(t),o=t,i=0;for(n(i,o);;){let{value:a,done:s}=r.next(o);if(s)return console.log("Final:",a),a;o=a,i++,n(i,o)}}async function le(e,t){let n=e(t),r=t;for(;;){let{value:o,done:i}=await n.next(r);if(i)return o;r=o}}async function*ue(e){return yield e}var xe=Symbol("MachineMeta"),Me=Symbol("__machine_runtime_meta__");function b(e,t){let n=e[Me]||{},r={...n,...t};t.guards&&n.guards?r.guards=[...t.guards,...n.guards]:t.guards&&(r.guards=[...t.guards]),t.actions&&n.actions?r.actions=[...t.actions,...n.actions]:t.actions&&(r.actions=[...t.actions]),Object.defineProperty(e,Me,{value:r,enumerable:!1,writable:!1,configurable:!0})}function he(e,t){return b(t,{target:e.name||e.toString()}),t}function fe(e,t){return b(t,{description:e}),t}function pe(e,t){return b(t,{guards:[e]}),t}function ge(e,t){return b(t,{invoke:{src:e.src,onDone:e.onDone.name||e.onDone.toString(),onError:e.onError.name||e.onError.toString(),description:e.description}}),t}function Ce(e,t){return b(t,{actions:[e]}),t}function A(e,t,n={}){let{onFail:r="throw",errorMessage:o,description:i}=n,a={...n,onFail:r,errorMessage:o,description:i},s=function(...l){let c=typeof this=="object"&&"context"in this,d=c?this.context:this;if(e(d,...l)){let u=c?this:{context:this};return t.apply(u,l)}else if(r==="throw"){let u=o||"Guard condition failed";throw new Error(u)}else if(r==="ignore"){if(c)return this;throw new Error('Cannot use "ignore" mode with context-only binding. Use full machine binding or provide fallback.')}else if(typeof r=="function"){if(c)return r.apply(this,l);throw new Error("Cannot use function fallback with context-only binding. Use full machine binding.")}else return r};return Object.defineProperty(s,"__guard",{value:!0,enumerable:!1}),Object.defineProperty(s,"condition",{value:e,enumerable:!1}),Object.defineProperty(s,"transition",{value:t,enumerable:!1}),Object.defineProperty(s,"options",{value:a,enumerable:!1}),b(s,{description:i||"Synchronous guarded transition",guards:[{name:"runtime_guard",description:i||"Synchronous condition check"}]}),s}function F(e,t,n={}){let{onFail:r="throw",errorMessage:o,description:i}=n,a={...n,onFail:r,errorMessage:o,description:i},s=async function(...l){let c=typeof this=="object"&&"context"in this,d=c?this.context:this;if(await Promise.resolve(e(d,...l))){let u=c?this:{context:this};return t.apply(u,l)}else if(r==="throw"){let u=o||"Guard condition failed";throw new Error(u)}else if(r==="ignore"){if(c)return this;throw new Error('Cannot use "ignore" mode with context-only binding. Use full machine binding or provide fallback.')}else if(typeof r=="function"){if(c)return r.apply(this,l);throw new Error("Cannot use function fallback with context-only binding. Use full machine binding.")}else return r};return Object.defineProperty(s,"__guard",{value:!0,enumerable:!1}),Object.defineProperty(s,"condition",{value:e,enumerable:!1}),Object.defineProperty(s,"transition",{value:t,enumerable:!1}),Object.defineProperty(s,"options",{value:a,enumerable:!1}),b(s,{description:i||"Runtime guarded transition",guards:[{name:"runtime_guard",description:i||"Runtime condition check"}]}),s}function me(e){return{do(t){let n=A(e,t);return n.else=function(r){return A(e,t,{onFail:r})},n}}}function Te(e){return{do(t){let n=F(e,t);return n.else=function(r){return F(e,t,{onFail:r})},n}}}function be(e,t){return t}function we(e,t){let n=e,r=s=>{n=s,t==null||t(s)},{context:o,...i}=e,a=new Proxy({},{get(s,l){let c=n[l];if(typeof c=="function")return(...d)=>{let M=c.apply(n,d),u=Object.assign({context:M.context},i);return r(u),u}}});return{get state(){return n},get context(){return n.context},actions:a,setState:r}}function Ee(e,t,n){let r=()=>{let i=e.getContext(),a=n(i),s=t[a];if(!s)throw new Error(`[Ensemble] Invalid state: No factory found for state "${String(a)}".`);return s(i)},o=new Proxy({},{get(i,a){let s=r(),l=s[a];if(typeof l!="function")throw new Error(`[Ensemble] Transition "${a}" is not valid in the current state.`);return(...c)=>l.apply(s,c)}});return{get context(){return e.getContext()},get state(){return r()},actions:o}}function Je(e,t){return function(r){return Ee(e,r,t)}}function Qe(e,t){let n=we(t),r=e(n),o=r.next();for(;!o.done;)o=r.next();return o.value}function Xe(e,t){let n=e(t),r=n.next();for(;!r.done;)r=n.next();return r.value}var G=class{constructor(t){this.store=t}get context(){return this.store.getContext()}setContext(t){this.store.setContext(t)}};function Ze(e,t){let n=new e(t);return new Proxy({},{get(r,o){let i=t.getContext();if(o in i)return i[o];let a=n[o];if(typeof a=="function")return(...s)=>a.apply(n,s)},set(r,o,i){let a=t.getContext();if(o in a){let s={...a,[o]:i};return t.setContext(s),!0}return!1},has(r,o){let i=t.getContext();return o in i||typeof n[o]=="function"},ownKeys(r){let o=t.getContext(),i=Object.keys(o),a=Object.getOwnPropertyNames(Object.getPrototypeOf(n)).filter(s=>s!=="constructor"&&typeof n[s]=="function");return Array.from(new Set([...i,...a]))},getOwnPropertyDescriptor(r,o){let i=t.getContext();if(o in i||typeof n[o]=="function")return{value:void 0,writable:!0,enumerable:!0,configurable:!0}}})}function et(e,t,n){let r=()=>{let o=n(e),i=t[o];if(!i)throw new Error(`[MutableMachine] Invalid state: No factory for state "${String(o)}".`);return i(e)};return new Proxy(e,{get(o,i,a){if(i in o)return o[i];let s=r(),l=s[i];if(typeof l=="function")return(...c)=>{let d=l.apply(s,c);if(typeof d!="object"||d===null){console.warn(`[MutableMachine] Transition "${String(i)}" did not return a valid context object. State may be inconsistent.`);return}Object.keys(o).forEach(M=>delete o[M]),Object.assign(o,d)}},set(o,i,a,s){return o[i]=a,!0},has(o,i){let a=r();return i in o||typeof a[i]=="function"}})}function tt(e){return function(...t){let n=this.context.child;if(typeof n[e]=="function"){let r=n[e](...t);return E(this,{...this.context,child:r})}return this}}function nt(e){return function(){return typeof this.context[e]!="boolean"&&console.warn(`[toggle primitive] Property '${String(e)}' is not a boolean. Toggling may have unexpected results.`),E(this,{...this.context,[e]:!this.context[e]})}}var _=class extends m{constructor(n){super({status:"idle"});this.config=n;this.fetch=n=>new w(this.config,n!=null?n:this.config.initialParams,1)}},w=class extends m{constructor(n,r,o){super({status:"loading",abortController:new AbortController,attempts:o});this.config=n;this.params=r;this.succeed=n=>{var r,o;return(o=(r=this.config).onSuccess)==null||o.call(r,n),new H(this.config,{status:"success",data:n})};this.fail=n=>{var o,i,a;let r=(o=this.config.maxRetries)!=null?o:3;return this.context.attempts<r?new W(this.config,this.params,n,this.context.attempts):((a=(i=this.config).onError)==null||a.call(i,n),new $(this.config,{status:"error",error:n}))};this.cancel=()=>(this.context.abortController.abort(),new D(this.config));this.execute()}async execute(){}},W=class extends m{constructor(n,r,o,i){super({status:"retrying",error:o,attempts:i});this.config=n;this.params=r;this.retry=n=>new w(this.config,n!=null?n:this.params,this.context.attempts+1)}},H=class extends m{constructor(n,r){super(r);this.config=n;this.refetch=n=>new w(this.config,n!=null?n:this.config.initialParams,1)}},$=class extends m{constructor(n,r){super(r);this.config=n;this.retry=n=>new w(this.config,n!=null?n:this.config.initialParams,1)}},D=class extends m{constructor(n){super({status:"canceled"});this.config=n;this.refetch=n=>new w(this.config,n!=null?n:this.config.initialParams,1)}};function rt(e){return new _(e)}function I(e,t){let n={...e.context,...t.context},r={...e},o={...t};delete r.context,delete o.context;let i={};for(let a in r){let s=r[a];i[a]=(...l)=>{let c=s.apply(e,l);return I(c,t)}}for(let a in o){let s=o[a];i[a]=(...l)=>{let c=s.apply(t,l);return I(e,c)}}return{context:n,...i}}var L=Symbol("CANCEL");function g(e,t,n={}){let{continueOnError:r=!1,logErrors:o=!0,onError:i}=n,a={...e};for(let s in e)Object.prototype.hasOwnProperty.call(e,s)&&s!=="context"&&typeof e[s]!="function"&&(a[s]=e[s]);for(let s in e){if(!Object.prototype.hasOwnProperty.call(e,s))continue;let l=e[s];typeof l=="function"&&s!=="context"&&(a[s]=function(...c){let d=s,M=a.context,u=()=>{let y;try{y=l.apply(this,c)}catch(h){if(t.error)try{t.error({transitionName:d,context:M,args:[...c],error:h})}catch(f){if(!r)throw f;o&&console.error(`Middleware error hook error for ${d}:`,f),i==null||i(f,"error",{transitionName:d,context:M,args:c,error:h})}throw h}let x=h=>{if(h&&typeof h=="object"&&h.context){for(let f in a)Object.prototype.hasOwnProperty.call(a,f)&&f!=="context"&&!(f in h)&&(h[f]=a[f]);for(let f in h){if(!Object.prototype.hasOwnProperty.call(h,f))continue;typeof h[f]=="function"&&f!=="context"&&a[f]&&(h[f]=a[f])}}return h};if(y&&typeof y.then=="function")return y.then(f=>{if(x(f),t.after)try{let C=t.after({transitionName:d,prevContext:M,nextContext:f.context,args:[...c]});if(C&&typeof C.then=="function")return C.then(()=>f)}catch(C){if(!r)throw C;o&&console.error(`Middleware after hook error for ${d}:`,C),i==null||i(C,"after",{transitionName:d,prevContext:M,nextContext:f.context,args:c})}return f});if(x(y),t.after)try{let h=t.after({transitionName:d,prevContext:M,nextContext:y.context,args:[...c]});if(h&&typeof h=="object"&&h&&"then"in h)return h.then(()=>y).catch(f=>{if(!r)throw f;return o&&console.error(`Middleware after hook error for ${d}:`,f),i==null||i(f,"after",{transitionName:d,prevContext:M,nextContext:y.context,args:c}),y})}catch(h){if(!r)throw h;o&&console.error(`Middleware after hook error for ${d}:`,h),i==null||i(h,"after",{transitionName:d,prevContext:M,nextContext:y.context,args:c})}return y};if(t.before)try{let y=t.before({transitionName:d,context:M,args:[...c]});if(y&&typeof y=="object"&&y&&"then"in y)return y.then(x=>x===L?a:u()).catch(x=>{if(!r)throw x;return o&&console.error(`Middleware before hook error for ${d}:`,x),i==null||i(x,"before",{transitionName:d,context:M,args:c}),u()});if(y===L)return a}catch(y){if(!r)throw y;o&&console.error(`Middleware before hook error for ${d}:`,y),i==null||i(y,"before",{transitionName:d,context:M,args:c})}return u()})}return a}function V(e,t={}){let{logger:n=console.log,includeArgs:r=!1,includeContext:o=!0}=t;return g(e,{before:({transitionName:i,args:a})=>{let s=r?`→ ${i} [${a.join(", ")}]`:`→ ${i}`;n(s)},after:({transitionName:i,nextContext:a})=>{let s=o?` ${JSON.stringify(a)}`:"";n(`✓ ${i}${s}`)},error:({transitionName:i,error:a})=>{console.error(`[Machine] ${i} failed:`,a)}})}function U(e,t,n={}){let{eventPrefix:r="state_transition",includePrevContext:o=!1,includeArgs:i=!1}=n;return g(e,{after:({transitionName:a,prevContext:s,nextContext:l,args:c})=>{let d=`${r}.${a}`,M={transition:a};o&&(M.from=s),M.to=l,i&&(M.args=c),t(d,M)}})}function q(e,t){return g(e,{before:n=>{if(t(n)===!1)throw new Error(`Validation failed for transition: ${n.transitionName}`)}})}function Y(e,t){return g(e,{before:n=>{if(!t(n))throw new Error(`Unauthorized transition: ${n.transitionName}`)}})}function J(e,t,n={}){let{includeArgs:r=!1}=n;return g(e,{error:o=>{let i={transition:o.transitionName,context:o.context,...r&&{args:o.args}};t(o.error,i)}})}function Q(e,t){let n=new Map;return g(e,{before:r=>{n.set(r.transitionName,Date.now())},after:r=>{let o=n.get(r.transitionName);if(o){let i=Date.now()-o;n.delete(r.transitionName);let a={transitionName:r.transitionName,duration:i,context:r.nextContext||r.prevContext};t(a)}}})}function X(e,t={}){var l,c;let{maxAttempts:n=(l=t.maxRetries)!=null?l:3,shouldRetry:r=()=>!0,backoffMs:o=(c=t.delay)!=null?c:100,backoffMultiplier:i=2,onRetry:a}=t,s={...e};for(let d in e){if(!Object.prototype.hasOwnProperty.call(e,d))continue;let M=e[d];typeof M=="function"&&d!=="context"&&(s[d]=async function(...u){let y,x=0;for(;x<n;)try{return await M.apply(this,u)}catch(h){if(y=h,x++,x<n&&r(y,x)){a==null||a(y,x);let C=(typeof o=="function"?o(x):o)*Math.pow(i,x-1);await new Promise(T=>setTimeout(T,C))}else throw y}throw y})}return s}function ot(e,t){return n=>g(n,e,t)}function S(e,t={}){let{maxSize:n,serializer:r,onEntry:o}=t,i=[],a=0,s=g(e,{before:({transitionName:l,args:c})=>{let d={id:`entry-${a++}`,transitionName:l,args:[...c],timestamp:Date.now()};if(r)try{d.serializedArgs=r.serialize(c)}catch(M){console.error("Failed to serialize history args:",M)}i.push(d),n&&i.length>n&&i.shift(),o==null||o(d)}});return Object.assign(s,{history:i,clearHistory:()=>{i.length=0,a=0}})}function R(e,t={}){let{maxSize:n,serializer:r,captureSnapshot:o,onlyOnChange:i=!1}=t,a=[],s=0,l=g(e,{after:({transitionName:d,prevContext:M,nextContext:u})=>{if(i&&JSON.stringify(M)===JSON.stringify(u))return;let y={id:`snapshot-${s++}`,transitionName:d,before:{...M},after:{...u},timestamp:Date.now()};if(r)try{y.serializedBefore=r.serialize(M),y.serializedAfter=r.serialize(u)}catch(x){console.error("Failed to serialize snapshot:",x)}if(o)try{y.diff=o(M,u)}catch(x){console.error("Failed to capture snapshot:",x)}a.push(y),n&&a.length>n&&a.shift()}});return Object.assign(l,{snapshots:a,clearSnapshots:()=>{a.length=0,s=0},restoreSnapshot:d=>{let M=Object.fromEntries(Object.entries(e).filter(([u])=>u!=="context"&&u!=="snapshots"&&u!=="clearSnapshots"&&u!=="restoreSnapshot"&&typeof e[u]=="function"));return Object.assign({context:d},M)}})}function j(e,t={}){let{maxSize:n,serializer:r,onRecord:o}=t,i=[],a=[],s=0,l=0,c=g(e,{before:({transitionName:u,args:y})=>{let x={id:`entry-${s++}`,transitionName:u,args:[...y],timestamp:Date.now()};if(r)try{x.serializedArgs=r.serialize(y)}catch(h){console.error("Failed to serialize history args:",h)}i.push(x),n&&i.length>n&&i.shift(),o==null||o("history",x)},after:({transitionName:u,prevContext:y,nextContext:x})=>{let h={id:`snapshot-${l++}`,transitionName:u,before:{...y},after:{...x},timestamp:Date.now()};if(r)try{h.serializedBefore=r.serialize(y),h.serializedAfter=r.serialize(x)}catch(f){console.error("Failed to serialize snapshot:",f)}a.push(h),n&&a.length>n&&a.shift(),o==null||o("snapshot",h)}});return Object.assign(c,{history:i,snapshots:a,clearHistory:()=>{i.length=0,s=0},clearSnapshots:()=>{a.length=0,l=0},clearTimeTravel:()=>{i.length=0,a.length=0,s=0,l=0},restoreSnapshot:u=>{let y=Object.fromEntries(Object.entries(e).filter(([x])=>x!=="context"&&x!=="history"&&x!=="snapshots"&&x!=="clearHistory"&&x!=="clearSnapshots"&&x!=="restoreSnapshot"&&x!=="clearTimeTravel"&&x!=="replayFrom"&&typeof e[x]=="function"));return Object.assign({context:u},y)},replayFrom:u=>{var C;if(u<0||u>=i.length)throw new Error(`Invalid replay start index: ${u}`);let y=(C=a[u])==null?void 0:C.before;if(!y)throw new Error(`No snapshot available for index ${u}`);let x=i.slice(u),f=Object.assign({context:y},Object.fromEntries(Object.entries(e).filter(([T])=>T!=="context"&&typeof e[T]=="function")));for(let T of x){let ie=f[T.transitionName];ie&&(f=ie.apply(f,T.args))}return f}})}function it(e,...t){return t.reduce((n,r)=>r(n),e)}function v(e,...t){return t.reduce((n,r)=>r(n),e)}var Z=class e{constructor(t){this.machine=t}with(t){let n=t(this.machine);return new e(n)}build(){return this.machine}};function at(e){return new Z(e)}function B(e,t){let n=function(r){return t(r)?e(r):r};return n.middleware=e,n.when=t,n}function st(e){return B(e,()=>typeof process!="undefined"?!1:typeof window!="undefined"?!window.location.hostname.includes("production"):!1)}function ct(e,t,n){return B(n,r=>r.context[e]===t)}function dt(){let e=new Map;return{register(t,n,r,o){if(e.has(t))throw new Error(`Middleware '${t}' is already registered`);return e.set(t,{name:t,middleware:n,description:r,priority:o}),this},unregister(t){return e.delete(t)},has(t){return e.has(t)},get(t){return e.get(t)},list(){return Array.from(e.values()).sort((t,n)=>{var r,o;return((r=t.priority)!=null?r:0)-((o=n.priority)!=null?o:0)})},apply(t,n){let r=n.map(o=>{let i=e.get(o);if(!i)throw new Error(`Middleware '${o}' is not registered`);return i}).sort((o,i)=>{var a,s;return((a=o.priority)!=null?a:0)-((s=i.priority)!=null?s:0)});return v(t,...r.map(o=>o.middleware))},applyAll(t){let n=this.list();return v(t,...n.map(r=>r.middleware))}}}function yt(e={}){let{continueOnError:t=!1,logErrors:n=!0,onError:r}=e;return(o,...i)=>{let a=o,s=[],l=!0;for(let c=0;c<i.length;c++){let d=i[c];try{if("middleware"in d&&"when"in d){if(!d.when(a))continue;a=d.middleware(a)}else a=d(a)}catch(M){if(l=!1,!t)throw M;s.push({error:M,middlewareIndex:c,middlewareName:d.name}),n&&console.error(`Pipeline middleware error at index ${c}:`,M),r==null||r(M,c,d.name)}}return{machine:a,errors:s,success:l}}}function lt(...e){return t=>v(t,...e)}function ut(e,t){return n=>{for(let[r,o]of e)if(r(n))return o(n);return t?t(n):n}}function ee(e){return typeof e=="function"&&e.length===1}function Mt(e){return e!==null&&(typeof e=="object"||typeof e=="function")&&"middleware"in e&&"when"in e&&ee(e.middleware)&&typeof e.when=="function"}function xt(e,t){return e!==null&&typeof e=="object"&&"transitionName"in e&&"prevContext"in e&&"nextContext"in e&&"args"in e&&typeof e.transitionName=="string"&&Array.isArray(e.args)&&(!t||P(e.prevContext,t)&&P(e.nextContext,t))}function ht(e,t){return e!==null&&typeof e=="object"&&"transitionName"in e&&"context"in e&&"args"in e&&typeof e.transitionName=="string"&&Array.isArray(e.args)&&(!t||P(e.context,t))}function ft(e,t){return e!==null&&typeof e=="object"&&"transitionName"in e&&"context"in e&&"args"in e&&"error"in e&&typeof e.transitionName=="string"&&Array.isArray(e.args)&&e.error instanceof Error&&(!t||P(e.context,t))}function pt(e,t){if(e===null||typeof e!="object")return!1;let n=e;return!("before"in n&&n.before!==void 0&&typeof n.before!="function"||"after"in n&&n.after!==void 0&&typeof n.after!="function"||"error"in n&&n.error!==void 0&&typeof n.error!="function")}function gt(e){return e===void 0||e!==null&&typeof e=="object"&&("continueOnError"in e?typeof e.continueOnError=="boolean":!0)&&("logErrors"in e?typeof e.logErrors=="boolean":!0)&&("onError"in e?typeof e.onError=="function"||e.onError===void 0:!0)}function P(e,t){return e!==null&&typeof e=="object"}function Ct(e){return e!==null&&typeof e=="object"&&"name"in e&&"middleware"in e&&typeof e.name=="string"&&ee(e.middleware)&&("description"in e?typeof e.description=="string"||e.description===void 0:!0)&&("priority"in e?typeof e.priority=="number"||e.priority===void 0:!0)}function mt(e){return e===void 0||e!==null&&typeof e=="object"&&("continueOnError"in e?typeof e.continueOnError=="boolean":!0)&&("logErrors"in e?typeof e.logErrors=="boolean":!0)&&("onError"in e?typeof e.onError=="function"||e.onError===void 0:!0)}var O=class{constructor(t){this.machine=t;this.middlewares=[]}withLogging(t){return this.middlewares.push(n=>V(n,t)),this}withAnalytics(t,n){return this.middlewares.push(r=>U(r,t,n)),this}withValidation(t,n){return this.middlewares.push(r=>q(r,t)),this}withPermissions(t){return this.middlewares.push(n=>Y(n,t)),this}withErrorReporting(t,n){return this.middlewares.push(r=>J(r,t,n)),this}withPerformanceMonitoring(t,n){return this.middlewares.push(r=>Q(r,t)),this}withRetry(t){return this.middlewares.push(n=>X(n,t)),this}withHistory(t){return this.middlewares.push(n=>S(n,t)),this}withSnapshot(t){return this.middlewares.push(n=>R(n,t)),this}withTimeTravel(t){return this.middlewares.push(n=>j(n,t)),this}withDebugging(){return this.middlewares.push(t=>Fe(t)),this}withCustom(t){return this.middlewares.push(t),this}withConditional(t,n){return this.middlewares.push(B(t,n)),this}build(){let t=this.machine;for(let n of this.middlewares)t=n(t);return t}getChain(){return[...this.middlewares]}clear(){return this.middlewares=[],this}};function Ae(e){return new O(e)}function Tt(e={}){return{create:t=>{let n=Ae(t);return e.logging&&n.withLogging(e.logging),e.analytics&&n.withAnalytics(e.analytics.track,e.analytics.options),e.history&&n.withHistory(e.history),e.snapshot&&n.withSnapshot(e.snapshot),e.timeTravel&&n.withTimeTravel(e.timeTravel),e.retry&&n.withRetry(e.retry),n}}}function Fe(e){return j(R(S(e)))}function Se(e,t){return e instanceof t}function Re(e,...t){return{type:e,args:t}}function je(e,t){return E(e,n=>({...n,...t}))}async function ve(e,...t){let n=e;for(let r of t)n=await r(n);return n}function Pe(e,t){return t?console.log(t,e.context):console.log(e.context),e}function Oe(e,t){return function(...n){let r=t(this.context,...n);return p(r,e())}}function Be(e,t,...n){return e.apply(t,n)}function te(e){return new Proxy(e,{get(t,n){let r=t[n];return typeof r=="function"?function(...o){let i=r.apply(t,o);return i&&typeof i=="object"&&"context"in i?te(i):i}:r}})}var k=class e{constructor(t){return this.wrappedMachine=t,new Proxy(this,{get:(n,r)=>{if(r==="wrappedMachine")return Reflect.get(n,r);if(r==="context")return this.wrappedMachine.context;let o=this.wrappedMachine[r];return typeof o=="function"?(...i)=>{let a=o.apply(this.wrappedMachine,i);return a&&typeof a=="object"&&"context"in a?new e(a):a}:o}})}};function ke(){return function(t){return function(...n){let r=t(this.context,...n);return p(r,this)}}}function ne(e){return{machine:e,addTransition:function(t,n){let r=function(...i){let a=n(this.context,...i);return p(a,this)},o=K(e,{[t]:r});return ne(o)}}}function re(e){return function(n){let r={},o=Object.fromEntries(Object.entries(n).map(([i,a])=>[i,function(...s){let l=a(this.context,...s);return p(l,r)}]));return Object.assign(r,o),p(e,r)}}function Ke(e,t){return t!==void 0?p(e,t):re(e)}function p(e,t){if(typeof t=="function"){let o;return o=t(a=>p(a,o)),Object.assign({context:e},o)}let n="context"in t?Object.fromEntries(Object.entries(t).filter(([o])=>o!=="context")):t;return Object.assign({context:e},n)}function oe(e,t){if(typeof t=="function"){let o;return o=t(a=>oe(a,o)),Object.assign({context:e},o)}let n="context"in t?Object.fromEntries(Object.entries(t).filter(([o])=>o!=="context")):t;return Object.assign({context:e},n)}function Ne(){return e=>{let t=Object.fromEntries(Object.entries(e).map(([n,r])=>[n,function(...o){let i=r(this.context,...o);return p(i,t)}]));return n=>p(n,t)}}function E(e,t){let{context:n,...r}=e,o=typeof t=="function"?t(n):t;return p(o,r)}function ze(e,t){let{context:n,...r}=e,o={...r,...t};return p(n,o)}function K(e,t){let{context:n,...r}=e,o={...r,...t};return p(n,o)}function Ge(e,t){return(...n)=>{let r=e(...n),o=t(),i={...r.context,...o.context},{context:a,...s}=r,{context:l,...c}=o,d={...s,...c};return p(i,d)}}function _e(e){let{context:t,...n}=e;return r=>p(r,n)}function We(e,t,n){let r=e.context[t],o=n[r];if(!o)throw new Error(`No handler found for state: ${String(r)}`);return o(e.context)}function He(e,t,n){return e.context[t]===n}function $e(e,t){let n=e,r=null;async function o(i){r&&(r.abort(),r=null);let a=n[i.type];if(typeof a!="function")throw new Error(`[Machine] Unknown event type '${String(i.type)}' on current state.`);let s=new AbortController;r=s;try{let c=await a.apply(n,[...i.args,{signal:s.signal}]);return s.signal.aborted||(n=c,t==null||t(n)),n}finally{r===s&&(r=null)}}return{get state(){return n.context},dispatch:o,stop:()=>{r&&(r.abort(),r=null)}}}var m=class{constructor(t){this.context=t}};function De(e,t){let{context:n,...r}=e;return p(t(n),r)}
|
|
1
|
+
"use strict";var G=Object.defineProperty;var qe=Object.getOwnPropertyDescriptor;var Ye=Object.getOwnPropertyNames;var Je=Object.prototype.hasOwnProperty;var Qe=(e,t)=>{for(var n in t)G(e,n,{get:t[n],enumerable:!0})},Xe=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ye(t))!Je.call(e,o)&&o!==n&&G(e,o,{get:()=>t[o],enumerable:!(r=qe(t,o))||r.enumerable});return e};var Ze=e=>Xe(G({},"__esModule",{value:!0}),e);var Ft={};Qe(Ft,{BoundMachine:()=>z,CANCEL:()=>q,META_KEY:()=>ge,MachineBase:()=>m,MiddlewareBuilder:()=>K,MultiMachineBase:()=>H,action:()=>we,bindTransitions:()=>oe,branch:()=>ft,call:()=>ze,chain:()=>yt,combine:()=>ht,combineFactories:()=>$e,compose:()=>dt,composeTyped:()=>B,createAsyncMachine:()=>se,createCustomMiddleware:()=>ct,createEnsemble:()=>Re,createEnsembleFactory:()=>et,createEvent:()=>Oe,createFetchMachine:()=>st,createFlow:()=>Me,createFunctionalMachine:()=>ae,createMachine:()=>p,createMachineBuilder:()=>De,createMachineFactory:()=>We,createMiddleware:()=>g,createMiddlewareFactory:()=>At,createMiddlewareRegistry:()=>Mt,createMultiMachine:()=>rt,createMutableMachine:()=>ot,createParallelMachine:()=>U,createPipeline:()=>xt,createRunner:()=>Se,createTransition:()=>Ne,createTransitionExtender:()=>ie,createTransitionFactory:()=>_e,delegateToChild:()=>it,describe:()=>me,extendTransitions:()=>_,guard:()=>R,guardAsync:()=>j,guarded:()=>Te,hasState:()=>Le,inDevelopment:()=>ut,invoke:()=>be,isConditionalMiddleware:()=>pt,isMiddlewareContext:()=>Ct,isMiddlewareError:()=>mt,isMiddlewareFn:()=>re,isMiddlewareHooks:()=>Tt,isMiddlewareOptions:()=>bt,isMiddlewareResult:()=>gt,isNamedMiddleware:()=>wt,isPipelineConfig:()=>Et,isState:()=>Pe,logState:()=>Ke,matchMachine:()=>Ie,mergeContext:()=>Be,metadata:()=>Fe,middlewareBuilder:()=>je,next:()=>Ue,overrideTransitions:()=>He,pipeTransitions:()=>ke,run:()=>W,runAsync:()=>he,runMachine:()=>Ve,runSequence:()=>le,runWithDebug:()=>xe,runWithEnsemble:()=>nt,runWithRunner:()=>tt,setContext:()=>T,state:()=>Ge,step:()=>ye,stepAsync:()=>fe,toggle:()=>at,transitionTo:()=>Ce,when:()=>N,whenContext:()=>lt,whenGuard:()=>Ee,whenGuardAsync:()=>Ae,withAnalytics:()=>J,withDebugging:()=>ve,withErrorReporting:()=>Z,withHistory:()=>v,withLogging:()=>Y,withPerformanceMonitoring:()=>ee,withPermissions:()=>X,withRetry:()=>te,withSnapshot:()=>P,withTimeTravel:()=>O,withValidation:()=>Q,yieldMachine:()=>ue});module.exports=Ze(Ft);var de=Symbol.for("__machine_transitions__");function A(e,t){return Object.defineProperty(e,de,{value:t,enumerable:!1,configurable:!1}),e}function F(e){if(!(!e||typeof e!="object"))return e[de]}function S(e){if(!e||typeof e!="object")return{};let t=Object.entries(e).filter(([n,r])=>n!=="context"&&typeof r=="function");return Object.fromEntries(t)}function W(e,t){let n=e(t),r=t;for(;;){let{value:o,done:i}=n.next(r);if(i)return o;r=o}}function ye(e){return function*(){return yield e}()}function ue(e){return e}function le(e,t){return t.reduce((n,r)=>W(r,n),e)}function Me(e){return e}function xe(e,t,n=(r,o)=>{console.log(`Step ${r}:`,o.context)}){let r=e(t),o=t,i=0;for(n(i,o);;){let{value:a,done:s}=r.next(o);if(s)return console.log("Final:",a),a;o=a,i++,n(i,o)}}async function he(e,t){let n=e(t),r=t;for(;;){let{value:o,done:i}=await n.next(r);if(i)return o;r=o}}async function*fe(e){return yield e}var ge=Symbol("MachineMeta"),pe=Symbol("__machine_runtime_meta__");function w(e,t){let n=e[pe]||{},r={...n,...t};t.guards&&n.guards?r.guards=[...t.guards,...n.guards]:t.guards&&(r.guards=[...t.guards]),t.actions&&n.actions?r.actions=[...t.actions,...n.actions]:t.actions&&(r.actions=[...t.actions]),Object.defineProperty(e,pe,{value:r,enumerable:!1,writable:!1,configurable:!0})}function Ce(e,t){return w(t,{target:e.name||e.toString()}),t}function me(e,t){return w(t,{description:e}),t}function Te(e,t){return w(t,{guards:[e]}),t}function be(e,t){return w(t,{invoke:{src:e.src,onDone:e.onDone.name||e.onDone.toString(),onError:e.onError.name||e.onError.toString(),description:e.description}}),t}function we(e,t){return w(t,{actions:[e]}),t}function R(e,t,n={}){let{onFail:r="throw",errorMessage:o,description:i}=n,a={...n,onFail:r,errorMessage:o,description:i},s=function(...u){let c=typeof this=="object"&&"context"in this,d=c?this.context:this;if(e(d,...u)){let l=c?this:{context:this};return t.apply(l,u)}else if(r==="throw"){let l=o||"Guard condition failed";throw new Error(l)}else if(r==="ignore"){if(c)return this;throw new Error('Cannot use "ignore" mode with context-only binding. Use full machine binding or provide fallback.')}else if(typeof r=="function"){if(c)return r.apply(this,u);throw new Error("Cannot use function fallback with context-only binding. Use full machine binding.")}else return r};return Object.defineProperty(s,"__guard",{value:!0,enumerable:!1}),Object.defineProperty(s,"condition",{value:e,enumerable:!1}),Object.defineProperty(s,"transition",{value:t,enumerable:!1}),Object.defineProperty(s,"options",{value:a,enumerable:!1}),w(s,{description:i||"Synchronous guarded transition",guards:[{name:"runtime_guard",description:i||"Synchronous condition check"}]}),s}function j(e,t,n={}){let{onFail:r="throw",errorMessage:o,description:i}=n,a={...n,onFail:r,errorMessage:o,description:i},s=async function(...u){let c=typeof this=="object"&&"context"in this,d=c?this.context:this;if(await Promise.resolve(e(d,...u))){let l=c?this:{context:this};return t.apply(l,u)}else if(r==="throw"){let l=o||"Guard condition failed";throw new Error(l)}else if(r==="ignore"){if(c)return this;throw new Error('Cannot use "ignore" mode with context-only binding. Use full machine binding or provide fallback.')}else if(typeof r=="function"){if(c)return r.apply(this,u);throw new Error("Cannot use function fallback with context-only binding. Use full machine binding.")}else return r};return Object.defineProperty(s,"__guard",{value:!0,enumerable:!1}),Object.defineProperty(s,"condition",{value:e,enumerable:!1}),Object.defineProperty(s,"transition",{value:t,enumerable:!1}),Object.defineProperty(s,"options",{value:a,enumerable:!1}),w(s,{description:i||"Runtime guarded transition",guards:[{name:"runtime_guard",description:i||"Runtime condition check"}]}),s}function Ee(e){return{do(t){let n=R(e,t);return n.else=function(r){return R(e,t,{onFail:r})},n}}}function Ae(e){return{do(t){let n=j(e,t);return n.else=function(r){return j(e,t,{onFail:r})},n}}}function Fe(e,t){return t}function Se(e,t){let n=e,r=s=>{n=s,t==null||t(s)},{context:o,...i}=e,a=new Proxy({},{get(s,u){let c=n[u];if(typeof c=="function")return(...d)=>{let M=c.apply(n,d),l=Object.assign({context:M.context},i);return r(l),l}}});return{get state(){return n},get context(){return n.context},actions:a,setState:r}}function Re(e,t,n){let r=()=>{let i=e.getContext(),a=n(i),s=t[a];if(!s)throw new Error(`[Ensemble] Invalid state: No factory found for state "${String(a)}".`);return s(i)},o=new Proxy({},{get(i,a){let s=r(),u=s[a];if(typeof u!="function")throw new Error(`[Ensemble] Transition "${a}" is not valid in the current state.`);return(...c)=>u.apply(s,c)}});return{get context(){return e.getContext()},get state(){return r()},actions:o}}function et(e,t){return function(r){return Re(e,r,t)}}function tt(e,t){let n=Se(t),r=e(n),o=r.next();for(;!o.done;)o=r.next();return o.value}function nt(e,t){let n=e(t),r=n.next();for(;!r.done;)r=n.next();return r.value}var H=class{constructor(t){this.store=t}get context(){return this.store.getContext()}setContext(t){this.store.setContext(t)}};function rt(e,t){let n=new e(t);return new Proxy({},{get(r,o){let i=t.getContext();if(o in i)return i[o];let a=n[o];if(typeof a=="function")return(...s)=>a.apply(n,s)},set(r,o,i){let a=t.getContext();if(o in a){let s={...a,[o]:i};return t.setContext(s),!0}return!1},has(r,o){let i=t.getContext();return o in i||typeof n[o]=="function"},ownKeys(r){let o=t.getContext(),i=Object.keys(o),a=Object.getOwnPropertyNames(Object.getPrototypeOf(n)).filter(s=>s!=="constructor"&&typeof n[s]=="function");return Array.from(new Set([...i,...a]))},getOwnPropertyDescriptor(r,o){let i=t.getContext();if(o in i||typeof n[o]=="function")return{value:void 0,writable:!0,enumerable:!0,configurable:!0}}})}function ot(e,t,n){let r=()=>{let o=n(e),i=t[o];if(!i)throw new Error(`[MutableMachine] Invalid state: No factory for state "${String(o)}".`);return i(e)};return new Proxy(e,{get(o,i,a){if(i in o)return o[i];let s=r(),u=s[i];if(typeof u=="function")return(...c)=>{let d=u.apply(s,c);if(typeof d!="object"||d===null){console.warn(`[MutableMachine] Transition "${String(i)}" did not return a valid context object. State may be inconsistent.`);return}Object.keys(o).forEach(M=>delete o[M]),Object.assign(o,d)}},set(o,i,a,s){return o[i]=a,!0},has(o,i){let a=r();return i in o||typeof a[i]=="function"}})}function it(e){return function(...t){let n=this.context.child;if(typeof n[e]=="function"){let r=n[e](...t);return T(this,{...this.context,child:r})}return this}}function at(e){return function(){return typeof this.context[e]!="boolean"&&console.warn(`[toggle primitive] Property '${String(e)}' is not a boolean. Toggling may have unexpected results.`),T(this,{...this.context,[e]:!this.context[e]})}}var $=class extends m{constructor(n){super({status:"idle"});this.config=n;this.fetch=n=>new E(this.config,n!=null?n:this.config.initialParams,1)}},E=class extends m{constructor(n,r,o){super({status:"loading",abortController:new AbortController,attempts:o});this.config=n;this.params=r;this.succeed=n=>{var r,o;return(o=(r=this.config).onSuccess)==null||o.call(r,n),new I(this.config,{status:"success",data:n})};this.fail=n=>{var o,i,a;let r=(o=this.config.maxRetries)!=null?o:3;return this.context.attempts<r?new D(this.config,this.params,n,this.context.attempts):((a=(i=this.config).onError)==null||a.call(i,n),new L(this.config,{status:"error",error:n}))};this.cancel=()=>(this.context.abortController.abort(),new V(this.config));this.execute()}async execute(){}},D=class extends m{constructor(n,r,o,i){super({status:"retrying",error:o,attempts:i});this.config=n;this.params=r;this.retry=n=>new E(this.config,n!=null?n:this.params,this.context.attempts+1)}},I=class extends m{constructor(n,r){super(r);this.config=n;this.refetch=n=>new E(this.config,n!=null?n:this.config.initialParams,1)}},L=class extends m{constructor(n,r){super(r);this.config=n;this.retry=n=>new E(this.config,n!=null?n:this.config.initialParams,1)}},V=class extends m{constructor(n){super({status:"canceled"});this.config=n;this.refetch=n=>new E(this.config,n!=null?n:this.config.initialParams,1)}};function st(e){return new $(e)}function U(e,t){let n={...e.context,...t.context},r={...e},o={...t};delete r.context,delete o.context;let i={};for(let a in r){let s=r[a];i[a]=(...u)=>{let c=s.apply(e,u);return U(c,t)}}for(let a in o){let s=o[a];i[a]=(...u)=>{let c=s.apply(t,u);return U(e,c)}}return{context:n,...i}}var q=Symbol("CANCEL");function g(e,t,n={}){let{continueOnError:r=!1,logErrors:o=!0,onError:i}=n,a={...e};for(let s in e)Object.prototype.hasOwnProperty.call(e,s)&&s!=="context"&&typeof e[s]!="function"&&(a[s]=e[s]);for(let s in e){if(!Object.prototype.hasOwnProperty.call(e,s))continue;let u=e[s];typeof u=="function"&&s!=="context"&&(a[s]=function(...c){let d=s,M=a.context,l=()=>{let y;try{y=u.apply(this,c)}catch(h){if(t.error)try{t.error({transitionName:d,context:M,args:[...c],error:h})}catch(f){if(!r)throw f;o&&console.error(`Middleware error hook error for ${d}:`,f),i==null||i(f,"error",{transitionName:d,context:M,args:c,error:h})}throw h}let x=h=>{if(h&&typeof h=="object"&&h.context){for(let f in a)Object.prototype.hasOwnProperty.call(a,f)&&f!=="context"&&!(f in h)&&(h[f]=a[f]);for(let f in h){if(!Object.prototype.hasOwnProperty.call(h,f))continue;typeof h[f]=="function"&&f!=="context"&&a[f]&&(h[f]=a[f])}}return h};if(y&&typeof y.then=="function")return y.then(f=>{if(x(f),t.after)try{let C=t.after({transitionName:d,prevContext:M,nextContext:f.context,args:[...c]});if(C&&typeof C.then=="function")return C.then(()=>f)}catch(C){if(!r)throw C;o&&console.error(`Middleware after hook error for ${d}:`,C),i==null||i(C,"after",{transitionName:d,prevContext:M,nextContext:f.context,args:c})}return f});if(x(y),t.after)try{let h=t.after({transitionName:d,prevContext:M,nextContext:y.context,args:[...c]});if(h&&typeof h=="object"&&h&&"then"in h)return h.then(()=>y).catch(f=>{if(!r)throw f;return o&&console.error(`Middleware after hook error for ${d}:`,f),i==null||i(f,"after",{transitionName:d,prevContext:M,nextContext:y.context,args:c}),y})}catch(h){if(!r)throw h;o&&console.error(`Middleware after hook error for ${d}:`,h),i==null||i(h,"after",{transitionName:d,prevContext:M,nextContext:y.context,args:c})}return y};if(t.before)try{let y=t.before({transitionName:d,context:M,args:[...c]});if(y&&typeof y=="object"&&y&&"then"in y)return y.then(x=>x===q?a:l()).catch(x=>{if(!r)throw x;return o&&console.error(`Middleware before hook error for ${d}:`,x),i==null||i(x,"before",{transitionName:d,context:M,args:c}),l()});if(y===q)return a}catch(y){if(!r)throw y;o&&console.error(`Middleware before hook error for ${d}:`,y),i==null||i(y,"before",{transitionName:d,context:M,args:c})}return l()})}return a}function Y(e,t={}){let{logger:n=console.log,includeArgs:r=!1,includeContext:o=!0}=t;return g(e,{before:({transitionName:i,args:a})=>{let s=r?`→ ${i} [${a.join(", ")}]`:`→ ${i}`;n(s)},after:({transitionName:i,nextContext:a})=>{let s=o?` ${JSON.stringify(a)}`:"";n(`✓ ${i}${s}`)},error:({transitionName:i,error:a})=>{console.error(`[Machine] ${i} failed:`,a)}})}function J(e,t,n={}){let{eventPrefix:r="state_transition",includePrevContext:o=!1,includeArgs:i=!1}=n;return g(e,{after:({transitionName:a,prevContext:s,nextContext:u,args:c})=>{let d=`${r}.${a}`,M={transition:a};o&&(M.from=s),M.to=u,i&&(M.args=c),t(d,M)}})}function Q(e,t){return g(e,{before:n=>{if(t(n)===!1)throw new Error(`Validation failed for transition: ${n.transitionName}`)}})}function X(e,t){return g(e,{before:n=>{if(!t(n))throw new Error(`Unauthorized transition: ${n.transitionName}`)}})}function Z(e,t,n={}){let{includeArgs:r=!1}=n;return g(e,{error:o=>{let i={transition:o.transitionName,context:o.context,...r&&{args:o.args}};t(o.error,i)}})}function ee(e,t){let n=new Map;return g(e,{before:r=>{n.set(r.transitionName,Date.now())},after:r=>{let o=n.get(r.transitionName);if(o){let i=Date.now()-o;n.delete(r.transitionName);let a={transitionName:r.transitionName,duration:i,context:r.nextContext||r.prevContext};t(a)}}})}function te(e,t={}){var u,c;let{maxAttempts:n=(u=t.maxRetries)!=null?u:3,shouldRetry:r=()=>!0,backoffMs:o=(c=t.delay)!=null?c:100,backoffMultiplier:i=2,onRetry:a}=t,s={...e};for(let d in e){if(!Object.prototype.hasOwnProperty.call(e,d))continue;let M=e[d];typeof M=="function"&&d!=="context"&&(s[d]=async function(...l){let y,x=0;for(;x<n;)try{return await M.apply(this,l)}catch(h){if(y=h,x++,x<n&&r(y,x)){a==null||a(y,x);let C=(typeof o=="function"?o(x):o)*Math.pow(i,x-1);await new Promise(b=>setTimeout(b,C))}else throw y}throw y})}return s}function ct(e,t){return n=>g(n,e,t)}function v(e,t={}){let{maxSize:n,serializer:r,onEntry:o}=t,i=[],a=0,s=g(e,{before:({transitionName:u,args:c})=>{let d={id:`entry-${a++}`,transitionName:u,args:[...c],timestamp:Date.now()};if(r)try{d.serializedArgs=r.serialize(c)}catch(M){console.error("Failed to serialize history args:",M)}i.push(d),n&&i.length>n&&i.shift(),o==null||o(d)}});return Object.assign(s,{history:i,clearHistory:()=>{i.length=0,a=0}})}function P(e,t={}){let{maxSize:n,serializer:r,captureSnapshot:o,onlyOnChange:i=!1}=t,a=[],s=0,u=g(e,{after:({transitionName:d,prevContext:M,nextContext:l})=>{if(i&&JSON.stringify(M)===JSON.stringify(l))return;let y={id:`snapshot-${s++}`,transitionName:d,before:{...M},after:{...l},timestamp:Date.now()};if(r)try{y.serializedBefore=r.serialize(M),y.serializedAfter=r.serialize(l)}catch(x){console.error("Failed to serialize snapshot:",x)}if(o)try{y.diff=o(M,l)}catch(x){console.error("Failed to capture snapshot:",x)}a.push(y),n&&a.length>n&&a.shift()}});return Object.assign(u,{snapshots:a,clearSnapshots:()=>{a.length=0,s=0},restoreSnapshot:d=>{let M=Object.fromEntries(Object.entries(e).filter(([l])=>l!=="context"&&l!=="snapshots"&&l!=="clearSnapshots"&&l!=="restoreSnapshot"&&typeof e[l]=="function"));return Object.assign({context:d},M)}})}function O(e,t={}){let{maxSize:n,serializer:r,onRecord:o}=t,i=[],a=[],s=0,u=0,c=g(e,{before:({transitionName:l,args:y})=>{let x={id:`entry-${s++}`,transitionName:l,args:[...y],timestamp:Date.now()};if(r)try{x.serializedArgs=r.serialize(y)}catch(h){console.error("Failed to serialize history args:",h)}i.push(x),n&&i.length>n&&i.shift(),o==null||o("history",x)},after:({transitionName:l,prevContext:y,nextContext:x})=>{let h={id:`snapshot-${u++}`,transitionName:l,before:{...y},after:{...x},timestamp:Date.now()};if(r)try{h.serializedBefore=r.serialize(y),h.serializedAfter=r.serialize(x)}catch(f){console.error("Failed to serialize snapshot:",f)}a.push(h),n&&a.length>n&&a.shift(),o==null||o("snapshot",h)}});return Object.assign(c,{history:i,snapshots:a,clearHistory:()=>{i.length=0,s=0},clearSnapshots:()=>{a.length=0,u=0},clearTimeTravel:()=>{i.length=0,a.length=0,s=0,u=0},restoreSnapshot:l=>{let y=Object.fromEntries(Object.entries(e).filter(([x])=>x!=="context"&&x!=="history"&&x!=="snapshots"&&x!=="clearHistory"&&x!=="clearSnapshots"&&x!=="restoreSnapshot"&&x!=="clearTimeTravel"&&x!=="replayFrom"&&typeof e[x]=="function"));return Object.assign({context:l},y)},replayFrom:l=>{var C;if(l<0||l>=i.length)throw new Error(`Invalid replay start index: ${l}`);let y=(C=a[l])==null?void 0:C.before;if(!y)throw new Error(`No snapshot available for index ${l}`);let x=i.slice(l),f=Object.assign({context:y},Object.fromEntries(Object.entries(e).filter(([b])=>b!=="context"&&typeof e[b]=="function")));for(let b of x){let ce=f[b.transitionName];ce&&(f=ce.apply(f,b.args))}return f}})}function dt(e,...t){return t.reduce((n,r)=>r(n),e)}function B(e,...t){return t.reduce((n,r)=>r(n),e)}var ne=class e{constructor(t){this.machine=t}with(t){let n=t(this.machine);return new e(n)}build(){return this.machine}};function yt(e){return new ne(e)}function N(e,t){let n=function(r){return t(r)?e(r):r};return n.middleware=e,n.when=t,n}function ut(e){return N(e,()=>typeof process!="undefined"?!1:typeof window!="undefined"?!window.location.hostname.includes("production"):!1)}function lt(e,t,n){return N(n,r=>r.context[e]===t)}function Mt(){let e=new Map;return{register(t,n,r,o){if(e.has(t))throw new Error(`Middleware '${t}' is already registered`);return e.set(t,{name:t,middleware:n,description:r,priority:o}),this},unregister(t){return e.delete(t)},has(t){return e.has(t)},get(t){return e.get(t)},list(){return Array.from(e.values()).sort((t,n)=>{var r,o;return((r=t.priority)!=null?r:0)-((o=n.priority)!=null?o:0)})},apply(t,n){let r=n.map(o=>{let i=e.get(o);if(!i)throw new Error(`Middleware '${o}' is not registered`);return i}).sort((o,i)=>{var a,s;return((a=o.priority)!=null?a:0)-((s=i.priority)!=null?s:0)});return B(t,...r.map(o=>o.middleware))},applyAll(t){let n=this.list();return B(t,...n.map(r=>r.middleware))}}}function xt(e={}){let{continueOnError:t=!1,logErrors:n=!0,onError:r}=e;return(o,...i)=>{let a=o,s=[],u=!0;for(let c=0;c<i.length;c++){let d=i[c];try{if("middleware"in d&&"when"in d){if(!d.when(a))continue;a=d.middleware(a)}else a=d(a)}catch(M){if(u=!1,!t)throw M;s.push({error:M,middlewareIndex:c,middlewareName:d.name}),n&&console.error(`Pipeline middleware error at index ${c}:`,M),r==null||r(M,c,d.name)}}return{machine:a,errors:s,success:u}}}function ht(...e){return t=>B(t,...e)}function ft(e,t){return n=>{for(let[r,o]of e)if(r(n))return o(n);return t?t(n):n}}function re(e){return typeof e=="function"&&e.length===1}function pt(e){return e!==null&&(typeof e=="object"||typeof e=="function")&&"middleware"in e&&"when"in e&&re(e.middleware)&&typeof e.when=="function"}function gt(e,t){return e!==null&&typeof e=="object"&&"transitionName"in e&&"prevContext"in e&&"nextContext"in e&&"args"in e&&typeof e.transitionName=="string"&&Array.isArray(e.args)&&(!t||k(e.prevContext,t)&&k(e.nextContext,t))}function Ct(e,t){return e!==null&&typeof e=="object"&&"transitionName"in e&&"context"in e&&"args"in e&&typeof e.transitionName=="string"&&Array.isArray(e.args)&&(!t||k(e.context,t))}function mt(e,t){return e!==null&&typeof e=="object"&&"transitionName"in e&&"context"in e&&"args"in e&&"error"in e&&typeof e.transitionName=="string"&&Array.isArray(e.args)&&e.error instanceof Error&&(!t||k(e.context,t))}function Tt(e,t){if(e===null||typeof e!="object")return!1;let n=e;return!("before"in n&&n.before!==void 0&&typeof n.before!="function"||"after"in n&&n.after!==void 0&&typeof n.after!="function"||"error"in n&&n.error!==void 0&&typeof n.error!="function")}function bt(e){return e===void 0||e!==null&&typeof e=="object"&&("continueOnError"in e?typeof e.continueOnError=="boolean":!0)&&("logErrors"in e?typeof e.logErrors=="boolean":!0)&&("onError"in e?typeof e.onError=="function"||e.onError===void 0:!0)}function k(e,t){return e!==null&&typeof e=="object"}function wt(e){return e!==null&&typeof e=="object"&&"name"in e&&"middleware"in e&&typeof e.name=="string"&&re(e.middleware)&&("description"in e?typeof e.description=="string"||e.description===void 0:!0)&&("priority"in e?typeof e.priority=="number"||e.priority===void 0:!0)}function Et(e){return e===void 0||e!==null&&typeof e=="object"&&("continueOnError"in e?typeof e.continueOnError=="boolean":!0)&&("logErrors"in e?typeof e.logErrors=="boolean":!0)&&("onError"in e?typeof e.onError=="function"||e.onError===void 0:!0)}var K=class{constructor(t){this.machine=t;this.middlewares=[]}withLogging(t){return this.middlewares.push(n=>Y(n,t)),this}withAnalytics(t,n){return this.middlewares.push(r=>J(r,t,n)),this}withValidation(t,n){return this.middlewares.push(r=>Q(r,t)),this}withPermissions(t){return this.middlewares.push(n=>X(n,t)),this}withErrorReporting(t,n){return this.middlewares.push(r=>Z(r,t,n)),this}withPerformanceMonitoring(t,n){return this.middlewares.push(r=>ee(r,t)),this}withRetry(t){return this.middlewares.push(n=>te(n,t)),this}withHistory(t){return this.middlewares.push(n=>v(n,t)),this}withSnapshot(t){return this.middlewares.push(n=>P(n,t)),this}withTimeTravel(t){return this.middlewares.push(n=>O(n,t)),this}withDebugging(){return this.middlewares.push(t=>ve(t)),this}withCustom(t){return this.middlewares.push(t),this}withConditional(t,n){return this.middlewares.push(N(t,n)),this}build(){let t=this.machine;for(let n of this.middlewares)t=n(t);return t}getChain(){return[...this.middlewares]}clear(){return this.middlewares=[],this}};function je(e){return new K(e)}function At(e={}){return{create:t=>{let n=je(t);return e.logging&&n.withLogging(e.logging),e.analytics&&n.withAnalytics(e.analytics.track,e.analytics.options),e.history&&n.withHistory(e.history),e.snapshot&&n.withSnapshot(e.snapshot),e.timeTravel&&n.withTimeTravel(e.timeTravel),e.retry&&n.withRetry(e.retry),n}}}function ve(e){return O(P(v(e)))}function Pe(e,t){return e instanceof t}function Oe(e,...t){return{type:e,args:t}}function Be(e,t){return T(e,n=>({...n,...t}))}async function ke(e,...t){let n=e;for(let r of t)n=await r(n);return n}function Ke(e,t){return t?console.log(t,e.context):console.log(e.context),e}function Ne(e,t){return function(...n){let r=t(this.context,...n);return p(r,e())}}function ze(e,t,...n){return e.apply(t,n)}function oe(e){return new Proxy(e,{get(t,n){let r=t[n];return typeof r=="function"?function(...o){let i=r.apply(t,o);return i&&typeof i=="object"&&"context"in i?oe(i):i}:r}})}var z=class e{constructor(t){return this.wrappedMachine=t,new Proxy(this,{get:(n,r)=>{if(r==="wrappedMachine")return Reflect.get(n,r);if(r==="context")return this.wrappedMachine.context;let o=this.wrappedMachine[r];return typeof o=="function"?(...i)=>{let a=o.apply(this.wrappedMachine,i);return a&&typeof a=="object"&&"context"in a?new e(a):a}:o}})}};function _e(){return function(t){return function(...n){let r=t(this.context,...n);return p(r,this)}}}function ie(e){return{machine:e,addTransition:function(t,n){let r=function(...i){let a=n(this.context,...i);return p(a,this)},o=_(e,{[t]:r});return ie(o)}}}function ae(e){return function(n){let r={},o=Object.fromEntries(Object.entries(n).map(([i,a])=>[i,function(...s){let u=a(this.context,...s);return p(u,r)}]));return Object.assign(r,o),p(e,r)}}function Ge(e,t){return t!==void 0?p(e,t):ae(e)}function p(e,t){if(typeof t=="function"){let i;return i=t(s=>p(s,i)),A(Object.assign({context:e},i),i)}let n=F(t),r=n!=null?n:"context"in t?S(t):t,o=Object.assign({context:e},r);return A(o,r)}function se(e,t){if(typeof t=="function"){let i;return i=t(s=>se(s,i)),A(Object.assign({context:e},i),i)}let n=F(t),r=n!=null?n:"context"in t?S(t):t,o=Object.assign({context:e},r);return A(o,r)}function We(){return e=>{let t=Object.fromEntries(Object.entries(e).map(([n,r])=>[n,function(...o){let i=r(this.context,...o);return p(i,t)}]));return n=>p(n,t)}}function T(e,t){var i;let n=e.context,r=(i=F(e))!=null?i:S(e),o=typeof t=="function"?t(n):t;return p(o,r)}function He(e,t){let{context:n,...r}=e,o={...r,...t};return p(n,o)}function _(e,t){let{context:n,...r}=e,o={...r,...t};return p(n,o)}function $e(e,t){return(...n)=>{let r=e(...n),o=t(),i={...r.context,...o.context},{context:a,...s}=r,{context:u,...c}=o,d={...s,...c};return p(i,d)}}function De(e){let{context:t,...n}=e;return r=>p(r,n)}function Ie(e,t,n){let r=e.context[t],o=n[r];if(!o)throw new Error(`No handler found for state: ${String(r)}`);return o(e.context)}function Le(e,t,n){return e.context[t]===n}function Ve(e,t){let n=e,r=null;async function o(i){r&&(r.abort(),r=null);let a=n[i.type];if(typeof a!="function")throw new Error(`[Machine] Unknown event type '${String(i.type)}' on current state.`);let s=new AbortController;r=s;try{let c=await a.apply(n,[...i.args,{signal:s.signal}]);return s.signal.aborted||(n=c,t==null||t(n)),n}finally{r===s&&(r=null)}}return{get state(){return n.context},dispatch:o,stop:()=>{r&&(r.abort(),r=null)}}}var m=class{constructor(t){this.context=t}};function Ue(e,t){return T(e,n=>t(n))}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var I=Object.defineProperty;var en=Object.getOwnPropertyDescriptor;var nn=Object.getOwnPropertyNames;var tn=Object.prototype.hasOwnProperty;var rn=(e,n)=>{for(var t in n)I(e,t,{get:n[t],enumerable:!0})},on=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of nn(n))!tn.call(e,o)&&o!==t&&I(e,o,{get:()=>n[o],enumerable:!(r=en(n,o))||r.enumerable});return e};var an=e=>on(I({},"__esModule",{value:!0}),e);var Dn={};rn(Dn,{Actor:()=>A,BoundMachine:()=>K,CANCEL:()=>q,META_KEY:()=>ge,MachineBase:()=>m,MachineExclude:()=>ke,MachineUnion:()=>Oe,MiddlewareBuilder:()=>_,MultiMachineBase:()=>$,action:()=>Ee,bindTransitions:()=>ae,branch:()=>wn,call:()=>ze,callWithContext:()=>Qe,chain:()=>fn,classCase:()=>Ge,combine:()=>bn,combineFactories:()=>Hn,compose:()=>pn,composeTyped:()=>k,createActor:()=>R,createAsyncMachine:()=>Ze,createContext:()=>Nn,createContextBoundMachine:()=>de,createCustomMiddleware:()=>hn,createEnsemble:()=>Se,createEnsembleFactory:()=>sn,createEvent:()=>_e,createFetchMachine:()=>Mn,createFlow:()=>Me,createFunctionalMachine:()=>se,createMachine:()=>f,createMachineBuilder:()=>In,createMachineFactory:()=>_n,createMatcher:()=>De,createMiddleware:()=>C,createMiddlewareFactory:()=>On,createMiddlewareRegistry:()=>mn,createMultiMachine:()=>un,createMutableMachine:()=>yn,createParallelMachine:()=>L,createPipeline:()=>Tn,createRunner:()=>Fe,createTransition:()=>Ie,createTransitionExtender:()=>ie,createTransitionFactory:()=>$e,customCase:()=>Ve,delegateToChild:()=>ln,describe:()=>Te,discriminantCase:()=>Ue,extendTransitions:()=>ce,forContext:()=>Le,fromObservable:()=>Ye,fromPromise:()=>Je,guard:()=>F,guardAsync:()=>S,guarded:()=>be,hasState:()=>H,inDevelopment:()=>Cn,invoke:()=>we,isConditionalMiddleware:()=>En,isContextBound:()=>Xe,isMiddlewareContext:()=>An,isMiddlewareError:()=>Rn,isMiddlewareFn:()=>re,isMiddlewareHooks:()=>Fn,isMiddlewareOptions:()=>Sn,isMiddlewareResult:()=>vn,isNamedMiddleware:()=>jn,isPipelineConfig:()=>Pn,isState:()=>Be,logState:()=>He,machineExclude:()=>Bn,machineUnion:()=>kn,matchMachine:()=>zn,mergeContext:()=>Ne,metadata:()=>Re,middlewareBuilder:()=>je,next:()=>Wn,overrideTransitions:()=>Kn,pipeTransitions:()=>Ke,run:()=>z,runAsync:()=>pe,runMachine:()=>$n,runSequence:()=>xe,runWithDebug:()=>he,runWithEnsemble:()=>dn,runWithRunner:()=>cn,setContext:()=>E,spawn:()=>qe,state:()=>We,step:()=>ye,stepAsync:()=>fe,toggle:()=>xn,transitionTo:()=>me,when:()=>N,whenContext:()=>gn,whenGuard:()=>ve,whenGuardAsync:()=>Ae,withAnalytics:()=>Y,withDebugging:()=>Pe,withErrorReporting:()=>Z,withHistory:()=>j,withLogging:()=>J,withPerformanceMonitoring:()=>ee,withPermissions:()=>X,withRetry:()=>ne,withSnapshot:()=>P,withTimeTravel:()=>O,withValidation:()=>Q,yieldMachine:()=>le});module.exports=an(Dn);function z(e,n){let t=e(n),r=n;for(;;){let{value:o,done:a}=t.next(r);if(a)return o;r=o}}function ye(e){return function*(){return yield e}()}function le(e){return e}function xe(e,n){return n.reduce((t,r)=>z(r,t),e)}function Me(e){return e}function he(e,n,t=(r,o)=>{console.log(`Step ${r}:`,o.context)}){let r=e(n),o=n,a=0;for(t(a,o);;){let{value:i,done:s}=r.next(o);if(s)return console.log("Final:",i),i;o=i,a++,t(a,o)}}async function pe(e,n){let t=e(n),r=n;for(;;){let{value:o,done:a}=await t.next(r);if(a)return o;r=o}}async function*fe(e){return yield e}var ge=Symbol("MachineMeta"),Ce=Symbol("__machine_runtime_meta__");function b(e,n){let t=e[Ce]||{},r={...t,...n};n.guards&&t.guards?r.guards=[...n.guards,...t.guards]:n.guards&&(r.guards=[...n.guards]),n.actions&&t.actions?r.actions=[...n.actions,...t.actions]:n.actions&&(r.actions=[...n.actions]),Object.defineProperty(e,Ce,{value:r,enumerable:!1,writable:!1,configurable:!0})}function me(e,n){return b(n,{target:e.name||e.toString()}),n}function Te(e,n){return b(n,{description:e}),n}function be(e,n){return b(n,{guards:[e]}),n}function we(e,n){return b(n,{invoke:{src:e.src,onDone:e.onDone.name||e.onDone.toString(),onError:e.onError.name||e.onError.toString(),description:e.description}}),n}function Ee(e,n){return b(n,{actions:[e]}),n}function F(e,n,t={}){let{onFail:r="throw",errorMessage:o,description:a}=t,i={...t,onFail:r,errorMessage:o,description:a},s=function(...d){let c=typeof this=="object"&&"context"in this,u=c?this.context:this;if(e(u,...d)){let x=c?this:{context:this};return n.apply(x,d)}else if(r==="throw"){let x=o||"Guard condition failed";throw new Error(x)}else if(r==="ignore"){if(c)return this;throw new Error('Cannot use "ignore" mode with context-only binding. Use full machine binding or provide fallback.')}else if(typeof r=="function"){if(c)return r.apply(this,d);throw new Error("Cannot use function fallback with context-only binding. Use full machine binding.")}else return r};return Object.defineProperty(s,"__guard",{value:!0,enumerable:!1}),Object.defineProperty(s,"condition",{value:e,enumerable:!1}),Object.defineProperty(s,"transition",{value:n,enumerable:!1}),Object.defineProperty(s,"options",{value:i,enumerable:!1}),b(s,{description:a||"Synchronous guarded transition",guards:[{name:"runtime_guard",description:a||"Synchronous condition check"}]}),s}function S(e,n,t={}){let{onFail:r="throw",errorMessage:o,description:a}=t,i={...t,onFail:r,errorMessage:o,description:a},s=async function(...d){let c=typeof this=="object"&&"context"in this,u=c?this.context:this;if(await Promise.resolve(e(u,...d))){let x=c?this:{context:this};return n.apply(x,d)}else if(r==="throw"){let x=o||"Guard condition failed";throw new Error(x)}else if(r==="ignore"){if(c)return this;throw new Error('Cannot use "ignore" mode with context-only binding. Use full machine binding or provide fallback.')}else if(typeof r=="function"){if(c)return r.apply(this,d);throw new Error("Cannot use function fallback with context-only binding. Use full machine binding.")}else return r};return Object.defineProperty(s,"__guard",{value:!0,enumerable:!1}),Object.defineProperty(s,"condition",{value:e,enumerable:!1}),Object.defineProperty(s,"transition",{value:n,enumerable:!1}),Object.defineProperty(s,"options",{value:i,enumerable:!1}),b(s,{description:a||"Runtime guarded transition",guards:[{name:"runtime_guard",description:a||"Runtime condition check"}]}),s}function ve(e){return{do(n){let t=F(e,n);return t.else=function(r){return F(e,n,{onFail:r})},t}}}function Ae(e){return{do(n){let t=S(e,n);return t.else=function(r){return S(e,n,{onFail:r})},t}}}function Re(e,n){return n}function Fe(e,n){let t=e,r=s=>{t=s,n==null||n(s)},{context:o,...a}=e,i=new Proxy({},{get(s,d){let c=t[d];if(typeof c=="function")return(...u)=>{let l=c.apply(t,u),x=Object.assign({context:l.context},a);return r(x),x}}});return{get state(){return t},get context(){return t.context},actions:i,setState:r}}function Se(e,n,t){let r=()=>{let a=e.getContext(),i=t(a),s=n[i];if(!s)throw new Error(`[Ensemble] Invalid state: No factory found for state "${String(i)}".`);return s(a)},o=new Proxy({},{get(a,i){let s=r(),d=s[i];if(typeof d!="function")throw new Error(`[Ensemble] Transition "${i}" is not valid in the current state.`);return(...c)=>d.apply(s,c)}});return{get context(){return e.getContext()},get state(){return r()},actions:o}}function sn(e,n){return function(r){return Se(e,r,n)}}function cn(e,n){let t=Fe(n),r=e(t),o=r.next();for(;!o.done;)o=r.next();return o.value}function dn(e,n){let t=e(n),r=t.next();for(;!r.done;)r=t.next();return r.value}var $=class{constructor(n){this.store=n}get context(){return this.store.getContext()}setContext(n){this.store.setContext(n)}};function un(e,n){let t=new e(n);return new Proxy({},{get(r,o){let a=n.getContext();if(o in a)return a[o];let i=t[o];if(typeof i=="function")return(...s)=>i.apply(t,s)},set(r,o,a){let i=n.getContext();if(o in i){let s={...i,[o]:a};return n.setContext(s),!0}return!1},has(r,o){let a=n.getContext();return o in a||typeof t[o]=="function"},ownKeys(r){let o=n.getContext(),a=Object.keys(o),i=Object.getOwnPropertyNames(Object.getPrototypeOf(t)).filter(s=>s!=="constructor"&&typeof t[s]=="function");return Array.from(new Set([...a,...i]))},getOwnPropertyDescriptor(r,o){let a=n.getContext();if(o in a||typeof t[o]=="function")return{value:void 0,writable:!0,enumerable:!0,configurable:!0}}})}function yn(e,n,t){let r=()=>{let o=t(e),a=n[o];if(!a)throw new Error(`[MutableMachine] Invalid state: No factory for state "${String(o)}".`);return a(e)};return new Proxy(e,{get(o,a,i){if(a in o)return o[a];let s=r(),d=s[a];if(typeof d=="function")return(...c)=>{let u=d.apply(s,c);if(typeof u!="object"||u===null){console.warn(`[MutableMachine] Transition "${String(a)}" did not return a valid context object. State may be inconsistent.`);return}Object.keys(o).forEach(l=>delete o[l]),Object.assign(o,u)}},set(o,a,i,s){return o[a]=i,!0},has(o,a){let i=r();return a in o||typeof i[a]=="function"}})}function ln(e){return function(...n){let t=this.context.child;if(typeof t[e]=="function"){let r=t[e](...n);return E(this,{...this.context,child:r})}return this}}function xn(e){return function(){return typeof this.context[e]!="boolean"&&console.warn(`[toggle primitive] Property '${String(e)}' is not a boolean. Toggling may have unexpected results.`),E(this,{...this.context,[e]:!this.context[e]})}}var W=class extends m{constructor(t){super({status:"idle"});this.config=t;this.fetch=t=>new w(this.config,t!=null?t:this.config.initialParams,1)}},w=class extends m{constructor(t,r,o){super({status:"loading",abortController:new AbortController,attempts:o});this.config=t;this.params=r;this.succeed=t=>{var r,o;return(o=(r=this.config).onSuccess)==null||o.call(r,t),new G(this.config,{status:"success",data:t})};this.fail=t=>{var o,a,i;let r=(o=this.config.maxRetries)!=null?o:3;return this.context.attempts<r?new D(this.config,this.params,t,this.context.attempts):((i=(a=this.config).onError)==null||i.call(a,t),new U(this.config,{status:"error",error:t}))};this.cancel=()=>(this.context.abortController.abort(),new V(this.config));this.execute()}async execute(){}},D=class extends m{constructor(t,r,o,a){super({status:"retrying",error:o,attempts:a});this.config=t;this.params=r;this.retry=t=>new w(this.config,t!=null?t:this.params,this.context.attempts+1)}},G=class extends m{constructor(t,r){super(r);this.config=t;this.refetch=t=>new w(this.config,t!=null?t:this.config.initialParams,1)}},U=class extends m{constructor(t,r){super(r);this.config=t;this.retry=t=>new w(this.config,t!=null?t:this.config.initialParams,1)}},V=class extends m{constructor(t){super({status:"canceled"});this.config=t;this.refetch=t=>new w(this.config,t!=null?t:this.config.initialParams,1)}};function Mn(e){return new W(e)}function L(e,n){let t={...e.context,...n.context},r={...e},o={...n};delete r.context,delete o.context;let a={};for(let i in r){let s=r[i];a[i]=(...d)=>{let c=s.apply(e,d);return L(c,n)}}for(let i in o){let s=o[i];a[i]=(...d)=>{let c=s.apply(n,d);return L(e,c)}}return{context:t,...a}}var q=Symbol("CANCEL");function C(e,n,t={}){let{continueOnError:r=!1,logErrors:o=!0,onError:a}=t,i={...e};for(let s in e)Object.prototype.hasOwnProperty.call(e,s)&&s!=="context"&&typeof e[s]!="function"&&(i[s]=e[s]);for(let s in e){if(!Object.prototype.hasOwnProperty.call(e,s))continue;let d=e[s];typeof d=="function"&&s!=="context"&&(i[s]=function(...c){let u=s,l=i.context,x=()=>{let y;try{y=d.apply(this,c)}catch(h){if(n.error)try{n.error({transitionName:u,context:l,args:[...c],error:h})}catch(p){if(!r)throw p;o&&console.error(`Middleware error hook error for ${u}:`,p),a==null||a(p,"error",{transitionName:u,context:l,args:c,error:h})}throw h}let M=h=>{if(h&&typeof h=="object"&&h.context){for(let p in i)Object.prototype.hasOwnProperty.call(i,p)&&p!=="context"&&!(p in h)&&(h[p]=i[p]);for(let p in h){if(!Object.prototype.hasOwnProperty.call(h,p))continue;typeof h[p]=="function"&&p!=="context"&&i[p]&&(h[p]=i[p])}}return h};if(y&&typeof y.then=="function")return y.then(p=>{if(M(p),n.after)try{let g=n.after({transitionName:u,prevContext:l,nextContext:p.context,args:[...c]});if(g&&typeof g.then=="function")return g.then(()=>p)}catch(g){if(!r)throw g;o&&console.error(`Middleware after hook error for ${u}:`,g),a==null||a(g,"after",{transitionName:u,prevContext:l,nextContext:p.context,args:c})}return p});if(M(y),n.after)try{let h=n.after({transitionName:u,prevContext:l,nextContext:y.context,args:[...c]});if(h&&typeof h=="object"&&h&&"then"in h)return h.then(()=>y).catch(p=>{if(!r)throw p;return o&&console.error(`Middleware after hook error for ${u}:`,p),a==null||a(p,"after",{transitionName:u,prevContext:l,nextContext:y.context,args:c}),y})}catch(h){if(!r)throw h;o&&console.error(`Middleware after hook error for ${u}:`,h),a==null||a(h,"after",{transitionName:u,prevContext:l,nextContext:y.context,args:c})}return y};if(n.before)try{let y=n.before({transitionName:u,context:l,args:[...c]});if(y&&typeof y=="object"&&y&&"then"in y)return y.then(M=>M===q?i:x()).catch(M=>{if(!r)throw M;return o&&console.error(`Middleware before hook error for ${u}:`,M),a==null||a(M,"before",{transitionName:u,context:l,args:c}),x()});if(y===q)return i}catch(y){if(!r)throw y;o&&console.error(`Middleware before hook error for ${u}:`,y),a==null||a(y,"before",{transitionName:u,context:l,args:c})}return x()})}return i}function J(e,n={}){let{logger:t=console.log,includeArgs:r=!1,includeContext:o=!0}=n;return C(e,{before:({transitionName:a,args:i})=>{let s=r?`→ ${a} [${i.join(", ")}]`:`→ ${a}`;t(s)},after:({transitionName:a,nextContext:i})=>{let s=o?` ${JSON.stringify(i)}`:"";t(`✓ ${a}${s}`)},error:({transitionName:a,error:i})=>{console.error(`[Machine] ${a} failed:`,i)}})}function Y(e,n,t={}){let{eventPrefix:r="state_transition",includePrevContext:o=!1,includeArgs:a=!1}=t;return C(e,{after:({transitionName:i,prevContext:s,nextContext:d,args:c})=>{let u=`${r}.${i}`,l={transition:i};o&&(l.from=s),l.to=d,a&&(l.args=c),n(u,l)}})}function Q(e,n){return C(e,{before:t=>{if(n(t)===!1)throw new Error(`Validation failed for transition: ${t.transitionName}`)}})}function X(e,n){return C(e,{before:t=>{if(!n(t))throw new Error(`Unauthorized transition: ${t.transitionName}`)}})}function Z(e,n,t={}){let{includeArgs:r=!1}=t;return C(e,{error:o=>{let a={transition:o.transitionName,context:o.context,...r&&{args:o.args}};n(o.error,a)}})}function ee(e,n){let t=new Map;return C(e,{before:r=>{t.set(r.transitionName,Date.now())},after:r=>{let o=t.get(r.transitionName);if(o){let a=Date.now()-o;t.delete(r.transitionName);let i={transitionName:r.transitionName,duration:a,context:r.nextContext||r.prevContext};n(i)}}})}function ne(e,n={}){var d,c;let{maxAttempts:t=(d=n.maxRetries)!=null?d:3,shouldRetry:r=()=>!0,backoffMs:o=(c=n.delay)!=null?c:100,backoffMultiplier:a=2,onRetry:i}=n,s={...e};for(let u in e){if(!Object.prototype.hasOwnProperty.call(e,u))continue;let l=e[u];typeof l=="function"&&u!=="context"&&(s[u]=async function(...x){let y,M=0;for(;M<t;)try{return await l.apply(this,x)}catch(h){if(y=h,M++,M<t&&r(y,M)){i==null||i(y,M);let g=(typeof o=="function"?o(M):o)*Math.pow(a,M-1);await new Promise(T=>setTimeout(T,g))}else throw y}throw y})}return s}function hn(e,n){return t=>C(t,e,n)}function j(e,n={}){let{maxSize:t,serializer:r,onEntry:o}=n,a=[],i=0,s=C(e,{before:({transitionName:d,args:c})=>{let u={id:`entry-${i++}`,transitionName:d,args:[...c],timestamp:Date.now()};if(r)try{u.serializedArgs=r.serialize(c)}catch(l){console.error("Failed to serialize history args:",l)}a.push(u),t&&a.length>t&&a.shift(),o==null||o(u)}});return Object.assign(s,{history:a,clearHistory:()=>{a.length=0,i=0}})}function P(e,n={}){let{maxSize:t,serializer:r,captureSnapshot:o,onlyOnChange:a=!1}=n,i=[],s=0,d=C(e,{after:({transitionName:u,prevContext:l,nextContext:x})=>{if(a&&JSON.stringify(l)===JSON.stringify(x))return;let y={id:`snapshot-${s++}`,transitionName:u,before:{...l},after:{...x},timestamp:Date.now()};if(r)try{y.serializedBefore=r.serialize(l),y.serializedAfter=r.serialize(x)}catch(M){console.error("Failed to serialize snapshot:",M)}if(o)try{y.diff=o(l,x)}catch(M){console.error("Failed to capture snapshot:",M)}i.push(y),t&&i.length>t&&i.shift()}});return Object.assign(d,{snapshots:i,clearSnapshots:()=>{i.length=0,s=0},restoreSnapshot:u=>{let l=Object.fromEntries(Object.entries(e).filter(([x])=>x!=="context"&&x!=="snapshots"&&x!=="clearSnapshots"&&x!=="restoreSnapshot"&&typeof e[x]=="function"));return Object.assign({context:u},l)}})}function O(e,n={}){let{maxSize:t,serializer:r,onRecord:o}=n,a=[],i=[],s=0,d=0,c=C(e,{before:({transitionName:x,args:y})=>{let M={id:`entry-${s++}`,transitionName:x,args:[...y],timestamp:Date.now()};if(r)try{M.serializedArgs=r.serialize(y)}catch(h){console.error("Failed to serialize history args:",h)}a.push(M),t&&a.length>t&&a.shift(),o==null||o("history",M)},after:({transitionName:x,prevContext:y,nextContext:M})=>{let h={id:`snapshot-${d++}`,transitionName:x,before:{...y},after:{...M},timestamp:Date.now()};if(r)try{h.serializedBefore=r.serialize(y),h.serializedAfter=r.serialize(M)}catch(p){console.error("Failed to serialize snapshot:",p)}i.push(h),t&&i.length>t&&i.shift(),o==null||o("snapshot",h)}});return Object.assign(c,{history:a,snapshots:i,clearHistory:()=>{a.length=0,s=0},clearSnapshots:()=>{i.length=0,d=0},clearTimeTravel:()=>{a.length=0,i.length=0,s=0,d=0},restoreSnapshot:x=>{let y=Object.fromEntries(Object.entries(e).filter(([M])=>M!=="context"&&M!=="history"&&M!=="snapshots"&&M!=="clearHistory"&&M!=="clearSnapshots"&&M!=="restoreSnapshot"&&M!=="clearTimeTravel"&&M!=="replayFrom"&&typeof e[M]=="function"));return Object.assign({context:x},y)},replayFrom:x=>{var g;if(x<0||x>=a.length)throw new Error(`Invalid replay start index: ${x}`);let y=(g=i[x])==null?void 0:g.before;if(!y)throw new Error(`No snapshot available for index ${x}`);let M=a.slice(x),p=Object.assign({context:y},Object.fromEntries(Object.entries(e).filter(([T])=>T!=="context"&&typeof e[T]=="function")));for(let T of M){let ue=p[T.transitionName];ue&&(p=ue.apply(p,T.args))}return p}})}function pn(e,...n){return n.reduce((t,r)=>r(t),e)}function k(e,...n){return n.reduce((t,r)=>r(t),e)}var te=class e{constructor(n){this.machine=n}with(n){let t=n(this.machine);return new e(t)}build(){return this.machine}};function fn(e){return new te(e)}function N(e,n){let t=function(r){return n(r)?e(r):r};return t.middleware=e,t.when=n,t}function Cn(e){return N(e,()=>typeof process!="undefined"?!1:typeof window!="undefined"?!window.location.hostname.includes("production"):!1)}function gn(e,n,t){return N(t,r=>r.context[e]===n)}function mn(){let e=new Map;return{register(n,t,r,o){if(e.has(n))throw new Error(`Middleware '${n}' is already registered`);return e.set(n,{name:n,middleware:t,description:r,priority:o}),this},unregister(n){return e.delete(n)},has(n){return e.has(n)},get(n){return e.get(n)},list(){return Array.from(e.values()).sort((n,t)=>{var r,o;return((r=n.priority)!=null?r:0)-((o=t.priority)!=null?o:0)})},apply(n,t){let r=t.map(o=>{let a=e.get(o);if(!a)throw new Error(`Middleware '${o}' is not registered`);return a}).sort((o,a)=>{var i,s;return((i=o.priority)!=null?i:0)-((s=a.priority)!=null?s:0)});return k(n,...r.map(o=>o.middleware))},applyAll(n){let t=this.list();return k(n,...t.map(r=>r.middleware))}}}function Tn(e={}){let{continueOnError:n=!1,logErrors:t=!0,onError:r}=e;return(o,...a)=>{let i=o,s=[],d=!0;for(let c=0;c<a.length;c++){let u=a[c];try{if("middleware"in u&&"when"in u){if(!u.when(i))continue;i=u.middleware(i)}else i=u(i)}catch(l){if(d=!1,!n)throw l;s.push({error:l,middlewareIndex:c,middlewareName:u.name}),t&&console.error(`Pipeline middleware error at index ${c}:`,l),r==null||r(l,c,u.name)}}return{machine:i,errors:s,success:d}}}function bn(...e){return n=>k(n,...e)}function wn(e,n){return t=>{for(let[r,o]of e)if(r(t))return o(t);return n?n(t):t}}function re(e){return typeof e=="function"&&e.length===1}function En(e){return e!==null&&(typeof e=="object"||typeof e=="function")&&"middleware"in e&&"when"in e&&re(e.middleware)&&typeof e.when=="function"}function vn(e,n){return e!==null&&typeof e=="object"&&"transitionName"in e&&"prevContext"in e&&"nextContext"in e&&"args"in e&&typeof e.transitionName=="string"&&Array.isArray(e.args)&&(!n||B(e.prevContext,n)&&B(e.nextContext,n))}function An(e,n){return e!==null&&typeof e=="object"&&"transitionName"in e&&"context"in e&&"args"in e&&typeof e.transitionName=="string"&&Array.isArray(e.args)&&(!n||B(e.context,n))}function Rn(e,n){return e!==null&&typeof e=="object"&&"transitionName"in e&&"context"in e&&"args"in e&&"error"in e&&typeof e.transitionName=="string"&&Array.isArray(e.args)&&e.error instanceof Error&&(!n||B(e.context,n))}function Fn(e,n){if(e===null||typeof e!="object")return!1;let t=e;return!("before"in t&&t.before!==void 0&&typeof t.before!="function"||"after"in t&&t.after!==void 0&&typeof t.after!="function"||"error"in t&&t.error!==void 0&&typeof t.error!="function")}function Sn(e){return e===void 0||e!==null&&typeof e=="object"&&("continueOnError"in e?typeof e.continueOnError=="boolean":!0)&&("logErrors"in e?typeof e.logErrors=="boolean":!0)&&("onError"in e?typeof e.onError=="function"||e.onError===void 0:!0)}function B(e,n){return e!==null&&typeof e=="object"}function jn(e){return e!==null&&typeof e=="object"&&"name"in e&&"middleware"in e&&typeof e.name=="string"&&re(e.middleware)&&("description"in e?typeof e.description=="string"||e.description===void 0:!0)&&("priority"in e?typeof e.priority=="number"||e.priority===void 0:!0)}function Pn(e){return e===void 0||e!==null&&typeof e=="object"&&("continueOnError"in e?typeof e.continueOnError=="boolean":!0)&&("logErrors"in e?typeof e.logErrors=="boolean":!0)&&("onError"in e?typeof e.onError=="function"||e.onError===void 0:!0)}var _=class{constructor(n){this.machine=n;this.middlewares=[]}withLogging(n){return this.middlewares.push(t=>J(t,n)),this}withAnalytics(n,t){return this.middlewares.push(r=>Y(r,n,t)),this}withValidation(n,t){return this.middlewares.push(r=>Q(r,n)),this}withPermissions(n){return this.middlewares.push(t=>X(t,n)),this}withErrorReporting(n,t){return this.middlewares.push(r=>Z(r,n,t)),this}withPerformanceMonitoring(n,t){return this.middlewares.push(r=>ee(r,n)),this}withRetry(n){return this.middlewares.push(t=>ne(t,n)),this}withHistory(n){return this.middlewares.push(t=>j(t,n)),this}withSnapshot(n){return this.middlewares.push(t=>P(t,n)),this}withTimeTravel(n){return this.middlewares.push(t=>O(t,n)),this}withDebugging(){return this.middlewares.push(n=>Pe(n)),this}withCustom(n){return this.middlewares.push(n),this}withConditional(n,t){return this.middlewares.push(N(n,t)),this}build(){let n=this.machine;for(let t of this.middlewares)n=t(n);return n}getChain(){return[...this.middlewares]}clear(){return this.middlewares=[],this}};function je(e){return new _(e)}function On(e={}){return{create:n=>{let t=je(n);return e.logging&&t.withLogging(e.logging),e.analytics&&t.withAnalytics(e.analytics.track,e.analytics.options),e.history&&t.withHistory(e.history),e.snapshot&&t.withSnapshot(e.snapshot),e.timeTravel&&t.withTimeTravel(e.timeTravel),e.retry&&t.withRetry(e.retry),t}}}function Pe(e){return O(P(j(e)))}function oe(e){let n={},t=e;for(;t&&t!==Object.prototype;){let r=Object.getOwnPropertyDescriptors(t);for(let[o,a]of Object.entries(r))o!=="constructor"&&(o in n||(n[o]=a));t=Object.getPrototypeOf(t)}return n}function Oe(...e){let n=e[0];class t extends n{constructor(a){super(a)}}let r=o=>function(...a){let i=o.apply(this,a);if(i&&typeof i=="object"&&"context"in i){let s={...this.context,...i.context};return new t(s)}return i};for(let o of e){let a=oe(o.prototype);for(let[i,s]of Object.entries(a))if(i!=="constructor")if(typeof s.value=="function"){let d=s.value,c=r(d);Object.defineProperty(t.prototype,i,{...s,value:c})}else Object.defineProperty(t.prototype,i,s)}return t}function ke(e,...n){class t extends m{constructor(a){super(a)}}let r=oe(e.prototype);for(let[o,a]of Object.entries(r))if(o!=="constructor")if(typeof a.value=="function"){let i=a.value,s=function(...d){let c=i.apply(this,d);return c&&typeof c=="object"&&"context"in c?new t({...this.context,...c.context}):c};Object.defineProperty(t.prototype,o,{...a,value:s})}else Object.defineProperty(t.prototype,o,a);for(let o of n){let a=oe(o.prototype);for(let i of Object.keys(a))Object.prototype.hasOwnProperty.call(t.prototype,i)&&delete t.prototype[i]}return t}function kn(...e){let n=e.map(a=>a.constructor),t=e.map(a=>a.context),r=Object.assign({},...t),o=Oe(...n);return new o(r)}function Bn(e,...n){let t=e.constructor,r=n.map(a=>a.constructor),o=ke(t,...r);return new o(e.context)}function Be(e,n){return e instanceof n}function _e(e,...n){return{type:e,args:n}}function Ne(e,n){return E(e,t=>({...t,...n}))}async function Ke(e,...n){let t=e;for(let r of n)t=await r(t);return t}function He(e,n){return n?console.log(n,e.context):console.log(e.context),e}function Ie(e,n){return function(...t){let r=n(this.context,...t);return f(r,e())}}function ze(e,n,...t){return e.apply(n,t)}function ae(e){return new Proxy(e,{get(n,t){let r=n[t];return typeof r=="function"?function(...o){let a=r.apply(n,o);return a&&typeof a=="object"&&"context"in a?ae(a):a}:r}})}var K=class e{constructor(n){return this.wrappedMachine=n,new Proxy(this,{get:(t,r)=>{if(r==="wrappedMachine")return Reflect.get(t,r);if(r==="context")return this.wrappedMachine.context;let o=this.wrappedMachine[r];return typeof o=="function"?(...a)=>{let i=o.apply(this.wrappedMachine,a);return i&&typeof i=="object"&&"context"in i?new e(i):i}:o}})}};function $e(){return function(n){return function(...t){let r=n(this.context,...t);return f(r,this)}}}function ie(e){return{machine:e,addTransition:function(n,t){let r=function(...a){let i=t(this.context,...a);return f(i,this)},o=ce(e,{[n]:r});return ie(o)}}}function se(e){return function(t){let r={},o=Object.fromEntries(Object.entries(t).map(([a,i])=>[a,function(...s){let d=i(this.context,...s);return f(d,r)}]));return Object.assign(r,o),f(e,r)}}function We(e,n){return n!==void 0?f(e,n):se(e)}function De(...e){let n=new Map;for(let[s,d,c]of e){if(n.has(s))throw new Error(`Duplicate matcher case name: "${s}"`);n.set(s,{predicate:c})}let t=new Proxy({},{get(s,d){return function(u){let l=n.get(d);if(!l){let x=Array.from(n.keys()).join(", ");throw new Error(`Unknown matcher case: "${d}". Available cases: ${x}`)}return l.predicate(u)}}}),r=new Proxy({},{get(s,d){return function(u){if(!n.has(d)){let l=Array.from(n.keys()).join(", ");throw new Error(`Unknown matcher case: "${d}". Available cases: ${l}`)}return{__brand:"CaseHandler",__name:d,__machine:void 0,__return:void 0,handler:u}}}}),o={__exhaustive:!0};function a(s){return{is(...d){if(d.length===0)throw new Error("Pattern match requires at least one handler and exhaustiveness marker");let c=d[d.length-1];if(!c||typeof c!="object"||!("__exhaustive"in c))throw new Error("Pattern match must end with match.exhaustive for compile-time exhaustiveness checking");let u=d.slice(0,-1);for(let y of u){let M=y.__name,h=n.get(M);if(!h)throw new Error(`Internal error: Unknown matcher case in handler: ${M}`);if(h.predicate(s))return y.handler(s)}let l=u.map(y=>y.__name).join(", "),x=Array.from(n.keys()).join(", ");throw new Error(`Non-exhaustive pattern match at runtime: no handler matched the machine.
|
|
1
|
+
"use strict";var W=Object.defineProperty;var on=Object.getOwnPropertyDescriptor;var an=Object.getOwnPropertyNames;var sn=Object.prototype.hasOwnProperty;var cn=(e,n)=>{for(var t in n)W(e,t,{get:n[t],enumerable:!0})},dn=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of an(n))!sn.call(e,o)&&o!==t&&W(e,o,{get:()=>n[o],enumerable:!(r=on(n,o))||r.enumerable});return e};var un=e=>dn(W({},"__esModule",{value:!0}),e);var Ln={};cn(Ln,{Actor:()=>R,BoundMachine:()=>z,CANCEL:()=>Q,META_KEY:()=>we,MachineBase:()=>m,MachineExclude:()=>Ke,MachineUnion:()=>Ne,MiddlewareBuilder:()=>H,MultiMachineBase:()=>G,action:()=>Se,bindTransitions:()=>ce,branch:()=>Rn,call:()=>Ge,callWithContext:()=>nn,chain:()=>Tn,classCase:()=>qe,combine:()=>An,combineFactories:()=>Wn,compose:()=>mn,composeTyped:()=>N,createActor:()=>S,createAsyncMachine:()=>rn,createContext:()=>zn,createContextBoundMachine:()=>le,createCustomMiddleware:()=>gn,createEnsemble:()=>ke,createEnsembleFactory:()=>yn,createEvent:()=>Ie,createFetchMachine:()=>Cn,createFlow:()=>Ce,createFunctionalMachine:()=>ue,createMachine:()=>f,createMachineBuilder:()=>Dn,createMachineFactory:()=>In,createMatcher:()=>Le,createMiddleware:()=>C,createMiddlewareFactory:()=>Nn,createMiddlewareRegistry:()=>En,createMultiMachine:()=>Mn,createMutableMachine:()=>hn,createParallelMachine:()=>J,createPipeline:()=>vn,createRunner:()=>Oe,createTransition:()=>De,createTransitionExtender:()=>de,createTransitionFactory:()=>Ue,customCase:()=>Je,delegateToChild:()=>pn,describe:()=>ve,discriminantCase:()=>Ye,extendTransitions:()=>ye,forContext:()=>Qe,fromObservable:()=>en,fromPromise:()=>Ze,guard:()=>P,guardAsync:()=>O,guarded:()=>Ae,hasState:()=>$,inDevelopment:()=>bn,invoke:()=>Re,isConditionalMiddleware:()=>Sn,isContextBound:()=>tn,isMiddlewareContext:()=>jn,isMiddlewareError:()=>Pn,isMiddlewareFn:()=>ie,isMiddlewareHooks:()=>On,isMiddlewareOptions:()=>kn,isMiddlewareResult:()=>Fn,isNamedMiddleware:()=>_n,isPipelineConfig:()=>Bn,isState:()=>He,logState:()=>We,machineExclude:()=>Hn,machineUnion:()=>Kn,matchMachine:()=>Gn,mergeContext:()=>ze,metadata:()=>Pe,middlewareBuilder:()=>_e,next:()=>Vn,overrideTransitions:()=>$n,pipeTransitions:()=>$e,run:()=>D,runAsync:()=>me,runMachine:()=>Un,runSequence:()=>fe,runWithDebug:()=>ge,runWithEnsemble:()=>xn,runWithRunner:()=>ln,setContext:()=>v,spawn:()=>Xe,state:()=>Ve,step:()=>he,stepAsync:()=>Te,toggle:()=>fn,transitionTo:()=>Ee,when:()=>I,whenContext:()=>wn,whenGuard:()=>Fe,whenGuardAsync:()=>je,withAnalytics:()=>Z,withDebugging:()=>Be,withErrorReporting:()=>te,withHistory:()=>k,withLogging:()=>X,withPerformanceMonitoring:()=>re,withPermissions:()=>ne,withRetry:()=>oe,withSnapshot:()=>_,withTimeTravel:()=>B,withValidation:()=>ee,yieldMachine:()=>pe});module.exports=un(Ln);var Me=Symbol.for("__machine_transitions__");function b(e,n){return Object.defineProperty(e,Me,{value:n,enumerable:!1,configurable:!1}),e}function F(e){if(!(!e||typeof e!="object"))return e[Me]}function j(e){if(!e||typeof e!="object")return{};let n=Object.entries(e).filter(([t,r])=>t!=="context"&&typeof r=="function");return Object.fromEntries(n)}function D(e,n){let t=e(n),r=n;for(;;){let{value:o,done:a}=t.next(r);if(a)return o;r=o}}function he(e){return function*(){return yield e}()}function pe(e){return e}function fe(e,n){return n.reduce((t,r)=>D(r,t),e)}function Ce(e){return e}function ge(e,n,t=(r,o)=>{console.log(`Step ${r}:`,o.context)}){let r=e(n),o=n,a=0;for(t(a,o);;){let{value:i,done:s}=r.next(o);if(s)return console.log("Final:",i),i;o=i,a++,t(a,o)}}async function me(e,n){let t=e(n),r=n;for(;;){let{value:o,done:a}=await t.next(r);if(a)return o;r=o}}async function*Te(e){return yield e}var we=Symbol("MachineMeta"),be=Symbol("__machine_runtime_meta__");function w(e,n){let t=e[be]||{},r={...t,...n};n.guards&&t.guards?r.guards=[...n.guards,...t.guards]:n.guards&&(r.guards=[...n.guards]),n.actions&&t.actions?r.actions=[...n.actions,...t.actions]:n.actions&&(r.actions=[...n.actions]),Object.defineProperty(e,be,{value:r,enumerable:!1,writable:!1,configurable:!0})}function Ee(e,n){return w(n,{target:e.name||e.toString()}),n}function ve(e,n){return w(n,{description:e}),n}function Ae(e,n){return w(n,{guards:[e]}),n}function Re(e,n){return w(n,{invoke:{src:e.src,onDone:e.onDone.name||e.onDone.toString(),onError:e.onError.name||e.onError.toString(),description:e.description}}),n}function Se(e,n){return w(n,{actions:[e]}),n}function P(e,n,t={}){let{onFail:r="throw",errorMessage:o,description:a}=t,i={...t,onFail:r,errorMessage:o,description:a},s=function(...d){let c=typeof this=="object"&&"context"in this,u=c?this.context:this;if(e(u,...d)){let x=c?this:{context:this};return n.apply(x,d)}else if(r==="throw"){let x=o||"Guard condition failed";throw new Error(x)}else if(r==="ignore"){if(c)return this;throw new Error('Cannot use "ignore" mode with context-only binding. Use full machine binding or provide fallback.')}else if(typeof r=="function"){if(c)return r.apply(this,d);throw new Error("Cannot use function fallback with context-only binding. Use full machine binding.")}else return r};return Object.defineProperty(s,"__guard",{value:!0,enumerable:!1}),Object.defineProperty(s,"condition",{value:e,enumerable:!1}),Object.defineProperty(s,"transition",{value:n,enumerable:!1}),Object.defineProperty(s,"options",{value:i,enumerable:!1}),w(s,{description:a||"Synchronous guarded transition",guards:[{name:"runtime_guard",description:a||"Synchronous condition check"}]}),s}function O(e,n,t={}){let{onFail:r="throw",errorMessage:o,description:a}=t,i={...t,onFail:r,errorMessage:o,description:a},s=async function(...d){let c=typeof this=="object"&&"context"in this,u=c?this.context:this;if(await Promise.resolve(e(u,...d))){let x=c?this:{context:this};return n.apply(x,d)}else if(r==="throw"){let x=o||"Guard condition failed";throw new Error(x)}else if(r==="ignore"){if(c)return this;throw new Error('Cannot use "ignore" mode with context-only binding. Use full machine binding or provide fallback.')}else if(typeof r=="function"){if(c)return r.apply(this,d);throw new Error("Cannot use function fallback with context-only binding. Use full machine binding.")}else return r};return Object.defineProperty(s,"__guard",{value:!0,enumerable:!1}),Object.defineProperty(s,"condition",{value:e,enumerable:!1}),Object.defineProperty(s,"transition",{value:n,enumerable:!1}),Object.defineProperty(s,"options",{value:i,enumerable:!1}),w(s,{description:a||"Runtime guarded transition",guards:[{name:"runtime_guard",description:a||"Runtime condition check"}]}),s}function Fe(e){return{do(n){let t=P(e,n);return t.else=function(r){return P(e,n,{onFail:r})},t}}}function je(e){return{do(n){let t=O(e,n);return t.else=function(r){return O(e,n,{onFail:r})},t}}}function Pe(e,n){return n}function Oe(e,n){let t=e,r=s=>{t=s,n==null||n(s)},{context:o,...a}=e,i=new Proxy({},{get(s,d){let c=t[d];if(typeof c=="function")return(...u)=>{let l=c.apply(t,u),x=Object.assign({context:l.context},a);return r(x),x}}});return{get state(){return t},get context(){return t.context},actions:i,setState:r}}function ke(e,n,t){let r=()=>{let a=e.getContext(),i=t(a),s=n[i];if(!s)throw new Error(`[Ensemble] Invalid state: No factory found for state "${String(i)}".`);return s(a)},o=new Proxy({},{get(a,i){let s=r(),d=s[i];if(typeof d!="function")throw new Error(`[Ensemble] Transition "${i}" is not valid in the current state.`);return(...c)=>d.apply(s,c)}});return{get context(){return e.getContext()},get state(){return r()},actions:o}}function yn(e,n){return function(r){return ke(e,r,n)}}function ln(e,n){let t=Oe(n),r=e(t),o=r.next();for(;!o.done;)o=r.next();return o.value}function xn(e,n){let t=e(n),r=t.next();for(;!r.done;)r=t.next();return r.value}var G=class{constructor(n){this.store=n}get context(){return this.store.getContext()}setContext(n){this.store.setContext(n)}};function Mn(e,n){let t=new e(n);return new Proxy({},{get(r,o){let a=n.getContext();if(o in a)return a[o];let i=t[o];if(typeof i=="function")return(...s)=>i.apply(t,s)},set(r,o,a){let i=n.getContext();if(o in i){let s={...i,[o]:a};return n.setContext(s),!0}return!1},has(r,o){let a=n.getContext();return o in a||typeof t[o]=="function"},ownKeys(r){let o=n.getContext(),a=Object.keys(o),i=Object.getOwnPropertyNames(Object.getPrototypeOf(t)).filter(s=>s!=="constructor"&&typeof t[s]=="function");return Array.from(new Set([...a,...i]))},getOwnPropertyDescriptor(r,o){let a=n.getContext();if(o in a||typeof t[o]=="function")return{value:void 0,writable:!0,enumerable:!0,configurable:!0}}})}function hn(e,n,t){let r=()=>{let o=t(e),a=n[o];if(!a)throw new Error(`[MutableMachine] Invalid state: No factory for state "${String(o)}".`);return a(e)};return new Proxy(e,{get(o,a,i){if(a in o)return o[a];let s=r(),d=s[a];if(typeof d=="function")return(...c)=>{let u=d.apply(s,c);if(typeof u!="object"||u===null){console.warn(`[MutableMachine] Transition "${String(a)}" did not return a valid context object. State may be inconsistent.`);return}Object.keys(o).forEach(l=>delete o[l]),Object.assign(o,u)}},set(o,a,i,s){return o[a]=i,!0},has(o,a){let i=r();return a in o||typeof i[a]=="function"}})}function pn(e){return function(...n){let t=this.context.child;if(typeof t[e]=="function"){let r=t[e](...n);return v(this,{...this.context,child:r})}return this}}function fn(e){return function(){return typeof this.context[e]!="boolean"&&console.warn(`[toggle primitive] Property '${String(e)}' is not a boolean. Toggling may have unexpected results.`),v(this,{...this.context,[e]:!this.context[e]})}}var U=class extends m{constructor(t){super({status:"idle"});this.config=t;this.fetch=t=>new E(this.config,t!=null?t:this.config.initialParams,1)}},E=class extends m{constructor(t,r,o){super({status:"loading",abortController:new AbortController,attempts:o});this.config=t;this.params=r;this.succeed=t=>{var r,o;return(o=(r=this.config).onSuccess)==null||o.call(r,t),new L(this.config,{status:"success",data:t})};this.fail=t=>{var o,a,i;let r=(o=this.config.maxRetries)!=null?o:3;return this.context.attempts<r?new V(this.config,this.params,t,this.context.attempts):((i=(a=this.config).onError)==null||i.call(a,t),new q(this.config,{status:"error",error:t}))};this.cancel=()=>(this.context.abortController.abort(),new Y(this.config));this.execute()}async execute(){}},V=class extends m{constructor(t,r,o,a){super({status:"retrying",error:o,attempts:a});this.config=t;this.params=r;this.retry=t=>new E(this.config,t!=null?t:this.params,this.context.attempts+1)}},L=class extends m{constructor(t,r){super(r);this.config=t;this.refetch=t=>new E(this.config,t!=null?t:this.config.initialParams,1)}},q=class extends m{constructor(t,r){super(r);this.config=t;this.retry=t=>new E(this.config,t!=null?t:this.config.initialParams,1)}},Y=class extends m{constructor(t){super({status:"canceled"});this.config=t;this.refetch=t=>new E(this.config,t!=null?t:this.config.initialParams,1)}};function Cn(e){return new U(e)}function J(e,n){let t={...e.context,...n.context},r={...e},o={...n};delete r.context,delete o.context;let a={};for(let i in r){let s=r[i];a[i]=(...d)=>{let c=s.apply(e,d);return J(c,n)}}for(let i in o){let s=o[i];a[i]=(...d)=>{let c=s.apply(n,d);return J(e,c)}}return{context:t,...a}}var Q=Symbol("CANCEL");function C(e,n,t={}){let{continueOnError:r=!1,logErrors:o=!0,onError:a}=t,i={...e};for(let s in e)Object.prototype.hasOwnProperty.call(e,s)&&s!=="context"&&typeof e[s]!="function"&&(i[s]=e[s]);for(let s in e){if(!Object.prototype.hasOwnProperty.call(e,s))continue;let d=e[s];typeof d=="function"&&s!=="context"&&(i[s]=function(...c){let u=s,l=i.context,x=()=>{let y;try{y=d.apply(this,c)}catch(h){if(n.error)try{n.error({transitionName:u,context:l,args:[...c],error:h})}catch(p){if(!r)throw p;o&&console.error(`Middleware error hook error for ${u}:`,p),a==null||a(p,"error",{transitionName:u,context:l,args:c,error:h})}throw h}let M=h=>{if(h&&typeof h=="object"&&h.context){for(let p in i)Object.prototype.hasOwnProperty.call(i,p)&&p!=="context"&&!(p in h)&&(h[p]=i[p]);for(let p in h){if(!Object.prototype.hasOwnProperty.call(h,p))continue;typeof h[p]=="function"&&p!=="context"&&i[p]&&(h[p]=i[p])}}return h};if(y&&typeof y.then=="function")return y.then(p=>{if(M(p),n.after)try{let g=n.after({transitionName:u,prevContext:l,nextContext:p.context,args:[...c]});if(g&&typeof g.then=="function")return g.then(()=>p)}catch(g){if(!r)throw g;o&&console.error(`Middleware after hook error for ${u}:`,g),a==null||a(g,"after",{transitionName:u,prevContext:l,nextContext:p.context,args:c})}return p});if(M(y),n.after)try{let h=n.after({transitionName:u,prevContext:l,nextContext:y.context,args:[...c]});if(h&&typeof h=="object"&&h&&"then"in h)return h.then(()=>y).catch(p=>{if(!r)throw p;return o&&console.error(`Middleware after hook error for ${u}:`,p),a==null||a(p,"after",{transitionName:u,prevContext:l,nextContext:y.context,args:c}),y})}catch(h){if(!r)throw h;o&&console.error(`Middleware after hook error for ${u}:`,h),a==null||a(h,"after",{transitionName:u,prevContext:l,nextContext:y.context,args:c})}return y};if(n.before)try{let y=n.before({transitionName:u,context:l,args:[...c]});if(y&&typeof y=="object"&&y&&"then"in y)return y.then(M=>M===Q?i:x()).catch(M=>{if(!r)throw M;return o&&console.error(`Middleware before hook error for ${u}:`,M),a==null||a(M,"before",{transitionName:u,context:l,args:c}),x()});if(y===Q)return i}catch(y){if(!r)throw y;o&&console.error(`Middleware before hook error for ${u}:`,y),a==null||a(y,"before",{transitionName:u,context:l,args:c})}return x()})}return i}function X(e,n={}){let{logger:t=console.log,includeArgs:r=!1,includeContext:o=!0}=n;return C(e,{before:({transitionName:a,args:i})=>{let s=r?`→ ${a} [${i.join(", ")}]`:`→ ${a}`;t(s)},after:({transitionName:a,nextContext:i})=>{let s=o?` ${JSON.stringify(i)}`:"";t(`✓ ${a}${s}`)},error:({transitionName:a,error:i})=>{console.error(`[Machine] ${a} failed:`,i)}})}function Z(e,n,t={}){let{eventPrefix:r="state_transition",includePrevContext:o=!1,includeArgs:a=!1}=t;return C(e,{after:({transitionName:i,prevContext:s,nextContext:d,args:c})=>{let u=`${r}.${i}`,l={transition:i};o&&(l.from=s),l.to=d,a&&(l.args=c),n(u,l)}})}function ee(e,n){return C(e,{before:t=>{if(n(t)===!1)throw new Error(`Validation failed for transition: ${t.transitionName}`)}})}function ne(e,n){return C(e,{before:t=>{if(!n(t))throw new Error(`Unauthorized transition: ${t.transitionName}`)}})}function te(e,n,t={}){let{includeArgs:r=!1}=t;return C(e,{error:o=>{let a={transition:o.transitionName,context:o.context,...r&&{args:o.args}};n(o.error,a)}})}function re(e,n){let t=new Map;return C(e,{before:r=>{t.set(r.transitionName,Date.now())},after:r=>{let o=t.get(r.transitionName);if(o){let a=Date.now()-o;t.delete(r.transitionName);let i={transitionName:r.transitionName,duration:a,context:r.nextContext||r.prevContext};n(i)}}})}function oe(e,n={}){var d,c;let{maxAttempts:t=(d=n.maxRetries)!=null?d:3,shouldRetry:r=()=>!0,backoffMs:o=(c=n.delay)!=null?c:100,backoffMultiplier:a=2,onRetry:i}=n,s={...e};for(let u in e){if(!Object.prototype.hasOwnProperty.call(e,u))continue;let l=e[u];typeof l=="function"&&u!=="context"&&(s[u]=async function(...x){let y,M=0;for(;M<t;)try{return await l.apply(this,x)}catch(h){if(y=h,M++,M<t&&r(y,M)){i==null||i(y,M);let g=(typeof o=="function"?o(M):o)*Math.pow(a,M-1);await new Promise(T=>setTimeout(T,g))}else throw y}throw y})}return s}function gn(e,n){return t=>C(t,e,n)}function k(e,n={}){let{maxSize:t,serializer:r,onEntry:o}=n,a=[],i=0,s=C(e,{before:({transitionName:d,args:c})=>{let u={id:`entry-${i++}`,transitionName:d,args:[...c],timestamp:Date.now()};if(r)try{u.serializedArgs=r.serialize(c)}catch(l){console.error("Failed to serialize history args:",l)}a.push(u),t&&a.length>t&&a.shift(),o==null||o(u)}});return Object.assign(s,{history:a,clearHistory:()=>{a.length=0,i=0}})}function _(e,n={}){let{maxSize:t,serializer:r,captureSnapshot:o,onlyOnChange:a=!1}=n,i=[],s=0,d=C(e,{after:({transitionName:u,prevContext:l,nextContext:x})=>{if(a&&JSON.stringify(l)===JSON.stringify(x))return;let y={id:`snapshot-${s++}`,transitionName:u,before:{...l},after:{...x},timestamp:Date.now()};if(r)try{y.serializedBefore=r.serialize(l),y.serializedAfter=r.serialize(x)}catch(M){console.error("Failed to serialize snapshot:",M)}if(o)try{y.diff=o(l,x)}catch(M){console.error("Failed to capture snapshot:",M)}i.push(y),t&&i.length>t&&i.shift()}});return Object.assign(d,{snapshots:i,clearSnapshots:()=>{i.length=0,s=0},restoreSnapshot:u=>{let l=Object.fromEntries(Object.entries(e).filter(([x])=>x!=="context"&&x!=="snapshots"&&x!=="clearSnapshots"&&x!=="restoreSnapshot"&&typeof e[x]=="function"));return Object.assign({context:u},l)}})}function B(e,n={}){let{maxSize:t,serializer:r,onRecord:o}=n,a=[],i=[],s=0,d=0,c=C(e,{before:({transitionName:x,args:y})=>{let M={id:`entry-${s++}`,transitionName:x,args:[...y],timestamp:Date.now()};if(r)try{M.serializedArgs=r.serialize(y)}catch(h){console.error("Failed to serialize history args:",h)}a.push(M),t&&a.length>t&&a.shift(),o==null||o("history",M)},after:({transitionName:x,prevContext:y,nextContext:M})=>{let h={id:`snapshot-${d++}`,transitionName:x,before:{...y},after:{...M},timestamp:Date.now()};if(r)try{h.serializedBefore=r.serialize(y),h.serializedAfter=r.serialize(M)}catch(p){console.error("Failed to serialize snapshot:",p)}i.push(h),t&&i.length>t&&i.shift(),o==null||o("snapshot",h)}});return Object.assign(c,{history:a,snapshots:i,clearHistory:()=>{a.length=0,s=0},clearSnapshots:()=>{i.length=0,d=0},clearTimeTravel:()=>{a.length=0,i.length=0,s=0,d=0},restoreSnapshot:x=>{let y=Object.fromEntries(Object.entries(e).filter(([M])=>M!=="context"&&M!=="history"&&M!=="snapshots"&&M!=="clearHistory"&&M!=="clearSnapshots"&&M!=="restoreSnapshot"&&M!=="clearTimeTravel"&&M!=="replayFrom"&&typeof e[M]=="function"));return Object.assign({context:x},y)},replayFrom:x=>{var g;if(x<0||x>=a.length)throw new Error(`Invalid replay start index: ${x}`);let y=(g=i[x])==null?void 0:g.before;if(!y)throw new Error(`No snapshot available for index ${x}`);let M=a.slice(x),p=Object.assign({context:y},Object.fromEntries(Object.entries(e).filter(([T])=>T!=="context"&&typeof e[T]=="function")));for(let T of M){let xe=p[T.transitionName];xe&&(p=xe.apply(p,T.args))}return p}})}function mn(e,...n){return n.reduce((t,r)=>r(t),e)}function N(e,...n){return n.reduce((t,r)=>r(t),e)}var ae=class e{constructor(n){this.machine=n}with(n){let t=n(this.machine);return new e(t)}build(){return this.machine}};function Tn(e){return new ae(e)}function I(e,n){let t=function(r){return n(r)?e(r):r};return t.middleware=e,t.when=n,t}function bn(e){return I(e,()=>typeof process!="undefined"?!1:typeof window!="undefined"?!window.location.hostname.includes("production"):!1)}function wn(e,n,t){return I(t,r=>r.context[e]===n)}function En(){let e=new Map;return{register(n,t,r,o){if(e.has(n))throw new Error(`Middleware '${n}' is already registered`);return e.set(n,{name:n,middleware:t,description:r,priority:o}),this},unregister(n){return e.delete(n)},has(n){return e.has(n)},get(n){return e.get(n)},list(){return Array.from(e.values()).sort((n,t)=>{var r,o;return((r=n.priority)!=null?r:0)-((o=t.priority)!=null?o:0)})},apply(n,t){let r=t.map(o=>{let a=e.get(o);if(!a)throw new Error(`Middleware '${o}' is not registered`);return a}).sort((o,a)=>{var i,s;return((i=o.priority)!=null?i:0)-((s=a.priority)!=null?s:0)});return N(n,...r.map(o=>o.middleware))},applyAll(n){let t=this.list();return N(n,...t.map(r=>r.middleware))}}}function vn(e={}){let{continueOnError:n=!1,logErrors:t=!0,onError:r}=e;return(o,...a)=>{let i=o,s=[],d=!0;for(let c=0;c<a.length;c++){let u=a[c];try{if("middleware"in u&&"when"in u){if(!u.when(i))continue;i=u.middleware(i)}else i=u(i)}catch(l){if(d=!1,!n)throw l;s.push({error:l,middlewareIndex:c,middlewareName:u.name}),t&&console.error(`Pipeline middleware error at index ${c}:`,l),r==null||r(l,c,u.name)}}return{machine:i,errors:s,success:d}}}function An(...e){return n=>N(n,...e)}function Rn(e,n){return t=>{for(let[r,o]of e)if(r(t))return o(t);return n?n(t):t}}function ie(e){return typeof e=="function"&&e.length===1}function Sn(e){return e!==null&&(typeof e=="object"||typeof e=="function")&&"middleware"in e&&"when"in e&&ie(e.middleware)&&typeof e.when=="function"}function Fn(e,n){return e!==null&&typeof e=="object"&&"transitionName"in e&&"prevContext"in e&&"nextContext"in e&&"args"in e&&typeof e.transitionName=="string"&&Array.isArray(e.args)&&(!n||K(e.prevContext,n)&&K(e.nextContext,n))}function jn(e,n){return e!==null&&typeof e=="object"&&"transitionName"in e&&"context"in e&&"args"in e&&typeof e.transitionName=="string"&&Array.isArray(e.args)&&(!n||K(e.context,n))}function Pn(e,n){return e!==null&&typeof e=="object"&&"transitionName"in e&&"context"in e&&"args"in e&&"error"in e&&typeof e.transitionName=="string"&&Array.isArray(e.args)&&e.error instanceof Error&&(!n||K(e.context,n))}function On(e,n){if(e===null||typeof e!="object")return!1;let t=e;return!("before"in t&&t.before!==void 0&&typeof t.before!="function"||"after"in t&&t.after!==void 0&&typeof t.after!="function"||"error"in t&&t.error!==void 0&&typeof t.error!="function")}function kn(e){return e===void 0||e!==null&&typeof e=="object"&&("continueOnError"in e?typeof e.continueOnError=="boolean":!0)&&("logErrors"in e?typeof e.logErrors=="boolean":!0)&&("onError"in e?typeof e.onError=="function"||e.onError===void 0:!0)}function K(e,n){return e!==null&&typeof e=="object"}function _n(e){return e!==null&&typeof e=="object"&&"name"in e&&"middleware"in e&&typeof e.name=="string"&&ie(e.middleware)&&("description"in e?typeof e.description=="string"||e.description===void 0:!0)&&("priority"in e?typeof e.priority=="number"||e.priority===void 0:!0)}function Bn(e){return e===void 0||e!==null&&typeof e=="object"&&("continueOnError"in e?typeof e.continueOnError=="boolean":!0)&&("logErrors"in e?typeof e.logErrors=="boolean":!0)&&("onError"in e?typeof e.onError=="function"||e.onError===void 0:!0)}var H=class{constructor(n){this.machine=n;this.middlewares=[]}withLogging(n){return this.middlewares.push(t=>X(t,n)),this}withAnalytics(n,t){return this.middlewares.push(r=>Z(r,n,t)),this}withValidation(n,t){return this.middlewares.push(r=>ee(r,n)),this}withPermissions(n){return this.middlewares.push(t=>ne(t,n)),this}withErrorReporting(n,t){return this.middlewares.push(r=>te(r,n,t)),this}withPerformanceMonitoring(n,t){return this.middlewares.push(r=>re(r,n)),this}withRetry(n){return this.middlewares.push(t=>oe(t,n)),this}withHistory(n){return this.middlewares.push(t=>k(t,n)),this}withSnapshot(n){return this.middlewares.push(t=>_(t,n)),this}withTimeTravel(n){return this.middlewares.push(t=>B(t,n)),this}withDebugging(){return this.middlewares.push(n=>Be(n)),this}withCustom(n){return this.middlewares.push(n),this}withConditional(n,t){return this.middlewares.push(I(n,t)),this}build(){let n=this.machine;for(let t of this.middlewares)n=t(n);return n}getChain(){return[...this.middlewares]}clear(){return this.middlewares=[],this}};function _e(e){return new H(e)}function Nn(e={}){return{create:n=>{let t=_e(n);return e.logging&&t.withLogging(e.logging),e.analytics&&t.withAnalytics(e.analytics.track,e.analytics.options),e.history&&t.withHistory(e.history),e.snapshot&&t.withSnapshot(e.snapshot),e.timeTravel&&t.withTimeTravel(e.timeTravel),e.retry&&t.withRetry(e.retry),t}}}function Be(e){return B(_(k(e)))}function se(e){let n={},t=e;for(;t&&t!==Object.prototype;){let r=Object.getOwnPropertyDescriptors(t);for(let[o,a]of Object.entries(r))o!=="constructor"&&(o in n||(n[o]=a));t=Object.getPrototypeOf(t)}return n}function Ne(...e){let n=e[0];class t extends n{constructor(a){super(a)}}let r=o=>function(...a){let i=o.apply(this,a);if(i&&typeof i=="object"&&"context"in i){let s={...this.context,...i.context};return new t(s)}return i};for(let o of e){let a=se(o.prototype);for(let[i,s]of Object.entries(a))if(i!=="constructor")if(typeof s.value=="function"){let d=s.value,c=r(d);Object.defineProperty(t.prototype,i,{...s,value:c})}else Object.defineProperty(t.prototype,i,s)}return t}function Ke(e,...n){class t extends m{constructor(a){super(a)}}let r=se(e.prototype);for(let[o,a]of Object.entries(r))if(o!=="constructor")if(typeof a.value=="function"){let i=a.value,s=function(...d){let c=i.apply(this,d);return c&&typeof c=="object"&&"context"in c?new t({...this.context,...c.context}):c};Object.defineProperty(t.prototype,o,{...a,value:s})}else Object.defineProperty(t.prototype,o,a);for(let o of n){let a=se(o.prototype);for(let i of Object.keys(a))Object.prototype.hasOwnProperty.call(t.prototype,i)&&delete t.prototype[i]}return t}function Kn(...e){let n=e.map(a=>a.constructor),t=e.map(a=>a.context),r=Object.assign({},...t),o=Ne(...n);return new o(r)}function Hn(e,...n){let t=e.constructor,r=n.map(a=>a.constructor),o=Ke(t,...r);return new o(e.context)}function He(e,n){return e instanceof n}function Ie(e,...n){return{type:e,args:n}}function ze(e,n){return v(e,t=>({...t,...n}))}async function $e(e,...n){let t=e;for(let r of n)t=await r(t);return t}function We(e,n){return n?console.log(n,e.context):console.log(e.context),e}function De(e,n){return function(...t){let r=n(this.context,...t);return f(r,e())}}function Ge(e,n,...t){return e.apply(n,t)}function ce(e){return new Proxy(e,{get(n,t){let r=n[t];return typeof r=="function"?function(...o){let a=r.apply(n,o);return a&&typeof a=="object"&&"context"in a?ce(a):a}:r}})}var z=class e{constructor(n){return this.wrappedMachine=n,new Proxy(this,{get:(t,r)=>{if(r==="wrappedMachine")return Reflect.get(t,r);if(r==="context")return this.wrappedMachine.context;let o=this.wrappedMachine[r];return typeof o=="function"?(...a)=>{let i=o.apply(this.wrappedMachine,a);return i&&typeof i=="object"&&"context"in i?new e(i):i}:o}})}};function Ue(){return function(n){return function(...t){let r=n(this.context,...t);return f(r,this)}}}function de(e){return{machine:e,addTransition:function(n,t){let r=function(...a){let i=t(this.context,...a);return f(i,this)},o=ye(e,{[n]:r});return de(o)}}}function ue(e){return function(t){let r={},o=Object.fromEntries(Object.entries(t).map(([a,i])=>[a,function(...s){let d=i(this.context,...s);return f(d,r)}]));return Object.assign(r,o),f(e,r)}}function Ve(e,n){return n!==void 0?f(e,n):ue(e)}function Le(...e){let n=new Map;for(let[s,d,c]of e){if(n.has(s))throw new Error(`Duplicate matcher case name: "${s}"`);n.set(s,{predicate:c})}let t=new Proxy({},{get(s,d){return function(u){let l=n.get(d);if(!l){let x=Array.from(n.keys()).join(", ");throw new Error(`Unknown matcher case: "${d}". Available cases: ${x}`)}return l.predicate(u)}}}),r=new Proxy({},{get(s,d){return function(u){if(!n.has(d)){let l=Array.from(n.keys()).join(", ");throw new Error(`Unknown matcher case: "${d}". Available cases: ${l}`)}return{__brand:"CaseHandler",__name:d,__machine:void 0,__return:void 0,handler:u}}}}),o={__exhaustive:!0};function a(s){return{is(...d){if(d.length===0)throw new Error("Pattern match requires at least one handler and exhaustiveness marker");let c=d[d.length-1];if(!c||typeof c!="object"||!("__exhaustive"in c))throw new Error("Pattern match must end with match.exhaustive for compile-time exhaustiveness checking");let u=d.slice(0,-1);for(let y of u){let M=y.__name,h=n.get(M);if(!h)throw new Error(`Internal error: Unknown matcher case in handler: ${M}`);if(h.predicate(s))return y.handler(s)}let l=u.map(y=>y.__name).join(", "),x=Array.from(n.keys()).join(", ");throw new Error(`Non-exhaustive pattern match at runtime: no handler matched the machine.
|
|
2
2
|
Handled cases: [${l}]
|
|
3
3
|
All cases: [${x}]
|
|
4
|
-
This may occur if predicates don't cover all runtime possibilities.`)}}}function i(s){for(let[d,c,u]of e)if(u(s))return d;return null}return Object.assign(i,{is:t,when:a,case:r,exhaustive:o})}function
|
|
4
|
+
This may occur if predicates don't cover all runtime possibilities.`)}}}function i(s){for(let[d,c,u]of e)if(u(s))return d;return null}return Object.assign(i,{is:t,when:a,case:r,exhaustive:o})}function qe(e,n){return[e,void 0,t=>t instanceof n]}function Ye(e,n,t){return[e,void 0,r=>$(r,n,t)]}function Je(e,n){return[e,void 0,n]}function Qe(){return{case(e,n,t){return[e,void 0,r=>$(r,n,t)]}}}var A=class A{constructor(n){this._observers=new Set;this._queue=[];this._processing=!1;this._state=n,this.ref={send:t=>this.dispatch(t)},this.send=new Proxy({},{get:(t,r)=>(...o)=>{this.dispatch({type:r,args:o})}})}static inspect(n){A._inspector=n}getSnapshot(){return this._state}subscribe(n){return this._observers.add(n),()=>{this._observers.delete(n)}}select(n){return n(this._state)}start(){return this}stop(){this._observers.clear()}dispatch(n){if(A._inspector&&A._inspector({type:"@actor/send",actor:this,event:n,snapshot:this._state}),this._processing){this._queue.push(n);return}this._processing=!0,this._queue.push(n),this._flush()}_flush(){for(;this._queue.length>0;){let n=this._queue[0];this._queue.shift();let r=this._state[n.type];if(typeof r!="function"){console.warn(`[Actor] Transition '${String(n.type)}' not found.`);continue}let o;try{o=r.apply(this._state,n.args)}catch(a){console.error(`[Actor] Error in transition '${String(n.type)}':`,a);continue}if(o instanceof Promise){o.then(a=>{this._state=a,this._notify(),this._flush()}).catch(a=>{console.error(`[Actor] Async error in transition '${String(n.type)}':`,a),this._flush()});return}else this._state=o,this._notify()}this._processing=!1}_notify(){let n=this.getSnapshot();this._observers.forEach(t=>t(n))}};A._inspector=null;var R=A;function S(e){return new R(e)}function Xe(e){return S(e)}function Ze(e){let t=f({status:"pending",data:void 0,error:void 0},o=>({resolve(a){return o({status:"resolved",data:a,error:void 0})},reject(a){return o({status:"rejected",error:a,data:void 0})}})),r=S(t);return e().then(o=>r.send.resolve(o)).catch(o=>r.send.reject(o)),r}function en(e){let t=f({status:"active",value:void 0,error:void 0},o=>({next(a){return o({status:"active",value:a,error:void 0})},error(a){return o({status:"error",error:a,value:void 0})},complete(){return o({status:"done",value:void 0,error:void 0})}})),r=S(t);return e.subscribe(o=>r.send.next(o),o=>r.send.error(o),()=>r.send.complete()),r}function le(e,n){let t=n,r=Object.fromEntries(Object.entries(n).map(([o,a])=>[o,function(...i){let s={context:this.context},d=a.apply(s,i);return le(d,t)}]));return Object.values(r).forEach(o=>{typeof o=="function"&&Object.defineProperty(o,"__contextBound",{value:!0,enumerable:!1})}),b(Object.assign({context:e},r),r)}function nn(e,n,...t){let r=e[n],o={context:e.context};return r.apply(o,t)}function tn(e){let n=Object.values(e).find(t=>typeof t=="function");return n?n.__contextBound===!0:!1}function f(e,n){if(typeof n=="function"){let a;return a=n(s=>f(s,a)),b(Object.assign({context:e},a),a)}let t=F(n),r=t!=null?t:"context"in n?j(n):n,o=Object.assign({context:e},r);return b(o,r)}function rn(e,n){if(typeof n=="function"){let a;return a=n(s=>rn(s,a)),b(Object.assign({context:e},a),a)}let t=F(n),r=t!=null?t:"context"in n?j(n):n,o=Object.assign({context:e},r);return b(o,r)}function In(){return e=>{let n=Object.fromEntries(Object.entries(e).map(([t,r])=>[t,function(...o){let a=r(this.context,...o);return f(a,n)}]));return t=>f(t,n)}}function v(e,n){var a;let t=e.context,r=(a=F(e))!=null?a:j(e),o=typeof n=="function"?n(t):n;return f(o,r)}function zn(e){return{context:e}}function $n(e,n){let{context:t,...r}=e,o={...r,...n};return f(t,o)}function ye(e,n){let{context:t,...r}=e,o={...r,...n};return f(t,o)}function Wn(e,n){return(...t)=>{let r=e(...t),o=n(),a={...r.context,...o.context},{context:i,...s}=r,{context:d,...c}=o,u={...s,...c};return f(a,u)}}function Dn(e){let{context:n,...t}=e;return r=>f(r,t)}function Gn(e,n,t){let r=e.context[n],o=t[r];if(!o)throw new Error(`No handler found for state: ${String(r)}`);return o(e.context)}function $(e,n,t){return e.context[n]===t}function Un(e,n){let t=e,r=null;async function o(a){r&&(r.abort(),r=null);let i=t[a.type];if(typeof i!="function")throw new Error(`[Machine] Unknown event type '${String(a.type)}' on current state.`);let s=new AbortController;r=s;try{let c=await i.apply(t,[...a.args,{signal:s.signal}]);return s.signal.aborted||(t=c,n==null||n(t)),t}finally{r===s&&(r=null)}}return{get state(){return t.context},dispatch:o,stop:()=>{r&&(r.abort(),r=null)}}}var m=class{constructor(n){this.context=n}};function Vn(e,n){return v(e,t=>n(t))}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var G=Object.defineProperty;var Qe=Object.getOwnPropertyDescriptor;var Xe=Object.getOwnPropertyNames;var Ze=Object.prototype.hasOwnProperty;var et=(e,t)=>{for(var n in t)G(e,n,{get:t[n],enumerable:!0})},tt=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Xe(t))!Ze.call(e,o)&&o!==n&&G(e,o,{get:()=>t[o],enumerable:!(r=Qe(t,o))||r.enumerable});return e};var nt=e=>tt(G({},"__esModule",{value:!0}),e);var jt={};et(jt,{BoundMachine:()=>N,CANCEL:()=>q,META_KEY:()=>ge,MachineBase:()=>T,MiddlewareBuilder:()=>k,MultiMachineBase:()=>H,action:()=>we,bindTransitions:()=>oe,branch:()=>Ct,call:()=>Ne,chain:()=>lt,combine:()=>gt,combineFactories:()=>He,compose:()=>yt,composeTyped:()=>O,createAsyncMachine:()=>se,createCustomMiddleware:()=>Mt,createEnsemble:()=>R,createEnsembleFactory:()=>rt,createEvent:()=>Pe,createFetchMachine:()=>ut,createFlow:()=>le,createFunctionalMachine:()=>ae,createMachine:()=>g,createMachineBuilder:()=>$e,createMachineContext:()=>qe,createMachineFactory:()=>Ge,createMiddleware:()=>C,createMiddlewareFactory:()=>Rt,createMiddlewareRegistry:()=>ft,createMultiMachine:()=>at,createMutableMachine:()=>st,createParallelMachine:()=>U,createPipeline:()=>pt,createRunner:()=>Fe,createTransition:()=>Ke,createTransitionExtender:()=>ie,createTransitionFactory:()=>ze,delegateToChild:()=>ct,describe:()=>me,extendTransitions:()=>z,guard:()=>S,guardAsync:()=>F,guarded:()=>Te,hasState:()=>Ve,inDevelopment:()=>xt,invoke:()=>be,isConditionalMiddleware:()=>mt,isMiddlewareContext:()=>bt,isMiddlewareError:()=>wt,isMiddlewareFn:()=>re,isMiddlewareHooks:()=>Et,isMiddlewareOptions:()=>At,isMiddlewareResult:()=>Tt,isNamedMiddleware:()=>St,isPipelineConfig:()=>Ft,isState:()=>ve,logState:()=>ke,matchMachine:()=>De,mergeContext:()=>Oe,metadata:()=>Se,middlewareBuilder:()=>Re,next:()=>Ie,overrideTransitions:()=>We,pipeTransitions:()=>Be,run:()=>W,runAsync:()=>he,runMachine:()=>_,runSequence:()=>ye,runWithDebug:()=>xe,runWithEnsemble:()=>it,runWithRunner:()=>ot,setContext:()=>A,state:()=>_e,step:()=>ue,stepAsync:()=>fe,toggle:()=>dt,transitionTo:()=>Ce,useActor:()=>Ye,useActorSelector:()=>Je,useEnsemble:()=>Ue,useMachine:()=>Le,useMachineSelector:()=>ce,when:()=>K,whenContext:()=>ht,whenGuard:()=>Ee,whenGuardAsync:()=>Ae,withAnalytics:()=>J,withDebugging:()=>je,withErrorReporting:()=>Z,withHistory:()=>j,withLogging:()=>Y,withPerformanceMonitoring:()=>ee,withPermissions:()=>X,withRetry:()=>te,withSnapshot:()=>v,withTimeTravel:()=>P,withValidation:()=>Q,yieldMachine:()=>Me});module.exports=nt(jt);function W(e,t){let n=e(t),r=t;for(;;){let{value:o,done:i}=n.next(r);if(i)return o;r=o}}function ue(e){return function*(){return yield e}()}function Me(e){return e}function ye(e,t){return t.reduce((n,r)=>W(r,n),e)}function le(e){return e}function xe(e,t,n=(r,o)=>{console.log(`Step ${r}:`,o.context)}){let r=e(t),o=t,i=0;for(n(i,o);;){let{value:a,done:s}=r.next(o);if(s)return console.log("Final:",a),a;o=a,i++,n(i,o)}}async function he(e,t){let n=e(t),r=t;for(;;){let{value:o,done:i}=await n.next(r);if(i)return o;r=o}}async function*fe(e){return yield e}var ge=Symbol("MachineMeta"),pe=Symbol("__machine_runtime_meta__");function w(e,t){let n=e[pe]||{},r={...n,...t};t.guards&&n.guards?r.guards=[...t.guards,...n.guards]:t.guards&&(r.guards=[...t.guards]),t.actions&&n.actions?r.actions=[...t.actions,...n.actions]:t.actions&&(r.actions=[...t.actions]),Object.defineProperty(e,pe,{value:r,enumerable:!1,writable:!1,configurable:!0})}function Ce(e,t){return w(t,{target:e.name||e.toString()}),t}function me(e,t){return w(t,{description:e}),t}function Te(e,t){return w(t,{guards:[e]}),t}function be(e,t){return w(t,{invoke:{src:e.src,onDone:e.onDone.name||e.onDone.toString(),onError:e.onError.name||e.onError.toString(),description:e.description}}),t}function we(e,t){return w(t,{actions:[e]}),t}function S(e,t,n={}){let{onFail:r="throw",errorMessage:o,description:i}=n,a={...n,onFail:r,errorMessage:o,description:i},s=function(...u){let c=typeof this=="object"&&"context"in this,d=c?this.context:this;if(e(d,...u)){let y=c?this:{context:this};return t.apply(y,u)}else if(r==="throw"){let y=o||"Guard condition failed";throw new Error(y)}else if(r==="ignore"){if(c)return this;throw new Error('Cannot use "ignore" mode with context-only binding. Use full machine binding or provide fallback.')}else if(typeof r=="function"){if(c)return r.apply(this,u);throw new Error("Cannot use function fallback with context-only binding. Use full machine binding.")}else return r};return Object.defineProperty(s,"__guard",{value:!0,enumerable:!1}),Object.defineProperty(s,"condition",{value:e,enumerable:!1}),Object.defineProperty(s,"transition",{value:t,enumerable:!1}),Object.defineProperty(s,"options",{value:a,enumerable:!1}),w(s,{description:i||"Synchronous guarded transition",guards:[{name:"runtime_guard",description:i||"Synchronous condition check"}]}),s}function F(e,t,n={}){let{onFail:r="throw",errorMessage:o,description:i}=n,a={...n,onFail:r,errorMessage:o,description:i},s=async function(...u){let c=typeof this=="object"&&"context"in this,d=c?this.context:this;if(await Promise.resolve(e(d,...u))){let y=c?this:{context:this};return t.apply(y,u)}else if(r==="throw"){let y=o||"Guard condition failed";throw new Error(y)}else if(r==="ignore"){if(c)return this;throw new Error('Cannot use "ignore" mode with context-only binding. Use full machine binding or provide fallback.')}else if(typeof r=="function"){if(c)return r.apply(this,u);throw new Error("Cannot use function fallback with context-only binding. Use full machine binding.")}else return r};return Object.defineProperty(s,"__guard",{value:!0,enumerable:!1}),Object.defineProperty(s,"condition",{value:e,enumerable:!1}),Object.defineProperty(s,"transition",{value:t,enumerable:!1}),Object.defineProperty(s,"options",{value:a,enumerable:!1}),w(s,{description:i||"Runtime guarded transition",guards:[{name:"runtime_guard",description:i||"Runtime condition check"}]}),s}function Ee(e){return{do(t){let n=S(e,t);return n.else=function(r){return S(e,t,{onFail:r})},n}}}function Ae(e){return{do(t){let n=F(e,t);return n.else=function(r){return F(e,t,{onFail:r})},n}}}function Se(e,t){return t}function Fe(e,t){let n=e,r=s=>{n=s,t==null||t(s)},{context:o,...i}=e,a=new Proxy({},{get(s,u){let c=n[u];if(typeof c=="function")return(...d)=>{let l=c.apply(n,d),y=Object.assign({context:l.context},i);return r(y),y}}});return{get state(){return n},get context(){return n.context},actions:a,setState:r}}function R(e,t,n){let r=()=>{let i=e.getContext(),a=n(i),s=t[a];if(!s)throw new Error(`[Ensemble] Invalid state: No factory found for state "${String(a)}".`);return s(i)},o=new Proxy({},{get(i,a){let s=r(),u=s[a];if(typeof u!="function")throw new Error(`[Ensemble] Transition "${a}" is not valid in the current state.`);return(...c)=>u.apply(s,c)}});return{get context(){return e.getContext()},get state(){return r()},actions:o}}function rt(e,t){return function(r){return R(e,r,t)}}function ot(e,t){let n=Fe(t),r=e(n),o=r.next();for(;!o.done;)o=r.next();return o.value}function it(e,t){let n=e(t),r=n.next();for(;!r.done;)r=n.next();return r.value}var H=class{constructor(t){this.store=t}get context(){return this.store.getContext()}setContext(t){this.store.setContext(t)}};function at(e,t){let n=new e(t);return new Proxy({},{get(r,o){let i=t.getContext();if(o in i)return i[o];let a=n[o];if(typeof a=="function")return(...s)=>a.apply(n,s)},set(r,o,i){let a=t.getContext();if(o in a){let s={...a,[o]:i};return t.setContext(s),!0}return!1},has(r,o){let i=t.getContext();return o in i||typeof n[o]=="function"},ownKeys(r){let o=t.getContext(),i=Object.keys(o),a=Object.getOwnPropertyNames(Object.getPrototypeOf(n)).filter(s=>s!=="constructor"&&typeof n[s]=="function");return Array.from(new Set([...i,...a]))},getOwnPropertyDescriptor(r,o){let i=t.getContext();if(o in i||typeof n[o]=="function")return{value:void 0,writable:!0,enumerable:!0,configurable:!0}}})}function st(e,t,n){let r=()=>{let o=n(e),i=t[o];if(!i)throw new Error(`[MutableMachine] Invalid state: No factory for state "${String(o)}".`);return i(e)};return new Proxy(e,{get(o,i,a){if(i in o)return o[i];let s=r(),u=s[i];if(typeof u=="function")return(...c)=>{let d=u.apply(s,c);if(typeof d!="object"||d===null){console.warn(`[MutableMachine] Transition "${String(i)}" did not return a valid context object. State may be inconsistent.`);return}Object.keys(o).forEach(l=>delete o[l]),Object.assign(o,d)}},set(o,i,a,s){return o[i]=a,!0},has(o,i){let a=r();return i in o||typeof a[i]=="function"}})}function ct(e){return function(...t){let n=this.context.child;if(typeof n[e]=="function"){let r=n[e](...t);return A(this,{...this.context,child:r})}return this}}function dt(e){return function(){return typeof this.context[e]!="boolean"&&console.warn(`[toggle primitive] Property '${String(e)}' is not a boolean. Toggling may have unexpected results.`),A(this,{...this.context,[e]:!this.context[e]})}}var $=class extends T{constructor(n){super({status:"idle"});this.config=n;this.fetch=n=>new E(this.config,n!=null?n:this.config.initialParams,1)}},E=class extends T{constructor(n,r,o){super({status:"loading",abortController:new AbortController,attempts:o});this.config=n;this.params=r;this.succeed=n=>{var r,o;return(o=(r=this.config).onSuccess)==null||o.call(r,n),new V(this.config,{status:"success",data:n})};this.fail=n=>{var o,i,a;let r=(o=this.config.maxRetries)!=null?o:3;return this.context.attempts<r?new D(this.config,this.params,n,this.context.attempts):((a=(i=this.config).onError)==null||a.call(i,n),new I(this.config,{status:"error",error:n}))};this.cancel=()=>(this.context.abortController.abort(),new L(this.config));this.execute()}async execute(){}},D=class extends T{constructor(n,r,o,i){super({status:"retrying",error:o,attempts:i});this.config=n;this.params=r;this.retry=n=>new E(this.config,n!=null?n:this.params,this.context.attempts+1)}},V=class extends T{constructor(n,r){super(r);this.config=n;this.refetch=n=>new E(this.config,n!=null?n:this.config.initialParams,1)}},I=class extends T{constructor(n,r){super(r);this.config=n;this.retry=n=>new E(this.config,n!=null?n:this.config.initialParams,1)}},L=class extends T{constructor(n){super({status:"canceled"});this.config=n;this.refetch=n=>new E(this.config,n!=null?n:this.config.initialParams,1)}};function ut(e){return new $(e)}function U(e,t){let n={...e.context,...t.context},r={...e},o={...t};delete r.context,delete o.context;let i={};for(let a in r){let s=r[a];i[a]=(...u)=>{let c=s.apply(e,u);return U(c,t)}}for(let a in o){let s=o[a];i[a]=(...u)=>{let c=s.apply(t,u);return U(e,c)}}return{context:n,...i}}var q=Symbol("CANCEL");function C(e,t,n={}){let{continueOnError:r=!1,logErrors:o=!0,onError:i}=n,a={...e};for(let s in e)Object.prototype.hasOwnProperty.call(e,s)&&s!=="context"&&typeof e[s]!="function"&&(a[s]=e[s]);for(let s in e){if(!Object.prototype.hasOwnProperty.call(e,s))continue;let u=e[s];typeof u=="function"&&s!=="context"&&(a[s]=function(...c){let d=s,l=a.context,y=()=>{let M;try{M=u.apply(this,c)}catch(h){if(t.error)try{t.error({transitionName:d,context:l,args:[...c],error:h})}catch(f){if(!r)throw f;o&&console.error(`Middleware error hook error for ${d}:`,f),i==null||i(f,"error",{transitionName:d,context:l,args:c,error:h})}throw h}let x=h=>{if(h&&typeof h=="object"&&h.context){for(let f in a)Object.prototype.hasOwnProperty.call(a,f)&&f!=="context"&&!(f in h)&&(h[f]=a[f]);for(let f in h){if(!Object.prototype.hasOwnProperty.call(h,f))continue;typeof h[f]=="function"&&f!=="context"&&a[f]&&(h[f]=a[f])}}return h};if(M&&typeof M.then=="function")return M.then(f=>{if(x(f),t.after)try{let m=t.after({transitionName:d,prevContext:l,nextContext:f.context,args:[...c]});if(m&&typeof m.then=="function")return m.then(()=>f)}catch(m){if(!r)throw m;o&&console.error(`Middleware after hook error for ${d}:`,m),i==null||i(m,"after",{transitionName:d,prevContext:l,nextContext:f.context,args:c})}return f});if(x(M),t.after)try{let h=t.after({transitionName:d,prevContext:l,nextContext:M.context,args:[...c]});if(h&&typeof h=="object"&&h&&"then"in h)return h.then(()=>M).catch(f=>{if(!r)throw f;return o&&console.error(`Middleware after hook error for ${d}:`,f),i==null||i(f,"after",{transitionName:d,prevContext:l,nextContext:M.context,args:c}),M})}catch(h){if(!r)throw h;o&&console.error(`Middleware after hook error for ${d}:`,h),i==null||i(h,"after",{transitionName:d,prevContext:l,nextContext:M.context,args:c})}return M};if(t.before)try{let M=t.before({transitionName:d,context:l,args:[...c]});if(M&&typeof M=="object"&&M&&"then"in M)return M.then(x=>x===q?a:y()).catch(x=>{if(!r)throw x;return o&&console.error(`Middleware before hook error for ${d}:`,x),i==null||i(x,"before",{transitionName:d,context:l,args:c}),y()});if(M===q)return a}catch(M){if(!r)throw M;o&&console.error(`Middleware before hook error for ${d}:`,M),i==null||i(M,"before",{transitionName:d,context:l,args:c})}return y()})}return a}function Y(e,t={}){let{logger:n=console.log,includeArgs:r=!1,includeContext:o=!0}=t;return C(e,{before:({transitionName:i,args:a})=>{let s=r?`→ ${i} [${a.join(", ")}]`:`→ ${i}`;n(s)},after:({transitionName:i,nextContext:a})=>{let s=o?` ${JSON.stringify(a)}`:"";n(`✓ ${i}${s}`)},error:({transitionName:i,error:a})=>{console.error(`[Machine] ${i} failed:`,a)}})}function J(e,t,n={}){let{eventPrefix:r="state_transition",includePrevContext:o=!1,includeArgs:i=!1}=n;return C(e,{after:({transitionName:a,prevContext:s,nextContext:u,args:c})=>{let d=`${r}.${a}`,l={transition:a};o&&(l.from=s),l.to=u,i&&(l.args=c),t(d,l)}})}function Q(e,t){return C(e,{before:n=>{if(t(n)===!1)throw new Error(`Validation failed for transition: ${n.transitionName}`)}})}function X(e,t){return C(e,{before:n=>{if(!t(n))throw new Error(`Unauthorized transition: ${n.transitionName}`)}})}function Z(e,t,n={}){let{includeArgs:r=!1}=n;return C(e,{error:o=>{let i={transition:o.transitionName,context:o.context,...r&&{args:o.args}};t(o.error,i)}})}function ee(e,t){let n=new Map;return C(e,{before:r=>{n.set(r.transitionName,Date.now())},after:r=>{let o=n.get(r.transitionName);if(o){let i=Date.now()-o;n.delete(r.transitionName);let a={transitionName:r.transitionName,duration:i,context:r.nextContext||r.prevContext};t(a)}}})}function te(e,t={}){var u,c;let{maxAttempts:n=(u=t.maxRetries)!=null?u:3,shouldRetry:r=()=>!0,backoffMs:o=(c=t.delay)!=null?c:100,backoffMultiplier:i=2,onRetry:a}=t,s={...e};for(let d in e){if(!Object.prototype.hasOwnProperty.call(e,d))continue;let l=e[d];typeof l=="function"&&d!=="context"&&(s[d]=async function(...y){let M,x=0;for(;x<n;)try{return await l.apply(this,y)}catch(h){if(M=h,x++,x<n&&r(M,x)){a==null||a(M,x);let m=(typeof o=="function"?o(x):o)*Math.pow(i,x-1);await new Promise(b=>setTimeout(b,m))}else throw M}throw M})}return s}function Mt(e,t){return n=>C(n,e,t)}function j(e,t={}){let{maxSize:n,serializer:r,onEntry:o}=t,i=[],a=0,s=C(e,{before:({transitionName:u,args:c})=>{let d={id:`entry-${a++}`,transitionName:u,args:[...c],timestamp:Date.now()};if(r)try{d.serializedArgs=r.serialize(c)}catch(l){console.error("Failed to serialize history args:",l)}i.push(d),n&&i.length>n&&i.shift(),o==null||o(d)}});return Object.assign(s,{history:i,clearHistory:()=>{i.length=0,a=0}})}function v(e,t={}){let{maxSize:n,serializer:r,captureSnapshot:o,onlyOnChange:i=!1}=t,a=[],s=0,u=C(e,{after:({transitionName:d,prevContext:l,nextContext:y})=>{if(i&&JSON.stringify(l)===JSON.stringify(y))return;let M={id:`snapshot-${s++}`,transitionName:d,before:{...l},after:{...y},timestamp:Date.now()};if(r)try{M.serializedBefore=r.serialize(l),M.serializedAfter=r.serialize(y)}catch(x){console.error("Failed to serialize snapshot:",x)}if(o)try{M.diff=o(l,y)}catch(x){console.error("Failed to capture snapshot:",x)}a.push(M),n&&a.length>n&&a.shift()}});return Object.assign(u,{snapshots:a,clearSnapshots:()=>{a.length=0,s=0},restoreSnapshot:d=>{let l=Object.fromEntries(Object.entries(e).filter(([y])=>y!=="context"&&y!=="snapshots"&&y!=="clearSnapshots"&&y!=="restoreSnapshot"&&typeof e[y]=="function"));return Object.assign({context:d},l)}})}function P(e,t={}){let{maxSize:n,serializer:r,onRecord:o}=t,i=[],a=[],s=0,u=0,c=C(e,{before:({transitionName:y,args:M})=>{let x={id:`entry-${s++}`,transitionName:y,args:[...M],timestamp:Date.now()};if(r)try{x.serializedArgs=r.serialize(M)}catch(h){console.error("Failed to serialize history args:",h)}i.push(x),n&&i.length>n&&i.shift(),o==null||o("history",x)},after:({transitionName:y,prevContext:M,nextContext:x})=>{let h={id:`snapshot-${u++}`,transitionName:y,before:{...M},after:{...x},timestamp:Date.now()};if(r)try{h.serializedBefore=r.serialize(M),h.serializedAfter=r.serialize(x)}catch(f){console.error("Failed to serialize snapshot:",f)}a.push(h),n&&a.length>n&&a.shift(),o==null||o("snapshot",h)}});return Object.assign(c,{history:i,snapshots:a,clearHistory:()=>{i.length=0,s=0},clearSnapshots:()=>{a.length=0,u=0},clearTimeTravel:()=>{i.length=0,a.length=0,s=0,u=0},restoreSnapshot:y=>{let M=Object.fromEntries(Object.entries(e).filter(([x])=>x!=="context"&&x!=="history"&&x!=="snapshots"&&x!=="clearHistory"&&x!=="clearSnapshots"&&x!=="restoreSnapshot"&&x!=="clearTimeTravel"&&x!=="replayFrom"&&typeof e[x]=="function"));return Object.assign({context:y},M)},replayFrom:y=>{var m;if(y<0||y>=i.length)throw new Error(`Invalid replay start index: ${y}`);let M=(m=a[y])==null?void 0:m.before;if(!M)throw new Error(`No snapshot available for index ${y}`);let x=i.slice(y),f=Object.assign({context:M},Object.fromEntries(Object.entries(e).filter(([b])=>b!=="context"&&typeof e[b]=="function")));for(let b of x){let de=f[b.transitionName];de&&(f=de.apply(f,b.args))}return f}})}function yt(e,...t){return t.reduce((n,r)=>r(n),e)}function O(e,...t){return t.reduce((n,r)=>r(n),e)}var ne=class e{constructor(t){this.machine=t}with(t){let n=t(this.machine);return new e(n)}build(){return this.machine}};function lt(e){return new ne(e)}function K(e,t){let n=function(r){return t(r)?e(r):r};return n.middleware=e,n.when=t,n}function xt(e){return K(e,()=>typeof process!="undefined"?!1:typeof window!="undefined"?!window.location.hostname.includes("production"):!1)}function ht(e,t,n){return K(n,r=>r.context[e]===t)}function ft(){let e=new Map;return{register(t,n,r,o){if(e.has(t))throw new Error(`Middleware '${t}' is already registered`);return e.set(t,{name:t,middleware:n,description:r,priority:o}),this},unregister(t){return e.delete(t)},has(t){return e.has(t)},get(t){return e.get(t)},list(){return Array.from(e.values()).sort((t,n)=>{var r,o;return((r=t.priority)!=null?r:0)-((o=n.priority)!=null?o:0)})},apply(t,n){let r=n.map(o=>{let i=e.get(o);if(!i)throw new Error(`Middleware '${o}' is not registered`);return i}).sort((o,i)=>{var a,s;return((a=o.priority)!=null?a:0)-((s=i.priority)!=null?s:0)});return O(t,...r.map(o=>o.middleware))},applyAll(t){let n=this.list();return O(t,...n.map(r=>r.middleware))}}}function pt(e={}){let{continueOnError:t=!1,logErrors:n=!0,onError:r}=e;return(o,...i)=>{let a=o,s=[],u=!0;for(let c=0;c<i.length;c++){let d=i[c];try{if("middleware"in d&&"when"in d){if(!d.when(a))continue;a=d.middleware(a)}else a=d(a)}catch(l){if(u=!1,!t)throw l;s.push({error:l,middlewareIndex:c,middlewareName:d.name}),n&&console.error(`Pipeline middleware error at index ${c}:`,l),r==null||r(l,c,d.name)}}return{machine:a,errors:s,success:u}}}function gt(...e){return t=>O(t,...e)}function Ct(e,t){return n=>{for(let[r,o]of e)if(r(n))return o(n);return t?t(n):n}}function re(e){return typeof e=="function"&&e.length===1}function mt(e){return e!==null&&(typeof e=="object"||typeof e=="function")&&"middleware"in e&&"when"in e&&re(e.middleware)&&typeof e.when=="function"}function Tt(e,t){return e!==null&&typeof e=="object"&&"transitionName"in e&&"prevContext"in e&&"nextContext"in e&&"args"in e&&typeof e.transitionName=="string"&&Array.isArray(e.args)&&(!t||B(e.prevContext,t)&&B(e.nextContext,t))}function bt(e,t){return e!==null&&typeof e=="object"&&"transitionName"in e&&"context"in e&&"args"in e&&typeof e.transitionName=="string"&&Array.isArray(e.args)&&(!t||B(e.context,t))}function wt(e,t){return e!==null&&typeof e=="object"&&"transitionName"in e&&"context"in e&&"args"in e&&"error"in e&&typeof e.transitionName=="string"&&Array.isArray(e.args)&&e.error instanceof Error&&(!t||B(e.context,t))}function Et(e,t){if(e===null||typeof e!="object")return!1;let n=e;return!("before"in n&&n.before!==void 0&&typeof n.before!="function"||"after"in n&&n.after!==void 0&&typeof n.after!="function"||"error"in n&&n.error!==void 0&&typeof n.error!="function")}function At(e){return e===void 0||e!==null&&typeof e=="object"&&("continueOnError"in e?typeof e.continueOnError=="boolean":!0)&&("logErrors"in e?typeof e.logErrors=="boolean":!0)&&("onError"in e?typeof e.onError=="function"||e.onError===void 0:!0)}function B(e,t){return e!==null&&typeof e=="object"}function St(e){return e!==null&&typeof e=="object"&&"name"in e&&"middleware"in e&&typeof e.name=="string"&&re(e.middleware)&&("description"in e?typeof e.description=="string"||e.description===void 0:!0)&&("priority"in e?typeof e.priority=="number"||e.priority===void 0:!0)}function Ft(e){return e===void 0||e!==null&&typeof e=="object"&&("continueOnError"in e?typeof e.continueOnError=="boolean":!0)&&("logErrors"in e?typeof e.logErrors=="boolean":!0)&&("onError"in e?typeof e.onError=="function"||e.onError===void 0:!0)}var k=class{constructor(t){this.machine=t;this.middlewares=[]}withLogging(t){return this.middlewares.push(n=>Y(n,t)),this}withAnalytics(t,n){return this.middlewares.push(r=>J(r,t,n)),this}withValidation(t,n){return this.middlewares.push(r=>Q(r,t)),this}withPermissions(t){return this.middlewares.push(n=>X(n,t)),this}withErrorReporting(t,n){return this.middlewares.push(r=>Z(r,t,n)),this}withPerformanceMonitoring(t,n){return this.middlewares.push(r=>ee(r,t)),this}withRetry(t){return this.middlewares.push(n=>te(n,t)),this}withHistory(t){return this.middlewares.push(n=>j(n,t)),this}withSnapshot(t){return this.middlewares.push(n=>v(n,t)),this}withTimeTravel(t){return this.middlewares.push(n=>P(n,t)),this}withDebugging(){return this.middlewares.push(t=>je(t)),this}withCustom(t){return this.middlewares.push(t),this}withConditional(t,n){return this.middlewares.push(K(t,n)),this}build(){let t=this.machine;for(let n of this.middlewares)t=n(t);return t}getChain(){return[...this.middlewares]}clear(){return this.middlewares=[],this}};function Re(e){return new k(e)}function Rt(e={}){return{create:t=>{let n=Re(t);return e.logging&&n.withLogging(e.logging),e.analytics&&n.withAnalytics(e.analytics.track,e.analytics.options),e.history&&n.withHistory(e.history),e.snapshot&&n.withSnapshot(e.snapshot),e.timeTravel&&n.withTimeTravel(e.timeTravel),e.retry&&n.withRetry(e.retry),n}}}function je(e){return P(v(j(e)))}function ve(e,t){return e instanceof t}function Pe(e,...t){return{type:e,args:t}}function Oe(e,t){return A(e,n=>({...n,...t}))}async function Be(e,...t){let n=e;for(let r of t)n=await r(n);return n}function ke(e,t){return t?console.log(t,e.context):console.log(e.context),e}function Ke(e,t){return function(...n){let r=t(this.context,...n);return g(r,e())}}function Ne(e,t,...n){return e.apply(t,n)}function oe(e){return new Proxy(e,{get(t,n){let r=t[n];return typeof r=="function"?function(...o){let i=r.apply(t,o);return i&&typeof i=="object"&&"context"in i?oe(i):i}:r}})}var N=class e{constructor(t){return this.wrappedMachine=t,new Proxy(this,{get:(n,r)=>{if(r==="wrappedMachine")return Reflect.get(n,r);if(r==="context")return this.wrappedMachine.context;let o=this.wrappedMachine[r];return typeof o=="function"?(...i)=>{let a=o.apply(this.wrappedMachine,i);return a&&typeof a=="object"&&"context"in a?new e(a):a}:o}})}};function ze(){return function(t){return function(...n){let r=t(this.context,...n);return g(r,this)}}}function ie(e){return{machine:e,addTransition:function(t,n){let r=function(...i){let a=n(this.context,...i);return g(a,this)},o=z(e,{[t]:r});return ie(o)}}}function ae(e){return function(n){let r={},o=Object.fromEntries(Object.entries(n).map(([i,a])=>[i,function(...s){let u=a(this.context,...s);return g(u,r)}]));return Object.assign(r,o),g(e,r)}}function _e(e,t){return t!==void 0?g(e,t):ae(e)}function g(e,t){if(typeof t=="function"){let o;return o=t(a=>g(a,o)),Object.assign({context:e},o)}let n="context"in t?Object.fromEntries(Object.entries(t).filter(([o])=>o!=="context")):t;return Object.assign({context:e},n)}function se(e,t){if(typeof t=="function"){let o;return o=t(a=>se(a,o)),Object.assign({context:e},o)}let n="context"in t?Object.fromEntries(Object.entries(t).filter(([o])=>o!=="context")):t;return Object.assign({context:e},n)}function Ge(){return e=>{let t=Object.fromEntries(Object.entries(e).map(([n,r])=>[n,function(...o){let i=r(this.context,...o);return g(i,t)}]));return n=>g(n,t)}}function A(e,t){let{context:n,...r}=e,o=typeof t=="function"?t(n):t;return g(o,r)}function We(e,t){let{context:n,...r}=e,o={...r,...t};return g(n,o)}function z(e,t){let{context:n,...r}=e,o={...r,...t};return g(n,o)}function He(e,t){return(...n)=>{let r=e(...n),o=t(),i={...r.context,...o.context},{context:a,...s}=r,{context:u,...c}=o,d={...s,...c};return g(i,d)}}function $e(e){let{context:t,...n}=e;return r=>g(r,n)}function De(e,t,n){let r=e.context[t],o=n[r];if(!o)throw new Error(`No handler found for state: ${String(r)}`);return o(e.context)}function Ve(e,t,n){return e.context[t]===n}function _(e,t){let n=e,r=null;async function o(i){r&&(r.abort(),r=null);let a=n[i.type];if(typeof a!="function")throw new Error(`[Machine] Unknown event type '${String(i.type)}' on current state.`);let s=new AbortController;r=s;try{let c=await a.apply(n,[...i.args,{signal:s.signal}]);return s.signal.aborted||(n=c,t==null||t(n)),n}finally{r===s&&(r=null)}}return{get state(){return n.context},dispatch:o,stop:()=>{r&&(r.abort(),r=null)}}}var T=class{constructor(t){this.context=t}};function Ie(e,t){let{context:n,...r}=e;return g(t(n),r)}var p=require("react");function Le(e){let[t,n]=(0,p.useState)(e),r=(0,p.useMemo)(()=>_(t,i=>{n(i)}),[]),o=(0,p.useMemo)(()=>new Proxy({},{get:(i,a)=>(...s)=>{r.dispatch({type:a,args:s})}}),[r]);return[t,o]}function ce(e,t,n=Object.is){let[r,o]=(0,p.useState)(()=>t(e)),i=(0,p.useRef)(t),a=(0,p.useRef)(n);return i.current=t,a.current=n,(0,p.useEffect)(()=>{let s=i.current(e);a.current(r,s)||o(s)},[e,r]),r}function Ue(e,t,n){let[r,o]=(0,p.useState)(e),i=(0,p.useRef)(r);i.current=r;let a=(0,p.useMemo)(()=>({getContext:()=>i.current,setContext:u=>{o(u)}}),[]);return(0,p.useMemo)(()=>R(a,t,n),[a,t,n])}function qe(){let e=(0,p.createContext)(null),t=({machine:a,actions:s,children:u})=>{let c=(0,p.useMemo)(()=>[a,s],[a,s]);return(0,p.createElement)(e.Provider,{value:c},u)},n=()=>{let a=(0,p.useContext)(e);if(!a)throw new Error("useMachineContext must be used within a Machine.Provider");return a},r=()=>n()[0];return{Provider:t,useMachineContext:n,useMachineState:r,useMachineActions:()=>n()[1],useSelector:(a,s)=>{let u=r();return ce(u,a,s)}}}function Ye(e){let t=(0,p.useMemo)(()=>e.subscribe.bind(e),[e]),n=(0,p.useMemo)(()=>e.getSnapshot.bind(e),[e]);return(0,p.useSyncExternalStore)(t,n)}function Je(e,t,n=Object.is){let r=(0,p.useMemo)(()=>e.getSnapshot.bind(e),[e]),o=()=>t(r()),[i,a]=(0,p.useState)(o);return(0,p.useEffect)(()=>{let s=()=>{let u=t(e.getSnapshot());a(c=>n(c,u)?c:u)};return s(),e.subscribe(()=>{s()})},[e,t,n]),i}
|
|
1
|
+
"use strict";var $=Object.defineProperty;var tt=Object.getOwnPropertyDescriptor;var nt=Object.getOwnPropertyNames;var rt=Object.prototype.hasOwnProperty;var ot=(e,t)=>{for(var n in t)$(e,n,{get:t[n],enumerable:!0})},it=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of nt(t))!rt.call(e,o)&&o!==n&&$(e,o,{get:()=>t[o],enumerable:!(r=tt(t,o))||r.enumerable});return e};var at=e=>it($({},"__esModule",{value:!0}),e);var Bt={};ot(Bt,{BoundMachine:()=>G,CANCEL:()=>Q,META_KEY:()=>be,MachineBase:()=>m,MiddlewareBuilder:()=>z,MultiMachineBase:()=>I,action:()=>Fe,bindTransitions:()=>se,branch:()=>wt,call:()=>We,chain:()=>pt,combine:()=>bt,combineFactories:()=>Ve,compose:()=>ft,composeTyped:()=>K,createAsyncMachine:()=>ue,createCustomMiddleware:()=>ht,createEnsemble:()=>P,createEnsembleFactory:()=>st,createEvent:()=>Ke,createFetchMachine:()=>xt,createFlow:()=>pe,createFunctionalMachine:()=>de,createMachine:()=>g,createMachineBuilder:()=>Le,createMachineContext:()=>Xe,createMachineFactory:()=>De,createMiddleware:()=>C,createMiddlewareFactory:()=>Ot,createMiddlewareRegistry:()=>Tt,createMultiMachine:()=>ut,createMutableMachine:()=>Mt,createParallelMachine:()=>J,createPipeline:()=>mt,createRunner:()=>Pe,createTransition:()=>Ge,createTransitionExtender:()=>ce,createTransitionFactory:()=>He,delegateToChild:()=>yt,describe:()=>Ee,extendTransitions:()=>W,guard:()=>j,guardAsync:()=>v,guarded:()=>Ae,hasState:()=>qe,inDevelopment:()=>gt,invoke:()=>Se,isConditionalMiddleware:()=>Et,isMiddlewareContext:()=>St,isMiddlewareError:()=>Ft,isMiddlewareFn:()=>ae,isMiddlewareHooks:()=>Rt,isMiddlewareOptions:()=>jt,isMiddlewareResult:()=>At,isNamedMiddleware:()=>vt,isPipelineConfig:()=>Pt,isState:()=>ke,logState:()=>_e,matchMachine:()=>Ue,mergeContext:()=>Ne,metadata:()=>ve,middlewareBuilder:()=>Oe,next:()=>Ye,overrideTransitions:()=>Ie,pipeTransitions:()=>ze,run:()=>D,runAsync:()=>Ce,runMachine:()=>H,runSequence:()=>fe,runWithDebug:()=>ge,runWithEnsemble:()=>dt,runWithRunner:()=>ct,setContext:()=>b,state:()=>$e,step:()=>xe,stepAsync:()=>Te,toggle:()=>lt,transitionTo:()=>we,useActor:()=>Ze,useActorSelector:()=>et,useEnsemble:()=>Qe,useMachine:()=>Je,useMachineSelector:()=>Me,when:()=>_,whenContext:()=>Ct,whenGuard:()=>Re,whenGuardAsync:()=>je,withAnalytics:()=>Z,withDebugging:()=>Be,withErrorReporting:()=>ne,withHistory:()=>O,withLogging:()=>X,withPerformanceMonitoring:()=>re,withPermissions:()=>te,withRetry:()=>oe,withSnapshot:()=>B,withTimeTravel:()=>k,withValidation:()=>ee,yieldMachine:()=>he});module.exports=at(Bt);var le=Symbol.for("__machine_transitions__");function S(e,t){return Object.defineProperty(e,le,{value:t,enumerable:!1,configurable:!1}),e}function F(e){if(!(!e||typeof e!="object"))return e[le]}function R(e){if(!e||typeof e!="object")return{};let t=Object.entries(e).filter(([n,r])=>n!=="context"&&typeof r=="function");return Object.fromEntries(t)}function D(e,t){let n=e(t),r=t;for(;;){let{value:o,done:i}=n.next(r);if(i)return o;r=o}}function xe(e){return function*(){return yield e}()}function he(e){return e}function fe(e,t){return t.reduce((n,r)=>D(r,n),e)}function pe(e){return e}function ge(e,t,n=(r,o)=>{console.log(`Step ${r}:`,o.context)}){let r=e(t),o=t,i=0;for(n(i,o);;){let{value:a,done:s}=r.next(o);if(s)return console.log("Final:",a),a;o=a,i++,n(i,o)}}async function Ce(e,t){let n=e(t),r=t;for(;;){let{value:o,done:i}=await n.next(r);if(i)return o;r=o}}async function*Te(e){return yield e}var be=Symbol("MachineMeta"),me=Symbol("__machine_runtime_meta__");function E(e,t){let n=e[me]||{},r={...n,...t};t.guards&&n.guards?r.guards=[...t.guards,...n.guards]:t.guards&&(r.guards=[...t.guards]),t.actions&&n.actions?r.actions=[...t.actions,...n.actions]:t.actions&&(r.actions=[...t.actions]),Object.defineProperty(e,me,{value:r,enumerable:!1,writable:!1,configurable:!0})}function we(e,t){return E(t,{target:e.name||e.toString()}),t}function Ee(e,t){return E(t,{description:e}),t}function Ae(e,t){return E(t,{guards:[e]}),t}function Se(e,t){return E(t,{invoke:{src:e.src,onDone:e.onDone.name||e.onDone.toString(),onError:e.onError.name||e.onError.toString(),description:e.description}}),t}function Fe(e,t){return E(t,{actions:[e]}),t}function j(e,t,n={}){let{onFail:r="throw",errorMessage:o,description:i}=n,a={...n,onFail:r,errorMessage:o,description:i},s=function(...u){let c=typeof this=="object"&&"context"in this,d=c?this.context:this;if(e(d,...u)){let y=c?this:{context:this};return t.apply(y,u)}else if(r==="throw"){let y=o||"Guard condition failed";throw new Error(y)}else if(r==="ignore"){if(c)return this;throw new Error('Cannot use "ignore" mode with context-only binding. Use full machine binding or provide fallback.')}else if(typeof r=="function"){if(c)return r.apply(this,u);throw new Error("Cannot use function fallback with context-only binding. Use full machine binding.")}else return r};return Object.defineProperty(s,"__guard",{value:!0,enumerable:!1}),Object.defineProperty(s,"condition",{value:e,enumerable:!1}),Object.defineProperty(s,"transition",{value:t,enumerable:!1}),Object.defineProperty(s,"options",{value:a,enumerable:!1}),E(s,{description:i||"Synchronous guarded transition",guards:[{name:"runtime_guard",description:i||"Synchronous condition check"}]}),s}function v(e,t,n={}){let{onFail:r="throw",errorMessage:o,description:i}=n,a={...n,onFail:r,errorMessage:o,description:i},s=async function(...u){let c=typeof this=="object"&&"context"in this,d=c?this.context:this;if(await Promise.resolve(e(d,...u))){let y=c?this:{context:this};return t.apply(y,u)}else if(r==="throw"){let y=o||"Guard condition failed";throw new Error(y)}else if(r==="ignore"){if(c)return this;throw new Error('Cannot use "ignore" mode with context-only binding. Use full machine binding or provide fallback.')}else if(typeof r=="function"){if(c)return r.apply(this,u);throw new Error("Cannot use function fallback with context-only binding. Use full machine binding.")}else return r};return Object.defineProperty(s,"__guard",{value:!0,enumerable:!1}),Object.defineProperty(s,"condition",{value:e,enumerable:!1}),Object.defineProperty(s,"transition",{value:t,enumerable:!1}),Object.defineProperty(s,"options",{value:a,enumerable:!1}),E(s,{description:i||"Runtime guarded transition",guards:[{name:"runtime_guard",description:i||"Runtime condition check"}]}),s}function Re(e){return{do(t){let n=j(e,t);return n.else=function(r){return j(e,t,{onFail:r})},n}}}function je(e){return{do(t){let n=v(e,t);return n.else=function(r){return v(e,t,{onFail:r})},n}}}function ve(e,t){return t}function Pe(e,t){let n=e,r=s=>{n=s,t==null||t(s)},{context:o,...i}=e,a=new Proxy({},{get(s,u){let c=n[u];if(typeof c=="function")return(...d)=>{let l=c.apply(n,d),y=Object.assign({context:l.context},i);return r(y),y}}});return{get state(){return n},get context(){return n.context},actions:a,setState:r}}function P(e,t,n){let r=()=>{let i=e.getContext(),a=n(i),s=t[a];if(!s)throw new Error(`[Ensemble] Invalid state: No factory found for state "${String(a)}".`);return s(i)},o=new Proxy({},{get(i,a){let s=r(),u=s[a];if(typeof u!="function")throw new Error(`[Ensemble] Transition "${a}" is not valid in the current state.`);return(...c)=>u.apply(s,c)}});return{get context(){return e.getContext()},get state(){return r()},actions:o}}function st(e,t){return function(r){return P(e,r,t)}}function ct(e,t){let n=Pe(t),r=e(n),o=r.next();for(;!o.done;)o=r.next();return o.value}function dt(e,t){let n=e(t),r=n.next();for(;!r.done;)r=n.next();return r.value}var I=class{constructor(t){this.store=t}get context(){return this.store.getContext()}setContext(t){this.store.setContext(t)}};function ut(e,t){let n=new e(t);return new Proxy({},{get(r,o){let i=t.getContext();if(o in i)return i[o];let a=n[o];if(typeof a=="function")return(...s)=>a.apply(n,s)},set(r,o,i){let a=t.getContext();if(o in a){let s={...a,[o]:i};return t.setContext(s),!0}return!1},has(r,o){let i=t.getContext();return o in i||typeof n[o]=="function"},ownKeys(r){let o=t.getContext(),i=Object.keys(o),a=Object.getOwnPropertyNames(Object.getPrototypeOf(n)).filter(s=>s!=="constructor"&&typeof n[s]=="function");return Array.from(new Set([...i,...a]))},getOwnPropertyDescriptor(r,o){let i=t.getContext();if(o in i||typeof n[o]=="function")return{value:void 0,writable:!0,enumerable:!0,configurable:!0}}})}function Mt(e,t,n){let r=()=>{let o=n(e),i=t[o];if(!i)throw new Error(`[MutableMachine] Invalid state: No factory for state "${String(o)}".`);return i(e)};return new Proxy(e,{get(o,i,a){if(i in o)return o[i];let s=r(),u=s[i];if(typeof u=="function")return(...c)=>{let d=u.apply(s,c);if(typeof d!="object"||d===null){console.warn(`[MutableMachine] Transition "${String(i)}" did not return a valid context object. State may be inconsistent.`);return}Object.keys(o).forEach(l=>delete o[l]),Object.assign(o,d)}},set(o,i,a,s){return o[i]=a,!0},has(o,i){let a=r();return i in o||typeof a[i]=="function"}})}function yt(e){return function(...t){let n=this.context.child;if(typeof n[e]=="function"){let r=n[e](...t);return b(this,{...this.context,child:r})}return this}}function lt(e){return function(){return typeof this.context[e]!="boolean"&&console.warn(`[toggle primitive] Property '${String(e)}' is not a boolean. Toggling may have unexpected results.`),b(this,{...this.context,[e]:!this.context[e]})}}var V=class extends m{constructor(n){super({status:"idle"});this.config=n;this.fetch=n=>new A(this.config,n!=null?n:this.config.initialParams,1)}},A=class extends m{constructor(n,r,o){super({status:"loading",abortController:new AbortController,attempts:o});this.config=n;this.params=r;this.succeed=n=>{var r,o;return(o=(r=this.config).onSuccess)==null||o.call(r,n),new U(this.config,{status:"success",data:n})};this.fail=n=>{var o,i,a;let r=(o=this.config.maxRetries)!=null?o:3;return this.context.attempts<r?new L(this.config,this.params,n,this.context.attempts):((a=(i=this.config).onError)==null||a.call(i,n),new q(this.config,{status:"error",error:n}))};this.cancel=()=>(this.context.abortController.abort(),new Y(this.config));this.execute()}async execute(){}},L=class extends m{constructor(n,r,o,i){super({status:"retrying",error:o,attempts:i});this.config=n;this.params=r;this.retry=n=>new A(this.config,n!=null?n:this.params,this.context.attempts+1)}},U=class extends m{constructor(n,r){super(r);this.config=n;this.refetch=n=>new A(this.config,n!=null?n:this.config.initialParams,1)}},q=class extends m{constructor(n,r){super(r);this.config=n;this.retry=n=>new A(this.config,n!=null?n:this.config.initialParams,1)}},Y=class extends m{constructor(n){super({status:"canceled"});this.config=n;this.refetch=n=>new A(this.config,n!=null?n:this.config.initialParams,1)}};function xt(e){return new V(e)}function J(e,t){let n={...e.context,...t.context},r={...e},o={...t};delete r.context,delete o.context;let i={};for(let a in r){let s=r[a];i[a]=(...u)=>{let c=s.apply(e,u);return J(c,t)}}for(let a in o){let s=o[a];i[a]=(...u)=>{let c=s.apply(t,u);return J(e,c)}}return{context:n,...i}}var Q=Symbol("CANCEL");function C(e,t,n={}){let{continueOnError:r=!1,logErrors:o=!0,onError:i}=n,a={...e};for(let s in e)Object.prototype.hasOwnProperty.call(e,s)&&s!=="context"&&typeof e[s]!="function"&&(a[s]=e[s]);for(let s in e){if(!Object.prototype.hasOwnProperty.call(e,s))continue;let u=e[s];typeof u=="function"&&s!=="context"&&(a[s]=function(...c){let d=s,l=a.context,y=()=>{let M;try{M=u.apply(this,c)}catch(h){if(t.error)try{t.error({transitionName:d,context:l,args:[...c],error:h})}catch(f){if(!r)throw f;o&&console.error(`Middleware error hook error for ${d}:`,f),i==null||i(f,"error",{transitionName:d,context:l,args:c,error:h})}throw h}let x=h=>{if(h&&typeof h=="object"&&h.context){for(let f in a)Object.prototype.hasOwnProperty.call(a,f)&&f!=="context"&&!(f in h)&&(h[f]=a[f]);for(let f in h){if(!Object.prototype.hasOwnProperty.call(h,f))continue;typeof h[f]=="function"&&f!=="context"&&a[f]&&(h[f]=a[f])}}return h};if(M&&typeof M.then=="function")return M.then(f=>{if(x(f),t.after)try{let T=t.after({transitionName:d,prevContext:l,nextContext:f.context,args:[...c]});if(T&&typeof T.then=="function")return T.then(()=>f)}catch(T){if(!r)throw T;o&&console.error(`Middleware after hook error for ${d}:`,T),i==null||i(T,"after",{transitionName:d,prevContext:l,nextContext:f.context,args:c})}return f});if(x(M),t.after)try{let h=t.after({transitionName:d,prevContext:l,nextContext:M.context,args:[...c]});if(h&&typeof h=="object"&&h&&"then"in h)return h.then(()=>M).catch(f=>{if(!r)throw f;return o&&console.error(`Middleware after hook error for ${d}:`,f),i==null||i(f,"after",{transitionName:d,prevContext:l,nextContext:M.context,args:c}),M})}catch(h){if(!r)throw h;o&&console.error(`Middleware after hook error for ${d}:`,h),i==null||i(h,"after",{transitionName:d,prevContext:l,nextContext:M.context,args:c})}return M};if(t.before)try{let M=t.before({transitionName:d,context:l,args:[...c]});if(M&&typeof M=="object"&&M&&"then"in M)return M.then(x=>x===Q?a:y()).catch(x=>{if(!r)throw x;return o&&console.error(`Middleware before hook error for ${d}:`,x),i==null||i(x,"before",{transitionName:d,context:l,args:c}),y()});if(M===Q)return a}catch(M){if(!r)throw M;o&&console.error(`Middleware before hook error for ${d}:`,M),i==null||i(M,"before",{transitionName:d,context:l,args:c})}return y()})}return a}function X(e,t={}){let{logger:n=console.log,includeArgs:r=!1,includeContext:o=!0}=t;return C(e,{before:({transitionName:i,args:a})=>{let s=r?`→ ${i} [${a.join(", ")}]`:`→ ${i}`;n(s)},after:({transitionName:i,nextContext:a})=>{let s=o?` ${JSON.stringify(a)}`:"";n(`✓ ${i}${s}`)},error:({transitionName:i,error:a})=>{console.error(`[Machine] ${i} failed:`,a)}})}function Z(e,t,n={}){let{eventPrefix:r="state_transition",includePrevContext:o=!1,includeArgs:i=!1}=n;return C(e,{after:({transitionName:a,prevContext:s,nextContext:u,args:c})=>{let d=`${r}.${a}`,l={transition:a};o&&(l.from=s),l.to=u,i&&(l.args=c),t(d,l)}})}function ee(e,t){return C(e,{before:n=>{if(t(n)===!1)throw new Error(`Validation failed for transition: ${n.transitionName}`)}})}function te(e,t){return C(e,{before:n=>{if(!t(n))throw new Error(`Unauthorized transition: ${n.transitionName}`)}})}function ne(e,t,n={}){let{includeArgs:r=!1}=n;return C(e,{error:o=>{let i={transition:o.transitionName,context:o.context,...r&&{args:o.args}};t(o.error,i)}})}function re(e,t){let n=new Map;return C(e,{before:r=>{n.set(r.transitionName,Date.now())},after:r=>{let o=n.get(r.transitionName);if(o){let i=Date.now()-o;n.delete(r.transitionName);let a={transitionName:r.transitionName,duration:i,context:r.nextContext||r.prevContext};t(a)}}})}function oe(e,t={}){var u,c;let{maxAttempts:n=(u=t.maxRetries)!=null?u:3,shouldRetry:r=()=>!0,backoffMs:o=(c=t.delay)!=null?c:100,backoffMultiplier:i=2,onRetry:a}=t,s={...e};for(let d in e){if(!Object.prototype.hasOwnProperty.call(e,d))continue;let l=e[d];typeof l=="function"&&d!=="context"&&(s[d]=async function(...y){let M,x=0;for(;x<n;)try{return await l.apply(this,y)}catch(h){if(M=h,x++,x<n&&r(M,x)){a==null||a(M,x);let T=(typeof o=="function"?o(x):o)*Math.pow(i,x-1);await new Promise(w=>setTimeout(w,T))}else throw M}throw M})}return s}function ht(e,t){return n=>C(n,e,t)}function O(e,t={}){let{maxSize:n,serializer:r,onEntry:o}=t,i=[],a=0,s=C(e,{before:({transitionName:u,args:c})=>{let d={id:`entry-${a++}`,transitionName:u,args:[...c],timestamp:Date.now()};if(r)try{d.serializedArgs=r.serialize(c)}catch(l){console.error("Failed to serialize history args:",l)}i.push(d),n&&i.length>n&&i.shift(),o==null||o(d)}});return Object.assign(s,{history:i,clearHistory:()=>{i.length=0,a=0}})}function B(e,t={}){let{maxSize:n,serializer:r,captureSnapshot:o,onlyOnChange:i=!1}=t,a=[],s=0,u=C(e,{after:({transitionName:d,prevContext:l,nextContext:y})=>{if(i&&JSON.stringify(l)===JSON.stringify(y))return;let M={id:`snapshot-${s++}`,transitionName:d,before:{...l},after:{...y},timestamp:Date.now()};if(r)try{M.serializedBefore=r.serialize(l),M.serializedAfter=r.serialize(y)}catch(x){console.error("Failed to serialize snapshot:",x)}if(o)try{M.diff=o(l,y)}catch(x){console.error("Failed to capture snapshot:",x)}a.push(M),n&&a.length>n&&a.shift()}});return Object.assign(u,{snapshots:a,clearSnapshots:()=>{a.length=0,s=0},restoreSnapshot:d=>{let l=Object.fromEntries(Object.entries(e).filter(([y])=>y!=="context"&&y!=="snapshots"&&y!=="clearSnapshots"&&y!=="restoreSnapshot"&&typeof e[y]=="function"));return Object.assign({context:d},l)}})}function k(e,t={}){let{maxSize:n,serializer:r,onRecord:o}=t,i=[],a=[],s=0,u=0,c=C(e,{before:({transitionName:y,args:M})=>{let x={id:`entry-${s++}`,transitionName:y,args:[...M],timestamp:Date.now()};if(r)try{x.serializedArgs=r.serialize(M)}catch(h){console.error("Failed to serialize history args:",h)}i.push(x),n&&i.length>n&&i.shift(),o==null||o("history",x)},after:({transitionName:y,prevContext:M,nextContext:x})=>{let h={id:`snapshot-${u++}`,transitionName:y,before:{...M},after:{...x},timestamp:Date.now()};if(r)try{h.serializedBefore=r.serialize(M),h.serializedAfter=r.serialize(x)}catch(f){console.error("Failed to serialize snapshot:",f)}a.push(h),n&&a.length>n&&a.shift(),o==null||o("snapshot",h)}});return Object.assign(c,{history:i,snapshots:a,clearHistory:()=>{i.length=0,s=0},clearSnapshots:()=>{a.length=0,u=0},clearTimeTravel:()=>{i.length=0,a.length=0,s=0,u=0},restoreSnapshot:y=>{let M=Object.fromEntries(Object.entries(e).filter(([x])=>x!=="context"&&x!=="history"&&x!=="snapshots"&&x!=="clearHistory"&&x!=="clearSnapshots"&&x!=="restoreSnapshot"&&x!=="clearTimeTravel"&&x!=="replayFrom"&&typeof e[x]=="function"));return Object.assign({context:y},M)},replayFrom:y=>{var T;if(y<0||y>=i.length)throw new Error(`Invalid replay start index: ${y}`);let M=(T=a[y])==null?void 0:T.before;if(!M)throw new Error(`No snapshot available for index ${y}`);let x=i.slice(y),f=Object.assign({context:M},Object.fromEntries(Object.entries(e).filter(([w])=>w!=="context"&&typeof e[w]=="function")));for(let w of x){let ye=f[w.transitionName];ye&&(f=ye.apply(f,w.args))}return f}})}function ft(e,...t){return t.reduce((n,r)=>r(n),e)}function K(e,...t){return t.reduce((n,r)=>r(n),e)}var ie=class e{constructor(t){this.machine=t}with(t){let n=t(this.machine);return new e(n)}build(){return this.machine}};function pt(e){return new ie(e)}function _(e,t){let n=function(r){return t(r)?e(r):r};return n.middleware=e,n.when=t,n}function gt(e){return _(e,()=>typeof process!="undefined"?!1:typeof window!="undefined"?!window.location.hostname.includes("production"):!1)}function Ct(e,t,n){return _(n,r=>r.context[e]===t)}function Tt(){let e=new Map;return{register(t,n,r,o){if(e.has(t))throw new Error(`Middleware '${t}' is already registered`);return e.set(t,{name:t,middleware:n,description:r,priority:o}),this},unregister(t){return e.delete(t)},has(t){return e.has(t)},get(t){return e.get(t)},list(){return Array.from(e.values()).sort((t,n)=>{var r,o;return((r=t.priority)!=null?r:0)-((o=n.priority)!=null?o:0)})},apply(t,n){let r=n.map(o=>{let i=e.get(o);if(!i)throw new Error(`Middleware '${o}' is not registered`);return i}).sort((o,i)=>{var a,s;return((a=o.priority)!=null?a:0)-((s=i.priority)!=null?s:0)});return K(t,...r.map(o=>o.middleware))},applyAll(t){let n=this.list();return K(t,...n.map(r=>r.middleware))}}}function mt(e={}){let{continueOnError:t=!1,logErrors:n=!0,onError:r}=e;return(o,...i)=>{let a=o,s=[],u=!0;for(let c=0;c<i.length;c++){let d=i[c];try{if("middleware"in d&&"when"in d){if(!d.when(a))continue;a=d.middleware(a)}else a=d(a)}catch(l){if(u=!1,!t)throw l;s.push({error:l,middlewareIndex:c,middlewareName:d.name}),n&&console.error(`Pipeline middleware error at index ${c}:`,l),r==null||r(l,c,d.name)}}return{machine:a,errors:s,success:u}}}function bt(...e){return t=>K(t,...e)}function wt(e,t){return n=>{for(let[r,o]of e)if(r(n))return o(n);return t?t(n):n}}function ae(e){return typeof e=="function"&&e.length===1}function Et(e){return e!==null&&(typeof e=="object"||typeof e=="function")&&"middleware"in e&&"when"in e&&ae(e.middleware)&&typeof e.when=="function"}function At(e,t){return e!==null&&typeof e=="object"&&"transitionName"in e&&"prevContext"in e&&"nextContext"in e&&"args"in e&&typeof e.transitionName=="string"&&Array.isArray(e.args)&&(!t||N(e.prevContext,t)&&N(e.nextContext,t))}function St(e,t){return e!==null&&typeof e=="object"&&"transitionName"in e&&"context"in e&&"args"in e&&typeof e.transitionName=="string"&&Array.isArray(e.args)&&(!t||N(e.context,t))}function Ft(e,t){return e!==null&&typeof e=="object"&&"transitionName"in e&&"context"in e&&"args"in e&&"error"in e&&typeof e.transitionName=="string"&&Array.isArray(e.args)&&e.error instanceof Error&&(!t||N(e.context,t))}function Rt(e,t){if(e===null||typeof e!="object")return!1;let n=e;return!("before"in n&&n.before!==void 0&&typeof n.before!="function"||"after"in n&&n.after!==void 0&&typeof n.after!="function"||"error"in n&&n.error!==void 0&&typeof n.error!="function")}function jt(e){return e===void 0||e!==null&&typeof e=="object"&&("continueOnError"in e?typeof e.continueOnError=="boolean":!0)&&("logErrors"in e?typeof e.logErrors=="boolean":!0)&&("onError"in e?typeof e.onError=="function"||e.onError===void 0:!0)}function N(e,t){return e!==null&&typeof e=="object"}function vt(e){return e!==null&&typeof e=="object"&&"name"in e&&"middleware"in e&&typeof e.name=="string"&&ae(e.middleware)&&("description"in e?typeof e.description=="string"||e.description===void 0:!0)&&("priority"in e?typeof e.priority=="number"||e.priority===void 0:!0)}function Pt(e){return e===void 0||e!==null&&typeof e=="object"&&("continueOnError"in e?typeof e.continueOnError=="boolean":!0)&&("logErrors"in e?typeof e.logErrors=="boolean":!0)&&("onError"in e?typeof e.onError=="function"||e.onError===void 0:!0)}var z=class{constructor(t){this.machine=t;this.middlewares=[]}withLogging(t){return this.middlewares.push(n=>X(n,t)),this}withAnalytics(t,n){return this.middlewares.push(r=>Z(r,t,n)),this}withValidation(t,n){return this.middlewares.push(r=>ee(r,t)),this}withPermissions(t){return this.middlewares.push(n=>te(n,t)),this}withErrorReporting(t,n){return this.middlewares.push(r=>ne(r,t,n)),this}withPerformanceMonitoring(t,n){return this.middlewares.push(r=>re(r,t)),this}withRetry(t){return this.middlewares.push(n=>oe(n,t)),this}withHistory(t){return this.middlewares.push(n=>O(n,t)),this}withSnapshot(t){return this.middlewares.push(n=>B(n,t)),this}withTimeTravel(t){return this.middlewares.push(n=>k(n,t)),this}withDebugging(){return this.middlewares.push(t=>Be(t)),this}withCustom(t){return this.middlewares.push(t),this}withConditional(t,n){return this.middlewares.push(_(t,n)),this}build(){let t=this.machine;for(let n of this.middlewares)t=n(t);return t}getChain(){return[...this.middlewares]}clear(){return this.middlewares=[],this}};function Oe(e){return new z(e)}function Ot(e={}){return{create:t=>{let n=Oe(t);return e.logging&&n.withLogging(e.logging),e.analytics&&n.withAnalytics(e.analytics.track,e.analytics.options),e.history&&n.withHistory(e.history),e.snapshot&&n.withSnapshot(e.snapshot),e.timeTravel&&n.withTimeTravel(e.timeTravel),e.retry&&n.withRetry(e.retry),n}}}function Be(e){return k(B(O(e)))}function ke(e,t){return e instanceof t}function Ke(e,...t){return{type:e,args:t}}function Ne(e,t){return b(e,n=>({...n,...t}))}async function ze(e,...t){let n=e;for(let r of t)n=await r(n);return n}function _e(e,t){return t?console.log(t,e.context):console.log(e.context),e}function Ge(e,t){return function(...n){let r=t(this.context,...n);return g(r,e())}}function We(e,t,...n){return e.apply(t,n)}function se(e){return new Proxy(e,{get(t,n){let r=t[n];return typeof r=="function"?function(...o){let i=r.apply(t,o);return i&&typeof i=="object"&&"context"in i?se(i):i}:r}})}var G=class e{constructor(t){return this.wrappedMachine=t,new Proxy(this,{get:(n,r)=>{if(r==="wrappedMachine")return Reflect.get(n,r);if(r==="context")return this.wrappedMachine.context;let o=this.wrappedMachine[r];return typeof o=="function"?(...i)=>{let a=o.apply(this.wrappedMachine,i);return a&&typeof a=="object"&&"context"in a?new e(a):a}:o}})}};function He(){return function(t){return function(...n){let r=t(this.context,...n);return g(r,this)}}}function ce(e){return{machine:e,addTransition:function(t,n){let r=function(...i){let a=n(this.context,...i);return g(a,this)},o=W(e,{[t]:r});return ce(o)}}}function de(e){return function(n){let r={},o=Object.fromEntries(Object.entries(n).map(([i,a])=>[i,function(...s){let u=a(this.context,...s);return g(u,r)}]));return Object.assign(r,o),g(e,r)}}function $e(e,t){return t!==void 0?g(e,t):de(e)}function g(e,t){if(typeof t=="function"){let i;return i=t(s=>g(s,i)),S(Object.assign({context:e},i),i)}let n=F(t),r=n!=null?n:"context"in t?R(t):t,o=Object.assign({context:e},r);return S(o,r)}function ue(e,t){if(typeof t=="function"){let i;return i=t(s=>ue(s,i)),S(Object.assign({context:e},i),i)}let n=F(t),r=n!=null?n:"context"in t?R(t):t,o=Object.assign({context:e},r);return S(o,r)}function De(){return e=>{let t=Object.fromEntries(Object.entries(e).map(([n,r])=>[n,function(...o){let i=r(this.context,...o);return g(i,t)}]));return n=>g(n,t)}}function b(e,t){var i;let n=e.context,r=(i=F(e))!=null?i:R(e),o=typeof t=="function"?t(n):t;return g(o,r)}function Ie(e,t){let{context:n,...r}=e,o={...r,...t};return g(n,o)}function W(e,t){let{context:n,...r}=e,o={...r,...t};return g(n,o)}function Ve(e,t){return(...n)=>{let r=e(...n),o=t(),i={...r.context,...o.context},{context:a,...s}=r,{context:u,...c}=o,d={...s,...c};return g(i,d)}}function Le(e){let{context:t,...n}=e;return r=>g(r,n)}function Ue(e,t,n){let r=e.context[t],o=n[r];if(!o)throw new Error(`No handler found for state: ${String(r)}`);return o(e.context)}function qe(e,t,n){return e.context[t]===n}function H(e,t){let n=e,r=null;async function o(i){r&&(r.abort(),r=null);let a=n[i.type];if(typeof a!="function")throw new Error(`[Machine] Unknown event type '${String(i.type)}' on current state.`);let s=new AbortController;r=s;try{let c=await a.apply(n,[...i.args,{signal:s.signal}]);return s.signal.aborted||(n=c,t==null||t(n)),n}finally{r===s&&(r=null)}}return{get state(){return n.context},dispatch:o,stop:()=>{r&&(r.abort(),r=null)}}}var m=class{constructor(t){this.context=t}};function Ye(e,t){return b(e,n=>t(n))}var p=require("react");function Je(e){let[t,n]=(0,p.useState)(e),r=(0,p.useMemo)(()=>H(t,i=>{n(i)}),[]),o=(0,p.useMemo)(()=>new Proxy({},{get:(i,a)=>(...s)=>{r.dispatch({type:a,args:s})}}),[r]);return[t,o]}function Me(e,t,n=Object.is){let[r,o]=(0,p.useState)(()=>t(e)),i=(0,p.useRef)(t),a=(0,p.useRef)(n);return i.current=t,a.current=n,(0,p.useEffect)(()=>{let s=i.current(e);a.current(r,s)||o(s)},[e,r]),r}function Qe(e,t,n){let[r,o]=(0,p.useState)(e),i=(0,p.useRef)(r);i.current=r;let a=(0,p.useMemo)(()=>({getContext:()=>i.current,setContext:u=>{o(u)}}),[]);return(0,p.useMemo)(()=>P(a,t,n),[a,t,n])}function Xe(){let e=(0,p.createContext)(null),t=({machine:a,actions:s,children:u})=>{let c=(0,p.useMemo)(()=>[a,s],[a,s]);return(0,p.createElement)(e.Provider,{value:c},u)},n=()=>{let a=(0,p.useContext)(e);if(!a)throw new Error("useMachineContext must be used within a Machine.Provider");return a},r=()=>n()[0];return{Provider:t,useMachineContext:n,useMachineState:r,useMachineActions:()=>n()[1],useSelector:(a,s)=>{let u=r();return Me(u,a,s)}}}function Ze(e){let t=(0,p.useMemo)(()=>e.subscribe.bind(e),[e]),n=(0,p.useMemo)(()=>e.getSnapshot.bind(e),[e]);return(0,p.useSyncExternalStore)(t,n)}function et(e,t,n=Object.is){let r=(0,p.useMemo)(()=>e.getSnapshot.bind(e),[e]),o=()=>t(r()),[i,a]=(0,p.useState)(o);return(0,p.useEffect)(()=>{let s=()=>{let u=t(e.getSnapshot());a(c=>n(c,u)?c:u)};return s(),e.subscribe(()=>{s()})},[e,t,n]),i}
|
|
@@ -1,3 +1,29 @@
|
|
|
1
|
+
// src/internal-transitions.ts
|
|
2
|
+
var TRANSITIONS_SYMBOL = Symbol.for("__machine_transitions__");
|
|
3
|
+
function attachTransitions(machine, transitions) {
|
|
4
|
+
Object.defineProperty(machine, TRANSITIONS_SYMBOL, {
|
|
5
|
+
value: transitions,
|
|
6
|
+
enumerable: false,
|
|
7
|
+
configurable: false
|
|
8
|
+
});
|
|
9
|
+
return machine;
|
|
10
|
+
}
|
|
11
|
+
function getStoredTransitions(machine) {
|
|
12
|
+
if (!machine || typeof machine !== "object") {
|
|
13
|
+
return void 0;
|
|
14
|
+
}
|
|
15
|
+
return machine[TRANSITIONS_SYMBOL];
|
|
16
|
+
}
|
|
17
|
+
function snapshotOwnTransitions(source) {
|
|
18
|
+
if (!source || typeof source !== "object") {
|
|
19
|
+
return {};
|
|
20
|
+
}
|
|
21
|
+
const entries = Object.entries(source).filter(
|
|
22
|
+
([key, value]) => key !== "context" && typeof value === "function"
|
|
23
|
+
);
|
|
24
|
+
return Object.fromEntries(entries);
|
|
25
|
+
}
|
|
26
|
+
|
|
1
27
|
// src/generators.ts
|
|
2
28
|
function run(flow, initial) {
|
|
3
29
|
const generator = flow(initial);
|
|
@@ -1565,13 +1591,12 @@ function createMachine(context, fnsOrFactory) {
|
|
|
1565
1591
|
return createMachine(newContext, transitions2);
|
|
1566
1592
|
};
|
|
1567
1593
|
transitions2 = fnsOrFactory(transition);
|
|
1568
|
-
return Object.assign({ context }, transitions2);
|
|
1594
|
+
return attachTransitions(Object.assign({ context }, transitions2), transitions2);
|
|
1569
1595
|
}
|
|
1570
|
-
const
|
|
1571
|
-
|
|
1572
|
-
) : fnsOrFactory;
|
|
1596
|
+
const stored = getStoredTransitions(fnsOrFactory);
|
|
1597
|
+
const transitions = stored != null ? stored : "context" in fnsOrFactory ? snapshotOwnTransitions(fnsOrFactory) : fnsOrFactory;
|
|
1573
1598
|
const machine = Object.assign({ context }, transitions);
|
|
1574
|
-
return machine;
|
|
1599
|
+
return attachTransitions(machine, transitions);
|
|
1575
1600
|
}
|
|
1576
1601
|
function createAsyncMachine(context, fnsOrFactory) {
|
|
1577
1602
|
if (typeof fnsOrFactory === "function") {
|
|
@@ -1580,13 +1605,12 @@ function createAsyncMachine(context, fnsOrFactory) {
|
|
|
1580
1605
|
return createAsyncMachine(newContext, transitions2);
|
|
1581
1606
|
};
|
|
1582
1607
|
transitions2 = fnsOrFactory(transition);
|
|
1583
|
-
return Object.assign({ context }, transitions2);
|
|
1608
|
+
return attachTransitions(Object.assign({ context }, transitions2), transitions2);
|
|
1584
1609
|
}
|
|
1585
|
-
const
|
|
1586
|
-
|
|
1587
|
-
) : fnsOrFactory;
|
|
1610
|
+
const stored = getStoredTransitions(fnsOrFactory);
|
|
1611
|
+
const transitions = stored != null ? stored : "context" in fnsOrFactory ? snapshotOwnTransitions(fnsOrFactory) : fnsOrFactory;
|
|
1588
1612
|
const machine = Object.assign({ context }, transitions);
|
|
1589
|
-
return machine;
|
|
1613
|
+
return attachTransitions(machine, transitions);
|
|
1590
1614
|
}
|
|
1591
1615
|
function createMachineFactory() {
|
|
1592
1616
|
return (transformers) => {
|
|
@@ -1605,8 +1629,10 @@ function createMachineFactory() {
|
|
|
1605
1629
|
};
|
|
1606
1630
|
}
|
|
1607
1631
|
function setContext(machine, newContextOrFn) {
|
|
1608
|
-
|
|
1609
|
-
const
|
|
1632
|
+
var _a;
|
|
1633
|
+
const currentContext = machine.context;
|
|
1634
|
+
const transitions = (_a = getStoredTransitions(machine)) != null ? _a : snapshotOwnTransitions(machine);
|
|
1635
|
+
const newContext = typeof newContextOrFn === "function" ? newContextOrFn(currentContext) : newContextOrFn;
|
|
1610
1636
|
return createMachine(newContext, transitions);
|
|
1611
1637
|
}
|
|
1612
1638
|
function overrideTransitions(machine, overrides) {
|
|
@@ -1702,8 +1728,7 @@ var MachineBase = class {
|
|
|
1702
1728
|
}
|
|
1703
1729
|
};
|
|
1704
1730
|
function next(m, update) {
|
|
1705
|
-
|
|
1706
|
-
return createMachine(update(context), transitions);
|
|
1731
|
+
return setContext(m, (ctx) => update(ctx));
|
|
1707
1732
|
}
|
|
1708
1733
|
export {
|
|
1709
1734
|
BoundMachine,
|