@doeixd/machine 1.0.3 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +48 -0
- package/dist/cjs/development/core.js.map +1 -1
- package/dist/cjs/development/delegate.js +89 -0
- package/dist/cjs/development/delegate.js.map +7 -0
- package/dist/cjs/development/index.js +383 -158
- package/dist/cjs/development/index.js.map +4 -4
- package/dist/cjs/development/minimal.js +172 -0
- package/dist/cjs/development/minimal.js.map +7 -0
- package/dist/cjs/development/react.js.map +1 -1
- package/dist/cjs/production/delegate.js +1 -0
- package/dist/cjs/production/index.js +3 -3
- package/dist/cjs/production/minimal.js +1 -0
- package/dist/esm/development/core.js.map +1 -1
- package/dist/esm/development/delegate.js +68 -0
- package/dist/esm/development/delegate.js.map +7 -0
- package/dist/esm/development/index.js +389 -158
- package/dist/esm/development/index.js.map +4 -4
- package/dist/esm/development/minimal.js +149 -0
- package/dist/esm/development/minimal.js.map +7 -0
- package/dist/esm/development/react.js.map +1 -1
- package/dist/esm/production/delegate.js +1 -0
- package/dist/esm/production/index.js +3 -3
- package/dist/esm/production/minimal.js +1 -0
- package/dist/types/delegate.d.ts +101 -0
- package/dist/types/delegate.d.ts.map +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/minimal.d.ts +95 -0
- package/dist/types/minimal.d.ts.map +1 -0
- package/dist/types/types.d.ts +110 -0
- package/dist/types/types.d.ts.map +1 -0
- package/package.json +25 -1
- package/src/delegate.ts +267 -0
- package/src/index.ts +13 -0
- package/src/middleware.ts +1049 -1050
- package/src/minimal.ts +269 -0
- package/src/types.ts +129 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function y(n,o,c,t){let a=n[o],d={},s=Object.keys(a).filter(e=>typeof a[e]=="function"),i;if(!t)i=Object.fromEntries(s.map(e=>[e,e]));else if("pick"in t)i=Object.fromEntries(t.pick.filter(e=>s.includes(e)).map(e=>[e,e]));else if("omit"in t){let e=new Set(t.omit);i=Object.fromEntries(s.filter(r=>!e.has(r)).map(r=>[r,r]))}else"rename"in t?i=Object.fromEntries(Object.entries(t.rename).filter(([e])=>s.includes(e))):i={};for(let[e,r]of Object.entries(i)){let x=a[e];d[r]=(...l)=>{let C=x.apply(a,l);return c({...n,[o]:C})}}return d}function f(n,o){return(c,t)=>y(n,c,o,t)}function g(n,o,c,t=!1){let a={};for(let d of o){let s=n[d],i=Object.keys(s).filter(e=>typeof s[e]=="function");for(let e of i){let r=t?`${String(d)}_${e}`:e,x=s[e];a[r]=(...l)=>{let C=x.apply(s,l);return c({...n,[d]:C})}}}return a}function p(){return n=>n}export{f as createDelegate,y as delegate,g as delegateAll,p as renameMap};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var J=Symbol.for("__machine_transitions__");function b(e,n){return Object.defineProperty(e,J,{value:n,enumerable:!1,configurable:!1}),e}function R(e){if(!(!e||typeof e!="object"))return e[J]}function S(e){if(!e||typeof e!="object")return{};let n=Object.entries(e).filter(([t,r])=>t!=="context"&&typeof r=="function");return Object.fromEntries(n)}var m=class{constructor(n){this.context=n}};function Q(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)=>Q(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 be=Symbol("MachineMeta"),X=Symbol("__machine_runtime_meta__");function w(e,n){let t=e[X]||{},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,X,{value:r,enumerable:!1,writable:!1,configurable:!0})}function we(e,n){return w(n,{target:e.name||e.toString()}),n}function Ee(e,n){return w(n,{description:e}),n}function ve(e,n){return w(n,{guards:[e]}),n}function Ae(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 Re(e,n){return w(n,{actions:[e]}),n}function O(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 k(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 Se(e){return{do(n){let t=O(e,n);return t.else=function(r){return O(e,n,{onFail:r})},t}}}function Fe(e){return{do(n){let t=k(e,n);return t.else=function(r){return k(e,n,{onFail:r})},t}}}function je(e,n){return n}function Pe(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 Oe(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 cn(e,n){return function(r){return Oe(e,r,n)}}function dn(e,n){let t=Pe(n),r=e(t),o=r.next();for(;!o.done;)o=r.next();return o.value}function un(e,n){let t=e(n),r=t.next();for(;!r.done;)r=t.next();return r.value}var Z=class{constructor(n){this.store=n}get context(){return this.store.getContext()}setContext(n){this.store.setContext(n)}};function yn(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 ln(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 gn(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 mn(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 _=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 N(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 B(this.config,this.params,t,this.context.attempts):((i=(a=this.config).onError)==null||i.call(a,t),new K(this.config,{status:"error",error:t}))};this.cancel=()=>(this.context.abortController.abort(),new H(this.config));this.execute()}async execute(){}},B=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)}},N=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)}},K=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)}},H=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 Tn(e){return new _(e)}function ee(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 ee(c,n)}}for(let i in o){let s=o[i];a[i]=(...d)=>{let c=s.apply(n,d);return ee(e,c)}}return{context:t,...a}}var ne=Symbol("CANCEL");function g(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 C=n.after({transitionName:u,prevContext:l,nextContext:p.context,args:[...c]});if(C&&typeof C.then=="function")return C.then(()=>p)}catch(C){if(!r)throw C;o&&console.error(`Middleware after hook error for ${u}:`,C),a==null||a(C,"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===ne?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===ne)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 te(e,n={}){let{logger:t=console.log,includeArgs:r=!1,includeContext:o=!0}=n;return g(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 re(e,n,t={}){let{eventPrefix:r="state_transition",includePrevContext:o=!1,includeArgs:a=!1}=t;return g(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 oe(e,n){return g(e,{before:t=>{if(n(t)===!1)throw new Error(`Validation failed for transition: ${t.transitionName}`)}})}function ae(e,n){return g(e,{before:t=>{if(!n(t))throw new Error(`Unauthorized transition: ${t.transitionName}`)}})}function ie(e,n,t={}){let{includeArgs:r=!1}=t;return g(e,{error:o=>{let a={transition:o.transitionName,context:o.context,...r&&{args:o.args}};n(o.error,a)}})}function se(e,n){let t=new Map;return g(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 ce(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 C=(typeof o=="function"?o(M):o)*Math.pow(a,M-1);await new Promise(T=>setTimeout(T,C))}else throw y}throw y})}return s}function wn(e,n){return t=>g(t,e,n)}function I(e,n={}){let{maxSize:t,serializer:r,onEntry:o}=n,a=[],i=0,s=g(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 z(e,n={}){let{maxSize:t,serializer:r,captureSnapshot:o,onlyOnChange:a=!1}=n,i=[],s=0,d=g(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 $(e,n={}){let{maxSize:t,serializer:r,onRecord:o}=n,a=[],i=[],s=0,d=0,c=g(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 C;if(x<0||x>=a.length)throw new Error(`Invalid replay start index: ${x}`);let y=(C=i[x])==null?void 0:C.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 Y=p[T.transitionName];Y&&(p=Y.apply(p,T.args))}return p}})}function Bn(e,...n){return n.reduce((t,r)=>r(t),e)}function W(e,...n){return n.reduce((t,r)=>r(t),e)}var D=class e{constructor(n){this.machine=n}with(n){let t=n(this.machine);return new e(t)}build(){return this.machine}};function Nn(e){return new D(e)}function U(e,n){let t=function(r){return n(r)?e(r):r};return t.middleware=e,t.when=n,t}function Kn(e){return U(e,()=>typeof process!="undefined"?!1:typeof window!="undefined"?!window.location.hostname.includes("production"):!1)}function Hn(e,n,t){return U(t,r=>r.context[e]===n)}function In(){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 W(n,...r.map(o=>o.middleware))},applyAll(n){let t=this.list();return W(n,...t.map(r=>r.middleware))}}}function zn(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 $n(...e){return n=>W(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 de(e){return typeof e=="function"&&e.length===1}function Dn(e){return e!==null&&(typeof e=="object"||typeof e=="function")&&"middleware"in e&&"when"in e&&de(e.middleware)&&typeof e.when=="function"}function Gn(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||F(e.prevContext,n)&&F(e.nextContext,n))}function Un(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||F(e.context,n))}function Vn(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||F(e.context,n))}function Ln(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 qn(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 F(e,n){return e!==null&&typeof e=="object"}function Yn(e){return e!==null&&typeof e=="object"&&"name"in e&&"middleware"in e&&typeof e.name=="string"&&de(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 Jn(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 G=class{constructor(n){this.machine=n;this.middlewares=[]}withLogging(n){return this.middlewares.push(t=>te(t,n)),this}withAnalytics(n,t){return this.middlewares.push(r=>re(r,n,t)),this}withValidation(n,t){return this.middlewares.push(r=>oe(r,n)),this}withPermissions(n){return this.middlewares.push(t=>ae(t,n)),this}withErrorReporting(n,t){return this.middlewares.push(r=>ie(r,n,t)),this}withPerformanceMonitoring(n,t){return this.middlewares.push(r=>se(r,n)),this}withRetry(n){return this.middlewares.push(t=>ce(t,n)),this}withHistory(n){return this.middlewares.push(t=>I(t,n)),this}withSnapshot(n){return this.middlewares.push(t=>z(t,n)),this}withTimeTravel(n){return this.middlewares.push(t=>$(t,n)),this}withDebugging(){return this.middlewares.push(n=>_e(n)),this}withCustom(n){return this.middlewares.push(n),this}withConditional(n,t){return this.middlewares.push(U(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 ke(e){return new G(e)}function Qn(e={}){return{create:n=>{let t=ke(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 _e(e){return $(z(I(e)))}function V(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 Be(...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=V(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 Ne(e,...n){class t extends m{constructor(a){super(a)}}let r=V(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=V(o.prototype);for(let i of Object.keys(a))Object.prototype.hasOwnProperty.call(t.prototype,i)&&delete t.prototype[i]}return t}function et(...e){let n=e.map(a=>a.constructor),t=e.map(a=>a.context),r=Object.assign({},...t),o=Be(...n);return new o(r)}function nt(e,...n){let t=e.constructor,r=n.map(a=>a.constructor),o=Ne(t,...r);return new o(e.context)}function Ke(e,n){return e instanceof n}function He(e,...n){return{type:e,args:n}}function Ie(e,n){return v(e,t=>({...t,...n}))}async function ze(e,...n){let t=e;for(let r of n)t=await r(t);return t}function $e(e,n){return n?console.log(n,e.context):console.log(e.context),e}function We(e,n){return function(...t){let r=n(this.context,...t);return f(r,e())}}function De(e,n,...t){return e.apply(n,t)}function ue(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?ue(a):a}:r}})}var L=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 Ge(){return function(n){return function(...t){let r=n(this.context,...t);return f(r,this)}}}function ye(e){return{machine:e,addTransition:function(n,t){let r=function(...a){let i=t(this.context,...a);return f(i,this)},o=xe(e,{[n]:r});return ye(o)}}}function le(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 Ue(e,n){return n!==void 0?f(e,n):le(e)}function Ve(...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
|
-
Handled cases: [${
|
|
1
|
+
var Ee=Object.defineProperty;var te=(e,t)=>{for(var n in t)Ee(e,n,{get:t[n],enumerable:!0})};var ne=Symbol.for("__machine_transitions__");function b(e,t){return Object.defineProperty(e,ne,{value:t,enumerable:!1,configurable:!1}),e}function A(e){if(!(!e||typeof e!="object"))return e[ne]}function F(e){if(!e||typeof e!="object")return{};let t=Object.entries(e).filter(([n,r])=>n!=="context"&&typeof r=="function");return Object.fromEntries(t)}var m=class{constructor(t){this.context=t}};function re(e,t){let n=e(t),r=t;for(;;){let{value:o,done:a}=n.next(r);if(a)return o;r=o}}function ve(e){return function*(){return yield e}()}function Re(e){return e}function je(e,t){return t.reduce((n,r)=>re(r,n),e)}function Ae(e){return e}function Fe(e,t,n=(r,o)=>{console.log(`Step ${r}:`,o.context)}){let r=e(t),o=t,a=0;for(n(a,o);;){let{value:s,done:i}=r.next(o);if(i)return console.log("Final:",s),s;o=s,a++,n(a,o)}}async function Se(e,t){let n=e(t),r=t;for(;;){let{value:o,done:a}=await n.next(r);if(a)return o;r=o}}async function*Oe(e){return yield e}var Pe=Symbol("MachineMeta"),oe=Symbol("__machine_runtime_meta__");function w(e,t){let n=e[oe]||{},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,oe,{value:r,enumerable:!1,writable:!1,configurable:!0})}function ke(e,t){return w(t,{target:e.name||e.toString()}),t}function Ke(e,t){return w(t,{description:e}),t}function _e(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 Ne(e,t){return w(t,{actions:[e]}),t}function _(e,t,n={}){let{onFail:r="throw",errorMessage:o,description:a}=n,s={...n,onFail:r,errorMessage:o,description:a},i=function(...c){let d=typeof this=="object"&&"context"in this,y=d?this.context:this;if(e(y,...c)){let x=d?this:{context:this};return t.apply(x,c)}else if(r==="throw"){let x=o||"Guard condition failed";throw new Error(x)}else if(r==="ignore"){if(d)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(d)return r.apply(this,c);throw new Error("Cannot use function fallback with context-only binding. Use full machine binding.")}else return r};return Object.defineProperty(i,"__guard",{value:!0,enumerable:!1}),Object.defineProperty(i,"condition",{value:e,enumerable:!1}),Object.defineProperty(i,"transition",{value:t,enumerable:!1}),Object.defineProperty(i,"options",{value:s,enumerable:!1}),w(i,{description:a||"Synchronous guarded transition",guards:[{name:"runtime_guard",description:a||"Synchronous condition check"}]}),i}function B(e,t,n={}){let{onFail:r="throw",errorMessage:o,description:a}=n,s={...n,onFail:r,errorMessage:o,description:a},i=async function(...c){let d=typeof this=="object"&&"context"in this,y=d?this.context:this;if(await Promise.resolve(e(y,...c))){let x=d?this:{context:this};return t.apply(x,c)}else if(r==="throw"){let x=o||"Guard condition failed";throw new Error(x)}else if(r==="ignore"){if(d)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(d)return r.apply(this,c);throw new Error("Cannot use function fallback with context-only binding. Use full machine binding.")}else return r};return Object.defineProperty(i,"__guard",{value:!0,enumerable:!1}),Object.defineProperty(i,"condition",{value:e,enumerable:!1}),Object.defineProperty(i,"transition",{value:t,enumerable:!1}),Object.defineProperty(i,"options",{value:s,enumerable:!1}),w(i,{description:a||"Runtime guarded transition",guards:[{name:"runtime_guard",description:a||"Runtime condition check"}]}),i}function He(e){return{do(t){let n=_(e,t);return n.else=function(r){return _(e,t,{onFail:r})},n}}}function Ie(e){return{do(t){let n=B(e,t);return n.else=function(r){return B(e,t,{onFail:r})},n}}}function ze(e,t){return t}function De(e,t){let n=e,r=i=>{n=i,t==null||t(i)},{context:o,...a}=e,s=new Proxy({},{get(i,c){let d=n[c];if(typeof d=="function")return(...y)=>{let u=d.apply(n,y),x=Object.assign({context:u.context},a);return r(x),x}}});return{get state(){return n},get context(){return n.context},actions:s,setState:r}}function $e(e,t,n){let r=()=>{let a=e.getContext(),s=n(a),i=t[s];if(!i)throw new Error(`[Ensemble] Invalid state: No factory found for state "${String(s)}".`);return i(a)},o=new Proxy({},{get(a,s){let i=r(),c=i[s];if(typeof c!="function")throw new Error(`[Ensemble] Transition "${s}" is not valid in the current state.`);return(...d)=>c.apply(i,d)}});return{get context(){return e.getContext()},get state(){return r()},actions:o}}function jt(e,t){return function(r){return $e(e,r,t)}}function At(e,t){let n=De(t),r=e(n),o=r.next();for(;!o.done;)o=r.next();return o.value}function Ft(e,t){let n=e(t),r=n.next();for(;!r.done;)r=n.next();return r.value}var ae=class{constructor(t){this.store=t}get context(){return this.store.getContext()}setContext(t){this.store.setContext(t)}};function St(e,t){let n=new e(t);return new Proxy({},{get(r,o){let a=t.getContext();if(o in a)return a[o];let s=n[o];if(typeof s=="function")return(...i)=>s.apply(n,i)},set(r,o,a){let s=t.getContext();if(o in s){let i={...s,[o]:a};return t.setContext(i),!0}return!1},has(r,o){let a=t.getContext();return o in a||typeof n[o]=="function"},ownKeys(r){let o=t.getContext(),a=Object.keys(o),s=Object.getOwnPropertyNames(Object.getPrototypeOf(n)).filter(i=>i!=="constructor"&&typeof n[i]=="function");return Array.from(new Set([...a,...s]))},getOwnPropertyDescriptor(r,o){let a=t.getContext();if(o in a||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),a=t[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,s){if(a in o)return o[a];let i=r(),c=i[a];if(typeof c=="function")return(...d)=>{let y=c.apply(i,d);if(typeof y!="object"||y===null){console.warn(`[MutableMachine] Transition "${String(a)}" did not return a valid context object. State may be inconsistent.`);return}Object.keys(o).forEach(u=>delete o[u]),Object.assign(o,y)}},set(o,a,s,i){return o[a]=s,!0},has(o,a){let s=r();return a in o||typeof s[a]=="function"}})}function Ht(e){return function(...t){let n=this.context.child;if(typeof n[e]=="function"){let r=n[e](...t);return v(this,{...this.context,child:r})}return this}}function It(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 N=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,a,s;let r=(o=this.config.maxRetries)!=null?o:3;return this.context.attempts<r?new H(this.config,this.params,n,this.context.attempts):((s=(a=this.config).onError)==null||s.call(a,n),new z(this.config,{status:"error",error:n}))};this.cancel=()=>(this.context.abortController.abort(),new D(this.config));this.execute()}async execute(){}},H=class extends m{constructor(n,r,o,a){super({status:"retrying",error:o,attempts:a});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)}},z=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)}},D=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 zt(e){return new N(e)}function se(e,t){let n={...e.context,...t.context},r={...e},o={...t};delete r.context,delete o.context;let a={};for(let s in r){let i=r[s];a[s]=(...c)=>{let d=i.apply(e,c);return se(d,t)}}for(let s in o){let i=o[s];a[s]=(...c)=>{let d=i.apply(t,c);return se(e,d)}}return{context:n,...a}}var ie=Symbol("CANCEL");function g(e,t,n={}){let{continueOnError:r=!1,logErrors:o=!0,onError:a}=n,s={...e};for(let i in e)Object.prototype.hasOwnProperty.call(e,i)&&i!=="context"&&typeof e[i]!="function"&&(s[i]=e[i]);for(let i in e){if(!Object.prototype.hasOwnProperty.call(e,i))continue;let c=e[i];typeof c=="function"&&i!=="context"&&(s[i]=function(...d){let y=i,u=s.context,x=()=>{let l;try{l=c.apply(this,d)}catch(f){if(t.error)try{t.error({transitionName:y,context:u,args:[...d],error:f})}catch(p){if(!r)throw p;o&&console.error(`Middleware error hook error for ${y}:`,p),a==null||a(p,"error",{transitionName:y,context:u,args:d,error:f})}throw f}let M=f=>{if(f&&typeof f=="object"&&f.context){for(let p in s)Object.prototype.hasOwnProperty.call(s,p)&&p!=="context"&&!(p in f)&&(f[p]=s[p]);for(let p in f){if(!Object.prototype.hasOwnProperty.call(f,p))continue;typeof f[p]=="function"&&p!=="context"&&s[p]&&(f[p]=s[p])}}return f};if(l&&typeof l.then=="function")return l.then(p=>{if(M(p),t.after)try{let C=t.after({transitionName:y,prevContext:u,nextContext:p.context,args:[...d]});if(C&&typeof C.then=="function")return C.then(()=>p)}catch(C){if(!r)throw C;o&&console.error(`Middleware after hook error for ${y}:`,C),a==null||a(C,"after",{transitionName:y,prevContext:u,nextContext:p.context,args:d})}return p});if(M(l),t.after)try{let f=t.after({transitionName:y,prevContext:u,nextContext:l.context,args:[...d]});if(f&&typeof f=="object"&&f&&"then"in f)return f.then(()=>l).catch(p=>{if(!r)throw p;return o&&console.error(`Middleware after hook error for ${y}:`,p),a==null||a(p,"after",{transitionName:y,prevContext:u,nextContext:l.context,args:d}),l})}catch(f){if(!r)throw f;o&&console.error(`Middleware after hook error for ${y}:`,f),a==null||a(f,"after",{transitionName:y,prevContext:u,nextContext:l.context,args:d})}return l};if(t.before)try{let l=t.before({transitionName:y,context:u,args:[...d]});if(l&&typeof l=="object"&&l&&"then"in l)return l.then(M=>M===ie?s:x()).catch(M=>{if(!r)throw M;return o&&console.error(`Middleware before hook error for ${y}:`,M),a==null||a(M,"before",{transitionName:y,context:u,args:d}),x()});if(l===ie)return s}catch(l){if(!r)throw l;o&&console.error(`Middleware before hook error for ${y}:`,l),a==null||a(l,"before",{transitionName:y,context:u,args:d})}return x()})}return s}function ce(e,t={}){let{logger:n=console.log,includeArgs:r=!1,includeContext:o=!0}=t;return g(e,{before:({transitionName:a,args:s})=>{let i=r?`→ ${a} [${s.join(", ")}]`:`→ ${a}`;n(i)},after:({transitionName:a,nextContext:s})=>{let i=o?` ${JSON.stringify(s)}`:"";n(`✓ ${a}${i}`)},error:({transitionName:a,error:s})=>{console.error(`[Machine] ${a} failed:`,s)}})}function de(e,t,n={}){let{eventPrefix:r="state_transition",includePrevContext:o=!1,includeArgs:a=!1}=n;return g(e,{after:({transitionName:s,prevContext:i,nextContext:c,args:d})=>{let y=`${r}.${s}`,u={transition:s};o&&(u.from=i),u.to=c,a&&(u.args=d),t(y,u)}})}function ye(e,t){return g(e,{before:n=>{if(t(n)===!1)throw new Error(`Validation failed for transition: ${n.transitionName}`)}})}function ue(e,t){return g(e,{before:n=>{if(!t(n))throw new Error(`Unauthorized transition: ${n.transitionName}`)}})}function le(e,t,n={}){let{includeArgs:r=!1}=n;return g(e,{error:o=>{let a={transition:o.transitionName,context:o.context,...r&&{args:o.args}};t(o.error,a)}})}function xe(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 a=Date.now()-o;n.delete(r.transitionName);let s={transitionName:r.transitionName,duration:a,context:r.nextContext||r.prevContext};t(s)}}})}function Me(e,t={}){var c,d;let{maxAttempts:n=(c=t.maxRetries)!=null?c:3,shouldRetry:r=()=>!0,backoffMs:o=(d=t.delay)!=null?d:100,backoffMultiplier:a=2,onRetry:s}=t,i={...e};for(let y in e){if(!Object.prototype.hasOwnProperty.call(e,y))continue;let u=e[y];typeof u=="function"&&y!=="context"&&(i[y]=async function(...x){let l,M=0;for(;M<n;)try{return await u.apply(this,x)}catch(f){if(l=f,M++,M<n&&r(l,M)){s==null||s(l,M);let C=(typeof o=="function"?o(M):o)*Math.pow(a,M-1);await new Promise(T=>setTimeout(T,C))}else throw l}throw l})}return i}function $t(e,t){return n=>g(n,e,t)}function $(e,t={}){let{maxSize:n,serializer:r,onEntry:o}=t,a=[],s=0,i=g(e,{before:({transitionName:c,args:d})=>{let y={id:`entry-${s++}`,transitionName:c,args:[...d],timestamp:Date.now()};if(r)try{y.serializedArgs=r.serialize(d)}catch(u){console.error("Failed to serialize history args:",u)}a.push(y),n&&a.length>n&&a.shift(),o==null||o(y)}});return Object.assign(i,{history:a,clearHistory:()=>{a.length=0,s=0}})}function W(e,t={}){let{maxSize:n,serializer:r,captureSnapshot:o,onlyOnChange:a=!1}=t,s=[],i=0,c=g(e,{after:({transitionName:y,prevContext:u,nextContext:x})=>{if(a&&JSON.stringify(u)===JSON.stringify(x))return;let l={id:`snapshot-${i++}`,transitionName:y,before:{...u},after:{...x},timestamp:Date.now()};if(r)try{l.serializedBefore=r.serialize(u),l.serializedAfter=r.serialize(x)}catch(M){console.error("Failed to serialize snapshot:",M)}if(o)try{l.diff=o(u,x)}catch(M){console.error("Failed to capture snapshot:",M)}s.push(l),n&&s.length>n&&s.shift()}});return Object.assign(c,{snapshots:s,clearSnapshots:()=>{s.length=0,i=0},restoreSnapshot:y=>{let u=Object.fromEntries(Object.entries(e).filter(([x])=>x!=="context"&&x!=="snapshots"&&x!=="clearSnapshots"&&x!=="restoreSnapshot"&&typeof e[x]=="function"));return Object.assign({context:y},u)}})}function G(e,t={}){let{maxSize:n,serializer:r,onRecord:o}=t,a=[],s=[],i=0,c=0,d=g(e,{before:({transitionName:x,args:l})=>{let M={id:`entry-${i++}`,transitionName:x,args:[...l],timestamp:Date.now()};if(r)try{M.serializedArgs=r.serialize(l)}catch(f){console.error("Failed to serialize history args:",f)}a.push(M),n&&a.length>n&&a.shift(),o==null||o("history",M)},after:({transitionName:x,prevContext:l,nextContext:M})=>{let f={id:`snapshot-${c++}`,transitionName:x,before:{...l},after:{...M},timestamp:Date.now()};if(r)try{f.serializedBefore=r.serialize(l),f.serializedAfter=r.serialize(M)}catch(p){console.error("Failed to serialize snapshot:",p)}s.push(f),n&&s.length>n&&s.shift(),o==null||o("snapshot",f)}});return Object.assign(d,{history:a,snapshots:s,clearHistory:()=>{a.length=0,i=0},clearSnapshots:()=>{s.length=0,c=0},clearTimeTravel:()=>{a.length=0,s.length=0,i=0,c=0},restoreSnapshot:x=>{let l=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},l)},replayFrom:x=>{var C;if(x<0||x>=a.length)throw new Error(`Invalid replay start index: ${x}`);let l=(C=s[x])==null?void 0:C.before;if(!l)throw new Error(`No snapshot available for index ${x}`);let M=a.slice(x),p=Object.assign({context:l},Object.fromEntries(Object.entries(e).filter(([T])=>T!=="context"&&typeof e[T]=="function")));for(let T of M){let ee=p[T.transitionName];ee&&(p=ee.apply(p,T.args))}return p}})}function en(e,...t){return t.reduce((n,r)=>r(n),e)}function U(e,...t){return t.reduce((n,r)=>r(n),e)}var L=class e{constructor(t){this.machine=t}with(t){let n=t(this.machine);return new e(n)}build(){return this.machine}};function tn(e){return new L(e)}function q(e,t){let n=function(r){return t(r)?e(r):r};return n.middleware=e,n.when=t,n}function nn(e){return q(e,()=>typeof process!="undefined"?!1:typeof window!="undefined"?!window.location.hostname.includes("production"):!1)}function rn(e,t,n){return q(n,r=>r.context[e]===t)}function on(){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 a=e.get(o);if(!a)throw new Error(`Middleware '${o}' is not registered`);return a}).sort((o,a)=>{var s,i;return((s=o.priority)!=null?s:0)-((i=a.priority)!=null?i:0)});return U(t,...r.map(o=>o.middleware))},applyAll(t){let n=this.list();return U(t,...n.map(r=>r.middleware))}}}function an(e={}){let{continueOnError:t=!1,logErrors:n=!0,onError:r}=e;return(o,...a)=>{let s=o,i=[],c=!0;for(let d=0;d<a.length;d++){let y=a[d];try{if("middleware"in y&&"when"in y){if(!y.when(s))continue;s=y.middleware(s)}else s=y(s)}catch(u){if(c=!1,!t)throw u;i.push({error:u,middlewareIndex:d,middlewareName:y.name}),n&&console.error(`Pipeline middleware error at index ${d}:`,u),r==null||r(u,d,y.name)}}return{machine:s,errors:i,success:c}}}function sn(...e){return t=>U(t,...e)}function cn(e,t){return n=>{for(let[r,o]of e)if(r(n))return o(n);return t?t(n):n}}function fe(e){return typeof e=="function"&&e.length===1}function dn(e){return e!==null&&(typeof e=="object"||typeof e=="function")&&"middleware"in e&&"when"in e&&fe(e.middleware)&&typeof e.when=="function"}function yn(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||S(e.prevContext,t)&&S(e.nextContext,t))}function un(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||S(e.context,t))}function ln(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||S(e.context,t))}function xn(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 Mn(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 S(e,t){return e!==null&&typeof e=="object"}function fn(e){return e!==null&&typeof e=="object"&&"name"in e&&"middleware"in e&&typeof e.name=="string"&&fe(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 V=class{constructor(t){this.machine=t;this.middlewares=[]}withLogging(t){return this.middlewares.push(n=>ce(n,t)),this}withAnalytics(t,n){return this.middlewares.push(r=>de(r,t,n)),this}withValidation(t,n){return this.middlewares.push(r=>ye(r,t)),this}withPermissions(t){return this.middlewares.push(n=>ue(n,t)),this}withErrorReporting(t,n){return this.middlewares.push(r=>le(r,t,n)),this}withPerformanceMonitoring(t,n){return this.middlewares.push(r=>xe(r,t)),this}withRetry(t){return this.middlewares.push(n=>Me(n,t)),this}withHistory(t){return this.middlewares.push(n=>$(n,t)),this}withSnapshot(t){return this.middlewares.push(n=>W(n,t)),this}withTimeTravel(t){return this.middlewares.push(n=>G(n,t)),this}withDebugging(){return this.middlewares.push(t=>Ge(t)),this}withCustom(t){return this.middlewares.push(t),this}withConditional(t,n){return this.middlewares.push(q(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 We(e){return new V(e)}function hn(e={}){return{create:t=>{let n=We(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 Ge(e){return G(W($(e)))}function Y(e){let t={},n=e;for(;n&&n!==Object.prototype;){let r=Object.getOwnPropertyDescriptors(n);for(let[o,a]of Object.entries(r))o!=="constructor"&&(o in t||(t[o]=a));n=Object.getPrototypeOf(n)}return t}function Ue(...e){let t=e[0];class n extends t{constructor(a){super(a)}}let r=o=>function(...a){let s=o.apply(this,a);if(s&&typeof s=="object"&&"context"in s){let i={...this.context,...s.context};return new n(i)}return s};for(let o of e){let a=Y(o.prototype);for(let[s,i]of Object.entries(a))if(s!=="constructor")if(typeof i.value=="function"){let c=i.value,d=r(c);Object.defineProperty(n.prototype,s,{...i,value:d})}else Object.defineProperty(n.prototype,s,i)}return n}function Le(e,...t){class n extends m{constructor(a){super(a)}}let r=Y(e.prototype);for(let[o,a]of Object.entries(r))if(o!=="constructor")if(typeof a.value=="function"){let s=a.value,i=function(...c){let d=s.apply(this,c);return d&&typeof d=="object"&&"context"in d?new n({...this.context,...d.context}):d};Object.defineProperty(n.prototype,o,{...a,value:i})}else Object.defineProperty(n.prototype,o,a);for(let o of t){let a=Y(o.prototype);for(let s of Object.keys(a))Object.prototype.hasOwnProperty.call(n.prototype,s)&&delete n.prototype[s]}return n}function mn(...e){let t=e.map(a=>a.constructor),n=e.map(a=>a.context),r=Object.assign({},...n),o=Ue(...t);return new o(r)}function Tn(e,...t){let n=e.constructor,r=t.map(a=>a.constructor),o=Le(n,...r);return new o(e.context)}function Ve(e,t){return e instanceof t}function qe(e,...t){return{type:e,args:t}}function Ye(e,t){return v(e,n=>({...n,...t}))}async function Je(e,...t){let n=e;for(let r of t)n=await r(n);return n}function Qe(e,t){return t?console.log(t,e.context):console.log(e.context),e}function Xe(e,t){return function(...n){let r=t(this.context,...n);return h(r,e())}}function Ze(e,t,...n){return e.apply(t,n)}function pe(e){return new Proxy(e,{get(t,n){let r=t[n];return typeof r=="function"?function(...o){let a=r.apply(t,o);return a&&typeof a=="object"&&"context"in a?pe(a):a}:r}})}var J=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"?(...a)=>{let s=o.apply(this.wrappedMachine,a);return s&&typeof s=="object"&&"context"in s?new e(s):s}:o}})}};function et(){return function(t){return function(...n){let r=t(this.context,...n);return h(r,this)}}}function he(e){return{machine:e,addTransition:function(t,n){let r=function(...a){let s=n(this.context,...a);return h(s,this)},o=ge(e,{[t]:r});return he(o)}}}function Ce(e){return function(n){let r={},o=Object.fromEntries(Object.entries(n).map(([a,s])=>[a,function(...i){let c=s(this.context,...i);return h(c,r)}]));return Object.assign(r,o),h(e,r)}}function tt(e,t){return t!==void 0?h(e,t):Ce(e)}function nt(...e){let t=new Map;for(let[i,c,d]of e){if(t.has(i))throw new Error(`Duplicate matcher case name: "${i}"`);t.set(i,{predicate:d})}let n=new Proxy({},{get(i,c){return function(y){let u=t.get(c);if(!u){let x=Array.from(t.keys()).join(", ");throw new Error(`Unknown matcher case: "${c}". Available cases: ${x}`)}return u.predicate(y)}}}),r=new Proxy({},{get(i,c){return function(y){if(!t.has(c)){let u=Array.from(t.keys()).join(", ");throw new Error(`Unknown matcher case: "${c}". Available cases: ${u}`)}return{__brand:"CaseHandler",__name:c,__machine:void 0,__return:void 0,handler:y}}}}),o={__exhaustive:!0};function a(i){return{is(...c){if(c.length===0)throw new Error("Pattern match requires at least one handler and exhaustiveness marker");let d=c[c.length-1];if(!d||typeof d!="object"||!("__exhaustive"in d))throw new Error("Pattern match must end with match.exhaustive for compile-time exhaustiveness checking");let y=c.slice(0,-1);for(let l of y){let M=l.__name,f=t.get(M);if(!f)throw new Error(`Internal error: Unknown matcher case in handler: ${M}`);if(f.predicate(i))return l.handler(i)}let u=y.map(l=>l.__name).join(", "),x=Array.from(t.keys()).join(", ");throw new Error(`Non-exhaustive pattern match at runtime: no handler matched the machine.
|
|
2
|
+
Handled cases: [${u}]
|
|
3
3
|
All cases: [${x}]
|
|
4
|
-
This may occur if predicates don't cover all runtime possibilities.`)}}}function i
|
|
4
|
+
This may occur if predicates don't cover all runtime possibilities.`)}}}function s(i){for(let[c,d,y]of e)if(y(i))return c;return null}return Object.assign(s,{is:n,when:a,case:r,exhaustive:o})}function rt(e,t){return[e,void 0,n=>n instanceof t]}function ot(e,t,n){return[e,void 0,r=>Q(r,t,n)]}function at(e,t){return[e,void 0,t]}function st(){return{case(e,t,n){return[e,void 0,r=>Q(r,t,n)]}}}var R=class R{constructor(t){this._observers=new Set;this._queue=[];this._processing=!1;this._state=t,this.ref={send:n=>this.dispatch(n)},this.send=new Proxy({},{get:(n,r)=>(...o)=>{this.dispatch({type:r,args:o})}})}static inspect(t){R._inspector=t}getSnapshot(){return this._state}subscribe(t){return this._observers.add(t),()=>{this._observers.delete(t)}}select(t){return t(this._state)}start(){return this}stop(){this._observers.clear()}dispatch(t){if(R._inspector&&R._inspector({type:"@actor/send",actor:this,event:t,snapshot:this._state}),this._processing){this._queue.push(t);return}this._processing=!0,this._queue.push(t),this._flush()}_flush(){for(;this._queue.length>0;){let t=this._queue[0];this._queue.shift();let r=this._state[t.type];if(typeof r!="function"){console.warn(`[Actor] Transition '${String(t.type)}' not found.`);continue}let o;try{o=r.apply(this._state,t.args)}catch(a){console.error(`[Actor] Error in transition '${String(t.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(t.type)}':`,a),this._flush()});return}else this._state=o,this._notify()}this._processing=!1}_notify(){let t=this.getSnapshot();this._observers.forEach(n=>n(t))}};R._inspector=null;var O=R;function P(e){return new O(e)}function it(e){return P(e)}function ct(e){let n=h({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=P(n);return e().then(o=>r.send.resolve(o)).catch(o=>r.send.reject(o)),r}function dt(e){let n=h({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=P(n);return e.subscribe(o=>r.send.next(o),o=>r.send.error(o),()=>r.send.complete()),r}function me(e,t){let n=t,r=Object.fromEntries(Object.entries(t).map(([o,a])=>[o,function(...s){let i={context:this.context},c=a.apply(i,s);return me(c,n)}]));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 yt(e,t,...n){let r=e[t],o={context:e.context};return r.apply(o,n)}function ut(e){let t=Object.values(e).find(n=>typeof n=="function");return t?t.__contextBound===!0:!1}var X={};te(X,{factory:()=>pt,freeze:()=>Te,isState:()=>lt,machine:()=>K,match:()=>xt,run:()=>ft,runnable:()=>Mt,tag:()=>k,union:()=>ht,withChildren:()=>be});function k(e,t){return typeof e=="object"?e:t?{...t,tag:e}:{tag:e}}(t=>{function e(n){return n?r=>t(n,r):r=>o=>t(r,o)}t.factory=e})(k||(k={}));function lt(e,t){return e.tag===t}function Te(e){if(Object.freeze(e),typeof Object.values=="function")for(let t of Object.values(e))t&&typeof t=="object"&&Te(t);return e}function K(e,t){let r=t(e,o=>K(o,t));return Object.assign({},e,r)}function xt(e,t){let n=t[e.tag];return n(e)}var j=Symbol("lifecycle");function Mt(e,t){let n={...e};return n[j]=t,n}function ft(e){let t=e,n=null,r=new Set,o=()=>{r.forEach(i=>i(t))},a=()=>{n&&(n(),n=null);let i=t[j],c=t.tag,d=i==null?void 0:i[c];d!=null&&d.onEnter&&(n=d.onEnter(s))},s=(i,...c)=>{let d=t[i];if(typeof d=="function"){let y=d(...c);if(y&&typeof y=="object"&&"tag"in y){let u=y;!u[j]&&t[j]&&(u[j]=t[j]),t=u,a(),o()}}};return a(),{get:()=>t,send:s,stop:()=>{n&&(n(),n=null),r.clear()},subscribe:i=>(r.add(i),()=>r.delete(i))}}function be(e,t){let n={...e};for(let r of Object.keys(t)){let o=t[r],a=new Proxy(o,{get(s,i){let c=s[i];return typeof c=="function"?(...d)=>{let y=c(...d);return be({...e},{...t,[r]:y})}:c}});n[r]=a}return n}function pt(){return e=>t=>K(t,e)}function ht(){return e=>{let t=n=>{let r=e[n.tag];return K(n,(o,a)=>r(o,t))};return t}}var Z={};te(Z,{createDelegate:()=>Ct,delegate:()=>we,delegateAll:()=>gt,renameMap:()=>mt});function we(e,t,n,r){let o=e[t],a={},s=Object.keys(o).filter(c=>typeof o[c]=="function"),i;if(!r)i=Object.fromEntries(s.map(c=>[c,c]));else if("pick"in r)i=Object.fromEntries(r.pick.filter(c=>s.includes(c)).map(c=>[c,c]));else if("omit"in r){let c=new Set(r.omit);i=Object.fromEntries(s.filter(d=>!c.has(d)).map(d=>[d,d]))}else"rename"in r?i=Object.fromEntries(Object.entries(r.rename).filter(([c])=>s.includes(c))):i={};for(let[c,d]of Object.entries(i)){let y=o[c];a[d]=(...u)=>{let x=y.apply(o,u);return n({...e,[t]:x})}}return a}function Ct(e,t){return(n,r)=>we(e,n,t,r)}function gt(e,t,n,r=!1){let o={};for(let a of t){let s=e[a],i=Object.keys(s).filter(c=>typeof s[c]=="function");for(let c of i){let d=r?`${String(a)}_${c}`:c,y=s[c];o[d]=(...u)=>{let x=y.apply(s,u);return n({...e,[a]:x})}}}return o}function mt(){return e=>e}function h(e,t){if(typeof t=="function"){let a;return a=t(i=>h(i,a)),b(Object.assign({context:e},a),a)}let n=A(t),r=n!=null?n:"context"in t?F(t):t,o=Object.assign({context:e},r);return b(o,r)}function Tt(e,t){if(typeof t=="function"){let a;return a=t(i=>Tt(i,a)),b(Object.assign({context:e},a),a)}let n=A(t),r=n!=null?n:"context"in t?F(t):t,o=Object.assign({context:e},r);return b(o,r)}function Jn(){return e=>{let t=Object.fromEntries(Object.entries(e).map(([n,r])=>[n,function(...o){let a=r(this.context,...o);return h(a,t)}]));return n=>h(n,t)}}function v(e,t){var a;let n=e.context,r=(a=A(e))!=null?a:F(e),o=typeof t=="function"?t(n):t;return h(o,r)}function Qn(e){return{context:e}}function Xn(e,t){let{context:n,...r}=e,o={...r,...t};return h(n,o)}function ge(e,t){let{context:n,...r}=e,o={...r,...t};return h(n,o)}function Zn(e,t){return(...n)=>{let r=e(...n),o=t(),a={...r.context,...o.context},{context:s,...i}=r,{context:c,...d}=o,y={...i,...d};return h(a,y)}}function er(e){let{context:t,...n}=e;return r=>h(r,n)}function tr(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 Q(e,t,n){return e.context[t]===n}function nr(e,t){let n=e,r=null;async function o(a){r&&(r.abort(),r=null);let s=n[a.type];if(typeof s!="function")throw new Error(`[Machine] Unknown event type '${String(a.type)}' on current state.`);let i=new AbortController;r=i;try{let d=await s.apply(n,[...a.args,{signal:i.signal}]);return i.signal.aborted||(n=d,t==null||t(n)),n}finally{r===i&&(r=null)}}return{get state(){return n.context},dispatch:o,stop:()=>{r&&(r.abort(),r=null)}}}function rr(e,t){return v(e,n=>t(n))}export{O as Actor,J as BoundMachine,ie as CANCEL,Pe as META_KEY,m as MachineBase,Le as MachineExclude,Ue as MachineUnion,V as MiddlewareBuilder,ae as MultiMachineBase,Ne as action,pe as bindTransitions,cn as branch,Ze as call,yt as callWithContext,tn as chain,rt as classCase,sn as combine,Zn as combineFactories,en as compose,U as composeTyped,P as createActor,Tt as createAsyncMachine,Qn as createContext,me as createContextBoundMachine,$t as createCustomMiddleware,$e as createEnsemble,jt as createEnsembleFactory,qe as createEvent,zt as createFetchMachine,Ae as createFlow,Ce as createFunctionalMachine,h as createMachine,er as createMachineBuilder,Jn as createMachineFactory,nt as createMatcher,g as createMiddleware,hn as createMiddlewareFactory,on as createMiddlewareRegistry,St as createMultiMachine,Ot as createMutableMachine,se as createParallelMachine,an as createPipeline,De as createRunner,Xe as createTransition,he as createTransitionExtender,et as createTransitionFactory,at as customCase,Z as delegate,Ht as delegateToChild,Ke as describe,ot as discriminantCase,ge as extendTransitions,st as forContext,Te as freeze,dt as fromObservable,ct as fromPromise,_ as guard,B as guardAsync,_e as guarded,Q as hasState,nn as inDevelopment,Be as invoke,dn as isConditionalMiddleware,ut as isContextBound,un as isMiddlewareContext,ln as isMiddlewareError,fe as isMiddlewareFn,xn as isMiddlewareHooks,Mn as isMiddlewareOptions,yn as isMiddlewareResult,fn as isNamedMiddleware,pn as isPipelineConfig,Ve as isState,Qe as logState,Tn as machineExclude,mn as machineUnion,tr as matchMachine,Ye as mergeContext,ze as metadata,We as middlewareBuilder,X as minimal,rr as next,Xn as overrideTransitions,Je as pipeTransitions,re as run,Se as runAsync,nr as runMachine,je as runSequence,Fe as runWithDebug,Ft as runWithEnsemble,At as runWithRunner,v as setContext,it as spawn,tt as state,ve as step,Oe as stepAsync,k as tag,It as toggle,ke as transitionTo,q as when,rn as whenContext,He as whenGuard,Ie as whenGuardAsync,de as withAnalytics,Ge as withDebugging,le as withErrorReporting,$ as withHistory,ce as withLogging,xe as withPerformanceMonitoring,ue as withPermissions,Me as withRetry,W as withSnapshot,G as withTimeTravel,ye as withValidation,Re as yieldMachine};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function u(t,e){return typeof t=="object"?t:e?{...e,tag:t}:{tag:t}}(e=>{function t(n){return n?a=>e(n,a):a=>s=>e(a,s)}e.factory=t})(u||(u={}));function C(t,e){return t.tag===e}function p(t){if(Object.freeze(t),typeof Object.values=="function")for(let e of Object.values(t))e&&typeof e=="object"&&p(e);return t}function f(t,e){let a=e(t,s=>f(s,e));return Object.assign({},t,a)}function l(t,e){let n=e[t.tag];return n(t)}var g=Symbol("lifecycle");function b(t,e){let n={...t};return n[g]=e,n}function h(t){let e=t,n=null,a=new Set,s=()=>{a.forEach(r=>r(e))},x=()=>{n&&(n(),n=null);let r=e[g],c=e.tag,o=r==null?void 0:r[c];o!=null&&o.onEnter&&(n=o.onEnter(d))},d=(r,...c)=>{let o=e[r];if(typeof o=="function"){let i=o(...c);if(i&&typeof i=="object"&&"tag"in i){let y=i;!y[g]&&e[g]&&(y[g]=e[g]),e=y,x(),s()}}};return x(),{get:()=>e,send:d,stop:()=>{n&&(n(),n=null),a.clear()},subscribe:r=>(a.add(r),()=>a.delete(r))}}function T(t,e){let n={...t};for(let a of Object.keys(e)){let s=e[a],x=new Proxy(s,{get(d,r){let c=d[r];return typeof c=="function"?(...o)=>{let i=c(...o);return T({...t},{...e,[a]:i})}:c}});n[a]=x}return n}function j(){return t=>e=>f(e,t)}function R(){return t=>{let e=n=>{let a=t[n.tag];return f(n,(s,x)=>a(s,e))};return e}}export{j as factory,p as freeze,C as isState,f as machine,l as match,h as run,b as runnable,u as tag,R as union,T as withChildren};
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extracts the names of all function properties (transitions) from a type.
|
|
3
|
+
*/
|
|
4
|
+
type TransitionNamesOf<T> = {
|
|
5
|
+
[K in keyof T]: T[K] extends (...args: any[]) => any ? K : never;
|
|
6
|
+
}[keyof T];
|
|
7
|
+
/**
|
|
8
|
+
* Extracts the argument types of a function.
|
|
9
|
+
*/
|
|
10
|
+
type ArgsOf<F> = F extends (...args: infer A) => any ? A : never;
|
|
11
|
+
/**
|
|
12
|
+
* Creates delegated transitions that forward to a child and return the parent.
|
|
13
|
+
*
|
|
14
|
+
* @typeParam Child - Child machine type
|
|
15
|
+
* @typeParam Parent - Parent machine return type
|
|
16
|
+
*/
|
|
17
|
+
type DelegatedTransitions<Child extends object, Parent> = {
|
|
18
|
+
[K in TransitionNamesOf<Child>]: (...args: ArgsOf<Child[K]>) => Parent;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Renamed delegated transitions using a mapping object.
|
|
22
|
+
*
|
|
23
|
+
* @typeParam Child - Child machine type
|
|
24
|
+
* @typeParam Parent - Parent machine return type
|
|
25
|
+
* @typeParam Mapping - Object mapping child transition names to parent names
|
|
26
|
+
*/
|
|
27
|
+
type RenamedDelegatedTransitions<Child extends object, Parent, Mapping extends Partial<Record<TransitionNamesOf<Child>, string>>> = {
|
|
28
|
+
[K in keyof Mapping as Mapping[K] extends string ? Mapping[K] : never]: K extends TransitionNamesOf<Child> ? (...args: ArgsOf<Child[K]>) => Parent : never;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Subset of delegated transitions.
|
|
32
|
+
*
|
|
33
|
+
* @typeParam Child - Child machine type
|
|
34
|
+
* @typeParam Parent - Parent machine return type
|
|
35
|
+
* @typeParam Keys - Subset of child transition names to delegate
|
|
36
|
+
*/
|
|
37
|
+
type PickedDelegatedTransitions<Child extends object, Parent, Keys extends TransitionNamesOf<Child>> = {
|
|
38
|
+
[K in Keys]: (...args: ArgsOf<Child[K]>) => Parent;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Options for delegate function.
|
|
42
|
+
*/
|
|
43
|
+
type DelegateOptions<Child extends object> = {
|
|
44
|
+
pick: Array<TransitionNamesOf<Child>>;
|
|
45
|
+
} | {
|
|
46
|
+
omit: Array<TransitionNamesOf<Child>>;
|
|
47
|
+
} | {
|
|
48
|
+
rename: Partial<Record<TransitionNamesOf<Child>, string>>;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Delegates child machine transitions to the parent level.
|
|
52
|
+
*
|
|
53
|
+
* When a delegated transition is called on the parent, it:
|
|
54
|
+
* 1. Calls the corresponding transition on the child
|
|
55
|
+
* 2. Updates the parent's context with the new child state
|
|
56
|
+
* 3. Returns a new parent machine
|
|
57
|
+
*
|
|
58
|
+
* This enables "flat" composition where child transitions appear directly
|
|
59
|
+
* on the parent, as opposed to `withChildren()` which namespaces them.
|
|
60
|
+
*
|
|
61
|
+
* @typeParam Ctx - Parent context type
|
|
62
|
+
* @typeParam Key - Key where child is stored in parent context
|
|
63
|
+
* @typeParam R - Parent machine return type (e.g. Machine<Ctx, T>)
|
|
64
|
+
*
|
|
65
|
+
* @param ctx - Current parent context (from transition factory)
|
|
66
|
+
* @param key - Property key of the child machine in context
|
|
67
|
+
* @param next - The `next` function from the parent's transition factory
|
|
68
|
+
* @param options - Optional: pick, omit, or rename specific transitions
|
|
69
|
+
*
|
|
70
|
+
* @returns Object of delegated transitions to spread into parent's transitions
|
|
71
|
+
*/
|
|
72
|
+
export declare function delegate<Ctx extends object, Key extends keyof Ctx, R, Child extends Ctx[Key] & object = Ctx[Key] & object>(ctx: Ctx, key: Key, next: (c: Ctx) => R): DelegatedTransitions<Child, R>;
|
|
73
|
+
export declare function delegate<Ctx extends object, Key extends keyof Ctx, R, Child extends Ctx[Key] & object, Keys extends TransitionNamesOf<Child>>(ctx: Ctx, key: Key, next: (c: Ctx) => R, options: {
|
|
74
|
+
pick: Keys[];
|
|
75
|
+
}): PickedDelegatedTransitions<Child, R, Keys>;
|
|
76
|
+
export declare function delegate<Ctx extends object, Key extends keyof Ctx, R, Child extends Ctx[Key] & object, Keys extends TransitionNamesOf<Child>>(ctx: Ctx, key: Key, next: (c: Ctx) => R, options: {
|
|
77
|
+
omit: Keys[];
|
|
78
|
+
}): DelegatedTransitions<Omit<Child, Keys>, R>;
|
|
79
|
+
export declare function delegate<Ctx extends object, Key extends keyof Ctx, R, Child extends Ctx[Key] & object, Mapping extends Partial<Record<TransitionNamesOf<Child>, string>>>(ctx: Ctx, key: Key, next: (c: Ctx) => R, options: {
|
|
80
|
+
rename: Mapping;
|
|
81
|
+
}): RenamedDelegatedTransitions<Child, R, Mapping>;
|
|
82
|
+
/**
|
|
83
|
+
* Type helper to get transition names from a machine or object.
|
|
84
|
+
* Useful for type-safe pick/omit/rename options.
|
|
85
|
+
*/
|
|
86
|
+
export type TransitionsOf<M> = TransitionNamesOf<M>;
|
|
87
|
+
/**
|
|
88
|
+
* Creates a delegate helper bound to a specific context and next function.
|
|
89
|
+
* Useful when delegating multiple children to avoid repetition.
|
|
90
|
+
*/
|
|
91
|
+
export declare function createDelegate<Ctx extends object, R>(ctx: Ctx, next: (c: Ctx) => R): <Key extends keyof Ctx>(key: Key, options?: DelegateOptions<Ctx[Key] & object>) => PickedDelegatedTransitions<Ctx[Key] & object, R, TransitionNamesOf<Ctx[Key] & object>>;
|
|
92
|
+
/**
|
|
93
|
+
* Delegates all transitions from multiple children, optionally with a prefix.
|
|
94
|
+
*/
|
|
95
|
+
export declare function delegateAll<Ctx extends object, Keys extends keyof Ctx, R>(ctx: Ctx, keys: Keys[], next: (c: Ctx) => R, prefix?: boolean): Record<string, (...args: unknown[]) => R>;
|
|
96
|
+
/**
|
|
97
|
+
* Type-safe helper to create a rename mapping for delegate.
|
|
98
|
+
*/
|
|
99
|
+
export declare function renameMap<M extends object>(): <T extends Partial<Record<TransitionNamesOf<M>, string>>>(mapping: T) => T;
|
|
100
|
+
export {};
|
|
101
|
+
//# sourceMappingURL=delegate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delegate.d.ts","sourceRoot":"","sources":["../../src/delegate.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -612,4 +612,7 @@ export { createTransitionFactory, createTransitionExtender, createFunctionalMach
|
|
|
612
612
|
export { createMatcher, classCase, discriminantCase, customCase, forContext, type MatcherCase, type CasesToMapping, type MatcherUnion, type CaseNames, type CaseHandler, type ExhaustivenessMarker, type IsExhaustive, type WhenBuilder, type Matcher } from './matcher';
|
|
613
613
|
export { Actor, createActor, spawn, fromPromise, fromObservable, type ActorRef, type InspectionEvent } from './actor';
|
|
614
614
|
export { createContextBoundMachine, callWithContext, isContextBound, type ContextBoundMachine } from './context-bound';
|
|
615
|
+
export * as minimal from './minimal';
|
|
616
|
+
export * as delegate from './delegate';
|
|
617
|
+
export * from './types';
|
|
615
618
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview A minimal, type-safe typestate library.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* A state machine combining context (state data) with transitions (methods).
|
|
6
|
+
*/
|
|
7
|
+
export type Machine<C extends object, T> = C & T;
|
|
8
|
+
export * from './types';
|
|
9
|
+
import { type Tagged, type TagOf, type Cleanup } from './types';
|
|
10
|
+
/**
|
|
11
|
+
* Creates a state machine by bundling context with transitions.
|
|
12
|
+
*
|
|
13
|
+
* Note: 'any' is used in the 'next' callback signature to break recursive
|
|
14
|
+
* inference cycles. This is required for TypeScript to correctly infer
|
|
15
|
+
* transitions 'T' from the return object of the factory.
|
|
16
|
+
*/
|
|
17
|
+
export declare function machine<C extends object, T>(context: C, factory: (ctx: C, next: (context: C) => any) => T): C & T;
|
|
18
|
+
/**
|
|
19
|
+
* Handler functions for each case in a tagged union.
|
|
20
|
+
*/
|
|
21
|
+
export type MatchCases<T extends Tagged, R> = {
|
|
22
|
+
[K in TagOf<T>]: (state: Extract<T, {
|
|
23
|
+
tag: K;
|
|
24
|
+
}>) => R;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Exhaustive pattern matching on tagged unions.
|
|
28
|
+
*/
|
|
29
|
+
export declare function match<T extends Tagged, R>(state: T, cases: MatchCases<T, R>): R;
|
|
30
|
+
export interface Lifecycle<E extends string = string> {
|
|
31
|
+
onEnter?: (send: Send<E>) => Cleanup;
|
|
32
|
+
}
|
|
33
|
+
export type Send<E extends string = string> = (event: E, ...args: unknown[]) => void;
|
|
34
|
+
export type LifecycleMap<Tags extends string> = {
|
|
35
|
+
[K in Tags]?: Lifecycle<string>;
|
|
36
|
+
};
|
|
37
|
+
declare const LIFECYCLE: unique symbol;
|
|
38
|
+
export type RunnableMachine<M, Tags extends string> = M & {
|
|
39
|
+
[LIFECYCLE]?: LifecycleMap<Tags>;
|
|
40
|
+
};
|
|
41
|
+
export declare function runnable<M extends Tagged, Tags extends string = TagOf<M>>(initialMachine: M, lifecycles: LifecycleMap<Tags>): RunnableMachine<M, Tags>;
|
|
42
|
+
export interface Runner<M> {
|
|
43
|
+
get: () => M;
|
|
44
|
+
send: Send<string>;
|
|
45
|
+
stop: () => void;
|
|
46
|
+
subscribe: (listener: (state: M) => void) => () => void;
|
|
47
|
+
}
|
|
48
|
+
export declare function run<M extends Tagged>(initial: RunnableMachine<M, string>): Runner<M>;
|
|
49
|
+
export type ParentMachine<P extends object, C extends Record<string, object>> = P & {
|
|
50
|
+
[K in keyof C]: ChildProxy<P, C, C[K]>;
|
|
51
|
+
};
|
|
52
|
+
type ChildProxy<P extends object, C extends Record<string, object>, Child extends object> = {
|
|
53
|
+
[K in keyof Child]: Child[K] extends (...args: infer A) => unknown ? (...args: A) => ParentMachine<P, C> : Child[K];
|
|
54
|
+
};
|
|
55
|
+
export declare function withChildren<P extends object, C extends Record<string, object>>(parent: P, children: C): ParentMachine<P, C>;
|
|
56
|
+
export declare function factory<C extends object>(): <T>(transitionFactory: (ctx: C, next: (context: C) => any) => T) => (context: C) => C & T;
|
|
57
|
+
/**
|
|
58
|
+
* Extracts the union of all possible machine states from a union factory.
|
|
59
|
+
*/
|
|
60
|
+
export type UnionOf<F extends (...args: any[]) => any> = ReturnType<F>;
|
|
61
|
+
/**
|
|
62
|
+
* Creates a union factory that routes to different transition factories based on a tag.
|
|
63
|
+
* This is the primary way to define multi-state machines (Type-States) in the minimal API.
|
|
64
|
+
*
|
|
65
|
+
* @param factories - A map of tags to transition factories.
|
|
66
|
+
* @returns A single factory function that produces the correct machine based on the input context's tag.
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* const auth = union({
|
|
70
|
+
* idle: (ctx, next) => ({ login: () => next({ tag: 'loggedIn', user: 'alice' }) }),
|
|
71
|
+
* loggedIn: (ctx, next) => ({ logout: () => next({ tag: 'idle' }) })
|
|
72
|
+
* });
|
|
73
|
+
*
|
|
74
|
+
* const m = auth({ tag: 'idle' });
|
|
75
|
+
* const next = m.login(); // Transition to loggedIn state
|
|
76
|
+
*/
|
|
77
|
+
/**
|
|
78
|
+
* Creates a union factory that routes to different transition factories based on a tag.
|
|
79
|
+
* This is the primary way to define multi-state machines (Type-States) in the minimal API.
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* const auth = union<AuthState>()({
|
|
83
|
+
* idle: (ctx, next) => ({ login: () => next({ tag: 'loggedIn', user: 'alice' }) }),
|
|
84
|
+
* loggedIn: (ctx, next) => ({ logout: () => next({ tag: 'idle' }) })
|
|
85
|
+
* });
|
|
86
|
+
*
|
|
87
|
+
* const m = auth({ tag: 'idle' });
|
|
88
|
+
* const next = m.login(); // Transition to loggedIn state
|
|
89
|
+
*/
|
|
90
|
+
export declare function union<C extends Tagged>(): <F extends { [K in TagOf<C>]: (ctx: Extract<C, {
|
|
91
|
+
tag: K;
|
|
92
|
+
}>, next: (c: C) => any) => any; }>(factories: F) => <T extends C>(context: T) => { [K in TagOf<C> & keyof F]: F[K] extends (ctx: any, next: any) => infer T_1 ? Extract<C, {
|
|
93
|
+
tag: K;
|
|
94
|
+
}> & T_1 : never; }[T["tag"] & TagOf<C> & keyof F];
|
|
95
|
+
//# sourceMappingURL=minimal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"minimal.d.ts","sourceRoot":"","sources":["../../src/minimal.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Utility types for the machine library.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Extracts the context type from a machine (works with regular and minimal machines).
|
|
6
|
+
*/
|
|
7
|
+
export type Context<M> = M extends {
|
|
8
|
+
readonly context: infer C;
|
|
9
|
+
} ? C : M;
|
|
10
|
+
/**
|
|
11
|
+
* Extracts the transitions type from a machine (works with regular and minimal machines).
|
|
12
|
+
*/
|
|
13
|
+
export type Transitions<M> = M extends {
|
|
14
|
+
readonly context: any;
|
|
15
|
+
} & infer T ? T : M;
|
|
16
|
+
/**
|
|
17
|
+
* A discriminated union type representing an event that can be dispatched to a machine.
|
|
18
|
+
*/
|
|
19
|
+
export type Tagged<T extends string = string> = {
|
|
20
|
+
readonly tag: T;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Extracts the tag literal type from a tagged object.
|
|
24
|
+
*/
|
|
25
|
+
export type TagOf<T extends Tagged> = T['tag'];
|
|
26
|
+
/**
|
|
27
|
+
* Utility to define a union of tagged states from a mapping type.
|
|
28
|
+
* @example
|
|
29
|
+
* type PickMode = States<{
|
|
30
|
+
* idle: {},
|
|
31
|
+
* active: { isCloseMode: boolean; timeoutId: number }
|
|
32
|
+
* }>;
|
|
33
|
+
*/
|
|
34
|
+
export type States<M extends Record<string, object>> = {
|
|
35
|
+
[K in keyof M]: {
|
|
36
|
+
readonly tag: K;
|
|
37
|
+
} & M[K];
|
|
38
|
+
}[keyof M];
|
|
39
|
+
/**
|
|
40
|
+
* Cleanup function returned from onEnter.
|
|
41
|
+
*/
|
|
42
|
+
export type Cleanup = () => void;
|
|
43
|
+
/**
|
|
44
|
+
* Extracts the return type from a factory function.
|
|
45
|
+
* @example
|
|
46
|
+
* const factory = () => machine({ count: 0 }, { ... });
|
|
47
|
+
* type MyMachine = InferMachine<typeof factory>;
|
|
48
|
+
*/
|
|
49
|
+
export type InferMachine<F extends (...args: any[]) => any> = ReturnType<F>;
|
|
50
|
+
/**
|
|
51
|
+
* Alias for InferMachine, more descriptive for state machine contexts.
|
|
52
|
+
*/
|
|
53
|
+
export type MachineOf<F extends (...args: any[]) => any> = InferMachine<F>;
|
|
54
|
+
/**
|
|
55
|
+
* Creates a tagged object or adds a tag to an existing object.
|
|
56
|
+
*/
|
|
57
|
+
export declare function tag<T extends string>(name: T): {
|
|
58
|
+
tag: T;
|
|
59
|
+
};
|
|
60
|
+
export declare function tag<T extends string, O extends object>(name: T, props: O): {
|
|
61
|
+
tag: T;
|
|
62
|
+
} & O;
|
|
63
|
+
export declare function tag<const T extends {
|
|
64
|
+
tag: string;
|
|
65
|
+
}>(obj: T): T;
|
|
66
|
+
/**
|
|
67
|
+
* Namespace for tag factory utility.
|
|
68
|
+
*/
|
|
69
|
+
export declare namespace tag {
|
|
70
|
+
/**
|
|
71
|
+
* Creates a pre-bound tag factory for a specific state.
|
|
72
|
+
*
|
|
73
|
+
* @typeParam C - Context (data) type
|
|
74
|
+
* @typeParam T - Transitions type (optional, for machine return types)
|
|
75
|
+
* @param name - The tag name for this state
|
|
76
|
+
* @returns A function that takes context data and returns a tagged object
|
|
77
|
+
*
|
|
78
|
+
* @typeParam C - Context (data) type
|
|
79
|
+
* @typeParam T - Transitions type (optional)
|
|
80
|
+
* @param name - The tag name
|
|
81
|
+
* @example const idle = tag.factory<{ count: number }>('idle');
|
|
82
|
+
*/
|
|
83
|
+
function factory<C extends object, T extends object = {}>(name: string): (props: C) => {
|
|
84
|
+
readonly tag: string;
|
|
85
|
+
} & C & T;
|
|
86
|
+
/**
|
|
87
|
+
* Creates a curried tag factory, ideal for use with the States utility.
|
|
88
|
+
* @example const state = tag.factory<AppState>()('idle')({ count: 0 });
|
|
89
|
+
*/
|
|
90
|
+
function factory<C extends object, T extends object = {}>(): <K extends string>(name: K) => (props: Omit<Extract<C, {
|
|
91
|
+
tag: K;
|
|
92
|
+
}>, 'tag'>) => (Extract<C, {
|
|
93
|
+
tag: K;
|
|
94
|
+
}> extends never ? {
|
|
95
|
+
readonly tag: K;
|
|
96
|
+
} & C : Extract<C, {
|
|
97
|
+
tag: K;
|
|
98
|
+
}>) & T;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Type guard to check if a machine or object is in a specific state.
|
|
102
|
+
*/
|
|
103
|
+
export declare function isState<M extends Tagged, Tag extends TagOf<M>>(machine: M, tagValue: Tag): machine is Extract<M, {
|
|
104
|
+
tag: Tag;
|
|
105
|
+
}>;
|
|
106
|
+
/**
|
|
107
|
+
* Recursively freezes an object and its properties.
|
|
108
|
+
*/
|
|
109
|
+
export declare function freeze<T extends object>(obj: T): Readonly<T>;
|
|
110
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|