@joist/di 3.9.0 → 3.9.1

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.
@@ -3,7 +3,7 @@ import { expect } from '@open-wc/testing';
3
3
  import { Injector } from './injector.js';
4
4
  import { inject } from './inject.js';
5
5
  import { injectable } from './injectable.js';
6
- import { Provider, token } from './provider.js';
6
+ import { Provider, StaticToken } from './provider.js';
7
7
 
8
8
  describe('Injector', () => {
9
9
  it('should create a new instance of a single provider', () => {
@@ -148,7 +148,7 @@ describe('Injector', () => {
148
148
  });
149
149
 
150
150
  it('should create an instance from a StaticToken factory', () => {
151
- const TOKEN = token('test', () => 'Hello World');
151
+ const TOKEN = new StaticToken('test', () => 'Hello World');
152
152
  const injector = new Injector();
153
153
 
154
154
  const res = injector.inject(TOKEN);
@@ -157,7 +157,7 @@ describe('Injector', () => {
157
157
  });
158
158
 
159
159
  it('should create an instance from an async StaticToken factory', async () => {
160
- const TOKEN = token('test', () => Promise.resolve('Hello World'));
160
+ const TOKEN = new StaticToken('test', () => Promise.resolve('Hello World'));
161
161
  const injector = new Injector();
162
162
 
163
163
  const res = await injector.inject(TOKEN);
@@ -166,7 +166,7 @@ describe('Injector', () => {
166
166
  });
167
167
 
168
168
  it('should allow static token to be overridden', () => {
169
- const TOKEN = token<string>('test');
169
+ const TOKEN = new StaticToken<string>('test');
170
170
 
171
171
  const provider: Provider<string> = {
172
172
  provide: TOKEN,
@@ -1,7 +1,9 @@
1
- import { INJECTABLE_MAP } from './injectable.js';
1
+ import { InjectableMap } from './injectable-map.js';
2
2
  import { LifeCycle } from './lifecycle.js';
3
3
  import { InjectionToken, Provider, StaticToken } from './provider.js';
4
4
 
5
+ export const INJECTABLE_MAP = new InjectableMap();
6
+
5
7
  /**
6
8
  * Injectors create and store instances of services.
7
9
  * A service is any constructable class.
@@ -136,9 +138,6 @@ export class Injector {
136
138
  }
137
139
  }
138
140
 
139
- export function injector(providers: Provider<unknown>[] = [], parent?: Injector) {
140
- return new Injector(providers, parent);
141
- }
142
141
  function callLifecycle(instance: unknown, method: symbol) {
143
142
  if (typeof instance === 'object' && instance !== null) {
144
143
  const lifecycle = Reflect.get(instance, method);
@@ -1,4 +1,5 @@
1
1
  import { expect } from '@open-wc/testing';
2
+
2
3
  import { Injector } from './injector.js';
3
4
  import { LifeCycle } from './lifecycle.js';
4
5
  import { injectable } from './injectable';
@@ -10,10 +10,6 @@ export class StaticToken<T> {
10
10
  }
11
11
  }
12
12
 
13
- export function token<T>(name: string, factory?: () => T) {
14
- return new StaticToken(name, factory);
15
- }
16
-
17
13
  export interface ConstructableToken<T> {
18
14
  providers?: Provider<any>[];
19
15
 
package/src/lib.ts CHANGED
@@ -1,6 +1,6 @@
1
- export { Injector } from './lib/injector.js';
2
- export { Provider, ConstructableToken, StaticToken, token } from './lib/provider.js';
3
- export { injectable, INJECTABLE_MAP } from './lib/injectable.js';
1
+ export { Injector, INJECTABLE_MAP } from './lib/injector.js';
2
+ export { Provider, ConstructableToken, StaticToken } from './lib/provider.js';
3
+ export { injectable } from './lib/injectable.js';
4
4
  export { inject, Injected } from './lib/inject.js';
5
5
  export { defineEnvironment, clearEnvironment } from './lib/environment.js';
6
6
  export { LifeCycle } from './lib/lifecycle.js';
@@ -1,4 +1,4 @@
1
- import { INJECTABLE_MAP } from './injectable.js';
1
+ import { INJECTABLE_MAP } from './injector.js';
2
2
  export function inject(token) {
3
3
  return function () {
4
4
  const injector = INJECTABLE_MAP.get(this);
@@ -1 +1 @@
1
- {"version":3,"file":"inject.js","sourceRoot":"","sources":["../../src/lib/inject.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIjD,MAAM,UAAU,MAAM,CACpB,KAAwB;IAExB,OAAO;QACL,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE1C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;YAE1D,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,yKAAyK,CACjL,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"inject.js","sourceRoot":"","sources":["../../src/lib/inject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAK/C,MAAM,UAAU,MAAM,CAAyB,KAAwB;IACrE,OAAO;QACL,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE1C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;YAE1D,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,yKAAyK,CACjL,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC;AACJ,CAAC"}
@@ -1,6 +1,4 @@
1
1
  import { ConstructableToken } from './provider.js';
2
- import { InjectableMap } from './injectable-map.js';
3
- export declare const INJECTABLE_MAP: InjectableMap;
4
2
  export declare function injectable<T extends ConstructableToken<any>>(Base: T, _?: unknown): {
5
3
  new (..._: any[]): {
6
4
  [x: string]: any;
@@ -1,38 +1,30 @@
1
- import { Injector } from './injector.js';
1
+ import { INJECTABLE_MAP, Injector } from './injector.js';
2
2
  import { environment } from './environment.js';
3
- import { InjectableMap } from './injectable-map.js';
4
- export const INJECTABLE_MAP = new InjectableMap();
5
3
  export function injectable(Base, _) {
6
4
  return class InjectableNode extends Base {
7
5
  constructor(..._) {
8
6
  super();
9
7
  const injector = new Injector(Base.providers);
10
8
  INJECTABLE_MAP.set(this, injector);
11
- try {
12
- if (this instanceof HTMLElement) {
13
- this.addEventListener('finddiroot', (e) => {
14
- const parentInjector = findInjectorRoot(e);
15
- if (parentInjector !== null) {
16
- injector.setParent(parentInjector);
17
- }
18
- else {
19
- injector.setParent(environment());
20
- }
21
- });
22
- }
9
+ if ('HTMLElement' in globalThis && this instanceof HTMLElement) {
10
+ this.addEventListener('finddiroot', (e) => {
11
+ const parentInjector = findInjectorRoot(e);
12
+ if (parentInjector !== null) {
13
+ injector.setParent(parentInjector);
14
+ }
15
+ else {
16
+ injector.setParent(environment());
17
+ }
18
+ });
23
19
  }
24
- catch { }
25
20
  }
26
21
  connectedCallback() {
27
- try {
28
- if (this instanceof HTMLElement) {
29
- this.dispatchEvent(new Event('finddiroot'));
30
- if (super.connectedCallback) {
31
- super.connectedCallback();
32
- }
22
+ if ('HTMLElement' in globalThis && this instanceof HTMLElement) {
23
+ this.dispatchEvent(new Event('finddiroot'));
24
+ if (super.connectedCallback) {
25
+ super.connectedCallback();
33
26
  }
34
27
  }
35
- catch { }
36
28
  }
37
29
  disconnectedCallback() {
38
30
  const injector = INJECTABLE_MAP.get(this);
@@ -1 +1 @@
1
- {"version":3,"file":"injectable.js","sourceRoot":"","sources":["../../src/lib/injectable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,aAAa,EAAE,CAAC;AAElD,MAAM,UAAU,UAAU,CAAoC,IAAO,EAAE,CAAW;IAChF,OAAO,MAAM,cAAe,SAAQ,IAAI;QACtC,YAAY,GAAG,CAAQ;YACrB,KAAK,EAAE,CAAC;YAER,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAE9C,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAEnC,IAAI,CAAC;gBACH,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;oBAChC,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;wBACxC,MAAM,cAAc,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;wBAE3C,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;4BAC5B,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;wBACrC,CAAC;6BAAM,CAAC;4BACN,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;wBACpC,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;QAED,iBAAiB;YACf,IAAI,CAAC;gBACH,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;oBAChC,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;oBAE5C,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;wBAC5B,KAAK,CAAC,iBAAiB,EAAE,CAAC;oBAC5B,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;QAED,oBAAoB;YAClB,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAE1C,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC;YAED,IAAI,KAAK,CAAC,oBAAoB,EAAE,CAAC;gBAC/B,KAAK,CAAC,oBAAoB,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAQ;IAChC,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;IAI9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAErB,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE1C,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"injectable.js","sourceRoot":"","sources":["../../src/lib/injectable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,UAAU,UAAU,CAAoC,IAAO,EAAE,CAAW;IAChF,OAAO,MAAM,cAAe,SAAQ,IAAI;QACtC,YAAY,GAAG,CAAQ;YACrB,KAAK,EAAE,CAAC;YAGR,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9C,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAInC,IAAI,aAAa,IAAI,UAAU,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;gBAC/D,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,CAAC;wBAC5B,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;oBACrC,CAAC;yBAAM,CAAC;wBACN,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,iBAAiB;YACf,IAAI,aAAa,IAAI,UAAU,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;gBAC/D,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;gBAE5C,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;oBAC5B,KAAK,CAAC,iBAAiB,EAAE,CAAC;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC;QAED,oBAAoB;YAClB,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAE1C,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC;YAED,IAAI,KAAK,CAAC,oBAAoB,EAAE,CAAC;gBAC/B,KAAK,CAAC,oBAAoB,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAQ;IAChC,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;IAI9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAErB,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE1C,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -2,7 +2,6 @@ import { __esDecorate, __runInitializers } from "tslib";
2
2
  import { expect, fixture, html } from '@open-wc/testing';
3
3
  import { injectable } from './injectable.js';
4
4
  import { inject } from './inject.js';
5
- import { Injector } from './injector.js';
6
5
  describe('@injectable()', () => {
7
6
  it('should allow a custom element to be injected with deps', () => {
8
7
  class Foo {
@@ -45,32 +44,6 @@ describe('@injectable()', () => {
45
44
  const el = new MyElement();
46
45
  expect(el.foo()).to.be.instanceOf(Bar);
47
46
  });
48
- it('should call the onInject lifecycle hook', () => {
49
- class A {
50
- }
51
- let B = (() => {
52
- let _classDecorators = [injectable];
53
- let _classDescriptor;
54
- let _classExtraInitializers = [];
55
- let _classThis;
56
- var B = class {
57
- static { _classThis = this; }
58
- static {
59
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
60
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
61
- B = _classThis = _classDescriptor.value;
62
- if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
63
- __runInitializers(_classThis, _classExtraInitializers);
64
- }
65
- a = inject(A);
66
- onInject() {
67
- expect(this.a()).to.be.instanceOf(A);
68
- }
69
- };
70
- return B = _classThis;
71
- })();
72
- new Injector().inject(B);
73
- });
74
47
  it('should handle parent HTML Injectors', async () => {
75
48
  let A = (() => {
76
49
  let _classDecorators = [injectable];
@@ -1 +1 @@
1
- {"version":3,"file":"injectable.test.js","sourceRoot":"","sources":["../../src/lib/injectable.test.ts"],"names":[],"mappings":"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"}
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;AAErC,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;;;;8BACa,WAAW;iCAAnB,SAAQ,WAAW;;;;oBAAnC,6KAGC;;;oBAHK,uDAAS;;gBACb,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAClB,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;;;;QAGpB,cAAc,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QAEjD,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAc,CAAC;QAE/D,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,GAAG;SAAG;QAEZ,MAAM,GAAI,SAAQ,GAAG;SAAG;QAExB,MAAM,SAAS,GAAG,UAAU,CAC1B;YACE,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAEhD,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;SACnB,CACF,CAAC;QAEF,MAAM,EAAE,GAAG,IAAI,SAAS,EAAE,CAAC;QAE3B,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YAE7C,CAAC;oCADN,UAAU;;;;;;;;oBACX,6KAAU;;;oBAAJ,uDAAC;;;;;QAEP,MAAM,CAAC,GAAG,UAAU,CAClB;YACE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;SACf,CACF,CAAC;QAEF,MAAM,IAAI;SAAgB;YAGpB,MAAM;oCADX,UAAU;;;;8BACU,WAAW;8BAAnB,SAAQ,WAAW;;;;oBAAhC,6KAKC;;;;gBAJC,MAAM,CAAC,SAAS,GAAG;oBACjB,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;oBACtB,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE;iBAC1B,CAAC;;oBAJE,uDAAM;;;;;YAQN,KAAK;oCADV,UAAU;;;;8BACS,WAAW;6BAAnB,SAAQ,WAAW;;;;oBAA/B,6KAEC;;;oBAFK,uDAAK;;gBACT,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;;;;QAGhB,cAAc,CAAC,MAAM,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;QACrD,cAAc,CAAC,MAAM,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAEnD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAA;;;;KAI5B,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,EAAE,CAAC,aAAa,CAAQ,oBAAoB,CAAE,CAAC;QAE7D,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,CAAC;SAAG;QACV,MAAM,IAAI;SAAgB;YAGpB,IAAI;oCADT,UAAU;;;;8BACQ,WAAW;4BAAnB,SAAQ,WAAW;;;;oBAA9B,6KAEC;;;;gBADC,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;;oBADxC,uDAAI;;;;;YAKJ,IAAI;oCADT,UAAU;;;;8BACQ,WAAW;4BAAnB,SAAQ,WAAW;;;;oBAA9B,6KAEC;;;;gBADC,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;;oBAD3C,uDAAI;;;;;YAKJ,KAAK;oCADV,UAAU;;;;8BACS,WAAW;6BAAnB,SAAQ,WAAW;;;;oBAA/B,6KAEC;;;oBAFK,uDAAK;;gBACT,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;;;;QAGhB,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACrC,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACrC,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAE1C,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAA;;;;;;;;KAQ5B,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAE,CAAC;QAExC,IAAI,KAAK,GAAG,EAAE,CAAC,aAAa,CAAQ,WAAW,CAAE,CAAC;QAElD,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAEtC,KAAK,CAAC,MAAM,EAAE,CAAC;QAEf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEnB,KAAK,GAAG,EAAE,CAAC,aAAa,CAAQ,WAAW,CAAE,CAAC;QAE9C,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,4 +1,6 @@
1
+ import { InjectableMap } from './injectable-map.js';
1
2
  import { InjectionToken, Provider } from './provider.js';
3
+ export declare const INJECTABLE_MAP: InjectableMap;
2
4
  export declare class Injector {
3
5
  #private;
4
6
  parent: Injector | undefined;
@@ -9,4 +11,3 @@ export declare class Injector {
9
11
  setParent(parent: Injector | undefined): void;
10
12
  clear(): void;
11
13
  }
12
- export declare function injector(providers?: Provider<unknown>[], parent?: Injector): Injector;
@@ -1,6 +1,7 @@
1
- import { INJECTABLE_MAP } from './injectable.js';
1
+ import { InjectableMap } from './injectable-map.js';
2
2
  import { LifeCycle } from './lifecycle.js';
3
3
  import { StaticToken } from './provider.js';
4
+ export const INJECTABLE_MAP = new InjectableMap();
4
5
  export class Injector {
5
6
  #instances = new WeakMap();
6
7
  parent;
@@ -74,9 +75,6 @@ export class Injector {
74
75
  return undefined;
75
76
  }
76
77
  }
77
- export function injector(providers = [], parent) {
78
- return new Injector(providers, parent);
79
- }
80
78
  function callLifecycle(instance, method) {
81
79
  if (typeof instance === 'object' && instance !== null) {
82
80
  const lifecycle = Reflect.get(instance, method);
@@ -1 +1 @@
1
- {"version":3,"file":"injector.js","sourceRoot":"","sources":["../../src/lib/injector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"injector.js","sourceRoot":"","sources":["../../src/lib/injector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,231 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"injector.test-node.js","sourceRoot":"","sources":["../../src/lib/injector.test-node.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { expect } from '@open-wc/testing';
3
3
  import { Injector } from './injector.js';
4
4
  import { inject } from './inject.js';
5
5
  import { injectable } from './injectable.js';
6
- import { token } from './provider.js';
6
+ import { StaticToken } from './provider.js';
7
7
  describe('Injector', () => {
8
8
  it('should create a new instance of a single provider', () => {
9
9
  class A {
@@ -204,19 +204,19 @@ describe('Injector', () => {
204
204
  injector.inject(Service);
205
205
  });
206
206
  it('should create an instance from a StaticToken factory', () => {
207
- const TOKEN = token('test', () => 'Hello World');
207
+ const TOKEN = new StaticToken('test', () => 'Hello World');
208
208
  const injector = new Injector();
209
209
  const res = injector.inject(TOKEN);
210
210
  expect(res).to.equal('Hello World');
211
211
  });
212
212
  it('should create an instance from an async StaticToken factory', async () => {
213
- const TOKEN = token('test', () => Promise.resolve('Hello World'));
213
+ const TOKEN = new StaticToken('test', () => Promise.resolve('Hello World'));
214
214
  const injector = new Injector();
215
215
  const res = await injector.inject(TOKEN);
216
216
  expect(res).to.equal('Hello World');
217
217
  });
218
218
  it('should allow static token to be overridden', () => {
219
- const TOKEN = token('test');
219
+ const TOKEN = new StaticToken('test');
220
220
  const provider = {
221
221
  provide: TOKEN,
222
222
  factory() {
@@ -1 +1 @@
1
- {"version":3,"file":"injector.test.js","sourceRoot":"","sources":["../../src/lib/injector.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"injector.test.js","sourceRoot":"","sources":["../../src/lib/injector.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.test.js","sourceRoot":"","sources":["../../src/lib/lifecycle.test.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC;QAEzB,MAAM,GAAG,GAAG;YACV,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,CAAC;SACZ,CAAC;YAGI,SAAS;oCADd,UAAU;;;;;;;;oBACX,6KAQC;;;oBARK,uDAAS;;gBACb,CAAC,SAAS,CAAC,MAAM,CAAC;oBAChB,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,CAAC;gBAED,CAAC,SAAS,CAAC,QAAQ,CAAC;oBAClB,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACjB,CAAC;;;;QAGH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEpB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YACxB,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,CAAC;SACZ,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC;QAEzB,MAAM,GAAG,GAAG;YACV,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,CAAC;SACZ,CAAC;YAGI,SAAS;oCADd,UAAU;;;;;;;;oBACX,6KAQC;;;oBARK,uDAAS;;gBACb,CAAC,SAAS,CAAC,MAAM,CAAC;oBAChB,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,CAAC;gBAED,CAAC,SAAS,CAAC,QAAQ,CAAC;oBAClB,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACjB,CAAC;;;;QAGH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEpB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YACxB,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,CAAC;SACZ,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,MAAM,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC;QAEzB,MAAM,GAAG,GAAG;YACV,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,CAAC;SACZ,CAAC;YAGI,SAAS;oCADd,UAAU;;;;;;;;oBACX,6KAQC;;;oBARK,uDAAS;;gBACb,CAAC,SAAS,CAAC,MAAM,CAAC;oBAChB,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,CAAC;gBAED,CAAC,SAAS,CAAC,QAAQ,CAAC;oBAClB,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACjB,CAAC;;;;YAIG,KAAK;oCADV,UAAU;;;;;;;;oBACX,6KAEC;;;oBAFK,uDAAK;;gBACT,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;;;;QAG9B,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QAC1B,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEpB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YACxB,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,CAAC;SACZ,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"lifecycle.test.js","sourceRoot":"","sources":["../../src/lib/lifecycle.test.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,6 @@ export declare class StaticToken<T> {
4
4
  factory: (() => T) | undefined;
5
5
  constructor(name: string, factory?: () => T);
6
6
  }
7
- export declare function token<T>(name: string, factory?: () => T): StaticToken<T>;
8
7
  export interface ConstructableToken<T> {
9
8
  providers?: Provider<any>[];
10
9
  new (...args: any[]): T;
@@ -6,7 +6,4 @@ export class StaticToken {
6
6
  this.factory = factory;
7
7
  }
8
8
  }
9
- export function token(name, factory) {
10
- return new StaticToken(name, factory);
11
- }
12
9
  //# sourceMappingURL=provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/lib/provider.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,WAAW;IACtB,IAAI,CAAC;IACL,OAAO,CAAC;IAER,YAAY,IAAY,EAAE,OAAiB;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED,MAAM,UAAU,KAAK,CAAI,IAAY,EAAE,OAAiB;IACtD,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/lib/provider.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,WAAW;IACtB,IAAI,CAAC;IACL,OAAO,CAAC;IAER,YAAY,IAAY,EAAE,OAAiB;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF"}
package/target/lib.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- export { Injector } from './lib/injector.js';
2
- export { Provider, ConstructableToken, StaticToken, token } from './lib/provider.js';
3
- export { injectable, INJECTABLE_MAP } from './lib/injectable.js';
1
+ export { Injector, INJECTABLE_MAP } from './lib/injector.js';
2
+ export { Provider, ConstructableToken, StaticToken } from './lib/provider.js';
3
+ export { injectable } from './lib/injectable.js';
4
4
  export { inject, Injected } from './lib/inject.js';
5
5
  export { defineEnvironment, clearEnvironment } from './lib/environment.js';
6
6
  export { LifeCycle } from './lib/lifecycle.js';