react-obsidian 0.0.4 → 0.0.9

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 (109) hide show
  1. package/.eslintrc.json +3 -2
  2. package/README.md +37 -2
  3. package/dist/src/Obsidian.d.ts +3 -3
  4. package/dist/src/Obsidian.d.ts.map +1 -1
  5. package/dist/src/Obsidian.js.map +1 -1
  6. package/dist/src/ProvidedPropertiesStore.d.ts +1 -1
  7. package/dist/src/ProvidedPropertiesStore.d.ts.map +1 -1
  8. package/dist/src/ScopedValuesRegistry.d.ts +1 -1
  9. package/dist/src/ScopedValuesRegistry.d.ts.map +1 -1
  10. package/dist/src/decorators/Graph.d.ts +3 -3
  11. package/dist/src/decorators/Graph.d.ts.map +1 -1
  12. package/dist/src/decorators/Graph.js +2 -1
  13. package/dist/src/decorators/Graph.js.map +1 -1
  14. package/dist/src/decorators/Memoize.d.ts +3 -0
  15. package/dist/src/decorators/Memoize.d.ts.map +1 -0
  16. package/dist/src/decorators/Memoize.js +21 -0
  17. package/dist/src/decorators/Memoize.js.map +1 -0
  18. package/dist/src/decorators/injectClass.d.ts +2 -2
  19. package/dist/src/decorators/injectClass.d.ts.map +1 -1
  20. package/dist/src/decorators/provides/Provides.d.ts +4 -4
  21. package/dist/src/decorators/provides/Provides.d.ts.map +1 -1
  22. package/dist/src/decorators/provides/Provides.js +2 -1
  23. package/dist/src/decorators/provides/Provides.js.map +1 -1
  24. package/dist/src/graph/Graph.d.ts +1 -2
  25. package/dist/src/graph/Graph.d.ts.map +1 -1
  26. package/dist/src/graph/ObjectGraph.d.ts +3 -3
  27. package/dist/src/graph/ObjectGraph.d.ts.map +1 -1
  28. package/dist/src/graph/ObjectGraph.js +19 -2
  29. package/dist/src/graph/ObjectGraph.js.map +1 -1
  30. package/dist/src/graph/PropertyRetriever.d.ts +1 -1
  31. package/dist/src/graph/PropertyRetriever.d.ts.map +1 -1
  32. package/dist/src/graph/registry/DefaultGraphResolver.d.ts +6 -5
  33. package/dist/src/graph/registry/DefaultGraphResolver.d.ts.map +1 -1
  34. package/dist/src/graph/registry/DefaultGraphResolver.js +2 -2
  35. package/dist/src/graph/registry/DefaultGraphResolver.js.map +1 -1
  36. package/dist/src/graph/registry/GraphMiddleware.d.ts +4 -10
  37. package/dist/src/graph/registry/GraphMiddleware.d.ts.map +1 -1
  38. package/dist/src/graph/registry/GraphMiddleware.js +20 -17
  39. package/dist/src/graph/registry/GraphMiddleware.js.map +1 -1
  40. package/dist/src/graph/registry/GraphMiddlewareChain.d.ts +7 -7
  41. package/dist/src/graph/registry/GraphMiddlewareChain.d.ts.map +1 -1
  42. package/dist/src/graph/registry/GraphMiddlewareChain.js.map +1 -1
  43. package/dist/src/graph/registry/GraphRegistry.d.ts +4 -4
  44. package/dist/src/graph/registry/GraphRegistry.d.ts.map +1 -1
  45. package/dist/src/graph/registry/GraphRegistry.js.map +1 -1
  46. package/dist/src/graph/registry/GraphResolveChain.d.ts +4 -0
  47. package/dist/src/graph/registry/GraphResolveChain.d.ts.map +1 -0
  48. package/dist/src/graph/registry/GraphResolveChain.js +3 -0
  49. package/dist/src/graph/registry/GraphResolveChain.js.map +1 -0
  50. package/dist/src/graph/registry/Middleware.d.ts +10 -0
  51. package/dist/src/graph/registry/Middleware.d.ts.map +1 -0
  52. package/dist/src/graph/registry/Middleware.js +25 -0
  53. package/dist/src/graph/registry/Middleware.js.map +1 -0
  54. package/dist/src/graph/registry/ResolveChain.d.ts +5 -0
  55. package/dist/src/graph/registry/ResolveChain.d.ts.map +1 -0
  56. package/dist/src/graph/registry/ResolveChain.js +3 -0
  57. package/dist/src/graph/registry/ResolveChain.js.map +1 -0
  58. package/dist/src/index.d.ts +15 -14
  59. package/dist/src/index.d.ts.map +1 -1
  60. package/dist/src/index.js +26 -12
  61. package/dist/src/index.js.map +1 -1
  62. package/dist/src/injectors/components/ComponentInjector.d.ts +2 -2
  63. package/dist/src/injectors/components/ComponentInjector.d.ts.map +1 -1
  64. package/dist/src/injectors/components/ComponentInjector.js.map +1 -1
  65. package/dist/src/injectors/components/PropsInjector.d.ts +1 -1
  66. package/dist/src/injectors/components/PropsInjector.d.ts.map +1 -1
  67. package/dist/src/injectors/components/useGraph.d.ts +2 -2
  68. package/dist/src/injectors/components/useGraph.d.ts.map +1 -1
  69. package/dist/src/injectors/components/useGraph.js.map +1 -1
  70. package/dist/src/injectors/hooks/HookInjector.d.ts +2 -2
  71. package/dist/src/injectors/hooks/HookInjector.d.ts.map +1 -1
  72. package/dist/src/injectors/hooks/HookInjector.js.map +1 -1
  73. package/dist/src/types/index.d.ts +12 -0
  74. package/dist/src/types/index.d.ts.map +1 -0
  75. package/dist/src/types/index.js +3 -0
  76. package/dist/src/types/index.js.map +1 -0
  77. package/dist/testkit/index.d.ts +1 -2
  78. package/dist/testkit/index.d.ts.map +1 -1
  79. package/dist/testkit/index.js +1 -2
  80. package/dist/testkit/index.js.map +1 -1
  81. package/example/tsconfig.json +0 -3
  82. package/package.json +1 -1
  83. package/src/Obsidian.ts +6 -3
  84. package/src/ProvidedPropertiesStore.ts +1 -1
  85. package/src/ScopedValuesRegistry.ts +1 -1
  86. package/src/decorators/Graph.ts +3 -3
  87. package/src/decorators/Memoize.ts +18 -0
  88. package/src/decorators/injectClass.ts +2 -2
  89. package/src/decorators/provides/Provides.ts +3 -4
  90. package/src/graph/Graph.ts +1 -3
  91. package/src/graph/ObjectGraph.ts +8 -4
  92. package/src/graph/PropertyRetriever.ts +1 -1
  93. package/src/graph/registry/DefaultGraphResolver.ts +6 -5
  94. package/src/graph/registry/GraphMiddleware.ts +4 -23
  95. package/src/graph/registry/GraphMiddlewareChain.ts +8 -8
  96. package/src/graph/registry/GraphRegistry.ts +5 -5
  97. package/src/graph/registry/GraphResolveChain.ts +4 -0
  98. package/src/graph/registry/Middleware.ts +21 -0
  99. package/src/graph/registry/ResolveChain.ts +5 -0
  100. package/src/index.ts +19 -17
  101. package/src/injectors/components/ComponentInjector.tsx +2 -2
  102. package/src/injectors/components/PropsInjector.ts +1 -1
  103. package/src/injectors/components/useGraph.ts +2 -2
  104. package/src/injectors/hooks/HookInjector.ts +4 -3
  105. package/src/types/index.ts +13 -0
  106. package/testkit/index.ts +9 -6
  107. package/tsconfig.base.json +1 -4
  108. package/.nvmrc +0 -1
  109. package/src/@types/obsidian.d.ts +0 -19
