@powerhousedao/reactor-api 5.0.6 → 5.0.8

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 (51) hide show
  1. package/dist/src/graphql/drive-subgraph.d.ts.map +1 -1
  2. package/dist/src/graphql/drive-subgraph.js +3 -5
  3. package/dist/src/graphql/drive-subgraph.js.map +1 -1
  4. package/dist/src/graphql/graphql-manager.d.ts +6 -1
  5. package/dist/src/graphql/graphql-manager.d.ts.map +1 -1
  6. package/dist/src/graphql/graphql-manager.js +48 -1
  7. package/dist/src/graphql/graphql-manager.js.map +1 -1
  8. package/dist/src/graphql/reactor/adapters.d.ts +29 -3
  9. package/dist/src/graphql/reactor/adapters.d.ts.map +1 -1
  10. package/dist/src/graphql/reactor/adapters.js +181 -0
  11. package/dist/src/graphql/reactor/adapters.js.map +1 -1
  12. package/dist/src/graphql/reactor/pubsub.d.ts +27 -0
  13. package/dist/src/graphql/reactor/pubsub.d.ts.map +1 -0
  14. package/dist/src/graphql/reactor/pubsub.js +92 -0
  15. package/dist/src/graphql/reactor/pubsub.js.map +1 -0
  16. package/dist/src/graphql/reactor/resolvers.d.ts +69 -1
  17. package/dist/src/graphql/reactor/resolvers.d.ts.map +1 -1
  18. package/dist/src/graphql/reactor/resolvers.js +208 -1
  19. package/dist/src/graphql/reactor/resolvers.js.map +1 -1
  20. package/dist/src/graphql/reactor/subgraph.d.ts +1 -0
  21. package/dist/src/graphql/reactor/subgraph.d.ts.map +1 -1
  22. package/dist/src/graphql/reactor/subgraph.js +122 -41
  23. package/dist/src/graphql/reactor/subgraph.js.map +1 -1
  24. package/dist/src/graphql/types.d.ts +1 -0
  25. package/dist/src/graphql/types.d.ts.map +1 -1
  26. package/dist/src/graphql/websocket.d.ts +3 -0
  27. package/dist/src/graphql/websocket.d.ts.map +1 -0
  28. package/dist/src/graphql/websocket.js +15 -0
  29. package/dist/src/graphql/websocket.js.map +1 -0
  30. package/dist/src/server.d.ts.map +1 -1
  31. package/dist/src/server.js +23 -12
  32. package/dist/src/server.js.map +1 -1
  33. package/dist/src/services/auth.service.d.ts +1 -0
  34. package/dist/src/services/auth.service.d.ts.map +1 -1
  35. package/dist/src/services/auth.service.js +32 -3
  36. package/dist/src/services/auth.service.js.map +1 -1
  37. package/dist/test/reactor-adapters.test.d.ts +2 -0
  38. package/dist/test/reactor-adapters.test.d.ts.map +1 -0
  39. package/dist/test/reactor-adapters.test.js +639 -0
  40. package/dist/test/reactor-adapters.test.js.map +1 -0
  41. package/dist/test/reactor-resolvers.test.js +531 -0
  42. package/dist/test/reactor-resolvers.test.js.map +1 -1
  43. package/dist/test/subscriptions.test.d.ts +2 -0
  44. package/dist/test/subscriptions.test.d.ts.map +1 -0
  45. package/dist/test/subscriptions.test.js +246 -0
  46. package/dist/test/subscriptions.test.js.map +1 -0
  47. package/dist/tsconfig.tsbuildinfo +1 -1
  48. package/dist/vitest.config.d.ts.map +1 -1
  49. package/dist/vitest.config.js +14 -0
  50. package/dist/vitest.config.js.map +1 -1
  51. package/package.json +12 -7
