@devisfuture/electron-modular 1.1.10 → 1.1.11

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 (46) hide show
  1. package/dist/index.js +0 -8
  2. package/package.json +1 -1
  3. package/dist/@core/__tests__/container.test.d.ts +0 -1
  4. package/dist/@core/__tests__/container.test.js +0 -409
  5. package/dist/@core/bootstrap/__tests__/bootstrap.test.d.ts +0 -1
  6. package/dist/@core/bootstrap/__tests__/bootstrap.test.js +0 -131
  7. package/dist/@core/bootstrap/__tests__/initialize-module.test.d.ts +0 -1
  8. package/dist/@core/bootstrap/__tests__/initialize-module.test.js +0 -140
  9. package/dist/@core/bootstrap/__tests__/instantiate-module.test.d.ts +0 -1
  10. package/dist/@core/bootstrap/__tests__/instantiate-module.test.js +0 -174
  11. package/dist/@core/bootstrap/__tests__/register-imports.test.d.ts +0 -1
  12. package/dist/@core/bootstrap/__tests__/register-imports.test.js +0 -112
  13. package/dist/@core/bootstrap/__tests__/register-ipc-handlers.test.d.ts +0 -1
  14. package/dist/@core/bootstrap/__tests__/register-ipc-handlers.test.js +0 -68
  15. package/dist/@core/bootstrap/__tests__/register-providers.test.d.ts +0 -1
  16. package/dist/@core/bootstrap/__tests__/register-providers.test.js +0 -132
  17. package/dist/@core/bootstrap/__tests__/register-windows.test.d.ts +0 -1
  18. package/dist/@core/bootstrap/__tests__/register-windows.test.js +0 -109
  19. package/dist/@core/bootstrap/__tests__/settings.test.d.ts +0 -1
  20. package/dist/@core/bootstrap/__tests__/settings.test.js +0 -141
  21. package/dist/@core/control-window/__tests__/cache.test.d.ts +0 -1
  22. package/dist/@core/control-window/__tests__/cache.test.js +0 -50
  23. package/dist/@core/control-window/__tests__/destroy.test.d.ts +0 -1
  24. package/dist/@core/control-window/__tests__/destroy.test.js +0 -69
  25. package/dist/@core/control-window/__tests__/receive.test.d.ts +0 -1
  26. package/dist/@core/control-window/__tests__/receive.test.js +0 -68
  27. package/dist/@core/decorators/__tests__/inject.test.d.ts +0 -1
  28. package/dist/@core/decorators/__tests__/inject.test.js +0 -174
  29. package/dist/@core/decorators/__tests__/injectable.test.d.ts +0 -1
  30. package/dist/@core/decorators/__tests__/injectable.test.js +0 -73
  31. package/dist/@core/decorators/__tests__/ipc-handler.test.d.ts +0 -1
  32. package/dist/@core/decorators/__tests__/ipc-handler.test.js +0 -72
  33. package/dist/@core/decorators/__tests__/rg-module.test.d.ts +0 -1
  34. package/dist/@core/decorators/__tests__/rg-module.test.js +0 -135
  35. package/dist/@core/decorators/__tests__/window-manager.test.d.ts +0 -1
  36. package/dist/@core/decorators/__tests__/window-manager.test.js +0 -110
  37. package/dist/@core/errors/__tests__/index.test.d.ts +0 -1
  38. package/dist/@core/errors/__tests__/index.test.js +0 -82
  39. package/dist/@core/utils/__tests__/dependency-tokens.test.d.ts +0 -1
  40. package/dist/@core/utils/__tests__/dependency-tokens.test.js +0 -186
  41. package/dist/__mocks__/electron.d.ts +0 -88
  42. package/dist/__mocks__/electron.js +0 -76
  43. package/dist/__tests__/config.test.d.ts +0 -1
  44. package/dist/__tests__/config.test.js +0 -24
  45. package/dist/__tests__/setup.d.ts +0 -1
  46. package/dist/__tests__/setup.js +0 -9
package/dist/index.js CHANGED
@@ -1,6 +1,4 @@
1
- // Container
2
1
  export * from "./@core/container.js";
