react-obsidian 0.0.40 → 0.0.42

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.
Files changed (146) hide show
  1. package/dist/clearGraphs.js +2 -2
  2. package/dist/clearGraphs.js.map +1 -1
  3. package/dist/src/GraphProperties.js +9 -10
  4. package/dist/src/GraphProperties.js.map +1 -1
  5. package/dist/src/Obsidian.js +15 -18
  6. package/dist/src/Obsidian.js.map +1 -1
  7. package/dist/src/ProvidedPropertiesStore.js +13 -14
  8. package/dist/src/ProvidedPropertiesStore.js.map +1 -1
  9. package/dist/src/ReferenceCounter.js +9 -10
  10. package/dist/src/ReferenceCounter.js.map +1 -1
  11. package/dist/src/decorators/Graph.js +3 -4
  12. package/dist/src/decorators/Graph.js.map +1 -1
  13. package/dist/src/decorators/LifecycleBound.js +1 -1
  14. package/dist/src/decorators/LifecycleBound.js.map +1 -1
  15. package/dist/src/decorators/Memoize.js +3 -3
  16. package/dist/src/decorators/Memoize.js.map +1 -1
  17. package/dist/src/decorators/Singleton.js +1 -1
  18. package/dist/src/decorators/Singleton.js.map +1 -1
  19. package/dist/src/decorators/inject/Inject.js +4 -4
  20. package/dist/src/decorators/inject/Inject.js.map +1 -1
  21. package/dist/src/decorators/inject/Injectable.js +2 -2
  22. package/dist/src/decorators/inject/Injectable.js.map +1 -1
  23. package/dist/src/decorators/inject/LateInject.js +3 -3
  24. package/dist/src/decorators/inject/LateInject.js.map +1 -1
  25. package/dist/src/decorators/provides/MemoizeDescriptor.js +5 -9
  26. package/dist/src/decorators/provides/MemoizeDescriptor.js.map +1 -1
  27. package/dist/src/decorators/provides/Provides.js +3 -4
  28. package/dist/src/decorators/provides/Provides.js.map +1 -1
  29. package/dist/src/graph/CircularDependenciesDetector.d.ts +10 -0
  30. package/dist/src/graph/CircularDependenciesDetector.d.ts.map +1 -0
  31. package/dist/src/graph/CircularDependenciesDetector.js +24 -0
  32. package/dist/src/graph/CircularDependenciesDetector.js.map +1 -0
  33. package/dist/src/graph/ObjectGraph.d.ts +2 -1
  34. package/dist/src/graph/ObjectGraph.d.ts.map +1 -1
  35. package/dist/src/graph/ObjectGraph.js +20 -25
  36. package/dist/src/graph/ObjectGraph.js.map +1 -1
  37. package/dist/src/graph/PropertyRetriever.d.ts +2 -1
  38. package/dist/src/graph/PropertyRetriever.d.ts.map +1 -1
  39. package/dist/src/graph/PropertyRetriever.js +28 -20
  40. package/dist/src/graph/PropertyRetriever.js.map +1 -1
  41. package/dist/src/graph/PropertyRetrieverDelegate.d.ts +2 -1
  42. package/dist/src/graph/PropertyRetrieverDelegate.d.ts.map +1 -1
  43. package/dist/src/graph/ProviderBinder.js +3 -3
  44. package/dist/src/graph/ProviderBinder.js.map +1 -1
  45. package/dist/src/graph/ServiceLocatorFactory.js +9 -12
  46. package/dist/src/graph/ServiceLocatorFactory.js.map +1 -1
  47. package/dist/src/graph/VisitedNodes.d.ts +9 -0
  48. package/dist/src/graph/VisitedNodes.d.ts.map +1 -0
  49. package/dist/src/graph/VisitedNodes.js +28 -0
  50. package/dist/src/graph/VisitedNodes.js.map +1 -0
  51. package/dist/src/graph/registry/DefaultGraphResolver.js +5 -25
  52. package/dist/src/graph/registry/DefaultGraphResolver.js.map +1 -1
  53. package/dist/src/graph/registry/GraphMiddleware.js +3 -23
  54. package/dist/src/graph/registry/GraphMiddleware.js.map +1 -1
  55. package/dist/src/graph/registry/GraphMiddlewareChain.js +12 -14
  56. package/dist/src/graph/registry/GraphMiddlewareChain.js.map +1 -1
  57. package/dist/src/graph/registry/GraphRegistry.js +38 -41
  58. package/dist/src/graph/registry/GraphRegistry.js.map +1 -1
  59. package/dist/src/graph/registry/Middleware.js +11 -19
  60. package/dist/src/graph/registry/Middleware.js.map +1 -1
  61. package/dist/src/index.js +1 -1
  62. package/dist/src/index.js.map +1 -1
  63. package/dist/src/injectors/class/ClassInjector.js +25 -40
  64. package/dist/src/injectors/class/ClassInjector.js.map +1 -1
  65. package/dist/src/injectors/class/ConstructorArgs.js +11 -12
  66. package/dist/src/injectors/class/ConstructorArgs.js.map +1 -1
  67. package/dist/src/injectors/class/InjectionMetadata.js +21 -22
  68. package/dist/src/injectors/class/InjectionMetadata.js.map +1 -1
  69. package/dist/src/injectors/class/LateInjector.js +12 -15
  70. package/dist/src/injectors/class/LateInjector.js.map +1 -1
  71. package/dist/src/injectors/components/ComponentInjector.js +18 -21
  72. package/dist/src/injectors/components/ComponentInjector.js.map +1 -1
  73. package/dist/src/injectors/components/InjectComponent.js +3 -3
  74. package/dist/src/injectors/components/InjectComponent.js.map +1 -1
  75. package/dist/src/injectors/components/PropsInjector.js +7 -9
  76. package/dist/src/injectors/components/PropsInjector.js.map +1 -1
  77. package/dist/src/injectors/components/useGraph.js +10 -10
  78. package/dist/src/injectors/components/useGraph.js.map +1 -1
  79. package/dist/src/injectors/hooks/HookInjector.js +12 -16
  80. package/dist/src/injectors/hooks/HookInjector.js.map +1 -1
  81. package/dist/src/injectors/hooks/InjectHook.js +2 -2
  82. package/dist/src/injectors/hooks/InjectHook.js.map +1 -1
  83. package/dist/src/observable/MediatorObservable.js +23 -34
  84. package/dist/src/observable/MediatorObservable.js.map +1 -1
  85. package/dist/src/observable/Observable.js +16 -22
  86. package/dist/src/observable/Observable.js.map +1 -1
  87. package/dist/src/observable/useObserver.js +4 -4
  88. package/dist/src/observable/useObserver.js.map +1 -1
  89. package/dist/src/utils/React.js +1 -1
  90. package/dist/src/utils/React.js.map +1 -1
  91. package/dist/test/fixtures/CircularDependencyFromSubgraph.d.ts +5 -0
  92. package/dist/test/fixtures/CircularDependencyFromSubgraph.d.ts.map +1 -0
  93. package/dist/test/fixtures/CircularDependencyFromSubgraph.js +30 -0
  94. package/dist/test/fixtures/CircularDependencyFromSubgraph.js.map +1 -0
  95. package/dist/test/fixtures/CircularDependencyGraph.d.ts +5 -0
  96. package/dist/test/fixtures/CircularDependencyGraph.d.ts.map +1 -0
  97. package/dist/test/fixtures/CircularDependencyGraph.js +29 -0
  98. package/dist/test/fixtures/CircularDependencyGraph.js.map +1 -0
  99. package/dist/test/fixtures/CircularDependencyGraph2.d.ts +7 -0
  100. package/dist/test/fixtures/CircularDependencyGraph2.d.ts.map +1 -0
  101. package/dist/test/fixtures/CircularDependencyGraph2.js +47 -0
  102. package/dist/test/fixtures/CircularDependencyGraph2.js.map +1 -0
  103. package/dist/test/fixtures/GraphWithOnBind.js +16 -36
  104. package/dist/test/fixtures/GraphWithOnBind.js.map +1 -1
  105. package/dist/test/fixtures/InjectedComponent.js +4 -7
  106. package/dist/test/fixtures/InjectedComponent.js.map +1 -1
  107. package/dist/test/fixtures/LifecycleBoundGraph.js +23 -42
  108. package/dist/test/fixtures/LifecycleBoundGraph.js.map +1 -1
  109. package/dist/test/fixtures/MainGraph.js +25 -45
  110. package/dist/test/fixtures/MainGraph.js.map +1 -1
  111. package/dist/test/fixtures/SingletonGraph.js +21 -39
  112. package/dist/test/fixtures/SingletonGraph.js.map +1 -1
  113. package/dist/test/fixtures/StringProvider.js +4 -6
  114. package/dist/test/fixtures/StringProvider.js.map +1 -1
  115. package/dist/test/fixtures/Subgraph.js +41 -61
  116. package/dist/test/fixtures/Subgraph.js.map +1 -1
  117. package/dist/test/fixtures/SubgraphWithCircularDependency.d.ts +6 -0
  118. package/dist/test/fixtures/SubgraphWithCircularDependency.d.ts.map +1 -0
  119. package/dist/test/fixtures/SubgraphWithCircularDependency.js +39 -0
  120. package/dist/test/fixtures/SubgraphWithCircularDependency.js.map +1 -0
  121. package/dist/test/fixtures/ThrowingMainGraph.js +15 -35
  122. package/dist/test/fixtures/ThrowingMainGraph.js.map +1 -1
  123. package/dist/test/fixtures/UniqueNumberGraph.js +27 -45
  124. package/dist/test/fixtures/UniqueNumberGraph.js.map +1 -1
  125. package/dist/testkit/index.js +12 -35
  126. package/dist/testkit/index.js.map +1 -1
  127. package/dist/transformers/babel-plugin-obsidian/helpers/index.js +11 -11
  128. package/dist/transformers/babel-plugin-obsidian/helpers/index.js.map +1 -1
  129. package/dist/transformers/babel-plugin-obsidian/index.js +8 -12
  130. package/dist/transformers/babel-plugin-obsidian/index.js.map +1 -1
  131. package/dist/transformers/babel-plugin-obsidian/unmagler/index.js +2 -2
  132. package/dist/transformers/babel-plugin-obsidian/unmagler/index.js.map +1 -1
  133. package/dist/transformers/babel-plugin-obsidian/unmagler/method.js +3 -3
  134. package/dist/transformers/babel-plugin-obsidian/unmagler/method.js.map +1 -1
  135. package/dist/transformers/babel-plugin-obsidian/unmagler/property.js +2 -2
  136. package/dist/transformers/babel-plugin-obsidian/unmagler/property.js.map +1 -1
  137. package/documentation/package-lock.json +1819 -88
  138. package/documentation/package.json +1 -0
  139. package/documentation/src/theme/SearchBar.js +21 -0
  140. package/package.json +2 -2
  141. package/src/graph/CircularDependenciesDetector.ts +23 -0
  142. package/src/graph/ObjectGraph.ts +7 -2
  143. package/src/graph/PropertyRetriever.ts +29 -6
  144. package/src/graph/PropertyRetrieverDelegate.ts +7 -1
  145. package/src/graph/VisitedNodes.ts +25 -0
  146. package/tsconfig.base.json +1 -1
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var src_1 = require("./src");
4
- beforeEach(function () {
3
+ const src_1 = require("./src");
4
+ beforeEach(() => {
5
5
  src_1.Obsidian.clearGraphs();
6
6
  });
7
7
  //# sourceMappingURL=clearGraphs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clearGraphs.js","sourceRoot":"","sources":["../clearGraphs.ts"],"names":[],"mappings":";;AAAA,6BAAiC;AAEjC,UAAU,CAAC;IACT,cAAQ,CAAC,WAAW,EAAE,CAAC;AACzB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"clearGraphs.js","sourceRoot":"","sources":["../clearGraphs.ts"],"names":[],"mappings":";;AAAA,+BAAiC;AAEjC,UAAU,CAAC,GAAG,EAAE;IACd,cAAQ,CAAC,WAAW,EAAE,CAAC;AACzB,CAAC,CAAC,CAAC"}
@@ -1,19 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var GraphProperties = /** @class */ (function () {
4
- function GraphProperties() {
3
+ class GraphProperties {
4
+ constructor() {
5
5
  this.unmangledToMangledPropKeys = new Map();
6
6
  }
7
- GraphProperties.prototype.add = function (mangledPropertyKey, unmangledPropertyKey) {
7
+ add(mangledPropertyKey, unmangledPropertyKey) {
8
8
  this.unmangledToMangledPropKeys.set(unmangledPropertyKey, mangledPropertyKey);
9
- };
10
- GraphProperties.prototype.getMangledProperty = function (unmangledProperty) {
9
+ }
10
+ getMangledProperty(unmangledProperty) {
11
11
  return this.unmangledToMangledPropKeys.get(unmangledProperty);
12
- };
13
- GraphProperties.prototype.getMangledProperties = function () {
12
+ }
13
+ getMangledProperties() {
14
14
  return Array.from(this.unmangledToMangledPropKeys.values());
15
- };
16
- return GraphProperties;
17
- }());
15
+ }
16
+ }
18
17
  exports.default = GraphProperties;
19
18
  //# sourceMappingURL=GraphProperties.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GraphProperties.js","sourceRoot":"","sources":["../../src/GraphProperties.ts"],"names":[],"mappings":";;AAAA;IAAA;QACU,+BAA0B,GAAG,IAAI,GAAG,EAAkB,CAAC;IAajE,CAAC;IAXC,6BAAG,GAAH,UAAI,kBAA0B,EAAE,oBAA4B;QAC1D,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;IAChF,CAAC;IAED,4CAAkB,GAAlB,UAAmB,iBAAyB;QAC1C,OAAO,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAChE,CAAC;IAED,8CAAoB,GAApB;QACE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC;IACH,sBAAC;AAAD,CAAC,AAdD,IAcC"}
1
+ {"version":3,"file":"GraphProperties.js","sourceRoot":"","sources":["../../src/GraphProperties.ts"],"names":[],"mappings":";;AAAA,MAAqB,eAAe;IAApC;QACU,+BAA0B,GAAG,IAAI,GAAG,EAAkB,CAAC;IAajE,CAAC;IAXC,GAAG,CAAC,kBAA0B,EAAE,oBAA4B;QAC1D,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;IAChF,CAAC;IAED,kBAAkB,CAAC,iBAAyB;QAC1C,OAAO,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAChE,CAAC;IAED,oBAAoB;QAClB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC;CACF;AAdD,kCAcC"}
@@ -3,29 +3,26 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- var GraphRegistry_1 = __importDefault(require("./graph/registry/GraphRegistry"));
7
- var LateInjector_1 = __importDefault(require("./injectors/class/LateInjector"));
8
- var ServiceLocatorFactory_1 = __importDefault(require("./graph/ServiceLocatorFactory"));
9
- var Obsidian = /** @class */ (function () {
10
- function Obsidian() {
11
- }
12
- Obsidian.prototype.obtain = function (Graph, props) {
6
+ const GraphRegistry_1 = __importDefault(require("./graph/registry/GraphRegistry"));
7
+ const LateInjector_1 = __importDefault(require("./injectors/class/LateInjector"));
8
+ const ServiceLocatorFactory_1 = __importDefault(require("./graph/ServiceLocatorFactory"));
9
+ class Obsidian {
10
+ obtain(Graph, props) {
13
11
  return ServiceLocatorFactory_1.default.fromGraph(Graph, props);
14
- };
15
- Obsidian.prototype.inject = function (target, graph) {
12
+ }
13
+ inject(target, graph) {
16
14
  return LateInjector_1.default.inject(target, graph);
17
- };
18
- Obsidian.prototype.addGraphMiddleware = function (middleware) {
15
+ }
16
+ addGraphMiddleware(middleware) {
19
17
  GraphRegistry_1.default.addGraphMiddleware(middleware);
20
- };
21
- Obsidian.prototype.clearGraphMiddlewares = function () {
18
+ }
19
+ clearGraphMiddlewares() {
22
20
  GraphRegistry_1.default.clearGraphMiddlewares();
23
- };
24
- Obsidian.prototype.clearGraphs = function () {
21
+ }
22
+ clearGraphs() {
25
23
  GraphRegistry_1.default.clearGraphMiddlewares();
26
24
  GraphRegistry_1.default.clearAll();
27
- };
28
- return Obsidian;
29
- }());
25
+ }
26
+ }
30
27
  exports.default = Obsidian;
31
28
  //# sourceMappingURL=Obsidian.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Obsidian.js","sourceRoot":"","sources":["../../src/Obsidian.ts"],"names":[],"mappings":";;;;;AAAA,iFAA2D;AAI3D,gFAA0D;AAC1D,wFAAkE;AAElE;IAAA;IAwBA,CAAC;IAvBC,yBAAM,GAAN,UACE,KAAuB,EACvB,KAAS;QAET,OAAO,+BAAqB,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;IAED,yBAAM,GAAN,UAAyB,MAAS,EAAE,KAAmB;QACrD,OAAO,sBAAY,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,qCAAkB,GAAlB,UAAmB,UAA2B;QAC5C,uBAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED,wCAAqB,GAArB;QACE,uBAAa,CAAC,qBAAqB,EAAE,CAAC;IACxC,CAAC;IAED,8BAAW,GAAX;QACE,uBAAa,CAAC,qBAAqB,EAAE,CAAC;QACtC,uBAAa,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IACH,eAAC;AAAD,CAAC,AAxBD,IAwBC"}
1
+ {"version":3,"file":"Obsidian.js","sourceRoot":"","sources":["../../src/Obsidian.ts"],"names":[],"mappings":";;;;;AAAA,mFAA2D;AAI3D,kFAA0D;AAC1D,0FAAkE;AAElE,MAAqB,QAAQ;IAC3B,MAAM,CACJ,KAAuB,EACvB,KAAS;QAET,OAAO,+BAAqB,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAmB,MAAS,EAAE,KAAmB;QACrD,OAAO,sBAAY,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,kBAAkB,CAAC,UAA2B;QAC5C,uBAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED,qBAAqB;QACnB,uBAAa,CAAC,qBAAqB,EAAE,CAAC;IACxC,CAAC;IAED,WAAW;QACT,uBAAa,CAAC,qBAAqB,EAAE,CAAC;QACtC,uBAAa,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;CACF;AAxBD,2BAwBC"}
@@ -3,29 +3,28 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- var GraphProperties_1 = __importDefault(require("./GraphProperties"));
7
- var ProvidedPropertiesStore = /** @class */ (function () {
8
- function ProvidedPropertiesStore() {
6
+ const GraphProperties_1 = __importDefault(require("./GraphProperties"));
7
+ class ProvidedPropertiesStore {
8
+ constructor() {
9
9
  this.providedPropertiesForGraph = new Map();
10
10
  }
11
- ProvidedPropertiesStore.prototype.getMangledProperty = function (graph, unmangledProp) {
11
+ getMangledProperty(graph, unmangledProp) {
12
12
  var _a;
13
13
  return (_a = this.providedPropertiesForGraph.get(graph.name)) === null || _a === void 0 ? void 0 : _a.getMangledProperty(unmangledProp);
14
- };
15
- ProvidedPropertiesStore.prototype.set = function (graph, mangledProperty, unmangledProperty) {
14
+ }
15
+ set(graph, mangledProperty, unmangledProperty) {
16
16
  var _a;
17
- var graphProperties = (_a = this.providedPropertiesForGraph.get(graph.name)) !== null && _a !== void 0 ? _a : new GraphProperties_1.default();
17
+ const graphProperties = (_a = this.providedPropertiesForGraph.get(graph.name)) !== null && _a !== void 0 ? _a : new GraphProperties_1.default();
18
18
  graphProperties.add(mangledProperty, unmangledProperty);
19
19
  this.providedPropertiesForGraph.set(graph.name, graphProperties);
20
- };
21
- ProvidedPropertiesStore.prototype.getMangledProperties = function (graph) {
20
+ }
21
+ getMangledProperties(graph) {
22
22
  var _a, _b;
23
23
  return (_b = (_a = this.providedPropertiesForGraph.get(graph.name)) === null || _a === void 0 ? void 0 : _a.getMangledProperties()) !== null && _b !== void 0 ? _b : [];
24
- };
25
- ProvidedPropertiesStore.prototype.clear = function (graph) {
24
+ }
25
+ clear(graph) {
26
26
  this.providedPropertiesForGraph.delete(graph.name);
27
- };
28
- return ProvidedPropertiesStore;
29
- }());
27
+ }
28
+ }
30
29
  exports.default = new ProvidedPropertiesStore();
31
30
  //# sourceMappingURL=ProvidedPropertiesStore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProvidedPropertiesStore.js","sourceRoot":"","sources":["../../src/ProvidedPropertiesStore.ts"],"names":[],"mappings":";;;;;AAAA,sEAAgD;AAGhD;IAAA;QACmB,+BAA0B,GAAiC,IAAI,GAAG,EAAE,CAAC;IAmBxF,CAAC;IAjBC,oDAAkB,GAAlB,UAAmB,KAAY,EAAE,aAAqB;;QACpD,OAAO,MAAA,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0CAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAC5F,CAAC;IAED,qCAAG,GAAH,UAAI,KAAY,EAAE,eAAuB,EAAE,iBAAyB;;QAClE,IAAM,eAAe,GAAG,MAAA,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAI,IAAI,yBAAe,EAAE,CAAC;QACjG,eAAe,CAAC,GAAG,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;QACxD,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACnE,CAAC;IAED,sDAAoB,GAApB,UAAqB,KAAY;;QAC/B,OAAO,MAAA,MAAA,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0CAAE,oBAAoB,EAAE,mCAAI,EAAE,CAAC;IACvF,CAAC;IAED,uCAAK,GAAL,UAAM,KAAY;QAChB,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IACH,8BAAC;AAAD,CAAC,AApBD,IAoBC;AAED,kBAAe,IAAI,uBAAuB,EAAE,CAAC"}
1
+ {"version":3,"file":"ProvidedPropertiesStore.js","sourceRoot":"","sources":["../../src/ProvidedPropertiesStore.ts"],"names":[],"mappings":";;;;;AAAA,wEAAgD;AAGhD,MAAM,uBAAuB;IAA7B;QACmB,+BAA0B,GAAiC,IAAI,GAAG,EAAE,CAAC;IAmBxF,CAAC;IAjBC,kBAAkB,CAAC,KAAY,EAAE,aAAqB;;QACpD,OAAO,MAAA,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0CAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAC5F,CAAC;IAED,GAAG,CAAC,KAAY,EAAE,eAAuB,EAAE,iBAAyB;;QAClE,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAI,IAAI,yBAAe,EAAE,CAAC;QACjG,eAAe,CAAC,GAAG,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;QACxD,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACnE,CAAC;IAED,oBAAoB,CAAC,KAAY;;QAC/B,OAAO,MAAA,MAAA,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0CAAE,oBAAoB,EAAE,mCAAI,EAAE,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,KAAY;QAChB,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;CACF;AAED,kBAAe,IAAI,uBAAuB,EAAE,CAAC"}
@@ -1,16 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var ReferenceCounter = /** @class */ (function () {
4
- function ReferenceCounter() {
3
+ class ReferenceCounter {
4
+ constructor() {
5
5
  this.references = new WeakMap();
6
6
  }
7
- ReferenceCounter.prototype.retain = function (object) {
7
+ retain(object) {
8
8
  var _a;
9
- var count = (_a = this.references.get(object)) !== null && _a !== void 0 ? _a : 0;
9
+ const count = (_a = this.references.get(object)) !== null && _a !== void 0 ? _a : 0;
10
10
  this.references.set(object, count + 1);
11
- };
12
- ReferenceCounter.prototype.release = function (object, onReleased) {
13
- var count = this.references.get(object);
11
+ }
12
+ release(object, onReleased) {
13
+ const count = this.references.get(object);
14
14
  if (count === 1) {
15
15
  onReleased(object);
16
16
  this.references.delete(object);
@@ -18,8 +18,7 @@ var ReferenceCounter = /** @class */ (function () {
18
18
  else {
19
19
  this.references.set(object, count - 1);
20
20
  }
21
- };
22
- return ReferenceCounter;
23
- }());
21
+ }
22
+ }
24
23
  exports.default = new ReferenceCounter();
25
24
  //# sourceMappingURL=ReferenceCounter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReferenceCounter.js","sourceRoot":"","sources":["../../src/ReferenceCounter.ts"],"names":[],"mappings":";;AAAA;IAAA;QACmB,eAAU,GAAG,IAAI,OAAO,EAAkB,CAAC;IAgB9D,CAAC;IAdC,iCAAM,GAAN,UAAO,MAAW;;QAChB,IAAM,KAAK,GAAG,MAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,mCAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,kCAAO,GAAP,UAA0B,MAAS,EAAE,UAAgC;QACnE,IAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;QAC3C,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,UAAU,CAAC,MAAM,CAAC,CAAC;YACnB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SAChC;aAAM;YACL,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;SACxC;IACH,CAAC;IACH,uBAAC;AAAD,CAAC,AAjBD,IAiBC;AAED,kBAAe,IAAI,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"ReferenceCounter.js","sourceRoot":"","sources":["../../src/ReferenceCounter.ts"],"names":[],"mappings":";;AAAA,MAAM,gBAAgB;IAAtB;QACmB,eAAU,GAAG,IAAI,OAAO,EAAkB,CAAC;IAgB9D,CAAC;IAdC,MAAM,CAAC,MAAW;;QAChB,MAAM,KAAK,GAAG,MAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,mCAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,CAAmB,MAAS,EAAE,UAAgC;QACnE,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;QAC3C,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,UAAU,CAAC,MAAM,CAAC,CAAC;YACnB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SAChC;aAAM;YACL,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;SACxC;IACH,CAAC;CACF;AAED,kBAAe,IAAI,gBAAgB,EAAE,CAAC"}
@@ -5,10 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Graph = void 0;
7
7
  require("reflect-metadata");
8
- var GraphRegistry_1 = __importDefault(require("../graph/registry/GraphRegistry"));
9
- function Graph(_a) {
10
- var _b = _a === void 0 ? {} : _a, _c = _b.subgraphs, subgraphs = _c === void 0 ? [] : _c;
11
- return function (constructor) {
8
+ const GraphRegistry_1 = __importDefault(require("../graph/registry/GraphRegistry"));
9
+ function Graph({ subgraphs = [] } = {}) {
10
+ return (constructor) => {
12
11
  GraphRegistry_1.default.register(constructor, subgraphs);
13
12
  return constructor;
14
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Graph.js","sourceRoot":"","sources":["../../../src/decorators/Graph.ts"],"names":[],"mappings":";;;;;;AACA,4BAA0B;AAC1B,kFAA4D;AAO5D,SAAgB,KAAK,CAAC,EAA6C;QAA7C,qBAA2C,EAAE,KAAA,EAA3C,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA;IACpC,OAAO,UAAC,WAAgB;QACtB,uBAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC/C,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;AACJ,CAAC;AALD,sBAKC"}
1
+ {"version":3,"file":"Graph.js","sourceRoot":"","sources":["../../../src/decorators/Graph.ts"],"names":[],"mappings":";;;;;;AACA,4BAA0B;AAC1B,oFAA4D;AAO5D,SAAgB,KAAK,CAAC,EAAE,SAAS,GAAG,EAAE,KAA2B,EAAE;IACjE,OAAO,CAAC,WAAgB,EAAE,EAAE;QAC1B,uBAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC/C,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;AACJ,CAAC;AALD,sBAKC"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LifecycleBound = void 0;
4
4
  function LifecycleBound() {
5
- return function (constructor) {
5
+ return (constructor) => {
6
6
  Reflect.defineMetadata('isLifecycleBound', true, constructor);
7
7
  return constructor;
8
8
  };
@@ -1 +1 @@
1
- {"version":3,"file":"LifecycleBound.js","sourceRoot":"","sources":["../../../src/decorators/LifecycleBound.ts"],"names":[],"mappings":";;;AAAA,SAAgB,cAAc;IAC5B,OAAO,UAAC,WAAgB;QACtB,OAAO,CAAC,cAAc,CAAC,kBAAkB,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QAC9D,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;AACJ,CAAC;AALD,wCAKC"}
1
+ {"version":3,"file":"LifecycleBound.js","sourceRoot":"","sources":["../../../src/decorators/LifecycleBound.ts"],"names":[],"mappings":";;;AAAA,SAAgB,cAAc;IAC5B,OAAO,CAAC,WAAgB,EAAE,EAAE;QAC1B,OAAO,CAAC,cAAc,CAAC,kBAAkB,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QAC9D,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;AACJ,CAAC;AALD,wCAKC"}
@@ -4,13 +4,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  require("reflect-metadata");
5
5
  function Memoize() {
6
6
  return function provide(_Clazz, propertyKey, descriptor) {
7
- var originalGet = descriptor.get;
7
+ const originalGet = descriptor.get;
8
8
  descriptor.get = function get() {
9
- var key = "memoized".concat(propertyKey);
9
+ const key = `memoized${propertyKey}`;
10
10
  if (Reflect.hasMetadata(key, this)) {
11
11
  return Reflect.getMetadata(key, this);
12
12
  }
13
- var value = originalGet.call(this);
13
+ const value = originalGet.call(this);
14
14
  Reflect.defineMetadata(key, value, this);
15
15
  return value;
16
16
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Memoize.js","sourceRoot":"","sources":["../../../src/decorators/Memoize.ts"],"names":[],"mappings":";;AAAA,sCAAsC;AACtC,4BAA0B;AAE1B,SAAwB,OAAO;IAC7B,OAAO,SAAS,OAAO,CAAC,MAAW,EAAE,WAAmB,EAAE,UAA8B;QACtF,IAAM,WAAW,GAAG,UAAU,CAAC,GAAI,CAAC;QACpC,UAAU,CAAC,GAAG,GAAG,SAAS,GAAG;YAC3B,IAAM,GAAG,GAAG,kBAAW,WAAW,CAAE,CAAC;YACrC,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;gBAClC,OAAO,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;aACvC;YACD,IAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrC,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YACzC,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC;AAdD,0BAcC"}
1
+ {"version":3,"file":"Memoize.js","sourceRoot":"","sources":["../../../src/decorators/Memoize.ts"],"names":[],"mappings":";;AAAA,sCAAsC;AACtC,4BAA0B;AAE1B,SAAwB,OAAO;IAC7B,OAAO,SAAS,OAAO,CAAC,MAAW,EAAE,WAAmB,EAAE,UAA8B;QACtF,MAAM,WAAW,GAAG,UAAU,CAAC,GAAI,CAAC;QACpC,UAAU,CAAC,GAAG,GAAG,SAAS,GAAG;YAC3B,MAAM,GAAG,GAAG,WAAW,WAAW,EAAE,CAAC;YACrC,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;gBAClC,OAAO,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;aACvC;YACD,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrC,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YACzC,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC;AAdD,0BAcC"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Singleton = void 0;
4
4
  function Singleton() {
5
5
  return function singleton(constructorOrGraph, _property, descriptor) {
6
- var target = descriptor || constructorOrGraph;
6
+ const target = descriptor || constructorOrGraph;
7
7
  Reflect.defineMetadata('isSingleton', true, target);
8
8
  return target;
9
9
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Singleton.js","sourceRoot":"","sources":["../../../src/decorators/Singleton.ts"],"names":[],"mappings":";;;AAGA,SAAgB,SAAS;IACvB,OAAO,SAAS,SAAS,CACvB,kBAA4D,EAC5D,SAAkB,EAClB,UAA+B;QAE/B,IAAM,MAAM,GAAG,UAAU,IAAI,kBAAkB,CAAC;QAChD,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACpD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAVD,8BAUC"}
1
+ {"version":3,"file":"Singleton.js","sourceRoot":"","sources":["../../../src/decorators/Singleton.ts"],"names":[],"mappings":";;;AAGA,SAAgB,SAAS;IACvB,OAAO,SAAS,SAAS,CACvB,kBAA4D,EAC5D,SAAkB,EAClB,UAA+B;QAE/B,MAAM,MAAM,GAAG,UAAU,IAAI,kBAAkB,CAAC;QAChD,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACpD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAVD,8BAUC"}
@@ -4,11 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Inject = void 0;
7
- var lodash_1 = require("lodash");
8
- var InjectionMetadata_1 = __importDefault(require("../../injectors/class/InjectionMetadata"));
7
+ const lodash_1 = require("lodash");
8
+ const InjectionMetadata_1 = __importDefault(require("../../injectors/class/InjectionMetadata"));
9
9
  function Inject(name) {
10
- return function (target, _propertyKey, indexOrPropertyDescriptor) {
11
- var metadata = new InjectionMetadata_1.default();
10
+ return (target, _propertyKey, indexOrPropertyDescriptor) => {
11
+ const metadata = new InjectionMetadata_1.default();
12
12
  if ((0, lodash_1.isNumber)(indexOrPropertyDescriptor)) {
13
13
  metadata.saveConstructorParamMetadata(target, name, indexOrPropertyDescriptor);
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Inject.js","sourceRoot":"","sources":["../../../../src/decorators/inject/Inject.ts"],"names":[],"mappings":";;;;;;AAAA,iCAAkC;AAClC,8FAAwE;AAExE,SAAgB,MAAM,CAAC,IAAa;IAClC,OAAO,UACL,MAAoB,EACpB,YAAqB,EACrB,yBAAuD;QAEvD,IAAM,QAAQ,GAAG,IAAI,2BAAiB,EAAE,CAAC;QACzC,IAAI,IAAA,iBAAQ,EAAC,yBAAyB,CAAC,EAAE;YACvC,QAAQ,CAAC,4BAA4B,CAAC,MAAM,EAAE,IAAK,EAAE,yBAAyB,CAAC,CAAC;SACjF;aAAM;YACL,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAW,EAAE,IAAK,CAAC,CAAC;SAC1D;IACH,CAAC,CAAC;AACJ,CAAC;AAbD,wBAaC"}
1
+ {"version":3,"file":"Inject.js","sourceRoot":"","sources":["../../../../src/decorators/inject/Inject.ts"],"names":[],"mappings":";;;;;;AAAA,mCAAkC;AAClC,gGAAwE;AAExE,SAAgB,MAAM,CAAC,IAAa;IAClC,OAAO,CACL,MAAoB,EACpB,YAAqB,EACrB,yBAAuD,EACvD,EAAE;QACF,MAAM,QAAQ,GAAG,IAAI,2BAAiB,EAAE,CAAC;QACzC,IAAI,IAAA,iBAAQ,EAAC,yBAAyB,CAAC,EAAE;YACvC,QAAQ,CAAC,4BAA4B,CAAC,MAAM,EAAE,IAAK,EAAE,yBAAyB,CAAC,CAAC;SACjF;aAAM;YACL,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAW,EAAE,IAAK,CAAC,CAAC;SAC1D;IACH,CAAC,CAAC;AACJ,CAAC;AAbD,wBAaC"}
@@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Injectable = void 0;
7
- var GraphRegistry_1 = __importDefault(require("../../graph/registry/GraphRegistry"));
8
- var ClassInjector_1 = __importDefault(require("../../injectors/class/ClassInjector"));
7
+ const GraphRegistry_1 = __importDefault(require("../../graph/registry/GraphRegistry"));
8
+ const ClassInjector_1 = __importDefault(require("../../injectors/class/ClassInjector"));
9
9
  function Injectable(Graph) {
10
10
  return new ClassInjector_1.default(GraphRegistry_1.default).inject(Graph);
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Injectable.js","sourceRoot":"","sources":["../../../../src/decorators/inject/Injectable.ts"],"names":[],"mappings":";;;;;;AAEA,qFAA+D;AAC/D,sFAAgE;AAEhE,SAAgB,UAAU,CAAC,KAA2B;IACpD,OAAO,IAAI,uBAAa,CAAC,uBAAa,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AAFD,gCAEC"}
1
+ {"version":3,"file":"Injectable.js","sourceRoot":"","sources":["../../../../src/decorators/inject/Injectable.ts"],"names":[],"mappings":";;;;;;AAEA,uFAA+D;AAC/D,wFAAgE;AAEhE,SAAgB,UAAU,CAAC,KAA2B;IACpD,OAAO,IAAI,uBAAa,CAAC,uBAAa,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AAFD,gCAEC"}
@@ -4,10 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.LateInject = void 0;
7
- var InjectionMetadata_1 = __importDefault(require("../../injectors/class/InjectionMetadata"));
7
+ const InjectionMetadata_1 = __importDefault(require("../../injectors/class/InjectionMetadata"));
8
8
  function LateInject(name) {
9
- return function (target) {
10
- var metadata = new InjectionMetadata_1.default();
9
+ return (target) => {
10
+ const metadata = new InjectionMetadata_1.default();
11
11
  metadata.saveLatePropertyMetadata(target.constructor, name);
12
12
  };
13
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LateInject.js","sourceRoot":"","sources":["../../../../src/decorators/inject/LateInject.ts"],"names":[],"mappings":";;;;;;AAAA,8FAAwE;AAExE,SAAgB,UAAU,CAAC,IAAa;IACtC,OAAO,UAAC,MAAc;QACpB,IAAM,QAAQ,GAAG,IAAI,2BAAiB,EAAE,CAAC;QACzC,QAAQ,CAAC,wBAAwB,CAAC,MAAM,CAAC,WAAW,EAAE,IAAK,CAAC,CAAC;IAC/D,CAAC,CAAC;AACJ,CAAC;AALD,gCAKC"}
1
+ {"version":3,"file":"LateInject.js","sourceRoot":"","sources":["../../../../src/decorators/inject/LateInject.ts"],"names":[],"mappings":";;;;;;AAAA,gGAAwE;AAExE,SAAgB,UAAU,CAAC,IAAa;IACtC,OAAO,CAAC,MAAc,EAAE,EAAE;QACxB,MAAM,QAAQ,GAAG,IAAI,2BAAiB,EAAE,CAAC;QACzC,QAAQ,CAAC,wBAAwB,CAAC,MAAM,CAAC,WAAW,EAAE,IAAK,CAAC,CAAC;IAC/D,CAAC,CAAC;AACJ,CAAC;AALD,gCAKC"}
@@ -3,17 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.memoizeDescriptor = void 0;
4
4
  /* eslint-disable no-param-reassign */
5
5
  function memoizeDescriptor(propertyKey, descriptor) {
6
- var originalValue = descriptor.value;
7
- descriptor.value = function value() {
8
- var args = [];
9
- for (var _i = 0; _i < arguments.length; _i++) {
10
- args[_i] = arguments[_i];
11
- }
12
- var memoizationTarget = Reflect.getMetadata('isSingleton', descriptor) ? descriptor : this;
13
- var key = "memoized".concat(propertyKey);
6
+ const originalValue = descriptor.value;
7
+ descriptor.value = function value(...args) {
8
+ const memoizationTarget = Reflect.getMetadata('isSingleton', descriptor) ? descriptor : this;
9
+ const key = `memoized${propertyKey}`;
14
10
  if (Reflect.hasMetadata(key, memoizationTarget))
15
11
  return Reflect.getMetadata(key, memoizationTarget);
16
- var result = originalValue.apply(this, args);
12
+ const result = originalValue.apply(this, args);
17
13
  Reflect.defineMetadata(key, result, memoizationTarget);
18
14
  return result;
19
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"MemoizeDescriptor.js","sourceRoot":"","sources":["../../../../src/decorators/provides/MemoizeDescriptor.ts"],"names":[],"mappings":";;;AAAA,sCAAsC;AACtC,SAAgB,iBAAiB,CAAC,WAAmB,EAAE,UAA8B;IACnF,IAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC;IACvC,UAAU,CAAC,KAAK,GAAG,SAAS,KAAK;QAAC,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QAC9C,IAAM,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7F,IAAM,GAAG,GAAG,kBAAW,WAAW,CAAE,CAAC;QACrC,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,iBAAiB,CAAC;YAAE,OAAO,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;QACpG,IAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/C,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;QACvD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IACF,OAAO,UAAU,CAAC;AACpB,CAAC;AAXD,8CAWC"}
1
+ {"version":3,"file":"MemoizeDescriptor.js","sourceRoot":"","sources":["../../../../src/decorators/provides/MemoizeDescriptor.ts"],"names":[],"mappings":";;;AAAA,sCAAsC;AACtC,SAAgB,iBAAiB,CAAC,WAAmB,EAAE,UAA8B;IACnF,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC;IACvC,UAAU,CAAC,KAAK,GAAG,SAAS,KAAK,CAAC,GAAG,IAAW;QAC9C,MAAM,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7F,MAAM,GAAG,GAAG,WAAW,WAAW,EAAE,CAAC;QACrC,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,iBAAiB,CAAC;YAAE,OAAO,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;QACpG,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/C,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;QACvD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IACF,OAAO,UAAU,CAAC;AACpB,CAAC;AAXD,8CAWC"}
@@ -4,10 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Provides = void 0;
7
- var ProvidedPropertiesStore_1 = __importDefault(require("../../ProvidedPropertiesStore"));
8
- var MemoizeDescriptor_1 = require("./MemoizeDescriptor");
9
- function Provides(_a) {
10
- var _b = _a === void 0 ? {} : _a, name = _b.name;
7
+ const ProvidedPropertiesStore_1 = __importDefault(require("../../ProvidedPropertiesStore"));
8
+ const MemoizeDescriptor_1 = require("./MemoizeDescriptor");
9
+ function Provides({ name } = {}) {
11
10
  return function provide(graph, propertyKey, descriptor) {
12
11
  ProvidedPropertiesStore_1.default.set(graph, propertyKey, name);
13
12
  return (0, MemoizeDescriptor_1.memoizeDescriptor)(propertyKey, descriptor);
@@ -1 +1 @@
1
- {"version":3,"file":"Provides.js","sourceRoot":"","sources":["../../../../src/decorators/provides/Provides.ts"],"names":[],"mappings":";;;;;;AACA,0FAAoE;AACpE,yDAAwD;AAMxD,SAAgB,QAAQ,CAAC,EAAsC;QAAtC,qBAAoC,EAAE,KAAA,EAApC,IAAI,UAAA;IAC7B,OAAO,SAAS,OAAO,CAAC,KAAY,EAAE,WAAmB,EAAE,UAA8B;QACvF,iCAAuB,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,IAAK,CAAC,CAAC;QACvD,OAAO,IAAA,qCAAiB,EAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC,CAAC;AACJ,CAAC;AALD,4BAKC"}
1
+ {"version":3,"file":"Provides.js","sourceRoot":"","sources":["../../../../src/decorators/provides/Provides.ts"],"names":[],"mappings":";;;;;;AACA,4FAAoE;AACpE,2DAAwD;AAMxD,SAAgB,QAAQ,CAAC,EAAE,IAAI,KAA8B,EAAE;IAC7D,OAAO,SAAS,OAAO,CAAC,KAAY,EAAE,WAAmB,EAAE,UAA8B;QACvF,iCAAuB,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,IAAK,CAAC,CAAC;QACvD,OAAO,IAAA,qCAAiB,EAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC,CAAC;AACJ,CAAC;AALD,4BAKC"}
@@ -0,0 +1,10 @@
1
+ export declare class CircularDependenciesDetector {
2
+ graphName: string;
3
+ private visitedNodes;
4
+ constructor(graphName: string);
5
+ visit(graphName: string, dependencyName: string): boolean;
6
+ hasCircularDependencies(): boolean;
7
+ getDependencies(): string[];
8
+ get firstDependencyName(): string;
9
+ }
10
+ //# sourceMappingURL=CircularDependenciesDetector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CircularDependenciesDetector.d.ts","sourceRoot":"","sources":["../../../src/graph/CircularDependenciesDetector.ts"],"names":[],"mappings":"AAEA,qBAAa,4BAA4B;IAGpB,SAAS,EAAE,MAAM;IAFpC,OAAO,CAAC,YAAY,CAAsB;gBAEvB,SAAS,EAAE,MAAM;IAE7B,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO;IAIzD,uBAAuB,IAAI,OAAO;IAIlC,eAAe,IAAI,MAAM,EAAE;IAIlC,IAAW,mBAAmB,IAAI,MAAM,CAEvC;CACF"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CircularDependenciesDetector = void 0;
4
+ const VisitedNodes_1 = require("./VisitedNodes");
5
+ class CircularDependenciesDetector {
6
+ constructor(graphName) {
7
+ this.graphName = graphName;
8
+ this.visitedNodes = new VisitedNodes_1.VisitedNodes();
9
+ }
10
+ visit(graphName, dependencyName) {
11
+ return this.visitedNodes.visit(graphName, dependencyName);
12
+ }
13
+ hasCircularDependencies() {
14
+ return this.visitedNodes.isCircularPath();
15
+ }
16
+ getDependencies() {
17
+ return this.visitedNodes.getNodes();
18
+ }
19
+ get firstDependencyName() {
20
+ return this.visitedNodes.getNodes()[0];
21
+ }
22
+ }
23
+ exports.CircularDependenciesDetector = CircularDependenciesDetector;
24
+ //# sourceMappingURL=CircularDependenciesDetector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CircularDependenciesDetector.js","sourceRoot":"","sources":["../../../src/graph/CircularDependenciesDetector.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;AAE9C,MAAa,4BAA4B;IAGvC,YAAmB,SAAiB;QAAjB,cAAS,GAAT,SAAS,CAAQ;QAF5B,iBAAY,GAAG,IAAI,2BAAY,EAAE,CAAC;IAEH,CAAC;IAEjC,KAAK,CAAC,SAAiB,EAAE,cAAsB;QACpD,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAC5D,CAAC;IAEM,uBAAuB;QAC5B,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;IAC5C,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;IACtC,CAAC;IAED,IAAW,mBAAmB;QAC5B,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;CACF;AApBD,oEAoBC"}
@@ -1,11 +1,12 @@
1
1
  import { Graph } from './Graph';
2
2
  import { Constructable } from '../types';
3
+ import { CircularDependenciesDetector } from './CircularDependenciesDetector';
3
4
  export declare abstract class ObjectGraph<T = unknown> implements Graph {
4
5
  protected _props?: T | undefined;
5
6
  private propertyRetriever;
6
7
  get name(): string;
7
8
  constructor(_props?: T | undefined);
8
- retrieve<Dependency>(property: string, receiver?: unknown): Dependency | undefined;
9
+ retrieve<Dependency>(property: string, receiver?: unknown, detector?: CircularDependenciesDetector): Dependency | undefined;
9
10
  onBind(_target: any): void;
10
11
  }
11
12
  export declare function isGraph(object: Constructable<ObjectGraph> | any): object is Constructable<ObjectGraph>;
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectGraph.d.ts","sourceRoot":"","sources":["../../../src/graph/ObjectGraph.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,8BAAsB,WAAW,CAAC,CAAC,GAAG,OAAO,CAAE,YAAW,KAAK;IAQjD,SAAS,CAAC,MAAM,CAAC;IAP7B,OAAO,CAAC,iBAAiB,CAA+B;IAExD,IACI,IAAI,IAAI,MAAM,CAEjB;gBAEqB,MAAM,CAAC,eAAG;IAIhC,QAAQ,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS;IAIlF,MAAM,CAAC,OAAO,EAAE,GAAG;CAGpB;AAID,wBAAgB,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,GAAG,GAAG,MAAM,IAAI,aAAa,CAAC,WAAW,CAAC,CAEtG"}
1
+ {"version":3,"file":"ObjectGraph.d.ts","sourceRoot":"","sources":["../../../src/graph/ObjectGraph.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAE9E,8BAAsB,WAAW,CAAC,CAAC,GAAG,OAAO,CAAE,YAAW,KAAK;IAQjD,SAAS,CAAC,MAAM,CAAC;IAP7B,OAAO,CAAC,iBAAiB,CAA+B;IAExD,IACI,IAAI,IAAI,MAAM,CAEjB;gBAEqB,MAAM,CAAC,eAAG;IAIhC,QAAQ,CAAC,UAAU,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,OAAO,EAClB,QAAQ,CAAC,EAAE,4BAA4B,GACtC,UAAU,GAAG,SAAS;IAIzB,MAAM,CAAC,OAAO,EAAE,GAAG;CAGpB;AAID,wBAAgB,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,GAAG,GAAG,MAAM,IAAI,aAAa,CAAC,WAAW,CAAC,CAEtG"}
@@ -13,35 +13,30 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.isGraph = exports.ObjectGraph = void 0;
16
- var lodash_1 = require("lodash");
17
- var Memoize_1 = __importDefault(require("../decorators/Memoize"));
18
- var ProviderBinder_1 = require("./ProviderBinder");
19
- var PropertyRetriever_1 = __importDefault(require("./PropertyRetriever"));
20
- var ObjectGraph = /** @class */ (function () {
21
- function ObjectGraph(_props) {
16
+ const lodash_1 = require("lodash");
17
+ const Memoize_1 = __importDefault(require("../decorators/Memoize"));
18
+ const ProviderBinder_1 = require("./ProviderBinder");
19
+ const PropertyRetriever_1 = __importDefault(require("./PropertyRetriever"));
20
+ class ObjectGraph {
21
+ get name() {
22
+ return (0, lodash_1.uniqueId)(this.constructor.name);
23
+ }
24
+ constructor(_props) {
22
25
  this._props = _props;
23
26
  this.propertyRetriever = new PropertyRetriever_1.default(this);
24
27
  (0, ProviderBinder_1.bindProviders)(this);
25
28
  }
26
- Object.defineProperty(ObjectGraph.prototype, "name", {
27
- get: function () {
28
- return (0, lodash_1.uniqueId)(this.constructor.name);
29
- },
30
- enumerable: false,
31
- configurable: true
32
- });
33
- ObjectGraph.prototype.retrieve = function (property, receiver) {
34
- return this.propertyRetriever.retrieve(property, receiver);
35
- };
36
- ObjectGraph.prototype.onBind = function (_target) {
37
- };
38
- __decorate([
39
- (0, Memoize_1.default)(),
40
- __metadata("design:type", String),
41
- __metadata("design:paramtypes", [])
42
- ], ObjectGraph.prototype, "name", null);
43
- return ObjectGraph;
44
- }());
29
+ retrieve(property, receiver, detector) {
30
+ return this.propertyRetriever.retrieve(property, receiver, detector);
31
+ }
32
+ onBind(_target) {
33
+ }
34
+ }
35
+ __decorate([
36
+ (0, Memoize_1.default)(),
37
+ __metadata("design:type", String),
38
+ __metadata("design:paramtypes", [])
39
+ ], ObjectGraph.prototype, "name", null);
45
40
  exports.ObjectGraph = ObjectGraph;
46
41
  Reflect.set(ObjectGraph, 'typeDiscriminator', 'ObjectGraph');
47
42
  function isGraph(object) {
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectGraph.js","sourceRoot":"","sources":["../../../src/graph/ObjectGraph.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,iCAAkC;AAClC,kEAA4C;AAC5C,mDAAiD;AAEjD,0EAAoD;AAGpD;IAQE,qBAAsB,MAAU;QAAV,WAAM,GAAN,MAAM,CAAI;QAPxB,sBAAiB,GAAG,IAAI,2BAAiB,CAAC,IAAI,CAAC,CAAC;QAQtD,IAAA,8BAAa,EAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAPD,sBACI,6BAAI;aADR;YAEE,OAAO,IAAA,iBAAQ,EAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;;;OAAA;IAMD,8BAAQ,GAAR,UAAqB,QAAgB,EAAE,QAAkB;QACvD,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAA2B,CAAC;IACvF,CAAC;IAED,4BAAM,GAAN,UAAO,OAAY;IAEnB,CAAC;IAfD;QAAC,IAAA,iBAAO,GAAE;;;2CAGT;IAaH,kBAAC;CAAA,AAnBD,IAmBC;AAnBqB,kCAAW;AAqBjC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,mBAAmB,EAAE,aAAa,CAAC,CAAC;AAE7D,SAAgB,OAAO,CAAC,MAAwC;IAC9D,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,KAAK,aAAa,CAAC;AACpE,CAAC;AAFD,0BAEC"}
1
+ {"version":3,"file":"ObjectGraph.js","sourceRoot":"","sources":["../../../src/graph/ObjectGraph.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mCAAkC;AAClC,oEAA4C;AAC5C,qDAAiD;AAEjD,4EAAoD;AAIpD,MAAsB,WAAW;IAG/B,IACI,IAAI;QACN,OAAO,IAAA,iBAAQ,EAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,YAAsB,MAAU;QAAV,WAAM,GAAN,MAAM,CAAI;QAPxB,sBAAiB,GAAG,IAAI,2BAAiB,CAAC,IAAI,CAAC,CAAC;QAQtD,IAAA,8BAAa,EAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,QAAQ,CACN,QAAgB,EAChB,QAAkB,EAClB,QAAuC;QAEvC,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAA2B,CAAC;IACjG,CAAC;IAED,MAAM,CAAC,OAAY;IAEnB,CAAC;CACF;AApBC;IAAC,IAAA,iBAAO,GAAE;;;uCAGT;AANH,kCAuBC;AAED,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,mBAAmB,EAAE,aAAa,CAAC,CAAC;AAE7D,SAAgB,OAAO,CAAC,MAAwC;IAC9D,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,KAAK,aAAa,CAAC;AACpE,CAAC;AAFD,0BAEC"}
@@ -1,8 +1,9 @@
1
1
  import { Graph } from './Graph';
2
+ import { CircularDependenciesDetector } from './CircularDependenciesDetector';
2
3
  export default class PropertyRetriever {
3
4
  private graph;
4
5
  constructor(graph: Graph);
5
- retrieve(property: string, receiver?: unknown): unknown | undefined;
6
+ retrieve(property: string, receiver?: unknown, maybeDetector?: CircularDependenciesDetector): unknown | undefined;
6
7
  private getFromSubgraphs;
7
8
  }
8
9
  //# sourceMappingURL=PropertyRetriever.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyRetriever.d.ts","sourceRoot":"","sources":["../../../src/graph/PropertyRetriever.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACxB,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,KAAK;IAEhC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS;IAsBnE,OAAO,CAAC,gBAAgB;CAMzB"}
1
+ {"version":3,"file":"PropertyRetriever.d.ts","sourceRoot":"","sources":["../../../src/graph/PropertyRetriever.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAE9E,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACxB,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,KAAK;IAEhC,QAAQ,CACN,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,OAAO,EAClB,aAAa,CAAC,EAAE,4BAA4B,GAC3C,OAAO,GAAG,SAAS;IAoCtB,OAAO,CAAC,gBAAgB;CAUzB"}