@joist/di 4.0.0-next.1 → 4.0.0-next.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.
- package/README.md +52 -34
- package/package.json +4 -14
- package/src/lib/dom-injector.test.ts +16 -18
- package/src/lib/dom-injector.ts +3 -4
- package/src/lib/inject.test.ts +33 -56
- package/src/lib/inject.ts +4 -6
- package/src/lib/injectable-el.test.ts +130 -0
- package/src/lib/injectable-el.ts +63 -0
- package/src/lib/injectable.test.ts +19 -116
- package/src/lib/injectable.ts +21 -57
- package/src/lib/injector.test.ts +132 -130
- package/src/lib/injector.ts +33 -19
- package/src/lib/lifecycle.test.ts +68 -64
- package/src/lib/lifecycle.ts +19 -4
- package/src/lib/metadata.ts +12 -0
- package/src/lib/provider.ts +16 -8
- package/src/lib.ts +1 -1
- package/target/lib/dom-injector.js +3 -4
- package/target/lib/dom-injector.js.map +1 -1
- package/target/lib/dom-injector.test.js +16 -18
- package/target/lib/dom-injector.test.js.map +1 -1
- package/target/lib/inject.js +3 -3
- package/target/lib/inject.js.map +1 -1
- package/target/lib/inject.test.js +58 -90
- package/target/lib/inject.test.js.map +1 -1
- package/target/lib/injectable-el.d.ts +334 -0
- package/target/lib/injectable-el.js +40 -0
- package/target/lib/injectable-el.js.map +1 -0
- package/target/lib/injectable-el.test.js +238 -0
- package/target/lib/injectable-el.test.js.map +1 -0
- package/target/lib/injectable.d.ts +5 -7
- package/target/lib/injectable.js +13 -42
- package/target/lib/injectable.js.map +1 -1
- package/target/lib/injectable.test.js +49 -204
- package/target/lib/injectable.test.js.map +1 -1
- package/target/lib/injector.d.ts +1 -1
- package/target/lib/injector.js +18 -14
- package/target/lib/injector.js.map +1 -1
- package/target/lib/injector.test.js +215 -216
- package/target/lib/injector.test.js.map +1 -1
- package/target/lib/lifecycle.d.ts +2 -4
- package/target/lib/lifecycle.js +15 -4
- package/target/lib/lifecycle.js.map +1 -1
- package/target/lib/lifecycle.test.js +142 -123
- package/target/lib/lifecycle.test.js.map +1 -1
- package/target/lib/metadata.d.ts +6 -0
- package/target/lib/metadata.js +5 -0
- package/target/lib/metadata.js.map +1 -0
- package/target/lib/provider.d.ts +6 -5
- package/target/lib/provider.js +10 -4
- package/target/lib/provider.js.map +1 -1
- package/target/lib.d.ts +1 -1
- package/target/lib.js +1 -1
- package/target/lib.js.map +1 -1
- package/src/lib/injectable-map.test.ts +0 -18
- package/src/lib/injectable-map.ts +0 -3
- package/src/lib/injector.test-node.ts +0 -187
- package/target/lib/injectable-map.d.ts +0 -3
- package/target/lib/injectable-map.js +0 -3
- package/target/lib/injectable-map.js.map +0 -1
- package/target/lib/injectable-map.test.js +0 -15
- package/target/lib/injectable-map.test.js.map +0 -1
- package/target/lib/injector.test-node.d.ts +0 -1
- package/target/lib/injector.test-node.js +0 -231
- package/target/lib/injector.test-node.js.map +0 -1
- /package/target/lib/{injectable-map.test.d.ts → injectable-el.test.d.ts} +0 -0
|
@@ -1,231 +0,0 @@
|
|
|
1
|
-
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
|
-
import test from 'node:test';
|
|
3
|
-
import assert from 'node:assert';
|
|
4
|
-
import { Injector } from './injector.js';
|
|
5
|
-
import { inject } from './inject.js';
|
|
6
|
-
import { injectable } from './injectable.js';
|
|
7
|
-
import { StaticToken } from './provider.js';
|
|
8
|
-
test('should create a new instance of a single provider', () => {
|
|
9
|
-
class A {
|
|
10
|
-
}
|
|
11
|
-
const app = new Injector();
|
|
12
|
-
assert(app.inject(A) instanceof A);
|
|
13
|
-
assert.equal(app.inject(A), app.inject(A));
|
|
14
|
-
});
|
|
15
|
-
test('should inject providers in the correct order', () => {
|
|
16
|
-
class A {
|
|
17
|
-
}
|
|
18
|
-
class B {
|
|
19
|
-
}
|
|
20
|
-
let MyService = (() => {
|
|
21
|
-
let _classDecorators = [injectable];
|
|
22
|
-
let _classDescriptor;
|
|
23
|
-
let _classExtraInitializers = [];
|
|
24
|
-
let _classThis;
|
|
25
|
-
var MyService = class {
|
|
26
|
-
static { _classThis = this; }
|
|
27
|
-
static {
|
|
28
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
29
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
30
|
-
MyService = _classThis = _classDescriptor.value;
|
|
31
|
-
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
32
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
33
|
-
}
|
|
34
|
-
a = inject(A);
|
|
35
|
-
b = inject(B);
|
|
36
|
-
};
|
|
37
|
-
return MyService = _classThis;
|
|
38
|
-
})();
|
|
39
|
-
const app = new Injector();
|
|
40
|
-
const instance = app.inject(MyService);
|
|
41
|
-
assert(instance.a() instanceof A);
|
|
42
|
-
assert(instance.b() instanceof B);
|
|
43
|
-
});
|
|
44
|
-
test('should create a new instance of a provider that has a full dep tree', () => {
|
|
45
|
-
class A {
|
|
46
|
-
}
|
|
47
|
-
let B = (() => {
|
|
48
|
-
let _classDecorators = [injectable];
|
|
49
|
-
let _classDescriptor;
|
|
50
|
-
let _classExtraInitializers = [];
|
|
51
|
-
let _classThis;
|
|
52
|
-
var B = class {
|
|
53
|
-
static { _classThis = this; }
|
|
54
|
-
static {
|
|
55
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
56
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
57
|
-
B = _classThis = _classDescriptor.value;
|
|
58
|
-
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
59
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
60
|
-
}
|
|
61
|
-
a = inject(A);
|
|
62
|
-
};
|
|
63
|
-
return B = _classThis;
|
|
64
|
-
})();
|
|
65
|
-
let C = (() => {
|
|
66
|
-
let _classDecorators = [injectable];
|
|
67
|
-
let _classDescriptor;
|
|
68
|
-
let _classExtraInitializers = [];
|
|
69
|
-
let _classThis;
|
|
70
|
-
var C = class {
|
|
71
|
-
static { _classThis = this; }
|
|
72
|
-
static {
|
|
73
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
74
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
75
|
-
C = _classThis = _classDescriptor.value;
|
|
76
|
-
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
77
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
78
|
-
}
|
|
79
|
-
b = inject(B);
|
|
80
|
-
};
|
|
81
|
-
return C = _classThis;
|
|
82
|
-
})();
|
|
83
|
-
let D = (() => {
|
|
84
|
-
let _classDecorators = [injectable];
|
|
85
|
-
let _classDescriptor;
|
|
86
|
-
let _classExtraInitializers = [];
|
|
87
|
-
let _classThis;
|
|
88
|
-
var D = class {
|
|
89
|
-
static { _classThis = this; }
|
|
90
|
-
static {
|
|
91
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
92
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
93
|
-
D = _classThis = _classDescriptor.value;
|
|
94
|
-
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
95
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
96
|
-
}
|
|
97
|
-
c = inject(C);
|
|
98
|
-
};
|
|
99
|
-
return D = _classThis;
|
|
100
|
-
})();
|
|
101
|
-
let E = (() => {
|
|
102
|
-
let _classDecorators = [injectable];
|
|
103
|
-
let _classDescriptor;
|
|
104
|
-
let _classExtraInitializers = [];
|
|
105
|
-
let _classThis;
|
|
106
|
-
var E = class {
|
|
107
|
-
static { _classThis = this; }
|
|
108
|
-
static {
|
|
109
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
110
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
111
|
-
E = _classThis = _classDescriptor.value;
|
|
112
|
-
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
113
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
114
|
-
}
|
|
115
|
-
d = inject(D);
|
|
116
|
-
};
|
|
117
|
-
return E = _classThis;
|
|
118
|
-
})();
|
|
119
|
-
const app = new Injector();
|
|
120
|
-
const instance = app.inject(E);
|
|
121
|
-
assert(instance.d().c().b().a() instanceof A);
|
|
122
|
-
});
|
|
123
|
-
test('should override a provider if explicitly instructed', () => {
|
|
124
|
-
class A {
|
|
125
|
-
}
|
|
126
|
-
let B = (() => {
|
|
127
|
-
let _classDecorators = [injectable];
|
|
128
|
-
let _classDescriptor;
|
|
129
|
-
let _classExtraInitializers = [];
|
|
130
|
-
let _classThis;
|
|
131
|
-
var B = class {
|
|
132
|
-
static { _classThis = this; }
|
|
133
|
-
static {
|
|
134
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
135
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
136
|
-
B = _classThis = _classDescriptor.value;
|
|
137
|
-
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
138
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
139
|
-
}
|
|
140
|
-
a = inject(A);
|
|
141
|
-
};
|
|
142
|
-
return B = _classThis;
|
|
143
|
-
})();
|
|
144
|
-
class AltA extends A {
|
|
145
|
-
}
|
|
146
|
-
const app = new Injector([{ provide: A, use: AltA }]);
|
|
147
|
-
assert(app.inject(B).a() instanceof AltA);
|
|
148
|
-
});
|
|
149
|
-
test('should return an existing instance from a parent injector', () => {
|
|
150
|
-
class A {
|
|
151
|
-
}
|
|
152
|
-
const parent = new Injector();
|
|
153
|
-
const app = new Injector([], parent);
|
|
154
|
-
assert.equal(parent.inject(A), app.inject(A));
|
|
155
|
-
});
|
|
156
|
-
test('should use a factory if provided', () => {
|
|
157
|
-
class Service {
|
|
158
|
-
hello() {
|
|
159
|
-
return 'world';
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
const injector = new Injector([
|
|
163
|
-
{
|
|
164
|
-
provide: Service,
|
|
165
|
-
factory() {
|
|
166
|
-
return {
|
|
167
|
-
hello() {
|
|
168
|
-
return 'world';
|
|
169
|
-
}
|
|
170
|
-
};
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
]);
|
|
174
|
-
assert.equal(injector.inject(Service).hello(), 'world');
|
|
175
|
-
});
|
|
176
|
-
test('should throw an error if provider is missing both factory and use', () => {
|
|
177
|
-
class Service {
|
|
178
|
-
hello() {
|
|
179
|
-
return 'world';
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
const injector = new Injector([
|
|
183
|
-
{
|
|
184
|
-
provide: Service
|
|
185
|
-
}
|
|
186
|
-
]);
|
|
187
|
-
assert.throws(() => injector.inject(Service), new Error("Provider for Service found but is missing either 'use' or 'factory'"));
|
|
188
|
-
});
|
|
189
|
-
test('should pass factories and instance of the injector', async () => {
|
|
190
|
-
class Service {
|
|
191
|
-
hello() {
|
|
192
|
-
return 'world';
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
let factoryInjector = null;
|
|
196
|
-
const injector = new Injector([
|
|
197
|
-
{
|
|
198
|
-
provide: Service,
|
|
199
|
-
factory(i) {
|
|
200
|
-
factoryInjector = i;
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
]);
|
|
204
|
-
injector.inject(Service);
|
|
205
|
-
assert.equal(factoryInjector, injector);
|
|
206
|
-
});
|
|
207
|
-
test('should create an instance from a StaticToken factory', () => {
|
|
208
|
-
const TOKEN = new StaticToken('test', () => 'Hello World');
|
|
209
|
-
const injector = new Injector();
|
|
210
|
-
const res = injector.inject(TOKEN);
|
|
211
|
-
assert.equal(res, 'Hello World');
|
|
212
|
-
});
|
|
213
|
-
test('should create an instance from an async StaticToken factory', async () => {
|
|
214
|
-
const TOKEN = new StaticToken('test', () => Promise.resolve('Hello World'));
|
|
215
|
-
const injector = new Injector();
|
|
216
|
-
const res = await injector.inject(TOKEN);
|
|
217
|
-
assert.equal(res, 'Hello World');
|
|
218
|
-
});
|
|
219
|
-
test('should allow static token to be overridden', () => {
|
|
220
|
-
const TOKEN = new StaticToken('test');
|
|
221
|
-
const provider = {
|
|
222
|
-
provide: TOKEN,
|
|
223
|
-
factory() {
|
|
224
|
-
return 'Hello World';
|
|
225
|
-
}
|
|
226
|
-
};
|
|
227
|
-
const injector = new Injector([provider]);
|
|
228
|
-
const res = injector.inject(TOKEN);
|
|
229
|
-
assert.equal(res, 'Hello World');
|
|
230
|
-
});
|
|
231
|
-
//# sourceMappingURL=injector.test-node.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"injector.test-node.js","sourceRoot":"","sources":["../../src/lib/injector.test-node.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|