3
- // Bootstrap
4
2
  export * from "./@core/bootstrap/bootstrap.js";
5
3
  export * from "./@core/bootstrap/initialize-module.js";
6
4
  export * from "./@core/bootstrap/instantiate-module.js";
@@ -9,26 +7,20 @@ export * from "./@core/bootstrap/register-ipc-handlers.js";
9
7
  export * from "./@core/bootstrap/register-providers.js";
10
8
  export * from "./@core/bootstrap/register-windows.js";
11
9
  export * from "./@core/bootstrap/settings.js";
12
- // Initialize IPC
13
10
  export * from "./@core/bootstrap/initialize-ipc/handlers.js";
14
11
  export * from "./@core/bootstrap/initialize-ipc/window-creator.js";
15
12
  export * from "./@core/bootstrap/initialize-ipc/window-event-listeners.js";
16
13
  export * from "./@core/bootstrap/initialize-ipc/window-instance-creator.js";
17
- // Control Window
18
14
  export * from "./@core/control-window/cache.js";
19
15
  export * from "./@core/control-window/create.js";
20
16
  export * from "./@core/control-window/destroy.js";
21
17
  export * from "./@core/control-window/receive.js";
22
18
  export * from "./@core/control-window/types.js";
23
- // Decorators
24
19
  export * from "./@core/decorators/inject.js";
25
20
  export * from "./@core/decorators/injectable.js";
26
21
  export * from "./@core/decorators/ipc-handler.js";
27
22
  export * from "./@core/decorators/rg-module.js";
28
23
  export * from "./@core/decorators/window-manager.js";
29
- // Types
30
24
  export * from "./@core/types/index.js";
31
- // Utils
32
25
  export * from "./@core/utils/dependency-tokens.js";
33
- // Errors
34
26
  export * from "./@core/errors/index.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devisfuture/electron-modular",
3
- "version": "1.1.10",
3
+ "version": "1.1.11",
4
4
  "description": "Core module system, DI container, IPC handlers, and window utilities for Electron main process.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1 +0,0 @@
