@joist/di 3.0.0-next.13 → 3.0.0-next.14
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 +7 -14
- package/package.json +1 -1
- package/target/lib/environment.test.js +2 -4
- package/target/lib/environment.test.js.map +1 -1
- package/target/lib/inject.d.ts +2 -1
- package/target/lib/inject.js.map +1 -1
- package/target/lib/inject.test.js +3 -3
- package/target/lib/inject.test.js.map +1 -1
- package/target/lib/injectable.d.ts +3 -5
- package/target/lib/injectable.js +5 -11
- package/target/lib/injectable.js.map +1 -1
- package/target/lib/injectable.test.js +26 -26
- package/target/lib/injectable.test.js.map +1 -1
- package/target/lib/injector.d.ts +17 -3
- package/target/lib/injector.js +21 -15
- package/target/lib/injector.js.map +1 -1
- package/target/lib/injector.test.js +6 -6
- package/target/lib/injector.test.js.map +1 -1
- package/target/lib/provider.d.ts +1 -0
- package/target/lib.d.ts +2 -3
- package/target/lib.js +0 -1
- package/target/lib.js.map +1 -1
package/README.md
CHANGED
|
@@ -21,9 +21,7 @@ class FooService {
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
// classes must be decorated with @injectable to use the inject function
|
|
24
|
-
@injectable
|
|
25
|
-
provideInRoot: true // classes marked with the "service" flag will attempt to find a root injector
|
|
26
|
-
})
|
|
24
|
+
@injectable
|
|
27
25
|
class BarService {
|
|
28
26
|
foo = inject(FooService);
|
|
29
27
|
|
|
@@ -32,15 +30,10 @@ class BarService {
|
|
|
32
30
|
}
|
|
33
31
|
}
|
|
34
32
|
|
|
35
|
-
@injectable
|
|
33
|
+
@injectable
|
|
36
34
|
class BazService {
|
|
37
35
|
#bar = inject(BarService);
|
|
38
36
|
|
|
39
|
-
constructor() {
|
|
40
|
-
// will throw error
|
|
41
|
-
console.log(this.bar().sayHello())
|
|
42
|
-
}
|
|
43
|
-
|
|
44
37
|
// services cannot be accessed in the constructor.
|
|
45
38
|
// the onInject callback will be called when injectors have resolved
|
|
46
39
|
onInject() {
|
|
@@ -64,8 +57,9 @@ class Colors {
|
|
|
64
57
|
secodnary = 'green';
|
|
65
58
|
}
|
|
66
59
|
|
|
67
|
-
@injectable
|
|
68
|
-
|
|
60
|
+
@injectable
|
|
61
|
+
class ColorCtx extends HTMLElement {
|
|
62
|
+
static providers = [
|
|
69
63
|
{
|
|
70
64
|
provide: Colors,
|
|
71
65
|
use: class implements Colors {
|
|
@@ -74,10 +68,9 @@ class Colors {
|
|
|
74
68
|
},
|
|
75
69
|
},
|
|
76
70
|
]
|
|
77
|
-
}
|
|
78
|
-
class ColorCtx extends HTMLElement { }
|
|
71
|
+
}
|
|
79
72
|
|
|
80
|
-
@injectable
|
|
73
|
+
@injectable
|
|
81
74
|
class MyElement extends HTMLElement {
|
|
82
75
|
#colors = inject(Colors);
|
|
83
76
|
|
package/package.json
CHANGED
|
@@ -11,9 +11,7 @@ describe('environment', () => {
|
|
|
11
11
|
});
|
|
12
12
|
it('should use the root injector when creating services', async () => {
|
|
13
13
|
let MyService = (() => {
|
|
14
|
-
let _classDecorators = [injectable
|
|
15
|
-
provideInRoot: true,
|
|
16
|
-
})];
|
|
14
|
+
let _classDecorators = [injectable];
|
|
17
15
|
let _classDescriptor;
|
|
18
16
|
let _classExtraInitializers = [];
|
|
19
17
|
let _classThis;
|
|
@@ -27,7 +25,7 @@ describe('environment', () => {
|
|
|
27
25
|
return MyService = _classThis;
|
|
28
26
|
})();
|
|
29
27
|
let MyElement = (() => {
|
|
30
|
-
let _classDecorators_1 = [injectable
|
|
28
|
+
let _classDecorators_1 = [injectable];
|
|
31
29
|
let _classDescriptor_1;
|
|
32
30
|
let _classExtraInitializers_1 = [];
|
|
33
31
|
let _classThis_1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.test.js","sourceRoot":"","sources":["../../src/lib/environment.test.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAE5B,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"environment.test.js","sourceRoot":"","sources":["../../src/lib/environment.test.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAE5B,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YAE7D,SAAS;oCADd,UAAU;;;;gBACL,SAAS;;oBAAf,4IAAmB;oBAAb,SAAS;oBAAT,uDAAS;;;mBAAT,SAAS;;YAGT,SAAS;sCADd,UAAU;;;;gBACL,SAAS,QAAC,SAAQ,WAAW;;oBAAnC,kJAEC;oBAFK,SAAS;oBAAT,2DAAS;;gBACb,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;;mBADnB,SAAS;;QAIf,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAE1C,MAAM,EAAE,GAAG,MAAM,OAAO,CAAY,IAAI,CAAA,iBAAiB,CAAC,CAAC;QAE3D,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/target/lib/inject.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { ProviderToken } from './provider.js';
|
|
2
|
-
import { Injectable
|
|
2
|
+
import { Injectable } from './injector.js';
|
|
3
|
+
export type Injected<T> = () => T;
|
|
3
4
|
export declare function inject<This extends Injectable, T extends object>(token: ProviderToken<T>): Injected<T>;
|
package/target/lib/inject.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inject.js","sourceRoot":"","sources":["../../src/lib/inject.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"inject.js","sourceRoot":"","sources":["../../src/lib/inject.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,MAAM,CACpB,KAAuB;IAEvB,OAAO;QACL,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;YACjC,MAAM,IAAI,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;YAE1D,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,6JAA6J,CACrK,CAAC;SACH;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -8,7 +8,7 @@ describe('inject', () => {
|
|
|
8
8
|
class HelloService {
|
|
9
9
|
}
|
|
10
10
|
let HelloWorld = (() => {
|
|
11
|
-
let _classDecorators = [injectable
|
|
11
|
+
let _classDecorators = [injectable];
|
|
12
12
|
let _classDescriptor;
|
|
13
13
|
let _classExtraInitializers = [];
|
|
14
14
|
let _classThis;
|
|
@@ -30,7 +30,7 @@ describe('inject', () => {
|
|
|
30
30
|
value = '1';
|
|
31
31
|
}
|
|
32
32
|
let BarService = (() => {
|
|
33
|
-
let _classDecorators_1 = [injectable
|
|
33
|
+
let _classDecorators_1 = [injectable];
|
|
34
34
|
let _classDescriptor_1;
|
|
35
35
|
let _classExtraInitializers_1 = [];
|
|
36
36
|
let _classThis_1;
|
|
@@ -62,7 +62,7 @@ describe('inject', () => {
|
|
|
62
62
|
value = '1';
|
|
63
63
|
}
|
|
64
64
|
let BarService = (() => {
|
|
65
|
-
let _classDecorators_2 = [injectable
|
|
65
|
+
let _classDecorators_2 = [injectable];
|
|
66
66
|
let _classDescriptor_2;
|
|
67
67
|
let _classExtraInitializers_2 = [];
|
|
68
68
|
let _classThis_2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inject.test.js","sourceRoot":"","sources":["../../src/lib/inject.test.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;QACrB,MAAM,YAAY;
|
|
1
|
+
{"version":3,"file":"inject.test.js","sourceRoot":"","sources":["../../src/lib/inject.test.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;QACrB,MAAM,YAAY;SAAI;YAGhB,UAAU;oCADf,UAAU;;;;gBACL,UAAU,QAAC,SAAQ,WAAW;;oBAApC,4IAEC;oBAFK,UAAU;oBAAV,uDAAU;;gBACd,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;;mBADzB,UAAU;;QAIhB,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAE9C,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,UAAU;YACd,KAAK,GAAG,GAAG,CAAC;SACb;YAGK,UAAU;sCADf,UAAU;;;;gBACL,UAAU;;oBAAhB,kJAMC;oBANK,UAAU;oBAAV,2DAAU;;gBACd,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;gBAEzB;oBACE,IAAI,CAAC,GAAG,EAAE,CAAC;gBACb,CAAC;;mBALG,UAAU;;QAQhB,MAAM,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAE9B,IAAI;YACF,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAEvB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACvC;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,KAAK,GAAG,GAAY,CAAC;YAE3B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAC5B,uKAAuK,CACxK,CAAC;SACH;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,UAAU;YACd,KAAK,GAAG,GAAG,CAAC;SACb;YAGK,UAAU;sCADf,UAAU;;;;gBACL,UAAU;;oBAAhB,kJAEC;oBAFK,UAAU;oBAAV,2DAAU;;gBACd,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;;mBADrB,UAAU;;QAIhB,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC;YAC1B;gBACE,OAAO,EAAE,UAAU;gBACnB,GAAG,EAAE,KAAM,SAAQ,UAAU;oBAC3B,KAAK,GAAG,KAAK,CAAC;iBACf;aACF;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ProviderToken } from './provider.js';
|
|
2
2
|
import { Injector } from './injector.js';
|
|
3
|
-
export declare function injectable<T extends ProviderToken<any>>(
|
|
4
|
-
provideInRoot?: boolean;
|
|
5
|
-
providers?: Provider<any>[];
|
|
6
|
-
}): (Base: T, _: unknown) => {
|
|
3
|
+
export declare function injectable<T extends ProviderToken<any>>(Base: T, _: unknown): {
|
|
7
4
|
new (..._: any[]): {
|
|
8
5
|
[x: string]: any;
|
|
9
6
|
injector$$: Injector;
|
|
@@ -11,4 +8,5 @@ export declare function injectable<T extends ProviderToken<any>>(def?: {
|
|
|
11
8
|
connectedCallback(): void;
|
|
12
9
|
disconnectedCallback(): void;
|
|
13
10
|
};
|
|
11
|
+
providers?: import("./provider.js").Provider<any>[] | undefined;
|
|
14
12
|
} & T;
|
package/target/lib/injectable.js
CHANGED
|
@@ -1,21 +1,15 @@
|
|
|
1
|
-
import { Injector
|
|
1
|
+
import { Injector } from './injector.js';
|
|
2
2
|
import { environment } from './environment.js';
|
|
3
|
-
export function injectable(
|
|
4
|
-
return
|
|
5
|
-
const token = withInjector(Base, def.providers);
|
|
6
|
-
if (def.provideInRoot) {
|
|
7
|
-
rootServices.add(token);
|
|
8
|
-
}
|
|
9
|
-
return token;
|
|
10
|
-
};
|
|
3
|
+
export function injectable(Base, _) {
|
|
4
|
+
return withInjector(Base);
|
|
11
5
|
}
|
|
12
6
|
/**
|
|
13
7
|
* This mixin is applied by the @injectable decorator.
|
|
14
8
|
* Id defines an instance injector and registers custom element lifecycle hooks
|
|
15
9
|
*/
|
|
16
|
-
function withInjector(Base
|
|
10
|
+
function withInjector(Base) {
|
|
17
11
|
return class InjectableNode extends Base {
|
|
18
|
-
injector$$ = new Injector(providers);
|
|
12
|
+
injector$$ = new Injector(Base.providers);
|
|
19
13
|
constructor(..._) {
|
|
20
14
|
super();
|
|
21
15
|
if (this instanceof HTMLElement) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injectable.js","sourceRoot":"","sources":["../../src/lib/injectable.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"injectable.js","sourceRoot":"","sources":["../../src/lib/injectable.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,UAAU,UAAU,CAA+B,IAAO,EAAE,CAAU;IAC1E,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAA+B,IAAO;IACzD,OAAO,MAAM,cAAe,SAAQ,IAAI;QACtC,UAAU,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE1C,YAAY,GAAG,CAAQ;YACrB,KAAK,EAAE,CAAC;YAER,IAAI,IAAI,YAAY,WAAW,EAAE;gBAC/B,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;oBACxC,MAAM,cAAc,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;oBAE3C,IAAI,cAAc,KAAK,IAAI,EAAE;wBAC3B,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;qBAC3C;yBAAM;wBACL,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;qBAC1C;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC;QAED,QAAQ;YACN,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAClB,KAAK,CAAC,QAAQ,EAAE,CAAC;aAClB;QACH,CAAC;QAED,iBAAiB;YACf,IAAI,IAAI,YAAY,WAAW,EAAE;gBAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;gBAE5C,IAAI,KAAK,CAAC,iBAAiB,EAAE;oBAC3B,KAAK,CAAC,iBAAiB,EAAE,CAAC;iBAC3B;aACF;QACH,CAAC;QAED,oBAAoB;YAClB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAErC,IAAI,KAAK,CAAC,oBAAoB,EAAE;gBAC9B,KAAK,CAAC,oBAAoB,EAAE,CAAC;aAC9B;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAQ;IAChC,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;IAE9B,mBAAmB;IACnB,2CAA2C;IAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAErB,IAAI,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,YAAY,QAAQ,EAAE;YAC/D,OAAO,IAAI,CAAC,UAAU,CAAC;SACxB;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -10,7 +10,7 @@ describe('@injectable()', () => {
|
|
|
10
10
|
class Bar {
|
|
11
11
|
}
|
|
12
12
|
let MyElement = (() => {
|
|
13
|
-
let _classDecorators = [injectable
|
|
13
|
+
let _classDecorators = [injectable];
|
|
14
14
|
let _classDescriptor;
|
|
15
15
|
let _classExtraInitializers = [];
|
|
16
16
|
let _classThis;
|
|
@@ -35,9 +35,7 @@ describe('@injectable()', () => {
|
|
|
35
35
|
class Bar extends Foo {
|
|
36
36
|
}
|
|
37
37
|
let MyElement = (() => {
|
|
38
|
-
let _classDecorators_1 = [injectable
|
|
39
|
-
providers: [{ provide: Foo, use: Bar }],
|
|
40
|
-
})];
|
|
38
|
+
let _classDecorators_1 = [injectable];
|
|
41
39
|
let _classDescriptor_1;
|
|
42
40
|
let _classExtraInitializers_1 = [];
|
|
43
41
|
let _classThis_1;
|
|
@@ -45,9 +43,12 @@ describe('@injectable()', () => {
|
|
|
45
43
|
static {
|
|
46
44
|
__esDecorate(null, _classDescriptor_1 = { value: this }, _classDecorators_1, { kind: "class", name: this.name }, null, _classExtraInitializers_1);
|
|
47
45
|
MyElement = _classThis_1 = _classDescriptor_1.value;
|
|
48
|
-
__runInitializers(_classThis_1, _classExtraInitializers_1);
|
|
49
46
|
}
|
|
47
|
+
static providers = [{ provide: Foo, use: Bar }];
|
|
50
48
|
foo = inject(Foo);
|
|
49
|
+
static {
|
|
50
|
+
__runInitializers(_classThis_1, _classExtraInitializers_1);
|
|
51
|
+
}
|
|
51
52
|
};
|
|
52
53
|
return MyElement = _classThis_1;
|
|
53
54
|
})();
|
|
@@ -59,7 +60,7 @@ describe('@injectable()', () => {
|
|
|
59
60
|
class A {
|
|
60
61
|
}
|
|
61
62
|
let B = (() => {
|
|
62
|
-
let _classDecorators_2 = [injectable
|
|
63
|
+
let _classDecorators_2 = [injectable];
|
|
63
64
|
let _classDescriptor_2;
|
|
64
65
|
let _classExtraInitializers_2 = [];
|
|
65
66
|
let _classThis_2;
|
|
@@ -80,9 +81,7 @@ describe('@injectable()', () => {
|
|
|
80
81
|
});
|
|
81
82
|
it('should handle parent HTML Injectors', async () => {
|
|
82
83
|
let A = (() => {
|
|
83
|
-
let _classDecorators_3 = [injectable
|
|
84
|
-
provideInRoot: true,
|
|
85
|
-
})];
|
|
84
|
+
let _classDecorators_3 = [injectable];
|
|
86
85
|
let _classDescriptor_3;
|
|
87
86
|
let _classExtraInitializers_3 = [];
|
|
88
87
|
let _classThis_3;
|
|
@@ -96,9 +95,7 @@ describe('@injectable()', () => {
|
|
|
96
95
|
return A = _classThis_3;
|
|
97
96
|
})();
|
|
98
97
|
let B = (() => {
|
|
99
|
-
let _classDecorators_4 = [injectable
|
|
100
|
-
provideInRoot: true,
|
|
101
|
-
})];
|
|
98
|
+
let _classDecorators_4 = [injectable];
|
|
102
99
|
let _classDescriptor_4;
|
|
103
100
|
let _classExtraInitializers_4 = [];
|
|
104
101
|
let _classThis_4;
|
|
@@ -115,12 +112,7 @@ describe('@injectable()', () => {
|
|
|
115
112
|
class AltA {
|
|
116
113
|
}
|
|
117
114
|
let Parent = (() => {
|
|
118
|
-
let _classDecorators_5 = [injectable
|
|
119
|
-
providers: [
|
|
120
|
-
{ provide: B, use: B },
|
|
121
|
-
{ provide: A, use: AltA },
|
|
122
|
-
],
|
|
123
|
-
})];
|
|
115
|
+
let _classDecorators_5 = [injectable];
|
|
124
116
|
let _classDescriptor_5;
|
|
125
117
|
let _classExtraInitializers_5 = [];
|
|
126
118
|
let _classThis_5;
|
|
@@ -128,13 +120,19 @@ describe('@injectable()', () => {
|
|
|
128
120
|
static {
|
|
129
121
|
__esDecorate(null, _classDescriptor_5 = { value: this }, _classDecorators_5, { kind: "class", name: this.name }, null, _classExtraInitializers_5);
|
|
130
122
|
Parent = _classThis_5 = _classDescriptor_5.value;
|
|
123
|
+
}
|
|
124
|
+
static providers = [
|
|
125
|
+
{ provide: B, use: B },
|
|
126
|
+
{ provide: A, use: AltA },
|
|
127
|
+
];
|
|
128
|
+
static {
|
|
131
129
|
__runInitializers(_classThis_5, _classExtraInitializers_5);
|
|
132
130
|
}
|
|
133
131
|
};
|
|
134
132
|
return Parent = _classThis_5;
|
|
135
133
|
})();
|
|
136
134
|
let Child = (() => {
|
|
137
|
-
let _classDecorators_6 = [injectable
|
|
135
|
+
let _classDecorators_6 = [injectable];
|
|
138
136
|
let _classDescriptor_6;
|
|
139
137
|
let _classExtraInitializers_6 = [];
|
|
140
138
|
let _classThis_6;
|
|
@@ -164,9 +162,7 @@ describe('@injectable()', () => {
|
|
|
164
162
|
class AltA {
|
|
165
163
|
}
|
|
166
164
|
let Ctx1 = (() => {
|
|
167
|
-
let _classDecorators_7 = [injectable
|
|
168
|
-
providers: [{ provide: A, use: A }],
|
|
169
|
-
})];
|
|
165
|
+
let _classDecorators_7 = [injectable];
|
|
170
166
|
let _classDescriptor_7;
|
|
171
167
|
let _classExtraInitializers_7 = [];
|
|
172
168
|
let _classThis_7;
|
|
@@ -174,15 +170,16 @@ describe('@injectable()', () => {
|
|
|
174
170
|
static {
|
|
175
171
|
__esDecorate(null, _classDescriptor_7 = { value: this }, _classDecorators_7, { kind: "class", name: this.name }, null, _classExtraInitializers_7);
|
|
176
172
|
Ctx1 = _classThis_7 = _classDescriptor_7.value;
|
|
173
|
+
}
|
|
174
|
+
static providers = [{ provide: A, use: A }];
|
|
175
|
+
static {
|
|
177
176
|
__runInitializers(_classThis_7, _classExtraInitializers_7);
|
|
178
177
|
}
|
|
179
178
|
};
|
|
180
179
|
return Ctx1 = _classThis_7;
|
|
181
180
|
})();
|
|
182
181
|
let Ctx2 = (() => {
|
|
183
|
-
let _classDecorators_8 = [injectable
|
|
184
|
-
providers: [{ provide: A, use: AltA }],
|
|
185
|
-
})];
|
|
182
|
+
let _classDecorators_8 = [injectable];
|
|
186
183
|
let _classDescriptor_8;
|
|
187
184
|
let _classExtraInitializers_8 = [];
|
|
188
185
|
let _classThis_8;
|
|
@@ -190,13 +187,16 @@ describe('@injectable()', () => {
|
|
|
190
187
|
static {
|
|
191
188
|
__esDecorate(null, _classDescriptor_8 = { value: this }, _classDecorators_8, { kind: "class", name: this.name }, null, _classExtraInitializers_8);
|
|
192
189
|
Ctx2 = _classThis_8 = _classDescriptor_8.value;
|
|
190
|
+
}
|
|
191
|
+
static providers = [{ provide: A, use: AltA }];
|
|
192
|
+
static {
|
|
193
193
|
__runInitializers(_classThis_8, _classExtraInitializers_8);
|
|
194
194
|
}
|
|
195
195
|
};
|
|
196
196
|
return Ctx2 = _classThis_8;
|
|
197
197
|
})();
|
|
198
198
|
let Child = (() => {
|
|
199
|
-
let _classDecorators_9 = [injectable
|
|
199
|
+
let _classDecorators_9 = [injectable];
|
|
200
200
|
let _classDescriptor_9;
|
|
201
201
|
let _classExtraInitializers_9 = [];
|
|
202
202
|
let _classThis_9;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injectable.test.js","sourceRoot":"","sources":["../../src/lib/injectable.test.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,GAAG;SAAG;QACZ,MAAM,GAAG;SAAG;YAGN,SAAS;oCADd,UAAU
|
|
1
|
+
{"version":3,"file":"injectable.test.js","sourceRoot":"","sources":["../../src/lib/injectable.test.ts"],"names":[],"mappings":"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"}
|
package/target/lib/injector.d.ts
CHANGED
|
@@ -1,15 +1,29 @@
|
|
|
1
1
|
import { ProviderToken, Provider } from './provider.js';
|
|
2
|
-
export type Injected<T> = () => T;
|
|
3
2
|
export type Injectable = object & {
|
|
4
3
|
injector$$?: Injector;
|
|
5
4
|
onInject?(): void;
|
|
6
5
|
};
|
|
7
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Injectors create and store instances of services.
|
|
8
|
+
* A service is any constructable class.
|
|
9
|
+
* When calling Injector.get, the injector will resolve as following.
|
|
10
|
+
*
|
|
11
|
+
* 1. Do I have a cached instance locally?
|
|
12
|
+
* 2. Do I have a local provider definition for the token?
|
|
13
|
+
* 3. Do I have a parent? Check parent for 1 and 2
|
|
14
|
+
* 5. All clear, go ahead and construct and cache the requested service
|
|
15
|
+
*
|
|
16
|
+
* RootInjector --> InjectorA --> InjectorB
|
|
17
|
+
* |------> InjectorC
|
|
18
|
+
* |------> InjectorD --> InjectorE
|
|
19
|
+
*
|
|
20
|
+
* in the above tree, if InjectorE requests a service, it will navigate up to the RootInjector and cached.
|
|
21
|
+
* If Inject B then requests the same token, it will recieve the same cached instance,
|
|
22
|
+
*/
|
|
8
23
|
export declare class Injector {
|
|
9
24
|
#private;
|
|
10
25
|
providers: Provider<any>[];
|
|
11
26
|
constructor(providers?: Provider<any>[], parent?: Injector);
|
|
12
|
-
has<T>(token: ProviderToken<T>): boolean;
|
|
13
27
|
get<T extends Injectable>(token: ProviderToken<T>): T;
|
|
14
28
|
setParent(parent: Injector | undefined): void;
|
|
15
29
|
clear(): void;
|
package/target/lib/injector.js
CHANGED
|
@@ -1,22 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Injectors create and store instances of services.
|
|
3
|
+
* A service is any constructable class.
|
|
4
|
+
* When calling Injector.get, the injector will resolve as following.
|
|
5
|
+
*
|
|
6
|
+
* 1. Do I have a cached instance locally?
|
|
7
|
+
* 2. Do I have a local provider definition for the token?
|
|
8
|
+
* 3. Do I have a parent? Check parent for 1 and 2
|
|
9
|
+
* 5. All clear, go ahead and construct and cache the requested service
|
|
10
|
+
*
|
|
11
|
+
* RootInjector --> InjectorA --> InjectorB
|
|
12
|
+
* |------> InjectorC
|
|
13
|
+
* |------> InjectorD --> InjectorE
|
|
14
|
+
*
|
|
15
|
+
* in the above tree, if InjectorE requests a service, it will navigate up to the RootInjector and cached.
|
|
16
|
+
* If Inject B then requests the same token, it will recieve the same cached instance,
|
|
17
|
+
*/
|
|
3
18
|
export class Injector {
|
|
4
19
|
providers;
|
|
20
|
+
// ke track of isntances. One Token can have one instance
|
|
5
21
|
#instances = new WeakMap();
|
|
6
22
|
#parent = undefined;
|
|
7
23
|
constructor(providers = [], parent) {
|
|
8
24
|
this.providers = providers;
|
|
9
|
-
|
|
10
|
-
this.#parent = parent;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
has(token) {
|
|
14
|
-
const hasLocally = this.#instances.has(token) || !!this.#findProvider(token);
|
|
15
|
-
if (hasLocally) {
|
|
16
|
-
return true;
|
|
17
|
-
}
|
|
18
|
-
return this.#parent ? this.#parent.has(token) : false;
|
|
25
|
+
this.setParent(parent);
|
|
19
26
|
}
|
|
27
|
+
// resolves and retuns and instance of the requested service
|
|
20
28
|
get(token) {
|
|
21
29
|
// check for a local instance
|
|
22
30
|
if (this.#instances.has(token)) {
|
|
@@ -29,9 +37,7 @@ export class Injector {
|
|
|
29
37
|
}
|
|
30
38
|
// check for a parent and attempt to get there
|
|
31
39
|
if (this.#parent) {
|
|
32
|
-
|
|
33
|
-
return this.#parent.get(token);
|
|
34
|
-
}
|
|
40
|
+
return this.#parent.get(token);
|
|
35
41
|
}
|
|
36
42
|
return this.#createAndCache(token);
|
|
37
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injector.js","sourceRoot":"","sources":["../../src/lib/injector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"injector.js","sourceRoot":"","sources":["../../src/lib/injector.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,QAAQ;IAMA;IALnB,yDAAyD;IACzD,UAAU,GAAG,IAAI,OAAO,EAA2B,CAAC;IAEpD,OAAO,GAAyB,SAAS,CAAC;IAE1C,YAAmB,YAA6B,EAAE,EAAE,MAAiB;QAAlD,cAAS,GAAT,SAAS,CAAsB;QAChD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IAED,4DAA4D;IAC5D,GAAG,CAAuB,KAAuB;QAC/C,6BAA6B;QAC7B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;SACpC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE3C,kCAAkC;QAClC,IAAI,QAAQ,EAAE;YACZ,OAAO,IAAI,CAAC,eAAe,CAAI,QAAQ,CAAC,GAAG,CAAC,CAAC;SAC9C;QAED,8CAA8C;QAC9C,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SAChC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,SAAS,CAAC,MAA4B;QACpC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,UAAU,GAAG,IAAI,OAAO,EAAE,CAAC;IAClC,CAAC;IAED,eAAe,CAAuB,KAAuB;QAC3D,MAAM,QAAQ,GAAG,IAAI,KAAK,EAAE,CAAC;QAE7B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAErC,IAAI,QAAQ,CAAC,UAAU,EAAE;YACvB,8CAA8C;YAC9C,+EAA+E;YAC/E,2EAA2E;YAC3E,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAEpC,6EAA6E;YAC7E,uEAAuE;YACvE,IAAI,QAAQ,CAAC,QAAQ,EAAE;gBACrB,QAAQ,CAAC,QAAQ,EAAE,CAAC;aACrB;SACF;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,aAAa,CAAC,KAAyB;QACrC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,OAAO,SAAS,CAAC;SAClB;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC9C,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,EAAE;gBACvC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aAC1B;SACF;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
|
|
@@ -17,7 +17,7 @@ describe('Injector', () => {
|
|
|
17
17
|
class B {
|
|
18
18
|
}
|
|
19
19
|
let MyService = (() => {
|
|
20
|
-
let _classDecorators = [injectable
|
|
20
|
+
let _classDecorators = [injectable];
|
|
21
21
|
let _classDescriptor;
|
|
22
22
|
let _classExtraInitializers = [];
|
|
23
23
|
let _classThis;
|
|
@@ -41,7 +41,7 @@ describe('Injector', () => {
|
|
|
41
41
|
class A {
|
|
42
42
|
}
|
|
43
43
|
let B = (() => {
|
|
44
|
-
let _classDecorators_1 = [injectable
|
|
44
|
+
let _classDecorators_1 = [injectable];
|
|
45
45
|
let _classDescriptor_1;
|
|
46
46
|
let _classExtraInitializers_1 = [];
|
|
47
47
|
let _classThis_1;
|
|
@@ -56,7 +56,7 @@ describe('Injector', () => {
|
|
|
56
56
|
return B = _classThis_1;
|
|
57
57
|
})();
|
|
58
58
|
let C = (() => {
|
|
59
|
-
let _classDecorators_2 = [injectable
|
|
59
|
+
let _classDecorators_2 = [injectable];
|
|
60
60
|
let _classDescriptor_2;
|
|
61
61
|
let _classExtraInitializers_2 = [];
|
|
62
62
|
let _classThis_2;
|
|
@@ -71,7 +71,7 @@ describe('Injector', () => {
|
|
|
71
71
|
return C = _classThis_2;
|
|
72
72
|
})();
|
|
73
73
|
let D = (() => {
|
|
74
|
-
let _classDecorators_3 = [injectable
|
|
74
|
+
let _classDecorators_3 = [injectable];
|
|
75
75
|
let _classDescriptor_3;
|
|
76
76
|
let _classExtraInitializers_3 = [];
|
|
77
77
|
let _classThis_3;
|
|
@@ -86,7 +86,7 @@ describe('Injector', () => {
|
|
|
86
86
|
return D = _classThis_3;
|
|
87
87
|
})();
|
|
88
88
|
let E = (() => {
|
|
89
|
-
let _classDecorators_4 = [injectable
|
|
89
|
+
let _classDecorators_4 = [injectable];
|
|
90
90
|
let _classDescriptor_4;
|
|
91
91
|
let _classExtraInitializers_4 = [];
|
|
92
92
|
let _classThis_4;
|
|
@@ -108,7 +108,7 @@ describe('Injector', () => {
|
|
|
108
108
|
class A {
|
|
109
109
|
}
|
|
110
110
|
let B = (() => {
|
|
111
|
-
let _classDecorators_5 = [injectable
|
|
111
|
+
let _classDecorators_5 = [injectable];
|
|
112
112
|
let _classDescriptor_5;
|
|
113
113
|
let _classExtraInitializers_5 = [];
|
|
114
114
|
let _classThis_5;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injector.test.js","sourceRoot":"","sources":["../../src/lib/injector.test.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"injector.test.js","sourceRoot":"","sources":["../../src/lib/injector.test.ts"],"names":[],"mappings":"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"}
|
package/target/lib/provider.d.ts
CHANGED
package/target/lib.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
export { Injector, Injectable
|
|
1
|
+
export { Injector, Injectable } from './lib/injector.js';
|
|
2
2
|
export { Provider, ProviderToken } from './lib/provider.js';
|
|
3
|
-
export { environment } from './lib/environment.js';
|
|
4
3
|
export { injectable } from './lib/injectable.js';
|
|
5
|
-
export { inject } from './lib/inject.js';
|
|
4
|
+
export { inject, Injected } from './lib/inject.js';
|
package/target/lib.js
CHANGED
package/target/lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAc,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAY,MAAM,iBAAiB,CAAC"}
|