mesh-ioc 4.2.0 → 4.3.0

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/out/main/dep.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import 'reflect-metadata';
2
- import { Constructor, DepMetadata } from './types.js';
2
+ import { DepMetadata, ServiceConstructor } from './types.js';
3
3
  export declare const depMetadata: DepMetadata[];
4
4
  export interface DepOptions {
5
5
  key?: string;
@@ -7,4 +7,4 @@ export interface DepOptions {
7
7
  optional?: boolean;
8
8
  }
9
9
  export declare function dep(options?: DepOptions): (target: any, propertyName: string) => void;
10
- export declare function getClassDeps(ctor: Constructor<any>): DepMetadata[];
10
+ export declare function getClassDeps(ctor: ServiceConstructor<any>): DepMetadata[];
@@ -1 +1 @@
1
- {"version":3,"file":"dep.js","sourceRoot":"","sources":["../../src/main/dep.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAQ,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG3C,MAAM,CAAC,MAAM,WAAW,GAAkB,EAAE,CAAC;AAQ7C,MAAM,UAAU,GAAG,CAAC,UAAsB,EAAE;IACxC,OAAO,UAAU,MAAW,EAAE,YAAoB;QAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;QAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QAC5E,MAAM,EACF,GAAG,GAAG,UAAU,EAAE,IAAI,EACtB,KAAK,GAAG,IAAI,EACZ,QAAQ,GAAG,KAAK,GACnB,GAAG,OAAO,CAAC;QACZ,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,MAAM,IAAI,iBAAiB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACzD,CAAC;QACD,WAAW,CAAC,IAAI,CAAC;YACb,KAAK,EAAE,MAAM,CAAC,WAAW;YACzB,YAAY;YACZ,GAAG;SACN,CAAC,CAAC;QACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE;YACxC,YAAY,EAAE,IAAI;YAClB,GAAG;gBACC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAS,CAAC;gBACpC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACR,MAAM,IAAI,uBAAuB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;gBAC/D,CAAC;gBACD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAClE,IAAI,QAAQ,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;oBAC5B,OAAO,SAAS,CAAC;gBACrB,CAAC;gBACD,IAAI,KAAK,EAAE,CAAC;oBACR,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE;wBACtC,YAAY,EAAE,IAAI;wBAClB,KAAK;qBACR,CAAC,CAAC;gBACP,CAAC;gBACD,OAAO,KAAK,CAAC;YACjB,CAAC;SACJ,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAsB;IAC/C,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,OAAO,KAAK,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QACxD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACrB,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"dep.js","sourceRoot":"","sources":["../../src/main/dep.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAQ,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG3C,MAAM,CAAC,MAAM,WAAW,GAAkB,EAAE,CAAC;AAQ7C,MAAM,UAAU,GAAG,CAAC,UAAsB,EAAE;IACxC,OAAO,UAAU,MAAW,EAAE,YAAoB;QAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;QAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QAC5E,MAAM,EACF,GAAG,GAAG,UAAU,EAAE,IAAI,EACtB,KAAK,GAAG,IAAI,EACZ,QAAQ,GAAG,KAAK,GACnB,GAAG,OAAO,CAAC;QACZ,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,MAAM,IAAI,iBAAiB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACzD,CAAC;QACD,WAAW,CAAC,IAAI,CAAC;YACb,KAAK,EAAE,MAAM,CAAC,WAAW;YACzB,YAAY;YACZ,GAAG;SACN,CAAC,CAAC;QACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE;YACxC,YAAY,EAAE,IAAI;YAClB,GAAG;gBACC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAS,CAAC;gBACpC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACR,MAAM,IAAI,uBAAuB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;gBAC/D,CAAC;gBACD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAClE,IAAI,QAAQ,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;oBAC5B,OAAO,SAAS,CAAC;gBACrB,CAAC;gBACD,IAAI,KAAK,EAAE,CAAC;oBACR,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE;wBACtC,YAAY,EAAE,IAAI;wBAClB,KAAK;qBACR,CAAC,CAAC;gBACP,CAAC;gBACD,OAAO,KAAK,CAAC;YACjB,CAAC;SACJ,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAA6B;IACtD,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,OAAO,KAAK,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QACxD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACrB,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -2,4 +2,5 @@ export * from './dep.js';
2
2
  export * from './errors.js';
3
3
  export * from './mesh.js';
4
4
  export * from './proxy.js';
5
+ export * from './scope.js';
5
6
  export * from './types.js';
package/out/main/index.js CHANGED
@@ -2,5 +2,6 @@ export * from './dep.js';
2
2
  export * from './errors.js';
3
3
  export * from './mesh.js';
4
4
  export * from './proxy.js';
5
+ export * from './scope.js';
5
6
  export * from './types.js';
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/main/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/main/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
@@ -1,15 +1,16 @@
1
- import { AbstractClass, Binding, Constructor, DepMetadata, Middleware, ServiceConstructor, ServiceKey } from './types.js';
1
+ import { AbstractClass, Binding, DepMetadata, Middleware, ScopeConstructor, ServiceConstructor, ServiceKey } from './types.js';
2
2
  export declare const MESH_REF: unique symbol;
3
3
  /**
4
4
  * An IoC container.
5
5
  *
6
6
  * Encapsulates bindings — a map that allows to associate a _service key_ with a way to obtain an instance.
7
7
  *
8
- * Three binding types are supported via corresponding methods:
8
+ * The following binding types are supported via corresponding methods:
9
9
  *
10
10
  * - `service` — a zero-arg constructor mapping; these will be instantiated on demand and cached in a mesh instance
11
11
  * - `constant` — an instance of a class (can be bound by using class as service name) or an arbitrary value bound by a string key
12
- * - `alias` — a "redirect" mapping, resolves a key into another key from the same mesh; useful in tests
12
+ * - `alias` — a "redirect" mapping, resolves a key into another key from the same mesh
13
+ * - `scope` — a constructor or a factory function that returns a mesh instance
13
14
  */
14
15
  export declare class Mesh {
15
16
  name: string;
@@ -24,6 +25,7 @@ export declare class Mesh {
24
25
  use(fn: Middleware): this;
25
26
  service<T>(impl: ServiceConstructor<T>): this;
26
27
  service<T>(key: AbstractClass<T> | string, impl: ServiceConstructor<T>): this;
28
+ scope<T extends Mesh>(ctor: ScopeConstructor<T>): this;
27
29
  constant<T>(key: ServiceKey<T>, value: T): this;
28
30
  alias<T>(key: AbstractClass<T> | string, referenceKey: AbstractClass<T> | string): this;
29
31
  delete<T>(key: ServiceKey<T>): this;
@@ -33,7 +35,7 @@ export declare class Mesh {
33
35
  allBindings(): Iterable<[string, Binding<any>]>;
34
36
  missingDeps(): Iterable<DepMetadata>;
35
37
  allDeps(): Iterable<DepMetadata>;
36
- traverseClassDeps(ctor: Constructor<any>, visitedKeys?: Set<string>): Iterable<DepMetadata>;
38
+ traverseClassDeps(ctor: ServiceConstructor<any>, visitedKeys?: Set<string>): Iterable<DepMetadata>;
37
39
  instantiate<T>(binding: Binding<T>): T;
38
40
  protected applyMiddleware<T>(value: T): T;
39
41
  protected injectRef(value: any): void;
package/out/main/mesh.js CHANGED
@@ -7,11 +7,12 @@ export const MESH_REF = Symbol.for('MESH_REF');
7
7
  *
8
8
  * Encapsulates bindings — a map that allows to associate a _service key_ with a way to obtain an instance.
9
9
  *
10
- * Three binding types are supported via corresponding methods:
10
+ * The following binding types are supported via corresponding methods:
11
11
  *
12
12
  * - `service` — a zero-arg constructor mapping; these will be instantiated on demand and cached in a mesh instance
13
13
  * - `constant` — an instance of a class (can be bound by using class as service name) or an arbitrary value bound by a string key
14
- * - `alias` — a "redirect" mapping, resolves a key into another key from the same mesh; useful in tests
14
+ * - `alias` — a "redirect" mapping, resolves a key into another key from the same mesh
15
+ * - `scope` — a constructor or a factory function that returns a mesh instance
15
16
  */
16
17
  export class Mesh {
17
18
  constructor(name = 'default', parent = undefined) {
@@ -21,6 +22,7 @@ export class Mesh {
21
22
  this.instances = new Map();
22
23
  this.middlewares = [];
23
24
  this.constant(Mesh, this);
25
+ this.injectRef(this);
24
26
  }
25
27
  *[Symbol.iterator]() {
26
28
  yield* this.bindings.entries();
@@ -52,6 +54,18 @@ export class Mesh {
52
54
  }
53
55
  throw new MeshInvalidBinding(String(key));
54
56
  }
57
+ scope(key, ctor) {
58
+ const k = keyToString(key);
59
+ if (typeof ctor === 'function') {
60
+ this.bindings.set(k, { type: 'scope', constructor: ctor });
61
+ return this;
62
+ }
63
+ else if (typeof key === 'function') {
64
+ this.bindings.set(k, { type: 'scope', constructor: key });
65
+ return this;
66
+ }
67
+ throw new MeshInvalidBinding(String(key));
68
+ }
55
69
  constant(key, value) {
56
70
  const k = keyToString(key);
57
71
  this.bindings.set(k, { type: 'constant', value });
@@ -156,6 +170,8 @@ export class Mesh {
156
170
  }
157
171
  case 'constant':
158
172
  return binding.value;
173
+ case 'scope':
174
+ return binding.constructor;
159
175
  }
160
176
  }
161
177
  applyMiddleware(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"mesh.js","sourceRoot":"","sources":["../../src/main/mesh.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mesh.js","sourceRoot":"","sources":["../../src/main/mesh.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import 'reflect-metadata';
2
+ import { Mesh } from './mesh.js';
3
+ import { ScopeConstructor } from './types.js';
4
+ export declare function scope<T extends Mesh>(serviceKey: ScopeConstructor<T> | string): (target: any, propertyName: string) => void;
@@ -0,0 +1,19 @@
1
+ import 'reflect-metadata';
2
+ import { DepInstanceNotConnected } from './errors.js';
3
+ import { MESH_REF } from './mesh.js';
4
+ export function scope(serviceKey) {
5
+ return function (target, propertyName) {
6
+ const className = target.constructor.name;
7
+ Object.defineProperty(target, propertyName, {
8
+ get() {
9
+ const mesh = this[MESH_REF];
10
+ if (!mesh) {
11
+ throw new DepInstanceNotConnected(className, propertyName);
12
+ }
13
+ const ctor = mesh.resolve(serviceKey);
14
+ return (customParent) => new ctor(customParent ?? mesh);
15
+ },
16
+ });
17
+ };
18
+ }
19
+ //# sourceMappingURL=scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/main/scope.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAQ,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG3C,MAAM,UAAU,KAAK,CAAiB,UAAwC;IAC1E,OAAO,UAAU,MAAW,EAAE,YAAoB;QAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;QAC1C,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE;YACxC,GAAG;gBACC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5B,IAAI,CAAC,IAAI,EAAE,CAAC;oBACR,MAAM,IAAI,uBAAuB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;gBAC/D,CAAC;gBACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBACtC,OAAO,CAAC,YAAmB,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC;YACnE,CAAC;SACJ,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC"}
@@ -1,12 +1,16 @@
1
- export type Constructor<T> = new (...args: any[]) => T;
2
- export type ServiceConstructor<T> = new () => T;
1
+ import { Mesh } from './mesh.js';
3
2
  export interface AbstractClass<T> {
4
3
  name: string;
5
4
  prototype: T;
6
5
  }
6
+ export type Constructor<T> = new (...args: any[]) => T;
7
+ export type Factory<T> = (...args: any[]) => T;
8
+ export type ServiceConstructor<T> = new () => T;
7
9
  export type ServiceKey<T> = ServiceConstructor<T> | AbstractClass<T> | string;
10
+ export type ScopeConstructor<T extends Mesh = Mesh> = new (mesh: Mesh) => T;
11
+ export type ScopeProvider<T extends Mesh = Mesh> = (mesh?: Mesh) => T;
8
12
  export type Middleware = (instance: any) => any;
9
- export type Binding<T> = ConstantBinding<T> | ServiceBinding<T> | AliasBinding;
13
+ export type Binding<T> = ConstantBinding<T> | ServiceBinding<T> | AliasBinding | ScopeBinding;
10
14
  export interface ConstantBinding<T> {
11
15
  type: 'constant';
12
16
  value: T;
@@ -19,6 +23,10 @@ export interface AliasBinding {
19
23
  type: 'alias';
20
24
  key: string;
21
25
  }
26
+ export interface ScopeBinding {
27
+ type: 'scope';
28
+ constructor: ScopeConstructor<any>;
29
+ }
22
30
  export interface DepMetadata {
23
31
  class: any;
24
32
  propertyName: string;
@@ -1,2 +1,4 @@
1
- import { ServiceKey } from './types.js';
1
+ import { Constructor, Factory, ServiceConstructor, ServiceKey } from './types.js';
2
2
  export declare function keyToString<T>(key: ServiceKey<T>): string;
3
+ export declare function isConstructor(v: unknown): v is ServiceConstructor<any>;
4
+ export declare function instantiate<T>(constructorOrFactory: Constructor<T> | Factory<T>, ...args: any[]): T;
package/out/main/util.js CHANGED
@@ -1,4 +1,13 @@
1
1
  export function keyToString(key) {
2
2
  return typeof key === 'string' ? key : key.name;
3
3
  }
4
+ export function isConstructor(v) {
5
+ return typeof v === 'function' && v.prototype != null;
6
+ }
7
+ export function instantiate(constructorOrFactory, ...args) {
8
+ if (isConstructor(constructorOrFactory)) {
9
+ return new constructorOrFactory(...args);
10
+ }
11
+ return constructorOrFactory(...args);
12
+ }
4
13
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/main/util.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CAAI,GAAkB;IAC7C,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/main/util.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CAAI,GAAkB;IAC7C,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAU;IACpC,OAAO,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,WAAW,CAAI,oBAAiD,EAAE,GAAG,IAAW;IAC5F,IAAI,aAAa,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACtC,OAAO,IAAI,oBAAoB,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,oBAAoB,CAAC,GAAG,IAAI,CAAC,CAAC;AACzC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mesh-ioc",
3
- "version": "4.2.0",
3
+ "version": "4.3.0",
4
4
  "description": "Powerful and Lightweight IoC Library",
5
5
  "type": "module",
6
6
  "sideEffects": false,