@doeixd/machine 0.0.8 → 0.0.9
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/index.js +120 -0
- package/dist/cjs/development/index.js.map +2 -2
- package/dist/cjs/production/index.js +4 -4
- package/dist/esm/development/index.js +120 -0
- package/dist/esm/development/index.js.map +2 -2
- package/dist/esm/production/index.js +5 -5
- package/dist/types/extract.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/primitives.d.ts +117 -17
- package/dist/types/primitives.d.ts.map +1 -1
- package/package.json +9 -6
- package/scripts/extract-statechart.ts +351 -0
- package/src/extract.ts +59 -19
- package/src/index.ts +4 -0
- package/src/primitives.ts +287 -27
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
var
|
|
2
|
-
🔍 Analyzing machine: ${e.id}`),console.error(` Source: ${e.input}`));let r=t.getSourceFile(e.input);if(!r)throw new Error(`Source file not found: ${e.input}`);if(e.parallel){n&&console.error(" ⏹️ Parallel machine detected. Analyzing regions.");let i={id:e.id,type:"parallel",states:{}};e.description&&(i.description=e.description);for(let a of e.parallel.regions){n&&console.error(` 📍 Analyzing region: ${a.name}`);let s={};for(let c of a.classes){let
|
|
3
|
-
📊 Starting statechart extraction`),console.error(` Machines to extract: ${e.machines.length}`));let n=new
|
|
4
|
-
✅ Extraction complete: ${r.length}/${e.machines.length} machines extracted`),r}function
|
|
5
|
-
`);let t=new Z;t.addSourceFilesAtPaths("src/**/*.ts"),t.addSourceFilesAtPaths("examples/**/*.ts");try{let n=_(e,t,!0);console.log(JSON.stringify(n,null,2))}catch(n){console.error("❌ Error:",n),process.exit(1)}}X.main===module&&te();function ne(e){return typeof e!="function"?null:e[A]||null}function W(e){let t={on:{}},n=[];for(let r in e){let o=e[r];if(typeof o!="function")continue;let i=ne(o);if(i){if(i.invoke&&n.push({src:i.invoke.src,onDone:{target:i.invoke.onDone},onError:{target:i.invoke.onError},description:i.invoke.description}),i.target){let a={target:i.target};i.description&&(a.description=i.description),i.guards&&i.guards.length>0&&(a.cond=i.guards.map(s=>s.name).join(" && ")),i.actions&&i.actions.length>0&&(a.actions=i.actions.map(s=>s.name)),t.on[r]=a}else if(i.guards&&i.guards.length>0){let a={target:"GuardedTransition",cond:i.guards.map(s=>s.name).join(" && ")};i.description&&(a.description=i.description),t.on[r]=a}}}return n.length>0&&(t.invoke=n),t}function je(e,t){let n={id:t.id,initial:t.initial,states:{}};t.description&&(n.description=t.description);for(let[r,o]of Object.entries(e))n.states[r]=W(o);return n}function ke(e,t){let n=t.stateName||e.constructor.name||"State";return{id:t.id,initial:n,states:{[n]:W(e)}}}function Ne(e,t){let n=e,r=s=>{n=s,t==null||t(s)},{context:o,...i}=e,a=new Proxy({},{get(s,c){let d=n[c];if(typeof d=="function")return(...u)=>{let x=d.apply(n.context,u),y=Object.assign({context:x.context},i);return r(y),y}}});return{get state(){return n},get context(){return n.context},actions:a,setState:r}}function xt(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(),c=s[a];if(typeof c!="function")throw new Error(`[Ensemble] Transition "${a}" is not valid in the current state.`);return(...d)=>c.apply(s.context,d)}});return{get context(){return e.getContext()},get state(){return r()},actions:o}}function pt(e,t){let n=Ne(t),r=e(n),o=r.next();for(;!o.done;)o=r.next();return o.value}function ht(e,t){let n=e(t),r=n.next();for(;!r.done;)r=n.next();return r.value}var re=class{constructor(t){this.store=t}get context(){return this.store.getContext()}setContext(t){this.store.setContext(t)}};function gt(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 Ct(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(),c=s[i];if(typeof c=="function")return(...d)=>{let u=c.apply(s.context,d);if(typeof u!="object"||u===null){console.warn(`[MutableMachine] Transition "${String(i)}" did not return a valid context object. State may be inconsistent.`);return}Object.keys(o).forEach(x=>delete o[x]),Object.assign(o,u)}},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 St(e){return function(...t){let n=this.context.child;if(typeof n[e]=="function"){let r=n[e](...t);return O(this,{...this.context,child:r})}return this}}function Ft(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.`),O(this,{...this.context,[e]:!this.context[e]})}}var H=class extends T{constructor(n){super({status:"idle"});this.config=n;this.fetch=n=>new S(this.config,n!=null?n:this.config.initialParams,1)}},S=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 L(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 I(this.config,this.params,n,this.context.attempts):((a=(i=this.config).onError)==null||a.call(i,n),new G(this.config,{status:"error",error:n}))};this.cancel=()=>(this.context.abortController.abort(),new V(this.config));this.execute()}async execute(){}},I=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 S(this.config,n!=null?n:this.params,this.context.attempts+1)}},L=class extends T{constructor(n,r){super(r);this.config=n;this.refetch=n=>new S(this.config,n!=null?n:this.config.initialParams,1)}},G=class extends T{constructor(n,r){super(r);this.config=n;this.retry=n=>new S(this.config,n!=null?n:this.config.initialParams,1)}},V=class extends T{constructor(n){super({status:"canceled"});this.config=n;this.refetch=n=>new S(this.config,n!=null?n:this.config.initialParams,1)}};function Pt(e){return new H(e)}function oe(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]=(...c)=>{let d=s.apply(e.context,c);return oe(d,t)}}for(let a in o){let s=o[a];i[a]=(...c)=>{let d=s.apply(t.context,c);return oe(e,d)}}return{context:n,...i}}var ie=Symbol("CANCEL");function w(e,t,n={}){let{mode:r="auto",exclude:o=["context"]}=n,i={};for(let a in e){if(!Object.prototype.hasOwnProperty.call(e,a))continue;let s=e[a];if(a==="context"){i.context=s;continue}if(o.includes(a)){i[a]=s;continue}if(typeof s!="function"||a.startsWith("_")){i[a]=s;continue}i[a]=ze(a,s,e,t,r)}return i}function ze(e,t,n,r,o){return function(...a){let s=n.context,c={transitionName:e,context:s,args:a},d=()=>{try{if(r.before){let f=r.before(c);if(f===ie)return n;if(f instanceof Promise)throw new Error(`Middleware mode is 'sync' but before hook returned Promise for transition: ${e}`)}let y=t.call(this,...a);if(y instanceof Promise)return u(y,s);if(r.after){let f={transitionName:e,prevContext:s,nextContext:y.context,args:a};if(r.after(f)instanceof Promise)throw new Error(`Middleware mode is 'sync' but after hook returned Promise for transition: ${e}`)}return y}catch(y){if(r.error){let f={transitionName:e,context:s,args:a,error:y},l=r.error(f);if(l instanceof Promise)throw l.catch(()=>{}),y;if(l&&typeof l=="object"&&"context"in l)return l}throw y}},u=async(y,f)=>{try{let l=await y;if(r.after){let h={transitionName:e,prevContext:f,nextContext:l.context,args:a};await r.after(h)}return l}catch(l){if(r.error){let h={transitionName:e,context:f,args:a,error:l},M=await r.error(h);if(M&&typeof M=="object"&&"context"in M)return M}throw l}},x=async()=>{try{if(r.before&&await r.before(c)===ie)return n;let y=await t.call(this,...a);if(r.after){let f={transitionName:e,prevContext:s,nextContext:y.context,args:a};await r.after(f)}return y}catch(y){if(r.error){let f={transitionName:e,context:s,args:a,error:y},l=await r.error(f);if(l&&typeof l=="object"&&"context"in l)return l}throw y}};return o==="async"?x():d()}}function Be(e,t={}){let{logger:n=console.log,includeContext:r=!0,includeArgs:o=!0}=t;return w(e,{before:({transitionName:i,args:a})=>{let s=o&&a.length>0?` ${JSON.stringify(a)}`:"";n(`→ ${i}${s}`)},after:({transitionName:i,nextContext:a})=>{let s=r?` ${JSON.stringify(a)}`:"";n(`✓ ${i}${s}`)}})}function $e(e,t,n={}){let{eventPrefix:r="state_transition",includePrevContext:o=!1,includeArgs:i=!0}=n;return w(e,{after:async({transitionName:a,prevContext:s,nextContext:c,args:d})=>{let u={transition:a,to:c};o&&(u.from=s),i&&d.length>0&&(u.args=d),await t(`${r}.${a}`,u)}},{mode:"async"})}function De(e,t,n){return w(e,{before:r=>{let o=t(r);if(o instanceof Promise)return o.then(i=>{if(i===!1)throw new Error(`Validation failed for transition: ${r.transitionName}`)});if(o===!1)throw new Error(`Validation failed for transition: ${r.transitionName}`)}},{mode:"auto",...n})}function Ke(e,t,n){return w(e,{before:r=>{let o=t(r);if(o instanceof Promise)return o.then(i=>{if(!i)throw new Error(`Unauthorized transition: ${r.transitionName}`)});if(!o)throw new Error(`Unauthorized transition: ${r.transitionName}`)}},{mode:"auto",...n})}function _e(e,t,n={}){let{includeContext:r=!0,includeArgs:o=!0,mode:i}=n;return w(e,{error:async({transitionName:a,context:s,args:c,error:d})=>{let u={transition:a};r&&(u.context=s),o&&c.length>0&&(u.args=c),await Promise.resolve(t(d,u))}},{mode:i})}function We(e,t){let n=new Map;return w(e,{before:({transitionName:r})=>{n.set(r,performance.now())},after:({transitionName:r,nextContext:o})=>{let i=n.get(r);if(i){let a=performance.now()-i;n.delete(r);let s=t({transitionName:r,duration:a,context:o});if(s instanceof Promise)return s}}},{mode:"auto"})}function He(e,t={}){let{maxRetries:n=3,delay:r=1e3,backoffMultiplier:o=1,shouldRetry:i=()=>!0,onRetry:a}=t,s={};for(let c in e){if(!Object.prototype.hasOwnProperty.call(e,c))continue;let d=e[c];if(c==="context"||typeof d!="function"){s[c]=d;continue}s[c]=async function(...x){let y;for(let f=0;f<=n;f++)try{return await d.call(this,...x)}catch(l){if(y=l,f===n||!i(y))break;a==null||a(f+1,y);let h=r*Math.pow(o,f);await new Promise(M=>setTimeout(M,h))}throw y}}return s}function ae(e,t={}){let{maxSize:n,serializer:r,filter:o,onEntry:i,_isRewrap:a=!1}=t,s=[],c=0,d=w(e,{before:({transitionName:u,args:x})=>{if(o&&!o(u,x))return;let y={id:`entry-${c++}`,transitionName:u,args:[...x],timestamp:Date.now()};if(r)try{y.serializedArgs=r.serialize(x)}catch(f){console.error("Failed to serialize history args:",f)}s.push(y),n&&s.length>n&&s.shift(),i==null||i(y)}},{exclude:["context","history","clearHistory"]});if(!a)for(let u in d){if(!Object.prototype.hasOwnProperty.call(d,u))continue;let x=d[u];if(typeof x=="function"&&!u.startsWith("_")&&u!=="context"&&!["history","clearHistory"].includes(u)){let y=x;d[u]=function(...f){let l=y.apply(this,f);if(l&&typeof l=="object"&&"context"in l&&!("history"in l)){let h=w(l,{before:({transitionName:M,args:g})=>{if(o&&!o(M,g))return;let p={id:`entry-${c++}`,transitionName:M,args:[...g],timestamp:Date.now()};if(r)try{p.serializedArgs=r.serialize(g)}catch(b){console.error("Failed to serialize history args:",b)}s.push(p),n&&s.length>n&&s.shift(),i==null||i(p)}},{exclude:["context","history","clearHistory"]});return Object.assign(h,{history:s,clearHistory:()=>{s.length=0,c=0}})}return l}}}return Object.assign(d,{history:s,clearHistory:()=>{s.length=0,c=0}})}function se(e,t={}){let{maxSize:n,serializer:r,captureSnapshot:o,onlyIfChanged:i=!1,filter:a,onSnapshot:s,_extraExclusions:c=[],_isRewrap:d=!1}=t,u=[],x=0,y=w(e,{after:({transitionName:l,prevContext:h,nextContext:M})=>{if(a&&!a(l)||i&&!(JSON.stringify(h)!==JSON.stringify(M)))return;let g={id:`snapshot-${x++}`,transitionName:l,before:{...h},after:{...M},timestamp:Date.now()};if(r)try{g.serializedBefore=r.serialize(h),g.serializedAfter=r.serialize(M)}catch(p){console.error("Failed to serialize snapshot:",p)}if(o)try{g.diff=o(h,M)}catch(p){console.error("Failed to capture snapshot:",p)}u.push(g),n&&u.length>n&&u.shift(),s==null||s(g)}},{exclude:["context","snapshots","clearSnapshots","restoreSnapshot",...c]}),f=l=>{let{context:h,...M}=e;return{context:l,...M}};if(!d)for(let l in y){if(!Object.prototype.hasOwnProperty.call(y,l))continue;let h=y[l];if(typeof h=="function"&&!l.startsWith("_")&&l!=="context"&&!["snapshots","clearSnapshots","restoreSnapshot","history","clearHistory"].includes(l)){let M=h;y[l]=function(...g){let p=M.apply(this,g);if(p&&typeof p=="object"&&"context"in p&&!("snapshots"in p)){for(let m in p){if(!Object.prototype.hasOwnProperty.call(p,m))continue;let R=p[m];if(typeof R=="function"&&!m.startsWith("_")&&m!=="context"&&!["snapshots","clearSnapshots","restoreSnapshot","history","clearHistory"].includes(m)){let ue=R;p[m]=function(...ye){let j=p.context,v=ue.apply(this,ye);if(v&&typeof v=="object"&&"context"in v){let k=v.context;if(!(a&&!a(m))){let Y=!0;if(i&&(Y=JSON.stringify(j)!==JSON.stringify(k)),Y){let F={id:`snapshot-${x++}`,transitionName:m,before:{...j},after:{...k},timestamp:Date.now()};if(r)try{F.serializedBefore=r.serialize(j),F.serializedAfter=r.serialize(k)}catch($){console.error("Failed to serialize snapshot:",$)}if(o)try{F.diff=o(j,k)}catch($){console.error("Failed to capture snapshot:",$)}u.push(F),n&&u.length>n&&u.shift(),s==null||s(F)}}}return v}}}let b=Object.assign(p,{snapshots:u,clearSnapshots:()=>{u.length=0,x=0},restoreSnapshot:f});return e.history&&(b.history=e.history,b.clearHistory=e.clearHistory),b}return p}}}return Object.assign(y,{snapshots:u,clearSnapshots:()=>{u.length=0,x=0},restoreSnapshot:f})}function ce(e,t={}){let{maxSize:n,serializer:r,onRecord:o}=t,i=[],a=[],s=0,c=0,d=(l,h)=>{let M={id:`entry-${s++}`,transitionName:l,args:[...h],timestamp:Date.now()};if(r)try{M.serializedArgs=r.serialize(h)}catch(g){console.error("Failed to serialize history args:",g)}i.push(M),n&&i.length>n&&i.shift(),o==null||o("history",M)},u=(l,h,M)=>{let g={id:`snapshot-${c++}`,transitionName:l,before:{...h},after:{...M},timestamp:Date.now()};if(r)try{g.serializedBefore=r.serialize(h),g.serializedAfter=r.serialize(M)}catch(p){console.error("Failed to serialize snapshot:",p)}a.push(g),n&&a.length>n&&a.shift(),o==null||o("snapshot",g)},x=l=>{let{context:h,...M}=e;return Object.assign({context:l},l,M)},y=(l=0)=>{if(l<0||l>=a.length)throw new Error(`Invalid snapshot index: ${l}`);let h=x(a[l].before),M=a[l],g=i.findIndex(p=>p.transitionName===M.transitionName&&p.timestamp===M.timestamp);if(g===-1)throw new Error("Could not find matching history entry for snapshot");for(let p=g;p<i.length;p++){let b=i[p],m=h[b.transitionName];if(typeof m=="function")try{h=m.apply(h.context,b.args)}catch(R){throw console.error(`Replay failed at step ${p}:`,R),R}}return h},f=l=>{let h={...l};for(let M in l){if(!Object.prototype.hasOwnProperty.call(l,M))continue;let g=l[M];typeof g=="function"&&!M.startsWith("_")&&M!=="context"&&!["history","snapshots","clearHistory","clearSnapshots","clearTimeTravel","restoreSnapshot","replayFrom"].includes(M)&&(h[M]=function(...p){d(M,p);let b=h.context,m=g.apply(this,p);return m&&typeof m=="object"&&"context"in m&&u(M,b,m.context),m&&typeof m=="object"&&"context"in m?f(m):m})}return Object.assign(h,{history:i,snapshots:a,clearHistory:()=>{i.length=0,s=0},clearSnapshots:()=>{a.length=0,c=0},clearTimeTravel:()=>{i.length=0,a.length=0,s=0,c=0},restoreSnapshot:x,replayFrom:y})};return f(e)}function Ie(e,...t){return t.reduce((n,r)=>r(n),e)}function Le(e,t){return n=>w(n,e,t)}function B(e,...t){return t.reduce((n,r)=>r(n),e)}function Ge(e){return new U(e)}var U=class e{constructor(t){this.machine=t}with(t){let n=t(this.machine);return new e(n)}build(){return this.machine}};function Ve(e){return ce(se(ae(e)))}function Ue(e={}){let{continueOnError:t=!1,logErrors:n=!0,onError:r}=e;return(o,...i)=>{let a=o,s=[];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(u){let x=u instanceof Error?u:new Error(String(u));if(s.push({error:x,middlewareIndex:c}),n&&console.error(`Middleware pipeline error at index ${c}:`,x),r==null||r(x,`middleware-${c}`),!t)break}}return{machine:a,errors:s,success:s.length===0}}}function Je(){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 J(e,t){let n=function(r){return t(r)?e(r):r};return n.middleware=e,n.when=t,n}function qe(e){return J(e,()=>typeof process!="undefined"?!1:typeof window!="undefined"?!window.location.hostname.includes("production"):!1)}function Ye(e,t,n){return J(n,r=>r.context[e]===t)}function Xe(...e){return t=>B(t,...e)}function Qe(e,t){return n=>{for(let[r,o]of e)if(r(n))return o(n);return t?t(n):n}}function le(e){return typeof e=="function"&&e.length===1}function Ze(e){return e!==null&&"middleware"in e&&"when"in e&&le(e.middleware)&&typeof e.when=="function"}function et(e,t){return e instanceof t}function tt(e,...t){return{type:e,args:t}}function nt(e,t){return O(e,n=>({...n,...t}))}async function rt(e,...t){let n=e;for(let r of t)n=await r(n);return n}function ot(e,t){return t?console.log(t,e.context):console.log(e.context),e}function it(e,t,...n){return e.apply(t,n)}function de(e){return new Proxy(e,{get(t,n){let r=t[n];return typeof r=="function"?function(...o){let i=r.apply(t.context,o);return i&&typeof i=="object"&&"context"in i?de(i):i}:r}})}var q=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.context,i);return a&&typeof a=="object"&&"context"in a?new e(a):a}:o}})}};function E(e,t){let n="context"in t?Object.fromEntries(Object.entries(t).filter(([o])=>o!=="context")):t;return Object.assign({context:e},n)}function Kt(e,t){return Object.assign({context:e},t)}function _t(){return e=>{let t=Object.fromEntries(Object.entries(e).map(([n,r])=>[n,function(...o){let i=r(this,...o);return E(i,t)}]));return n=>E(n,t)}}function O(e,t){let{context:n,...r}=e,o=typeof t=="function"?t(n):t;return E(o,r)}function Wt(e,t){let{context:n,...r}=e,o={...r,...t};return E(n,o)}function Ht(e,t){let{context:n,...r}=e,o={...r,...t};return E(n,o)}function It(e,t){return(...n)=>{let r=e(...n),o=t(),i={...r.context,...o.context},{context:a,...s}=r,{context:c,...d}=o,u={...s,...d};return E(i,u)}}function Lt(e){let{context:t,...n}=e;return r=>E(r,n)}function Gt(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 Vt(e,t,n){return e.context[t]===n}function Ut(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 d=await a.apply(n.context,[...i.args,{signal:s.signal}]);return s.signal.aborted||(n=d,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 Jt(e,t){let{context:n,...r}=e;return E(t(n),r)}export{q as BoundMachine,me as META_KEY,T as MachineBase,re as MultiMachineBase,A as RUNTIME_META,Se as action,de as bindTransitions,Qe as branch,it as call,Ge as chain,Xe as combine,It as combineFactories,Ie as compose,B as composeTyped,Kt as createAsyncMachine,Le as createCustomMiddleware,xt as createEnsemble,tt as createEvent,Pt as createFetchMachine,pe as createFlow,E as createMachine,Lt as createMachineBuilder,_t as createMachineFactory,w as createMiddleware,Je as createMiddlewareRegistry,gt as createMultiMachine,Ct as createMutableMachine,oe as createParallelMachine,Ue as createPipeline,Ne as createRunner,St as delegateToChild,be as describe,Ht as extendTransitions,ke as extractFromInstance,ne as extractFunctionMetadata,_ as extractMachine,Oe as extractMachines,W as extractStateNode,te as generateChart,je as generateStatechart,D as guard,Te as guarded,Vt as hasState,qe as inDevelopment,Ee as invoke,Ze as isConditionalMiddleware,le as isMiddlewareFn,et as isState,ot as logState,Gt as matchMachine,nt as mergeContext,Pe as metadata,Jt as next,Wt as overrideTransitions,rt as pipeTransitions,Q as run,ge as runAsync,Ut as runMachine,xe as runSequence,he as runWithDebug,ht as runWithEnsemble,pt as runWithRunner,O as setContext,Me as step,Ce as stepAsync,Ft as toggle,we as transitionTo,J as when,Ye as whenContext,Fe as whenGuard,$e as withAnalytics,Ve as withDebugging,_e as withErrorReporting,ae as withHistory,Be as withLogging,We as withPerformanceMonitoring,Ke as withPermissions,He as withRetry,se as withSnapshot,ce as withTimeTravel,De as withValidation,fe as yieldMachine};
|
|
1
|
+
var Q=(e=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(e,{get:(t,n)=>(typeof require!="undefined"?require:t)[n]}):e)(function(e){if(typeof require!="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});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 Me(e){return function*(){return yield e}()}function xe(e){return e}function he(e,t){return t.reduce((n,r)=>Z(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*me(e){return yield e}var we=Symbol("MachineMeta"),j=Symbol("__machine_runtime_meta__");function S(e,t){let n=e[j]||{},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,j,{value:r,enumerable:!1,writable:!1,configurable:!0})}function be(e,t){return S(t,{target:e.name||e.toString()}),t}function Te(e,t){return S(t,{description:e}),t}function Ee(e,t){return S(t,{guards:[e]}),t}function Se(e,t){return S(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 S(t,{actions:[e]}),t}function _(e,t,n={}){let{onFail:r="throw",errorMessage:o,description:i}=n,a={...n,onFail:r,errorMessage:o,description:i},s=function(...c){let l=typeof this=="object"&&"context"in this,u=l?this.context:this;if(e(u,...c)){let y=l?this.context:this;return t.apply(y,c)}else if(r==="throw"){let y=o||"Guard condition failed";throw new Error(y)}else if(r==="ignore"){if(l)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(l)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(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}),S(s,{description:i||"Synchronous guarded transition",guards:[{name:"runtime_guard",description:i||"Synchronous condition check"}]}),s}function D(e,t,n={}){let{onFail:r="throw",errorMessage:o,description:i}=n,a={...n,onFail:r,errorMessage:o,description:i},s=async function(...c){let l=typeof this=="object"&&"context"in this,u=l?this.context:this;if(await Promise.resolve(e(u,...c))){let y=l?this.context:this;return t.apply(y,c)}else if(r==="throw"){let y=o||"Guard condition failed";throw new Error(y)}else if(r==="ignore"){if(l)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(l)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(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}),S(s,{description:i||"Runtime guarded transition",guards:[{name:"runtime_guard",description:i||"Runtime condition check"}]}),s}function Pe(e){return{do(t){let n=_(e,t);return n.else=function(r){return _(e,t,{onFail:r})},n}}}function Re(e){return{do(t){let n=D(e,t);return n.else=function(r){return D(e,t,{onFail:r})},n}}}function ve(e,t){return t}import{Project as ee,Node as g}from"ts-morph";function te(e){return g.isIdentifier(e)?e.getText():g.isTypeOfExpression(e)?e.getExpression().getText():"unknown"}function v(e){if(!g.isObjectLiteralExpression(e))return{};let t={};for(let n of e.getProperties())if(g.isPropertyAssignment(n)){let r=n.getName(),o=n.getInitializer();o&&(g.isStringLiteral(o)||g.isNumericLiteral(o)?t[r]=o.getLiteralValue():o.getText()==="true"||o.getText()==="false"?t[r]=o.getText()==="true":g.isIdentifier(o)?t[r]=o.getText():g.isObjectLiteralExpression(o)?t[r]=v(o):g.isArrayLiteralExpression(o)&&(t[r]=o.getElements().map(i=>g.isObjectLiteralExpression(i)?v(i):i.getText())))}return t}function Ae(e){if(!g.isObjectLiteralExpression(e))return{};let t={};for(let n of e.getProperties())if(g.isPropertyAssignment(n)){let r=n.getName(),o=n.getInitializer();if(!o)continue;r==="onDone"||r==="onError"?t[r]=te(o):g.isStringLiteral(o)?t[r]=o.getLiteralValue():g.isIdentifier(o)&&(t[r]=o.getText())}return t}function R(e,t=!1){if(!g.isCallExpression(e))return null;let n=e.getExpression(),r=g.isIdentifier(n)?n.getText():null;if(!r)return null;let o={},i=e.getArguments();switch(r){case"transitionTo":i[0]&&(o.target=te(i[0]));break;case"describe":if(i[0]&&g.isStringLiteral(i[0])&&(o.description=i[0].getLiteralValue()),i[1]&&g.isCallExpression(i[1])){let a=R(i[1],t);a&&Object.assign(o,a)}break;case"guarded":if(i[0]){let a=v(i[0]);Object.keys(a).length>0&&(o.guards=[a])}if(i[1]&&g.isCallExpression(i[1])){let a=R(i[1],t);a&&Object.assign(o,a)}break;case"invoke":if(i[0]){let a=Ae(i[0]);Object.keys(a).length>0&&(o.invoke=a)}break;case"action":if(i[0]){let a=v(i[0]);Object.keys(a).length>0&&(o.actions=[a])}if(i[1]&&g.isCallExpression(i[1])){let a=R(i[1],t);a&&Object.assign(o,a)}break;case"guard":if(i[2]){let a=v(i[2]);a.description&&(o.description=a.description)}if(o.guards=[{name:"runtime_guard",description:o.description||"Synchronous condition check"}],i[1]&&g.isCallExpression(i[1])){let a=R(i[1],t);a&&Object.assign(o,a)}break;case"guardAsync":if(i[2]){let a=v(i[2]);a.description&&(o.description=a.description)}if(o.guards=[{name:"runtime_guard_async",description:o.description||"Asynchronous condition check"}],i[1]&&g.isCallExpression(i[1])){let a=R(i[1],t);a&&Object.assign(o,a)}break;default:return null}return Object.keys(o).length>0?o:null}function Oe(e,t=!1){if(!g.isPropertyDeclaration(e))return t&&console.error(" ⚠️ Not a property declaration"),null;let n=e.getInitializer();if(!n)return t&&console.error(" ⚠️ No initializer"),null;if(!g.isCallExpression(n))return t&&console.error(" ⚠️ Initializer is not a call expression"),null;let r=R(n,t);return r&&t&&console.error(" ✅ Extracted metadata:",JSON.stringify(r,null,2)),r}function K(e,t=!1){let n={on:{}},r=e.getDeclarations()[0];if(!r||!g.isClassDeclaration(r))return t&&console.error(`⚠️ Warning: Could not get class declaration for ${e.getName()}`),n;let o=e.getName();t&&console.error(` Analyzing state: ${o}`);for(let i of r.getInstanceMembers()){let a=i.getName();t&&console.error(` Checking member: ${a}`);let s=Oe(i,t);if(!s)continue;t&&console.error(` Found transition: ${a}`);let{invoke:c,actions:l,guards:u,...M}=s;if(c&&(n.invoke||(n.invoke=[]),n.invoke.push({src:c.src,onDone:{target:c.onDone},onError:{target:c.onError},description:c.description}),t&&console.error(` → Invoke: ${c.src}`)),M.target){let y={target:M.target};M.description&&(y.description=M.description),u&&(y.cond=u.map(x=>x.name).join(" && "),t&&console.error(` → Guard: ${y.cond}`)),l&&l.length>0&&(y.actions=l.map(x=>x.name),t&&console.error(` → Actions: ${y.actions.join(", ")}`)),n.on[a]=y,t&&console.error(` → Target: ${M.target}`)}}return n}function je(e,t,n,r,o=!1){let i=K(t,o);if(r){o&&console.error(` 👪 Analyzing children for state: ${e}`),i.initial=r.initialState,i.states={};for(let a of r.classes){let s=n.getClass(a);if(s){let c=s.getSymbolOrThrow();i.states[a]=K(c,o)}else console.warn(`⚠️ Warning: Child class '${a}' not found.`)}}return i}function W(e,t,n=!1){n&&(console.error(`
|
|
2
|
+
🔍 Analyzing machine: ${e.id}`),console.error(` Source: ${e.input}`));let r=t.getSourceFile(e.input);if(!r)throw new Error(`Source file not found: ${e.input}`);if(e.parallel){n&&console.error(" ⏹️ Parallel machine detected. Analyzing regions.");let i={id:e.id,type:"parallel",states:{}};e.description&&(i.description=e.description);for(let a of e.parallel.regions){n&&console.error(` 📍 Analyzing region: ${a.name}`);let s={};for(let c of a.classes){let l=r.getClass(c);if(l){let u=l.getSymbolOrThrow();s[c]=K(u,n)}else console.warn(`⚠️ Warning: Class '${c}' not found for region '${a.name}'.`)}i.states[a.name]={initial:a.initialState,states:s}}return n&&console.error(` ✅ Extracted ${e.parallel.regions.length} parallel regions`),i}if(!e.initialState||!e.classes)throw new Error(`Machine config for '${e.id}' must have either 'parallel' or 'initialState'/'classes'.`);let o={id:e.id,initial:e.initialState,states:{}};e.description&&(o.description=e.description);for(let i of e.classes){let a=r.getClass(i);if(!a){console.warn(`⚠️ Warning: Class '${i}' not found in '${e.input}'. Skipping.`);continue}let s=a.getSymbolOrThrow(),c=i===e.initialState&&e.children,l=je(i,s,r,c?e.children:void 0,n);o.states[i]=l}return n&&console.error(` ✅ Extracted ${e.classes.length} states`),o}function ke(e){var o;let t=(o=e.verbose)!=null?o:!1;t&&(console.error(`
|
|
3
|
+
📊 Starting statechart extraction`),console.error(` Machines to extract: ${e.machines.length}`));let n=new ee;n.addSourceFilesAtPaths("src/**/*.ts"),n.addSourceFilesAtPaths("examples/**/*.ts");let r=[];for(let i of e.machines)try{let a=W(i,n,t);r.push(a)}catch(a){console.error(`❌ Error extracting machine '${i.id}':`,a),t||console.error(" Run with --verbose for more details")}return t&&console.error(`
|
|
4
|
+
✅ Extraction complete: ${r.length}/${e.machines.length} machines extracted`),r}function ne(){let e={input:"examples/authMachine.ts",classes:["LoggedOutMachine","LoggingInMachine","LoggedInMachine","SessionExpiredMachine","ErrorMachine"],id:"auth",initialState:"LoggedOutMachine",description:"Authentication state machine"};console.error("🔍 Using legacy generateChart function"),console.error(`⚠️ Consider using extractMachines() with a config file instead
|
|
5
|
+
`);let t=new ee;t.addSourceFilesAtPaths("src/**/*.ts"),t.addSourceFilesAtPaths("examples/**/*.ts");try{let n=W(e,t,!0);console.log(JSON.stringify(n,null,2))}catch(n){console.error("❌ Error:",n),process.exit(1)}}var ft={hierarchical:{input:"examples/dashboardMachine.ts",id:"dashboard",classes:["DashboardMachine","LoggedOutMachine"],initialState:"DashboardMachine",children:{contextProperty:"child",initialState:"ViewingChildMachine",classes:["ViewingChildMachine","EditingChildMachine"]}},parallel:{input:"examples/editorMachine.ts",id:"editor",parallel:{regions:[{name:"fontWeight",initialState:"NormalWeight",classes:["NormalWeight","BoldWeight"]},{name:"textDecoration",initialState:"NoDecoration",classes:["NoDecoration","UnderlineState"]}]}}};Q.main===module&&ne();function re(e){return typeof e!="function"?null:e[j]||null}function G(e){let t={on:{}},n=[];for(let r in e){let o=e[r];if(typeof o!="function")continue;let i=re(o);if(i){if(i.invoke&&n.push({src:i.invoke.src,onDone:{target:i.invoke.onDone},onError:{target:i.invoke.onError},description:i.invoke.description}),i.target){let a={target:i.target};i.description&&(a.description=i.description),i.guards&&i.guards.length>0&&(a.cond=i.guards.map(s=>s.name).join(" && ")),i.actions&&i.actions.length>0&&(a.actions=i.actions.map(s=>s.name)),t.on[r]=a}else if(i.guards&&i.guards.length>0){let a={target:"GuardedTransition",cond:i.guards.map(s=>s.name).join(" && ")};i.description&&(a.description=i.description),t.on[r]=a}}}return n.length>0&&(t.invoke=n),t}function Ne(e,t){let n={id:t.id,initial:t.initial,states:{}};t.description&&(n.description=t.description);for(let[r,o]of Object.entries(e))n.states[r]=G(o);return n}function ze(e,t){let n=t.stateName||e.constructor.name||"State";return{id:t.id,initial:n,states:{[n]:G(e)}}}function Be(e,t){let n=e,r=s=>{n=s,t==null||t(s)},{context:o,...i}=e,a=new Proxy({},{get(s,c){let l=n[c];if(typeof l=="function")return(...u)=>{let M=l.apply(n.context,u),y=Object.assign({context:M.context},i);return r(y),y}}});return{get state(){return n},get context(){return n.context},actions:a,setState:r}}function gt(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(),c=s[a];if(typeof c!="function")throw new Error(`[Ensemble] Transition "${a}" is not valid in the current state.`);return(...l)=>c.apply(s.context,l)}});return{get context(){return e.getContext()},get state(){return r()},actions:o}}function Ct(e,t){let n=Be(t),r=e(n),o=r.next();for(;!o.done;)o=r.next();return o.value}function mt(e,t){let n=e(t),r=n.next();for(;!r.done;)r=n.next();return r.value}var oe=class{constructor(t){this.store=t}get context(){return this.store.getContext()}setContext(t){this.store.setContext(t)}};function wt(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 bt(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(),c=s[i];if(typeof c=="function")return(...l)=>{let u=c.apply(s.context,l);if(typeof u!="object"||u===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,u)}},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 Rt(e){return function(...t){let n=this.context.child;if(typeof n[e]=="function"){let r=n[e](...t);return k(this,{...this.context,child:r})}return this}}function vt(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.`),k(this,{...this.context,[e]:!this.context[e]})}}var H=class extends T{constructor(n){super({status:"idle"});this.config=n;this.fetch=n=>new F(this.config,n!=null?n:this.config.initialParams,1)}},F=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 L(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 I(this.config,this.params,n,this.context.attempts):((a=(i=this.config).onError)==null||a.call(i,n),new V(this.config,{status:"error",error:n}))};this.cancel=()=>(this.context.abortController.abort(),new U(this.config));this.execute()}async execute(){}},I=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 F(this.config,n!=null?n:this.params,this.context.attempts+1)}},L=class extends T{constructor(n,r){super(r);this.config=n;this.refetch=n=>new F(this.config,n!=null?n:this.config.initialParams,1)}},V=class extends T{constructor(n,r){super(r);this.config=n;this.retry=n=>new F(this.config,n!=null?n:this.config.initialParams,1)}},U=class extends T{constructor(n){super({status:"canceled"});this.config=n;this.refetch=n=>new F(this.config,n!=null?n:this.config.initialParams,1)}};function At(e){return new H(e)}function ie(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]=(...c)=>{let l=s.apply(e.context,c);return ie(l,t)}}for(let a in o){let s=o[a];i[a]=(...c)=>{let l=s.apply(t.context,c);return ie(e,l)}}return{context:n,...i}}var ae=Symbol("CANCEL");function w(e,t,n={}){let{mode:r="auto",exclude:o=["context"]}=n,i={};for(let a in e){if(!Object.prototype.hasOwnProperty.call(e,a))continue;let s=e[a];if(a==="context"){i.context=s;continue}if(o.includes(a)){i[a]=s;continue}if(typeof s!="function"||a.startsWith("_")){i[a]=s;continue}i[a]=$e(a,s,e,t,r)}return i}function $e(e,t,n,r,o){return function(...a){let s=n.context,c={transitionName:e,context:s,args:a},l=()=>{try{if(r.before){let x=r.before(c);if(x===ae)return n;if(x instanceof Promise)throw new Error(`Middleware mode is 'sync' but before hook returned Promise for transition: ${e}`)}let y=t.call(this,...a);if(y instanceof Promise)return u(y,s);if(r.after){let x={transitionName:e,prevContext:s,nextContext:y.context,args:a};if(r.after(x)instanceof Promise)throw new Error(`Middleware mode is 'sync' but after hook returned Promise for transition: ${e}`)}return y}catch(y){if(r.error){let x={transitionName:e,context:s,args:a,error:y},d=r.error(x);if(d instanceof Promise)throw d.catch(()=>{}),y;if(d&&typeof d=="object"&&"context"in d)return d}throw y}},u=async(y,x)=>{try{let d=await y;if(r.after){let p={transitionName:e,prevContext:x,nextContext:d.context,args:a};await r.after(p)}return d}catch(d){if(r.error){let p={transitionName:e,context:x,args:a,error:d},f=await r.error(p);if(f&&typeof f=="object"&&"context"in f)return f}throw d}},M=async()=>{try{if(r.before&&await r.before(c)===ae)return n;let y=await t.call(this,...a);if(r.after){let x={transitionName:e,prevContext:s,nextContext:y.context,args:a};await r.after(x)}return y}catch(y){if(r.error){let x={transitionName:e,context:s,args:a,error:y},d=await r.error(x);if(d&&typeof d=="object"&&"context"in d)return d}throw y}};return o==="async"?M():l()}}function _e(e,t={}){let{logger:n=console.log,includeContext:r=!0,includeArgs:o=!0}=t;return w(e,{before:({transitionName:i,args:a})=>{let s=o&&a.length>0?` ${JSON.stringify(a)}`:"";n(`→ ${i}${s}`)},after:({transitionName:i,nextContext:a})=>{let s=r?` ${JSON.stringify(a)}`:"";n(`✓ ${i}${s}`)}})}function De(e,t,n={}){let{eventPrefix:r="state_transition",includePrevContext:o=!1,includeArgs:i=!0}=n;return w(e,{after:async({transitionName:a,prevContext:s,nextContext:c,args:l})=>{let u={transition:a,to:c};o&&(u.from=s),i&&l.length>0&&(u.args=l),await t(`${r}.${a}`,u)}},{mode:"async"})}function Ke(e,t,n){return w(e,{before:r=>{let o=t(r);if(o instanceof Promise)return o.then(i=>{if(i===!1)throw new Error(`Validation failed for transition: ${r.transitionName}`)});if(o===!1)throw new Error(`Validation failed for transition: ${r.transitionName}`)}},{mode:"auto",...n})}function We(e,t,n){return w(e,{before:r=>{let o=t(r);if(o instanceof Promise)return o.then(i=>{if(!i)throw new Error(`Unauthorized transition: ${r.transitionName}`)});if(!o)throw new Error(`Unauthorized transition: ${r.transitionName}`)}},{mode:"auto",...n})}function Ge(e,t,n={}){let{includeContext:r=!0,includeArgs:o=!0,mode:i}=n;return w(e,{error:async({transitionName:a,context:s,args:c,error:l})=>{let u={transition:a};r&&(u.context=s),o&&c.length>0&&(u.args=c),await Promise.resolve(t(l,u))}},{mode:i})}function He(e,t){let n=new Map;return w(e,{before:({transitionName:r})=>{n.set(r,performance.now())},after:({transitionName:r,nextContext:o})=>{let i=n.get(r);if(i){let a=performance.now()-i;n.delete(r);let s=t({transitionName:r,duration:a,context:o});if(s instanceof Promise)return s}}},{mode:"auto"})}function Ie(e,t={}){let{maxRetries:n=3,delay:r=1e3,backoffMultiplier:o=1,shouldRetry:i=()=>!0,onRetry:a}=t,s={};for(let c in e){if(!Object.prototype.hasOwnProperty.call(e,c))continue;let l=e[c];if(c==="context"||typeof l!="function"){s[c]=l;continue}s[c]=async function(...M){let y;for(let x=0;x<=n;x++)try{return await l.call(this,...M)}catch(d){if(y=d,x===n||!i(y))break;a==null||a(x+1,y);let p=r*Math.pow(o,x);await new Promise(f=>setTimeout(f,p))}throw y}}return s}function se(e,t={}){let{maxSize:n,serializer:r,filter:o,onEntry:i,_isRewrap:a=!1}=t,s=[],c=0,l=w(e,{before:({transitionName:u,args:M})=>{if(o&&!o(u,M))return;let y={id:`entry-${c++}`,transitionName:u,args:[...M],timestamp:Date.now()};if(r)try{y.serializedArgs=r.serialize(M)}catch(x){console.error("Failed to serialize history args:",x)}s.push(y),n&&s.length>n&&s.shift(),i==null||i(y)}},{exclude:["context","history","clearHistory"]});if(!a)for(let u in l){if(!Object.prototype.hasOwnProperty.call(l,u))continue;let M=l[u];if(typeof M=="function"&&!u.startsWith("_")&&u!=="context"&&!["history","clearHistory"].includes(u)){let y=M;l[u]=function(...x){let d=y.apply(this,x);if(d&&typeof d=="object"&&"context"in d&&!("history"in d)){let p=w(d,{before:({transitionName:f,args:C})=>{if(o&&!o(f,C))return;let h={id:`entry-${c++}`,transitionName:f,args:[...C],timestamp:Date.now()};if(r)try{h.serializedArgs=r.serialize(C)}catch(b){console.error("Failed to serialize history args:",b)}s.push(h),n&&s.length>n&&s.shift(),i==null||i(h)}},{exclude:["context","history","clearHistory"]});return Object.assign(p,{history:s,clearHistory:()=>{s.length=0,c=0}})}return d}}}return Object.assign(l,{history:s,clearHistory:()=>{s.length=0,c=0}})}function ce(e,t={}){let{maxSize:n,serializer:r,captureSnapshot:o,onlyIfChanged:i=!1,filter:a,onSnapshot:s,_extraExclusions:c=[],_isRewrap:l=!1}=t,u=[],M=0,y=w(e,{after:({transitionName:d,prevContext:p,nextContext:f})=>{if(a&&!a(d)||i&&!(JSON.stringify(p)!==JSON.stringify(f)))return;let C={id:`snapshot-${M++}`,transitionName:d,before:{...p},after:{...f},timestamp:Date.now()};if(r)try{C.serializedBefore=r.serialize(p),C.serializedAfter=r.serialize(f)}catch(h){console.error("Failed to serialize snapshot:",h)}if(o)try{C.diff=o(p,f)}catch(h){console.error("Failed to capture snapshot:",h)}u.push(C),n&&u.length>n&&u.shift(),s==null||s(C)}},{exclude:["context","snapshots","clearSnapshots","restoreSnapshot",...c]}),x=d=>{let{context:p,...f}=e;return{context:d,...f}};if(!l)for(let d in y){if(!Object.prototype.hasOwnProperty.call(y,d))continue;let p=y[d];if(typeof p=="function"&&!d.startsWith("_")&&d!=="context"&&!["snapshots","clearSnapshots","restoreSnapshot","history","clearHistory"].includes(d)){let f=p;y[d]=function(...C){let h=f.apply(this,C);if(h&&typeof h=="object"&&"context"in h&&!("snapshots"in h)){for(let m in h){if(!Object.prototype.hasOwnProperty.call(h,m))continue;let A=h[m];if(typeof A=="function"&&!m.startsWith("_")&&m!=="context"&&!["snapshots","clearSnapshots","restoreSnapshot","history","clearHistory"].includes(m)){let ye=A;h[m]=function(...fe){let N=h.context,O=ye.apply(this,fe);if(O&&typeof O=="object"&&"context"in O){let z=O.context;if(!(a&&!a(m))){let X=!0;if(i&&(X=JSON.stringify(N)!==JSON.stringify(z)),X){let P={id:`snapshot-${M++}`,transitionName:m,before:{...N},after:{...z},timestamp:Date.now()};if(r)try{P.serializedBefore=r.serialize(N),P.serializedAfter=r.serialize(z)}catch($){console.error("Failed to serialize snapshot:",$)}if(o)try{P.diff=o(N,z)}catch($){console.error("Failed to capture snapshot:",$)}u.push(P),n&&u.length>n&&u.shift(),s==null||s(P)}}}return O}}}let b=Object.assign(h,{snapshots:u,clearSnapshots:()=>{u.length=0,M=0},restoreSnapshot:x});return e.history&&(b.history=e.history,b.clearHistory=e.clearHistory),b}return h}}}return Object.assign(y,{snapshots:u,clearSnapshots:()=>{u.length=0,M=0},restoreSnapshot:x})}function le(e,t={}){let{maxSize:n,serializer:r,onRecord:o}=t,i=[],a=[],s=0,c=0,l=(d,p)=>{let f={id:`entry-${s++}`,transitionName:d,args:[...p],timestamp:Date.now()};if(r)try{f.serializedArgs=r.serialize(p)}catch(C){console.error("Failed to serialize history args:",C)}i.push(f),n&&i.length>n&&i.shift(),o==null||o("history",f)},u=(d,p,f)=>{let C={id:`snapshot-${c++}`,transitionName:d,before:{...p},after:{...f},timestamp:Date.now()};if(r)try{C.serializedBefore=r.serialize(p),C.serializedAfter=r.serialize(f)}catch(h){console.error("Failed to serialize snapshot:",h)}a.push(C),n&&a.length>n&&a.shift(),o==null||o("snapshot",C)},M=d=>{let{context:p,...f}=e;return Object.assign({context:d},d,f)},y=(d=0)=>{if(d<0||d>=a.length)throw new Error(`Invalid snapshot index: ${d}`);let p=M(a[d].before),f=a[d],C=i.findIndex(h=>h.transitionName===f.transitionName&&h.timestamp===f.timestamp);if(C===-1)throw new Error("Could not find matching history entry for snapshot");for(let h=C;h<i.length;h++){let b=i[h],m=p[b.transitionName];if(typeof m=="function")try{p=m.apply(p.context,b.args)}catch(A){throw console.error(`Replay failed at step ${h}:`,A),A}}return p},x=d=>{let p={...d};for(let f in d){if(!Object.prototype.hasOwnProperty.call(d,f))continue;let C=d[f];typeof C=="function"&&!f.startsWith("_")&&f!=="context"&&!["history","snapshots","clearHistory","clearSnapshots","clearTimeTravel","restoreSnapshot","replayFrom"].includes(f)&&(p[f]=function(...h){l(f,h);let b=p.context,m=C.apply(this,h);return m&&typeof m=="object"&&"context"in m&&u(f,b,m.context),m&&typeof m=="object"&&"context"in m?x(m):m})}return Object.assign(p,{history:i,snapshots:a,clearHistory:()=>{i.length=0,s=0},clearSnapshots:()=>{a.length=0,c=0},clearTimeTravel:()=>{i.length=0,a.length=0,s=0,c=0},restoreSnapshot:M,replayFrom:y})};return x(e)}function Le(e,...t){return t.reduce((n,r)=>r(n),e)}function Ve(e,t){return n=>w(n,e,t)}function B(e,...t){return t.reduce((n,r)=>r(n),e)}function Ue(e){return new J(e)}var J=class e{constructor(t){this.machine=t}with(t){let n=t(this.machine);return new e(n)}build(){return this.machine}};function Je(e){return le(ce(se(e)))}function qe(e={}){let{continueOnError:t=!1,logErrors:n=!0,onError:r}=e;return(o,...i)=>{let a=o,s=[];for(let c=0;c<i.length;c++){let l=i[c];try{if("middleware"in l&&"when"in l){if(!l.when(a))continue;a=l.middleware(a)}else a=l(a)}catch(u){let M=u instanceof Error?u:new Error(String(u));if(s.push({error:M,middlewareIndex:c}),n&&console.error(`Middleware pipeline error at index ${c}:`,M),r==null||r(M,`middleware-${c}`),!t)break}}return{machine:a,errors:s,success:s.length===0}}}function Ye(){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 q(e,t){let n=function(r){return t(r)?e(r):r};return n.middleware=e,n.when=t,n}function Xe(e){return q(e,()=>typeof process!="undefined"?!1:typeof window!="undefined"?!window.location.hostname.includes("production"):!1)}function Qe(e,t,n){return q(n,r=>r.context[e]===t)}function Ze(...e){return t=>B(t,...e)}function et(e,t){return n=>{for(let[r,o]of e)if(r(n))return o(n);return t?t(n):n}}function de(e){return typeof e=="function"&&e.length===1}function tt(e){return e!==null&&"middleware"in e&&"when"in e&&de(e.middleware)&&typeof e.when=="function"}function nt(e,t){return e instanceof t}function rt(e,...t){return{type:e,args:t}}function ot(e,t){return k(e,n=>({...n,...t}))}async function it(e,...t){let n=e;for(let r of t)n=await r(n);return n}function at(e,t){return t?console.log(t,e.context):console.log(e.context),e}function st(e,t,...n){return e.apply(t,n)}function ue(e){return new Proxy(e,{get(t,n){let r=t[n];return typeof r=="function"?function(...o){let i=r.apply(t.context,o);return i&&typeof i=="object"&&"context"in i?ue(i):i}:r}})}var Y=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.context,i);return a&&typeof a=="object"&&"context"in a?new e(a):a}:o}})}};function E(e,t){let n="context"in t?Object.fromEntries(Object.entries(t).filter(([o])=>o!=="context")):t;return Object.assign({context:e},n)}function Gt(e,t){return Object.assign({context:e},t)}function Ht(){return e=>{let t=Object.fromEntries(Object.entries(e).map(([n,r])=>[n,function(...o){let i=r(this,...o);return E(i,t)}]));return n=>E(n,t)}}function k(e,t){let{context:n,...r}=e,o=typeof t=="function"?t(n):t;return E(o,r)}function It(e,t){let{context:n,...r}=e,o={...r,...t};return E(n,o)}function Lt(e,t){let{context:n,...r}=e,o={...r,...t};return E(n,o)}function Vt(e,t){return(...n)=>{let r=e(...n),o=t(),i={...r.context,...o.context},{context:a,...s}=r,{context:c,...l}=o,u={...s,...l};return E(i,u)}}function Ut(e){let{context:t,...n}=e;return r=>E(r,n)}function Jt(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 qt(e,t,n){return e.context[t]===n}function Yt(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 l=await a.apply(n.context,[...i.args,{signal:s.signal}]);return s.signal.aborted||(n=l,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 Xt(e,t){let{context:n,...r}=e;return E(t(n),r)}export{ft as ADVANCED_CONFIG_EXAMPLES,Y as BoundMachine,we as META_KEY,T as MachineBase,oe as MultiMachineBase,j as RUNTIME_META,Fe as action,ue as bindTransitions,et as branch,st as call,Ue as chain,Ze as combine,Vt as combineFactories,Le as compose,B as composeTyped,Gt as createAsyncMachine,Ve as createCustomMiddleware,gt as createEnsemble,rt as createEvent,At as createFetchMachine,pe as createFlow,E as createMachine,Ut as createMachineBuilder,Ht as createMachineFactory,w as createMiddleware,Ye as createMiddlewareRegistry,wt as createMultiMachine,bt as createMutableMachine,ie as createParallelMachine,qe as createPipeline,Be as createRunner,Rt as delegateToChild,Te as describe,Lt as extendTransitions,ze as extractFromInstance,re as extractFunctionMetadata,W as extractMachine,ke as extractMachines,G as extractStateNode,ne as generateChart,Ne as generateStatechart,_ as guard,D as guardAsync,Ee as guarded,qt as hasState,Xe as inDevelopment,Se as invoke,tt as isConditionalMiddleware,de as isMiddlewareFn,nt as isState,at as logState,Jt as matchMachine,ot as mergeContext,ve as metadata,Xt as next,It as overrideTransitions,it as pipeTransitions,Z as run,Ce as runAsync,Yt as runMachine,he as runSequence,ge as runWithDebug,mt as runWithEnsemble,Ct as runWithRunner,k as setContext,Me as step,me as stepAsync,vt as toggle,be as transitionTo,q as when,Qe as whenContext,Pe as whenGuard,Re as whenGuardAsync,De as withAnalytics,Je as withDebugging,Ge as withErrorReporting,se as withHistory,_e as withLogging,He as withPerformanceMonitoring,We as withPermissions,Ie as withRetry,ce as withSnapshot,le as withTimeTravel,Ke as withValidation,xe as yieldMachine};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../src/extract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,OAAO,EAAc,MAAM,UAAU,CAAC;AAM/C;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,YAAY,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wEAAwE;IACxE,eAAe,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,wFAAwF;IACxF,QAAQ,CAAC,EAAE;QACT,OAAO,EAAE,oBAAoB,EAAE,CAAC;KACjC,CAAC;IAEF,mDAAmD;IACnD,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC;IACnC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IACrC,mDAAmD;IACnD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,sBAAsB;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;
|
|
1
|
+
{"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../src/extract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,OAAO,EAAc,MAAM,UAAU,CAAC;AAM/C;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,YAAY,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wEAAwE;IACxE,eAAe,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,wFAAwF;IACxF,QAAQ,CAAC,EAAE;QACT,OAAO,EAAE,oBAAoB,EAAE,CAAC;KACjC,CAAC;IAEF,mDAAmD;IACnD,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC;IACnC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IACrC,mDAAmD;IACnD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,sBAAsB;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAkdD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,OAAO,EAChB,OAAO,UAAQ,GACd,GAAG,CAiGL;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,GAAG,EAAE,CA+B/D;AAED;;;;GAIG;AACH,wBAAgB,aAAa,SAkC5B;AAED;;;GAGG;AACH,eAAO,MAAM,wBAAwB;kBAW9B,aAAa;cAmBb,aAAa;CACnB,CAAC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -395,12 +395,13 @@ export type MachineLike<C extends object> = Machine<C> | Promise<Machine<C>>;
|
|
|
395
395
|
*/
|
|
396
396
|
export type MachineResult<C extends object> = Machine<C> | [Machine<C>, () => void | Promise<void>];
|
|
397
397
|
export { run, step, yieldMachine, runSequence, createFlow, runWithDebug, runAsync, stepAsync } from './generators';
|
|
398
|
-
export { transitionTo, describe, guarded, guard, whenGuard, invoke, action, metadata, META_KEY, type TransitionMeta, type GuardMeta, type InvokeMeta, type ActionMeta, type ClassConstructor, type WithMeta, type GuardOptions, type GuardFallback, type GuardedTransition } from './primitives';
|
|
398
|
+
export { transitionTo, describe, guarded, guard, guardAsync, whenGuard, whenGuardAsync, invoke, action, metadata, META_KEY, type TransitionMeta, type GuardMeta, type InvokeMeta, type ActionMeta, type ClassConstructor, type WithMeta, type GuardOptions, type GuardFallback, type GuardedTransition } from './primitives';
|
|
399
399
|
export { extractMachine, extractMachines, generateChart, type MachineConfig, type ExtractionConfig } from './extract';
|
|
400
400
|
export { extractFunctionMetadata, extractStateNode, generateStatechart, extractFromInstance } from './runtime-extract';
|
|
401
401
|
export { RUNTIME_META, type RuntimeTransitionMeta } from './primitives';
|
|
402
402
|
export * from './multi';
|
|
403
403
|
export * from './higher-order';
|
|
404
|
+
export * from './extract';
|
|
404
405
|
export { createMiddleware, withLogging, withAnalytics, withValidation, withPermissions, withErrorReporting, withPerformanceMonitoring, withRetry, withHistory, withSnapshot, withTimeTravel, compose, composeTyped, createPipeline, createMiddlewareRegistry, when, inDevelopment, whenContext, combine, branch, isMiddlewareFn, isConditionalMiddleware, createCustomMiddleware, type MiddlewareHooks, type MiddlewareOptions, type MiddlewareContext, type MiddlewareResult, type MiddlewareError, type HistoryEntry, type ContextSnapshot, type Serializer, type MiddlewareFn, type ConditionalMiddleware, type NamedMiddleware, type PipelineConfig, type PipelineResult, chain, withDebugging } from './middleware';
|
|
405
406
|
export { isState, createEvent, mergeContext, pipeTransitions, logState, call, bindTransitions, BoundMachine } from './utils';
|
|
406
407
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE7C;;;GAGG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,IAAI;IACtC,yCAAyC;IACzC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;CACrB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAErD;;;;GAIG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI;IAC3C,yCAAyC;IACzC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;CACrB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAExE;;;GAGG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,IACrF,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,GAClC,CAAC,SAAS,CAAC,GAAG,MAAM,IAAI,EAAE,iBAAiB,CAAC,GAC1C,IAAI,GACJ,CAAC,GACH,KAAK,CAAC;AAEZ;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,gEAAgE;IAChE,MAAM,EAAE,WAAW,CAAC;CACrB;AAOD;;;;GAIG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS;IAAE,OAAO,EAAE,GAAG,CAAA;CAAE,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AAE/D;;;GAGG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,WAAW,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAEzE;;;;GAIG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,IAC3E,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;AAErD;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,WAAW,CAAC,GAAG,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC;AAE5F;;;GAGG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,IAAI;IAC1C,yCAAyC;IACzC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;CACrB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC;AAE5C;;;;GAIG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;IAC5B,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GACxC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAClC,CAAC,CAAC,CAAC,CAAC,GACJ,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACpB,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;AAE5E;;;;;;;GAOG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,WAAW,CAAC,GAAG,CAAC,IAAI;KAC7C,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,GAC5E;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,IAAI,EAAE,CAAC,CAAA;KAAE,GACpB,KAAK;CACV,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC,CAAC;AAOrC;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,EACxG,OAAO,EAAE,CAAC,EACV,GAAG,EAAE,CAAC,GACL;IAAE,OAAO,EAAE,CAAC,CAAA;CAAE,GAAG,CAAC,CAOpB;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,EAC7G,OAAO,EAAE,CAAC,EACV,GAAG,EAAE,CAAC,GACL;IAAE,OAAO,EAAE,CAAC,CAAA;CAAE,GAAG,CAAC,CAEpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,MAC3C,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,EAC7D,cAAc,CAAC,MAmBP,gBAAgB,CAAC,KAAG,OAAO,CAAC,CAAC,CAAC,MAhBnC,CAAC,qBACM,CAAC,WACE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,KAC9D,OAAO,CAAC,CAAC,CAAC,GAakC,CAItD;AAOD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,EAC/C,OAAO,EAAE,CAAC,EACV,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,GACvE,CAAC,CAQH;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,EACtB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,EAEnE,OAAO,EAAE,CAAC,EACV,SAAS,EAAE,CAAC,GACX,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAIzD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,EACtB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,GAAG;KACnE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;CACjD,EACD,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAItC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,gBAAgB,CAC9B,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,EAC3C,EAAE,SAAS,MAAM,OAAO,CAAC,GAAG,CAAC,EAE7B,QAAQ,EAAE,EAAE,EACZ,QAAQ,EAAE,EAAE,GACX,CACD,GAAG,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,KACpB,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,GAC1D,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,GAC/B,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAmBnC;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,EACzD,eAAe,EAAE,CAAC,GACjB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAK5B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,YAAY,CAC1B,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,EACtB,CAAC,SAAS,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,EACnC,CAAC,EAED,OAAO,EAAE,CAAC,EACV,eAAe,EAAE,CAAC,EAClB,QAAQ,EAAE;KACP,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;CACtD,GACA,CAAC,CAOH;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,QAAQ,CACtB,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,EACtB,CAAC,SAAS,MAAM,OAAO,CAAC,CAAC,CAAC,EAC1B,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAEvB,OAAO,EAAE,CAAC,EACV,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,CAAC,GACP,OAAO,IAAI,CAAC,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG;SAAG,CAAC,IAAI,CAAC,GAAG,CAAC;KAAE,CAAA;CAAE,CAE1D;AAOD;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,YAAY,CAAC,GAAG,CAAC,EACpD,OAAO,EAAE,CAAC,EACV,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI;IAiDvB,4DAA4D;oBAC/C,OAAO,CAAC,CAAC,CAAC;IAGvB,4EAA4E;eA/CtD,CAAC,SAAS,KAAK,GAAgB,SAAS,CAAC,KAAG,OAAO,CAAC,CAAC,CAAC;IAiD5E,iEAAiE;;EAQpE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,qBAAa,WAAW,CAAC,CAAC,SAAS,MAAM;IACvC;;;;OAIG;IACH,SAAgB,OAAO,EAAE,CAAC,CAAC;IAE3B;;;OAGG;gBACS,OAAO,EAAE,CAAC;CAMvB;AAGD;;;;;;;;;;;GAWG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EACnC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EACb,MAAM,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAC9B,OAAO,CAAC,CAAC,CAAC,CAGZ;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,IACpC,OAAO,CAAC,CAAC,CAAC,GACV,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAExB;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,IACtC,OAAO,CAAC,CAAC,CAAC,GACV,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAO7C,OAAO,EACL,GAAG,EACH,IAAI,EACJ,YAAY,EACZ,WAAW,EACX,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,SAAS,EACV,MAAM,cAAc,CAAC;AAMtB,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,KAAK,EACL,SAAS,EACT,MAAM,EACN,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACvB,MAAM,cAAc,CAAC;AAMtB,OAAO,EACL,cAAc,EACd,eAAe,EACf,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACtB,MAAM,WAAW,CAAC;AAMnB,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,YAAY,EAAE,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAGxE,cAAc,SAAS,CAAA;AAEvB,cAAc,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE7C;;;GAGG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,IAAI;IACtC,yCAAyC;IACzC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;CACrB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAErD;;;;GAIG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI;IAC3C,yCAAyC;IACzC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;CACrB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAExE;;;GAGG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,IACrF,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,GAClC,CAAC,SAAS,CAAC,GAAG,MAAM,IAAI,EAAE,iBAAiB,CAAC,GAC1C,IAAI,GACJ,CAAC,GACH,KAAK,CAAC;AAEZ;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,gEAAgE;IAChE,MAAM,EAAE,WAAW,CAAC;CACrB;AAOD;;;;GAIG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS;IAAE,OAAO,EAAE,GAAG,CAAA;CAAE,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AAE/D;;;GAGG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,WAAW,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAEzE;;;;GAIG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,IAC3E,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;AAErD;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,WAAW,CAAC,GAAG,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC;AAE5F;;;GAGG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,IAAI;IAC1C,yCAAyC;IACzC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;CACrB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC;AAE5C;;;;GAIG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;IAC5B,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GACxC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAClC,CAAC,CAAC,CAAC,CAAC,GACJ,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACpB,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;AAE5E;;;;;;;GAOG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,WAAW,CAAC,GAAG,CAAC,IAAI;KAC7C,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,GAC5E;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,IAAI,EAAE,CAAC,CAAA;KAAE,GACpB,KAAK;CACV,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC,CAAC;AAOrC;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,EACxG,OAAO,EAAE,CAAC,EACV,GAAG,EAAE,CAAC,GACL;IAAE,OAAO,EAAE,CAAC,CAAA;CAAE,GAAG,CAAC,CAOpB;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,EAC7G,OAAO,EAAE,CAAC,EACV,GAAG,EAAE,CAAC,GACL;IAAE,OAAO,EAAE,CAAC,CAAA;CAAE,GAAG,CAAC,CAEpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,MAC3C,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,EAC7D,cAAc,CAAC,MAmBP,gBAAgB,CAAC,KAAG,OAAO,CAAC,CAAC,CAAC,MAhBnC,CAAC,qBACM,CAAC,WACE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,KAC9D,OAAO,CAAC,CAAC,CAAC,GAakC,CAItD;AAOD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,EAC/C,OAAO,EAAE,CAAC,EACV,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,GACvE,CAAC,CAQH;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,EACtB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,EAEnE,OAAO,EAAE,CAAC,EACV,SAAS,EAAE,CAAC,GACX,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAIzD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,EACtB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,GAAG;KACnE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;CACjD,EACD,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAItC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,gBAAgB,CAC9B,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,EAC3C,EAAE,SAAS,MAAM,OAAO,CAAC,GAAG,CAAC,EAE7B,QAAQ,EAAE,EAAE,EACZ,QAAQ,EAAE,EAAE,GACX,CACD,GAAG,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,KACpB,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,GAC1D,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,GAC/B,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAmBnC;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,EACzD,eAAe,EAAE,CAAC,GACjB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAK5B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,YAAY,CAC1B,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,EACtB,CAAC,SAAS,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,EACnC,CAAC,EAED,OAAO,EAAE,CAAC,EACV,eAAe,EAAE,CAAC,EAClB,QAAQ,EAAE;KACP,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;CACtD,GACA,CAAC,CAOH;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,QAAQ,CACtB,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,EACtB,CAAC,SAAS,MAAM,OAAO,CAAC,CAAC,CAAC,EAC1B,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAEvB,OAAO,EAAE,CAAC,EACV,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,CAAC,GACP,OAAO,IAAI,CAAC,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG;SAAG,CAAC,IAAI,CAAC,GAAG,CAAC;KAAE,CAAA;CAAE,CAE1D;AAOD;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,YAAY,CAAC,GAAG,CAAC,EACpD,OAAO,EAAE,CAAC,EACV,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI;IAiDvB,4DAA4D;oBAC/C,OAAO,CAAC,CAAC,CAAC;IAGvB,4EAA4E;eA/CtD,CAAC,SAAS,KAAK,GAAgB,SAAS,CAAC,KAAG,OAAO,CAAC,CAAC,CAAC;IAiD5E,iEAAiE;;EAQpE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,qBAAa,WAAW,CAAC,CAAC,SAAS,MAAM;IACvC;;;;OAIG;IACH,SAAgB,OAAO,EAAE,CAAC,CAAC;IAE3B;;;OAGG;gBACS,OAAO,EAAE,CAAC;CAMvB;AAGD;;;;;;;;;;;GAWG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EACnC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EACb,MAAM,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAC9B,OAAO,CAAC,CAAC,CAAC,CAGZ;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,IACpC,OAAO,CAAC,CAAC,CAAC,GACV,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAExB;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,IACtC,OAAO,CAAC,CAAC,CAAC,GACV,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAO7C,OAAO,EACL,GAAG,EACH,IAAI,EACJ,YAAY,EACZ,WAAW,EACX,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,SAAS,EACV,MAAM,cAAc,CAAC;AAMtB,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,KAAK,EACL,UAAU,EACV,SAAS,EACT,cAAc,EACd,MAAM,EACN,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACvB,MAAM,cAAc,CAAC;AAMtB,OAAO,EACL,cAAc,EACd,eAAe,EACf,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACtB,MAAM,WAAW,CAAC;AAMnB,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,YAAY,EAAE,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAGxE,cAAc,SAAS,CAAA;AAEvB,cAAc,gBAAgB,CAAA;AAE9B,cAAc,WAAW,CAAA;AAMzB,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,yBAAyB,EACzB,SAAS,EACT,WAAW,EACX,YAAY,EACZ,cAAc,EACd,OAAO,EACP,YAAY,EACZ,cAAc,EACd,wBAAwB,EACxB,IAAI,EACJ,aAAa,EACb,WAAW,EACX,OAAO,EACP,MAAM,EACN,cAAc,EACd,uBAAuB,EACvB,sBAAsB,EACtB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,EACL,aAAa,EACd,MAAM,cAAc,CAAC;AAMtB,OAAO,EACL,OAAO,EACP,WAAW,EACX,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,IAAI,EACJ,eAAe,EACf,YAAY,EACb,MAAM,SAAS,CAAC"}
|
|
@@ -144,6 +144,7 @@ export declare function describe<F extends (...args: any[]) => any, M extends Tr
|
|
|
144
144
|
* Annotates a transition with a Guard condition.
|
|
145
145
|
* Note: This only adds metadata. You must still implement the `if` check inside your function.
|
|
146
146
|
*
|
|
147
|
+
* @deprecated Use the runtime `guard()` primitive instead. Its `options.description` is used for static analysis.
|
|
147
148
|
* @param guard - Object containing the name and optional description of the guard.
|
|
148
149
|
* @param transition - The transition function to guard.
|
|
149
150
|
* @example
|
|
@@ -191,9 +192,9 @@ export declare function action<F extends (...args: any[]) => any, M extends Tran
|
|
|
191
192
|
/**
|
|
192
193
|
* Configuration options for guard behavior when conditions fail.
|
|
193
194
|
*/
|
|
194
|
-
export interface GuardOptions<C extends object = any> {
|
|
195
|
+
export interface GuardOptions<C extends object = any, TFailure extends Machine<any> = Machine<C>> {
|
|
195
196
|
/** What to do when guard fails */
|
|
196
|
-
onFail?: 'throw' | 'ignore' | GuardFallback<C>;
|
|
197
|
+
onFail?: 'throw' | 'ignore' | GuardFallback<C, TFailure>;
|
|
197
198
|
/** Custom error message for 'throw' mode */
|
|
198
199
|
errorMessage?: string;
|
|
199
200
|
/** Additional metadata for statechart extraction */
|
|
@@ -202,32 +203,98 @@ export interface GuardOptions<C extends object = any> {
|
|
|
202
203
|
/**
|
|
203
204
|
* A fallback machine or function that returns a machine when guard fails.
|
|
204
205
|
*/
|
|
205
|
-
export type GuardFallback<C extends object> = ((this: Machine<C>, ...args: any[]) =>
|
|
206
|
+
export type GuardFallback<C extends object, TFailure extends Machine<any> = Machine<C>> = ((this: Machine<C>, ...args: any[]) => TFailure) | TFailure;
|
|
206
207
|
/**
|
|
207
208
|
* A guarded transition that checks conditions at runtime before executing.
|
|
208
209
|
* Can be called with either machine or context as 'this' binding.
|
|
209
210
|
*/
|
|
210
|
-
export type GuardedTransition<C extends object,
|
|
211
|
-
(...args: any[]):
|
|
211
|
+
export type GuardedTransition<C extends object, TSuccess extends Machine<any>, TFailure extends Machine<any> = Machine<C>> = {
|
|
212
|
+
(...args: any[]): TSuccess | TFailure | Promise<TSuccess | TFailure>;
|
|
212
213
|
readonly __guard: true;
|
|
213
214
|
readonly condition: (ctx: C, ...args: any[]) => boolean | Promise<boolean>;
|
|
214
|
-
readonly transition: (...args: any[]) =>
|
|
215
|
+
readonly transition: (...args: any[]) => TSuccess;
|
|
215
216
|
};
|
|
217
|
+
/**
|
|
218
|
+
* Creates a synchronous runtime guard that checks conditions before executing transitions.
|
|
219
|
+
* This provides actual runtime protection with synchronous execution - use this for the majority of cases.
|
|
220
|
+
*
|
|
221
|
+
* @template C - The context type
|
|
222
|
+
* @template TSuccess - The transition return type when condition passes
|
|
223
|
+
* @template TFailure - The fallback return type when condition fails (defaults to Machine<C>)
|
|
224
|
+
* @param condition - Synchronous function that returns true if transition should proceed
|
|
225
|
+
* @param transition - The transition function to execute if condition passes
|
|
226
|
+
* @param options - Configuration for guard failure behavior
|
|
227
|
+
* @returns A synchronous guarded transition function
|
|
228
|
+
*
|
|
229
|
+
* @example
|
|
230
|
+
* ```typescript
|
|
231
|
+
* const machine = createMachine({ balance: 100 }, {
|
|
232
|
+
* withdraw: guard(
|
|
233
|
+
* (ctx, amount) => ctx.balance >= amount,
|
|
234
|
+
* function(amount: number) {
|
|
235
|
+
* return createMachine({ balance: this.balance - amount }, this);
|
|
236
|
+
* },
|
|
237
|
+
* { onFail: 'throw', errorMessage: 'Insufficient funds' }
|
|
238
|
+
* )
|
|
239
|
+
* });
|
|
240
|
+
*
|
|
241
|
+
* machine.withdraw(50); // ✅ Works synchronously
|
|
242
|
+
* machine.withdraw(200); // ❌ Throws "Insufficient funds"
|
|
243
|
+
* ```
|
|
244
|
+
*/
|
|
245
|
+
export declare function guard<C extends object, TSuccess extends Machine<any>, TFailure extends Machine<any> = Machine<C>>(condition: (ctx: C, ...args: any[]) => boolean, transition: (...args: any[]) => TSuccess, options?: GuardOptions<C, TFailure>): (...args: any[]) => TSuccess | TFailure;
|
|
216
246
|
/**
|
|
217
247
|
* Creates a runtime guard that checks conditions before executing transitions.
|
|
218
248
|
* This provides actual runtime protection, unlike the `guarded` primitive which only adds metadata.
|
|
249
|
+
* Use this when your condition or transition logic is asynchronous.
|
|
219
250
|
*
|
|
220
251
|
* @template C - The context type
|
|
221
|
-
* @template
|
|
222
|
-
* @
|
|
252
|
+
* @template TSuccess - The transition return type when condition passes
|
|
253
|
+
* @template TFailure - The fallback return type when condition fails (defaults to Machine<C>)
|
|
254
|
+
* @param condition - Function that returns true if transition should proceed (can be async)
|
|
223
255
|
* @param transition - The transition function to execute if condition passes
|
|
224
256
|
* @param options - Configuration for guard failure behavior
|
|
225
|
-
* @returns A guarded transition function
|
|
257
|
+
* @returns A guarded transition function that returns a Promise
|
|
226
258
|
*
|
|
227
259
|
* @example
|
|
228
260
|
* ```typescript
|
|
229
261
|
* const machine = createMachine({ balance: 100 }, {
|
|
230
|
-
* withdraw:
|
|
262
|
+
* withdraw: guardAsync(
|
|
263
|
+
* async (ctx, amount) => {
|
|
264
|
+
* // Simulate API call to check balance
|
|
265
|
+
* await new Promise(resolve => setTimeout(resolve, 100));
|
|
266
|
+
* return ctx.balance >= amount;
|
|
267
|
+
* },
|
|
268
|
+
* async function(amount: number) {
|
|
269
|
+
* // Simulate API call to process withdrawal
|
|
270
|
+
* await new Promise(resolve => setTimeout(resolve, 100));
|
|
271
|
+
* return createMachine({ balance: this.balance - amount }, this);
|
|
272
|
+
* },
|
|
273
|
+
* { onFail: 'throw', errorMessage: 'Insufficient funds' }
|
|
274
|
+
* )
|
|
275
|
+
* });
|
|
276
|
+
*
|
|
277
|
+
* await machine.withdraw(50); // ✅ Works
|
|
278
|
+
* await machine.withdraw(200); // ❌ Throws "Insufficient funds"
|
|
279
|
+
* ```
|
|
280
|
+
*/
|
|
281
|
+
export declare function guardAsync<C extends object, TSuccess extends Machine<any>, TFailure extends Machine<any> = Machine<C>>(condition: (ctx: C, ...args: any[]) => boolean | Promise<boolean>, transition: (...args: any[]) => TSuccess, options?: GuardOptions<C, TFailure>): GuardedTransition<C, TSuccess, TFailure>;
|
|
282
|
+
/**
|
|
283
|
+
* Creates a synchronous guard that checks conditions before executing transitions.
|
|
284
|
+
* This is the synchronous counterpart to `guard()` - use this when your machine
|
|
285
|
+
* doesn't need async transitions to avoid unnecessary Promise overhead.
|
|
286
|
+
*
|
|
287
|
+
* @template C - The context type
|
|
288
|
+
* @template T - The transition return type
|
|
289
|
+
* @param condition - Function that returns true if transition should proceed (must be synchronous)
|
|
290
|
+
* @param transition - The transition function to execute if condition passes (must be synchronous)
|
|
291
|
+
* @param options - Configuration for guard failure behavior
|
|
292
|
+
* @returns A synchronous guarded transition function
|
|
293
|
+
*
|
|
294
|
+
* @example
|
|
295
|
+
* ```typescript
|
|
296
|
+
* const machine = createMachine({ balance: 100 }, {
|
|
297
|
+
* withdraw: guardSync(
|
|
231
298
|
* (ctx, amount) => ctx.balance >= amount,
|
|
232
299
|
* function(amount: number) {
|
|
233
300
|
* return createMachine({ balance: this.balance - amount }, this);
|
|
@@ -236,17 +303,17 @@ export type GuardedTransition<C extends object, T extends Machine<any>> = {
|
|
|
236
303
|
* )
|
|
237
304
|
* });
|
|
238
305
|
*
|
|
239
|
-
* machine.withdraw(50); // ✅ Works
|
|
306
|
+
* machine.withdraw(50); // ✅ Works synchronously
|
|
240
307
|
* machine.withdraw(200); // ❌ Throws "Insufficient funds"
|
|
241
308
|
* ```
|
|
242
309
|
*/
|
|
243
|
-
export declare function
|
|
310
|
+
export declare function guardSync<C extends object, TSuccess extends Machine<any>, TFailure extends Machine<any> = Machine<C>>(condition: (ctx: C, ...args: any[]) => boolean, transition: (...args: any[]) => TSuccess, options?: GuardOptions<C, TFailure>): GuardedTransition<C, TSuccess, TFailure>;
|
|
244
311
|
/**
|
|
245
|
-
* Fluent API for creating guarded transitions.
|
|
246
|
-
* Provides a more readable way to define conditional transitions.
|
|
312
|
+
* Fluent API for creating synchronous guarded transitions.
|
|
313
|
+
* Provides a more readable way to define conditional transitions with synchronous execution.
|
|
247
314
|
*
|
|
248
315
|
* @template C - The context type
|
|
249
|
-
* @param condition -
|
|
316
|
+
* @param condition - Synchronous function that returns true if transition should proceed
|
|
250
317
|
* @returns A fluent interface for defining the guarded transition
|
|
251
318
|
*
|
|
252
319
|
* @example
|
|
@@ -262,12 +329,45 @@ export declare function guard<C extends object, T extends Machine<any>>(conditio
|
|
|
262
329
|
* });
|
|
263
330
|
* ```
|
|
264
331
|
*/
|
|
265
|
-
export declare function whenGuard<C extends object>(condition: (ctx: C, ...args: any[]) => boolean
|
|
332
|
+
export declare function whenGuard<C extends object>(condition: (ctx: C, ...args: any[]) => boolean): {
|
|
333
|
+
/**
|
|
334
|
+
* Define the transition to execute when the condition passes.
|
|
335
|
+
* Returns a guarded transition that can optionally have an else clause.
|
|
336
|
+
*/
|
|
337
|
+
do<T extends Machine<any>>(transition: (...args: any[]) => T): (...args: any[]) => T | Machine<C>;
|
|
338
|
+
};
|
|
339
|
+
/**
|
|
340
|
+
* Fluent API for creating asynchronous guarded transitions.
|
|
341
|
+
* Provides a more readable way to define conditional transitions with async execution.
|
|
342
|
+
*
|
|
343
|
+
* @template C - The context type
|
|
344
|
+
* @param condition - Function that returns true if transition should proceed (can be async)
|
|
345
|
+
* @returns A fluent interface for defining the guarded transition
|
|
346
|
+
*
|
|
347
|
+
* @example
|
|
348
|
+
* ```typescript
|
|
349
|
+
* const machine = createMachine({ isAdmin: false }, {
|
|
350
|
+
* deleteUser: whenGuardAsync(async (ctx) => {
|
|
351
|
+
* // Simulate API call
|
|
352
|
+
* await checkPermissions(ctx.userId);
|
|
353
|
+
* return ctx.isAdmin;
|
|
354
|
+
* })
|
|
355
|
+
* .do(async function(userId: string) {
|
|
356
|
+
* await deleteUserFromDB(userId);
|
|
357
|
+
* return createMachine({ ...this.context, deleted: userId }, this);
|
|
358
|
+
* })
|
|
359
|
+
* .else(function() {
|
|
360
|
+
* return createMachine({ ...this.context, error: 'Unauthorized' }, this);
|
|
361
|
+
* })
|
|
362
|
+
* });
|
|
363
|
+
* ```
|
|
364
|
+
*/
|
|
365
|
+
export declare function whenGuardAsync<C extends object>(condition: (ctx: C, ...args: any[]) => boolean | Promise<boolean>): {
|
|
266
366
|
/**
|
|
267
367
|
* Define the transition to execute when the condition passes.
|
|
268
368
|
* Returns a guarded transition that can optionally have an else clause.
|
|
269
369
|
*/
|
|
270
|
-
do<T extends Machine<any>>(transition: (...args: any[]) => T): GuardedTransition<C, T
|
|
370
|
+
do<T extends Machine<any>>(transition: (...args: any[]) => T): GuardedTransition<C, T, Machine<C>>;
|
|
271
371
|
};
|
|
272
372
|
/**
|
|
273
373
|
* Flexible metadata wrapper for functional and type-state patterns.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../src/primitives.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../src/primitives.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@doeixd/machine",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.9",
|
|
4
4
|
"files": [
|
|
5
5
|
"dist",
|
|
6
6
|
"src"
|
|
@@ -46,6 +46,10 @@
|
|
|
46
46
|
"optional": true
|
|
47
47
|
}
|
|
48
48
|
},
|
|
49
|
+
"dependencies": {
|
|
50
|
+
"ts-morph": "^27.0.2",
|
|
51
|
+
"tsx": "^4.20.6"
|
|
52
|
+
},
|
|
49
53
|
"devDependencies": {
|
|
50
54
|
"@types/node": "^22.10.2",
|
|
51
55
|
"@types/react": "^19.2.4",
|
|
@@ -58,9 +62,8 @@
|
|
|
58
62
|
"solid-js": "^1.8.22",
|
|
59
63
|
"standard-version": "^9.5.0",
|
|
60
64
|
"tslib": "^2.8.1",
|
|
61
|
-
"tsx": "^4.20.6",
|
|
62
65
|
"typescript": "^5.7.2",
|
|
63
|
-
"vitest": "^2.1.
|
|
66
|
+
"vitest": "^2.1.9"
|
|
64
67
|
},
|
|
65
68
|
"scripts": {
|
|
66
69
|
"release": "standard-version && git push --follow-tags origin main",
|
|
@@ -91,9 +94,6 @@
|
|
|
91
94
|
"publishConfig": {
|
|
92
95
|
"access": "public"
|
|
93
96
|
},
|
|
94
|
-
"dependencies": {
|
|
95
|
-
"ts-morph": "^27.0.2"
|
|
96
|
-
},
|
|
97
97
|
"types": "./dist/types/index.d.ts",
|
|
98
98
|
"main": "./dist/cjs/production/index.js",
|
|
99
99
|
"module": "./dist/esm/production/index.js",
|
|
@@ -110,5 +110,8 @@
|
|
|
110
110
|
},
|
|
111
111
|
"typesVersions": {
|
|
112
112
|
"*": {}
|
|
113
|
+
},
|
|
114
|
+
"bin": {
|
|
115
|
+
"extract": "./scripts/extract-statechart.ts"
|
|
113
116
|
}
|
|
114
117
|
}
|