react-obsidian 0.0.21 → 0.0.22

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 CHANGED
@@ -1,6 +1,10 @@
1
1
  [![SWUbanner](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner2-direct.svg)](https://vshymanskyy.github.io/StandWithUkraine)
2
2
 
3
- # react-obsidian
3
+ <p align="center">
4
+ </br><img width="300px" src=".github/logo.svg"></br>
5
+ </p>
6
+
7
+ # React Obsidian
4
8
  > Dependency injection framework for React and React Native applications
5
9
 
6
10
  <h5>🏗 <b>This library is still under active development.</b>
@@ -12,6 +16,9 @@ React Obsidian is a dependency injection framework for React and React Native ap
12
16
 
13
17
  React Obsidian is guided by the principles of the Dependency Injection pattern, but does not strictly follow them. We allowed ourselves a degree of freedom when designing the library in order to reduce boilerplate code and library footprint.
14
18
 
19
+ > 📖 Read more about Dependency Injection and Obsidian in [Breaking complexity with Dependency Injection: Introducing Obsidian](https://guyca.medium.com/breaking-complexity-with-dependency-injection-introducing-obsidian-cd452802f076) on Medium.
20
+
21
+
15
22
  * [Installation](https://github.com/wix-incubator/react-obsidian#installation)
16
23
  * [Prerequisites](https://github.com/wix-incubator/react-obsidian#prerequisites)
17
24
  * [Usage](https://github.com/wix-incubator/react-obsidian#usage)
@@ -1,4 +1,4 @@
1
1
  import { Constructable } from '../types';
2
2
  import { ObjectGraph } from '../graph/ObjectGraph';
3
- export declare function Singleton(): (constructorOrGraph: Constructable<ObjectGraph> | ObjectGraph, _property?: string | undefined, descriptor?: PropertyDescriptor | undefined) => any;
3
+ export declare function Singleton(): (constructorOrGraph: Constructable<ObjectGraph> | ObjectGraph, _property?: string, descriptor?: PropertyDescriptor) => any;
4
4
  //# sourceMappingURL=Singleton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Singleton.d.ts","sourceRoot":"","sources":["../../../src/decorators/Singleton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,wBAAgB,SAAS,yBAED,cAAc,WAAW,CAAC,GAAG,WAAW,kFAG3D,GAAG,CAKP"}
1
+ {"version":3,"file":"Singleton.d.ts","sourceRoot":"","sources":["../../../src/decorators/Singleton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,wBAAgB,SAAS,yBAED,cAAc,WAAW,CAAC,GAAG,WAAW,cAChD,MAAM,eACL,kBAAkB,KAC9B,GAAG,CAKP"}
@@ -1,2 +1,2 @@
1
- export declare function Inject(name?: string): (target: Object | any, _propertyKey?: string | undefined, indexOrPropertyDescriptor?: number | PropertyDescriptor | undefined) => void;
1
+ export declare function Inject(name?: string): (target: Object | any, _propertyKey?: string, indexOrPropertyDescriptor?: number | PropertyDescriptor) => void;
2
2
  //# sourceMappingURL=Inject.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Inject.d.ts","sourceRoot":"","sources":["../../../../src/decorators/inject/Inject.ts"],"names":[],"mappings":"AAGA,wBAAgB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,YAExB,MAAM,GAAG,GAAG,kHAWvB"}
1
+ {"version":3,"file":"Inject.d.ts","sourceRoot":"","sources":["../../../../src/decorators/inject/Inject.ts"],"names":[],"mappings":"AAGA,wBAAgB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,YAExB,MAAM,GAAG,GAAG,iBACL,MAAM,8BACO,MAAM,GAAG,kBAAkB,UAS1D"}
@@ -8,6 +8,7 @@ export declare class GraphRegistry {
8
8
  private readonly graphToSubgraphs;
9
9
  private readonly graphMiddlewares;
10
10
  register(constructor: Constructable<Graph>, subgraphs?: Constructable<Graph>[]): void;
11
+ ensureRegistered(graph: Graph): void;
11
12
  getSubgraphs(graph: Graph): Graph[];
12
13
  getGraphInstance(name: string): Graph;
13
14
  resolve<T extends Graph>(Graph: Constructable<T>, props?: any): T;
@@ -1 +1 @@
1
- {"version":3,"file":"GraphRegistry.d.ts","sourceRoot":"","sources":["../../../../src/graph/registry/GraphRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA+C;IACrF,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA0C;IAChF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4B;IAC3D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA8D;IAC/F,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA8B;IAE/D,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,SAAS,GAAE,aAAa,CAAC,KAAK,CAAC,EAAO;IAIlF,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE;IAMnC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK;IAIrC,OAAO,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,CAAC;IASjE,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,GAAG;IAQX,OAAO,CAAC,WAAW;IAInB,KAAK,CAAC,KAAK,EAAE,KAAK;IAOlB,kBAAkB,CAAC,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC;IAIhD,qBAAqB;IAIrB,QAAQ;CAKT;;AAED,wBAAmC"}
1
+ {"version":3,"file":"GraphRegistry.d.ts","sourceRoot":"","sources":["../../../../src/graph/registry/GraphRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA+C;IACrF,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA0C;IAChF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4B;IAC3D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA8D;IAC/F,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA8B;IAE/D,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,SAAS,GAAE,aAAa,CAAC,KAAK,CAAC,EAAO;IAIlF,gBAAgB,CAAC,KAAK,EAAE,KAAK;IAK7B,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE;IAMnC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK;IAIrC,OAAO,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,CAAC;IASjE,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,GAAG;IAQX,OAAO,CAAC,WAAW;IAInB,KAAK,CAAC,KAAK,EAAE,KAAK;IAOlB,kBAAkB,CAAC,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC;IAIhD,qBAAqB;IAIrB,QAAQ;CAKT;;AAED,wBAAmC"}
@@ -17,6 +17,11 @@ var GraphRegistry = /** @class */ (function () {
17
17
  if (subgraphs === void 0) { subgraphs = []; }
18
18
  this.graphToSubgraphs.set(constructor, new Set(subgraphs));
19
19
  };
20
+ GraphRegistry.prototype.ensureRegistered = function (graph) {
21
+ if (this.instanceToConstructor.get(graph))
22
+ return;
23
+ this.set(graph.constructor, graph);
24
+ };
20
25
  GraphRegistry.prototype.getSubgraphs = function (graph) {
21
26
  var _this = this;
22
27
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"GraphRegistry.js","sourceRoot":"","sources":["../../../../src/graph/registry/GraphRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GraphRegistry.js","sourceRoot":"","sources":["../../../../src/graph/registry/GraphRegistry.ts"],"names":[],"mappings":";;;;;;AAGA,gFAA0D;AAE1D;IAAA;QACmB,0BAAqB,GAAG,IAAI,GAAG,EAAoC,CAAC;QACpE,0BAAqB,GAAG,IAAI,GAAG,EAA+B,CAAC;QAC/D,mBAAc,GAAG,IAAI,GAAG,EAAiB,CAAC;QAC1C,qBAAgB,GAAG,IAAI,GAAG,EAAmD,CAAC;QAC9E,qBAAgB,GAAG,IAAI,8BAAoB,EAAE,CAAC;IAsEjE,CAAC;IApEC,gCAAQ,GAAR,UAAS,WAAiC,EAAE,SAAsC;QAAtC,0BAAA,EAAA,cAAsC;QAChF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,wCAAgB,GAAhB,UAAiB,KAAY;QAC3B,IAAI,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAO;QAClD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAkB,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,oCAAY,GAAZ,UAAa,KAAY;QAAzB,iBAIC;;QAHC,IAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;QACrD,IAAM,SAAS,GAAG,MAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAI,IAAI,GAAG,EAAE,CAAC;QAChE,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,KAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAf,CAAe,CAAC,CAAC;IAC3D,CAAC;IAED,wCAAgB,GAAhB,UAAiB,IAAY;QAC3B,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;IACxC,CAAC;IAED,+BAAO,GAAP,UAAyB,KAAuB,EAAE,KAAW;QAC3D,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC7B;QACD,IAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACvB,OAAO,KAAU,CAAC;IACpB,CAAC;IAEO,2BAAG,GAAX,UAAY,KAA2B;QACrC,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAEO,gCAAQ,GAAhB,UAAkC,KAAuB;QACvD,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;IACtE,CAAC;IAEO,2BAAG,GAAX,UAAY,KAA2B,EAAE,KAAY;;QACnD,IAAM,MAAM,GAAG,MAAA,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAI,IAAI,GAAG,EAAE,CAAC;QAClE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAEO,mCAAW,GAAnB,UAAoB,KAA2B;;QAC7C,OAAO,MAAA,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,mCAAI,KAAK,CAAC;IAC5D,CAAC;IAED,6BAAK,GAAL,UAAM,KAAY;QAChB,IAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;QACrD,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,0CAAkB,GAAlB,UAAmB,UAA6B;QAC9C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,6CAAqB,GAArB;QACE,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;IAED,gCAAQ,GAAR;QACE,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IACH,oBAAC;AAAD,CAAC,AA3ED,IA2EC;AA3EY,sCAAa;AA6E1B,kBAAe,IAAI,aAAa,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"LazyInjector.d.ts","sourceRoot":"","sources":["../../../../src/injectors/class/LazyInjector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAItD,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAE7D,cAAM,YAAY,CAAC,CAAC,SAAS,MAAM;IACjC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,CAAC;IAS/C,OAAO,CAAC,gBAAgB;CAIzB;;AAED,wBAAkC"}
1
+ {"version":3,"file":"LazyInjector.d.ts","sourceRoot":"","sources":["../../../../src/injectors/class/LazyInjector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAItD,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAE7D,cAAM,YAAY,CAAC,CAAC,SAAS,MAAM;IACjC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,CAAC;IAU/C,OAAO,CAAC,gBAAgB;CAIzB;;AAED,wBAAkC"}
@@ -11,6 +11,8 @@ var LazyInjector = /** @class */ (function () {
11
11
  function LazyInjector() {
12
12
  }
13
13
  LazyInjector.prototype.inject = function (target, sourceGraph) {
14
+ if (sourceGraph)
15
+ GraphRegistry_1.default.ensureRegistered(sourceGraph);
14
16
  var injectionMetadata = new InjectionMetadata_1.default();
15
17
  var graph = sourceGraph !== null && sourceGraph !== void 0 ? sourceGraph : this.getGraphInstance(target);
16
18
  injectionMetadata.getLazyPropertiesToInject(target.constructor).forEach(function (key) {
@@ -1 +1 @@
1
- {"version":3,"file":"LazyInjector.js","sourceRoot":"","sources":["../../../../src/injectors/class/LazyInjector.ts"],"names":[],"mappings":";;;;;;AACA,qFAA+D;AAC/D,0EAAoD;AAEvC,QAAA,uBAAuB,GAAG,qBAAqB,CAAC;AAE7D;IAAA;IAcA,CAAC;IAbC,6BAAM,GAAN,UAAO,MAAS,EAAE,WAAyB;QACzC,IAAM,iBAAiB,GAAG,IAAI,2BAAiB,EAAE,CAAC;QAClD,IAAM,KAAK,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC3D,iBAAiB,CAAC,yBAAyB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;YAC1E,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,uCAAgB,GAAxB,UAAyB,MAAS;QAChC,IAAM,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,+BAAuB,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3F,OAAO,uBAAa,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;IAC3D,CAAC;IACH,mBAAC;AAAD,CAAC,AAdD,IAcC;AAED,kBAAe,IAAI,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"LazyInjector.js","sourceRoot":"","sources":["../../../../src/injectors/class/LazyInjector.ts"],"names":[],"mappings":";;;;;;AACA,qFAA+D;AAC/D,0EAAoD;AAEvC,QAAA,uBAAuB,GAAG,qBAAqB,CAAC;AAE7D;IAAA;IAeA,CAAC;IAdC,6BAAM,GAAN,UAAO,MAAS,EAAE,WAAyB;QACzC,IAAI,WAAW;YAAE,uBAAa,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC7D,IAAM,iBAAiB,GAAG,IAAI,2BAAiB,EAAE,CAAC;QAClD,IAAM,KAAK,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC3D,iBAAiB,CAAC,yBAAyB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;YAC1E,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,uCAAgB,GAAxB,UAAyB,MAAS;QAChC,IAAM,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,+BAAuB,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3F,OAAO,uBAAa,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;IAC3D,CAAC;IACH,mBAAC;AAAD,CAAC,AAfD,IAeC;AAED,kBAAe,IAAI,YAAY,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-obsidian",
3
- "version": "0.0.21",
3
+ "version": "0.0.22",
4
4
  "description": "Dependency injection framework for React and React Native applications",
5
5
  "scripts": {
6
6
  "prepack": "npm run lint && tsc --project tsconfig.prod.json",
@@ -28,7 +28,6 @@
28
28
  "@babel/preset-react": "7.16.x",
29
29
  "@babel/preset-typescript": "7.16.x",
30
30
  "@babel/types": "7.16.x",
31
- "@babel/traverse": "7.16.x",
32
31
  "@johanblumenberg/ts-mockito": "1.x.x",
33
32
  "@testing-library/react": "^12.1.2",
34
33
  "@testing-library/react-hooks": "^7.0.2",
@@ -14,6 +14,11 @@ export class GraphRegistry {
14
14
  this.graphToSubgraphs.set(constructor, new Set(subgraphs));
15
15
  }
16
16
 
17
+ ensureRegistered(graph: Graph) {
18
+ if (this.instanceToConstructor.get(graph)) return;
19
+ this.set(graph.constructor as any, graph);
20
+ }
21
+
17
22
  getSubgraphs(graph: Graph): Graph[] {
18
23
  const Graph = this.instanceToConstructor.get(graph)!;
19
24
  const subgraphs = this.graphToSubgraphs.get(Graph) ?? new Set();
@@ -6,6 +6,7 @@ export const GRAPH_INSTANCE_NAME_KEY = 'GRAPH_INSTANCE_NAME';
6
6
 
7
7
  class LazyInjector<T extends object> {
8
8
  inject(target: T, sourceGraph?: ObjectGraph): T {
9
+ if (sourceGraph) graphRegistry.ensureRegistered(sourceGraph);
9
10
  const injectionMetadata = new InjectionMetadata();
10
11
  const graph = sourceGraph ?? this.getGraphInstance(target);
11
12
  injectionMetadata.getLazyPropertiesToInject(target.constructor).forEach((key) => {