@powerhousedao/reactor 5.0.0-staging.11 → 5.0.0-staging.13

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.
Files changed (131) hide show
  1. package/dist/src/client/reactor-client.d.ts +103 -0
  2. package/dist/src/client/reactor-client.d.ts.map +1 -0
  3. package/dist/src/client/reactor-client.js +182 -0
  4. package/dist/src/client/reactor-client.js.map +1 -0
  5. package/dist/src/client/types.d.ts +213 -0
  6. package/dist/src/client/types.d.ts.map +1 -0
  7. package/dist/src/client/types.js +14 -0
  8. package/dist/src/client/types.js.map +1 -0
  9. package/dist/src/core/builder.d.ts +20 -0
  10. package/dist/src/core/builder.d.ts.map +1 -0
  11. package/dist/src/core/builder.js +47 -0
  12. package/dist/src/core/builder.js.map +1 -0
  13. package/dist/src/{reactor.d.ts → core/reactor.d.ts} +4 -5
  14. package/dist/src/core/reactor.d.ts.map +1 -0
  15. package/dist/src/{reactor.js → core/reactor.js} +37 -6
  16. package/dist/src/core/reactor.js.map +1 -0
  17. package/dist/src/{interfaces/reactor.d.ts → core/types.d.ts} +3 -3
  18. package/dist/src/core/types.d.ts.map +1 -0
  19. package/dist/src/core/types.js +2 -0
  20. package/dist/src/core/types.js.map +1 -0
  21. package/dist/src/{utils.d.ts → core/utils.d.ts} +1 -1
  22. package/dist/src/core/utils.d.ts.map +1 -0
  23. package/dist/src/core/utils.js.map +1 -0
  24. package/dist/src/index.d.ts +9 -2
  25. package/dist/src/index.d.ts.map +1 -1
  26. package/dist/src/index.js +8 -1
  27. package/dist/src/index.js.map +1 -1
  28. package/dist/src/queue/queue.d.ts.map +1 -1
  29. package/dist/src/queue/queue.js +43 -28
  30. package/dist/src/queue/queue.js.map +1 -1
  31. package/dist/src/shared/awaiter.d.ts +32 -0
  32. package/dist/src/shared/awaiter.d.ts.map +1 -0
  33. package/dist/src/shared/awaiter.js +132 -0
  34. package/dist/src/shared/awaiter.js.map +1 -0
  35. package/dist/src/shared/types.d.ts +3 -0
  36. package/dist/src/shared/types.d.ts.map +1 -1
  37. package/dist/src/shared/types.js.map +1 -1
  38. package/dist/src/signer/passthrough-signer.d.ts +6 -0
  39. package/dist/src/signer/passthrough-signer.d.ts.map +1 -0
  40. package/dist/src/signer/passthrough-signer.js +6 -0
  41. package/dist/src/signer/passthrough-signer.js.map +1 -0
  42. package/dist/src/signer/types.d.ts +15 -0
  43. package/dist/src/signer/types.d.ts.map +1 -0
  44. package/dist/src/signer/types.js +2 -0
  45. package/dist/src/signer/types.js.map +1 -0
  46. package/dist/src/subs/default-error-handler.d.ts +13 -0
  47. package/dist/src/subs/default-error-handler.d.ts.map +1 -0
  48. package/dist/src/subs/default-error-handler.js +27 -0
  49. package/dist/src/subs/default-error-handler.js.map +1 -0
  50. package/dist/src/subs/react-subscription-manager.d.ts +45 -0
  51. package/dist/src/subs/react-subscription-manager.d.ts.map +1 -0
  52. package/dist/src/subs/react-subscription-manager.js +185 -0
  53. package/dist/src/subs/react-subscription-manager.js.map +1 -0
  54. package/dist/src/subs/types.d.ts +64 -0
  55. package/dist/src/subs/types.d.ts.map +1 -0
  56. package/dist/src/subs/types.js +2 -0
  57. package/dist/src/subs/types.js.map +1 -0
  58. package/package.json +6 -6
  59. package/dist/bench/event-bus.bench.d.ts +0 -2
  60. package/dist/bench/event-bus.bench.d.ts.map +0 -1
  61. package/dist/bench/event-bus.bench.js +0 -228
  62. package/dist/bench/event-bus.bench.js.map +0 -1
  63. package/dist/bench/queue-only.bench.d.ts +0 -2
  64. package/dist/bench/queue-only.bench.d.ts.map +0 -1
  65. package/dist/bench/queue-only.bench.js +0 -46
  66. package/dist/bench/queue-only.bench.js.map +0 -1
  67. package/dist/bench/reactor-throughput.bench.d.ts +0 -2
  68. package/dist/bench/reactor-throughput.bench.d.ts.map +0 -1
  69. package/dist/bench/reactor-throughput.bench.js +0 -144
  70. package/dist/bench/reactor-throughput.bench.js.map +0 -1
  71. package/dist/src/interfaces/reactor.d.ts.map +0 -1
  72. package/dist/src/interfaces/reactor.js +0 -2
  73. package/dist/src/interfaces/reactor.js.map +0 -1
  74. package/dist/src/reactor.d.ts.map +0 -1
  75. package/dist/src/reactor.js.map +0 -1
  76. package/dist/src/utils.d.ts.map +0 -1
  77. package/dist/src/utils.js.map +0 -1
  78. package/dist/test/event-bus.test.d.ts +0 -2
  79. package/dist/test/event-bus.test.d.ts.map +0 -1
  80. package/dist/test/event-bus.test.js +0 -541
  81. package/dist/test/event-bus.test.js.map +0 -1
  82. package/dist/test/executor/executor-integration.test.d.ts +0 -2
  83. package/dist/test/executor/executor-integration.test.d.ts.map +0 -1
  84. package/dist/test/executor/executor-integration.test.js +0 -287
  85. package/dist/test/executor/executor-integration.test.js.map +0 -1
  86. package/dist/test/executor/job-execution-handle.test.d.ts +0 -2
  87. package/dist/test/executor/job-execution-handle.test.d.ts.map +0 -1
  88. package/dist/test/executor/job-execution-handle.test.js +0 -272
  89. package/dist/test/executor/job-execution-handle.test.js.map +0 -1
  90. package/dist/test/executor/simple-job-executor-manager.test.d.ts +0 -2
  91. package/dist/test/executor/simple-job-executor-manager.test.d.ts.map +0 -1
  92. package/dist/test/executor/simple-job-executor-manager.test.js +0 -132
  93. package/dist/test/executor/simple-job-executor-manager.test.js.map +0 -1
  94. package/dist/test/executor/simple-job-executor.test.d.ts +0 -2
  95. package/dist/test/executor/simple-job-executor.test.d.ts.map +0 -1
  96. package/dist/test/executor/simple-job-executor.test.js +0 -139
  97. package/dist/test/executor/simple-job-executor.test.js.map +0 -1
  98. package/dist/test/factories.d.ts +0 -123
  99. package/dist/test/factories.d.ts.map +0 -1
  100. package/dist/test/factories.js +0 -319
  101. package/dist/test/factories.js.map +0 -1
  102. package/dist/test/integration/document-drive-integration.test.d.ts +0 -2
  103. package/dist/test/integration/document-drive-integration.test.d.ts.map +0 -1
  104. package/dist/test/integration/document-drive-integration.test.js +0 -1102
  105. package/dist/test/integration/document-drive-integration.test.js.map +0 -1
  106. package/dist/test/integration/reactor-read.test.d.ts +0 -2
  107. package/dist/test/integration/reactor-read.test.d.ts.map +0 -1
  108. package/dist/test/integration/reactor-read.test.js +0 -291
  109. package/dist/test/integration/reactor-read.test.js.map +0 -1
  110. package/dist/test/queue/queue-integration.test.d.ts +0 -2
  111. package/dist/test/queue/queue-integration.test.d.ts.map +0 -1
  112. package/dist/test/queue/queue-integration.test.js +0 -322
  113. package/dist/test/queue/queue-integration.test.js.map +0 -1
  114. package/dist/test/queue/queue.test.d.ts +0 -2
  115. package/dist/test/queue/queue.test.d.ts.map +0 -1
  116. package/dist/test/queue/queue.test.js +0 -770
  117. package/dist/test/queue/queue.test.js.map +0 -1
  118. package/dist/test/registry/registry.test.d.ts +0 -2
  119. package/dist/test/registry/registry.test.d.ts.map +0 -1
  120. package/dist/test/registry/registry.test.js +0 -182
  121. package/dist/test/registry/registry.test.js.map +0 -1
  122. package/dist/test/utils.test.d.ts +0 -2
  123. package/dist/test/utils.test.d.ts.map +0 -1
  124. package/dist/test/utils.test.js +0 -66
  125. package/dist/test/utils.test.js.map +0 -1
  126. package/dist/tsconfig.tsbuildinfo +0 -1
  127. package/dist/vitest.config.d.ts +0 -3
  128. package/dist/vitest.config.d.ts.map +0 -1
  129. package/dist/vitest.config.js +0 -11
  130. package/dist/vitest.config.js.map +0 -1
  131. /package/dist/src/{utils.js → core/utils.js} +0 -0
