@rotorsoft/act 0.8.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/@types/act-builder.d.ts +35 -219
- package/dist/@types/act-builder.d.ts.map +1 -1
- package/dist/@types/act.d.ts +2 -2
- package/dist/@types/act.d.ts.map +1 -1
- package/dist/@types/index.d.ts +1 -0
- package/dist/@types/index.d.ts.map +1 -1
- package/dist/@types/merge.d.ts +38 -0
- package/dist/@types/merge.d.ts.map +1 -0
- package/dist/@types/slice-builder.d.ts +107 -0
- package/dist/@types/slice-builder.d.ts.map +1 -0
- package/dist/@types/state-builder.d.ts +1 -1
- package/dist/@types/state-builder.d.ts.map +1 -1
- package/dist/@types/types/action.d.ts +45 -0
- package/dist/@types/types/action.d.ts.map +1 -1
- package/dist/@types/types/reaction.d.ts +1 -1
- package/dist/@types/types/reaction.d.ts.map +1 -1
- package/dist/index.cjs +125 -71
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +123 -71
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../src/types/action.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../src/types/action.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,7 +38,7 @@ import type { Committed, Schema, Schemas, Snapshot } from "./action.js";
|
|
|
38
38
|
*
|
|
39
39
|
* @see {@link Reaction} for complete reaction configuration
|
|
40
40
|
*/
|
|
41
|
-
export type ReactionHandler<E extends Schemas, K extends keyof E> = (event: Committed<E, K>, stream: string) => Promise<Snapshot<E, Schema> | void>;
|
|
41
|
+
export type ReactionHandler<E extends Schemas, K extends keyof E> = (event: Committed<E, K>, stream: string, app: any) => Promise<Snapshot<E, Schema> | void>;
|
|
42
42
|
/**
|
|
43
43
|
* Resolver for determining which stream a reaction should target.
|
|
44
44
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reaction.d.ts","sourceRoot":"","sources":["../../../src/types/reaction.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,CAClE,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EACtB,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"reaction.d.ts","sourceRoot":"","sources":["../../../src/types/reaction.ts"],"names":[],"mappings":"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"}
|
package/dist/index.cjs
CHANGED
|
@@ -53,10 +53,12 @@ __export(index_exports, {
|
|
|
53
53
|
dispose: () => dispose,
|
|
54
54
|
disposeAndExit: () => disposeAndExit,
|
|
55
55
|
extend: () => extend,
|
|
56
|
+
isSlice: () => isSlice,
|
|
56
57
|
logger: () => logger,
|
|
57
58
|
patch: () => patch,
|
|
58
59
|
port: () => port,
|
|
59
60
|
sleep: () => sleep,
|
|
61
|
+
slice: () => slice,
|
|
60
62
|
state: () => state,
|
|
61
63
|
store: () => store,
|
|
62
64
|
validate: () => validate
|
|
@@ -629,9 +631,6 @@ process.once("unhandledRejection", async (arg) => {
|
|
|
629
631
|
await disposeAndExit("ERROR");
|
|
630
632
|
});
|
|
631
633
|
|
|
632
|
-
// src/act-builder.ts
|
|
633
|
-
var import_zod4 = require("zod");
|
|
634
|
-
|
|
635
634
|
// src/act.ts
|
|
636
635
|
var import_crypto2 = require("crypto");
|
|
637
636
|
var import_events = __toESM(require("events"), 1);
|
|
@@ -872,7 +871,6 @@ var Act = class {
|
|
|
872
871
|
action2,
|
|
873
872
|
target,
|
|
874
873
|
payload,
|
|
875
|
-
// @ts-expect-error type lost
|
|
876
874
|
reactingTo,
|
|
877
875
|
skipValidation
|
|
878
876
|
);
|
|
@@ -1000,7 +998,7 @@ var Act = class {
|
|
|
1000
998
|
for (const payload of payloads) {
|
|
1001
999
|
const { event, handler, options } = payload;
|
|
1002
1000
|
try {
|
|
1003
|
-
await handler(event, stream);
|
|
1001
|
+
await handler(event, stream, this);
|
|
1004
1002
|
at = event.id;
|
|
1005
1003
|
handled++;
|
|
1006
1004
|
} catch (error) {
|
|
@@ -1129,7 +1127,6 @@ var Act = class {
|
|
|
1129
1127
|
retry: 0,
|
|
1130
1128
|
lagging: lagging2
|
|
1131
1129
|
},
|
|
1132
|
-
// @ts-expect-error indexed by key
|
|
1133
1130
|
payloads
|
|
1134
1131
|
});
|
|
1135
1132
|
});
|
|
@@ -1346,7 +1343,8 @@ var Act = class {
|
|
|
1346
1343
|
}
|
|
1347
1344
|
};
|
|
1348
1345
|
|
|
1349
|
-
// src/
|
|
1346
|
+
// src/merge.ts
|
|
1347
|
+
var import_zod4 = require("zod");
|
|
1350
1348
|
function baseTypeName(zodType) {
|
|
1351
1349
|
let t = zodType;
|
|
1352
1350
|
while (typeof t.unwrap === "function") {
|
|
@@ -1376,80 +1374,133 @@ function mergeSchemas(existing, incoming, stateName) {
|
|
|
1376
1374
|
function mergeInits(existing, incoming) {
|
|
1377
1375
|
return () => ({ ...existing(), ...incoming() });
|
|
1378
1376
|
}
|
|
1377
|
+
function registerState(state2, states, actions, events) {
|
|
1378
|
+
if (states.has(state2.name)) {
|
|
1379
|
+
const existing = states.get(state2.name);
|
|
1380
|
+
for (const name of Object.keys(state2.actions)) {
|
|
1381
|
+
if (existing.actions[name] === state2.actions[name]) continue;
|
|
1382
|
+
if (actions[name]) throw new Error(`Duplicate action "${name}"`);
|
|
1383
|
+
}
|
|
1384
|
+
for (const name of Object.keys(state2.events)) {
|
|
1385
|
+
if (existing.events[name] === state2.events[name]) continue;
|
|
1386
|
+
if (events[name]) throw new Error(`Duplicate event "${name}"`);
|
|
1387
|
+
}
|
|
1388
|
+
const merged = {
|
|
1389
|
+
...existing,
|
|
1390
|
+
state: mergeSchemas(existing.state, state2.state, state2.name),
|
|
1391
|
+
init: mergeInits(existing.init, state2.init),
|
|
1392
|
+
events: { ...existing.events, ...state2.events },
|
|
1393
|
+
actions: { ...existing.actions, ...state2.actions },
|
|
1394
|
+
patch: { ...existing.patch, ...state2.patch },
|
|
1395
|
+
on: { ...existing.on, ...state2.on },
|
|
1396
|
+
given: { ...existing.given, ...state2.given },
|
|
1397
|
+
snap: state2.snap || existing.snap
|
|
1398
|
+
};
|
|
1399
|
+
states.set(state2.name, merged);
|
|
1400
|
+
for (const name of Object.keys(merged.actions)) {
|
|
1401
|
+
actions[name] = merged;
|
|
1402
|
+
}
|
|
1403
|
+
for (const name of Object.keys(state2.events)) {
|
|
1404
|
+
if (events[name]) continue;
|
|
1405
|
+
events[name] = {
|
|
1406
|
+
schema: state2.events[name],
|
|
1407
|
+
reactions: /* @__PURE__ */ new Map()
|
|
1408
|
+
};
|
|
1409
|
+
}
|
|
1410
|
+
} else {
|
|
1411
|
+
states.set(state2.name, state2);
|
|
1412
|
+
for (const name of Object.keys(state2.actions)) {
|
|
1413
|
+
if (actions[name]) throw new Error(`Duplicate action "${name}"`);
|
|
1414
|
+
actions[name] = state2;
|
|
1415
|
+
}
|
|
1416
|
+
for (const name of Object.keys(state2.events)) {
|
|
1417
|
+
if (events[name]) throw new Error(`Duplicate event "${name}"`);
|
|
1418
|
+
events[name] = {
|
|
1419
|
+
schema: state2.events[name],
|
|
1420
|
+
reactions: /* @__PURE__ */ new Map()
|
|
1421
|
+
};
|
|
1422
|
+
}
|
|
1423
|
+
}
|
|
1424
|
+
}
|
|
1379
1425
|
var _this_ = ({ stream }) => ({
|
|
1380
1426
|
source: stream,
|
|
1381
1427
|
target: stream
|
|
1382
1428
|
});
|
|
1383
1429
|
var _void_ = () => void 0;
|
|
1430
|
+
|
|
1431
|
+
// src/slice-builder.ts
|
|
1432
|
+
function isSlice(x) {
|
|
1433
|
+
return x != null && x._tag === "Slice";
|
|
1434
|
+
}
|
|
1435
|
+
function slice(states = /* @__PURE__ */ new Map(), actions = {}, events = {}) {
|
|
1436
|
+
const builder = {
|
|
1437
|
+
with: (state2) => {
|
|
1438
|
+
registerState(state2, states, actions, events);
|
|
1439
|
+
return slice(states, actions, events);
|
|
1440
|
+
},
|
|
1441
|
+
on: (event) => ({
|
|
1442
|
+
do: (handler, options) => {
|
|
1443
|
+
const reaction = {
|
|
1444
|
+
handler,
|
|
1445
|
+
resolver: _this_,
|
|
1446
|
+
options: {
|
|
1447
|
+
blockOnError: options?.blockOnError ?? true,
|
|
1448
|
+
maxRetries: options?.maxRetries ?? 3
|
|
1449
|
+
}
|
|
1450
|
+
};
|
|
1451
|
+
const name = handler.name || `${String(event)}_${events[event].reactions.size}`;
|
|
1452
|
+
events[event].reactions.set(name, reaction);
|
|
1453
|
+
return {
|
|
1454
|
+
...builder,
|
|
1455
|
+
to(resolver) {
|
|
1456
|
+
events[event].reactions.set(name, {
|
|
1457
|
+
...reaction,
|
|
1458
|
+
resolver: typeof resolver === "string" ? { target: resolver } : resolver
|
|
1459
|
+
});
|
|
1460
|
+
return builder;
|
|
1461
|
+
},
|
|
1462
|
+
void() {
|
|
1463
|
+
events[event].reactions.set(name, {
|
|
1464
|
+
...reaction,
|
|
1465
|
+
resolver: _void_
|
|
1466
|
+
});
|
|
1467
|
+
return builder;
|
|
1468
|
+
}
|
|
1469
|
+
};
|
|
1470
|
+
}
|
|
1471
|
+
}),
|
|
1472
|
+
build: () => ({
|
|
1473
|
+
_tag: "Slice",
|
|
1474
|
+
states,
|
|
1475
|
+
events
|
|
1476
|
+
}),
|
|
1477
|
+
events
|
|
1478
|
+
};
|
|
1479
|
+
return builder;
|
|
1480
|
+
}
|
|
1481
|
+
|
|
1482
|
+
// src/act-builder.ts
|
|
1384
1483
|
function act(states = /* @__PURE__ */ new Map(), registry = {
|
|
1385
1484
|
actions: {},
|
|
1386
1485
|
events: {}
|
|
1387
1486
|
}) {
|
|
1388
1487
|
const builder = {
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
*
|
|
1394
|
-
* @template SX The type of state
|
|
1395
|
-
* @template EX The type of events
|
|
1396
|
-
* @template AX The type of actions
|
|
1397
|
-
* @param state The state to add
|
|
1398
|
-
* @returns The builder
|
|
1399
|
-
*/
|
|
1400
|
-
with: (state2) => {
|
|
1401
|
-
if (states.has(state2.name)) {
|
|
1402
|
-
const existing = states.get(state2.name);
|
|
1403
|
-
for (const name of Object.keys(state2.actions)) {
|
|
1404
|
-
if (registry.actions[name])
|
|
1405
|
-
throw new Error(`Duplicate action "${name}"`);
|
|
1406
|
-
}
|
|
1407
|
-
for (const name of Object.keys(state2.events)) {
|
|
1408
|
-
if (registry.events[name])
|
|
1409
|
-
throw new Error(`Duplicate event "${name}"`);
|
|
1410
|
-
}
|
|
1411
|
-
const merged = {
|
|
1412
|
-
...existing,
|
|
1413
|
-
state: mergeSchemas(existing.state, state2.state, state2.name),
|
|
1414
|
-
init: mergeInits(existing.init, state2.init),
|
|
1415
|
-
events: { ...existing.events, ...state2.events },
|
|
1416
|
-
actions: { ...existing.actions, ...state2.actions },
|
|
1417
|
-
patch: { ...existing.patch, ...state2.patch },
|
|
1418
|
-
on: { ...existing.on, ...state2.on },
|
|
1419
|
-
given: { ...existing.given, ...state2.given },
|
|
1420
|
-
snap: state2.snap || existing.snap
|
|
1421
|
-
};
|
|
1422
|
-
states.set(state2.name, merged);
|
|
1423
|
-
for (const name of Object.keys(merged.actions)) {
|
|
1424
|
-
registry.actions[name] = merged;
|
|
1488
|
+
with: ((input) => {
|
|
1489
|
+
if (isSlice(input)) {
|
|
1490
|
+
for (const s of input.states.values()) {
|
|
1491
|
+
registerState(s, states, registry.actions, registry.events);
|
|
1425
1492
|
}
|
|
1426
|
-
for (const
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
reactions
|
|
1430
|
-
}
|
|
1431
|
-
}
|
|
1432
|
-
} else {
|
|
1433
|
-
states.set(state2.name, state2);
|
|
1434
|
-
for (const name of Object.keys(state2.actions)) {
|
|
1435
|
-
if (registry.actions[name])
|
|
1436
|
-
throw new Error(`Duplicate action "${name}"`);
|
|
1437
|
-
registry.actions[name] = state2;
|
|
1438
|
-
}
|
|
1439
|
-
for (const name of Object.keys(state2.events)) {
|
|
1440
|
-
if (registry.events[name])
|
|
1441
|
-
throw new Error(`Duplicate event "${name}"`);
|
|
1442
|
-
registry.events[name] = {
|
|
1443
|
-
schema: state2.events[name],
|
|
1444
|
-
reactions: /* @__PURE__ */ new Map()
|
|
1445
|
-
};
|
|
1493
|
+
for (const eventName of Object.keys(input.events)) {
|
|
1494
|
+
const sliceRegister = input.events[eventName];
|
|
1495
|
+
for (const [name, reaction] of sliceRegister.reactions) {
|
|
1496
|
+
registry.events[eventName].reactions.set(name, reaction);
|
|
1497
|
+
}
|
|
1446
1498
|
}
|
|
1499
|
+
return act(states, registry);
|
|
1447
1500
|
}
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
);
|
|
1452
|
-
},
|
|
1501
|
+
registerState(input, states, registry.actions, registry.events);
|
|
1502
|
+
return act(states, registry);
|
|
1503
|
+
}),
|
|
1453
1504
|
/**
|
|
1454
1505
|
* Adds a reaction to an event.
|
|
1455
1506
|
*
|
|
@@ -1467,18 +1518,19 @@ function act(states = /* @__PURE__ */ new Map(), registry = {
|
|
|
1467
1518
|
maxRetries: options?.maxRetries ?? 3
|
|
1468
1519
|
}
|
|
1469
1520
|
};
|
|
1470
|
-
registry.events[event].reactions.
|
|
1521
|
+
const name = handler.name || `${String(event)}_${registry.events[event].reactions.size}`;
|
|
1522
|
+
registry.events[event].reactions.set(name, reaction);
|
|
1471
1523
|
return {
|
|
1472
1524
|
...builder,
|
|
1473
1525
|
to(resolver) {
|
|
1474
|
-
registry.events[event].reactions.set(
|
|
1526
|
+
registry.events[event].reactions.set(name, {
|
|
1475
1527
|
...reaction,
|
|
1476
1528
|
resolver: typeof resolver === "string" ? { target: resolver } : resolver
|
|
1477
1529
|
});
|
|
1478
1530
|
return builder;
|
|
1479
1531
|
},
|
|
1480
1532
|
void() {
|
|
1481
|
-
registry.events[event].reactions.set(
|
|
1533
|
+
registry.events[event].reactions.set(name, {
|
|
1482
1534
|
...reaction,
|
|
1483
1535
|
resolver: _void_
|
|
1484
1536
|
});
|
|
@@ -1573,10 +1625,12 @@ function action_builder(state2) {
|
|
|
1573
1625
|
dispose,
|
|
1574
1626
|
disposeAndExit,
|
|
1575
1627
|
extend,
|
|
1628
|
+
isSlice,
|
|
1576
1629
|
logger,
|
|
1577
1630
|
patch,
|
|
1578
1631
|
port,
|
|
1579
1632
|
sleep,
|
|
1633
|
+
slice,
|
|
1580
1634
|
state,
|
|
1581
1635
|
store,
|
|
1582
1636
|
validate
|