@powerhousedao/reactor 4.1.0-dev.10 → 4.1.0-dev.101
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/src/cache/buffer/ring-buffer.d.ts +37 -0
- package/dist/src/cache/buffer/ring-buffer.d.ts.map +1 -0
- package/dist/src/cache/buffer/ring-buffer.js +69 -0
- package/dist/src/cache/buffer/ring-buffer.js.map +1 -0
- package/dist/src/cache/kysely-write-cache.d.ts +133 -0
- package/dist/src/cache/kysely-write-cache.d.ts.map +1 -0
- package/dist/src/cache/kysely-write-cache.js +375 -0
- package/dist/src/cache/kysely-write-cache.js.map +1 -0
- package/dist/src/cache/lru/lru-tracker.d.ts +15 -0
- package/dist/src/cache/lru/lru-tracker.d.ts.map +1 -0
- package/dist/src/cache/lru/lru-tracker.js +96 -0
- package/dist/src/cache/lru/lru-tracker.js.map +1 -0
- package/dist/src/cache/types.d.ts +42 -0
- package/dist/src/cache/types.d.ts.map +1 -0
- package/dist/src/cache/types.js +2 -0
- package/dist/src/cache/types.js.map +1 -0
- package/dist/src/cache/write/interfaces.d.ts +83 -0
- package/dist/src/cache/write/interfaces.d.ts.map +1 -0
- package/dist/src/cache/write/interfaces.js +2 -0
- package/dist/src/cache/write/interfaces.js.map +1 -0
- package/dist/src/client/reactor-client.d.ts +103 -0
- package/dist/src/client/reactor-client.d.ts.map +1 -0
- package/dist/src/client/reactor-client.js +184 -0
- package/dist/src/client/reactor-client.js.map +1 -0
- package/dist/src/client/types.d.ts +213 -0
- package/dist/src/client/types.d.ts.map +1 -0
- package/dist/src/client/types.js +14 -0
- package/dist/src/client/types.js.map +1 -0
- package/dist/src/core/builder.d.ts +20 -0
- package/dist/src/core/builder.d.ts.map +1 -0
- package/dist/src/core/builder.js +47 -0
- package/dist/src/core/builder.js.map +1 -0
- package/dist/src/core/reactor-builder.d.ts +24 -0
- package/dist/src/core/reactor-builder.d.ts.map +1 -0
- package/dist/src/core/reactor-builder.js +152 -0
- package/dist/src/core/reactor-builder.js.map +1 -0
- package/dist/src/core/reactor.d.ts +96 -0
- package/dist/src/core/reactor.d.ts.map +1 -0
- package/dist/src/core/reactor.js +666 -0
- package/dist/src/core/reactor.js.map +1 -0
- package/dist/src/core/types.d.ts +168 -0
- package/dist/src/core/types.d.ts.map +1 -0
- package/dist/src/core/types.js +2 -0
- package/dist/src/core/types.js.map +1 -0
- package/dist/src/core/utils.d.ts +50 -0
- package/dist/src/core/utils.d.ts.map +1 -0
- package/dist/src/core/utils.js +133 -0
- package/dist/src/core/utils.js.map +1 -0
- package/dist/src/events/event-bus.d.ts +3 -3
- package/dist/src/events/event-bus.d.ts.map +1 -1
- package/dist/src/events/event-bus.js.map +1 -1
- package/dist/src/events/interfaces.d.ts +1 -1
- package/dist/src/events/interfaces.d.ts.map +1 -1
- package/dist/src/events/types.d.ts +15 -1
- package/dist/src/events/types.d.ts.map +1 -1
- package/dist/src/events/types.js +6 -0
- package/dist/src/events/types.js.map +1 -1
- package/dist/src/executor/interfaces.d.ts +31 -54
- package/dist/src/executor/interfaces.d.ts.map +1 -1
- package/dist/src/executor/simple-job-executor-manager.d.ts +32 -0
- package/dist/src/executor/simple-job-executor-manager.d.ts.map +1 -0
- package/dist/src/executor/simple-job-executor-manager.js +212 -0
- package/dist/src/executor/simple-job-executor-manager.js.map +1 -0
- package/dist/src/executor/simple-job-executor.d.ts +58 -0
- package/dist/src/executor/simple-job-executor.d.ts.map +1 -0
- package/dist/src/executor/simple-job-executor.js +516 -0
- package/dist/src/executor/simple-job-executor.js.map +1 -0
- package/dist/src/executor/types.d.ts +32 -8
- package/dist/src/executor/types.d.ts.map +1 -1
- package/dist/src/executor/types.js.map +1 -1
- package/dist/src/executor/util.d.ts +47 -0
- package/dist/src/executor/util.d.ts.map +1 -0
- package/dist/src/executor/util.js +113 -0
- package/dist/src/executor/util.js.map +1 -0
- package/dist/src/index.d.ts +32 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +38 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/job-tracker/in-memory-job-tracker.d.ts +16 -0
- package/dist/src/job-tracker/in-memory-job-tracker.d.ts.map +1 -0
- package/dist/src/job-tracker/in-memory-job-tracker.js +78 -0
- package/dist/src/job-tracker/in-memory-job-tracker.js.map +1 -0
- package/dist/src/job-tracker/index.d.ts +3 -0
- package/dist/src/job-tracker/index.d.ts.map +1 -0
- package/dist/src/job-tracker/index.js +2 -0
- package/dist/src/job-tracker/index.js.map +1 -0
- package/dist/src/job-tracker/interfaces.d.ts +41 -0
- package/dist/src/job-tracker/interfaces.d.ts.map +1 -0
- package/dist/src/job-tracker/interfaces.js +2 -0
- package/dist/src/job-tracker/interfaces.js.map +1 -0
- package/dist/src/queue/interfaces.d.ts +46 -5
- package/dist/src/queue/interfaces.d.ts.map +1 -1
- package/dist/src/queue/job-execution-handle.d.ts +25 -0
- package/dist/src/queue/job-execution-handle.d.ts.map +1 -0
- package/dist/src/queue/job-execution-handle.js +62 -0
- package/dist/src/queue/job-execution-handle.js.map +1 -0
- package/dist/src/queue/queue.d.ts +56 -5
- package/dist/src/queue/queue.d.ts.map +1 -1
- package/dist/src/queue/queue.js +284 -36
- package/dist/src/queue/queue.js.map +1 -1
- package/dist/src/queue/types.d.ts +33 -5
- package/dist/src/queue/types.d.ts.map +1 -1
- package/dist/src/queue/types.js +12 -0
- package/dist/src/queue/types.js.map +1 -1
- package/dist/src/read-models/coordinator.d.ts +38 -0
- package/dist/src/read-models/coordinator.d.ts.map +1 -0
- package/dist/src/read-models/coordinator.js +62 -0
- package/dist/src/read-models/coordinator.js.map +1 -0
- package/dist/src/read-models/document-view.d.ts +20 -0
- package/dist/src/read-models/document-view.d.ts.map +1 -0
- package/dist/src/read-models/document-view.js +365 -0
- package/dist/src/read-models/document-view.js.map +1 -0
- package/dist/src/read-models/interfaces.d.ts +29 -0
- package/dist/src/read-models/interfaces.d.ts.map +1 -0
- package/dist/src/read-models/interfaces.js +2 -0
- package/dist/src/read-models/interfaces.js.map +1 -0
- package/dist/src/read-models/types.d.ts +46 -0
- package/dist/src/read-models/types.d.ts.map +1 -0
- package/dist/src/read-models/types.js +2 -0
- package/dist/src/read-models/types.js.map +1 -0
- package/dist/src/registry/implementation.d.ts +62 -0
- package/dist/src/registry/implementation.d.ts.map +1 -0
- package/dist/src/registry/implementation.js +96 -0
- package/dist/src/registry/implementation.js.map +1 -0
- package/dist/src/registry/index.d.ts +3 -0
- package/dist/src/registry/index.d.ts.map +1 -0
- package/dist/src/registry/index.js +2 -0
- package/dist/src/registry/index.js.map +1 -0
- package/dist/src/registry/interfaces.d.ts +39 -0
- package/dist/src/registry/interfaces.d.ts.map +1 -0
- package/dist/src/registry/interfaces.js +2 -0
- package/dist/src/registry/interfaces.js.map +1 -0
- package/dist/src/shared/awaiter.d.ts +32 -0
- package/dist/src/shared/awaiter.d.ts.map +1 -0
- package/dist/src/shared/awaiter.js +132 -0
- package/dist/src/shared/awaiter.js.map +1 -0
- package/dist/src/shared/errors.d.ts +17 -0
- package/dist/src/shared/errors.d.ts.map +1 -0
- package/dist/src/shared/errors.js +33 -0
- package/dist/src/shared/errors.js.map +1 -0
- package/dist/src/shared/factories.d.ts +16 -0
- package/dist/src/shared/factories.d.ts.map +1 -0
- package/dist/src/shared/factories.js +33 -0
- package/dist/src/shared/factories.js.map +1 -0
- package/dist/src/shared/types.d.ts +100 -20
- package/dist/src/shared/types.d.ts.map +1 -1
- package/dist/src/shared/types.js +35 -1
- package/dist/src/shared/types.js.map +1 -1
- package/dist/src/shared/utils.d.ts +3 -0
- package/dist/src/shared/utils.d.ts.map +1 -0
- package/dist/src/shared/utils.js +8 -0
- package/dist/src/shared/utils.js.map +1 -0
- package/dist/src/signer/passthrough-signer.d.ts +6 -0
- package/dist/src/signer/passthrough-signer.d.ts.map +1 -0
- package/dist/src/signer/passthrough-signer.js +6 -0
- package/dist/src/signer/passthrough-signer.js.map +1 -0
- package/dist/src/signer/types.d.ts +15 -0
- package/dist/src/signer/types.d.ts.map +1 -0
- package/dist/src/signer/types.js +2 -0
- package/dist/src/signer/types.js.map +1 -0
- package/dist/src/storage/interfaces.d.ts +209 -0
- package/dist/src/storage/interfaces.d.ts.map +1 -0
- package/dist/src/storage/interfaces.js +19 -0
- package/dist/src/storage/interfaces.js.map +1 -0
- package/dist/src/storage/kysely/document-indexer.d.ts +25 -0
- package/dist/src/storage/kysely/document-indexer.d.ts.map +1 -0
- package/dist/src/storage/kysely/document-indexer.js +345 -0
- package/dist/src/storage/kysely/document-indexer.js.map +1 -0
- package/dist/src/storage/kysely/keyframe-store.d.ts +15 -0
- package/dist/src/storage/kysely/keyframe-store.d.ts.map +1 -0
- package/dist/src/storage/kysely/keyframe-store.js +71 -0
- package/dist/src/storage/kysely/keyframe-store.js.map +1 -0
- package/dist/src/storage/kysely/store.d.ts +15 -0
- package/dist/src/storage/kysely/store.d.ts.map +1 -0
- package/dist/src/storage/kysely/store.js +196 -0
- package/dist/src/storage/kysely/store.js.map +1 -0
- package/dist/src/storage/kysely/types.d.ts +72 -0
- package/dist/src/storage/kysely/types.d.ts.map +1 -0
- package/dist/src/storage/kysely/types.js +2 -0
- package/dist/src/storage/kysely/types.js.map +1 -0
- package/dist/src/storage/txn.d.ts +15 -0
- package/dist/src/storage/txn.d.ts.map +1 -0
- package/dist/src/storage/txn.js +43 -0
- package/dist/src/storage/txn.js.map +1 -0
- package/dist/src/subs/default-error-handler.d.ts +13 -0
- package/dist/src/subs/default-error-handler.d.ts.map +1 -0
- package/dist/src/subs/default-error-handler.js +27 -0
- package/dist/src/subs/default-error-handler.js.map +1 -0
- package/dist/src/subs/react-subscription-manager.d.ts +45 -0
- package/dist/src/subs/react-subscription-manager.d.ts.map +1 -0
- package/dist/src/subs/react-subscription-manager.js +185 -0
- package/dist/src/subs/react-subscription-manager.js.map +1 -0
- package/dist/src/subs/types.d.ts +64 -0
- package/dist/src/subs/types.d.ts.map +1 -0
- package/dist/src/subs/types.js +2 -0
- package/dist/src/subs/types.js.map +1 -0
- package/dist/src/utils/reshuffle.d.ts +30 -0
- package/dist/src/utils/reshuffle.d.ts.map +1 -0
- package/dist/src/utils/reshuffle.js +47 -0
- package/dist/src/utils/reshuffle.js.map +1 -0
- package/package.json +18 -7
- package/dist/bench/end-to-end-flow.bench.d.ts +0 -2
- package/dist/bench/end-to-end-flow.bench.d.ts.map +0 -1
- package/dist/bench/end-to-end-flow.bench.js +0 -256
- package/dist/bench/end-to-end-flow.bench.js.map +0 -1
- package/dist/bench/event-bus.bench.d.ts +0 -2
- package/dist/bench/event-bus.bench.d.ts.map +0 -1
- package/dist/bench/event-bus.bench.js +0 -238
- package/dist/bench/event-bus.bench.js.map +0 -1
- package/dist/bench/queue-only.bench.d.ts +0 -2
- package/dist/bench/queue-only.bench.d.ts.map +0 -1
- package/dist/bench/queue-only.bench.js +0 -40
- package/dist/bench/queue-only.bench.js.map +0 -1
- package/dist/bench/reactor-throughput.bench.d.ts +0 -2
- package/dist/bench/reactor-throughput.bench.d.ts.map +0 -1
- package/dist/bench/reactor-throughput.bench.js +0 -137
- package/dist/bench/reactor-throughput.bench.js.map +0 -1
- package/dist/src/executor/job-executor.d.ts +0 -62
- package/dist/src/executor/job-executor.d.ts.map +0 -1
- package/dist/src/executor/job-executor.js +0 -325
- package/dist/src/executor/job-executor.js.map +0 -1
- package/dist/test/event-bus.test.d.ts +0 -2
- package/dist/test/event-bus.test.d.ts.map +0 -1
- package/dist/test/event-bus.test.js +0 -532
- package/dist/test/event-bus.test.js.map +0 -1
- package/dist/test/job-executor.test.d.ts +0 -2
- package/dist/test/job-executor.test.d.ts.map +0 -1
- package/dist/test/job-executor.test.js +0 -581
- package/dist/test/job-executor.test.js.map +0 -1
- package/dist/test/queue.test.d.ts +0 -2
- package/dist/test/queue.test.d.ts.map +0 -1
- package/dist/test/queue.test.js +0 -396
- package/dist/test/queue.test.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-subscription-manager.js","sourceRoot":"","sources":["../../../src/subs/react-subscription-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { PHDocument } from "document-model";
|
|
2
|
+
import type { PagedResults, RelationshipChangeType, SearchFilter, ViewFilter } from "../shared/types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Error handler for subscription callback errors
|
|
5
|
+
*/
|
|
6
|
+
export interface ISubscriptionErrorHandler {
|
|
7
|
+
/**
|
|
8
|
+
* Called when a subscription callback throws an error
|
|
9
|
+
* @param error - The error that was thrown
|
|
10
|
+
* @param context - Context about which subscription failed
|
|
11
|
+
*/
|
|
12
|
+
handleError(error: unknown, context: SubscriptionErrorContext): void;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Context information about a subscription error
|
|
16
|
+
*/
|
|
17
|
+
export interface SubscriptionErrorContext {
|
|
18
|
+
/** The type of event that was being processed */
|
|
19
|
+
eventType: "created" | "deleted" | "updated" | "relationshipChanged";
|
|
20
|
+
/** The subscription ID that failed */
|
|
21
|
+
subscriptionId: string;
|
|
22
|
+
/** Optional additional data about the event */
|
|
23
|
+
eventData?: unknown;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Interface for subscribing to document events in the reactor.
|
|
27
|
+
*/
|
|
28
|
+
export interface IReactorSubscriptionManager {
|
|
29
|
+
/**
|
|
30
|
+
* Subscribes to document creation events
|
|
31
|
+
*
|
|
32
|
+
* @param callback - Function called when documents are created
|
|
33
|
+
* @param search - Optional search filter to limit which documents trigger events
|
|
34
|
+
* @param view - Optional filter containing branch and scopes information
|
|
35
|
+
* @returns A function that unsubscribes from the events
|
|
36
|
+
*/
|
|
37
|
+
onDocumentCreated(callback: (result: PagedResults<string>) => void, search?: SearchFilter): () => void;
|
|
38
|
+
/**
|
|
39
|
+
* Subscribes to document deletion events
|
|
40
|
+
*
|
|
41
|
+
* @param callback - Function called when documents are deleted
|
|
42
|
+
* @param search - Optional search filter to limit which documents trigger events
|
|
43
|
+
* @returns A function that unsubscribes from the events
|
|
44
|
+
*/
|
|
45
|
+
onDocumentDeleted(callback: (documentIds: string[]) => void, search?: SearchFilter): () => void;
|
|
46
|
+
/**
|
|
47
|
+
* Subscribes to document state updates
|
|
48
|
+
*
|
|
49
|
+
* @param callback - Function called when documents are updated
|
|
50
|
+
* @param search - Optional search filter to limit which documents trigger events
|
|
51
|
+
* @param view - Optional filter containing branch and scopes information
|
|
52
|
+
* @returns A function that unsubscribes from the events
|
|
53
|
+
*/
|
|
54
|
+
onDocumentStateUpdated(callback: (result: PagedResults<PHDocument>) => void, search?: SearchFilter, view?: ViewFilter): () => void;
|
|
55
|
+
/**
|
|
56
|
+
* Subscribes to parent-child relationship change events
|
|
57
|
+
*
|
|
58
|
+
* @param callback - Function called when parent-child relationships change
|
|
59
|
+
* @param search - Optional search filter to limit which documents trigger events
|
|
60
|
+
* @returns A function that unsubscribes from the events
|
|
61
|
+
*/
|
|
62
|
+
onRelationshipChanged(callback: (parentId: string, childId: string, changeType: RelationshipChangeType) => void, search?: SearchFilter): () => void;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/subs/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EACV,YAAY,EACZ,sBAAsB,EACtB,YAAY,EACZ,UAAU,EACX,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAAC;CACtE;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,iDAAiD;IACjD,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,qBAAqB,CAAC;IACrE,sCAAsC;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;;;;;OAOG;IACH,iBAAiB,CACf,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK,IAAI,EAChD,MAAM,CAAC,EAAE,YAAY,GACpB,MAAM,IAAI,CAAC;IAEd;;;;;;OAMG;IACH,iBAAiB,CACf,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,EACzC,MAAM,CAAC,EAAE,YAAY,GACpB,MAAM,IAAI,CAAC;IAEd;;;;;;;OAOG;IACH,sBAAsB,CACpB,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI,EACpD,MAAM,CAAC,EAAE,YAAY,EACrB,IAAI,CAAC,EAAE,UAAU,GAChB,MAAM,IAAI,CAAC;IAEd;;;;;;OAMG;IACH,qBAAqB,CACnB,QAAQ,EAAE,CACR,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,sBAAsB,KAC/B,IAAI,EACT,MAAM,CAAC,EAAE,YAAY,GACpB,MAAM,IAAI,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/subs/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
type OperationIndex = {
|
|
2
|
+
index: number;
|
|
3
|
+
skip: number;
|
|
4
|
+
id?: string;
|
|
5
|
+
timestampUtcMs?: string;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Sorts operations by index and skip number.
|
|
9
|
+
* [0:0 2:0 1:0 3:3 3:1] => [0:0 1:0 2:0 3:1 3:3]
|
|
10
|
+
*/
|
|
11
|
+
export declare function sortOperations<TOpIndex extends OperationIndex>(operations: TOpIndex[]): TOpIndex[];
|
|
12
|
+
/**
|
|
13
|
+
* Reshuffles operations by timestamp only, ignoring their original index values.
|
|
14
|
+
* Used for merging concurrent operations from different branches.
|
|
15
|
+
*
|
|
16
|
+
* Example:
|
|
17
|
+
* [0:0, 1:0, 2:0, A3:0, A4:0, A5:0] + [0:0, 1:0, 2:0, B3:0, B4:2, B5:0]
|
|
18
|
+
* GC => [0:0, 1:0, 2:0, A3:0, A4:0, A5:0] + [0:0, 1:0, B4:2, B5:0]
|
|
19
|
+
* Split => [0:0, 1:0] + [2:0, A3:0, A4:0, A5:0] + [B4:2, B5:0]
|
|
20
|
+
* Reshuffle(6:4) => [6:4, 7:0, 8:0, 9:0, 10:0, 11:0]
|
|
21
|
+
* merge => [0:0, 1:0, 6:4, 7:0, 8:0, 9:0, 10:0, 11:0]
|
|
22
|
+
*/
|
|
23
|
+
export declare function reshuffleByTimestamp<TOp extends OperationIndex>(startIndex: OperationIndex, opsA: TOp[], opsB: TOp[]): TOp[];
|
|
24
|
+
/**
|
|
25
|
+
* Reshuffles operations by timestamp first, then by original index value.
|
|
26
|
+
* Used for merging concurrent operations while preserving index ordering for operations with same timestamp.
|
|
27
|
+
*/
|
|
28
|
+
export declare function reshuffleByTimestampAndIndex<TOp extends OperationIndex>(startIndex: OperationIndex, opsA: TOp[], opsB: TOp[]): TOp[];
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=reshuffle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reshuffle.d.ts","sourceRoot":"","sources":["../../../src/utils/reshuffle.ts"],"names":[],"mappings":"AAAA,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,SAAS,cAAc,EAC5D,UAAU,EAAE,QAAQ,EAAE,GACrB,QAAQ,EAAE,CAKZ;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,SAAS,cAAc,EAC7D,UAAU,EAAE,cAAc,EAC1B,IAAI,EAAE,GAAG,EAAE,EACX,IAAI,EAAE,GAAG,EAAE,GACV,GAAG,EAAE,CAYP;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,SAAS,cAAc,EACrE,UAAU,EAAE,cAAc,EAC1B,IAAI,EAAE,GAAG,EAAE,EACX,IAAI,EAAE,GAAG,EAAE,GACV,GAAG,EAAE,CAaP"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sorts operations by index and skip number.
|
|
3
|
+
* [0:0 2:0 1:0 3:3 3:1] => [0:0 1:0 2:0 3:1 3:3]
|
|
4
|
+
*/
|
|
5
|
+
export function sortOperations(operations) {
|
|
6
|
+
return operations
|
|
7
|
+
.slice()
|
|
8
|
+
.sort((a, b) => a.skip - b.skip)
|
|
9
|
+
.sort((a, b) => a.index - b.index);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Reshuffles operations by timestamp only, ignoring their original index values.
|
|
13
|
+
* Used for merging concurrent operations from different branches.
|
|
14
|
+
*
|
|
15
|
+
* Example:
|
|
16
|
+
* [0:0, 1:0, 2:0, A3:0, A4:0, A5:0] + [0:0, 1:0, 2:0, B3:0, B4:2, B5:0]
|
|
17
|
+
* GC => [0:0, 1:0, 2:0, A3:0, A4:0, A5:0] + [0:0, 1:0, B4:2, B5:0]
|
|
18
|
+
* Split => [0:0, 1:0] + [2:0, A3:0, A4:0, A5:0] + [B4:2, B5:0]
|
|
19
|
+
* Reshuffle(6:4) => [6:4, 7:0, 8:0, 9:0, 10:0, 11:0]
|
|
20
|
+
* merge => [0:0, 1:0, 6:4, 7:0, 8:0, 9:0, 10:0, 11:0]
|
|
21
|
+
*/
|
|
22
|
+
export function reshuffleByTimestamp(startIndex, opsA, opsB) {
|
|
23
|
+
return [...opsA, ...opsB]
|
|
24
|
+
.sort((a, b) => new Date(a.timestampUtcMs || "").getTime() -
|
|
25
|
+
new Date(b.timestampUtcMs || "").getTime())
|
|
26
|
+
.map((op, i) => ({
|
|
27
|
+
...op,
|
|
28
|
+
index: startIndex.index + i,
|
|
29
|
+
skip: i === 0 ? startIndex.skip : 0,
|
|
30
|
+
}));
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Reshuffles operations by timestamp first, then by original index value.
|
|
34
|
+
* Used for merging concurrent operations while preserving index ordering for operations with same timestamp.
|
|
35
|
+
*/
|
|
36
|
+
export function reshuffleByTimestampAndIndex(startIndex, opsA, opsB) {
|
|
37
|
+
return [...opsA, ...opsB]
|
|
38
|
+
.sort((a, b) => new Date(a.timestampUtcMs || "").getTime() -
|
|
39
|
+
new Date(b.timestampUtcMs || "").getTime())
|
|
40
|
+
.sort((a, b) => a.index - b.index)
|
|
41
|
+
.map((op, i) => ({
|
|
42
|
+
...op,
|
|
43
|
+
index: startIndex.index + i,
|
|
44
|
+
skip: i === 0 ? startIndex.skip : 0,
|
|
45
|
+
}));
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=reshuffle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reshuffle.js","sourceRoot":"","sources":["../../../src/utils/reshuffle.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,UAAsB;IAEtB,OAAO,UAAU;SACd,KAAK,EAAE;SACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;SAC/B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAA0B,EAC1B,IAAW,EACX,IAAW;IAEX,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;SACtB,IAAI,CACH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;QAC1C,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAC7C;SACA,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACf,GAAG,EAAE;QACL,KAAK,EAAE,UAAU,CAAC,KAAK,GAAG,CAAC;QAC3B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACpC,CAAC,CAAC,CAAC;AACR,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAC1C,UAA0B,EAC1B,IAAW,EACX,IAAW;IAEX,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;SACtB,IAAI,CACH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;QAC1C,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAC7C;SACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;SACjC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACf,GAAG,EAAE;QACL,KAAK,EAAE,UAAU,CAAC,KAAK,GAAG,CAAC;QAC3B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACpC,CAAC,CAAC,CAAC;AACR,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@powerhousedao/reactor",
|
|
3
|
-
"version": "4.1.0-dev.
|
|
3
|
+
"version": "4.1.0-dev.101",
|
|
4
4
|
"description": "",
|
|
5
5
|
"repository": {
|
|
6
6
|
"url": "https://github.com/powerhouse-inc/powerhouse",
|
|
7
7
|
"directory": "packages/reactor"
|
|
8
8
|
},
|
|
9
9
|
"type": "module",
|
|
10
|
-
"types": "./dist/index.d.ts",
|
|
10
|
+
"types": "./dist/src/index.d.ts",
|
|
11
11
|
"exports": {
|
|
12
|
-
".": "./dist/index.js"
|
|
12
|
+
".": "./dist/src/index.js"
|
|
13
13
|
},
|
|
14
14
|
"imports": {
|
|
15
15
|
"#*": "./dist/src/*"
|
|
16
16
|
},
|
|
17
17
|
"files": [
|
|
18
|
-
"./dist"
|
|
18
|
+
"./dist/src"
|
|
19
19
|
],
|
|
20
20
|
"publishConfig": {
|
|
21
21
|
"access": "public"
|
|
@@ -23,18 +23,29 @@
|
|
|
23
23
|
"keywords": [],
|
|
24
24
|
"author": "",
|
|
25
25
|
"license": "AGPL-3.0-only",
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"@electric-sql/pglite": "0.2.17",
|
|
28
|
+
"kysely": "^0.28.2",
|
|
29
|
+
"kysely-pglite": "^0.6.1",
|
|
30
|
+
"uuid": "^11.0.5",
|
|
31
|
+
"document-model": "4.1.0-dev.101",
|
|
32
|
+
"document-drive": "4.1.0-dev.101"
|
|
33
|
+
},
|
|
26
34
|
"devDependencies": {
|
|
35
|
+
"@vitest/coverage-v8": "^3.2.4",
|
|
27
36
|
"typescript": "^5.7.3",
|
|
28
|
-
"vitest": "^3.
|
|
37
|
+
"vitest": "^3.2.4"
|
|
29
38
|
},
|
|
30
39
|
"scripts": {
|
|
31
40
|
"build": "pnpm run build:tsc",
|
|
32
41
|
"build:tsc": "tsc --build",
|
|
33
42
|
"prebuild": "pnpm run clean",
|
|
34
|
-
"test": "vitest run",
|
|
43
|
+
"test": "vitest run --coverage --printConsoleTrace=true --silent=false",
|
|
44
|
+
"test:watch": "vitest --coverage",
|
|
35
45
|
"lint": "eslint",
|
|
36
46
|
"bench": "vitest bench --run",
|
|
37
47
|
"clean": "rimraf dist",
|
|
38
|
-
"clean:node_modules": "rimraf node_modules"
|
|
48
|
+
"clean:node_modules": "rimraf node_modules",
|
|
49
|
+
"claude": "pnpm build && pnpm test && npx prettier --write \"**/*.ts\" && pnpm lint"
|
|
39
50
|
}
|
|
40
51
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"end-to-end-flow.bench.d.ts","sourceRoot":"","sources":["../../bench/end-to-end-flow.bench.ts"],"names":[],"mappings":""}
|
|
@@ -1,256 +0,0 @@
|
|
|
1
|
-
import { afterEach, beforeEach, bench, describe } from "vitest";
|
|
2
|
-
import { EventBus } from "../src/events/event-bus.js";
|
|
3
|
-
import { InMemoryJobExecutor } from "../src/executor/job-executor.js";
|
|
4
|
-
import { InMemoryQueue } from "../src/queue/queue.js";
|
|
5
|
-
// Test data generators
|
|
6
|
-
function createSimpleJob(id, documentId = "doc1", scope = "default", branch = "main") {
|
|
7
|
-
return {
|
|
8
|
-
id,
|
|
9
|
-
documentId,
|
|
10
|
-
scope,
|
|
11
|
-
branch,
|
|
12
|
-
operation: {
|
|
13
|
-
type: "CREATE",
|
|
14
|
-
input: { data: `simple data ${id}` },
|
|
15
|
-
index: 0,
|
|
16
|
-
timestamp: new Date().toISOString(),
|
|
17
|
-
hash: `hash-${Date.now()}`,
|
|
18
|
-
skip: 0,
|
|
19
|
-
},
|
|
20
|
-
maxRetries: 0,
|
|
21
|
-
createdAt: new Date().toISOString(),
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
function createComplexJob(id, documentId = "doc1", scope = "default", branch = "main") {
|
|
25
|
-
return {
|
|
26
|
-
id,
|
|
27
|
-
documentId,
|
|
28
|
-
scope,
|
|
29
|
-
branch,
|
|
30
|
-
operation: {
|
|
31
|
-
type: "UPDATE",
|
|
32
|
-
input: {
|
|
33
|
-
data: Array.from({ length: 100 }, (_, i) => `complex data item ${i}`),
|
|
34
|
-
metadata: {
|
|
35
|
-
timestamp: Date.now(),
|
|
36
|
-
user: "test-user",
|
|
37
|
-
version: "1.0.0",
|
|
38
|
-
},
|
|
39
|
-
},
|
|
40
|
-
index: Math.floor(Math.random() * 1000),
|
|
41
|
-
timestamp: new Date().toISOString(),
|
|
42
|
-
hash: `hash-${Date.now()}`,
|
|
43
|
-
skip: 0,
|
|
44
|
-
},
|
|
45
|
-
maxRetries: 0,
|
|
46
|
-
createdAt: new Date().toISOString(),
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
describe("Queue Performance", () => {
|
|
50
|
-
let eventBus;
|
|
51
|
-
let queue;
|
|
52
|
-
beforeEach(() => {
|
|
53
|
-
eventBus = new EventBus();
|
|
54
|
-
queue = new InMemoryQueue(eventBus);
|
|
55
|
-
});
|
|
56
|
-
afterEach(async () => {
|
|
57
|
-
await queue.clearAll();
|
|
58
|
-
});
|
|
59
|
-
bench("enqueue simple job", async () => {
|
|
60
|
-
const job = createSimpleJob(`job-${Math.random()}`);
|
|
61
|
-
await queue.enqueue(job);
|
|
62
|
-
});
|
|
63
|
-
bench("enqueue complex job", async () => {
|
|
64
|
-
const job = createComplexJob(`job-${Math.random()}`);
|
|
65
|
-
await queue.enqueue(job);
|
|
66
|
-
});
|
|
67
|
-
bench("enqueue and dequeue simple job", async () => {
|
|
68
|
-
const job = createSimpleJob(`job-${Math.random()}`);
|
|
69
|
-
await queue.enqueue(job);
|
|
70
|
-
await queue.dequeue(job.documentId, job.scope, job.branch);
|
|
71
|
-
});
|
|
72
|
-
bench("enqueue and dequeue complex job", async () => {
|
|
73
|
-
const job = createComplexJob(`job-${Math.random()}`);
|
|
74
|
-
await queue.enqueue(job);
|
|
75
|
-
await queue.dequeue(job.documentId, job.scope, job.branch);
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
describe("Queue Operations with Pre-filled Data", () => {
|
|
79
|
-
let eventBus;
|
|
80
|
-
let queue;
|
|
81
|
-
let prefilledJobs;
|
|
82
|
-
beforeEach(async () => {
|
|
83
|
-
eventBus = new EventBus();
|
|
84
|
-
queue = new InMemoryQueue(eventBus);
|
|
85
|
-
// Pre-fill queue with jobs for realistic testing
|
|
86
|
-
prefilledJobs = Array.from({ length: 100 }, (_, i) => createSimpleJob(`prefill-${i}`));
|
|
87
|
-
for (const job of prefilledJobs) {
|
|
88
|
-
await queue.enqueue(job);
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
afterEach(async () => {
|
|
92
|
-
await queue.clearAll();
|
|
93
|
-
});
|
|
94
|
-
bench("enqueue to populated queue", async () => {
|
|
95
|
-
const job = createSimpleJob(`new-${Math.random()}`);
|
|
96
|
-
await queue.enqueue(job);
|
|
97
|
-
});
|
|
98
|
-
bench("dequeue from populated queue", async () => {
|
|
99
|
-
await queue.dequeueNext();
|
|
100
|
-
});
|
|
101
|
-
bench("remove specific job from populated queue", async () => {
|
|
102
|
-
const randomJob = prefilledJobs[Math.floor(Math.random() * prefilledJobs.length)];
|
|
103
|
-
await queue.remove(randomJob.id);
|
|
104
|
-
});
|
|
105
|
-
bench("get queue size", async () => {
|
|
106
|
-
await queue.totalSize();
|
|
107
|
-
});
|
|
108
|
-
});
|
|
109
|
-
describe("Job Executor Performance", () => {
|
|
110
|
-
let eventBus;
|
|
111
|
-
let queue;
|
|
112
|
-
let executor;
|
|
113
|
-
beforeEach(async () => {
|
|
114
|
-
eventBus = new EventBus();
|
|
115
|
-
queue = new InMemoryQueue(eventBus);
|
|
116
|
-
executor = new InMemoryJobExecutor(eventBus, queue);
|
|
117
|
-
await executor.start({ maxConcurrency: 1, jobTimeout: 5000 });
|
|
118
|
-
});
|
|
119
|
-
afterEach(async () => {
|
|
120
|
-
await executor.stop(false);
|
|
121
|
-
await queue.clearAll();
|
|
122
|
-
});
|
|
123
|
-
bench("execute single simple job", async () => {
|
|
124
|
-
const job = createSimpleJob(`exec-${Math.random()}`);
|
|
125
|
-
await executor.executeJob(job);
|
|
126
|
-
});
|
|
127
|
-
bench("execute single complex job", async () => {
|
|
128
|
-
const job = createComplexJob(`exec-${Math.random()}`);
|
|
129
|
-
await executor.executeJob(job);
|
|
130
|
-
});
|
|
131
|
-
bench("get executor status", async () => {
|
|
132
|
-
await executor.getStatus();
|
|
133
|
-
});
|
|
134
|
-
bench("get executor stats", async () => {
|
|
135
|
-
await executor.getStats();
|
|
136
|
-
});
|
|
137
|
-
});
|
|
138
|
-
describe("Event Bus with Queue Integration", () => {
|
|
139
|
-
let eventBus;
|
|
140
|
-
let queue;
|
|
141
|
-
beforeEach(() => {
|
|
142
|
-
eventBus = new EventBus();
|
|
143
|
-
queue = new InMemoryQueue(eventBus);
|
|
144
|
-
});
|
|
145
|
-
afterEach(async () => {
|
|
146
|
-
await queue.clearAll();
|
|
147
|
-
});
|
|
148
|
-
bench("enqueue with event emission", async () => {
|
|
149
|
-
const job = createSimpleJob(`event-${Math.random()}`);
|
|
150
|
-
await queue.enqueue(job); // This triggers event emission
|
|
151
|
-
});
|
|
152
|
-
bench("multiple enqueues with events", async () => {
|
|
153
|
-
const jobs = Array.from({ length: 5 }, (_, i) => createSimpleJob(`batch-${i}-${Math.random()}`));
|
|
154
|
-
for (const job of jobs) {
|
|
155
|
-
await queue.enqueue(job);
|
|
156
|
-
}
|
|
157
|
-
});
|
|
158
|
-
});
|
|
159
|
-
describe("Multi-Queue Scenarios", () => {
|
|
160
|
-
let eventBus;
|
|
161
|
-
let queue;
|
|
162
|
-
beforeEach(() => {
|
|
163
|
-
eventBus = new EventBus();
|
|
164
|
-
queue = new InMemoryQueue(eventBus);
|
|
165
|
-
});
|
|
166
|
-
afterEach(async () => {
|
|
167
|
-
await queue.clearAll();
|
|
168
|
-
});
|
|
169
|
-
bench("enqueue jobs to different documents", async () => {
|
|
170
|
-
const job1 = createSimpleJob(`doc1-${Math.random()}`, "doc1");
|
|
171
|
-
const job2 = createSimpleJob(`doc2-${Math.random()}`, "doc2");
|
|
172
|
-
const job3 = createSimpleJob(`doc3-${Math.random()}`, "doc3");
|
|
173
|
-
await queue.enqueue(job1);
|
|
174
|
-
await queue.enqueue(job2);
|
|
175
|
-
await queue.enqueue(job3);
|
|
176
|
-
});
|
|
177
|
-
bench("enqueue jobs to different scopes", async () => {
|
|
178
|
-
const job1 = createSimpleJob(`scope1-${Math.random()}`, "doc1", "scope1");
|
|
179
|
-
const job2 = createSimpleJob(`scope2-${Math.random()}`, "doc1", "scope2");
|
|
180
|
-
const job3 = createSimpleJob(`scope3-${Math.random()}`, "doc1", "scope3");
|
|
181
|
-
await queue.enqueue(job1);
|
|
182
|
-
await queue.enqueue(job2);
|
|
183
|
-
await queue.enqueue(job3);
|
|
184
|
-
});
|
|
185
|
-
bench("enqueue jobs to different branches", async () => {
|
|
186
|
-
const job1 = createSimpleJob(`branch1-${Math.random()}`, "doc1", "default", "main");
|
|
187
|
-
const job2 = createSimpleJob(`branch2-${Math.random()}`, "doc1", "default", "feature");
|
|
188
|
-
const job3 = createSimpleJob(`branch3-${Math.random()}`, "doc1", "default", "develop");
|
|
189
|
-
await queue.enqueue(job1);
|
|
190
|
-
await queue.enqueue(job2);
|
|
191
|
-
await queue.enqueue(job3);
|
|
192
|
-
});
|
|
193
|
-
});
|
|
194
|
-
describe("Batch Operations Performance", () => {
|
|
195
|
-
let eventBus;
|
|
196
|
-
let queue;
|
|
197
|
-
beforeEach(() => {
|
|
198
|
-
eventBus = new EventBus();
|
|
199
|
-
queue = new InMemoryQueue(eventBus);
|
|
200
|
-
});
|
|
201
|
-
afterEach(async () => {
|
|
202
|
-
await queue.clearAll();
|
|
203
|
-
});
|
|
204
|
-
bench("enqueue 10 simple jobs", async () => {
|
|
205
|
-
const jobs = Array.from({ length: 10 }, (_, i) => createSimpleJob(`batch-10-${i}-${Math.random()}`));
|
|
206
|
-
for (const job of jobs) {
|
|
207
|
-
await queue.enqueue(job);
|
|
208
|
-
}
|
|
209
|
-
});
|
|
210
|
-
bench("enqueue 50 simple jobs", async () => {
|
|
211
|
-
const jobs = Array.from({ length: 50 }, (_, i) => createSimpleJob(`batch-50-${i}-${Math.random()}`));
|
|
212
|
-
for (const job of jobs) {
|
|
213
|
-
await queue.enqueue(job);
|
|
214
|
-
}
|
|
215
|
-
});
|
|
216
|
-
bench("enqueue 10 complex jobs", async () => {
|
|
217
|
-
const jobs = Array.from({ length: 10 }, (_, i) => createComplexJob(`batch-complex-10-${i}-${Math.random()}`));
|
|
218
|
-
for (const job of jobs) {
|
|
219
|
-
await queue.enqueue(job);
|
|
220
|
-
}
|
|
221
|
-
});
|
|
222
|
-
});
|
|
223
|
-
describe("Mixed Workload Performance", () => {
|
|
224
|
-
let eventBus;
|
|
225
|
-
let queue;
|
|
226
|
-
let executor;
|
|
227
|
-
beforeEach(async () => {
|
|
228
|
-
eventBus = new EventBus();
|
|
229
|
-
queue = new InMemoryQueue(eventBus);
|
|
230
|
-
executor = new InMemoryJobExecutor(eventBus, queue);
|
|
231
|
-
await executor.start({ maxConcurrency: 3, jobTimeout: 5000 });
|
|
232
|
-
});
|
|
233
|
-
afterEach(async () => {
|
|
234
|
-
await executor.stop(false);
|
|
235
|
-
await queue.clearAll();
|
|
236
|
-
});
|
|
237
|
-
bench("execute mixed simple and complex jobs", async () => {
|
|
238
|
-
const simpleJob = createSimpleJob(`mixed-simple-${Math.random()}`);
|
|
239
|
-
const complexJob = createComplexJob(`mixed-complex-${Math.random()}`);
|
|
240
|
-
await executor.executeJob(simpleJob);
|
|
241
|
-
await executor.executeJob(complexJob);
|
|
242
|
-
});
|
|
243
|
-
bench("execute 5 jobs with different complexities", async () => {
|
|
244
|
-
const jobs = [
|
|
245
|
-
createSimpleJob(`mix-1-${Math.random()}`),
|
|
246
|
-
createComplexJob(`mix-2-${Math.random()}`),
|
|
247
|
-
createSimpleJob(`mix-3-${Math.random()}`),
|
|
248
|
-
createComplexJob(`mix-4-${Math.random()}`),
|
|
249
|
-
createSimpleJob(`mix-5-${Math.random()}`),
|
|
250
|
-
];
|
|
251
|
-
for (const job of jobs) {
|
|
252
|
-
await executor.executeJob(job);
|
|
253
|
-
}
|
|
254
|
-
});
|
|
255
|
-
});
|
|
256
|
-
//# sourceMappingURL=end-to-end-flow.bench.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"end-to-end-flow.bench.js","sourceRoot":"","sources":["../../bench/end-to-end-flow.bench.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus.bench.d.ts","sourceRoot":"","sources":["../../bench/event-bus.bench.ts"],"names":[],"mappings":""}
|