@@ -1,132 +0,0 @@
1
- import { beforeEach, describe, expect, it, vi } from "vitest";
2
- import { EventBus } from "../../src/events/event-bus.js";
3
- import { SimpleJobExecutorManager } from "../../src/executor/simple-job-executor-manager.js";
4
- import { InMemoryQueue } from "../../src/queue/queue.js";
5
- describe("SimpleJobExecutorManager", () => {
6
- let manager;
7
- let mockExecutors;
8
- let executorFactory;
9
- let eventBus;
10
- let queue;
11
- // Create a mock executor
12
- const createMockExecutor = () => {
13
- const mockExecutor = {
14
- executeJob: vi.fn().mockResolvedValue({
15
- job: {},
16
- success: true,
17
- duration: 10,
18
- }),
19
- };
20
- mockExecutors.push(mockExecutor);
21
- return mockExecutor;
22
- };
23
- beforeEach(() => {
24
- mockExecutors = [];
25
- eventBus = new EventBus();
26
- queue = new InMemoryQueue(eventBus);
27
- // Create factory that returns mock executors
28
- executorFactory = vi.fn(() => createMockExecutor());
29
- manager = new SimpleJobExecutorManager(executorFactory, eventBus, queue);
30
- });
31
- describe("start", () => {
32
- it("should start with specified number of executors", async () => {
33
- await manager.start(3);
34
- const executors = manager.getExecutors();
35
- expect(executors).toHaveLength(3);
36
- expect(executorFactory).toHaveBeenCalledTimes(3);
37
- });
38
- it("should throw error if already running", async () => {
39
- await manager.start(2);
40
- await expect(manager.start(2)).rejects.toThrow("JobExecutorManager is already running");
41
- });
42
- it("should throw error for invalid number of executors", async () => {
43
- await expect(manager.start(0)).rejects.toThrow("Number of executors must be at least 1");
44
- await expect(manager.start(-1)).rejects.toThrow("Number of executors must be at least 1");
45
- });
46
- });
47
- describe("stop", () => {
48
- it("should stop gracefully", async () => {
49
- await manager.start(3);
50
- await manager.stop(true);
51
- const executors = manager.getExecutors();
52
- expect(executors).toHaveLength(0);
53
- });
54
- it("should stop immediately", async () => {
55
- await manager.start(3);
56
- await manager.stop(false);
57
- const executors = manager.getExecutors();
58
- expect(executors).toHaveLength(0);
59
- });
60
- it("should handle stop when not running", async () => {
61
- await expect(manager.stop()).resolves.not.toThrow();
62
- });
63
- });
64
- describe("getExecutors", () => {
65
- it("should return empty array when no executors", () => {
66
- const executors = manager.getExecutors();
67
- expect(executors).toEqual([]);
68
- });
69
- it("should return all executors", async () => {
70
- await manager.start(3);
71
- const executors = manager.getExecutors();
72
- expect(executors).toHaveLength(3);
73
- });
74
- it("should return a copy of executors array", async () => {
75
- await manager.start(2);
76
- const executors1 = manager.getExecutors();
77
- const executors2 = manager.getExecutors();
78
- expect(executors1).not.toBe(executors2);
79
- expect(executors1).toEqual(executors2);
80
- });
81
- });
82
- describe("getStatus", () => {
83
- it("should return status when not running", () => {
84
- const status = manager.getStatus();
85
- expect(status.isRunning).toBe(false);
86
- expect(status.numExecutors).toBe(0);
87
- expect(status.activeJobs).toBe(0);
88
- expect(status.totalJobsProcessed).toBe(0);
89
- });
90
- it("should return status when running", async () => {
91
- await manager.start(3);
92
- const status = manager.getStatus();
93
- expect(status.isRunning).toBe(true);
94
- expect(status.numExecutors).toBe(3);
95
- expect(status.activeJobs).toBe(0);
96
- expect(status.totalJobsProcessed).toBe(0);
97
- });
98
- });
99
- describe("job processing", () => {
100
- it("should process jobs when they become available", async () => {
101
- await manager.start(1);
102
- const job = {
103
- id: "job-1",
104
- documentId: "doc-1",
105
- scope: "global",
106
- branch: "main",
107
- operation: {
108
- action: {
109
- id: "action-1",
110
- type: "CREATE",
111
- scope: "global",
112
- timestampUtcMs: "123",
113
- input: {},
114
- },
115
- index: 0,
116
- timestampUtcMs: "123",
117
- hash: "hash",
118
- skip: 0,
119
- },
120
- createdAt: "123",
121
- queueHint: [],
122
- };
123
- // Enqueue a job
124
- await queue.enqueue(job);
125
- // Give the manager time to process
126
- await new Promise((resolve) => setTimeout(resolve, 100));
127
- // Check that the executor was called
128
- expect(mockExecutors[0].executeJob).toHaveBeenCalledWith(job);
129
- });
130
- });
131
- });
132
- //# sourceMappingURL=simple-job-executor-manager.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"simple-job-executor-manager.test.js","sourceRoot":"","sources":["../../../test/executor/simple-job-executor-manager.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=simple-job-executor.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"simple-job-executor.test.d.ts","sourceRoot":"","sources":["../../../test/executor/simple-job-executor.test.ts"],"names":[],"mappings":""}
@@ -1,139 +0,0 @@
1
- import { documentModelDocumentModelModule } from "document-model";
2
- import { beforeEach, describe, expect, it, vi } from "vitest";
3
- import { SimpleJobExecutor } from "../../src/executor/simple-job-executor.js";
4
- import { createMockDocumentStorage, createMockOperationStorage, createTestRegistry, } from "../factories.js";
5
- describe("SimpleJobExecutor", () => {
6
- let executor;
7
- let registry;
8
- let mockDocStorage;
9
- let mockOperationStorage;
10
- beforeEach(() => {
11
- // Setup registry with real document model
12
- registry = createTestRegistry([documentModelDocumentModelModule]);
13
- // Setup mock document storage with additional mock for operations/state structure
14
- mockDocStorage = createMockDocumentStorage({
15
- get: vi.fn().mockResolvedValue({
16
- header: {
17
- id: "doc-1",
18
- documentType: "powerhouse/document-model",
19
- },
20
- operations: {
21
- global: [],
22
- local: [],
23
- },
24
- state: {
25
- global: {},
26
- local: {},
27
- },
28
- }),
29
- exists: vi.fn().mockResolvedValue(true),
30
- resolveSlugs: vi.fn().mockResolvedValue([]),
31
- });
32
- // Setup mock operation storage
33
- mockOperationStorage = createMockOperationStorage();
34
- executor = new SimpleJobExecutor(registry, mockDocStorage, mockOperationStorage);
35
- });
36
- describe("executeJob", () => {
37
- it.skip("should execute a job successfully", async () => {
38
- // Skip this test as document-model has complex validation requirements
39
- // The simplified executor concept has been proven with the other tests
40
- });
41
- it("should handle document not found", async () => {
42
- mockDocStorage.get = vi
43
- .fn()
44
- .mockRejectedValue(new Error("Document not found"));
45
- const job = {
46
- id: "job-2",
47
- documentId: "missing-doc",
48
- scope: "global",
49
- branch: "main",
50
- operation: {
51
- action: {
52
- id: "action-2",
53
- type: "SET_NAME",
54
- scope: "global",
55
- timestampUtcMs: "123",
56
- input: { name: "Test" },
57
- },
58
- index: 0,
59
- timestampUtcMs: "123",
60
- hash: "hash",
61
- skip: 0,
62
- },
63
- createdAt: "123",
64
- queueHint: [],
65
- };
66
- const result = await executor.executeJob(job);
67
- expect(result.success).toBe(false);
68
- expect(result.error).toBeDefined();
69
- expect(result.error?.message).toContain("Document not found");
70
- });
71
- it("should handle missing reducer", async () => {
72
- // Mock a document with unknown type
73
- mockDocStorage.get = vi.fn().mockResolvedValue({
74
- header: {
75
- id: "doc-1",
76
- documentType: "unknown/type",
77
- },
78
- operations: { global: [] },
79
- state: {},
80
- });
81
- const job = {
82
- id: "job-3",
83
- documentId: "doc-1",
84
- scope: "global",
85
- branch: "main",
86
- operation: {
87
- action: {
88
- id: "action-3",
89
- type: "SOME_ACTION",
90
- scope: "global",
91
- timestampUtcMs: "123",
92
- input: {},
93
- },
94
- index: 0,
95
- timestampUtcMs: "123",
96
- hash: "hash",
97
- skip: 0,
98
- },
99
- createdAt: "123",
100
- queueHint: [],
101
- };
102
- const result = await executor.executeJob(job);
103
- expect(result.success).toBe(false);
104
- expect(result.error).toBeDefined();
105
- expect(result.error?.message).toContain("Document model module not found");
106
- });
107
- it("should handle storage errors", async () => {
108
- mockDocStorage.get = vi
109
- .fn()
110
- .mockRejectedValue(new Error("Storage error"));
111
- const job = {
112
- id: "job-4",
113
- documentId: "doc-1",
114
- scope: "global",
115
- branch: "main",
116
- operation: {
117
- action: {
118
- id: "action-4",
119
- type: "SET_NAME",
120
- scope: "global",
121
- timestampUtcMs: "123",
122
- input: { name: "Test" },
123
- },
124
- index: 0,
125
- timestampUtcMs: "123",
126
- hash: "hash",
127
- skip: 0,
128
- },
129
- createdAt: "123",
130
- queueHint: [],
131
- };
132
- const result = await executor.executeJob(job);
133
- expect(result.success).toBe(false);
134
- expect(result.error).toBeDefined();
135
- expect(result.error?.message).toContain("Storage error");
136
- });
137
- });
138
- });
139
- //# sourceMappingURL=simple-job-executor.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"simple-job-executor.test.js","sourceRoot":"","sources":["../../../test/executor/simple-job-executor.test.ts"],"names":[],"mappings":"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"}
@@ -1,123 +0,0 @@
1
- import type { BaseDocumentDriveServer } from "document-drive";
2
- import { MemoryStorage } from "document-drive";
3
- import type { IDocumentOperationStorage, IDocumentStorage } from "document-drive/storage/types";
4
- import type { Action, DocumentModelModule, Operation, PHDocument } from "document-model";
5
- import { EventBus } from "../src/events/event-bus.js";
6
- import type { IEventBus } from "../src/events/interfaces.js";
7
- import type { IJobExecutor } from "../src/executor/interfaces.js";
8
- import { SimpleJobExecutorManager } from "../src/executor/simple-job-executor-manager.js";
9
- import { SimpleJobExecutor } from "../src/executor/simple-job-executor.js";
10
- import type { IQueue } from "../src/queue/interfaces.js";
11
- import { InMemoryQueue } from "../src/queue/queue.js";
12
- import type { Job } from "../src/queue/types.js";
13
- import { Reactor } from "../src/reactor.js";
14
- import { DocumentModelRegistry } from "../src/registry/implementation.js";
15
- import type { IDocumentModelRegistry } from "../src/registry/interfaces.js";
16
- /**
17
- * Factory for creating test Job objects
18
- */
19
- export declare function createTestJob(overrides?: Partial<Job>): Job;
20
- /**
21
- * Factory for creating minimal Job objects (useful for performance tests)
22
- */
23
- export declare function createMinimalJob(overrides?: Partial<Job>): Job;
24
- /**
25
- * Factory for creating test Operation objects
26
- */
27
- export declare function createTestOperation(overrides?: Partial<Operation>): Operation;
28
- /**
29
- * Factory for creating minimal Operation objects
30
- */
31
- export declare function createMinimalOperation(overrides?: Partial<Operation>): Operation;
32
- /**
33
- * Factory for creating test Action objects
34
- */
35
- export declare function createTestAction(overrides?: Partial<Action>): Action;
36
- /**
37
- * Factory for creating minimal Action objects
38
- */
39
- export declare function createMinimalAction(overrides?: Partial<Action>): Action;
40
- /**
41
- * Factory for creating specific document model actions
42
- */
43
- export declare function createDocumentModelAction(type: "SET_NAME" | "SET_DESCRIPTION" | "CREATE" | "UPDATE", overrides?: Partial<Action>): Action;
44
- /**
45
- * Factory for creating mock PHDocument objects
46
- */
47
- export declare function createDocModelDocument(overrides?: {
48
- id?: string;
49
- slug?: string;
50
- documentType?: string;
51
- state?: any;
52
- }): PHDocument;
53
- /**
54
- * Factory for creating test EventBus instances
55
- */
56
- export declare function createTestEventBus(): IEventBus;
57
- /**
58
- * Factory for creating test Queue instances
59
- */
60
- export declare function createTestQueue(eventBus?: IEventBus): IQueue;
61
- /**
62
- * Factory for creating test Registry instances
63
- */
64
- export declare function createTestRegistry(modules?: DocumentModelModule<any>[]): IDocumentModelRegistry;
65
- /**
66
- * Factory for creating mock JobExecutor
67
- */
68
- export declare function createMockJobExecutor(overrides?: Partial<IJobExecutor>): IJobExecutor;
69
- /**
70
- * Factory for creating mock IDocumentStorage
71
- */
72
- export declare function createMockDocumentStorage(overrides?: Partial<IDocumentStorage>): IDocumentStorage;
73
- /**
74
- * Factory for creating mock IDocumentOperationStorage
75
- */
76
- export declare function createMockOperationStorage(overrides?: Partial<IDocumentOperationStorage>): IDocumentOperationStorage;
77
- /**
78
- * Factory for creating a complete test reactor setup
79
- */
80
- export declare function createTestReactorSetup(documentModels?: DocumentModelModule<any>[]): Promise<{
81
- reactor: Reactor;
82
- driveServer: BaseDocumentDriveServer;
83
- storage: MemoryStorage;
84
- eventBus: EventBus;
85
- queue: InMemoryQueue;
86
- jobExecutor: SimpleJobExecutor;
87
- registry: DocumentModelRegistry;
88
- }>;
89
- /**
90
- * Factory for creating SimpleJobExecutorManager with dependencies
91
- */
92
- export declare function createTestJobExecutorManager(queue?: IQueue, eventBus?: IEventBus, executor?: IJobExecutor): {
93
- manager: SimpleJobExecutorManager;
94
- queue: IQueue;
95
- eventBus: IEventBus;
96
- executor: IJobExecutor;
97
- };
98
- /**
99
- * Factory for creating test data sets
100
- */
101
- export declare function createTestJobSet(count: number, baseOverrides?: Partial<Job>): Job[];
102
- /**
103
- * Factory for creating jobs with dependencies
104
- */
105
- export declare function createJobWithDependencies(id: string, dependencies: string[], overrides?: Partial<Job>): Job;
106
- /**
107
- * Factory for creating a dependency chain of jobs
108
- */
109
- export declare function createJobDependencyChain(length: number): Job[];
110
- /**
111
- * Factory for creating multiple actions for testing
112
- */
113
- export declare function createTestActions(count: number, type?: "SET_NAME" | "SET_DESCRIPTION" | "CREATE" | "UPDATE"): Action[];
114
- /**
115
- * Factory for creating mock documents in bulk
116
- */
117
- export declare function createTestDocuments(count: number, baseOverrides?: {
118
- id?: string;
119
- slug?: string;
120
- documentType?: string;
121
- state?: any;
122
- }): PHDocument[];
123
- //# sourceMappingURL=factories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../../test/factories.ts"],"names":[],"mappings":"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"}