@joist/di 4.0.0-next.11 → 4.0.0-next.13

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@joist/di",
3
- "version": "4.0.0-next.11",
3
+ "version": "4.0.0-next.13",
4
4
  "type": "module",
5
5
  "main": "./target/lib.js",
6
6
  "module": "./target/lib.js",
@@ -23,9 +23,12 @@ it('should locally override a provider', () => {
23
23
 
24
24
  it('should define an injector for a service instance', () => {
25
25
  @injectable()
26
- class MyService {}
26
+ class MyService {
27
+ constructor(public arg = 'a') {}
28
+ }
27
29
 
28
- const instance = new MyService();
30
+ const instance = new MyService('b');
29
31
 
30
32
  assert.ok(injectables.has(instance));
33
+ assert.ok(instance.arg === 'b');
31
34
  });
@@ -14,8 +14,8 @@ export function injectable(opts?: InjectableOpts) {
14
14
  ctx: ClassDecoratorContext
15
15
  ) {
16
16
  class Injectable extends Base {
17
- constructor(..._: any[]) {
18
- super();
17
+ constructor(...args: any[]) {
18
+ super(...args);
19
19
 
20
20
  injectables.set(this, new Injector(opts?.providers));
21
21
  }
@@ -39,6 +39,7 @@ export declare function injectableEl<T extends ConstructableToken<HTMLElement>>(
39
39
  readonly clientTop: number;
40
40
  readonly clientWidth: number;
41
41
  id: string;
42
+ innerHTML: string;
42
43
  readonly localName: string;
43
44
  readonly namespaceURI: string | null;
44
45
  onfullscreenchange: ((this: Element, ev: Event) => any) | null;
@@ -78,12 +79,13 @@ export declare function injectableEl<T extends ConstructableToken<HTMLElement>>(
78
79
  getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf<SVGElement>;
79
80
  getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1998/Math/MathML", localName: string): HTMLCollectionOf<MathMLElement>;
80
81
  getElementsByTagNameNS(namespace: string | null, localName: string): HTMLCollectionOf<Element>;
82
+ getHTML(options?: GetHTMLOptions): string;
81
83
  hasAttribute(qualifiedName: string): boolean;
82
84
  hasAttributeNS(namespace: string | null, localName: string): boolean;
83
85
  hasAttributes(): boolean;
84
86
  hasPointerCapture(pointerId: number): boolean;
85
87
  insertAdjacentElement(where: InsertPosition, element: Element): Element | null;
86
- insertAdjacentHTML(position: InsertPosition, text: string): void;
88
+ insertAdjacentHTML(position: InsertPosition, string: string): void;
87
89
  insertAdjacentText(where: InsertPosition, data: string): void;
88
90
  matches(selectors: string): boolean;
89
91
  releasePointerCapture(pointerId: number): void;
@@ -91,7 +93,7 @@ export declare function injectableEl<T extends ConstructableToken<HTMLElement>>(
91
93
  removeAttributeNS(namespace: string | null, localName: string): void;
92
94
  removeAttributeNode(attr: Attr): Attr;
93
95
  requestFullscreen(options?: FullscreenOptions): Promise<void>;
94
- requestPointerLock(): void;
96
+ requestPointerLock(options?: PointerLockOptions): Promise<void>;
95
97
  scroll(options?: ScrollToOptions): void;
96
98
  scroll(x: number, y: number): void;
97
99
  scrollBy(options?: ScrollToOptions): void;
@@ -201,7 +203,6 @@ export declare function injectableEl<T extends ConstructableToken<HTMLElement>>(
201
203
  before(...nodes: (Node | string)[]): void;
202
204
  remove(): void;
203
205
  replaceWith(...nodes: (Node | string)[]): void;
204
- innerHTML: string;
205
206
  readonly nextElementSibling: Element | null;
206
207
  readonly previousElementSibling: Element | null;
207
208
  readonly childElementCount: number;
@@ -243,7 +244,9 @@ export declare function injectableEl<T extends ConstructableToken<HTMLElement>>(
243
244
  onchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
244
245
  onclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
245
246
  onclose: ((this: GlobalEventHandlers, ev: Event) => any) | null;
247
+ oncontextlost: ((this: GlobalEventHandlers, ev: Event) => any) | null;
246
248
  oncontextmenu: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
249
+ oncontextrestored: ((this: GlobalEventHandlers, ev: Event) => any) | null;
247
250
  oncopy: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;
248
251
  oncuechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
249
252
  oncut: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;
@@ -3,7 +3,7 @@ export interface InjectableOpts {
3
3
  providers?: Provider<unknown>[];
4
4
  }
5
5
  export declare function injectable(opts?: InjectableOpts): <T extends ConstructableToken<any>>(Base: T, ctx: ClassDecoratorContext) => {
6
- new (..._: any[]): {
6
+ new (...args: any[]): {
7
7
  [x: string]: any;
8
8
  };
9
9
  } & T;
@@ -4,8 +4,8 @@ import { injectableEl } from './injectable-el.js';
4
4
  export function injectable(opts) {
5
5
  return function injectableDecorator(Base, ctx) {
6
6
  class Injectable extends Base {
7
- constructor(..._) {
8
- super();
7
+ constructor(...args) {
8
+ super(...args);
9
9
  injectables.set(this, new Injector(opts?.providers));
10
10
  }
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"injectable.js","sourceRoot":"","sources":["../../src/lib/injectable.ts"],"names":[],"mappings":"AAAC,MAAc,CAAC,QAAQ,KAAK,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAGvD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMlD,MAAM,UAAU,UAAU,CAAC,IAAqB;IAC9C,OAAO,SAAS,mBAAmB,CACjC,IAAO,EACP,GAA0B;QAE1B,MAAM,UAAW,SAAQ,IAAI;YAC3B,YAAY,GAAG,CAAQ;gBACrB,KAAK,EAAE,CAAC;gBAER,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;YACvD,CAAC;SACF;QAGD,IAAI,aAAa,IAAI,UAAU,EAAE,CAAC;YAChC,IAAI,WAAW,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxD,OAAO,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"injectable.js","sourceRoot":"","sources":["../../src/lib/injectable.ts"],"names":[],"mappings":"AAAC,MAAc,CAAC,QAAQ,KAAK,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAGvD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMlD,MAAM,UAAU,UAAU,CAAC,IAAqB;IAC9C,OAAO,SAAS,mBAAmB,CACjC,IAAO,EACP,GAA0B;QAE1B,MAAM,UAAW,SAAQ,IAAI;YAC3B,YAAY,GAAG,IAAW;gBACxB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;gBAEf,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;YACvD,CAAC;SACF;QAGD,IAAI,aAAa,IAAI,UAAU,EAAE,CAAC;YAChC,IAAI,WAAW,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxD,OAAO,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC"}
@@ -46,10 +46,15 @@ it('should define an injector for a service instance', () => {
46
46
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
47
47
  __runInitializers(_classThis, _classExtraInitializers);
48
48
  }
49
+ arg;
50
+ constructor(arg = 'a') {
51
+ this.arg = arg;
52
+ }
49
53
  };
50
54
  return MyService = _classThis;
51
55
  })();
52
- const instance = new MyService();
56
+ const instance = new MyService('b');
53
57
  assert.ok(injectables.has(instance));
58
+ assert.ok(instance.arg === 'b');
54
59
  });
55
60
  //# sourceMappingURL=injectable.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"injectable.test.js","sourceRoot":"","sources":["../../src/lib/injectable.test.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAC5C,MAAM,GAAG;KAAG;IAEZ,MAAM,GAAI,SAAQ,GAAG;KAAG;QAKlB,SAAS;gCAHd,UAAU,CAAC;gBACV,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;aACxC,CAAC;;;;;;;;gBACF,6KAEC;;;gBAFK,uDAAS;;YACb,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;;;;IAGpB,MAAM,EAAE,GAAG,IAAI,SAAS,EAAE,CAAC;IAE3B,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAEpD,SAAS;gCADd,UAAU,EAAE;;;;;;;;gBACb,6KAAkB;;;gBAAZ,uDAAS;;;;;IAEf,MAAM,QAAQ,GAAG,IAAI,SAAS,EAAE,CAAC;IAEjC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"injectable.test.js","sourceRoot":"","sources":["../../src/lib/injectable.test.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAC5C,MAAM,GAAG;KAAG;IAEZ,MAAM,GAAI,SAAQ,GAAG;KAAG;QAKlB,SAAS;gCAHd,UAAU,CAAC;gBACV,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;aACxC,CAAC;;;;;;;;gBACF,6KAEC;;;gBAFK,uDAAS;;YACb,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;;;;IAGpB,MAAM,EAAE,GAAG,IAAI,SAAS,EAAE,CAAC;IAE3B,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAEpD,SAAS;gCADd,UAAU,EAAE;;;;;;;;gBACb,6KAEC;;;gBAFK,uDAAS;;YACM,GAAG;YAAtB,YAAmB,GAAG,GAAG,GAAG;gBAAT,QAAG,GAAH,GAAG,CAAM;YAAG,CAAC;;;;IAGlC,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;IAEpC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC"}