@@ -0,0 +1,639 @@
1
+ import { beforeEach, describe, expect, it, vi } from "vitest";
2
+ import * as adapters from "../src/graphql/reactor/adapters.js";
3
+ describe("Reactor Adapters", () => {
4
+ describe("fromInputMaybe", () => {
5
+ it("should convert null to undefined", () => {
6
+ expect(adapters.fromInputMaybe(null)).toBeUndefined();
7
+ });
8
+ it("should pass through undefined", () => {
9
+ expect(adapters.fromInputMaybe(undefined)).toBeUndefined();
10
+ });
11
+ it("should pass through values", () => {
12
+ expect(adapters.fromInputMaybe("test")).toBe("test");
13
+ expect(adapters.fromInputMaybe(123)).toBe(123);
14
+ expect(adapters.fromInputMaybe(true)).toBe(true);
15
+ expect(adapters.fromInputMaybe({ key: "value" })).toEqual({
16
+ key: "value",
17
+ });
18
+ });
19
+ });
20
+ describe("toMutableArray", () => {
21
+ it("should convert readonly array to mutable array", () => {
22
+ const readonly = ["a", "b", "c"];
23
+ const result = adapters.toMutableArray(readonly);
24
+ expect(result).toEqual(["a", "b", "c"]);
25
+ expect(Array.isArray(result)).toBe(true);
26
+ // Verify it's a new array
27
+ expect(result).not.toBe(readonly);
28
+ });
29
+ it("should return undefined for undefined input", () => {
30
+ expect(adapters.toMutableArray(undefined)).toBeUndefined();
31
+ });
32
+ it("should handle empty arrays", () => {
33
+ const readonly = [];
34
+ const result = adapters.toMutableArray(readonly);
35
+ expect(result).toEqual([]);
36
+ });
37
+ });
38
+ describe("jsonObjectToAction", () => {
39
+ it("should convert valid JSONObject to Action", () => {
40
+ const jsonObject = {
41
+ type: "SET_NAME",
42
+ scope: "global",
43
+ input: { name: "Test" },
44
+ id: "action-1",
45
+ timestampUtcMs: "2024-01-01T00:00:00Z",
46
+ };
47
+ const result = adapters.jsonObjectToAction(jsonObject);
48
+ expect(result).toEqual(jsonObject);
49
+ expect(result.type).toBe("SET_NAME");
50
+ expect(result.scope).toBe("global");
51
+ });
52
+ it("should reject null input", () => {
53
+ expect(() => adapters.jsonObjectToAction(null)).toThrow("Invalid action structure");
54
+ });
55
+ it("should reject non-object input", () => {
56
+ expect(() => adapters.jsonObjectToAction("string")).toThrow("Invalid action structure");
57
+ expect(() => adapters.jsonObjectToAction(123)).toThrow("Invalid action structure");
58
+ });
59
+ it("should reject object without type field", () => {
60
+ expect(() => adapters.jsonObjectToAction({
61
+ scope: "global",
62
+ input: {},
63
+ })).toThrow("Invalid action structure");
64
+ });
65
+ it("should reject object with non-string type", () => {
66
+ expect(() => adapters.jsonObjectToAction({
67
+ type: 123,
68
+ scope: "global",
69
+ input: {},
70
+ })).toThrow("Invalid action structure");
71
+ });
72
+ it("should reject object without scope field", () => {
73
+ expect(() => adapters.jsonObjectToAction({
74
+ type: "SET_NAME",
75
+ input: {},
76
+ })).toThrow("Invalid action structure");
77
+ });
78
+ it("should reject object with non-string scope", () => {
79
+ expect(() => adapters.jsonObjectToAction({
80
+ type: "SET_NAME",
81
+ scope: 123,
82
+ input: {},
83
+ })).toThrow("Invalid action structure");
84
+ });
85
+ it("should reject object without input field", () => {
86
+ expect(() => adapters.jsonObjectToAction({
87
+ type: "SET_NAME",
88
+ scope: "global",
89
+ })).toThrow("Invalid action structure");
90
+ });
91
+ it("should accept action with any input type", () => {
92
+ const validInputs = [
93
+ { input: null },
94
+ { input: undefined },
95
+ { input: 123 },
96
+ { input: "string" },
97
+ { input: { nested: "object" } },
98
+ { input: ["array"] },
99
+ ];
100
+ validInputs.forEach((inputObj) => {
101
+ const action = {
102
+ type: "TEST",
103
+ scope: "global",
104
+ ...inputObj,
105
+ };
106
+ expect(() => adapters.jsonObjectToAction(action)).not.toThrow();
107
+ });
108
+ });
109
+ });
110
+ describe("validateDocumentModelAction", () => {
111
+ it("should validate action against document model successfully", () => {
112
+ const mockModule = {
113
+ documentModel: {
114
+ global: {
115
+ id: "test-model",
116
+ name: "test/model",
117
+ author: { name: "Test", website: null },
118
+ description: "Test",
119
+ extension: "test",
120
+ specifications: [
121
+ {
122
+ version: "1.0.0",
123
+ changeLog: [],
124
+ modules: [
125
+ {
126
+ name: "test",
127
+ operations: [
128
+ {
129
+ name: "SET_NAME",
130
+ scope: "global",
131
+ },
132
+ ],
133
+ },
134
+ ],
135
+ },
136
+ ],
137
+ },
138
+ local: {},
139
+ },
140
+ actions: {
141
+ setName: vi.fn((input) => ({
142
+ type: "SET_NAME",
143
+ scope: "global",
144
+ input,
145
+ id: "1",
146
+ timestampUtcMs: "2024-01-01T00:00:00Z",
147
+ })),
148
+ },
149
+ reducer: vi.fn(),
150
+ utils: {},
151
+ };
152
+ const action = {
153
+ type: "SET_NAME",
154
+ scope: "global",
155
+ input: { name: "Test" },
156
+ id: "action-1",
157
+ timestampUtcMs: "2024-01-01T00:00:00Z",
158
+ };
159
+ const result = adapters.validateDocumentModelAction(mockModule, action);
160
+ expect(result.isValid).toBe(true);
161
+ expect(result.errors).toHaveLength(0);
162
+ expect(mockModule.actions.setName).toHaveBeenCalledWith({
163
+ name: "Test",
164
+ });
165
+ });
166
+ it("should reject action when model has no specifications", () => {
167
+ const mockModule = {
168
+ documentModel: {
169
+ global: {
170
+ id: "test-model",
171
+ name: "test/model",
172
+ author: { name: "Test", website: null },
173
+ description: "Test",
174
+ extension: "test",
175
+ specifications: [],
176
+ },
177
+ local: {},
178
+ },
179
+ actions: {},
180
+ reducer: vi.fn(),
181
+ utils: {},
182
+ };
183
+ const action = {
184
+ type: "SET_NAME",
185
+ scope: "global",
186
+ input: {},
187
+ id: "action-1",
188
+ timestampUtcMs: "2024-01-01T00:00:00Z",
189
+ };
190
+ const result = adapters.validateDocumentModelAction(mockModule, action);
191
+ expect(result.isValid).toBe(false);
192
+ expect(result.errors).toContain("Document model has no specifications");
193
+ });
194
+ it("should reject action with unknown operation type", () => {
195
+ const mockModule = {
196
+ documentModel: {
197
+ global: {
198
+ id: "test-model",
199
+ name: "test/model",
200
+ author: { name: "Test", website: null },
201
+ description: "Test",
202
+ extension: "test",
203
+ specifications: [
204
+ {
205
+ version: "1.0.0",
206
+ changeLog: [],
207
+ modules: [
208
+ {
209
+ name: "test",
210
+ operations: [
211
+ {
212
+ name: "SET_NAME",
213
+ scope: "global",
214
+ },
215
+ ],
216
+ },
217
+ ],
218
+ },
219
+ ],
220
+ },
221
+ local: {},
222
+ },
223
+ actions: {},
224
+ reducer: vi.fn(),
225
+ utils: {},
226
+ };
227
+ const action = {
228
+ type: "UNKNOWN_ACTION",
229
+ scope: "global",
230
+ input: {},
231
+ id: "action-1",
232
+ timestampUtcMs: "2024-01-01T00:00:00Z",
233
+ };
234
+ const result = adapters.validateDocumentModelAction(mockModule, action);
235
+ expect(result.isValid).toBe(false);
236
+ expect(result.errors).toContainEqual(expect.stringContaining("UNKNOWN_ACTION"));
237
+ expect(result.errors).toContainEqual(expect.stringContaining("not defined in any module"));
238
+ });
239
+ it("should reject action when action creator is missing", () => {
240
+ const mockModule = {
241
+ documentModel: {
242
+ global: {
243
+ id: "test-model",
244
+ name: "test/model",
245
+ author: { name: "Test", website: null },
246
+ description: "Test",
247
+ extension: "test",
248
+ specifications: [
249
+ {
250
+ version: "1.0.0",
251
+ changeLog: [],
252
+ modules: [
253
+ {
254
+ name: "test",
255
+ operations: [
256
+ {
257
+ name: "SET_NAME",
258
+ scope: "global",
259
+ },
260
+ ],
261
+ },
262
+ ],
263
+ },
264
+ ],
265
+ },
266
+ local: {},
267
+ },
268
+ actions: {},
269
+ reducer: vi.fn(),
270
+ utils: {},
271
+ };
272
+ const action = {
273
+ type: "SET_NAME",
274
+ scope: "global",
275
+ input: {},
276
+ id: "action-1",
277
+ timestampUtcMs: "2024-01-01T00:00:00Z",
278
+ };
279
+ const result = adapters.validateDocumentModelAction(mockModule, action);
280
+ expect(result.isValid).toBe(false);
281
+ expect(result.errors).toContainEqual(expect.stringContaining("Action creator"));
282
+ expect(result.errors).toContainEqual(expect.stringContaining("not defined in document model module"));
283
+ });
284
+ it("should reject action with invalid input", () => {
285
+ const mockModule = {
286
+ documentModel: {
287
+ global: {
288
+ id: "test-model",
289
+ name: "test/model",
290
+ author: { name: "Test", website: null },
291
+ description: "Test",
292
+ extension: "test",
293
+ specifications: [
294
+ {
295
+ version: "1.0.0",
296
+ changeLog: [],
297
+ modules: [
298
+ {
299
+ name: "test",
300
+ operations: [
301
+ {
302
+ name: "SET_NAME",
303
+ scope: "global",
304
+ },
305
+ ],
306
+ },
307
+ ],
308
+ },
309
+ ],
310
+ },
311
+ local: {},
312
+ },
313
+ actions: {
314
+ setName: vi.fn(() => {
315
+ throw new Error("Invalid input: name is required");
316
+ }),
317
+ },
318
+ reducer: vi.fn(),
319
+ utils: {},
320
+ };
321
+ const action = {
322
+ type: "SET_NAME",
323
+ scope: "global",
324
+ input: {},
325
+ id: "action-1",
326
+ timestampUtcMs: "2024-01-01T00:00:00Z",
327
+ };
328
+ const result = adapters.validateDocumentModelAction(mockModule, action);
329
+ expect(result.isValid).toBe(false);
330
+ expect(result.errors).toContainEqual(expect.stringContaining("Input validation error"));
331
+ expect(result.errors).toContainEqual(expect.stringContaining("name is required"));
332
+ });
333
+ it("should reject action with mismatched scope", () => {
334
+ const mockModule = {
335
+ documentModel: {
336
+ global: {
337
+ id: "test-model",
338
+ name: "test/model",
339
+ author: { name: "Test", website: null },
340
+ description: "Test",
341
+ extension: "test",
342
+ specifications: [
343
+ {
344
+ version: "1.0.0",
345
+ changeLog: [],
346
+ modules: [
347
+ {
348
+ name: "test",
349
+ operations: [
350
+ {
351
+ name: "SET_NAME",
352
+ scope: "global",
353
+ },
354
+ ],
355
+ },
356
+ ],
357
+ },
358
+ ],
359
+ },
360
+ local: {},
361
+ },
362
+ actions: {
363
+ setName: vi.fn((input) => ({
364
+ type: "SET_NAME",
365
+ scope: "global",
366
+ input,
367
+ id: "1",
368
+ timestampUtcMs: "2024-01-01T00:00:00Z",
369
+ })),
370
+ },
371
+ reducer: vi.fn(),
372
+ utils: {},
373
+ };
374
+ const action = {
375
+ type: "SET_NAME",
376
+ scope: "local",
377
+ input: { name: "Test" },
378
+ id: "action-1",
379
+ timestampUtcMs: "2024-01-01T00:00:00Z",
380
+ };
381
+ const result = adapters.validateDocumentModelAction(mockModule, action);
382
+ expect(result.isValid).toBe(false);
383
+ expect(result.errors).toContainEqual(expect.stringContaining("scope"));
384
+ });
385
+ });
386
+ describe("validateActions", () => {
387
+ let mockReactorClient;
388
+ beforeEach(() => {
389
+ vi.clearAllMocks();
390
+ mockReactorClient = {
391
+ getDocumentModels: vi.fn(),
392
+ get: vi.fn(),
393
+ getChildren: vi.fn(),
394
+ getParents: vi.fn(),
395
+ find: vi.fn(),
396
+ getJobStatus: vi.fn(),
397
+ waitForJob: vi.fn(),
398
+ create: vi.fn(),
399
+ createEmpty: vi.fn(),
400
+ mutate: vi.fn(),
401
+ mutateAsync: vi.fn(),
402
+ rename: vi.fn(),
403
+ addChildren: vi.fn(),
404
+ removeChildren: vi.fn(),
405
+ moveChildren: vi.fn(),
406
+ deleteDocument: vi.fn(),
407
+ deleteDocuments: vi.fn(),
408
+ subscribe: vi.fn(),
409
+ };
410
+ });
411
+ it("should validate multiple actions successfully", async () => {
412
+ const mockDocument = {
413
+ header: {
414
+ id: "doc-1",
415
+ name: "Test Document",
416
+ documentType: "test/model",
417
+ slug: "test-doc",
418
+ createdAtUtcIso: "2024-01-01T00:00:00Z",
419
+ lastModifiedAtUtcIso: "2024-01-02T00:00:00Z",
420
+ branch: "main",
421
+ sig: {
422
+ publicKey: {},
423
+ nonce: "test-nonce",
424
+ },
425
+ revision: { global: 1 },
426
+ },
427
+ state: {},
428
+ history: {},
429
+ initialState: {},
430
+ operations: {},
431
+ clipboard: [],
432
+ };
433
+ const mockModule = {
434
+ documentModel: {
435
+ global: {
436
+ id: "test-model",
437
+ name: "test/model",
438
+ author: { name: "Test", website: null },
439
+ description: "Test",
440
+ extension: "test",
441
+ specifications: [
442
+ {
443
+ version: "1.0.0",
444
+ changeLog: [],
445
+ modules: [
446
+ {
447
+ name: "test",
448
+ operations: [
449
+ {
450
+ name: "SET_NAME",
451
+ scope: "global",
452
+ },
453
+ ],
454
+ },
455
+ ],
456
+ },
457
+ ],
458
+ },
459
+ local: {},
460
+ },
461
+ actions: {
462
+ setName: vi.fn((input) => ({
463
+ type: "SET_NAME",
464
+ scope: "global",
465
+ input,
466
+ id: "1",
467
+ timestampUtcMs: "2024-01-01T00:00:00Z",
468
+ })),
469
+ },
470
+ reducer: vi.fn(),
471
+ utils: {},
472
+ };
473
+ const actions = [
474
+ {
475
+ type: "SET_NAME",
476
+ scope: "global",
477
+ input: { name: "Name 1" },
478
+ id: "action-1",
479
+ timestampUtcMs: "2024-01-01T00:00:00Z",
480
+ },
481
+ {
482
+ type: "SET_NAME",
483
+ scope: "global",
484
+ input: { name: "Name 2" },
485
+ id: "action-2",
486
+ timestampUtcMs: "2024-01-01T00:01:00Z",
487
+ },
488
+ ];
489
+ vi.mocked(mockReactorClient.get).mockResolvedValue({
490
+ document: mockDocument,
491
+ childIds: [],
492
+ });
493
+ vi.mocked(mockReactorClient.getDocumentModels).mockResolvedValue({
494
+ results: [mockModule],
495
+ options: { cursor: "", limit: 10 },
496
+ });
497
+ const result = await adapters.validateActions(mockReactorClient, "doc-1", actions);
498
+ expect(result).toHaveLength(2);
499
+ expect(result[0].type).toBe("SET_NAME");
500
+ expect(result[1].type).toBe("SET_NAME");
501
+ });
502
+ it("should reject when action structure is invalid", async () => {
503
+ const invalidActions = [{ invalidAction: true }];
504
+ await expect(adapters.validateActions(mockReactorClient, "doc-1", invalidActions)).rejects.toThrow("Action at index 0");
505
+ });
506
+ it("should reject when document is not found", async () => {
507
+ const actions = [
508
+ {
509
+ type: "SET_NAME",
510
+ scope: "global",
511
+ input: { name: "Test" },
512
+ id: "action-1",
513
+ timestampUtcMs: "2024-01-01T00:00:00Z",
514
+ },
515
+ ];
516
+ vi.mocked(mockReactorClient.get).mockRejectedValue(new Error("Document not found"));
517
+ await expect(adapters.validateActions(mockReactorClient, "doc-1", actions)).rejects.toThrow("Failed to fetch document for validation");
518
+ });
519
+ it("should reject when document model is not found", async () => {
520
+ const mockDocument = {
521
+ header: {
522
+ id: "doc-1",
523
+ name: "Test Document",
524
+ documentType: "unknown/model",
525
+ slug: "test-doc",
526
+ createdAtUtcIso: "2024-01-01T00:00:00Z",
527
+ lastModifiedAtUtcIso: "2024-01-02T00:00:00Z",
528
+ branch: "main",
529
+ sig: {
530
+ publicKey: {},
531
+ nonce: "test-nonce",
532
+ },
533
+ revision: { global: 1 },
534
+ },
535
+ state: {},
536
+ history: {},
537
+ initialState: {},
538
+ operations: {},
539
+ clipboard: [],
540
+ };
541
+ const actions = [
542
+ {
543
+ type: "SET_NAME",
544
+ scope: "global",
545
+ input: { name: "Test" },
546
+ id: "action-1",
547
+ timestampUtcMs: "2024-01-01T00:00:00Z",
548
+ },
549
+ ];
550
+ vi.mocked(mockReactorClient.get).mockResolvedValue({
551
+ document: mockDocument,
552
+ childIds: [],
553
+ });
554
+ vi.mocked(mockReactorClient.getDocumentModels).mockResolvedValue({
555
+ results: [],
556
+ options: { cursor: "", limit: 10 },
557
+ });
558
+ await expect(adapters.validateActions(mockReactorClient, "doc-1", actions)).rejects.toThrow("Document model not found for type: unknown/model");
559
+ });
560
+ it("should reject when action validation fails", async () => {
561
+ const mockDocument = {
562
+ header: {
563
+ id: "doc-1",
564
+ name: "Test Document",
565
+ documentType: "test/model",
566
+ slug: "test-doc",
567
+ createdAtUtcIso: "2024-01-01T00:00:00Z",
568
+ lastModifiedAtUtcIso: "2024-01-02T00:00:00Z",
569
+ branch: "main",
570
+ sig: {
571
+ publicKey: {},
572
+ nonce: "test-nonce",
573
+ },
574
+ revision: { global: 1 },
575
+ },
576
+ state: {},
577
+ history: {},
578
+ initialState: {},
579
+ operations: {},
580
+ clipboard: [],
581
+ };
582
+ const mockModule = {
583
+ documentModel: {
584
+ global: {
585
+ id: "test-model",
586
+ name: "test/model",
587
+ author: { name: "Test", website: null },
588
+ description: "Test",
589
+ extension: "test",
590
+ specifications: [
591
+ {
592
+ version: "1.0.0",
593
+ changeLog: [],
594
+ modules: [
595
+ {
596
+ name: "test",
597
+ operations: [
598
+ {
599
+ name: "SET_NAME",
600
+ scope: "global",
601
+ },
602
+ ],
603
+ },
604
+ ],
605
+ },
606
+ ],
607
+ },
608
+ local: {},
609
+ },
610
+ actions: {
611
+ setName: vi.fn(() => {
612
+ throw new Error("Name is required");
613
+ }),
614
+ },
615
+ reducer: vi.fn(),
616
+ utils: {},
617
+ };
618
+ const actions = [
619
+ {
620
+ type: "SET_NAME",
621
+ scope: "global",
622
+ input: {},
623
+ id: "action-1",
624
+ timestampUtcMs: "2024-01-01T00:00:00Z",
625
+ },
626
+ ];
627
+ vi.mocked(mockReactorClient.get).mockResolvedValue({
628
+ document: mockDocument,
629
+ childIds: [],
630
+ });
631
+ vi.mocked(mockReactorClient.getDocumentModels).mockResolvedValue({
632
+ results: [mockModule],
633
+ options: { cursor: "", limit: 10 },
634
+ });
635
+ await expect(adapters.validateActions(mockReactorClient, "doc-1", actions)).rejects.toThrow("Action validation failed");
636
+ });
637
+ });
638
+ });
639
+ //# sourceMappingURL=reactor-adapters.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactor-adapters.test.js","sourceRoot":"","sources":["../../test/reactor-adapters.test.ts"],"names":[],"mappings":"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"}