package/.eslintrc.json CHANGED
@@ -79,10 +79,11 @@
79
79
  "react/button-has-type": "off",
80
80
  "react/jsx-one-expression-per-line": ["off"],
81
81
  "arrow-body-style": ["off"],
82
- "quotes": ["error", "single", {"avoidEscape": true, "allowTemplateLiterals": true}],
82
+ "@typescript-eslint/quotes": ["error", "single", {"avoidEscape": true, "allowTemplateLiterals": true}],
83
83
  "@typescript-eslint/lines-between-class-members": "off",
84
84
  "@typescript-eslint/no-explicit-any": "off",
85
- "@typescript-eslint/no-unused-vars": "error"
85
+ "@typescript-eslint/no-unused-vars": "error",
86
+ "import/prefer-default-export": "off"
86
87
  },
87
88
  "settings": {
88
89
  "import/resolver": {
package/README.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  > Dependency injection framework for React and React Native applications
4
4
 
5
+ ## Introduction
6
+ Applications are made of objects that communicate with each other. An object can depend on other objects so it can perform its responsibilities. For an object to function properly, its dependencies must be fulfilled when the object is constructed.
7
+
8
+ React Obsidian is a dependency injection framework for React and React Native applications. It allows you to inject dependencies effortlessly into hooks, components or classes. Separating the construction and consumption of dependencies is crucial to maintaining a readable and testable codebase.
9
+
10
+ React Obsidian is guided by the principles of the Dependency Injection pattern, but does not strictly follow it. We allowed ourselves a degree of freedom when designing the library in order to reduce boilerplate code and reduce library footprint.
11
+
5
12
  ## Installation
6
13
 
7
14
  ``` shell
@@ -110,6 +117,33 @@ Obsidian.obtain(ApplicationGraph).biLogger();
110
117
 
111
118
  > Note: While the function that provides the `biLogger` accepts an argument of type `HttpClient`, when obtaining dependencies directly from the graph, we don't provide dependencies ourselves as they are resolved by Obsidian.
112
119
 
120
+ ## Advance usage
121
+ ### Graph middlewares
122
+ When working on large scale applications, a need to hook into various low level operations often arises. Obsidian lets you hook into the graph creation process by adding middlewares.
123
+
124
+ Middlewares are invoked in LIFO order and can be used for various purposes:
125
+ 1. Create a graph yourself instead of letting Obsidian instantiate it.
126
+ 2. Add logging to graph creation.
127
+ 3. Handle errors when Obsidian instantiates graphs.
128
+ 4. Replace graphs with mocks for testing purposes.
129
+
130
+ Middlewares follow the Chain of Responsibility pattern and therefor must always return a graph, either by creating one explicitly or by returning the instance created by another member in the resolve chain.
131
+
132
+ #### Adding a logging middleware
133
+ The following example demonstrates how to add a middleware that's used for logging purposes.
134
+
135
+ ```typescript
136
+ const loggingMiddleware = new class extends GraphMiddleware {
137
+ resolve<T extends ObjectGraph, Props>(resolveChain: ResolveChain, Graph: Constructable<T>, props?: Props) {
138
+ const t1 = Date.now();
139
+ const graph = resolveChain.proceed(Graph, props);
140
+ const t2 = Date.now();
141
+ console.log(`Graph created in ${t2 - t1} milliseconds`);
142
+ return graph;
143
+ }
144
+ }();
145
+ Obsidian.addGraphMiddleware(loggingMiddleware);
146
+ ```
113
147
  ## Prerequisites
114
148
  Obsidian is highly opinionated and is developed with a specific environment in mind. Therefore, it has a few prerequisites for projects that want to integrate it.
115
149
 
@@ -145,12 +179,13 @@ module.exports = {
145
179
  presets: ['module:metro-react-native-babel-preset'],
146
180
  plugins: [
147
181
  ['@babel/plugin-proposal-decorators', {legacy: true}],
148
- [`${__dirname}/../dist/transformers/babel-plugin-obsidian-provide`],
182
+ react-obsidian/dist/transformers/babel-plugin-obsidian-provide
149
183
  ],
150
184
  };
151
-
152
185
  ```
153
186
 
187
+ ### Jest
188
+ react-obsidian publishes untranspiled code. If you're using Jest, you'll need to add react-obsidian to [transformIgnorePatterns](https://jestjs.io/docs/configuration#transformignorepatterns-arraystring) so it's transpiled before tests are executed.
154
189
 
155
190
  ## Related
156
191
 
@@ -1,8 +1,8 @@
1
- import { Constructable, ServiceLocator } from '@Obsidian';
2
- import ObjectGraph from './graph/ObjectGraph';
1
+ import { ObjectGraph } from './graph/ObjectGraph';
2
+ import { Constructable, GraphInternals, ServiceLocator } from './types';
3
3
  import { GraphMiddleware } from './graph/registry/GraphMiddleware';
4
4
  export default class Obsidian {
5
- obtain<T extends ObjectGraph<P>, P = any>(Graph: Constructable<T>, props?: P): ServiceLocator<T>;
5
+ obtain<T extends ObjectGraph<P>, P = any>(Graph: Constructable<T>, props?: P): ServiceLocator<Omit<T, GraphInternals>>;
6
6
  addGraphMiddleware(middleware: GraphMiddleware): void;
7
7
  clearGraphMiddlewares(): void;
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Obsidian.d.ts","sourceRoot":"","sources":["../../src/Obsidian.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE1D,OAAO,WAAW,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE,MAAM,CAAC,OAAO,OAAO,QAAQ;IAC3B,MAAM,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;IAIhG,kBAAkB,CAAC,UAAU,EAAE,eAAe;IAI9C,qBAAqB;CAGtB"}
1
+ {"version":3,"file":"Obsidian.d.ts","sourceRoot":"","sources":["../../src/Obsidian.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE,MAAM,CAAC,OAAO,OAAO,QAAQ;IAC3B,MAAM,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,EACtC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,KAAK,CAAC,EAAE,CAAC,GACR,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;IAI1C,kBAAkB,CAAC,UAAU,EAAE,eAAe;IAI9C,qBAAqB;CAGtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Obsidian.js","sourceRoot":"","sources":["../../src/Obsidian.ts"],"names":[],"mappings":";;;;;AACA,iFAA2D;AAI3D;IAAA;IAYA,CAAC;IAXC,yBAAM,GAAN,UAA0C,KAAuB,EAAE,KAAS;QAC1E,OAAO,uBAAa,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAiC,CAAC;IAC7E,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;IACH,eAAC;AAAD,CAAC,AAZD,IAYC"}
1
+ {"version":3,"file":"Obsidian.js","sourceRoot":"","sources":["../../src/Obsidian.ts"],"names":[],"mappings":";;;;;AAAA,iFAA2D;AAK3D;IAAA;IAeA,CAAC;IAdC,yBAAM,GAAN,UACE,KAAuB,EACvB,KAAS;QAET,OAAO,uBAAa,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAiC,CAAC;IAC7E,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;IACH,eAAC;AAAD,CAAC,AAfD,IAeC"}
@@ -1,4 +1,4 @@
1
- import Graph from './graph/Graph';
1
+ import { Graph } from './graph/Graph';
2
2
  declare class ProvidedPropertiesStore {
3
3
  private readonly providedPropertiesForGraph;
4
4
  getMangledProperty(graph: Graph, unmangledProp: string): string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"ProvidedPropertiesStore.d.ts","sourceRoot":"","sources":["../../src/ProvidedPropertiesStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,eAAe,CAAC;AAElC,cAAM,uBAAuB;IAC3B,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAA2C;IAEtF,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI3E,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM;IAMpE,KAAK,CAAC,KAAK,EAAE,KAAK;CAGnB;;AAED,wBAA6C"}
1
+ {"version":3,"file":"ProvidedPropertiesStore.d.ts","sourceRoot":"","sources":["../../src/ProvidedPropertiesStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,cAAM,uBAAuB;IAC3B,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAA2C;IAEtF,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI3E,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM;IAMpE,KAAK,CAAC,KAAK,EAAE,KAAK;CAGnB;;AAED,wBAA6C"}
@@ -1,4 +1,4 @@
1
- import { Scope } from '@Obsidian';
1
+ import { Scope } from './types';
2
2
  declare class ScopedValuesRegistry {
3
3
  private readonly values;
4
4
  has(scope: Scope, property: string): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"ScopedValuesRegistry.d.ts","sourceRoot":"","sources":["../../src/ScopedValuesRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAElC,cAAM,oBAAoB;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;IAEtD,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI5C,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,GAAG;IAOxC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAI9C,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM;CAGrC;;AAED,wBAA0C"}
1
+ {"version":3,"file":"ScopedValuesRegistry.d.ts","sourceRoot":"","sources":["../../src/ScopedValuesRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,cAAM,oBAAoB;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;IAEtD,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI5C,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,GAAG;IAOxC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAI9C,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM;CAGrC;;AAED,wBAA0C"}
@@ -1,10 +1,10 @@
1
- import { Constructable, Scope } from '@Obsidian';
1
+ import { Constructable, Scope } from '../types';
2
2
  import 'reflect-metadata';
3
- import ObjectGraph from '../graph/ObjectGraph';
3
+ import { ObjectGraph } from '../graph/ObjectGraph';
4
4
  interface GraphParams {
5
5
  scope: Scope | undefined;
6
6
  subgraphs: Constructable<ObjectGraph>[];
7
7
  }
8
- export default function Graph({ scope, subgraphs, }?: Partial<GraphParams>): <T extends ObjectGraph<unknown>>(constructor: Constructable<T>) => Constructable<T>;
8
+ export declare function Graph({ scope, subgraphs, }?: Partial<GraphParams>): <T extends ObjectGraph<unknown>>(constructor: Constructable<T>) => Constructable<T>;
9
9
  export {};
10
10
  //# sourceMappingURL=Graph.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Graph.d.ts","sourceRoot":"","sources":["../../../src/decorators/Graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,kBAAkB,CAAC;AAE1B,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAE/C,UAAU,WAAW;IACnB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,SAAS,EAAE,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;CACzC;AAED,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAC5B,KAAK,EACL,SAAc,GACf,GAAE,OAAO,CAAC,WAAW,CAAM,uFAM3B"}
1
+ {"version":3,"file":"Graph.d.ts","sourceRoot":"","sources":["../../../src/decorators/Graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,UAAU,WAAW;IACnB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,SAAS,EAAE,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;CACzC;AAED,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,SAAc,GACf,GAAE,OAAO,CAAC,WAAW,CAAM,uFAM3B"}
@@ -3,6 +3,7 @@ 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
+ exports.Graph = void 0;
6
7
  require("reflect-metadata");
7
8
  var GraphRegistry_1 = __importDefault(require("../graph/registry/GraphRegistry"));
8
9
  function Graph(_a) {
@@ -13,5 +14,5 @@ function Graph(_a) {
13
14
  return constructor;
14
15
  };
15
16
  }
16
- exports.default = Graph;
17
+ exports.Graph = Graph;
17
18
  //# sourceMappingURL=Graph.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Graph.js","sourceRoot":"","sources":["../../../src/decorators/Graph.ts"],"names":[],"mappings":";;;;;AACA,4BAA0B;AAC1B,kFAA4D;AAQ5D,SAAwB,KAAK,CAAC,EAGF;QAHE,qBAGJ,EAAE,KAAA,EAF1B,KAAK,WAAA,EACL,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA;IAEd,OAAO,UAAwB,WAA6B;QAC1D,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QACpD,uBAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACtD,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;AACJ,CAAC;AATD,wBASC"}
1
+ {"version":3,"file":"Graph.js","sourceRoot":"","sources":["../../../src/decorators/Graph.ts"],"names":[],"mappings":";;;;;;AACA,4BAA0B;AAC1B,kFAA4D;AAQ5D,SAAgB,KAAK,CAAC,EAGM;QAHN,qBAGI,EAAE,KAAA,EAF1B,KAAK,WAAA,EACL,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA;IAEd,OAAO,UAAwB,WAA6B;QAC1D,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QACpD,uBAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACtD,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;AACJ,CAAC;AATD,sBASC"}
@@ -0,0 +1,3 @@
1
+ import 'reflect-metadata';
2
+ export default function Memoize(): (_Clazz: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
3
+ //# sourceMappingURL=Memoize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Memoize.d.ts","sourceRoot":"","sources":["../../../src/decorators/Memoize.ts"],"names":[],"mappings":"AACA,OAAO,kBAAkB,CAAC;AAE1B,MAAM,CAAC,OAAO,UAAU,OAAO,aACG,GAAG,eAAe,MAAM,cAAc,kBAAkB,wBAazF"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /* eslint-disable no-param-reassign */
4
+ require("reflect-metadata");
5
+ function Memoize() {
6
+ return function provide(_Clazz, propertyKey, descriptor) {
7
+ var originalGet = descriptor.get;
8
+ descriptor.get = function get() {
9
+ var key = "memoized".concat(propertyKey);
10
+ if (Reflect.hasMetadata(key, this)) {
11
+ return Reflect.getMetadata(key, this);
12
+ }
13
+ var value = originalGet.call(this);
14
+ Reflect.defineMetadata(key, value, this);
15
+ return value;
16
+ };
17
+ return descriptor;
18
+ };
19
+ }
20
+ exports.default = Memoize;
21
+ //# sourceMappingURL=Memoize.js.map
@@ -0,0 +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,5 +1,5 @@
1
- import { Constructable } from '@Obsidian';
2
- import ObjectGraph from '../graph/ObjectGraph';
1
+ import { Constructable } from '../types';
2
+ import { ObjectGraph } from '../graph/ObjectGraph';
3
3
  export declare function Injectable<T extends {
4
4
  new (...args: any[]): any;
5
5
  }>(Graph: Constructable<ObjectGraph>): any;
@@ -1 +1 @@
1
- {"version":3,"file":"injectClass.d.ts","sourceRoot":"","sources":["../../../src/decorators/injectClass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAI/C,wBAAgB,UAAU,CAAC,CAAC,SAAS;IAAE,KAAI,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA;CAAE,EAAE,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,GAAG,CAgBzG;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,QAGzD"}
1
+ {"version":3,"file":"injectClass.d.ts","sourceRoot":"","sources":["../../../src/decorators/injectClass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAInD,wBAAgB,UAAU,CAAC,CAAC,SAAS;IAAE,KAAI,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA;CAAE,EAAE,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,GAAG,CAgBzG;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,QAGzD"}
@@ -1,9 +1,9 @@
1
- import { Scope } from '@Obsidian';
2
- import Graph from '../../graph/Graph';
1
+ import { Scope } from '../../types';
2
+ import { Graph } from '../../graph/Graph';
3
3
  interface ProvidesParams {
4
4
  scope?: Scope;
5
5
  name: string;
6
6
  }
7
- declare function Provides({ name }?: Partial<ProvidesParams>): (graph: Graph, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
8
- export default Provides;
7
+ export declare function Provides({ name }?: Partial<ProvidesParams>): (graph: Graph, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
8
+ export {};
9
9
  //# sourceMappingURL=Provides.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Provides.d.ts","sourceRoot":"","sources":["../../../../src/decorators/provides/Provides.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,MAAM,mBAAmB,CAAC;AAItC,UAAU,cAAc;IACtB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,iBAAS,QAAQ,CAAC,EAAE,IAAI,EAAE,GAAE,OAAO,CAAC,cAAc,CAAM,WACvB,KAAK,eAAe,MAAM,cAAc,kBAAkB,wBAI1F;AACD,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"Provides.d.ts","sourceRoot":"","sources":["../../../../src/decorators/provides/Provides.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAI1C,UAAU,cAAc;IACtB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,GAAE,OAAO,CAAC,cAAc,CAAM,WAC9B,KAAK,eAAe,MAAM,cAAc,kBAAkB,wBAI1F"}
@@ -3,6 +3,7 @@ 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
+ exports.Provides = void 0;
6
7
  var ProvidedPropertiesStore_1 = __importDefault(require("../../ProvidedPropertiesStore"));
7
8
  var PropertyDescriptorToSingleton_1 = __importDefault(require("./PropertyDescriptorToSingleton"));
8
9
  function Provides(_a) {
@@ -12,5 +13,5 @@ function Provides(_a) {
12
13
  return (0, PropertyDescriptorToSingleton_1.default)(descriptor);
13
14
  };
14
15
  }
15
- exports.default = Provides;
16
+ exports.Provides = Provides;
16
17
  //# sourceMappingURL=Provides.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Provides.js","sourceRoot":"","sources":["../../../../src/decorators/provides/Provides.ts"],"names":[],"mappings":";;;;;AAEA,0FAAoE;AACpE,kGAA4D;AAO5D,SAAS,QAAQ,CAAC,EAAsC;QAAtC,qBAAoC,EAAE,KAAA,EAApC,IAAI,UAAA;IACtB,OAAO,SAAS,OAAO,CAAC,KAAY,EAAE,WAAmB,EAAE,UAA8B;QACvF,iCAAuB,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,IAAK,CAAC,CAAC;QACvD,OAAO,IAAA,uCAAa,EAAC,UAAU,CAAC,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC;AACD,kBAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"Provides.js","sourceRoot":"","sources":["../../../../src/decorators/provides/Provides.ts"],"names":[],"mappings":";;;;;;AAEA,0FAAoE;AACpE,kGAA4D;AAO5D,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,uCAAa,EAAC,UAAU,CAAC,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC;AALD,4BAKC"}
@@ -1,6 +1,5 @@
1
1
  import PropertyRetrieverDelegate from './PropertyRetrieverDelegate';
2
- interface Graph extends PropertyRetrieverDelegate {
2
+ export interface Graph extends PropertyRetrieverDelegate {
3
3
  get name(): string;
4
4
  }
5
- export default Graph;
6
5
  //# sourceMappingURL=Graph.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Graph.d.ts","sourceRoot":"","sources":["../../../src/graph/Graph.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AAEpE,UAAU,KAAM,SAAQ,yBAAyB;IAC/C,IAAI,IAAI,IAAI,MAAM,CAAC;CACpB;AAED,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"Graph.d.ts","sourceRoot":"","sources":["../../../src/graph/Graph.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AAEpE,MAAM,WAAW,KAAM,SAAQ,yBAAyB;IACtD,IAAI,IAAI,IAAI,MAAM,CAAC;CACpB"}
@@ -1,6 +1,6 @@
1
- import { Scope } from '@Obsidian';
2
- import Graph from './Graph';
3
- export default abstract class ObjectGraph<T = unknown> implements Graph {
1
+ import { Scope } from '../types';
2
+ import { Graph } from './Graph';
3
+ export declare abstract class ObjectGraph<T = unknown> implements Graph {
4
4
  protected props?: T | undefined;
5
5
  scope: Scope;
6
6
  private propertyRetriever;
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectGraph.d.ts","sourceRoot":"","sources":["../../../src/graph/ObjectGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,MAAM,SAAS,CAAC;AAG5B,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,WAAW,CAAC,CAAC,GAAG,OAAO,CAAE,YAAW,KAAK;IASzD,SAAS,CAAC,KAAK,CAAC;IAPrB,KAAK,EAAG,KAAK,CAAC;IACrB,OAAO,CAAC,iBAAiB,CAA+B;IACxD,IAAI,IAAI,IAAI,MAAM,CAEjB;gBAGqB,KAAK,CAAC,eAAG;IAE/B,QAAQ,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS;CAGnF"}
1
+ {"version":3,"file":"ObjectGraph.d.ts","sourceRoot":"","sources":["../../../src/graph/ObjectGraph.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,8BAAsB,WAAW,CAAC,CAAC,GAAG,OAAO,CAAE,YAAW,KAAK;IAWjD,SAAS,CAAC,KAAK,CAAC;IATrB,KAAK,EAAG,KAAK,CAAC;IACrB,OAAO,CAAC,iBAAiB,CAA+B;IAExD,IACI,IAAI,IAAI,MAAM,CAEjB;gBAGqB,KAAK,CAAC,eAAG;IAE/B,QAAQ,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS;CAGnF"}
@@ -1,8 +1,20 @@
1
1
  "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
2
11
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
13
  };
5
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ObjectGraph = void 0;
16
+ var lodash_1 = require("lodash");
17
+ var Memoize_1 = __importDefault(require("../decorators/Memoize"));
6
18
  var PropertyRetriever_1 = __importDefault(require("./PropertyRetriever"));
7
19
  var ObjectGraph = /** @class */ (function () {
8
20
  // eslint-disable-next-line no-useless-constructor, no-unused-vars, no-empty-function
@@ -12,7 +24,7 @@ var ObjectGraph = /** @class */ (function () {
12
24
  }
13
25
  Object.defineProperty(ObjectGraph.prototype, "name", {
14
26
  get: function () {
15
- return this.constructor.name;
27
+ return (0, lodash_1.uniqueId)(this.constructor.name);
16
28
  },
17
29
  enumerable: false,
18
30
  configurable: true
@@ -20,7 +32,12 @@ var ObjectGraph = /** @class */ (function () {
20
32
  ObjectGraph.prototype.retrieve = function (property, receiver) {
21
33
  return this.propertyRetriever.retrieve(property, receiver);
22
34
  };
35
+ __decorate([
36
+ (0, Memoize_1.default)(),
37
+ __metadata("design:type", String),
38
+ __metadata("design:paramtypes", [])
39
+ ], ObjectGraph.prototype, "name", null);
23
40
  return ObjectGraph;
24
41
  }());
25
- exports.default = ObjectGraph;
42
+ exports.ObjectGraph = ObjectGraph;
26
43
  //# sourceMappingURL=ObjectGraph.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectGraph.js","sourceRoot":"","sources":["../../../src/graph/ObjectGraph.ts"],"names":[],"mappings":";;;;;AAEA,0EAAoD;AAEpD;IAQE,qFAAqF;IACrF,qBAAsB,KAAS;QAAT,UAAK,GAAL,KAAK,CAAI;QANvB,sBAAiB,GAAG,IAAI,2BAAiB,CAAC,IAAI,CAAC,CAAC;IAMtB,CAAC;IALnC,sBAAI,6BAAI;aAAR;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAC/B,CAAC;;;OAAA;IAKD,8BAAQ,GAAR,UAAqB,QAAgB,EAAE,QAAkB;QACvD,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAA2B,CAAC;IACvF,CAAC;IACH,kBAAC;AAAD,CAAC,AAdD,IAcC"}
1
+ {"version":3,"file":"ObjectGraph.js","sourceRoot":"","sources":["../../../src/graph/ObjectGraph.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,iCAAkC;AAClC,kEAA4C;AAG5C,0EAAoD;AAEpD;IAUE,qFAAqF;IACrF,qBAAsB,KAAS;QAAT,UAAK,GAAL,KAAK,CAAI;QARvB,sBAAiB,GAAG,IAAI,2BAAiB,CAAC,IAAI,CAAC,CAAC;IAQtB,CAAC;IALnC,sBAAI,6BAAI;aAAR;YACE,OAAO,IAAA,iBAAQ,EAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;;;OAAA;IAKD,8BAAQ,GAAR,UAAqB,QAAgB,EAAE,QAAkB;QACvD,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAA2B,CAAC;IACvF,CAAC;IATD;QADC,IAAA,iBAAO,GAAE;;;2CAGT;IAQH,kBAAC;CAAA,AAhBD,IAgBC;AAhBqB,kCAAW"}
@@ -1,4 +1,4 @@
1
- import Graph from './Graph';
1
+ import { Graph } from './Graph';
2
2
  export default class PropertyRetriever {
3
3
  private graph;
4
4
  constructor(graph: Graph);
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyRetriever.d.ts","sourceRoot":"","sources":["../../../src/graph/PropertyRetriever.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,SAAS,CAAC;AAG5B,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;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,7 +1,8 @@
1
- import { Constructable } from '@Obsidian';
2
- import Graph from '../Graph';
3
- import { GraphMiddleware, ResolveChain } from './GraphMiddleware';
4
- export default class DefaultGraphMiddleware extends GraphMiddleware {
5
- resolve<T extends Graph, Props>(_resolveChain: ResolveChain, Graph: Constructable<T>, props?: Props): T;
1
+ import { Constructable } from '../../types';
2
+ import { Graph } from '../Graph';
3
+ import { Middleware } from './Middleware';
4
+ import { ResolveChain } from './ResolveChain';
5
+ export default class DefaultGraphMiddleware<T extends Graph> extends Middleware<T> {
6
+ resolve(_resolveChain: ResolveChain<T>, Graph: Constructable<T>, props?: any): T;
6
7
  }
7
8
  //# sourceMappingURL=DefaultGraphResolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultGraphResolver.d.ts","sourceRoot":"","sources":["../../../../src/graph/registry/DefaultGraphResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,MAAM,UAAU,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAElE,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,eAAe;IACjE,OAAO,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,CAAC;CAGxG"}
1
+ {"version":3,"file":"DefaultGraphResolver.d.ts","sourceRoot":"","sources":["../../../../src/graph/registry/DefaultGraphResolver.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;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,CAAC,OAAO,OAAO,sBAAsB,CAAC,CAAC,SAAS,KAAK,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAC;IAChF,OAAO,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,CAAC;CAGjF"}
@@ -15,7 +15,7 @@ var __extends = (this && this.__extends) || (function () {
15
15
  };
16
16
  })();
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- var GraphMiddleware_1 = require("./GraphMiddleware");
18
+ var Middleware_1 = require("./Middleware");
19
19
  var DefaultGraphMiddleware = /** @class */ (function (_super) {
20
20
  __extends(DefaultGraphMiddleware, _super);
21
21
  function DefaultGraphMiddleware() {
@@ -25,6 +25,6 @@ var DefaultGraphMiddleware = /** @class */ (function (_super) {
25
25
  return new Graph(props);
26
26
  };
27
27
  return DefaultGraphMiddleware;
28
- }(GraphMiddleware_1.GraphMiddleware));
28
+ }(Middleware_1.Middleware));
29
29
  exports.default = DefaultGraphMiddleware;
30
30
  //# sourceMappingURL=DefaultGraphResolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultGraphResolver.js","sourceRoot":"","sources":["../../../../src/graph/registry/DefaultGraphResolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,qDAAkE;AAElE;IAAoD,0CAAe;IAAnE;;IAIA,CAAC;IAHC,wCAAO,GAAP,UAAgC,aAA2B,EAAE,KAAuB,EAAE,KAAa;QACjG,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IACH,6BAAC;AAAD,CAAC,AAJD,CAAoD,iCAAe,GAIlE"}
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,12 +1,6 @@
1
- import { Constructable } from '@Obsidian';
2
- import Graph from '../Graph';
3
- export declare abstract class GraphMiddleware {
4
- private next;
5
- setNext(next: GraphMiddleware): void;
6
- get resolveChain(): ResolveChain;
7
- abstract resolve<T extends Graph, Props>(resolveChain: ResolveChain, Graph: Constructable<T>, props?: Props): T;
8
- }
9
- export interface ResolveChain {
10
- proceed<T extends Graph, Props>(Graph: Constructable<T>, props?: Props): T;
1
+ import { ObjectGraph } from '../ObjectGraph';
2
+ import { GraphResolveChain } from './GraphResolveChain';
3
+ import { Middleware } from './Middleware';
4
+ export declare abstract class GraphMiddleware extends Middleware<ObjectGraph, GraphResolveChain> {
11
5
  }
12
6
  //# sourceMappingURL=GraphMiddleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GraphMiddleware.d.ts","sourceRoot":"","sources":["../../../../src/graph/registry/GraphMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,MAAM,UAAU,CAAC;AAE7B,8BAAsB,eAAe;IACnC,OAAO,CAAC,IAAI,CAAmB;IAExB,OAAO,CAAC,IAAI,EAAE,eAAe;IAIpC,IAAW,YAAY,IAAI,YAAY,CAMtC;IAED,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,CAAC;CAChH;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;CAC5E"}
1
+ {"version":3,"file":"GraphMiddleware.d.ts","sourceRoot":"","sources":["../../../../src/graph/registry/GraphMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,8BAAsB,eAAgB,SAAQ,UAAU,CAAC,WAAW,EAAE,iBAAiB,CAAC;CAAI"}
@@ -1,25 +1,28 @@
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
+ })();
2
17
  Object.defineProperty(exports, "__esModule", { value: true });
3
18
  exports.GraphMiddleware = void 0;
4
- var GraphMiddleware = /** @class */ (function () {
19
+ var Middleware_1 = require("./Middleware");
20
+ var GraphMiddleware = /** @class */ (function (_super) {
21
+ __extends(GraphMiddleware, _super);
5
22
  function GraphMiddleware() {
23
+ return _super !== null && _super.apply(this, arguments) || this;
6
24
  }
7
- GraphMiddleware.prototype.setNext = function (next) {
8
- this.next = next;
9
- };
10
- Object.defineProperty(GraphMiddleware.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
25
  return GraphMiddleware;
23
- }());
26
+ }(Middleware_1.Middleware));
24
27
  exports.GraphMiddleware = GraphMiddleware;
25
28
  //# sourceMappingURL=GraphMiddleware.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GraphMiddleware.js","sourceRoot":"","sources":["../../../../src/graph/registry/GraphMiddleware.ts"],"names":[],"mappings":";;;AAGA;IAAA;IAgBA,CAAC;IAbQ,iCAAO,GAAd,UAAe,IAAqB;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,sBAAW,yCAAY;aAAvB;YAAA,iBAMC;YALC,OAAO;gBACL,OAAO,EAAE,UAAyB,KAAuB,EAAE,KAAa;oBACtE,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,sBAAC;AAAD,CAAC,AAhBD,IAgBC;AAhBqB,0CAAe"}
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,11 +1,11 @@
1
- import { Constructable } from '@Obsidian';
2
- import Graph from '../Graph';
3
- import { GraphMiddleware } from './GraphMiddleware';
4
- export default class GraphMiddlewareChain {
1
+ import { Constructable } from '../../types';
2
+ import { Graph } from '../Graph';
3
+ import { Middleware } from './Middleware';
4
+ export default class GraphMiddlewareChain<T extends Graph> {
5
5
  private middlewares;
6
- constructor(defaultMiddleware?: GraphMiddleware);
7
- resolve<T extends Graph>(Graph: Constructable<T>, props?: any): T;
8
- add(middleware: GraphMiddleware): void;
6
+ constructor(defaultMiddleware?: Middleware<T>);
7
+ resolve(Graph: Constructable<T>, props?: any): T;
8
+ add(middleware: Middleware<T>): void;
9
9
  private updateResolveChain;
10
10
  clear(): void;
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GraphMiddlewareChain.d.ts","sourceRoot":"","sources":["../../../../src/graph/registry/GraphMiddlewareChain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,MAAM,UAAU,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACvC,OAAO,CAAC,WAAW,CAAoB;gBAE3B,iBAAiB,GAAE,eAA8C;IAI7E,OAAO,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,CAAC;IAIjE,GAAG,CAAC,UAAU,EAAE,eAAe;IAK/B,OAAO,CAAC,kBAAkB;IAM1B,KAAK;CAGN"}
1
+ {"version":3,"file":"GraphMiddlewareChain.d.ts","sourceRoot":"","sources":["../../../../src/graph/registry/GraphMiddlewareChain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,oBAAoB,CAAC,CAAC,SAAS,KAAK;IACvD,OAAO,CAAC,WAAW,CAAkB;gBAEzB,iBAAiB,GAAE,UAAU,CAAC,CAAC,CAAgC;IAI3E,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,CAAC;IAIhD,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;IAK7B,OAAO,CAAC,kBAAkB;IAM1B,KAAK;CAGN"}
@@ -1 +1 @@
1
- {"version":3,"file":"GraphMiddlewareChain.js","sourceRoot":"","sources":["../../../../src/graph/registry/GraphMiddlewareChain.ts"],"names":[],"mappings":";;;;;AAEA,gFAA4D;AAG5D;IAGE,8BAAY,iBAAiE;QAAjE,kCAAA,EAAA,wBAAyC,8BAAsB,EAAE;QAC3E,IAAI,CAAC,WAAW,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACzC,CAAC;IAED,sCAAO,GAAP,UAAyB,KAAuB,EAAE,KAAW;QAC3D,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,UAA2B;QAC7B,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,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,6 +1,6 @@
1
- import { Constructable, Scope } from '@Obsidian';
2
- import Graph from '../Graph';
3
- import { GraphMiddleware } from './GraphMiddleware';
1
+ import { Constructable, Scope } from '../../types';
2
+ import { Graph } from '../Graph';
3
+ import { Middleware } from './Middleware';
4
4
  declare class GraphRegistry {
5
5
  private readonly scopedGraphs;
6
6
  private readonly constructorToInstance;
@@ -14,7 +14,7 @@ declare class GraphRegistry {
14
14
  getSubgraphs(graph: Graph): Graph[];
15
15
  resolve<T extends Graph>(Graph: Constructable<T>, props?: any): T;
16
16
  clear(graph: Graph): void;
17
- addGraphMiddleware(middleware: GraphMiddleware): void;
17
+ addGraphMiddleware(middleware: Middleware<Graph>): void;
18
18
  clearGraphMiddlewares(): void;
19
19
  }
20
20
  declare const _default: GraphRegistry;
@@ -1 +1 @@
1
- {"version":3,"file":"GraphRegistry.d.ts","sourceRoot":"","sources":["../../../../src/graph/registry/GraphRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,MAAM,UAAU,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,cAAM,aAAa;IACjB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA2C;IACxE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA0C;IAChF,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA0C;IAChF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA8D;IAC/F,OAAO,CAAC,gBAAgB,CAA8B;IAEtD,QAAQ,CACN,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,EACjC,KAAK,GAAE,KAAK,GAAG,SAAqB,EACpC,SAAS,GAAE,aAAa,CAAC,KAAK,CAAC,EAAO;IAMxC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC;IAI/B,GAAG,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC;IAIhD,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK;IAK7C,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE;IAMnC,OAAO,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,CAAC;IAcjE,KAAK,CAAC,KAAK,EAAE,KAAK;IAMlB,kBAAkB,CAAC,UAAU,EAAE,eAAe;IAI9C,qBAAqB;CAGtB;;AAED,wBAAmC"}
1
+ {"version":3,"file":"GraphRegistry.d.ts","sourceRoot":"","sources":["../../../../src/graph/registry/GraphRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,cAAM,aAAa;IACjB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA2C;IACxE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA0C;IAChF,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA0C;IAChF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA8D;IAC/F,OAAO,CAAC,gBAAgB,CAA8B;IAEtD,QAAQ,CACN,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,EACjC,KAAK,GAAE,KAAK,GAAG,SAAqB,EACpC,SAAS,GAAE,aAAa,CAAC,KAAK,CAAC,EAAO;IAMxC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC;IAI/B,GAAG,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC;IAIhD,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK;IAK7C,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE;IAMnC,OAAO,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,CAAC;IAcjE,KAAK,CAAC,KAAK,EAAE,KAAK;IAMlB,kBAAkB,CAAC,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC;IAIhD,qBAAqB;CAGtB;;AAED,wBAAmC"}
@@ -1 +1 @@
1
- {"version":3,"file":"GraphRegistry.js","sourceRoot":"","sources":["../../../../src/graph/registry/GraphRegistry.ts"],"names":[],"mappings":";;;;;AAGA,gFAA0D;AAE1D;IAAA;QACmB,iBAAY,GAAwC,EAAE,CAAC;QACvD,0BAAqB,GAAG,IAAI,GAAG,EAA+B,CAAC;QAC/D,0BAAqB,GAAG,IAAI,GAAG,EAA+B,CAAC;QAC/D,qBAAgB,GAAG,IAAI,GAAG,EAAmD,CAAC;QACvF,qBAAgB,GAAG,IAAI,8BAAoB,EAAE,CAAC;IAyDxD,CAAC;IAvDC,gCAAQ,GAAR,UACE,WAAiC,EACjC,KAAoC,EACpC,SAAsC;QADtC,sBAAA,EAAA,iBAAoC;QACpC,0BAAA,EAAA,cAAsC;QAEtC,IAAI,KAAK;YAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC;QAClD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,2BAAG,GAAH,UAAI,KAA2B;QAC7B,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,2BAAG,GAAH,UAAqB,KAAuB;QAC1C,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAkB,CAAC;IAChE,CAAC;IAED,2BAAG,GAAH,UAAI,KAA2B,EAAE,KAAY;QAC3C,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/C,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,+BAAO,GAAP,UAAyB,KAAuB,EAAE,KAAW;QAC3D,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACnB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACvB,oCAAoC;YACpC,qDAAqD;YACrD,2BAA2B;YAE3B,qCAAqC;SACtC;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,KAAK,CAAC;IACf,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,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,0CAAkB,GAAlB,UAAmB,UAA2B;QAC5C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,6CAAqB,GAArB;QACE,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;IACH,oBAAC;AAAD,CAAC,AA9DD,IA8DC;AAED,kBAAe,IAAI,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"GraphRegistry.js","sourceRoot":"","sources":["../../../../src/graph/registry/GraphRegistry.ts"],"names":[],"mappings":";;;;;AAGA,gFAA0D;AAE1D;IAAA;QACmB,iBAAY,GAAwC,EAAE,CAAC;QACvD,0BAAqB,GAAG,IAAI,GAAG,EAA+B,CAAC;QAC/D,0BAAqB,GAAG,IAAI,GAAG,EAA+B,CAAC;QAC/D,qBAAgB,GAAG,IAAI,GAAG,EAAmD,CAAC;QACvF,qBAAgB,GAAG,IAAI,8BAAoB,EAAE,CAAC;IAyDxD,CAAC;IAvDC,gCAAQ,GAAR,UACE,WAAiC,EACjC,KAAoC,EACpC,SAAsC;QADtC,sBAAA,EAAA,iBAAoC;QACpC,0BAAA,EAAA,cAAsC;QAEtC,IAAI,KAAK;YAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC;QAClD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,2BAAG,GAAH,UAAI,KAA2B;QAC7B,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,2BAAG,GAAH,UAAqB,KAAuB;QAC1C,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAkB,CAAC;IAChE,CAAC;IAED,2BAAG,GAAH,UAAI,KAA2B,EAAE,KAAY;QAC3C,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/C,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,+BAAO,GAAP,UAAyB,KAAuB,EAAE,KAAW;QAC3D,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACnB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACvB,oCAAoC;YACpC,qDAAqD;YACrD,2BAA2B;YAE3B,qCAAqC;SACtC;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;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,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3C,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;IACH,oBAAC;AAAD,CAAC,AA9DD,IA8DC;AAED,kBAAe,IAAI,aAAa,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { ObjectGraph } from '../ObjectGraph';
2
+ import { ResolveChain } from './ResolveChain';
3
+ export declare type GraphResolveChain = ResolveChain<ObjectGraph>;
4
+ //# sourceMappingURL=GraphResolveChain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphResolveChain.d.ts","sourceRoot":"","sources":["../../../../src/graph/registry/GraphResolveChain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,oBAAY,iBAAiB,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=GraphResolveChain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphResolveChain.js","sourceRoot":"","sources":["../../../../src/graph/registry/GraphResolveChain.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import { Constructable } from '../../types';
2
+ import { Graph } from '../Graph';
3
+ import { ResolveChain } from './ResolveChain';
4
+ export declare abstract class Middleware<T = Graph, RC = ResolveChain<T>> {
5
+ private next;
6
+ setNext(next: Middleware<T, ResolveChain<T>>): void;
7
+ get resolveChain(): ResolveChain<T>;
8
+ abstract resolve<Props = any>(resolveChain: RC, Graph: Constructable<T>, props?: Props): T;
9
+ }
10
+ //# sourceMappingURL=Middleware.d.ts.map