@hardlydifficult/workflow-engine 1.0.3 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -0
- package/dist/DataCursor.d.ts +22 -0
- package/dist/DataCursor.d.ts.map +1 -0
- package/dist/DataCursor.js +43 -0
- package/dist/DataCursor.js.map +1 -0
- package/dist/WorkflowEngine.d.ts +3 -0
- package/dist/WorkflowEngine.d.ts.map +1 -1
- package/dist/WorkflowEngine.js +5 -0
- package/dist/WorkflowEngine.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -75,9 +75,25 @@ engine.isTerminal; // true
|
|
|
75
75
|
| `transition(to, updater?)` | Change status, optionally mutate data. Validates transition, persists immediately. |
|
|
76
76
|
| `update(updater)` | Mutate data without changing status. Persists immediately. |
|
|
77
77
|
| `save()` | Force-save current state to disk. |
|
|
78
|
+
| `cursor(selector)` | Create a `DataCursor` for safe nested data access with `get()`, `find()`, `update()`. |
|
|
78
79
|
| `canTransition(to)` | Check if a transition is allowed from current status. |
|
|
79
80
|
| `allowedTransitions()` | List statuses reachable from current status. |
|
|
80
81
|
|
|
82
|
+
### `cursor<TItem>(selector)`
|
|
83
|
+
|
|
84
|
+
Creates a reusable cursor for safe navigation into nested engine data. Define the selector once, then use `get()`, `find()`, or `update()` without repeating navigation logic.
|
|
85
|
+
|
|
86
|
+
```typescript
|
|
87
|
+
interface Data { items: Array<{ name: string; done: boolean }>; currentIndex?: number; }
|
|
88
|
+
|
|
89
|
+
const item = engine.cursor((d) => d.items[d.currentIndex ?? -1]);
|
|
90
|
+
|
|
91
|
+
item.get(); // returns item or throws "Cursor target not found"
|
|
92
|
+
item.find(); // returns item or undefined
|
|
93
|
+
await item.update((it) => { it.done = true; }); // persists, no-op if undefined
|
|
94
|
+
await item.update((it, d) => { d.currentIndex = undefined; }); // access parent data too
|
|
95
|
+
```
|
|
96
|
+
|
|
81
97
|
### Updater Pattern
|
|
82
98
|
|
|
83
99
|
`transition()` and `update()` accept an updater callback that receives a `structuredClone` of the data. Mutate it directly — if the updater throws, nothing changes.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { WorkflowEngine } from "./WorkflowEngine.js";
|
|
2
|
+
/**
|
|
3
|
+
* Reusable cursor for safe navigation into nested engine data.
|
|
4
|
+
*
|
|
5
|
+
* Define a selector once, then use `get()` / `find()` / `update()` to
|
|
6
|
+
* interact with the selected item without repeating navigation logic.
|
|
7
|
+
*/
|
|
8
|
+
export declare class DataCursor<TStatus extends string, TData, TItem> {
|
|
9
|
+
private readonly engine;
|
|
10
|
+
private readonly selector;
|
|
11
|
+
constructor(engine: WorkflowEngine<TStatus, TData>, selector: (data: TData) => TItem | undefined);
|
|
12
|
+
/** Get the selected item. Throws if the selector returns undefined. */
|
|
13
|
+
get(): TItem;
|
|
14
|
+
/** Get the selected item, or undefined. */
|
|
15
|
+
find(): TItem | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* Update the selected item (and optionally the parent data).
|
|
18
|
+
* No-op if the selector returns undefined.
|
|
19
|
+
*/
|
|
20
|
+
update(updater: (item: TItem, data: TData) => void): Promise<void>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=DataCursor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataCursor.d.ts","sourceRoot":"","sources":["../src/DataCursor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;;;GAKG;AACH,qBAAa,UAAU,CAAC,OAAO,SAAS,MAAM,EAAE,KAAK,EAAE,KAAK;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IACxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqC;gBAG5D,MAAM,EAAE,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,EACtC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,KAAK,GAAG,SAAS;IAM9C,uEAAuE;IACvE,GAAG,IAAI,KAAK;IAQZ,2CAA2C;IAC3C,IAAI,IAAI,KAAK,GAAG,SAAS;IAIzB;;;OAGG;IACG,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAQzE"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DataCursor = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Reusable cursor for safe navigation into nested engine data.
|
|
6
|
+
*
|
|
7
|
+
* Define a selector once, then use `get()` / `find()` / `update()` to
|
|
8
|
+
* interact with the selected item without repeating navigation logic.
|
|
9
|
+
*/
|
|
10
|
+
class DataCursor {
|
|
11
|
+
engine;
|
|
12
|
+
selector;
|
|
13
|
+
constructor(engine, selector) {
|
|
14
|
+
this.engine = engine;
|
|
15
|
+
this.selector = selector;
|
|
16
|
+
}
|
|
17
|
+
/** Get the selected item. Throws if the selector returns undefined. */
|
|
18
|
+
get() {
|
|
19
|
+
const item = this.selector(this.engine.data);
|
|
20
|
+
if (item === undefined) {
|
|
21
|
+
throw new Error("Cursor target not found");
|
|
22
|
+
}
|
|
23
|
+
return item;
|
|
24
|
+
}
|
|
25
|
+
/** Get the selected item, or undefined. */
|
|
26
|
+
find() {
|
|
27
|
+
return this.selector(this.engine.data);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Update the selected item (and optionally the parent data).
|
|
31
|
+
* No-op if the selector returns undefined.
|
|
32
|
+
*/
|
|
33
|
+
async update(updater) {
|
|
34
|
+
await this.engine.update((d) => {
|
|
35
|
+
const item = this.selector(d);
|
|
36
|
+
if (item !== undefined) {
|
|
37
|
+
updater(item, d);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.DataCursor = DataCursor;
|
|
43
|
+
//# sourceMappingURL=DataCursor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataCursor.js","sourceRoot":"","sources":["../src/DataCursor.ts"],"names":[],"mappings":";;;AAEA;;;;;GAKG;AACH,MAAa,UAAU;IACJ,MAAM,CAAiC;IACvC,QAAQ,CAAqC;IAE9D,YACE,MAAsC,EACtC,QAA4C;QAE5C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,uEAAuE;IACvE,GAAG;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAa,CAAC,CAAC;QACtD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2CAA2C;IAC3C,IAAI;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAa,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,OAA2C;QACtD,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACnB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAtCD,gCAsCC"}
|
package/dist/WorkflowEngine.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DataCursor } from "./DataCursor.js";
|
|
1
2
|
import type { DataUpdater, WorkflowEngineOptions } from "./types.js";
|
|
2
3
|
/**
|
|
3
4
|
* General-purpose state machine with typed statuses, validated transitions,
|
|
@@ -42,6 +43,8 @@ export declare class WorkflowEngine<TStatus extends string, TData> {
|
|
|
42
43
|
* On success, state is persisted immediately.
|
|
43
44
|
*/
|
|
44
45
|
update(updater: DataUpdater<TData>): Promise<void>;
|
|
46
|
+
/** Create a cursor for safe navigation into nested data. */
|
|
47
|
+
cursor<TItem>(selector: (data: TData) => TItem | undefined): DataCursor<TStatus, TData, TItem>;
|
|
45
48
|
/** Check if a specific transition is allowed from current status */
|
|
46
49
|
canTransition(to: TStatus): boolean;
|
|
47
50
|
/** Get statuses reachable from current status */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowEngine.d.ts","sourceRoot":"","sources":["../src/WorkflowEngine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EAIX,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,qBAAa,cAAc,CAAC,OAAO,SAAS,MAAM,EAAE,KAAK;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+C;IACvE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyB;IACrD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAEtB;IACV,OAAO,CAAC,MAAM,CAAS;gBAEX,OAAO,EAAE,qBAAqB,CAAC,OAAO,EAAE,KAAK,CAAC;IAwB1D,qBAAqB;IACrB,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,+BAA+B;IAC/B,IAAI,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,CAE1B;IAED,qCAAqC;IACrC,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,wCAAwC;IACxC,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,qDAAqD;IACrD,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,uEAAuE;IACvE,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B;;;;;;OAMG;IACG,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA+B1E;;;;;;OAMG;IACG,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAexD,oEAAoE;IACpE,aAAa,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO;IAInC,iDAAiD;IACjD,kBAAkB,IAAI,SAAS,OAAO,EAAE;IAIxC,uCAAuC;IACjC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,OAAO,CAAC,SAAS;CAclB"}
|
|
1
|
+
{"version":3,"file":"WorkflowEngine.d.ts","sourceRoot":"","sources":["../src/WorkflowEngine.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EACV,WAAW,EAIX,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,qBAAa,cAAc,CAAC,OAAO,SAAS,MAAM,EAAE,KAAK;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+C;IACvE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyB;IACrD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAEtB;IACV,OAAO,CAAC,MAAM,CAAS;gBAEX,OAAO,EAAE,qBAAqB,CAAC,OAAO,EAAE,KAAK,CAAC;IAwB1D,qBAAqB;IACrB,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,+BAA+B;IAC/B,IAAI,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,CAE1B;IAED,qCAAqC;IACrC,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,wCAAwC;IACxC,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,qDAAqD;IACrD,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,uEAAuE;IACvE,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B;;;;;;OAMG;IACG,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA+B1E;;;;;;OAMG;IACG,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAexD,4DAA4D;IAC5D,MAAM,CAAC,KAAK,EACV,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,KAAK,GAAG,SAAS,GAC3C,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC;IAIpC,oEAAoE;IACpE,aAAa,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO;IAInC,iDAAiD;IACjD,kBAAkB,IAAI,SAAS,OAAO,EAAE;IAIxC,uCAAuC;IACjC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,OAAO,CAAC,SAAS;CAclB"}
|
package/dist/WorkflowEngine.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.WorkflowEngine = void 0;
|
|
4
4
|
const state_tracker_1 = require("@hardlydifficult/state-tracker");
|
|
5
|
+
const DataCursor_js_1 = require("./DataCursor.js");
|
|
5
6
|
/**
|
|
6
7
|
* General-purpose state machine with typed statuses, validated transitions,
|
|
7
8
|
* and persistent state via StateTracker.
|
|
@@ -109,6 +110,10 @@ class WorkflowEngine {
|
|
|
109
110
|
await this.tracker.saveAsync();
|
|
110
111
|
this.emitEvent("update");
|
|
111
112
|
}
|
|
113
|
+
/** Create a cursor for safe navigation into nested data. */
|
|
114
|
+
cursor(selector) {
|
|
115
|
+
return new DataCursor_js_1.DataCursor(this, selector);
|
|
116
|
+
}
|
|
112
117
|
/** Check if a specific transition is allowed from current status */
|
|
113
118
|
canTransition(to) {
|
|
114
119
|
return this.transitions[this.status].includes(to);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowEngine.js","sourceRoot":"","sources":["../src/WorkflowEngine.ts"],"names":[],"mappings":";;;AAAA,kEAA8D;
|
|
1
|
+
{"version":3,"file":"WorkflowEngine.js","sourceRoot":"","sources":["../src/WorkflowEngine.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EACV,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,WAAW,GACZ,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EACV,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,WAAW,GACZ,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WorkflowEngine = void 0;
|
|
3
|
+
exports.WorkflowEngine = exports.DataCursor = void 0;
|
|
4
|
+
var DataCursor_js_1 = require("./DataCursor.js");
|
|
5
|
+
Object.defineProperty(exports, "DataCursor", { enumerable: true, get: function () { return DataCursor_js_1.DataCursor; } });
|
|
4
6
|
var WorkflowEngine_js_1 = require("./WorkflowEngine.js");
|
|
5
7
|
Object.defineProperty(exports, "WorkflowEngine", { enumerable: true, get: function () { return WorkflowEngine_js_1.WorkflowEngine; } });
|
|
6
8
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,yDAAqD;AAA5C,mHAAA,cAAc,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;AAApC,2GAAA,UAAU,OAAA;AACnB,yDAAqD;AAA5C,mHAAA,cAAc,OAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hardlydifficult/workflow-engine",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"files": [
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"clean": "rm -rf dist"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@hardlydifficult/state-tracker": "
|
|
18
|
+
"@hardlydifficult/state-tracker": "file:../state-tracker"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@types/node": "20.19.31",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"vitest": "1.6.1"
|
|
24
24
|
},
|
|
25
25
|
"peerDependencies": {
|
|
26
|
-
"@hardlydifficult/state-tracker": "2.0.
|
|
26
|
+
"@hardlydifficult/state-tracker": ">=2.0.0"
|
|
27
27
|
},
|
|
28
28
|
"engines": {
|
|
29
29
|
"node": ">=18.0.0"
|