@powerhousedao/reactor 4.1.0-staging.1 → 5.0.0-staging.1
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/bench/end-to-end-flow.bench.js +19 -9
- package/dist/bench/end-to-end-flow.bench.js.map +1 -1
- package/dist/bench/event-bus.bench.js.map +1 -1
- package/dist/bench/queue-only.bench.js +7 -2
- package/dist/bench/queue-only.bench.js.map +1 -1
- package/dist/bench/reactor-throughput.bench.js +16 -6
- package/dist/bench/reactor-throughput.bench.js.map +1 -1
- package/dist/src/events/event-bus.d.ts +2 -2
- package/dist/src/events/event-bus.d.ts.map +1 -1
- package/dist/src/events/event-bus.js +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 +1 -1
- package/dist/src/events/types.d.ts.map +1 -1
- package/dist/src/events/types.js.map +1 -1
- package/dist/src/executor/interfaces.d.ts +2 -2
- package/dist/src/executor/interfaces.d.ts.map +1 -1
- package/dist/src/executor/job-executor.d.ts +5 -5
- package/dist/src/executor/job-executor.d.ts.map +1 -1
- package/dist/src/executor/job-executor.js +2 -2
- package/dist/src/executor/job-executor.js.map +1 -1
- package/dist/src/executor/types.d.ts +1 -1
- package/dist/src/executor/types.d.ts.map +1 -1
- package/dist/src/index.d.ts +4 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/interfaces/reactor.d.ts +121 -0
- package/dist/src/interfaces/reactor.d.ts.map +1 -0
- package/dist/src/interfaces/reactor.js +2 -0
- package/dist/src/interfaces/reactor.js.map +1 -0
- package/dist/src/queue/interfaces.d.ts +1 -1
- package/dist/src/queue/interfaces.d.ts.map +1 -1
- package/dist/src/queue/queue.d.ts +3 -3
- package/dist/src/queue/queue.d.ts.map +1 -1
- package/dist/src/queue/queue.js.map +1 -1
- package/dist/src/queue/types.d.ts +1 -1
- package/dist/src/queue/types.d.ts.map +1 -1
- package/dist/src/reactor.d.ts +109 -0
- package/dist/src/reactor.d.ts.map +1 -0
- package/dist/src/reactor.js +602 -0
- package/dist/src/reactor.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 +83 -19
- package/dist/src/shared/types.d.ts.map +1 -1
- package/dist/src/shared/types.js +30 -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/utils.d.ts +11 -0
- package/dist/src/utils.d.ts.map +1 -0
- package/dist/src/utils.js +29 -0
- package/dist/src/utils.js.map +1 -0
- package/dist/test/job-executor.test.js +8 -2
- package/dist/test/job-executor.test.js.map +1 -1
- package/dist/test/queue.test.js +15 -4
- package/dist/test/queue.test.js.map +1 -1
- package/dist/test/reactor-read.test.d.ts +2 -0
- package/dist/test/reactor-read.test.d.ts.map +1 -0
- package/dist/test/reactor-read.test.js +330 -0
- package/dist/test/reactor-read.test.js.map +1 -0
- package/dist/test/reactor-write.test.d.ts +2 -0
- package/dist/test/reactor-write.test.d.ts.map +1 -0
- package/dist/test/reactor-write.test.js +232 -0
- package/dist/test/reactor-write.test.js.map +1 -0
- package/dist/test/utils.test.d.ts +2 -0
- package/dist/test/utils.test.d.ts.map +1 -0
- package/dist/test/utils.test.js +66 -0
- package/dist/test/utils.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -1
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { createShutdownStatus, createMutableShutdownStatus, } from "../src/shared/factories.js";
|
|
3
|
+
describe("ShutdownStatus Factory Methods", () => {
|
|
4
|
+
describe("createShutdownStatus", () => {
|
|
5
|
+
it("should create an immutable shutdown status with true", () => {
|
|
6
|
+
const status = createShutdownStatus(true);
|
|
7
|
+
expect(status.isShutdown).toBe(true);
|
|
8
|
+
// Should remain true
|
|
9
|
+
expect(status.isShutdown).toBe(true);
|
|
10
|
+
});
|
|
11
|
+
it("should create an immutable shutdown status with false", () => {
|
|
12
|
+
const status = createShutdownStatus(false);
|
|
13
|
+
expect(status.isShutdown).toBe(false);
|
|
14
|
+
// Should remain false
|
|
15
|
+
expect(status.isShutdown).toBe(false);
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
describe("createMutableShutdownStatus", () => {
|
|
19
|
+
it("should create a mutable shutdown status with default false", () => {
|
|
20
|
+
const [status, setShutdown] = createMutableShutdownStatus();
|
|
21
|
+
expect(status.isShutdown).toBe(false);
|
|
22
|
+
// Update to true
|
|
23
|
+
setShutdown(true);
|
|
24
|
+
expect(status.isShutdown).toBe(true);
|
|
25
|
+
// Update back to false
|
|
26
|
+
setShutdown(false);
|
|
27
|
+
expect(status.isShutdown).toBe(false);
|
|
28
|
+
});
|
|
29
|
+
it("should create a mutable shutdown status with initial true", () => {
|
|
30
|
+
const [status, setShutdown] = createMutableShutdownStatus(true);
|
|
31
|
+
expect(status.isShutdown).toBe(true);
|
|
32
|
+
// Update to false
|
|
33
|
+
setShutdown(false);
|
|
34
|
+
expect(status.isShutdown).toBe(false);
|
|
35
|
+
});
|
|
36
|
+
it("should allow multiple reads of the same state", () => {
|
|
37
|
+
const [status, setShutdown] = createMutableShutdownStatus(false);
|
|
38
|
+
// Multiple reads should return the same value
|
|
39
|
+
expect(status.isShutdown).toBe(false);
|
|
40
|
+
expect(status.isShutdown).toBe(false);
|
|
41
|
+
expect(status.isShutdown).toBe(false);
|
|
42
|
+
setShutdown(true);
|
|
43
|
+
// Multiple reads after update should return the new value
|
|
44
|
+
expect(status.isShutdown).toBe(true);
|
|
45
|
+
expect(status.isShutdown).toBe(true);
|
|
46
|
+
expect(status.isShutdown).toBe(true);
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
describe("Reactor integration", () => {
|
|
50
|
+
it("should maintain shutdown state across multiple calls", () => {
|
|
51
|
+
const [status, setShutdown] = createMutableShutdownStatus();
|
|
52
|
+
// Initial state
|
|
53
|
+
expect(status.isShutdown).toBe(false);
|
|
54
|
+
// Simulate kill() being called
|
|
55
|
+
setShutdown(true);
|
|
56
|
+
// Status should be persisted
|
|
57
|
+
expect(status.isShutdown).toBe(true);
|
|
58
|
+
// Even if we get the status multiple times
|
|
59
|
+
const isShut1 = status.isShutdown;
|
|
60
|
+
const isShut2 = status.isShutdown;
|
|
61
|
+
expect(isShut1).toBe(true);
|
|
62
|
+
expect(isShut2).toBe(true);
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
//# sourceMappingURL=utils.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../test/utils.test.ts"],"names":[],"mappings":"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"}
|