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
@@ -3,38 +3,46 @@ 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("./registry/GraphRegistry"));
7
- var ProvidedPropertiesStore_1 = __importDefault(require("../ProvidedPropertiesStore"));
8
- var PropertyRetriever = /** @class */ (function () {
9
- function PropertyRetriever(graph) {
6
+ const GraphRegistry_1 = __importDefault(require("./registry/GraphRegistry"));
7
+ const ProvidedPropertiesStore_1 = __importDefault(require("../ProvidedPropertiesStore"));
8
+ const CircularDependenciesDetector_1 = require("./CircularDependenciesDetector");
9
+ class PropertyRetriever {
10
+ constructor(graph) {
10
11
  this.graph = graph;
11
12
  }
12
- PropertyRetriever.prototype.retrieve = function (property, receiver) {
13
- var mangledPropertyKey = ProvidedPropertiesStore_1.default.getMangledProperty(this.graph, property);
14
- if (mangledPropertyKey && mangledPropertyKey in this.graph) {
15
- var proxiedGraph = new Proxy(this.graph, {
16
- get: function (graph, dependencyName) {
17
- return graph.retrieve(dependencyName);
13
+ retrieve(property, receiver, maybeDetector) {
14
+ const mangledPropertyKey = ProvidedPropertiesStore_1.default.getMangledProperty(this.graph, property);
15
+ const circularDependenciesDetector = maybeDetector !== null && maybeDetector !== void 0 ? maybeDetector : new CircularDependenciesDetector_1.CircularDependenciesDetector(this.graph.name);
16
+ if (mangledPropertyKey
17
+ && mangledPropertyKey in this.graph
18
+ && circularDependenciesDetector.visit(this.graph.name, property)) {
19
+ const proxiedGraph = new Proxy(this.graph, {
20
+ get(graph, dependencyName) {
21
+ return graph.retrieve(dependencyName, receiver, circularDependenciesDetector);
18
22
  },
19
23
  });
20
24
  return Reflect.get(this.graph, mangledPropertyKey, receiver)(proxiedGraph);
21
25
  }
22
- var results = this.getFromSubgraphs(property, receiver);
26
+ if (circularDependenciesDetector.hasCircularDependencies()) {
27
+ throw new Error(`Could not resolve ${circularDependenciesDetector.firstDependencyName}`
28
+ + ` from ${circularDependenciesDetector.graphName} because of a circular dependency:`
29
+ + ` ${circularDependenciesDetector.getDependencies().join(' -> ')}`);
30
+ }
31
+ const results = this.getFromSubgraphs(property, circularDependenciesDetector, receiver);
23
32
  if (results.length === 1)
24
33
  return results[0];
25
34
  if (results.length > 1) {
26
- throw new Error("Multiple subgraphs provide the property ".concat(property, ".")
35
+ throw new Error(`Multiple subgraphs provide the property ${property}.`
27
36
  + 'You should probably provide a unique name to one of the providers: @Provide({name: \'uniqueName\')})');
28
37
  }
29
38
  return undefined;
30
- };
31
- PropertyRetriever.prototype.getFromSubgraphs = function (property, receiver) {
32
- var subgraphs = GraphRegistry_1.default.getSubgraphs(this.graph);
39
+ }
40
+ getFromSubgraphs(property, circularDependenciesDetector, receiver) {
41
+ const subgraphs = GraphRegistry_1.default.getSubgraphs(this.graph);
33
42
  return subgraphs
34
- .map(function (subgraph) { return subgraph.retrieve(property, receiver); })
35
- .filter(function (result) { return result !== undefined; });
36
- };
37
- return PropertyRetriever;
38
- }());
43
+ .map((subgraph) => subgraph.retrieve(property, receiver, circularDependenciesDetector))
44
+ .filter((result) => result !== undefined);
45
+ }
46
+ }
39
47
  exports.default = PropertyRetriever;
40
48
  //# sourceMappingURL=PropertyRetriever.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyRetriever.js","sourceRoot":"","sources":["../../../src/graph/PropertyRetriever.ts"],"names":[],"mappings":";;;;;AAAA,2EAAqD;AAErD,uFAAiE;AAEjE;IACE,2BAAoB,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;IAAI,CAAC;IAErC,oCAAQ,GAAR,UAAS,QAAgB,EAAE,QAAkB;QAC3C,IAAM,kBAAkB,GAAG,iCAAuB,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC5F,IAAI,kBAAkB,IAAI,kBAAkB,IAAI,IAAI,CAAC,KAAK,EAAE;YAC1D,IAAM,YAAY,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE;gBACzC,GAAG,YAAC,KAAY,EAAE,cAAsB;oBACtC,OAAO,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;gBACxC,CAAC;aACF,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,kBAAkB,EAAE,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC;SAC5E;QAED,IAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC1D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACtB,MAAM,IAAI,KAAK,CACb,kDAA2C,QAAQ,MAAG;kBACpD,sGAAsG,CACzG,CAAC;SACH;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,4CAAgB,GAAxB,UAAyB,QAAgB,EAAE,QAAiB;QAC1D,IAAM,SAAS,GAAG,uBAAa,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,OAAO,SAAS;aACb,GAAG,CAAC,UAAC,QAAe,IAAK,OAAA,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAArC,CAAqC,CAAC;aAC/D,MAAM,CAAC,UAAC,MAAM,IAAK,OAAA,MAAM,KAAK,SAAS,EAApB,CAAoB,CAAC,CAAC;IAC9C,CAAC;IACH,wBAAC;AAAD,CAAC,AA/BD,IA+BC"}
1
+ {"version":3,"file":"PropertyRetriever.js","sourceRoot":"","sources":["../../../src/graph/PropertyRetriever.ts"],"names":[],"mappings":";;;;;AAAA,6EAAqD;AAErD,yFAAiE;AACjE,iFAA8E;AAE9E,MAAqB,iBAAiB;IACpC,YAAoB,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;IAAI,CAAC;IAErC,QAAQ,CACN,QAAgB,EAChB,QAAkB,EAClB,aAA4C;QAE5C,MAAM,kBAAkB,GAAG,iCAAuB,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC5F,MAAM,4BAA4B,GAAG,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,IAAI,2DAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAExG,IACE,kBAAkB;eACf,kBAAkB,IAAI,IAAI,CAAC,KAAK;eAChC,4BAA4B,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,EAChE;YACA,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE;gBACzC,GAAG,CAAC,KAAY,EAAE,cAAsB;oBACtC,OAAO,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,QAAQ,EAAE,4BAA4B,CAAC,CAAC;gBAChF,CAAC;aACF,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,kBAAkB,EAAE,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC;SAC5E;QAED,IAAI,4BAA4B,CAAC,uBAAuB,EAAE,EAAE;YAC1D,MAAM,IAAI,KAAK,CACb,qBAAqB,4BAA4B,CAAC,mBAAmB,EAAE;kBACpE,SAAS,4BAA4B,CAAC,SAAS,oCAAoC;kBACnF,IAAI,4BAA4B,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CACrE,CAAC;SACH;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,4BAA4B,EAAE,QAAQ,CAAC,CAAC;QACxF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACtB,MAAM,IAAI,KAAK,CACb,2CAA2C,QAAQ,GAAG;kBACpD,sGAAsG,CACzG,CAAC;SACH;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,gBAAgB,CACtB,QAAgB,EAChB,4BAA0D,EAC1D,QAAiB;QAEjB,MAAM,SAAS,GAAG,uBAAa,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,OAAO,SAAS;aACb,GAAG,CAAC,CAAC,QAAe,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,4BAA4B,CAAC,CAAC;aAC7F,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IAC9C,CAAC;CACF;AArDD,oCAqDC"}
@@ -1,5 +1,6 @@
1
+ import { CircularDependenciesDetector } from './CircularDependenciesDetector';
1
2
  interface PropertyRetrieverDelegate {
2
- retrieve: (property: string, receiver?: unknown) => unknown | undefined;
3
+ retrieve: (property: string, receiver?: unknown, circularDependenciesDetector?: CircularDependenciesDetector) => unknown | undefined;
3
4
  }
4
5
  export default PropertyRetrieverDelegate;
5
6
  //# sourceMappingURL=PropertyRetrieverDelegate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyRetrieverDelegate.d.ts","sourceRoot":"","sources":["../../../src/graph/PropertyRetrieverDelegate.ts"],"names":[],"mappings":"AAAA,UAAU,yBAAyB;IACjC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,OAAO,GAAG,SAAS,CAAC;CACzE;AAED,eAAe,yBAAyB,CAAC"}
1
+ {"version":3,"file":"PropertyRetrieverDelegate.d.ts","sourceRoot":"","sources":["../../../src/graph/PropertyRetrieverDelegate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAE9E,UAAU,yBAAyB;IACjC,QAAQ,EAAE,CACR,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,OAAO,EAClB,4BAA4B,CAAC,EAAE,4BAA4B,KACxD,OAAO,GAAG,SAAS,CAAC;CAC1B;AAED,eAAe,yBAAyB,CAAC"}
@@ -5,11 +5,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.bindProviders = void 0;
7
7
  /* eslint-disable no-param-reassign */
8
- var ProvidedPropertiesStore_1 = __importDefault(require("../ProvidedPropertiesStore"));
8
+ const ProvidedPropertiesStore_1 = __importDefault(require("../ProvidedPropertiesStore"));
9
9
  function bindProviders(graph) {
10
10
  ProvidedPropertiesStore_1.default.getMangledProperties(graph)
11
- .filter(function (method) { return graph[method]; })
12
- .forEach(function (method) {
11
+ .filter((method) => graph[method])
12
+ .forEach((method) => {
13
13
  graph[method] = graph[method].bind(graph);
14
14
  });
15
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ProviderBinder.js","sourceRoot":"","sources":["../../../src/graph/ProviderBinder.ts"],"names":[],"mappings":";;;;;;AAAA,sCAAsC;AACtC,uFAAiE;AAGjE,SAAgB,aAAa,CAAC,KAAkC;IAC9D,iCAAuB,CAAC,oBAAoB,CAAC,KAAK,CAAC;SAChD,MAAM,CAAC,UAAC,MAAM,IAAK,OAAA,KAAK,CAAC,MAAM,CAAC,EAAb,CAAa,CAAC;SACjC,OAAO,CAAC,UAAC,MAAM;QACd,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACP,CAAC;AAND,sCAMC"}
1
+ {"version":3,"file":"ProviderBinder.js","sourceRoot":"","sources":["../../../src/graph/ProviderBinder.ts"],"names":[],"mappings":";;;;;;AAAA,sCAAsC;AACtC,yFAAiE;AAGjE,SAAgB,aAAa,CAAC,KAAkC;IAC9D,iCAAuB,CAAC,oBAAoB,CAAC,KAAK,CAAC;SAChD,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SACjC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAClB,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACP,CAAC;AAND,sCAMC"}
@@ -3,20 +3,17 @@ 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("./registry/GraphRegistry"));
7
- var ServiceLocatorFactory = /** @class */ (function () {
8
- function ServiceLocatorFactory() {
9
- }
10
- ServiceLocatorFactory.fromGraph = function (Graph, props) {
11
- var resolved = GraphRegistry_1.default.resolve(Graph, props);
12
- var wrapped = new Proxy(resolved, {
13
- get: function (_target, property, receiver) {
14
- return function () { return resolved.retrieve(property, receiver); };
6
+ const GraphRegistry_1 = __importDefault(require("./registry/GraphRegistry"));
7
+ class ServiceLocatorFactory {
8
+ static fromGraph(Graph, props) {
9
+ const resolved = GraphRegistry_1.default.resolve(Graph, props);
10
+ const wrapped = new Proxy(resolved, {
11
+ get(_target, property, receiver) {
12
+ return () => resolved.retrieve(property, receiver);
15
13
  },
16
14
  });
17
15
  return wrapped;
18
- };
19
- return ServiceLocatorFactory;
20
- }());
16
+ }
17
+ }
21
18
  exports.default = ServiceLocatorFactory;
22
19
  //# sourceMappingURL=ServiceLocatorFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceLocatorFactory.js","sourceRoot":"","sources":["../../../src/graph/ServiceLocatorFactory.ts"],"names":[],"mappings":";;;;;AAEA,2EAAqD;AAErD;IAAA;IAUA,CAAC;IATQ,+BAAS,GAAhB,UAAoD,KAAuB,EAAE,KAAS;QACpF,IAAM,QAAQ,GAAG,uBAAa,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACrD,IAAM,OAAO,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE;YAClC,GAAG,YAAC,OAAY,EAAE,QAAgB,EAAE,QAAa;gBAC/C,OAAO,cAAM,OAAA,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAArC,CAAqC,CAAC;YACrD,CAAC;SACF,CAAC,CAAC;QACH,OAAO,OAA2C,CAAC;IACrD,CAAC;IACH,4BAAC;AAAD,CAAC,AAVD,IAUC"}
1
+ {"version":3,"file":"ServiceLocatorFactory.js","sourceRoot":"","sources":["../../../src/graph/ServiceLocatorFactory.ts"],"names":[],"mappings":";;;;;AAEA,6EAAqD;AAErD,MAAqB,qBAAqB;IACxC,MAAM,CAAC,SAAS,CAAoC,KAAuB,EAAE,KAAS;QACpF,MAAM,QAAQ,GAAG,uBAAa,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE;YAClC,GAAG,CAAC,OAAY,EAAE,QAAgB,EAAE,QAAa;gBAC/C,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACrD,CAAC;SACF,CAAC,CAAC;QACH,OAAO,OAA2C,CAAC;IACrD,CAAC;CACF;AAVD,wCAUC"}
@@ -0,0 +1,9 @@
1
+ export declare class VisitedNodes {
2
+ private visitedNodes;
3
+ private visitPath;
4
+ visit(graphName: string, dependencyName: string): boolean;
5
+ canVisit(graphName: string, dependencyName: string): boolean;
6
+ isCircularPath(): boolean;
7
+ getNodes(): string[];
8
+ }
9
+ //# sourceMappingURL=VisitedNodes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VisitedNodes.d.ts","sourceRoot":"","sources":["../../../src/graph/VisitedNodes.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAY;IACvB,OAAO,CAAC,YAAY,CAAoC;IACxD,OAAO,CAAC,SAAS,CAAgB;IAE1B,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO;IASzD,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;IAIlD,cAAc,IAAI,OAAO;IAIhC,QAAQ,IAAI,MAAM,EAAE;CAGrB"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VisitedNodes = void 0;
4
+ class VisitedNodes {
5
+ constructor() {
6
+ this.visitedNodes = new Set();
7
+ this.visitPath = [];
8
+ }
9
+ visit(graphName, dependencyName) {
10
+ this.visitPath.push(dependencyName);
11
+ if (this.canVisit(graphName, dependencyName)) {
12
+ this.visitedNodes.add(`${graphName}.${dependencyName}`);
13
+ return true;
14
+ }
15
+ return false;
16
+ }
17
+ canVisit(graphName, dependencyName) {
18
+ return !this.visitedNodes.has(`${graphName}.${dependencyName}`);
19
+ }
20
+ isCircularPath() {
21
+ return this.visitedNodes.size < this.visitPath.length;
22
+ }
23
+ getNodes() {
24
+ return this.visitPath;
25
+ }
26
+ }
27
+ exports.VisitedNodes = VisitedNodes;
28
+ //# sourceMappingURL=VisitedNodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VisitedNodes.js","sourceRoot":"","sources":["../../../src/graph/VisitedNodes.ts"],"names":[],"mappings":";;;AAAA,MAAa,YAAY;IAAzB;QACU,iBAAY,GAAG,IAAI,GAAG,EAAyB,CAAC;QAChD,cAAS,GAAa,EAAE,CAAC;IAsBnC,CAAC;IApBQ,KAAK,CAAC,SAAiB,EAAE,cAAsB;QACpD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE;YAC5C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,SAAS,IAAI,cAAc,EAAE,CAAC,CAAC;YACxD,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,QAAQ,CAAC,SAAiB,EAAE,cAAsB;QACvD,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,SAAS,IAAI,cAAc,EAAE,CAAC,CAAC;IAClE,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IACxD,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;CACF;AAxBD,oCAwBC"}
@@ -1,30 +1,10 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
2
  Object.defineProperty(exports, "__esModule", { value: true });
18
- var Middleware_1 = require("./Middleware");
19
- var DefaultGraphMiddleware = /** @class */ (function (_super) {
20
- __extends(DefaultGraphMiddleware, _super);
21
- function DefaultGraphMiddleware() {
22
- return _super !== null && _super.apply(this, arguments) || this;
23
- }
24
- DefaultGraphMiddleware.prototype.resolve = function (_resolveChain, Graph, props) {
3
+ const Middleware_1 = require("./Middleware");
4
+ class DefaultGraphMiddleware extends Middleware_1.Middleware {
5
+ resolve(_resolveChain, Graph, props) {
25
6
  return new Graph(props);
26
- };
27
- return DefaultGraphMiddleware;
28
- }(Middleware_1.Middleware));
7
+ }
8
+ }
29
9
  exports.default = DefaultGraphMiddleware;
30
10
  //# sourceMappingURL=DefaultGraphResolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultGraphResolver.js","sourceRoot":"","sources":["../../../../src/graph/registry/DefaultGraphResolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,2CAA0C;AAG1C;IAAqE,0CAAa;IAAlF;;IAIA,CAAC;IAHC,wCAAO,GAAP,UAAQ,aAA8B,EAAE,KAAuB,EAAE,KAAW;QAC1E,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IACH,6BAAC;AAAD,CAAC,AAJD,CAAqE,uBAAU,GAI9E"}
1
+ {"version":3,"file":"DefaultGraphResolver.js","sourceRoot":"","sources":["../../../../src/graph/registry/DefaultGraphResolver.ts"],"names":[],"mappings":";;AAEA,6CAA0C;AAG1C,MAAqB,sBAAwC,SAAQ,uBAAa;IAChF,OAAO,CAAC,aAA8B,EAAE,KAAuB,EAAE,KAAW;QAC1E,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;CACF;AAJD,yCAIC"}
@@ -1,28 +1,8 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
2
  Object.defineProperty(exports, "__esModule", { value: true });
18
3
  exports.GraphMiddleware = void 0;
19
- var Middleware_1 = require("./Middleware");
20
- var GraphMiddleware = /** @class */ (function (_super) {
21
- __extends(GraphMiddleware, _super);
22
- function GraphMiddleware() {
23
- return _super !== null && _super.apply(this, arguments) || this;
24
- }
25
- return GraphMiddleware;
26
- }(Middleware_1.Middleware));
4
+ const Middleware_1 = require("./Middleware");
5
+ class GraphMiddleware extends Middleware_1.Middleware {
6
+ }
27
7
  exports.GraphMiddleware = GraphMiddleware;
28
8
  //# sourceMappingURL=GraphMiddleware.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GraphMiddleware.js","sourceRoot":"","sources":["../../../../src/graph/registry/GraphMiddleware.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAEA,2CAA0C;AAE1C;IAA8C,mCAA0C;IAAxF;;IAA2F,CAAC;IAAD,sBAAC;AAAD,CAAC,AAA5F,CAA8C,uBAAU,GAAoC;AAAtE,0CAAe"}
1
+ {"version":3,"file":"GraphMiddleware.js","sourceRoot":"","sources":["../../../../src/graph/registry/GraphMiddleware.ts"],"names":[],"mappings":";;;AAEA,6CAA0C;AAE1C,MAAsB,eAAgB,SAAQ,uBAA0C;CAAI;AAA5F,0CAA4F"}
@@ -3,28 +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 DefaultGraphResolver_1 = __importDefault(require("./DefaultGraphResolver"));
7
- var GraphMiddlewareChain = /** @class */ (function () {
8
- function GraphMiddlewareChain(defaultMiddleware) {
9
- if (defaultMiddleware === void 0) { defaultMiddleware = new DefaultGraphResolver_1.default(); }
6
+ const DefaultGraphResolver_1 = __importDefault(require("./DefaultGraphResolver"));
7
+ class GraphMiddlewareChain {
8
+ constructor(defaultMiddleware = new DefaultGraphResolver_1.default()) {
10
9
  this.middlewares = [defaultMiddleware];
11
10
  }
12
- GraphMiddlewareChain.prototype.resolve = function (Graph, props) {
11
+ resolve(Graph, props) {
13
12
  return this.middlewares[0].resolve(this.middlewares[0].resolveChain, Graph, props);
14
- };
15
- GraphMiddlewareChain.prototype.add = function (middleware) {
13
+ }
14
+ add(middleware) {
16
15
  this.middlewares.unshift(middleware);
17
16
  this.updateResolveChain();
18
- };
19
- GraphMiddlewareChain.prototype.updateResolveChain = function () {
17
+ }
18
+ updateResolveChain() {
20
19
  if (this.middlewares.length > 1) {
21
20
  this.middlewares[0].setNext(this.middlewares[1]);
22
21
  }
23
- };
24
- GraphMiddlewareChain.prototype.clear = function () {
22
+ }
23
+ clear() {
25
24
  this.middlewares = [new DefaultGraphResolver_1.default()];
26
- };
27
- return GraphMiddlewareChain;
28
- }());
25
+ }
26
+ }
29
27
  exports.default = GraphMiddlewareChain;
30
28
  //# sourceMappingURL=GraphMiddlewareChain.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GraphMiddlewareChain.js","sourceRoot":"","sources":["../../../../src/graph/registry/GraphMiddlewareChain.ts"],"names":[],"mappings":";;;;;AAEA,gFAA4D;AAG5D;IAGE,8BAAY,iBAA+D;QAA/D,kCAAA,EAAA,wBAAuC,8BAAsB,EAAE;QACzE,IAAI,CAAC,WAAW,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACzC,CAAC;IAED,sCAAO,GAAP,UAAQ,KAAuB,EAAE,KAAW;QAC1C,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACrF,CAAC;IAED,kCAAG,GAAH,UAAI,UAAyB;QAC3B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAEO,iDAAkB,GAA1B;QACE,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;SAClD;IACH,CAAC;IAED,oCAAK,GAAL;QACE,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,8BAAsB,EAAE,CAAC,CAAC;IACpD,CAAC;IACH,2BAAC;AAAD,CAAC,AAzBD,IAyBC"}
1
+ {"version":3,"file":"GraphMiddlewareChain.js","sourceRoot":"","sources":["../../../../src/graph/registry/GraphMiddlewareChain.ts"],"names":[],"mappings":";;;;;AAEA,kFAA4D;AAG5D,MAAqB,oBAAoB;IAGvC,YAAY,oBAAmC,IAAI,8BAAsB,EAAE;QACzE,IAAI,CAAC,WAAW,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,CAAC,KAAuB,EAAE,KAAW;QAC1C,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACrF,CAAC;IAED,GAAG,CAAC,UAAyB;QAC3B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAEO,kBAAkB;QACxB,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;SAClD;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,8BAAsB,EAAE,CAAC,CAAC;IACpD,CAAC;CACF;AAzBD,uCAyBC"}
@@ -4,86 +4,83 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.GraphRegistry = void 0;
7
- var GraphMiddlewareChain_1 = __importDefault(require("./GraphMiddlewareChain"));
8
- var GraphRegistry = /** @class */ (function () {
9
- function GraphRegistry() {
7
+ const GraphMiddlewareChain_1 = __importDefault(require("./GraphMiddlewareChain"));
8
+ class GraphRegistry {
9
+ constructor() {
10
10
  this.constructorToInstance = new Map();
11
11
  this.instanceToConstructor = new Map();
12
12
  this.nameToInstance = new Map();
13
13
  this.graphToSubgraphs = new Map();
14
14
  this.graphMiddlewares = new GraphMiddlewareChain_1.default();
15
15
  }
16
- GraphRegistry.prototype.register = function (constructor, subgraphs) {
17
- if (subgraphs === void 0) { subgraphs = []; }
16
+ register(constructor, subgraphs = []) {
18
17
  this.graphToSubgraphs.set(constructor, new Set(subgraphs));
19
- };
20
- GraphRegistry.prototype.ensureRegistered = function (graph) {
18
+ }
19
+ ensureRegistered(graph) {
21
20
  if (this.instanceToConstructor.get(graph))
22
21
  return;
23
22
  this.set(graph.constructor, graph);
24
- };
25
- GraphRegistry.prototype.getSubgraphs = function (graph) {
26
- var _this = this;
23
+ }
24
+ getSubgraphs(graph) {
27
25
  var _a;
28
- var Graph = this.instanceToConstructor.get(graph);
29
- var subgraphs = (_a = this.graphToSubgraphs.get(Graph)) !== null && _a !== void 0 ? _a : new Set();
30
- return Array.from(subgraphs).map(function (G) { return _this.resolve(G); });
31
- };
32
- GraphRegistry.prototype.getGraphInstance = function (name) {
26
+ const Graph = this.instanceToConstructor.get(graph);
27
+ const subgraphs = (_a = this.graphToSubgraphs.get(Graph)) !== null && _a !== void 0 ? _a : new Set();
28
+ return Array.from(subgraphs).map((G) => this.resolve(G));
29
+ }
30
+ getGraphInstance(name) {
33
31
  return this.nameToInstance.get(name);
34
- };
35
- GraphRegistry.prototype.resolve = function (Graph, props) {
32
+ }
33
+ resolve(Graph, props) {
36
34
  if ((this.isSingleton(Graph) || this.isBoundToReactLifecycle(Graph)) && this.has(Graph)) {
37
35
  return this.getFirst(Graph);
38
36
  }
39
- var graph = this.graphMiddlewares.resolve(Graph, props);
37
+ const graph = this.graphMiddlewares.resolve(Graph, props);
40
38
  this.set(Graph, graph);
41
39
  return graph;
42
- };
43
- GraphRegistry.prototype.has = function (Graph) {
40
+ }
41
+ has(Graph) {
44
42
  var _a, _b;
45
43
  return ((_b = (_a = this.constructorToInstance.get(Graph)) === null || _a === void 0 ? void 0 : _a.size) !== null && _b !== void 0 ? _b : 0) > 0;
46
- };
47
- GraphRegistry.prototype.getFirst = function (Graph) {
44
+ }
45
+ getFirst(Graph) {
48
46
  return this.constructorToInstance.get(Graph).values().next().value;
49
- };
50
- GraphRegistry.prototype.set = function (Graph, graph) {
47
+ }
48
+ set(Graph, graph) {
51
49
  var _a;
52
- var graphs = (_a = this.constructorToInstance.get(Graph)) !== null && _a !== void 0 ? _a : new Set();
50
+ const graphs = (_a = this.constructorToInstance.get(Graph)) !== null && _a !== void 0 ? _a : new Set();
53
51
  graphs.add(graph);
54
52
  this.constructorToInstance.set(Graph, graphs);
55
53
  this.instanceToConstructor.set(graph, Graph);
56
54
  this.nameToInstance.set(graph.name, graph);
57
- };
58
- GraphRegistry.prototype.isSingleton = function (Graph) {
55
+ }
56
+ isSingleton(Graph) {
59
57
  var _a;
60
58
  return (_a = Reflect.getMetadata('isSingleton', Graph)) !== null && _a !== void 0 ? _a : false;
61
- };
62
- GraphRegistry.prototype.isBoundToReactLifecycle = function (Graph) {
59
+ }
60
+ isBoundToReactLifecycle(Graph) {
63
61
  var _a;
64
62
  return (_a = Reflect.getMetadata('isLifecycleBound', Graph)) !== null && _a !== void 0 ? _a : false;
65
- };
66
- GraphRegistry.prototype.clear = function (graph) {
67
- var Graph = this.instanceToConstructor.get(graph);
63
+ }
64
+ clear(graph) {
65
+ const Graph = this.instanceToConstructor.get(graph);
68
66
  if (this.isSingleton(Graph))
69
67
  return;
70
68
  this.instanceToConstructor.delete(graph);
71
69
  this.constructorToInstance.get(Graph).delete(graph);
72
70
  this.nameToInstance.delete(graph.name);
73
- };
74
- GraphRegistry.prototype.addGraphMiddleware = function (middleware) {
71
+ }
72
+ addGraphMiddleware(middleware) {
75
73
  this.graphMiddlewares.add(middleware);
76
- };
77
- GraphRegistry.prototype.clearGraphMiddlewares = function () {
74
+ }
75
+ clearGraphMiddlewares() {
78
76
  this.graphMiddlewares.clear();
79
- };
80
- GraphRegistry.prototype.clearAll = function () {
77
+ }
78
+ clearAll() {
81
79
  this.instanceToConstructor.clear();
82
80
  this.constructorToInstance.clear();
83
81
  this.nameToInstance.clear();
84
- };
85
- return GraphRegistry;
86
- }());
82
+ }
83
+ }
87
84
  exports.GraphRegistry = GraphRegistry;
88
85
  exports.default = new GraphRegistry();
89
86
  //# sourceMappingURL=GraphRegistry.js.map
@@ -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":"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"}
@@ -1,25 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Middleware = void 0;
4
- var Middleware = /** @class */ (function () {
5
- function Middleware() {
6
- }
7
- Middleware.prototype.setNext = function (next) {
4
+ class Middleware {
5
+ setNext(next) {
8
6
  this.next = next;
9
- };
10
- Object.defineProperty(Middleware.prototype, "resolveChain", {
11
- get: function () {
12
- var _this = this;
13
- return {
14
- proceed: function (Graph, props) {
15
- return _this.next.resolve(_this.next.resolveChain, Graph, props);
16
- },
17
- };
18
- },
19
- enumerable: false,
20
- configurable: true
21
- });
22
- return Middleware;
23
- }());
7
+ }
8
+ get resolveChain() {
9
+ return {
10
+ proceed: (Graph, props) => {
11
+ return this.next.resolve(this.next.resolveChain, Graph, props);
12
+ },
13
+ };
14
+ }
15
+ }
24
16
  exports.Middleware = Middleware;
25
17
  //# sourceMappingURL=Middleware.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Middleware.js","sourceRoot":"","sources":["../../../../src/graph/registry/Middleware.ts"],"names":[],"mappings":";;;AAIA;IAAA;IAgBA,CAAC;IAbQ,4BAAO,GAAd,UAAe,IAAoC;QACjD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,sBAAW,oCAAY;aAAvB;YAAA,iBAMC;YALC,OAAO;gBACL,OAAO,EAAE,UAAQ,KAAuB,EAAE,KAAa;oBACrD,OAAO,KAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBACjE,CAAC;aACF,CAAC;QACJ,CAAC;;;OAAA;IAGH,iBAAC;AAAD,CAAC,AAhBD,IAgBC;AAhBqB,gCAAU"}
1
+ {"version":3,"file":"Middleware.js","sourceRoot":"","sources":["../../../../src/graph/registry/Middleware.ts"],"names":[],"mappings":";;;AAIA,MAAsB,UAAU;IAGvB,OAAO,CAAC,IAAoC;QACjD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,IAAW,YAAY;QACrB,OAAO;YACL,OAAO,EAAE,CAAQ,KAAuB,EAAE,KAAa,EAAK,EAAE;gBAC5D,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YACjE,CAAC;SACF,CAAC;IACJ,CAAC;CAGF;AAhBD,gCAgBC"}
package/dist/src/index.js CHANGED
@@ -18,7 +18,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
20
  exports.testKit = exports.MediatorObservable = exports.Observable = exports.useObserver = exports.injectHookWithArguments = exports.injectHook = exports.injectComponent = exports.Obsidian = exports.GraphMiddleware = exports.LifecycleBound = exports.LateInject = exports.Inject = exports.Injectable = exports.Provides = exports.ObjectGraph = exports.Singleton = exports.Graph = void 0;
21
- var Obsidian_1 = __importDefault(require("./Obsidian"));
21
+ const Obsidian_1 = __importDefault(require("./Obsidian"));
22
22
  __exportStar(require("./types"), exports);
23
23
  var Graph_1 = require("./decorators/Graph");
24
24
  Object.defineProperty(exports, "Graph", { enumerable: true, get: function () { return Graph_1.Graph; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,wDAAmC;AAEnC,0CAAwB;AAExB,4CAA2C;AAAlC,8FAAA,KAAK,OAAA;AACd,oDAAmD;AAA1C,sGAAA,SAAS,OAAA;AAClB,mDAAkD;AAAzC,0GAAA,WAAW,OAAA;AAEpB,2DAA0D;AAAjD,oGAAA,QAAQ,OAAA;AACjB,6DAA4D;AAAnD,wGAAA,UAAU,OAAA;AACnB,qDAAoD;AAA3C,gGAAA,MAAM,OAAA;AACf,6DAA4D;AAAnD,wGAAA,UAAU,OAAA;AACnB,8DAA6D;AAApD,gHAAA,cAAc,OAAA;AACvB,oEAAmE;AAA1D,kHAAA,eAAe,OAAA;AAGX,QAAA,QAAQ,GAAG,IAAI,kBAAS,EAAE,CAAC;AAExC,0EAAyE;AAAhE,kHAAA,eAAe,OAAA;AACxB,2DAAmF;AAA1E,wGAAA,UAAU,OAAA;AAAE,qHAAA,uBAAuB,OAAA;AAE5C,wDAAuD;AAA9C,0GAAA,WAAW,OAAA;AACpB,sDAAqD;AAA5C,wGAAA,UAAU,OAAA;AACnB,sEAAqE;AAA5D,wHAAA,kBAAkB,OAAA;AAG3B,sCAAqC;AAA5B,kGAAA,OAAO,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,0DAAmC;AAEnC,0CAAwB;AAExB,4CAA2C;AAAlC,8FAAA,KAAK,OAAA;AACd,oDAAmD;AAA1C,sGAAA,SAAS,OAAA;AAClB,mDAAkD;AAAzC,0GAAA,WAAW,OAAA;AAEpB,2DAA0D;AAAjD,oGAAA,QAAQ,OAAA;AACjB,6DAA4D;AAAnD,wGAAA,UAAU,OAAA;AACnB,qDAAoD;AAA3C,gGAAA,MAAM,OAAA;AACf,6DAA4D;AAAnD,wGAAA,UAAU,OAAA;AACnB,8DAA6D;AAApD,gHAAA,cAAc,OAAA;AACvB,oEAAmE;AAA1D,kHAAA,eAAe,OAAA;AAGX,QAAA,QAAQ,GAAG,IAAI,kBAAS,EAAE,CAAC;AAExC,0EAAyE;AAAhE,kHAAA,eAAe,OAAA;AACxB,2DAAmF;AAA1E,wGAAA,UAAU,OAAA;AAAE,qHAAA,uBAAuB,OAAA;AAE5C,wDAAuD;AAA9C,0GAAA,WAAW,OAAA;AACpB,sDAAqD;AAA5C,wGAAA,UAAU,OAAA;AACnB,sEAAqE;AAA5D,wHAAA,kBAAkB,OAAA;AAG3B,sCAAqC;AAA5B,kGAAA,OAAO,OAAA"}