@rotorsoft/act 0.3.0 → 0.4.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/{act-builder.d.ts → @types/act-builder.d.ts} +17 -2
- package/dist/@types/act-builder.d.ts.map +1 -0
- package/dist/@types/act.d.ts +75 -0
- package/dist/@types/act.d.ts.map +1 -0
- package/dist/{adapters → @types/adapters}/InMemoryStore.d.ts +1 -1
- package/dist/@types/adapters/InMemoryStore.d.ts.map +1 -0
- package/dist/{config.d.ts → @types/config.d.ts} +4 -0
- package/dist/@types/config.d.ts.map +1 -0
- package/dist/@types/event-sourcing.d.ts +41 -0
- package/dist/@types/event-sourcing.d.ts.map +1 -0
- package/dist/@types/index.d.ts +13 -0
- package/dist/@types/index.d.ts.map +1 -0
- package/dist/{ports.d.ts → @types/ports.d.ts} +5 -1
- package/dist/@types/ports.d.ts.map +1 -0
- package/dist/{state-builder.d.ts → @types/state-builder.d.ts} +1 -1
- package/dist/@types/state-builder.d.ts.map +1 -0
- package/dist/{types → @types/types}/action.d.ts +1 -1
- package/dist/@types/types/action.d.ts.map +1 -0
- package/dist/{types → @types/types}/errors.d.ts +1 -1
- package/dist/@types/types/errors.d.ts.map +1 -0
- package/dist/{types → @types/types}/index.d.ts +6 -6
- package/dist/@types/types/index.d.ts.map +1 -0
- package/dist/{types → @types/types}/ports.d.ts +2 -2
- package/dist/@types/types/ports.d.ts.map +1 -0
- package/dist/{types → @types/types}/reaction.d.ts +1 -1
- package/dist/@types/types/reaction.d.ts.map +1 -0
- package/dist/{types → @types/types}/registry.d.ts +2 -2
- package/dist/@types/types/registry.d.ts.map +1 -0
- package/dist/{types → @types/types}/schemas.d.ts +4 -4
- package/dist/@types/types/schemas.d.ts.map +1 -0
- package/dist/{utils.d.ts → @types/utils.d.ts} +4 -1
- package/dist/@types/utils.d.ts.map +1 -0
- package/dist/index.cjs +928 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.js +854 -19
- package/dist/index.js.map +1 -1
- package/package.json +17 -5
- package/dist/act-builder.d.ts.map +0 -1
- package/dist/act-builder.js +0 -69
- package/dist/act-builder.js.map +0 -1
- package/dist/act.d.ts +0 -24
- package/dist/act.d.ts.map +0 -1
- package/dist/act.js +0 -136
- package/dist/act.js.map +0 -1
- package/dist/adapters/InMemoryStore.d.ts.map +0 -1
- package/dist/adapters/InMemoryStore.js +0 -125
- package/dist/adapters/InMemoryStore.js.map +0 -1
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -41
- package/dist/config.js.map +0 -1
- package/dist/event-sourcing.d.ts +0 -5
- package/dist/event-sourcing.d.ts.map +0 -1
- package/dist/event-sourcing.js +0 -101
- package/dist/event-sourcing.js.map +0 -1
- package/dist/index.d.ts +0 -10
- package/dist/index.d.ts.map +0 -1
- package/dist/ports.d.ts.map +0 -1
- package/dist/ports.js +0 -56
- package/dist/ports.js.map +0 -1
- package/dist/state-builder.d.ts.map +0 -1
- package/dist/state-builder.js +0 -83
- package/dist/state-builder.js.map +0 -1
- package/dist/types/action.d.ts.map +0 -1
- package/dist/types/action.js +0 -2
- package/dist/types/action.js.map +0 -1
- package/dist/types/errors.d.ts.map +0 -1
- package/dist/types/errors.js +0 -44
- package/dist/types/errors.js.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -17
- package/dist/types/index.js.map +0 -1
- package/dist/types/ports.d.ts.map +0 -1
- package/dist/types/ports.js +0 -2
- package/dist/types/ports.js.map +0 -1
- package/dist/types/reaction.d.ts.map +0 -1
- package/dist/types/reaction.js +0 -2
- package/dist/types/reaction.js.map +0 -1
- package/dist/types/registry.d.ts.map +0 -1
- package/dist/types/registry.js +0 -2
- package/dist/types/registry.js.map +0 -1
- package/dist/types/schemas.d.ts.map +0 -1
- package/dist/types/schemas.js +0 -81
- package/dist/types/schemas.js.map +0 -1
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -73
- package/dist/utils.js.map +0 -1
package/dist/config.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import * as dotenv from "dotenv";
|
|
2
|
-
import * as fs from "node:fs";
|
|
3
|
-
import { z } from "zod/v4";
|
|
4
|
-
import { Environments, LogLevels } from "./types";
|
|
5
|
-
import { extend } from "./utils";
|
|
6
|
-
dotenv.config();
|
|
7
|
-
export const PackageSchema = z.object({
|
|
8
|
-
name: z.string().min(1),
|
|
9
|
-
version: z.string().min(1),
|
|
10
|
-
description: z.string().min(1),
|
|
11
|
-
author: z
|
|
12
|
-
.object({ name: z.string().min(1), email: z.string().optional() })
|
|
13
|
-
.or(z.string().min(1)),
|
|
14
|
-
license: z.string().min(1),
|
|
15
|
-
dependencies: z.record(z.string(), z.string()),
|
|
16
|
-
});
|
|
17
|
-
const getPackage = () => {
|
|
18
|
-
const pkg = fs.readFileSync("package.json");
|
|
19
|
-
return JSON.parse(pkg.toString());
|
|
20
|
-
};
|
|
21
|
-
const BaseSchema = PackageSchema.extend({
|
|
22
|
-
env: z.enum(Environments),
|
|
23
|
-
logLevel: z.enum(LogLevels),
|
|
24
|
-
logSingleLine: z.boolean(),
|
|
25
|
-
sleepMs: z.number().int().min(0).max(5000),
|
|
26
|
-
});
|
|
27
|
-
const { NODE_ENV, LOG_LEVEL, LOG_SINGLE_LINE, SLEEP_MS } = process.env;
|
|
28
|
-
const env = (NODE_ENV || "development");
|
|
29
|
-
const logLevel = (LOG_LEVEL ||
|
|
30
|
-
(NODE_ENV === "test"
|
|
31
|
-
? "error"
|
|
32
|
-
: LOG_LEVEL === "production"
|
|
33
|
-
? "info"
|
|
34
|
-
: "trace"));
|
|
35
|
-
const logSingleLine = (LOG_SINGLE_LINE || "true") === "true";
|
|
36
|
-
const sleepMs = parseInt(NODE_ENV === "test" ? "0" : (SLEEP_MS ?? "100"));
|
|
37
|
-
const pkg = getPackage();
|
|
38
|
-
export const config = () => {
|
|
39
|
-
return extend({ ...pkg, env, logLevel, logSingleLine, sleepMs }, BaseSchema);
|
|
40
|
-
};
|
|
41
|
-
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAe,YAAY,EAAY,SAAS,EAAE,MAAM,SAAS,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,MAAM,EAAE,CAAC;SACN,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;SACjE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACxB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;CAC/C,CAAC,CAAC;AAGH,MAAM,UAAU,GAAG,GAAY,EAAE;IAC/B,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAY,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC;IACtC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;IACzB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;IAC3B,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE;IAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;CAC3C,CAAC,CAAC;AAGH,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAEvE,MAAM,GAAG,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAgB,CAAC;AACvD,MAAM,QAAQ,GAAG,CAAC,SAAS;IACzB,CAAC,QAAQ,KAAK,MAAM;QAClB,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,SAAS,KAAK,YAAY;YAC1B,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,OAAO,CAAC,CAAa,CAAC;AAC9B,MAAM,aAAa,GAAG,CAAC,eAAe,IAAI,MAAM,CAAC,KAAK,MAAM,CAAC;AAC7D,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC;AAE1E,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;AAEzB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAW,EAAE;IACjC,OAAO,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AAC/E,CAAC,CAAC"}
|
package/dist/event-sourcing.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { Committed, Schema, Schemas, Snapshot, State, Target } from "./types";
|
|
2
|
-
export declare function snap<S extends Schema, E extends Schemas>(snapshot: Snapshot<S, E>): Promise<void>;
|
|
3
|
-
export declare function load<S extends Schema, E extends Schemas, A extends Schemas>(me: State<S, E, A>, stream: string, callback?: (snapshot: Snapshot<S, E>) => void): Promise<Snapshot<S, E>>;
|
|
4
|
-
export declare function action<S extends Schema, E extends Schemas, A extends Schemas, K extends keyof A>(me: State<S, E, A>, action: K, target: Target, payload: Readonly<A[K]>, reactingTo?: Committed<Schemas, keyof Schemas>, skipValidation?: boolean): Promise<Snapshot<S, E>>;
|
|
5
|
-
//# sourceMappingURL=event-sourcing.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event-sourcing.d.ts","sourceRoot":"","sources":["../src/event-sourcing.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,SAAS,EAGT,MAAM,EACN,OAAO,EACP,QAAQ,EACR,KAAK,EACL,MAAM,EACP,MAAM,SAAS,CAAC;AAIjB,wBAAsB,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,OAAO,EAC5D,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GACvB,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED,wBAAsB,IAAI,CACxB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,OAAO,EACjB,CAAC,SAAS,OAAO,EAEjB,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAClB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,GAC5C,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAuBzB;AAED,wBAAsB,MAAM,CAC1B,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,OAAO,EACjB,CAAC,SAAS,OAAO,EACjB,CAAC,SAAS,MAAM,CAAC,EAEjB,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAClB,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACvB,UAAU,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,EAC9C,cAAc,UAAQ,GACrB,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CA8EzB"}
|
package/dist/event-sourcing.js
DELETED
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { randomUUID } from "crypto";
|
|
2
|
-
import { logger, SNAP_EVENT, store } from "./ports";
|
|
3
|
-
import { InvariantError } from "./types/errors";
|
|
4
|
-
import { patch, validate } from "./utils";
|
|
5
|
-
export async function snap(snapshot) {
|
|
6
|
-
try {
|
|
7
|
-
const { id, stream, name, meta, version } = snapshot.event;
|
|
8
|
-
const snapped = await store().commit(stream, [{ name: SNAP_EVENT, data: snapshot.state }], {
|
|
9
|
-
correlation: meta.correlation,
|
|
10
|
-
causation: { event: { id, name: name, stream } },
|
|
11
|
-
}, version // IMPORTANT! - state events are committed right after the snapshot event
|
|
12
|
-
);
|
|
13
|
-
logger.trace(snapped, "🟠 snap");
|
|
14
|
-
}
|
|
15
|
-
catch (error) {
|
|
16
|
-
logger.error(error);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
export async function load(me, stream, callback) {
|
|
20
|
-
let state = me.init();
|
|
21
|
-
let patches = 0;
|
|
22
|
-
let snaps = 0;
|
|
23
|
-
let event;
|
|
24
|
-
await store().query((e) => {
|
|
25
|
-
event = e;
|
|
26
|
-
if (e.name === SNAP_EVENT) {
|
|
27
|
-
state = e.data;
|
|
28
|
-
snaps++;
|
|
29
|
-
patches = 0;
|
|
30
|
-
}
|
|
31
|
-
else if (me.patch[e.name]) {
|
|
32
|
-
state = patch(state, me.patch[e.name](event, state));
|
|
33
|
-
patches++;
|
|
34
|
-
}
|
|
35
|
-
callback && callback({ event, state, patches, snaps });
|
|
36
|
-
}, { stream }, true);
|
|
37
|
-
logger.trace({ stream, patches, snaps, state }, "🟢 load");
|
|
38
|
-
return { event, state, patches, snaps };
|
|
39
|
-
}
|
|
40
|
-
export async function action(me, action, target, payload, reactingTo, skipValidation = false) {
|
|
41
|
-
const { stream, expectedVersion, actor } = target;
|
|
42
|
-
if (!stream)
|
|
43
|
-
throw new Error("Missing target stream");
|
|
44
|
-
payload = skipValidation
|
|
45
|
-
? payload
|
|
46
|
-
: validate(action, payload, me.actions[action]);
|
|
47
|
-
logger.trace(payload, `🔵 ${action} "${stream}${expectedVersion ? `@${expectedVersion}` : ""}"`);
|
|
48
|
-
let snapshot = await load(me, stream);
|
|
49
|
-
if (me.given) {
|
|
50
|
-
const invariants = me.given[action] || [];
|
|
51
|
-
invariants.forEach(({ valid, description }) => {
|
|
52
|
-
if (!valid(snapshot.state, actor))
|
|
53
|
-
throw new InvariantError(action, payload, target, description);
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
let { state, patches } = snapshot;
|
|
57
|
-
const result = me.on[action](payload, state, target);
|
|
58
|
-
if (!result)
|
|
59
|
-
return snapshot;
|
|
60
|
-
const tuples = Array.isArray(result[0])
|
|
61
|
-
? result // array of tuples
|
|
62
|
-
: [result]; // single tuple
|
|
63
|
-
if (!tuples.length)
|
|
64
|
-
return snapshot;
|
|
65
|
-
const emitted = tuples.map(([name, data]) => ({
|
|
66
|
-
name,
|
|
67
|
-
data: validate(name, data, me.events[name]),
|
|
68
|
-
}));
|
|
69
|
-
const meta = {
|
|
70
|
-
correlation: reactingTo?.meta.correlation || randomUUID(),
|
|
71
|
-
causation: {
|
|
72
|
-
action: {
|
|
73
|
-
name: action,
|
|
74
|
-
...target,
|
|
75
|
-
// payload: TODO: flag to include action payload in metadata
|
|
76
|
-
// not included by default to avoid large payloads
|
|
77
|
-
},
|
|
78
|
-
event: reactingTo
|
|
79
|
-
? {
|
|
80
|
-
id: reactingTo.id,
|
|
81
|
-
name: reactingTo.name,
|
|
82
|
-
stream: reactingTo.stream,
|
|
83
|
-
}
|
|
84
|
-
: undefined,
|
|
85
|
-
},
|
|
86
|
-
};
|
|
87
|
-
const committed = await store().commit(stream, emitted, meta,
|
|
88
|
-
// TODO: review reactions not enforcing expected version
|
|
89
|
-
reactingTo ? undefined : expectedVersion || snapshot.event?.version);
|
|
90
|
-
snapshot = committed
|
|
91
|
-
.map((event) => {
|
|
92
|
-
state = patch(state, me.patch[event.name](event, state));
|
|
93
|
-
patches++;
|
|
94
|
-
logger.trace({ event, state }, "🔴 commit");
|
|
95
|
-
return { event, state, patches, snaps: snapshot.snaps };
|
|
96
|
-
})
|
|
97
|
-
.at(-1);
|
|
98
|
-
me.snap && me.snap(snapshot) && void snap(snapshot); // fire and forget snaps
|
|
99
|
-
return snapshot;
|
|
100
|
-
}
|
|
101
|
-
//# sourceMappingURL=event-sourcing.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event-sourcing.js","sourceRoot":"","sources":["../src/event-sourcing.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { config } from "./config";
|
|
2
|
-
/** @module act */
|
|
3
|
-
export * from "./act";
|
|
4
|
-
export * from "./act-builder";
|
|
5
|
-
export * from "./ports";
|
|
6
|
-
export * from "./state-builder";
|
|
7
|
-
export * from "./types";
|
|
8
|
-
export * from "./utils";
|
|
9
|
-
export { config };
|
|
10
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,kBAAkB;AAClB,cAAc,OAAO,CAAC;AACtB,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
package/dist/ports.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../src/ports.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAE3D,eAAO,MAAM,SAAS,4BAA6B,CAAC;AACpD,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAElD,eAAO,MAAM,MAAM,uCAajB,CAAC;AAEH,KAAK,QAAQ,CAAC,IAAI,SAAS,UAAU,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC;AAElE,wBAAgB,IAAI,CAAC,IAAI,SAAS,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,IACnD,UAAU,IAAI,KAAG,IAAI,CAQvC;AAGD,wBAAsB,cAAc,CAAC,IAAI,GAAE,QAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAa3E;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CACrB,QAAQ,CAAC,EAAE,QAAQ,GAClB,CAAC,IAAI,CAAC,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAGpC;AAGD,eAAO,MAAM,UAAU,iBAAiB,CAAC;AACzC,eAAO,MAAM,KAAK,wCAEhB,CAAC"}
|
package/dist/ports.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import pino from "pino";
|
|
2
|
-
import { InMemoryStore } from "./adapters/InMemoryStore";
|
|
3
|
-
import { config } from "./config";
|
|
4
|
-
export const ExitCodes = ["ERROR", "EXIT"];
|
|
5
|
-
export const logger = pino({
|
|
6
|
-
transport: config().env !== "production"
|
|
7
|
-
? {
|
|
8
|
-
target: "pino-pretty",
|
|
9
|
-
options: {
|
|
10
|
-
ignore: "pid,hostname",
|
|
11
|
-
singleLine: config().logSingleLine,
|
|
12
|
-
colorize: true,
|
|
13
|
-
},
|
|
14
|
-
}
|
|
15
|
-
: undefined,
|
|
16
|
-
level: config().logLevel,
|
|
17
|
-
});
|
|
18
|
-
const adapters = new Map();
|
|
19
|
-
export function port(injector) {
|
|
20
|
-
return function (adapter) {
|
|
21
|
-
if (!adapters.has(injector.name)) {
|
|
22
|
-
const injected = injector(adapter);
|
|
23
|
-
adapters.set(injector.name, injected);
|
|
24
|
-
logger.info(`🔌 injected ${injector.name}:${injected.constructor.name}`);
|
|
25
|
-
}
|
|
26
|
-
return adapters.get(injector.name);
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
const disposers = [];
|
|
30
|
-
export async function disposeAndExit(code = "EXIT") {
|
|
31
|
-
// ignore when errors are caught in production
|
|
32
|
-
if (code === "ERROR" && config().env === "production")
|
|
33
|
-
return;
|
|
34
|
-
await Promise.all(disposers.map((disposer) => disposer()));
|
|
35
|
-
await Promise.all([...adapters.values()].reverse().map(async (adapter) => {
|
|
36
|
-
await adapter.dispose();
|
|
37
|
-
logger.info(`🔌 disposed ${adapter.constructor.name}`);
|
|
38
|
-
}));
|
|
39
|
-
adapters.clear();
|
|
40
|
-
config().env !== "test" && process.exit(code === "ERROR" ? 1 : 0);
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Registers resource disposers that are triggered on process exit
|
|
44
|
-
* @param disposer the disposer function
|
|
45
|
-
* @returns a function that triggers all registered disposers and terminates the process
|
|
46
|
-
*/
|
|
47
|
-
export function dispose(disposer) {
|
|
48
|
-
disposer && disposers.push(disposer);
|
|
49
|
-
return disposeAndExit;
|
|
50
|
-
}
|
|
51
|
-
// singleton ports
|
|
52
|
-
export const SNAP_EVENT = "__snapshot__";
|
|
53
|
-
export const store = port(function store(adapter) {
|
|
54
|
-
return adapter || new InMemoryStore();
|
|
55
|
-
});
|
|
56
|
-
//# sourceMappingURL=ports.js.map
|
package/dist/ports.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ports.js","sourceRoot":"","sources":["../src/ports.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,MAAM,CAAU,CAAC;AAGpD,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EACP,MAAM,EAAE,CAAC,GAAG,KAAK,YAAY;QAC3B,CAAC,CAAC;YACE,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE;gBACP,MAAM,EAAE,cAAc;gBACtB,UAAU,EAAE,MAAM,EAAE,CAAC,aAAa;gBAClC,QAAQ,EAAE,IAAI;aACf;SACF;QACH,CAAC,CAAC,SAAS;IACf,KAAK,EAAE,MAAM,EAAE,CAAC,QAAQ;CACzB,CAAC,CAAC;AAGH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAsB,CAAC;AAC/C,MAAM,UAAU,IAAI,CAA0B,QAAwB;IACpE,OAAO,UAAU,OAAc;QAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YACnC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,eAAe,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAS,CAAC;IAC7C,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,SAAS,GAAe,EAAE,CAAC;AACjC,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAiB,MAAM;IAC1D,8CAA8C;IAC9C,IAAI,IAAI,KAAK,OAAO,IAAI,MAAM,EAAE,CAAC,GAAG,KAAK,YAAY;QAAE,OAAO;IAE9D,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC3D,MAAM,OAAO,CAAC,GAAG,CACf,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACrD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CACH,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,MAAM,EAAE,CAAC,GAAG,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CACrB,QAAmB;IAEnB,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,kBAAkB;AAClB,MAAM,CAAC,MAAM,UAAU,GAAG,cAAc,CAAC;AACzC,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,KAAK,CAAC,OAAe;IACtD,OAAO,OAAO,IAAI,IAAI,aAAa,EAAE,CAAC;AACxC,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"state-builder.d.ts","sourceRoot":"","sources":["../src/state-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EACL,aAAa,EAGb,SAAS,EACT,aAAa,EACb,MAAM,EACN,OAAO,EACP,QAAQ,EACR,KAAK,EACL,QAAQ,EACT,MAAM,SAAS,CAAC;AAGjB,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI;IAC3C,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,QAAQ,CAAC,CAAC,CAAC,KAAK;QACjC,KAAK,EAAE,CAAC,CAAC,SAAS,OAAO,EACvB,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,KAChB;YACH,KAAK,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;SAChE,CAAC;KACH,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,aAAa,CACvB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,OAAO,EACjB,CAAC,SAAS,OAAO,IACf;IACF,EAAE,EAAE,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,SAAS,MAAM,EACtC,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,KAChB;QACH,KAAK,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK;YAChC,IAAI,EAAE,CACJ,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE;iBAAG,CAAC,IAAI,CAAC,GAAG,EAAE;aAAE,EAAE,CAAC,CAAC,KAC9C,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG;iBAAG,CAAC,IAAI,CAAC,GAAG,EAAE;aAAE,CAAC,CAAC;SAChD,CAAC;QACF,IAAI,EAAE,CACJ,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE;aAAG,CAAC,IAAI,CAAC,GAAG,EAAE;SAAE,EAAE,CAAC,CAAC,KAC9C,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG;aAAG,CAAC,IAAI,CAAC,GAAG,EAAE;SAAE,CAAC,CAAC;KAChD,CAAC;IACF,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,KAAK,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,KAAK,EAAE,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;CAC7B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EACpC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAChB,YAAY,CAAC,CAAC,CAAC,CAsBjB"}
|
package/dist/state-builder.js
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Fluent interface for defining a strongly-typed state machine using Zod schemas.
|
|
3
|
-
*
|
|
4
|
-
* This builder helps you model a system where:
|
|
5
|
-
* - You start by defining the state schema with `state(name, zodSchema)`
|
|
6
|
-
* - Then, provide the initial state using `.init(() => defaultState)`
|
|
7
|
-
* - Declare the event types your system can emit using `.emits({ ... })`
|
|
8
|
-
* - Define how emitted events update state with `.patch({ ... })`
|
|
9
|
-
* - Define actions using `.on("actionName", actionSchema)`
|
|
10
|
-
* - Optionally constrain the action with `.given([...invariants])`
|
|
11
|
-
* - Then finalize the action behavior with `.emit(handler)`
|
|
12
|
-
* - (Optional) Define a `.snap(snapshot => boolean)` function to reduce recomputations
|
|
13
|
-
* - Finalize the state machine definition using `.build()`
|
|
14
|
-
*
|
|
15
|
-
* Example usage:
|
|
16
|
-
* ```ts
|
|
17
|
-
* const machine = state("machine", myStateSchema)
|
|
18
|
-
* .init(() => ({ count: 0 }))
|
|
19
|
-
* .emits({ Incremented: z.object({ amount: z.number() }) })
|
|
20
|
-
* .patch({
|
|
21
|
-
* Incremented: (event, state) => ({ count: state.count + event.amount })
|
|
22
|
-
* })
|
|
23
|
-
* .on("increment", z.object({ by: z.number() }))
|
|
24
|
-
* .given([{ description: "must be positive", valid: (s, a) => a?.by > 0 }])
|
|
25
|
-
* .emit((action, state) => ({ type: "Incremented", amount: action.by }))
|
|
26
|
-
* .build();
|
|
27
|
-
* ```
|
|
28
|
-
*/
|
|
29
|
-
export function state(name, state) {
|
|
30
|
-
return {
|
|
31
|
-
init(init) {
|
|
32
|
-
return {
|
|
33
|
-
emits(events) {
|
|
34
|
-
return {
|
|
35
|
-
patch(patch) {
|
|
36
|
-
return action_builder({
|
|
37
|
-
events,
|
|
38
|
-
actions: {},
|
|
39
|
-
state,
|
|
40
|
-
name,
|
|
41
|
-
init,
|
|
42
|
-
patch,
|
|
43
|
-
on: {},
|
|
44
|
-
});
|
|
45
|
-
},
|
|
46
|
-
};
|
|
47
|
-
},
|
|
48
|
-
};
|
|
49
|
-
},
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
function action_builder(state) {
|
|
53
|
-
return {
|
|
54
|
-
on(action, schema) {
|
|
55
|
-
if (action in state.actions)
|
|
56
|
-
throw new Error(`Duplicate action "${action}"`);
|
|
57
|
-
const actions = { ...state.actions, [action]: schema };
|
|
58
|
-
const on = { ...state.on };
|
|
59
|
-
const _given = { ...state.given };
|
|
60
|
-
function given(rules) {
|
|
61
|
-
_given[action] = rules;
|
|
62
|
-
return { emit };
|
|
63
|
-
}
|
|
64
|
-
function emit(handler) {
|
|
65
|
-
on[action] = handler;
|
|
66
|
-
return action_builder({
|
|
67
|
-
...state,
|
|
68
|
-
actions,
|
|
69
|
-
on,
|
|
70
|
-
given: _given,
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
return { given, emit };
|
|
74
|
-
},
|
|
75
|
-
snap(snap) {
|
|
76
|
-
return action_builder({ ...state, snap });
|
|
77
|
-
},
|
|
78
|
-
build() {
|
|
79
|
-
return state;
|
|
80
|
-
},
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
//# sourceMappingURL=state-builder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"state-builder.js","sourceRoot":"","sources":["../src/state-builder.ts"],"names":[],"mappings":"AA+CA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,KAAK,CACnB,IAAY,EACZ,KAAiB;IAEjB,OAAO;QACL,IAAI,CAAC,IAAuB;YAC1B,OAAO;gBACL,KAAK,CAAmB,MAAmB;oBACzC,OAAO;wBACL,KAAK,CAAC,KAA0B;4BAC9B,OAAO,cAAc,CAAW;gCAC9B,MAAM;gCACN,OAAO,EAAE,EAAE;gCACX,KAAK;gCACL,IAAI;gCACJ,IAAI;gCACJ,KAAK;gCACL,EAAE,EAAE,EAAE;6BACP,CAAC,CAAC;wBACL,CAAC;qBACF,CAAC;gBACJ,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,KAAqB;IAErB,OAAO;QACL,EAAE,CAAsC,MAAS,EAAE,MAAmB;YACpE,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO;gBACzB,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,GAAG,CAAC,CAAC;YAGlD,MAAM,OAAO,GAAG,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAoB,CAAC;YACzE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,EAAE,EAAgC,CAAC;YACzD,MAAM,MAAM,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,EAA4B,CAAC;YAE5D,SAAS,KAAK,CAAC,KAAqB;gBAClC,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;gBACvB,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,CAAC;YAED,SAAS,IAAI,CAAC,OAAqC;gBACjD,EAAE,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;gBACrB,OAAO,cAAc,CAAa;oBAChC,GAAG,KAAK;oBACR,OAAO;oBACP,EAAE;oBACF,KAAK,EAAE,MAAM;iBACd,CAAC,CAAC;YACL,CAAC;YAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,IAA2C;YAC9C,OAAO,cAAc,CAAU,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,KAAK;YACH,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/types/action.ts"],"names":[],"mappings":"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"}
|
package/dist/types/action.js
DELETED
package/dist/types/action.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/types/action.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEjE;;;;;GAKG;AACH,eAAO,MAAM,MAAM;;;;CAIT,CAAC;AAEX,qBAAa,eAAgB,SAAQ,KAAK;aAEtB,MAAM,EAAE,MAAM;aACd,OAAO,EAAE,GAAG;aACZ,OAAO,EAAE,GAAG;gBAFZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,GAAG;CAK/B;AAED,qBAAa,cAAe,SAAQ,KAAK;IACvC,SAAgB,OAAO;;;;;;;;;;;;MAAC;gBAEtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM;CAMtB;AAED,qBAAa,gBAAiB,SAAQ,KAAK;aAEvB,WAAW,EAAE,MAAM;aACnB,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,EAAE;aACzC,eAAe,EAAE,MAAM;gBAFvB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,EAAE,EACzC,eAAe,EAAE,MAAM;CAS1C"}
|
package/dist/types/errors.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Application error types
|
|
3
|
-
* - `ERR_VALIDATION` schema validation error
|
|
4
|
-
* - `ERR_INVARIANT` invariant validation error
|
|
5
|
-
* - `ERR_CONCURRENCY` optimistic concurrency validation error on commits
|
|
6
|
-
*/
|
|
7
|
-
export const Errors = {
|
|
8
|
-
ValidationError: "ERR_VALIDATION",
|
|
9
|
-
InvariantError: "ERR_INVARIANT",
|
|
10
|
-
ConcurrencyError: "ERR_CONCURRENCY",
|
|
11
|
-
};
|
|
12
|
-
export class ValidationError extends Error {
|
|
13
|
-
target;
|
|
14
|
-
payload;
|
|
15
|
-
details;
|
|
16
|
-
constructor(target, payload, details) {
|
|
17
|
-
super(`Invalid ${target} payload`);
|
|
18
|
-
this.target = target;
|
|
19
|
-
this.payload = payload;
|
|
20
|
-
this.details = details;
|
|
21
|
-
this.name = Errors.ValidationError;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
export class InvariantError extends Error {
|
|
25
|
-
details;
|
|
26
|
-
constructor(name, payload, target, description) {
|
|
27
|
-
super(`${name} failed invariant: ${description}`);
|
|
28
|
-
this.name = Errors.InvariantError;
|
|
29
|
-
this.details = { name, payload, target, description };
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
export class ConcurrencyError extends Error {
|
|
33
|
-
lastVersion;
|
|
34
|
-
events;
|
|
35
|
-
expectedVersion;
|
|
36
|
-
constructor(lastVersion, events, expectedVersion) {
|
|
37
|
-
super(`Concurrency error committing event "${events.at(0)?.name}". Expected version ${expectedVersion} but found version ${lastVersion}.`);
|
|
38
|
-
this.lastVersion = lastVersion;
|
|
39
|
-
this.events = events;
|
|
40
|
-
this.expectedVersion = expectedVersion;
|
|
41
|
-
this.name = Errors.ConcurrencyError;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=errors.js.map
|
package/dist/types/errors.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,eAAe,EAAE,gBAAgB;IACjC,cAAc,EAAE,eAAe;IAC/B,gBAAgB,EAAE,iBAAiB;CAC3B,CAAC;AAEX,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAEtB;IACA;IACA;IAHlB,YACkB,MAAc,EACd,OAAY,EACZ,OAAY;QAE5B,KAAK,CAAC,WAAW,MAAM,UAAU,CAAC,CAAC;QAJnB,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAK;QACZ,YAAO,GAAP,OAAO,CAAK;QAG5B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC;IACrC,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvB,OAAO,CAAC;IACxB,YACE,IAAY,EACZ,OAAe,EACf,MAAc,EACd,WAAmB;QAEnB,KAAK,CAAC,GAAG,IAAI,sBAAsB,WAAW,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,cAAc,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACxD,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAEvB;IACA;IACA;IAHlB,YACkB,WAAmB,EACnB,MAAyC,EACzC,eAAuB;QAEvC,KAAK,CACH,uCACE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAChB,uBAAuB,eAAe,sBAAsB,WAAW,GAAG,CAC3E,CAAC;QARc,gBAAW,GAAX,WAAW,CAAQ;QACnB,WAAM,GAAN,MAAM,CAAmC;QACzC,oBAAe,GAAf,eAAe,CAAQ;QAOvC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,gBAAgB,CAAC;IACtC,CAAC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,UAAU,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,mBAAmB,SAAS,CAAC;AAC7B,mBAAmB,YAAY,CAAC;AAChC,mBAAmB,YAAY,CAAC;AAChC,cAAc,WAAW,CAAC;AAE1B,eAAO,MAAM,YAAY,2DAKf,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAExD,eAAO,MAAM,SAAS,+DAOZ,CAAC;AACX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
package/dist/types/index.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export * from "./errors";
|
|
2
|
-
export * from "./schemas";
|
|
3
|
-
export const Environments = [
|
|
4
|
-
"development",
|
|
5
|
-
"test",
|
|
6
|
-
"staging",
|
|
7
|
-
"production",
|
|
8
|
-
];
|
|
9
|
-
export const LogLevels = [
|
|
10
|
-
"fatal",
|
|
11
|
-
"error",
|
|
12
|
-
"warn",
|
|
13
|
-
"info",
|
|
14
|
-
"debug",
|
|
15
|
-
"trace",
|
|
16
|
-
];
|
|
17
|
-
//# sourceMappingURL=index.js.map
|
package/dist/types/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AACA,cAAc,UAAU,CAAC;AAIzB,cAAc,WAAW,CAAC;AAE1B,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,aAAa;IACb,MAAM;IACN,SAAS;IACT,YAAY;CACJ,CAAC;AAGX,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;CACC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../../src/types/ports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAC9E,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3C,MAAM,MAAM,UAAU,GAAG;IAAE,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC;AAE/C,MAAM,WAAW,KAAM,SAAQ,UAAU;IACvC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAG1B,MAAM,EAAE,CAAC,CAAC,SAAS,OAAO,EACxB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,EAC3B,IAAI,EAAE,SAAS,EACf,eAAe,CAAC,EAAE,MAAM,KACrB,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IACtC,KAAK,EAAE,CAAC,CAAC,SAAS,OAAO,EACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,IAAI,EAChD,KAAK,CAAC,EAAE,KAAK,EACb,SAAS,CAAC,EAAE,OAAO,KAChB,OAAO,CAAC,MAAM,CAAC,CAAC;IAGrB,KAAK,EAAE,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7C,GAAG,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC"}
|
package/dist/types/ports.js
DELETED
package/dist/types/ports.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ports.js","sourceRoot":"","sources":["../../src/types/ports.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reaction.d.ts","sourceRoot":"","sources":["../../src/types/reaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAErE,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,KACX,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;AAEzC,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,MAAM,CAAC,IAC7D,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC,GAChD,MAAM,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI;IACrE,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG;IAC7D,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,OAAO,IAAI;IACrC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC"}
|
package/dist/types/reaction.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reaction.js","sourceRoot":"","sources":["../../src/types/reaction.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/types/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,OAAO,IAAI;KAC5C,CAAC,IAAI,MAAM,CAAC,GAAG;QACd,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KACxC;CACF,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM;CAAE,CAAC;AAE3D,MAAM,MAAM,QAAQ,CAClB,CAAC,SAAS,cAAc,CAAC,CAAC,CAAC,EAC3B,CAAC,SAAS,OAAO,EACjB,CAAC,SAAS,OAAO,IACf;IACF,QAAQ,CAAC,OAAO,EAAE;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KAAE,CAAC;IACxD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAC5E;IACE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAC3B,GAAG,aAAa,GACjB,KAAK,CAAC"}
|
package/dist/types/registry.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/types/registry.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/types/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAEnD,eAAO,MAAM,QAAQ,sCAAkC,CAAC;AAExD,eAAO,MAAM,WAAW;;;kBAKX,CAAC;AAEd,eAAO,MAAM,YAAY;;;;;;;kBAMZ,CAAC;AAEd,eAAO,MAAM,oBAAoB;;;;iBAI/B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;kBAQf,CAAC;AAEd,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;kBAQnB,CAAC;AAEd,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,WAAW,CAAC,GAAG,OAAO,QAAQ,CAAC,CAAC;IACjE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,WAAW,CAAC,GAAG,OAAO,QAAQ,CAAC,CAAC;IAClE,KAAK,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;CAC/B,CAAC,CAAC;AAEH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAkB9D;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;iBAUtB,CAAC"}
|
package/dist/types/schemas.js
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { z } from "zod/v4";
|
|
2
|
-
export const ZodEmpty = z.record(z.string(), z.never());
|
|
3
|
-
export const ActorSchema = z
|
|
4
|
-
.object({
|
|
5
|
-
id: z.string(),
|
|
6
|
-
name: z.string(),
|
|
7
|
-
})
|
|
8
|
-
.readonly();
|
|
9
|
-
export const TargetSchema = z
|
|
10
|
-
.object({
|
|
11
|
-
stream: z.string(),
|
|
12
|
-
actor: ActorSchema,
|
|
13
|
-
expectedVersion: z.number().optional(),
|
|
14
|
-
})
|
|
15
|
-
.readonly();
|
|
16
|
-
export const CausationEventSchema = z.object({
|
|
17
|
-
id: z.number(),
|
|
18
|
-
name: z.string(),
|
|
19
|
-
stream: z.string(),
|
|
20
|
-
});
|
|
21
|
-
export const EventMetaSchema = z
|
|
22
|
-
.object({
|
|
23
|
-
correlation: z.string(),
|
|
24
|
-
causation: z.object({
|
|
25
|
-
action: TargetSchema.and(z.object({ name: z.string() })).optional(),
|
|
26
|
-
event: CausationEventSchema.optional(),
|
|
27
|
-
}),
|
|
28
|
-
})
|
|
29
|
-
.readonly();
|
|
30
|
-
export const CommittedMetaSchema = z
|
|
31
|
-
.object({
|
|
32
|
-
id: z.number(),
|
|
33
|
-
stream: z.string(),
|
|
34
|
-
version: z.number(),
|
|
35
|
-
created: z.date(),
|
|
36
|
-
meta: EventMetaSchema,
|
|
37
|
-
})
|
|
38
|
-
.readonly();
|
|
39
|
-
export function buildSnapshotSchema(s) {
|
|
40
|
-
const events = Object.entries(s.events).map(([name, zod]) => z.object({
|
|
41
|
-
name: z.literal(name),
|
|
42
|
-
data: zod,
|
|
43
|
-
id: z.number(),
|
|
44
|
-
stream: z.string(),
|
|
45
|
-
version: z.number(),
|
|
46
|
-
created: z.date(),
|
|
47
|
-
meta: EventMetaSchema,
|
|
48
|
-
}));
|
|
49
|
-
return z.object({
|
|
50
|
-
state: s.state.readonly(),
|
|
51
|
-
event: z.union([events[0], events[1], ...events.slice(2)]).optional(),
|
|
52
|
-
patches: z.number(),
|
|
53
|
-
snaps: z.number(),
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Options to query the all stream
|
|
58
|
-
* - `stream?` filter by stream
|
|
59
|
-
* - `names?` filter by event names
|
|
60
|
-
* - `before?` filter events before this id
|
|
61
|
-
* - `after?` filter events after this id
|
|
62
|
-
* - `limit?` limit the number of events to return
|
|
63
|
-
* - `created_before?` filter events created before this date/time
|
|
64
|
-
* - `created_after?` filter events created after this date/time
|
|
65
|
-
* - `backward?` order descending when true
|
|
66
|
-
* - `correlation?` filter by correlation
|
|
67
|
-
* - `actor?` filter by actor id (mainly used to reduce process managers)
|
|
68
|
-
* - `loading?` flag when loading to optimize queries
|
|
69
|
-
*/
|
|
70
|
-
export const QuerySchema = z.object({
|
|
71
|
-
stream: z.string().optional(),
|
|
72
|
-
names: z.string().array().optional(),
|
|
73
|
-
before: z.number().optional(),
|
|
74
|
-
after: z.number().optional(),
|
|
75
|
-
limit: z.number().optional(),
|
|
76
|
-
created_before: z.date().optional(),
|
|
77
|
-
created_after: z.date().optional(),
|
|
78
|
-
backward: z.boolean().optional(),
|
|
79
|
-
correlation: z.string().optional(),
|
|
80
|
-
});
|
|
81
|
-
//# sourceMappingURL=schemas.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/types/schemas.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,OAAO,EAAiB,MAAM,QAAQ,CAAC;AAE/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AA+B7C;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,SAAS,MAAM,EACpC,UAAU,QAAQ,CAAC,CAAC,CAAC,EACrB,SAAS,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAC1B,QAAQ,CAAC,CAAC,CAgBZ,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,CAAC,EACxB,QAAQ,MAAM,EACd,SAAS,QAAQ,CAAC,CAAC,CAAC,EACpB,SAAS,OAAO,CAAC,CAAC,CAAC,KAClB,QAAQ,CAAC,CAAC,CAaZ,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,GACjB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEjC,QAAQ,QAAQ,CAAC,CAAC,CAAC,EACnB,QAAQ,OAAO,CAAC,CAAC,CAAC,EAClB,SAAS,QAAQ,CAAC,CAAC,CAAC,KACnB,QAAQ,CAAC,CAAC,GAAG,CAAC,CAGhB,CAAC;AAEF,wBAAsB,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,oBAEtC"}
|