@doeixd/machine 0.0.5 → 0.0.6
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 +2 -2
- package/dist/cjs/development/index.js.map +2 -2
- package/dist/cjs/production/index.js +1 -1
- package/dist/esm/development/index.js +2 -2
- package/dist/esm/development/index.js.map +2 -2
- package/dist/esm/production/index.js +1 -1
- package/dist/types/primitives.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/primitives.ts +3 -2
- package/src/solid.ts +8 -8
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var b=(t=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(t,{get:(e,r)=>(typeof require!="undefined"?require:e)[r]}):t)(function(t){if(typeof require!="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});function E(t,e){let r=t(e),i=e;for(;;){let{value:n,done:o}=r.next(i);if(o)return n;i=n}}function N(t){return function*(){return yield t}()}function v(t){return t}function R(t,e){return e.reduce((r,i)=>E(i,r),t)}function O(t){return t}function P(t,e,r=(i,n)=>{console.log(`Step ${i}:`,n.context)}){let i=t(e),n=e,o=0;for(r(o,n);;){let{value:a,done:s}=i.next(n);if(s)return console.log("Final:",a),a;n=a,o++,r(o,n)}}async function K(t,e){let r=t(e),i=e;for(;;){let{value:n,done:o}=await r.next(i);if(o)return n;i=n}}async function*$(t){return yield t}var D=Symbol("MachineMeta"),M=Symbol("__machine_runtime_meta__");function g(t,e){let r=t[M]||{},i={...r,...e};e.guards&&r.guards?i.guards=[...
|
|
1
|
+
var b=(t=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(t,{get:(e,r)=>(typeof require!="undefined"?require:e)[r]}):t)(function(t){if(typeof require!="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});function E(t,e){let r=t(e),i=e;for(;;){let{value:n,done:o}=r.next(i);if(o)return n;i=n}}function N(t){return function*(){return yield t}()}function v(t){return t}function R(t,e){return e.reduce((r,i)=>E(i,r),t)}function O(t){return t}function P(t,e,r=(i,n)=>{console.log(`Step ${i}:`,n.context)}){let i=t(e),n=e,o=0;for(r(o,n);;){let{value:a,done:s}=i.next(n);if(s)return console.log("Final:",a),a;n=a,o++,r(o,n)}}async function K(t,e){let r=t(e),i=e;for(;;){let{value:n,done:o}=await r.next(i);if(o)return n;i=n}}async function*$(t){return yield t}var D=Symbol("MachineMeta"),M=Symbol("__machine_runtime_meta__");function g(t,e){let r=t[M]||{},i={...r,...e};e.guards&&r.guards?i.guards=[...e.guards,...r.guards]:e.guards&&(i.guards=[...e.guards]),e.actions&&r.actions?i.actions=[...e.actions,...r.actions]:e.actions&&(i.actions=[...e.actions]),Object.defineProperty(t,M,{value:i,enumerable:!1,writable:!1,configurable:!0})}function L(t,e){return g(e,{target:t.name||t.toString()}),e}function I(t,e){return g(e,{description:t}),e}function _(t,e){return g(e,{guards:[t]}),e}function W(t,e){return g(e,{invoke:{src:t.src,onDone:t.onDone.name||t.onDone.toString(),onError:t.onError.name||t.onError.toString(),description:t.description}}),e}function G(t,e){return g(e,{actions:[t]}),e}function V(t,e){return e}import{Project as A,Node as c}from"ts-morph";function k(t){return c.isIdentifier(t)?t.getText():c.isTypeOfExpression(t)?t.getExpression().getText():"unknown"}function h(t){if(!c.isObjectLiteralExpression(t))return{};let e={};for(let r of t.getProperties())if(c.isPropertyAssignment(r)){let i=r.getName(),n=r.getInitializer();n&&(c.isStringLiteral(n)||c.isNumericLiteral(n)?e[i]=n.getLiteralValue():n.getText()==="true"||n.getText()==="false"?e[i]=n.getText()==="true":c.isIdentifier(n)?e[i]=n.getText():c.isObjectLiteralExpression(n)?e[i]=h(n):c.isArrayLiteralExpression(n)&&(e[i]=n.getElements().map(o=>c.isObjectLiteralExpression(o)?h(o):o.getText())))}return e}function z(t){if(!c.isObjectLiteralExpression(t))return{};let e={};for(let r of t.getProperties())if(c.isPropertyAssignment(r)){let i=r.getName(),n=r.getInitializer();if(!n)continue;i==="onDone"||i==="onError"?e[i]=k(n):c.isStringLiteral(n)?e[i]=n.getLiteralValue():c.isIdentifier(n)&&(e[i]=n.getText())}return e}function p(t,e=!1){if(!c.isCallExpression(t))return null;let r=t.getExpression(),i=c.isIdentifier(r)?r.getText():null;if(!i)return null;let n={},o=t.getArguments();switch(i){case"transitionTo":o[0]&&(n.target=k(o[0]));break;case"describe":if(o[0]&&c.isStringLiteral(o[0])&&(n.description=o[0].getLiteralValue()),o[1]&&c.isCallExpression(o[1])){let a=p(o[1],e);a&&Object.assign(n,a)}break;case"guarded":if(o[0]){let a=h(o[0]);Object.keys(a).length>0&&(n.guards=[a])}if(o[1]&&c.isCallExpression(o[1])){let a=p(o[1],e);a&&Object.assign(n,a)}break;case"invoke":if(o[0]){let a=z(o[0]);Object.keys(a).length>0&&(n.invoke=a)}break;case"action":if(o[0]){let a=h(o[0]);Object.keys(a).length>0&&(n.actions=[a])}if(o[1]&&c.isCallExpression(o[1])){let a=p(o[1],e);a&&Object.assign(n,a)}break;default:return null}return Object.keys(n).length>0?n:null}function B(t,e=!1){if(!c.isPropertyDeclaration(t))return e&&console.error(" ⚠️ Not a property declaration"),null;let r=t.getInitializer();if(!r)return e&&console.error(" ⚠️ No initializer"),null;if(!c.isCallExpression(r))return e&&console.error(" ⚠️ Initializer is not a call expression"),null;let i=p(r,e);return i&&e&&console.error(" ✅ Extracted metadata:",JSON.stringify(i,null,2)),i}function U(t,e=!1){let r={on:{}},i=t.getDeclarations()[0];if(!i||!c.isClassDeclaration(i))return e&&console.error(`⚠️ Warning: Could not get class declaration for ${t.getName()}`),r;let n=t.getName();e&&console.error(` Analyzing state: ${n}`);for(let o of i.getInstanceMembers()){let a=o.getName();e&&console.error(` Checking member: ${a}`);let s=B(o,e);if(!s)continue;e&&console.error(` Found transition: ${a}`);let{invoke:u,actions:l,guards:f,...x}=s;if(u&&(r.invoke||(r.invoke=[]),r.invoke.push({src:u.src,onDone:{target:u.onDone},onError:{target:u.onError},description:u.description}),e&&console.error(` → Invoke: ${u.src}`)),x.target){let d={target:x.target};x.description&&(d.description=x.description),f&&(d.cond=f.map(C=>C.name).join(" && "),e&&console.error(` → Guard: ${d.cond}`)),l&&l.length>0&&(d.actions=l.map(C=>C.name),e&&console.error(` → Actions: ${d.actions.join(", ")}`)),r.on[a]=d,e&&console.error(` → Target: ${x.target}`)}}return r}function m(t,e,r=!1){r&&(console.error(`
|
|
2
2
|
🔍 Analyzing machine: ${t.id}`),console.error(` Source: ${t.input}`));let i=e.getSourceFile(t.input);if(!i)throw new Error(`Source file not found: ${t.input}`);let n={id:t.id,initial:t.initialState,states:{}};t.description&&(n.description=t.description);for(let o of t.classes){let a=i.getClass(o);if(!a){console.warn(`⚠️ Warning: Class '${o}' not found in '${t.input}'. Skipping.`);continue}let s=a.getSymbolOrThrow(),u=U(s,r);n.states[o]=u}return r&&console.error(` ✅ Extracted ${t.classes.length} states`),n}function q(t){var n;let e=(n=t.verbose)!=null?n:!1;e&&(console.error(`
|
|
3
3
|
📊 Starting statechart extraction`),console.error(` Machines to extract: ${t.machines.length}`));let r=new A;r.addSourceFilesAtPaths("src/**/*.ts"),r.addSourceFilesAtPaths("examples/**/*.ts");let i=[];for(let o of t.machines)try{let a=m(o,r,e);i.push(a)}catch(a){console.error(`❌ Error extracting machine '${o.id}':`,a),e||console.error(" Run with --verbose for more details")}return e&&console.error(`
|
|
4
4
|
✅ Extraction complete: ${i.length}/${t.machines.length} machines extracted`),i}function S(){let t={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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../src/primitives.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH;;;GAGG;AACH,eAAO,MAAM,QAAQ,eAAwB,CAAC;AAE9C;;;;GAIG;AACH,eAAO,MAAM,YAAY,eAAqC,CAAC;AAE/D;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,8DAA8D;IAC9D,GAAG,EAAE,MAAM,CAAC;IACZ,mDAAmD;IACnD,MAAM,EAAE,gBAAgB,CAAC;IACzB,iDAAiD;IACjD,OAAO,EAAE,gBAAgB,CAAC;IAC1B,4BAA4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,uDAAuD;IACvD,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,oEAAoE;IACpE,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,MAAM,QAAQ,CAClB,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACjC,CAAC,SAAS,cAAc,IACtB,CAAC,GAAG;IAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;CAAE,CAAC;AAM1B;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,MAAM,CAAC,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD;
|
|
1
|
+
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../src/primitives.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/primitives.ts
CHANGED
|
@@ -130,14 +130,15 @@ function attachRuntimeMeta(fn: any, metadata: Partial<RuntimeTransitionMeta>): v
|
|
|
130
130
|
const merged: any = { ...existing, ...metadata };
|
|
131
131
|
|
|
132
132
|
// Deep merge for array properties
|
|
133
|
+
// Prepend new items to preserve order (outer wraps first in call stack)
|
|
133
134
|
if (metadata.guards && existing.guards) {
|
|
134
|
-
merged.guards = [...
|
|
135
|
+
merged.guards = [...metadata.guards, ...existing.guards];
|
|
135
136
|
} else if (metadata.guards) {
|
|
136
137
|
merged.guards = [...metadata.guards];
|
|
137
138
|
}
|
|
138
139
|
|
|
139
140
|
if (metadata.actions && existing.actions) {
|
|
140
|
-
merged.actions = [...
|
|
141
|
+
merged.actions = [...metadata.actions, ...existing.actions];
|
|
141
142
|
} else if (metadata.actions) {
|
|
142
143
|
merged.actions = [...metadata.actions];
|
|
143
144
|
}
|
package/src/solid.ts
CHANGED
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
type Accessor,
|
|
23
23
|
type Setter
|
|
24
24
|
} from 'solid-js';
|
|
25
|
-
import { createStore, type SetStoreFunction, type Store
|
|
25
|
+
import { createStore, type SetStoreFunction, type Store } from 'solid-js/store';
|
|
26
26
|
import { Machine, AsyncMachine, Event, Context, runMachine as runMachineCore } from './index';
|
|
27
27
|
|
|
28
28
|
// =============================================================================
|
|
@@ -86,12 +86,12 @@ export function createMachine<M extends Machine<any>>(
|
|
|
86
86
|
const { context, ...transitions } = machine();
|
|
87
87
|
|
|
88
88
|
const handlers = Object.fromEntries(
|
|
89
|
-
Object.entries(transitions).map(([key
|
|
89
|
+
Object.entries(transitions).map(([key]) => [
|
|
90
90
|
key,
|
|
91
91
|
(...args: any[]) => {
|
|
92
92
|
const currentMachine = machine();
|
|
93
93
|
const nextMachine = (currentMachine as any)[key](...args);
|
|
94
|
-
setMachine(
|
|
94
|
+
setMachine(nextMachine);
|
|
95
95
|
return nextMachine;
|
|
96
96
|
}
|
|
97
97
|
])
|
|
@@ -153,11 +153,11 @@ export function createMachineStore<M extends Machine<any>>(
|
|
|
153
153
|
const { context, ...transitions } = initial;
|
|
154
154
|
|
|
155
155
|
const handlers = Object.fromEntries(
|
|
156
|
-
Object.entries(transitions).map(([key
|
|
156
|
+
Object.entries(transitions).map(([key]) => [
|
|
157
157
|
key,
|
|
158
158
|
(...args: any[]) => {
|
|
159
159
|
const nextMachine = (store as any)[key](...args);
|
|
160
|
-
setStore(
|
|
160
|
+
setStore(nextMachine);
|
|
161
161
|
return nextMachine;
|
|
162
162
|
}
|
|
163
163
|
])
|
|
@@ -289,12 +289,12 @@ export function createMachineContext<C extends object, M extends Machine<C>>(
|
|
|
289
289
|
const { context: _, ...transitions } = currentMachine;
|
|
290
290
|
|
|
291
291
|
const handlers = Object.fromEntries(
|
|
292
|
-
Object.entries(transitions).map(([key
|
|
292
|
+
Object.entries(transitions).map(([key]) => [
|
|
293
293
|
key,
|
|
294
294
|
(...args: any[]) => {
|
|
295
295
|
const nextMachine = (currentMachine as any)[key](...args);
|
|
296
296
|
currentMachine = nextMachine;
|
|
297
|
-
setContext(
|
|
297
|
+
setContext(nextMachine.context);
|
|
298
298
|
return nextMachine;
|
|
299
299
|
}
|
|
300
300
|
])
|
|
@@ -383,7 +383,7 @@ export function batchTransitions<M extends Machine<any>>(
|
|
|
383
383
|
|
|
384
384
|
return batch(() => {
|
|
385
385
|
const finalMachine = transitions.reduce((m, transition) => transition(m), machine);
|
|
386
|
-
setMachine(finalMachine);
|
|
386
|
+
setMachine(() => finalMachine);
|
|
387
387
|
return finalMachine;
|
|
388
388
|
});
|
|
389
389
|
}
|