1
- import "reflect-metadata/lite";
@@ -1,409 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- var __param = (this && this.__param) || function (paramIndex, decorator) {
11
- return function (target, key) { decorator(target, key, paramIndex); }
12
- };
13
- import { describe, it, expect, beforeEach } from "vitest";
14
- import { Container } from "../container.js";
15
- import { Injectable } from "../decorators/injectable.js";
16
- import { Inject } from "../decorators/inject.js";
17
- import { ModuleNotRegisteredError, ProviderNotFoundError, } from "../errors/index.js";
18
- import "reflect-metadata/lite";
19
- describe("Container", () => {
20
- let container;
21
- beforeEach(() => {
22
- container = new Container();
23
- });
24
- describe("addModule", () => {
25
- it("should add a new module", () => {
26
- class TestModule {
27
- }
28
- const result = container.addModule(TestModule, {
29
- providers: [],
30
- exports: [],
31
- });
32
- expect(result).toBe(true);
33
- expect(container.hasModule(TestModule)).toBe(true);
34
- });
35
- it("should not add duplicate module", () => {
36
- class TestModule {
37
- }
38
- container.addModule(TestModule, { providers: [], exports: [] });
39
- const result = container.addModule(TestModule, {
40
- providers: [],
41
- exports: [],
42
- });
43
- expect(result).toBe(false);
44
- });
45
- it("should store module exports", () => {
46
- class TestModule {
47
- }
48
- const EXPORT_TOKEN = Symbol("export");
49
- container.addModule(TestModule, {
50
- providers: [],
51
- exports: [EXPORT_TOKEN],
52
- });
53
- const exports = container.getModuleExports(TestModule);
54
- expect(exports.has(EXPORT_TOKEN)).toBe(true);
55
- });
56
- });
57
- describe("setModuleMetadata", () => {
58
- it("should store module metadata", () => {
59
- class TestModule {
60
- }
61
- class ImportedModule {
62
- }
63
- const metadata = {
64
- imports: [ImportedModule],
65
- providers: [],
66
- };
67
- container.setModuleMetadata(TestModule, metadata);
68
- const retrieved = container.getModuleMetadata(TestModule);
69
- expect(retrieved).toEqual(metadata);
70
- });
71
- });
72
- describe("hasModule", () => {
73
- it("should return true for registered module", () => {
74
- class TestModule {
75
- }
76
- container.addModule(TestModule, { providers: [] });
77
- expect(container.hasModule(TestModule)).toBe(true);
78
- });
79
- it("should return false for unregistered module", () => {
80
- class TestModule {
81
- }
82
- expect(container.hasModule(TestModule)).toBe(false);
83
- });
84
- });
85
- describe("addProvider", () => {
86
- it("should add provider to module", () => {
87
- class TestModule {
88
- }
89
- class TestService {
90
- }
91
- container.addModule(TestModule, { providers: [] });
92
- container.addProvider(TestModule, TestService);
93
- const provider = container.getProvider(TestModule, TestService);
94
- expect(provider).toBe(TestService);
95
- });
96
- it("should throw error if module not registered", () => {
97
- class TestModule {
98
- }
99
- class TestService {
100
- }
101
- expect(() => {
102
- container.addProvider(TestModule, TestService);
103
- }).toThrow(ModuleNotRegisteredError);
104
- });
105
- it("should add provider with instance", () => {
106
- class TestModule {
107
- }
108
- const TOKEN = Symbol("token");
109
- const instance = { value: "test" };
110
- container.addModule(TestModule, { providers: [] });
111
- container.addProvider(TestModule, TOKEN, instance);
112
- const provider = container.getProvider(TestModule, TOKEN);
113
- expect(provider).toBe(instance);
114
- });
115
- });
116
- describe("getProvider", () => {
117
- it("should return undefined for unregistered module", () => {
118
- class TestModule {
119
- }
120
- const TOKEN = Symbol("token");
121
- const provider = container.getProvider(TestModule, TOKEN);
122
- expect(provider).toBeUndefined();
123
- });
124
- it("should return undefined for non-existent provider", () => {
125
- class TestModule {
126
- }
127
- const TOKEN = Symbol("token");
128
- container.addModule(TestModule, { providers: [] });
129
- const provider = container.getProvider(TestModule, TOKEN);
130
- expect(provider).toBeUndefined();
131
- });
132
- it("should return provider", () => {
133
- class TestModule {
134
- }
135
- class TestService {
136
- }
137
- container.addModule(TestModule, { providers: [] });
138
- container.addProvider(TestModule, TestService);
139
- const provider = container.getProvider(TestModule, TestService);
140
- expect(provider).toBe(TestService);
141
- });
142
- });
143
- describe("getModuleExports", () => {
144
- it("should return empty set for unregistered module", () => {
145
- class TestModule {
146
- }
147
- const exports = container.getModuleExports(TestModule);
148
- expect(exports).toBeInstanceOf(Set);
149
- expect(exports.size).toBe(0);
150
- });
151
- it("should return module exports", () => {
152
- class TestModule {
153
- }
154
- const TOKEN1 = Symbol("token1");
155
- const TOKEN2 = Symbol("token2");
156
- container.addModule(TestModule, {
157
- providers: [],
158
- exports: [TOKEN1, TOKEN2],
159
- });
160
- const exports = container.getModuleExports(TestModule);
161
- expect(exports.has(TOKEN1)).toBe(true);
162
- expect(exports.has(TOKEN2)).toBe(true);
163
- });
164
- });
165
- describe("registerInstance", () => {
166
- it("should register singleton instance", () => {
167
- const TOKEN = Symbol("token");
168
- const instance = { value: "singleton" };
169
- container.registerInstance(TOKEN, instance);
170
- expect(true).toBe(true); // Instance registered
171
- });
172
- });
173
- describe("resolve", () => {
174
- it("should resolve class constructor provider", async () => {
175
- let TestService = class TestService {
176
- value = "test";
177
- };
178
- TestService = __decorate([
179
- Injectable()
180
- ], TestService);
181
- class TestModule {
182
- }
183
- container.addModule(TestModule, { providers: [] });
184
- container.addProvider(TestModule, TestService);
185
- const instance = await container.resolve(TestModule, TestService);
186
- expect(instance).toBeInstanceOf(TestService);
187
- expect(instance?.value).toBe("test");
188
- });
189
- it("should resolve with dependencies", async () => {
190
- let Dependency = class Dependency {
191
- value = "dep";
192
- };
193
- Dependency = __decorate([
194
- Injectable()
195
- ], Dependency);
196
- let TestService = class TestService {
197
- dep;
198
- constructor(dep) {
199
- this.dep = dep;
200
- }
201
- };
202
- TestService = __decorate([
203
- Injectable(),
204
- __metadata("design:paramtypes", [Dependency])
205
- ], TestService);
206
- // Manually set metadata for testing
207
- Reflect.defineMetadata("design:paramtypes", [Dependency], TestService);
208
- class TestModule {
209
- }
210
- container.addModule(TestModule, { providers: [] });
211
- container.addProvider(TestModule, Dependency);
212
- container.addProvider(TestModule, TestService);
213
- const instance = await container.resolve(TestModule, TestService);
214
- expect(instance).toBeInstanceOf(TestService);
215
- expect(instance?.dep).toBeInstanceOf(Dependency);
216
- });
217
- it("should resolve factory provider", async () => {
218
- const factoryProvider = {
219
- provide: "TEST_TOKEN",
220
- useFactory: () => ({ value: "factory" }),
221
- };
222
- class TestModule {
223
- }
224
- container.addModule(TestModule, { providers: [] });
225
- container.addProvider(TestModule, "TEST_TOKEN", factoryProvider);
226
- const instance = await container.resolve(TestModule, "TEST_TOKEN");
227
- expect(instance?.value).toBe("factory");
228
- });
229
- it("should resolve factory provider with dependencies", async () => {
230
- let Dependency = class Dependency {
231
- value = "dep";
232
- };
233
- Dependency = __decorate([
234
- Injectable()
235
- ], Dependency);
236
- const factoryProvider = {
237
- provide: "TEST_TOKEN",
238
- useFactory: (dep) => ({ dep }),
239
- inject: [Dependency],
240
- };
241
- class TestModule {
242
- }
243
- container.addModule(TestModule, { providers: [] });
244
- container.addProvider(TestModule, Dependency);
245
- container.addProvider(TestModule, "TEST_TOKEN", factoryProvider);
246
- const instance = await container.resolve(TestModule, "TEST_TOKEN");
247
- expect(instance?.dep).toBeInstanceOf(Dependency);
248
- });
249
- it("should resolve class provider", async () => {
250
- let Implementation = class Implementation {
251
- value = "impl";
252
- };
253
- Implementation = __decorate([
254
- Injectable()
255
- ], Implementation);
256
- const classProvider = {
257
- provide: "INTERFACE",
258
- useClass: Implementation,
259
- };
260
- class TestModule {
261
- }
262
- container.addModule(TestModule, { providers: [] });
263
- container.addProvider(TestModule, "INTERFACE", classProvider);
264
- const instance = await container.resolve(TestModule, "INTERFACE");
265
- expect(instance).toBeInstanceOf(Implementation);
266
- expect(instance?.value).toBe("impl");
267
- });
268
- it("should resolve value provider", async () => {
269
- const valueProvider = {
270
- provide: "CONFIG",
271
- useValue: { setting: "value" },
272
- };
273
- class TestModule {
274
- }
275
- container.addModule(TestModule, { providers: [] });
276
- container.addProvider(TestModule, "CONFIG", valueProvider);
277
- const instance = await container.resolve(TestModule, "CONFIG");
278
- expect(instance?.setting).toBe("value");
279
- });
280
- it("should resolve existing provider", async () => {
281
- let Service = class Service {
282
- value = "service";
283
- };
284
- Service = __decorate([
285
- Injectable()
286
- ], Service);
287
- const existingProvider = {
288
- provide: "ALIAS",
289
- useExisting: Service,
290
- };
291
- class TestModule {
292
- }
293
- container.addModule(TestModule, { providers: [] });
294
- container.addProvider(TestModule, Service);
295
- container.addProvider(TestModule, "ALIAS", existingProvider);
296
- const instance = await container.resolve(TestModule, "ALIAS");
297
- expect(instance).toBeInstanceOf(Service);
298
- });
299
- it("should cache resolved instances", async () => {
300
- let TestService = class TestService {
301
- value = Math.random();
302
- };
303
- TestService = __decorate([
304
- Injectable()
305
- ], TestService);
306
- class TestModule {
307
- }
308
- container.addModule(TestModule, { providers: [] });
309
- container.addProvider(TestModule, TestService);
310
- const instance1 = await container.resolve(TestModule, TestService);
311
- const instance2 = await container.resolve(TestModule, TestService);
312
- expect(instance1).toBe(instance2);
313
- });
314
- it("should resolve from registered instances", async () => {
315
- const TOKEN = Symbol("singleton");
316
- const instance = { value: "singleton" };
317
- class TestModule {
318
- }
319
- container.addModule(TestModule, { providers: [] });
320
- container.registerInstance(TOKEN, instance);
321
- const resolved = await container.resolve(TestModule, TOKEN);
322
- expect(resolved).toBe(instance);
323
- });
324
- it("should throw error if provider not found", async () => {
325
- class TestModule {
326
- }
327
- const TOKEN = Symbol("nonexistent");
328
- container.addModule(TestModule, { providers: [] });
329
- await expect(container.resolve(TestModule, TOKEN)).rejects.toThrow(ProviderNotFoundError);
330
- });
331
- it("should return undefined for module class token not found", async () => {
332
- class TestModule {
333
- }
334
- container.addModule(TestModule, { providers: [] });
335
- const result = await container.resolve(TestModule, TestModule);
336
- expect(result).toBeUndefined();
337
- });
338
- it("should resolve from imports", async () => {
339
- let SharedService = class SharedService {
340
- value = "shared";
341
- };
342
- SharedService = __decorate([
343
- Injectable()
344
- ], SharedService);
345
- class SharedModule {
346
- }
347
- class TestModule {
348
- }
349
- container.addModule(SharedModule, {
350
- providers: [],
351
- exports: [SharedService],
352
- });
353
- container.addProvider(SharedModule, SharedService);
354
- container.addModule(TestModule, { providers: [] });
355
- container.setModuleMetadata(TestModule, {
356
- imports: [SharedModule],
357
- });
358
- const instance = await container.resolve(TestModule, SharedService);
359
- expect(instance).toBeInstanceOf(SharedService);
360
- });
361
- });
362
- describe("dependency injection with @Inject", () => {
363
- it("should inject custom tokens", async () => {
364
- const CONFIG_TOKEN = Symbol("config");
365
- let TestService = class TestService {
366
- config;
367
- constructor(config) {
368
- this.config = config;
369
- }
370
- };
371
- TestService = __decorate([
372
- Injectable(),
373
- __param(0, Inject(CONFIG_TOKEN)),
374
- __metadata("design:paramtypes", [Object])
375
- ], TestService);
376
- class TestModule {
377
- }
378
- container.addModule(TestModule, { providers: [] });
379
- container.addProvider(TestModule, CONFIG_TOKEN, { value: "config" });
380
- container.addProvider(TestModule, TestService);
381
- const instance = await container.resolve(TestModule, TestService);
382
- expect(instance?.config).toEqual({ value: "config" });
383
- });
384
- });
385
- describe("edge cases", () => {
386
- it("should handle circular dependencies gracefully", async () => {
387
- // Note: Actual circular dependency handling would need more complex implementation
388
- // This test verifies basic behavior
389
- let ServiceA = class ServiceA {
390
- value = "a";
391
- };
392
- ServiceA = __decorate([
393
- Injectable()
394
- ], ServiceA);
395
- class TestModule {
396
- }
397
- container.addModule(TestModule, { providers: [] });
398
- container.addProvider(TestModule, ServiceA);
399
- const instance = await container.resolve(TestModule, ServiceA);
400
- expect(instance).toBeInstanceOf(ServiceA);
401
- });
402
- it("should handle empty providers array", async () => {
403
- class TestModule {
404
- }
405
- container.addModule(TestModule, { providers: [] });
406
- expect(container.hasModule(TestModule)).toBe(true);
407
- });
408
- });
409
- });
@@ -1 +0,0 @@
1
- import "reflect-metadata/lite";
@@ -1,131 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- import { describe, it, expect, vi, beforeEach } from "vitest";
11
- import { bootstrapModules } from "../bootstrap.js";
12
- import { RgModule } from "../../decorators/rg-module.js";
13
- import { ModuleDecoratorMissingError } from "../../errors/index.js";
14
- import { container } from "../../container.js";
15
- import "reflect-metadata/lite";
16
- describe("bootstrapModules", () => {
17
- beforeEach(() => {
18
- vi.clearAllMocks();
19
- });
20
- it("should throw error for module without @RgModule decorator", async () => {
21
- class UnDecoratedModule {
22
- }
23
- await expect(bootstrapModules([UnDecoratedModule])).rejects.toThrow(ModuleDecoratorMissingError);
24
- });
25
- it("should bootstrap single module", async () => {
26
- let TestModule = class TestModule {
27
- };
28
- TestModule = __decorate([
29
- RgModule({
30
- providers: [],
31
- })
32
- ], TestModule);
33
- await bootstrapModules([TestModule]);
34
- expect(container.hasModule(TestModule)).toBe(true);
35
- });
36
- it("should bootstrap multiple modules", async () => {
37
- let Module1 = class Module1 {
38
- };
39
- Module1 = __decorate([
40
- RgModule({
41
- providers: [],
42
- })
43
- ], Module1);
44
- let Module2 = class Module2 {
45
- };
46
- Module2 = __decorate([
47
- RgModule({
48
- providers: [],
49
- })
50
- ], Module2);
51
- await bootstrapModules([Module1, Module2]);
52
- expect(container.hasModule(Module1)).toBe(true);
53
- expect(container.hasModule(Module2)).toBe(true);
54
- });
55
- it("should handle module with providers", async () => {
56
- class Service {
57
- value = "test";
58
- }
59
- let TestModule = class TestModule {
60
- };
61
- TestModule = __decorate([
62
- RgModule({
63
- providers: [Service],
64
- })
65
- ], TestModule);
66
- await bootstrapModules([TestModule]);
67
- const service = await container.resolve(TestModule, Service);
68
- expect(service).toBeInstanceOf(Service);
69
- });
70
- it("should handle module with imports", async () => {
71
- let ImportedModule = class ImportedModule {
72
- };
73
- ImportedModule = __decorate([
74
- RgModule({
75
- providers: [],
76
- })
77
- ], ImportedModule);
78
- let MainModule = class MainModule {
79
- };
80
- MainModule = __decorate([
81
- RgModule({
82
- imports: [ImportedModule],
83
- providers: [],
84
- })
85
- ], MainModule);
86
- await bootstrapModules([MainModule]);
87
- expect(container.hasModule(MainModule)).toBe(true);
88
- expect(container.hasModule(ImportedModule)).toBe(true);
89
- });
90
- it("should handle empty modules array", async () => {
91
- await expect(bootstrapModules([])).resolves.toBeUndefined();
92
- });
93
- it("should process modules in order", async () => {
94
- const initOrder = [];
95
- let Module1 = class Module1 {
96
- constructor() {
97
- initOrder.push("Module1");
98
- }
99
- };
100
- Module1 = __decorate([
101
- RgModule({
102
- providers: [],
103
- }),
104
- __metadata("design:paramtypes", [])
105
- ], Module1);
106
- let Module2 = class Module2 {
107
- constructor() {
108
- initOrder.push("Module2");
109
- }
110
- };
111
- Module2 = __decorate([
112
- RgModule({
113
- providers: [],
114
- }),
115
- __metadata("design:paramtypes", [])
116
- ], Module2);
117
- let Module3 = class Module3 {
118
- constructor() {
119
- initOrder.push("Module3");
120
- }
121
- };
122
- Module3 = __decorate([
123
- RgModule({
124
- providers: [],
125
- }),
126
- __metadata("design:paramtypes", [])
127
- ], Module3);
128
- await bootstrapModules([Module1, Module2, Module3]);
129
- expect(initOrder).toEqual(["Module1", "Module2", "Module3"]);
130
- });
131
- });
@@ -1 +0,0 @@
1
- import "reflect-metadata/lite";