mani-game-engine 1.0.0-pre.49 → 1.0.0-pre.50
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/lib/injector.d.ts +11 -7
- package/lib/injector.js +13 -4
- package/lib/injector.js.map +1 -1
- package/package.json +1 -1
- package/src/injector.ts +36 -17
package/lib/injector.d.ts
CHANGED
|
@@ -77,15 +77,19 @@ export type ResolverContext = {
|
|
|
77
77
|
kind: string;
|
|
78
78
|
};
|
|
79
79
|
interface ClassMapper<T extends Class> {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
80
|
+
get: () => InstanceType<T>;
|
|
81
|
+
toValue(value: InstanceType<T>): InstanceType<T>;
|
|
82
|
+
toSingleton(): GetCall<InstanceType<T>>;
|
|
83
|
+
toProvider(provider: () => InstanceType<T>): GetCall<InstanceType<T>>;
|
|
83
84
|
}
|
|
85
|
+
type GetCall<T> = {
|
|
86
|
+
get: () => T;
|
|
87
|
+
};
|
|
84
88
|
interface TypeMapper<T> {
|
|
85
|
-
toClass<C extends Class<T>>(classValue: C):
|
|
86
|
-
toSingleton<C extends Class<T>>(classValue: C):
|
|
87
|
-
toValue(value: T):
|
|
88
|
-
toProvider(provider: () => T):
|
|
89
|
+
toClass<C extends Class<T>>(classValue: C): GetCall<T>;
|
|
90
|
+
toSingleton<C extends Class<T>>(classValue: C): GetCall<T>;
|
|
91
|
+
toValue(value: T): T;
|
|
92
|
+
toProvider(provider: () => T): GetCall<T>;
|
|
89
93
|
}
|
|
90
94
|
export declare const putIfAbsent: <T extends Map<K, V>, K, V>(map: T, key: K, value: () => V) => V;
|
|
91
95
|
export declare const createDependencyAnnotation: (cb: (type: any, index: number, dependantType: Class) => Dependency) => (dependantType: Class, _propertyKey: string | symbol, index: number) => any;
|
package/lib/injector.js
CHANGED
|
@@ -50,7 +50,7 @@ class Injector {
|
|
|
50
50
|
this.dependencyResolverExtensions.set(kind, resolver);
|
|
51
51
|
}
|
|
52
52
|
map(type, id = '') {
|
|
53
|
-
const mapper = new InternalClassMapper(this);
|
|
53
|
+
const mapper = new InternalClassMapper(this, type, id);
|
|
54
54
|
const idMappings = (0, exports.putIfAbsent)(this.classMappings, type, () => ({ map: new Map() }));
|
|
55
55
|
if (id === '') {
|
|
56
56
|
idMappings.def = mapper.mapping;
|
|
@@ -61,7 +61,7 @@ class Injector {
|
|
|
61
61
|
return mapper;
|
|
62
62
|
}
|
|
63
63
|
mapType(id) {
|
|
64
|
-
const typeMapper = new InternalTypeMapper(this);
|
|
64
|
+
const typeMapper = new InternalTypeMapper(this, id);
|
|
65
65
|
this.typeMappings.set(id, typeMapper.mapping);
|
|
66
66
|
return typeMapper;
|
|
67
67
|
}
|
|
@@ -254,15 +254,17 @@ class Injector {
|
|
|
254
254
|
exports.Injector = Injector;
|
|
255
255
|
Injector.dependencyMap = new Map();
|
|
256
256
|
class InternalTypeMapper {
|
|
257
|
-
constructor(injector) {
|
|
257
|
+
constructor(injector, id) {
|
|
258
258
|
this.injector = injector;
|
|
259
259
|
this.mapping = { kind: undefined };
|
|
260
|
+
this.getCall = { get: () => this.injector.getType(id) };
|
|
260
261
|
}
|
|
261
262
|
toClass(classValue) {
|
|
262
263
|
Object.assign(this.mapping, {
|
|
263
264
|
kind: 0,
|
|
264
265
|
type: classValue,
|
|
265
266
|
});
|
|
267
|
+
return this.getCall;
|
|
266
268
|
}
|
|
267
269
|
toSingleton(classValue) {
|
|
268
270
|
Object.assign(this.mapping, {
|
|
@@ -270,6 +272,7 @@ class InternalTypeMapper {
|
|
|
270
272
|
type: classValue,
|
|
271
273
|
injector: this.injector,
|
|
272
274
|
});
|
|
275
|
+
return this.getCall;
|
|
273
276
|
}
|
|
274
277
|
toValue(value) {
|
|
275
278
|
Object.assign(this.mapping, {
|
|
@@ -277,18 +280,22 @@ class InternalTypeMapper {
|
|
|
277
280
|
value: value,
|
|
278
281
|
});
|
|
279
282
|
this.injector._registerDisposer(value);
|
|
283
|
+
return value;
|
|
280
284
|
}
|
|
281
285
|
toProvider(provider) {
|
|
282
286
|
Object.assign(this.mapping, {
|
|
283
287
|
kind: 3,
|
|
284
288
|
provider: provider,
|
|
285
289
|
});
|
|
290
|
+
return this.getCall;
|
|
286
291
|
}
|
|
287
292
|
}
|
|
288
293
|
class InternalClassMapper {
|
|
289
|
-
constructor(injector) {
|
|
294
|
+
constructor(injector, type, id) {
|
|
290
295
|
this.injector = injector;
|
|
291
296
|
this.mapping = { kind: 0 };
|
|
297
|
+
this.getCall = { get: () => this.injector.get(type, id) };
|
|
298
|
+
this.get = () => this.injector.get(type, id);
|
|
292
299
|
}
|
|
293
300
|
toValue(value) {
|
|
294
301
|
Object.assign(this.mapping, {
|
|
@@ -304,12 +311,14 @@ class InternalClassMapper {
|
|
|
304
311
|
injector: this.injector,
|
|
305
312
|
});
|
|
306
313
|
this.mapping.kind = 2;
|
|
314
|
+
return this.getCall;
|
|
307
315
|
}
|
|
308
316
|
toProvider(provider) {
|
|
309
317
|
Object.assign(this.mapping, {
|
|
310
318
|
kind: 3,
|
|
311
319
|
provider: provider,
|
|
312
320
|
});
|
|
321
|
+
return this.getCall;
|
|
313
322
|
}
|
|
314
323
|
}
|
|
315
324
|
//# sourceMappingURL=injector.js.map
|
package/lib/injector.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injector.js","sourceRoot":"","sources":["../src/injector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"injector.js","sourceRoot":"","sources":["../src/injector.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/injector.ts
CHANGED
|
@@ -44,16 +44,19 @@ const isInjectDependency = (dep: Dependency): dep is InjectDependency => dep.kin
|
|
|
44
44
|
const isTypeDependency = (dep: Dependency): dep is TypeDependency => dep.kind === 'type';
|
|
45
45
|
|
|
46
46
|
interface ClassMapper<T extends Class> {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
get: () => InstanceType<T>;
|
|
48
|
+
toValue(value: InstanceType<T>): InstanceType<T>;
|
|
49
|
+
toSingleton(): GetCall<InstanceType<T>>;
|
|
50
|
+
toProvider(provider: () => InstanceType<T>): GetCall<InstanceType<T>>;
|
|
50
51
|
}
|
|
51
52
|
|
|
53
|
+
type GetCall<T > = { get: () => T };
|
|
54
|
+
|
|
52
55
|
interface TypeMapper<T> {
|
|
53
|
-
toClass<C extends Class<T>>(classValue: C):
|
|
54
|
-
toSingleton<C extends Class<T>>(classValue: C):
|
|
55
|
-
toValue(value: T):
|
|
56
|
-
toProvider(provider: () => T):
|
|
56
|
+
toClass<C extends Class<T>>(classValue: C): GetCall<T>;
|
|
57
|
+
toSingleton<C extends Class<T>>(classValue: C): GetCall<T>;
|
|
58
|
+
toValue(value: T): T;
|
|
59
|
+
toProvider(provider: () => T): GetCall<T>;
|
|
57
60
|
}
|
|
58
61
|
|
|
59
62
|
// why is this not in javascript?! ...
|
|
@@ -116,7 +119,7 @@ export class Injector {
|
|
|
116
119
|
}
|
|
117
120
|
|
|
118
121
|
map<T extends Class>(type: T, id: ID = ''): ClassMapper<T> {
|
|
119
|
-
const mapper = new InternalClassMapper<T>(this);
|
|
122
|
+
const mapper = new InternalClassMapper<T>(this, type, id);
|
|
120
123
|
const idMappings = putIfAbsent(this.classMappings, type as Class, (): MapContainer => ({map: new Map<ID, ClassMapping>()}));
|
|
121
124
|
if (id === '') {
|
|
122
125
|
idMappings.def = mapper.mapping;
|
|
@@ -127,7 +130,7 @@ export class Injector {
|
|
|
127
130
|
}
|
|
128
131
|
|
|
129
132
|
mapType<T>(id: ID): TypeMapper<T> {
|
|
130
|
-
const typeMapper = new InternalTypeMapper<T>(this);
|
|
133
|
+
const typeMapper = new InternalTypeMapper<T>(this, id);
|
|
131
134
|
this.typeMappings.set(id, typeMapper.mapping);
|
|
132
135
|
return typeMapper;
|
|
133
136
|
}
|
|
@@ -325,45 +328,57 @@ export class Injector {
|
|
|
325
328
|
class InternalTypeMapper<T> implements TypeMapper<T> {
|
|
326
329
|
mapping: TypeMapping = {kind: undefined};
|
|
327
330
|
|
|
328
|
-
|
|
331
|
+
private readonly getCall: GetCall<T>;
|
|
332
|
+
|
|
333
|
+
constructor(private readonly injector: Injector, id: ID) {
|
|
334
|
+
this.getCall = {get: () => this.injector.getType(id)};
|
|
329
335
|
}
|
|
330
336
|
|
|
331
|
-
toClass<C extends Class<T>>(classValue: C):
|
|
337
|
+
toClass<C extends Class<T>>(classValue: C):GetCall<T> {
|
|
332
338
|
Object.assign<TypeMapping, ClassTypeMapping>(this.mapping, {
|
|
333
339
|
kind: TypeMappingKind.CLASS,
|
|
334
340
|
type: classValue,
|
|
335
341
|
});
|
|
342
|
+
return this.getCall;
|
|
336
343
|
}
|
|
337
344
|
|
|
338
|
-
toSingleton<C extends Class<T>>(classValue: C):
|
|
345
|
+
toSingleton<C extends Class<T>>(classValue: C):GetCall<T> {
|
|
339
346
|
Object.assign<TypeMapping, SingletonTypeMapping>(this.mapping, {
|
|
340
347
|
kind: TypeMappingKind.SINGLETON,
|
|
341
348
|
type: classValue,
|
|
342
349
|
injector: this.injector,
|
|
343
350
|
});
|
|
351
|
+
return this.getCall;
|
|
344
352
|
}
|
|
345
353
|
|
|
346
|
-
toValue(value: T):
|
|
354
|
+
toValue(value: T):T {
|
|
347
355
|
Object.assign<TypeMapping, ValueTypeMapping>(this.mapping, {
|
|
348
356
|
kind: TypeMappingKind.VALUE,
|
|
349
357
|
value: value,
|
|
350
358
|
});
|
|
351
359
|
this.injector._registerDisposer(value as any);
|
|
360
|
+
return value;
|
|
352
361
|
}
|
|
353
362
|
|
|
354
|
-
toProvider(provider: () => T):
|
|
363
|
+
toProvider(provider: () => T):GetCall<T> {
|
|
355
364
|
Object.assign<TypeMapping, ProviderTypeMapping>(this.mapping, {
|
|
356
365
|
kind: TypeMappingKind.PROVIDER,
|
|
357
366
|
provider: provider,
|
|
358
367
|
});
|
|
368
|
+
return this.getCall;
|
|
359
369
|
}
|
|
360
370
|
}
|
|
361
371
|
|
|
362
372
|
class InternalClassMapper<T extends Class> implements ClassMapper<T> {
|
|
363
373
|
// instance is the default class mapping
|
|
364
374
|
mapping: ClassMapping = {kind: ClassMappingKind.INSTANCE};
|
|
375
|
+
private readonly getCall: GetCall<InstanceType<T>>;
|
|
376
|
+
readonly get: () => InstanceType<T>;
|
|
365
377
|
|
|
366
|
-
constructor(private readonly injector: Injector) {
|
|
378
|
+
constructor(private readonly injector: Injector, type: T, id: ID) {
|
|
379
|
+
this.getCall = {get: () => this.injector.get(type, id)};
|
|
380
|
+
this.get = ()=>this.injector.get(type, id);
|
|
381
|
+
}
|
|
367
382
|
|
|
368
383
|
toValue(value: InstanceType<T>) {
|
|
369
384
|
Object.assign<ClassMapping, ValueClassMapping>(this.mapping, {
|
|
@@ -374,18 +389,22 @@ class InternalClassMapper<T extends Class> implements ClassMapper<T> {
|
|
|
374
389
|
return value;
|
|
375
390
|
}
|
|
376
391
|
|
|
377
|
-
|
|
392
|
+
|
|
393
|
+
|
|
394
|
+
toSingleton(): GetCall<InstanceType<T>> {
|
|
378
395
|
Object.assign<ClassMapping, SingletonClassMapping>(this.mapping, {
|
|
379
396
|
kind: ClassMappingKind.SINGLETON,
|
|
380
397
|
injector: this.injector,
|
|
381
398
|
});
|
|
382
399
|
this.mapping.kind = ClassMappingKind.SINGLETON;
|
|
400
|
+
return this.getCall;
|
|
383
401
|
}
|
|
384
402
|
|
|
385
|
-
toProvider(provider: () => InstanceType<T>):
|
|
403
|
+
toProvider(provider: () => InstanceType<T>):GetCall<InstanceType<T>> {
|
|
386
404
|
Object.assign<ClassMapping, ProviderClassMapping>(this.mapping, {
|
|
387
405
|
kind: ClassMappingKind.PROVIDER,
|
|
388
406
|
provider: provider,
|
|
389
407
|
});
|
|
408
|
+
return this.getCall
|
|
390
409
|
}
|
|
391
410
|
}
|