react-obsidian 2.26.1 → 2.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/decorators/Graph.d.ts +2 -1
- package/dist/src/decorators/Graph.d.ts.map +1 -1
- package/dist/src/decorators/Graph.js +2 -2
- package/dist/src/decorators/Graph.js.map +1 -1
- package/dist/src/graph/Graph.d.ts +1 -1
- package/dist/src/graph/Graph.d.ts.map +1 -1
- package/dist/src/graph/ObjectGraph.d.ts +1 -0
- package/dist/src/graph/ObjectGraph.d.ts.map +1 -1
- package/dist/src/graph/ObjectGraph.js +4 -1
- package/dist/src/graph/ObjectGraph.js.map +1 -1
- package/dist/src/graph/properties/PropertyRetriever.d.ts +12 -0
- package/dist/src/graph/properties/PropertyRetriever.d.ts.map +1 -0
- package/dist/src/graph/{PropertyRetriever.js → properties/PropertyRetriever.js} +15 -14
- package/dist/src/graph/properties/PropertyRetriever.js.map +1 -0
- package/dist/src/graph/properties/PropertyRetrieverDelegate.d.ts +7 -0
- package/dist/src/graph/properties/PropertyRetrieverDelegate.d.ts.map +1 -0
- package/dist/src/graph/properties/PropertyRetrieverDelegate.js.map +1 -0
- package/dist/src/graph/properties/retrieveFromPublicAndPrivateSubgraphs.d.ts +9 -0
- package/dist/src/graph/properties/retrieveFromPublicAndPrivateSubgraphs.d.ts.map +1 -0
- package/dist/src/graph/properties/retrieveFromPublicAndPrivateSubgraphs.js +29 -0
- package/dist/src/graph/properties/retrieveFromPublicAndPrivateSubgraphs.js.map +1 -0
- package/dist/src/graph/properties/retrieveFromPublicSubgraphs.d.ts +9 -0
- package/dist/src/graph/properties/retrieveFromPublicSubgraphs.d.ts.map +1 -0
- package/dist/src/graph/properties/retrieveFromPublicSubgraphs.js +22 -0
- package/dist/src/graph/properties/retrieveFromPublicSubgraphs.js.map +1 -0
- package/dist/src/graph/properties/retrieveStrategy.d.ts +5 -0
- package/dist/src/graph/properties/retrieveStrategy.d.ts.map +1 -0
- package/dist/src/graph/properties/retrieveStrategy.js +3 -0
- package/dist/src/graph/properties/retrieveStrategy.js.map +1 -0
- package/dist/src/graph/registry/GraphRegistry.d.ts +3 -1
- package/dist/src/graph/registry/GraphRegistry.d.ts.map +1 -1
- package/dist/src/graph/registry/GraphRegistry.js +15 -5
- package/dist/src/graph/registry/GraphRegistry.js.map +1 -1
- package/dist/test/fixtures/MainGraph.d.ts +8 -0
- package/dist/test/fixtures/MainGraph.d.ts.map +1 -1
- package/dist/test/fixtures/MainGraph.js +10 -1
- package/dist/test/fixtures/MainGraph.js.map +1 -1
- package/dist/test/fixtures/privateSubgraph.d.ts +16 -0
- package/dist/test/fixtures/privateSubgraph.d.ts.map +1 -0
- package/dist/test/fixtures/privateSubgraph.js +89 -0
- package/dist/test/fixtures/privateSubgraph.js.map +1 -0
- package/dist/test/utils/console.d.ts +3 -0
- package/dist/test/utils/console.d.ts.map +1 -0
- package/dist/test/utils/console.js +12 -0
- package/dist/test/utils/console.js.map +1 -0
- package/package.json +8 -8
- package/src/decorators/Graph.ts +5 -2
- package/src/graph/Graph.ts +1 -1
- package/src/graph/ObjectGraph.ts +18 -2
- package/src/graph/properties/PropertyRetriever.ts +68 -0
- package/src/graph/{PropertyRetrieverDelegate.ts → properties/PropertyRetrieverDelegate.ts} +7 -1
- package/src/graph/properties/retrieveFromPublicAndPrivateSubgraphs.ts +27 -0
- package/src/graph/properties/retrieveFromPublicSubgraphs.ts +20 -0
- package/src/graph/properties/retrieveStrategy.ts +9 -0
- package/src/graph/registry/GraphRegistry.ts +20 -4
- package/dist/src/graph/PropertyRetriever.d.ts +0 -9
- package/dist/src/graph/PropertyRetriever.d.ts.map +0 -1
- package/dist/src/graph/PropertyRetriever.js.map +0 -1
- package/dist/src/graph/PropertyRetrieverDelegate.d.ts +0 -6
- package/dist/src/graph/PropertyRetrieverDelegate.d.ts.map +0 -1
- package/dist/src/graph/PropertyRetrieverDelegate.js.map +0 -1
- package/src/graph/PropertyRetriever.ts +0 -55
- /package/dist/src/graph/{PropertyRetrieverDelegate.js → properties/PropertyRetrieverDelegate.js} +0 -0
|
@@ -2,7 +2,8 @@ import { Constructor, Constructable } from '../types';
|
|
|
2
2
|
import { ObjectGraph } from '../graph/ObjectGraph';
|
|
3
3
|
interface GraphParams {
|
|
4
4
|
subgraphs: Constructable<ObjectGraph>[];
|
|
5
|
+
privateSubgraphs: Constructable<ObjectGraph>[];
|
|
5
6
|
}
|
|
6
|
-
export declare function graph<Class extends Constructor>({ subgraphs }?: Partial<GraphParams>): (Clazz: Class) => Class;
|
|
7
|
+
export declare function graph<Class extends Constructor>({ subgraphs, privateSubgraphs }?: Partial<GraphParams>): (Clazz: Class) => Class;
|
|
7
8
|
export {};
|
|
8
9
|
//# 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,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,UAAU,WAAW;IACnB,SAAS,EAAE,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"Graph.d.ts","sourceRoot":"","sources":["../../../src/decorators/Graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,UAAU,WAAW;IACnB,SAAS,EAAE,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;IACxC,gBAAgB,EAAE,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;CAChD;AAED,wBAAgB,KAAK,CAAC,KAAK,SAAS,WAAW,EAC7C,EAAE,SAAc,EAAE,gBAAqB,EAAE,GAAE,OAAO,CAAC,WAAW,CAAM,WAErD,KAAK,WAIrB"}
|
|
@@ -5,9 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.graph = graph;
|
|
7
7
|
const GraphRegistry_1 = __importDefault(require("../graph/registry/GraphRegistry"));
|
|
8
|
-
function graph({ subgraphs = [] } = {}) {
|
|
8
|
+
function graph({ subgraphs = [], privateSubgraphs = [] } = {}) {
|
|
9
9
|
return (Clazz) => {
|
|
10
|
-
GraphRegistry_1.default.register(Clazz, subgraphs);
|
|
10
|
+
GraphRegistry_1.default.register(Clazz, subgraphs, privateSubgraphs);
|
|
11
11
|
return Clazz;
|
|
12
12
|
};
|
|
13
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Graph.js","sourceRoot":"","sources":["../../../src/decorators/Graph.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"Graph.js","sourceRoot":"","sources":["../../../src/decorators/Graph.ts"],"names":[],"mappings":";;;;;AASA,sBAOC;AAfD,oFAA4D;AAQ5D,SAAgB,KAAK,CACnB,EAAE,SAAS,GAAG,EAAE,EAAE,gBAAgB,GAAG,EAAE,KAA2B,EAAE;IAEpE,OAAO,CAAC,KAAY,EAAE,EAAE;QACtB,uBAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAC3D,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Graph.d.ts","sourceRoot":"","sources":["../../../src/graph/Graph.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,MAAM,
|
|
1
|
+
{"version":3,"file":"Graph.d.ts","sourceRoot":"","sources":["../../../src/graph/Graph.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,MAAM,wCAAwC,CAAC;AAE/E,MAAM,WAAW,KAAM,SAAQ,yBAAyB;IACtD,IAAI,IAAI,IAAI,MAAM,CAAC;IACnB,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC;CAC3B"}
|
|
@@ -7,6 +7,7 @@ export declare abstract class ObjectGraph<T = unknown> implements Graph {
|
|
|
7
7
|
get name(): string;
|
|
8
8
|
constructor(_props?: T | undefined);
|
|
9
9
|
retrieve<Dependency>(property: string, receiver?: unknown, detector?: CircularDependenciesDetector): Dependency | undefined;
|
|
10
|
+
retrieveAll<Dependency>(property: string, receiver?: unknown, detector?: CircularDependenciesDetector): Dependency | undefined;
|
|
10
11
|
onBind(_target: any): void;
|
|
11
12
|
}
|
|
12
13
|
export declare function isGraph(object: Constructable<ObjectGraph> | any): object is Constructable<ObjectGraph>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectGraph.d.ts","sourceRoot":"","sources":["../../../src/graph/ObjectGraph.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAI9E,8BAAsB,WAAW,CAAC,CAAC,GAAG,OAAO,CAAE,YAAW,KAAK;IAajD,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;IAZhC,OAAO,CAAC,iBAAiB,CAA+B;IAExD,IAAI,IAAI,IAAI,MAAM,CAQjB;gBAEqB,MAAM,CAAC,EAAE,CAAC,YAAA;IAIhC,QAAQ,CAAC,UAAU,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,OAAO,EAClB,QAAQ,CAAC,EAAE,4BAA4B,GACtC,UAAU,GAAG,SAAS;
|
|
1
|
+
{"version":3,"file":"ObjectGraph.d.ts","sourceRoot":"","sources":["../../../src/graph/ObjectGraph.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAI9E,8BAAsB,WAAW,CAAC,CAAC,GAAG,OAAO,CAAE,YAAW,KAAK;IAajD,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;IAZhC,OAAO,CAAC,iBAAiB,CAA+B;IAExD,IAAI,IAAI,IAAI,MAAM,CAQjB;gBAEqB,MAAM,CAAC,EAAE,CAAC,YAAA;IAIhC,QAAQ,CAAC,UAAU,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,OAAO,EAClB,QAAQ,CAAC,EAAE,4BAA4B,GACtC,UAAU,GAAG,SAAS;IAQzB,WAAW,CAAC,UAAU,EACpB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,OAAO,EAClB,QAAQ,CAAC,EAAE,4BAA4B,GACtC,UAAU,GAAG,SAAS;IAQzB,MAAM,CAAC,OAAO,EAAE,GAAG;CAGpB;AAID,wBAAgB,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,GAAG,GAAG,MAAM,IAAI,aAAa,CAAC,WAAW,CAAC,CAEtG"}
|
|
@@ -7,7 +7,7 @@ exports.ObjectGraph = void 0;
|
|
|
7
7
|
exports.isGraph = isGraph;
|
|
8
8
|
const uniqueId_1 = require("../utils/uniqueId");
|
|
9
9
|
const ProviderBinder_1 = require("./ProviderBinder");
|
|
10
|
-
const PropertyRetriever_1 = __importDefault(require("./PropertyRetriever"));
|
|
10
|
+
const PropertyRetriever_1 = __importDefault(require("./properties/PropertyRetriever"));
|
|
11
11
|
const reflect_1 = require("../utils/reflect");
|
|
12
12
|
const object_1 = require("../utils/object");
|
|
13
13
|
class ObjectGraph {
|
|
@@ -28,6 +28,9 @@ class ObjectGraph {
|
|
|
28
28
|
retrieve(property, receiver, detector) {
|
|
29
29
|
return this.propertyRetriever.retrieve(property, receiver, detector);
|
|
30
30
|
}
|
|
31
|
+
retrieveAll(property, receiver, detector) {
|
|
32
|
+
return this.propertyRetriever.retrieveAll(property, receiver, detector);
|
|
33
|
+
}
|
|
31
34
|
onBind(_target) {
|
|
32
35
|
}
|
|
33
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectGraph.js","sourceRoot":"","sources":["../../../src/graph/ObjectGraph.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"ObjectGraph.js","sourceRoot":"","sources":["../../../src/graph/ObjectGraph.ts"],"names":[],"mappings":";;;;;;AAyDA,0BAEC;AA3DD,gDAA6C;AAC7C,qDAAiD;AAEjD,uFAA+D;AAG/D,8CAA2C;AAC3C,4CAAoE;AAEpE,MAAsB,WAAW;IAG/B,IAAI,IAAI;QACN,MAAM,MAAM,GAAG,IAAA,0CAAiC,EAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QACrF,IAAI,iBAAO,CAAC,WAAW,CAAC,cAAc,EAAE,MAAM,CAAC,EAAE,CAAC;YAChD,OAAO,iBAAO,CAAC,WAAW,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,IAAI,GAAG,IAAA,mBAAQ,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnC,iBAAO,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAsB,MAAU;QAAV,WAAM,GAAN,MAAM,CAAI;QAZxB,sBAAiB,GAAG,IAAI,2BAAiB,CAAC,IAAI,CAAC,CAAC;QAatD,IAAA,8BAAa,EAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,QAAQ,CACN,QAAgB,EAChB,QAAkB,EAClB,QAAuC;QAEvC,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CACpC,QAAQ,EACR,QAAQ,EACR,QAAQ,CACiB,CAAC;IAC9B,CAAC;IAED,WAAW,CACT,QAAgB,EAChB,QAAkB,EAClB,QAAuC;QAEvC,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CACvC,QAAQ,EACR,QAAQ,EACR,QAAQ,CACiB,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,OAAY;IAEnB,CAAC;CACF;AA5CD,kCA4CC;AAED,iBAAO,CAAC,GAAG,CAAC,WAAW,EAAE,mBAAmB,EAAE,aAAa,CAAC,CAAC;AAE7D,SAAgB,OAAO,CAAC,MAAwC;IAC9D,OAAO,iBAAO,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,KAAK,aAAa,CAAC;AACpE,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Graph } from '../Graph';
|
|
2
|
+
import { CircularDependenciesDetector } from '../CircularDependenciesDetector';
|
|
3
|
+
export default class PropertyRetriever {
|
|
4
|
+
private graph;
|
|
5
|
+
private readonly retrieveFromPublicSubgraphs;
|
|
6
|
+
private readonly retrieveFromPublicAndPrivateSubgraphs;
|
|
7
|
+
constructor(graph: Graph);
|
|
8
|
+
retrieve(property: string, receiver?: unknown, maybeDetector?: CircularDependenciesDetector): unknown | undefined;
|
|
9
|
+
retrieveAll(property: string, receiver?: unknown, maybeDetector?: CircularDependenciesDetector): unknown | undefined;
|
|
10
|
+
private retrieveInternal;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=PropertyRetriever.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PropertyRetriever.d.ts","sourceRoot":"","sources":["../../../../src/graph/properties/PropertyRetriever.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAM/E,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAIvB,OAAO,CAAC,KAAK;IAH1B,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAmB;IAC/D,OAAO,CAAC,QAAQ,CAAC,qCAAqC,CAAmB;gBAEpD,KAAK,EAAE,KAAK;IAKjC,QAAQ,CACN,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,OAAO,EAClB,aAAa,CAAC,EAAE,4BAA4B,GAC3C,OAAO,GAAG,SAAS;IAItB,WAAW,CACT,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,OAAO,EAClB,aAAa,CAAC,EAAE,4BAA4B,GAC3C,OAAO,GAAG,SAAS;IAItB,OAAO,CAAC,gBAAgB;CAkCzB"}
|
|
@@ -3,15 +3,24 @@ 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
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
6
|
+
const ProvidedPropertiesStore_1 = __importDefault(require("../../ProvidedPropertiesStore"));
|
|
7
|
+
const CircularDependenciesDetector_1 = require("../CircularDependenciesDetector");
|
|
8
|
+
const reflect_1 = require("../../utils/reflect");
|
|
9
|
+
const retrieveFromPublicSubgraphs_1 = require("./retrieveFromPublicSubgraphs");
|
|
10
|
+
const retrieveFromPublicAndPrivateSubgraphs_1 = require("./retrieveFromPublicAndPrivateSubgraphs");
|
|
10
11
|
class PropertyRetriever {
|
|
11
12
|
constructor(graph) {
|
|
12
13
|
this.graph = graph;
|
|
14
|
+
this.retrieveFromPublicSubgraphs = new retrieveFromPublicSubgraphs_1.RetrieveFromPublicSubgraphs(this.graph);
|
|
15
|
+
this.retrieveFromPublicAndPrivateSubgraphs = new retrieveFromPublicAndPrivateSubgraphs_1.RetrieveFromPublicAndPrivateSubgraphs(this.graph);
|
|
13
16
|
}
|
|
14
17
|
retrieve(property, receiver, maybeDetector) {
|
|
18
|
+
return this.retrieveInternal(property, this.retrieveFromPublicSubgraphs, receiver, maybeDetector);
|
|
19
|
+
}
|
|
20
|
+
retrieveAll(property, receiver, maybeDetector) {
|
|
21
|
+
return this.retrieveInternal(property, this.retrieveFromPublicAndPrivateSubgraphs, receiver, maybeDetector);
|
|
22
|
+
}
|
|
23
|
+
retrieveInternal(property, retrieveStrategy, receiver, maybeDetector) {
|
|
15
24
|
const mangledPropertyKey = ProvidedPropertiesStore_1.default.getMangledProperty(this.graph, property);
|
|
16
25
|
const circularDependenciesDetector = maybeDetector !== null && maybeDetector !== void 0 ? maybeDetector : new CircularDependenciesDetector_1.CircularDependenciesDetector(this.graph.name);
|
|
17
26
|
if (mangledPropertyKey
|
|
@@ -19,7 +28,7 @@ class PropertyRetriever {
|
|
|
19
28
|
&& circularDependenciesDetector.visit(this.graph.name, property)) {
|
|
20
29
|
const proxiedGraph = new Proxy(this.graph, {
|
|
21
30
|
get(graph, dependencyName) {
|
|
22
|
-
return graph.
|
|
31
|
+
return graph.retrieveAll(dependencyName, receiver, circularDependenciesDetector);
|
|
23
32
|
},
|
|
24
33
|
});
|
|
25
34
|
const resolved = reflect_1.Reflect.get(this.graph, mangledPropertyKey, receiver)(proxiedGraph);
|
|
@@ -31,15 +40,7 @@ class PropertyRetriever {
|
|
|
31
40
|
+ ` from ${circularDependenciesDetector.graphName} because of a circular dependency:`
|
|
32
41
|
+ ` ${circularDependenciesDetector.getDependencies().join(' -> ')}`);
|
|
33
42
|
}
|
|
34
|
-
return
|
|
35
|
-
}
|
|
36
|
-
getFromSubgraphs(property, circularDependenciesDetector, receiver) {
|
|
37
|
-
for (const subgraph of GraphRegistry_1.default.getSubgraphs(this.graph)) {
|
|
38
|
-
const result = subgraph.retrieve(property, receiver, circularDependenciesDetector);
|
|
39
|
-
if (result)
|
|
40
|
-
return result;
|
|
41
|
-
}
|
|
42
|
-
return undefined;
|
|
43
|
+
return retrieveStrategy.retrieve(property, circularDependenciesDetector, receiver);
|
|
43
44
|
}
|
|
44
45
|
}
|
|
45
46
|
exports.default = PropertyRetriever;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PropertyRetriever.js","sourceRoot":"","sources":["../../../../src/graph/properties/PropertyRetriever.ts"],"names":[],"mappings":";;;;;AACA,4FAAoE;AACpE,kFAA+E;AAC/E,iDAA8C;AAE9C,+EAA4E;AAC5E,mGAAgG;AAEhG,MAAqB,iBAAiB;IAIpC,YAAqB,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;QAC/B,IAAI,CAAC,2BAA2B,GAAG,IAAI,yDAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/E,IAAI,CAAC,qCAAqC,GAAG,IAAI,6EAAqC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrG,CAAC;IAED,QAAQ,CACN,QAAgB,EAChB,QAAkB,EAClB,aAA4C;QAE5C,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,2BAA2B,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IACpG,CAAC;IAED,WAAW,CACT,QAAgB,EAChB,QAAkB,EAClB,aAA4C;QAE5C,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,qCAAqC,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC9G,CAAC;IAEO,gBAAgB,CACtB,QAAgB,EAChB,gBAAkC,EAClC,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,CAAC;YACD,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE;gBACzC,GAAG,CAAC,KAAY,EAAE,cAAsB;oBACtC,OAAO,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE,QAAQ,EAAE,4BAA4B,CAAC,CAAC;gBACnF,CAAC;aACF,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,iBAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,kBAAkB,EAAE,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC;YACrF,4BAA4B,CAAC,KAAK,EAAE,CAAC;YACrC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,IAAI,4BAA4B,CAAC,uBAAuB,EAAE,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CACb,qBAAqB,4BAA4B,CAAC,mBAAmB,EAAE;kBACrE,SAAS,4BAA4B,CAAC,SAAS,oCAAoC;kBACnF,IAAI,4BAA4B,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CACpE,CAAC;QACJ,CAAC;QAED,OAAO,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,EAAE,4BAA4B,EAAE,QAAQ,CAAC,CAAC;IACrF,CAAC;CACF;AA3DD,oCA2DC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CircularDependenciesDetector } from '../CircularDependenciesDetector';
|
|
2
|
+
interface PropertyRetrieverDelegate {
|
|
3
|
+
retrieve: (property: string, receiver?: unknown, circularDependenciesDetector?: CircularDependenciesDetector) => unknown | undefined;
|
|
4
|
+
retrieveAll: (property: string, receiver?: unknown, circularDependenciesDetector?: CircularDependenciesDetector) => unknown | undefined;
|
|
5
|
+
}
|
|
6
|
+
export default PropertyRetrieverDelegate;
|
|
7
|
+
//# sourceMappingURL=PropertyRetrieverDelegate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PropertyRetrieverDelegate.d.ts","sourceRoot":"","sources":["../../../../src/graph/properties/PropertyRetrieverDelegate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAE/E,UAAU,yBAAyB;IACjC,QAAQ,EAAE,CACR,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,OAAO,EAClB,4BAA4B,CAAC,EAAE,4BAA4B,KACxD,OAAO,GAAG,SAAS,CAAC;IAEzB,WAAW,EAAE,CACX,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,OAAO,EAClB,4BAA4B,CAAC,EAAE,4BAA4B,KACxD,OAAO,GAAG,SAAS,CAAC;CAC1B;AAED,eAAe,yBAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PropertyRetrieverDelegate.js","sourceRoot":"","sources":["../../../../src/graph/properties/PropertyRetrieverDelegate.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CircularDependenciesDetector } from '../CircularDependenciesDetector';
|
|
2
|
+
import { RetrieveStrategy } from './retrieveStrategy';
|
|
3
|
+
import { Graph } from '../Graph';
|
|
4
|
+
export declare class RetrieveFromPublicAndPrivateSubgraphs implements RetrieveStrategy {
|
|
5
|
+
private readonly graph;
|
|
6
|
+
constructor(graph: Graph);
|
|
7
|
+
retrieve(property: string, circularDependenciesDetector: CircularDependenciesDetector, receiver: unknown): unknown | undefined;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=retrieveFromPublicAndPrivateSubgraphs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieveFromPublicAndPrivateSubgraphs.d.ts","sourceRoot":"","sources":["../../../../src/graph/properties/retrieveFromPublicAndPrivateSubgraphs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,qBAAa,qCAAsC,YAAW,gBAAgB;IAChE,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,KAAK;IAEzC,QAAQ,CACN,QAAQ,EAAE,MAAM,EAChB,4BAA4B,EAAE,4BAA4B,EAC1D,QAAQ,EAAE,OAAO,GAChB,OAAO,GAAG,SAAS;CAcvB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.RetrieveFromPublicAndPrivateSubgraphs = void 0;
|
|
7
|
+
const GraphRegistry_1 = __importDefault(require("../registry/GraphRegistry"));
|
|
8
|
+
class RetrieveFromPublicAndPrivateSubgraphs {
|
|
9
|
+
constructor(graph) {
|
|
10
|
+
this.graph = graph;
|
|
11
|
+
}
|
|
12
|
+
retrieve(property, circularDependenciesDetector, receiver) {
|
|
13
|
+
// First search public subgraphs
|
|
14
|
+
for (const subgraph of GraphRegistry_1.default.getSubgraphs(this.graph)) {
|
|
15
|
+
const result = subgraph.retrieveAll(property, receiver, circularDependenciesDetector);
|
|
16
|
+
if (result)
|
|
17
|
+
return result;
|
|
18
|
+
}
|
|
19
|
+
// Also search private subgraphs
|
|
20
|
+
for (const subgraph of GraphRegistry_1.default.getPrivateSubgraphs(this.graph)) {
|
|
21
|
+
const result = subgraph.retrieveAll(property, receiver, circularDependenciesDetector);
|
|
22
|
+
if (result)
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.RetrieveFromPublicAndPrivateSubgraphs = RetrieveFromPublicAndPrivateSubgraphs;
|
|
29
|
+
//# sourceMappingURL=retrieveFromPublicAndPrivateSubgraphs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieveFromPublicAndPrivateSubgraphs.js","sourceRoot":"","sources":["../../../../src/graph/properties/retrieveFromPublicAndPrivateSubgraphs.ts"],"names":[],"mappings":";;;;;;AAEA,8EAAsD;AAGtD,MAAa,qCAAqC;IAChD,YAA6B,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;IAAI,CAAC;IAE9C,QAAQ,CACN,QAAgB,EAChB,4BAA0D,EAC1D,QAAiB;QAEnB,gCAAgC;QAChC,KAAK,MAAM,QAAQ,IAAI,uBAAa,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9D,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,4BAA4B,CAAC,CAAC;YACtF,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;QAC5B,CAAC;QAED,gCAAgC;QAChC,KAAK,MAAM,QAAQ,IAAI,uBAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrE,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,4BAA4B,CAAC,CAAC;YACtF,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;QAC5B,CAAC;QACD,OAAO,SAAS,CAAC;IACjB,CAAC;CACF;AArBD,sFAqBC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { RetrieveStrategy } from './retrieveStrategy';
|
|
2
|
+
import { CircularDependenciesDetector } from '../CircularDependenciesDetector';
|
|
3
|
+
import { Graph } from '../Graph';
|
|
4
|
+
export declare class RetrieveFromPublicSubgraphs implements RetrieveStrategy {
|
|
5
|
+
private readonly graph;
|
|
6
|
+
constructor(graph: Graph);
|
|
7
|
+
retrieve(property: string, circularDependenciesDetector: CircularDependenciesDetector, receiver: unknown): unknown | undefined;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=retrieveFromPublicSubgraphs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieveFromPublicSubgraphs.d.ts","sourceRoot":"","sources":["../../../../src/graph/properties/retrieveFromPublicSubgraphs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,qBAAa,2BAA4B,YAAW,gBAAgB;IACtD,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,KAAK;IAEzC,QAAQ,CACN,QAAQ,EAAE,MAAM,EAChB,4BAA4B,EAAE,4BAA4B,EAC1D,QAAQ,EAAE,OAAO,GAChB,OAAO,GAAG,SAAS;CAOvB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.RetrieveFromPublicSubgraphs = void 0;
|
|
7
|
+
const GraphRegistry_1 = __importDefault(require("../registry/GraphRegistry"));
|
|
8
|
+
class RetrieveFromPublicSubgraphs {
|
|
9
|
+
constructor(graph) {
|
|
10
|
+
this.graph = graph;
|
|
11
|
+
}
|
|
12
|
+
retrieve(property, circularDependenciesDetector, receiver) {
|
|
13
|
+
for (const subgraph of GraphRegistry_1.default.getSubgraphs(this.graph)) {
|
|
14
|
+
const result = subgraph.retrieve(property, receiver, circularDependenciesDetector);
|
|
15
|
+
if (result)
|
|
16
|
+
return result;
|
|
17
|
+
}
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.RetrieveFromPublicSubgraphs = RetrieveFromPublicSubgraphs;
|
|
22
|
+
//# sourceMappingURL=retrieveFromPublicSubgraphs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieveFromPublicSubgraphs.js","sourceRoot":"","sources":["../../../../src/graph/properties/retrieveFromPublicSubgraphs.ts"],"names":[],"mappings":";;;;;;AACA,8EAAsD;AAItD,MAAa,2BAA2B;IACtC,YAA6B,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;IAAI,CAAC;IAE9C,QAAQ,CACN,QAAgB,EAChB,4BAA0D,EAC1D,QAAiB;QAEjB,KAAK,MAAM,QAAQ,IAAI,uBAAa,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9D,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,4BAA4B,CAAC,CAAC;YACnF,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;QAC5B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAdD,kEAcC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { CircularDependenciesDetector } from '../CircularDependenciesDetector';
|
|
2
|
+
export interface RetrieveStrategy {
|
|
3
|
+
retrieve: (property: string, circularDependenciesDetector: CircularDependenciesDetector, receiver: unknown) => unknown | undefined;
|
|
4
|
+
}
|
|
5
|
+
//# sourceMappingURL=retrieveStrategy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieveStrategy.d.ts","sourceRoot":"","sources":["../../../../src/graph/properties/retrieveStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAE/E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,CACR,QAAQ,EAAE,MAAM,EAChB,4BAA4B,EAAE,4BAA4B,EAC1D,QAAQ,EAAE,OAAO,KACd,OAAO,GAAG,SAAS,CAAC;CAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieveStrategy.js","sourceRoot":"","sources":["../../../../src/graph/properties/retrieveStrategy.ts"],"names":[],"mappings":""}
|
|
@@ -8,15 +8,17 @@ export declare class GraphRegistry {
|
|
|
8
8
|
private readonly instanceToInjectionToken;
|
|
9
9
|
private readonly nameToInstance;
|
|
10
10
|
private readonly graphToSubgraphs;
|
|
11
|
+
private readonly graphToPrivateSubgraphs;
|
|
11
12
|
private readonly graphMiddlewares;
|
|
12
13
|
private readonly keyToGenerator;
|
|
13
14
|
private readonly keyToGraph;
|
|
14
15
|
private readonly onClearListeners;
|
|
15
|
-
register(constructor: Constructable<Graph>, subgraphs?: Constructable<Graph>[]): void;
|
|
16
|
+
register(constructor: Constructable<Graph>, subgraphs?: Constructable<Graph>[], privateSubgraphs?: Constructable<Graph>[]): void;
|
|
16
17
|
registerGraphGenerator(key: string, generator: () => Constructable<Graph>): void;
|
|
17
18
|
ensureRegistered(keyOrGraph: string | Graph): void;
|
|
18
19
|
isInstantiated(G: Constructable<Graph>): boolean;
|
|
19
20
|
getSubgraphs(graph: Graph): Graph[];
|
|
21
|
+
getPrivateSubgraphs(graph: Graph): Graph[];
|
|
20
22
|
getGraphInstance(name: string): Graph;
|
|
21
23
|
resolve<T extends Graph>(keyOrGraph: String | Constructable<T>, source?: 'lifecycleOwner' | 'classInjection' | 'serviceLocator', props?: any, injectionToken?: string): T;
|
|
22
24
|
private instantiateCustomScopedSubgraphs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphRegistry.d.ts","sourceRoot":"","sources":["../../../../src/graph/registry/GraphRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAQ1C,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA+C;IACrF,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA0C;IAChF,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA4B;IACrE,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA4B;IACrE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4B;IAC3D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA8D;IAC/F,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA8B;IAC/D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgD;IAC/E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2C;IACtE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqC;IAEtE,QAAQ,
|
|
1
|
+
{"version":3,"file":"GraphRegistry.d.ts","sourceRoot":"","sources":["../../../../src/graph/registry/GraphRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAQ1C,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA+C;IACrF,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA0C;IAChF,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA4B;IACrE,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA4B;IACrE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4B;IAC3D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA8D;IAC/F,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA8D;IACtG,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA8B;IAC/D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgD;IAC/E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2C;IACtE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqC;IAEtE,QAAQ,CACN,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,EACjC,SAAS,GAAE,aAAa,CAAC,KAAK,CAAC,EAAO,EACtC,gBAAgB,GAAE,aAAa,CAAC,KAAK,CAAC,EAAO;IAM/C,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC,KAAK,CAAC;IAKzE,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,KAAK;IAOpC,cAAc,CAAC,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,OAAO;IAIvD,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE;IAMnC,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE;IAM1C,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK;IAIrC,OAAO,CAAC,CAAC,SAAS,KAAK,EACrB,UAAU,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,EACrC,MAAM,GAAE,gBAAgB,GAAG,gBAAgB,GAAG,gBAAmC,EACjF,KAAK,GAAE,GAAe,EACtB,cAAc,CAAC,EAAE,MAAM,GACtB,CAAC;IAkBJ,OAAO,CAAC,gCAAgC;IAmBxC,OAAO,CAAC,oDAAoD;IAe5D,OAAO,CAAC,wBAAwB;IAkBhC,OAAO,CAAC,wBAAwB;IAShC,OAAO,CAAC,GAAG;IAaX,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,GAAG;IAYX,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,+BAA+B;IAIvC,OAAO,CAAC,4BAA4B;IAKpC,iCAAiC,CAAC,SAAS,EAAE,MAAM;IAsBnD,KAAK,CAAC,KAAK,EAAE,KAAK;IAgBlB,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,0BAA0B;IAUlC,kBAAkB,CAAC,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC;IAIhD,qBAAqB;IAIrB,QAAQ;CAST;wBAI4C,aAAa;AAA1D,wBAA2D"}
|
|
@@ -18,13 +18,15 @@ class GraphRegistry {
|
|
|
18
18
|
this.instanceToInjectionToken = new Map();
|
|
19
19
|
this.nameToInstance = new Map();
|
|
20
20
|
this.graphToSubgraphs = new Map();
|
|
21
|
+
this.graphToPrivateSubgraphs = new Map();
|
|
21
22
|
this.graphMiddlewares = new GraphMiddlewareChain_1.default();
|
|
22
23
|
this.keyToGenerator = new Map();
|
|
23
24
|
this.keyToGraph = new Map();
|
|
24
25
|
this.onClearListeners = new Map();
|
|
25
26
|
}
|
|
26
|
-
register(constructor, subgraphs = []) {
|
|
27
|
+
register(constructor, subgraphs = [], privateSubgraphs = []) {
|
|
27
28
|
this.graphToSubgraphs.set(constructor, new Set(subgraphs));
|
|
29
|
+
this.graphToPrivateSubgraphs.set(constructor, new Set(privateSubgraphs));
|
|
28
30
|
}
|
|
29
31
|
registerGraphGenerator(key, generator) {
|
|
30
32
|
if (this.keyToGenerator.has(key))
|
|
@@ -49,6 +51,12 @@ class GraphRegistry {
|
|
|
49
51
|
const subgraphs = (_a = this.graphToSubgraphs.get(Graph)) !== null && _a !== void 0 ? _a : new Set();
|
|
50
52
|
return Array.from(subgraphs).map((G) => this.resolve(G));
|
|
51
53
|
}
|
|
54
|
+
getPrivateSubgraphs(graph) {
|
|
55
|
+
var _a;
|
|
56
|
+
const Graph = this.instanceToConstructor.get(graph);
|
|
57
|
+
const privateSubgraphs = (_a = this.graphToPrivateSubgraphs.get(Graph)) !== null && _a !== void 0 ? _a : new Set();
|
|
58
|
+
return Array.from(privateSubgraphs).map((G) => this.resolve(G));
|
|
59
|
+
}
|
|
52
60
|
getGraphInstance(name) {
|
|
53
61
|
return this.nameToInstance.get(name);
|
|
54
62
|
}
|
|
@@ -97,14 +105,16 @@ class GraphRegistry {
|
|
|
97
105
|
});
|
|
98
106
|
}
|
|
99
107
|
getSubgraphsConstructors(graph) {
|
|
100
|
-
var _a;
|
|
108
|
+
var _a, _b;
|
|
101
109
|
const Graph = typeof graph === 'function' ? graph : this.instanceToConstructor.get(graph);
|
|
102
110
|
const directSubgraphs = Array.from((_a = this.graphToSubgraphs.get(Graph)) !== null && _a !== void 0 ? _a : new Set());
|
|
103
|
-
|
|
111
|
+
const directPrivateSubgraphs = Array.from((_b = this.graphToPrivateSubgraphs.get(Graph)) !== null && _b !== void 0 ? _b : new Set());
|
|
112
|
+
const allDirectSubgraphs = [...directSubgraphs, ...directPrivateSubgraphs];
|
|
113
|
+
if (allDirectSubgraphs.length === 0)
|
|
104
114
|
return [];
|
|
105
115
|
return [
|
|
106
|
-
...
|
|
107
|
-
...new Set(
|
|
116
|
+
...allDirectSubgraphs,
|
|
117
|
+
...new Set(allDirectSubgraphs
|
|
108
118
|
.map(subgraph => this.getSubgraphsConstructors(subgraph))
|
|
109
119
|
.flat()),
|
|
110
120
|
];
|
|
@@ -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,9 +1,17 @@
|
|
|
1
1
|
import { ObjectGraph, DependenciesOf } from '../../src';
|
|
2
|
+
import { HttpClient } from './privateSubgraph';
|
|
2
3
|
import StringProvider from './StringProvider';
|
|
3
4
|
import Subgraph from './Subgraph';
|
|
4
5
|
export type Dependencies = DependenciesOf<[MainGraph, Subgraph]>;
|
|
5
6
|
export default class MainGraph extends ObjectGraph {
|
|
6
7
|
someString(stringProvider: StringProvider): string;
|
|
7
8
|
anotherString(): string;
|
|
9
|
+
fetcher(httpClient: HttpClient): {
|
|
10
|
+
fetch: (url: string) => {
|
|
11
|
+
response: {
|
|
12
|
+
status: number;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
};
|
|
8
16
|
}
|
|
9
17
|
//# sourceMappingURL=MainGraph.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MainGraph.d.ts","sourceRoot":"","sources":["../../../test/fixtures/MainGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EAEX,cAAc,EACf,MAAM,WAAW,CAAC;AAEnB,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AAGjE,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAEhD,UAAU,CAAC,cAAc,EAAE,cAAc,GAAG,MAAM;IAKlD,aAAa,IAAI,MAAM;CAGxB"}
|
|
1
|
+
{"version":3,"file":"MainGraph.d.ts","sourceRoot":"","sources":["../../../test/fixtures/MainGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EAEX,cAAc,EACf,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,UAAU,EAAmB,MAAM,mBAAmB,CAAC;AAChE,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AAGjE,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAEhD,UAAU,CAAC,cAAc,EAAE,cAAc,GAAG,MAAM;IAKlD,aAAa,IAAI,MAAM;IAKvB,OAAO,CAAC,UAAU,EAAE,UAAU;qBAEb,MAAM;;;;;;CAGxB"}
|
|
@@ -43,9 +43,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
43
43
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
44
44
|
const src_1 = require("../../src");
|
|
45
45
|
const injectedValues_1 = __importDefault(require("./injectedValues"));
|
|
46
|
+
const privateSubgraph_1 = require("./privateSubgraph");
|
|
46
47
|
const Subgraph_1 = __importDefault(require("./Subgraph"));
|
|
47
48
|
let MainGraph = (() => {
|
|
48
|
-
let _classDecorators = [(0, src_1.Graph)({ subgraphs: [Subgraph_1.default] })];
|
|
49
|
+
let _classDecorators = [(0, src_1.Graph)({ subgraphs: [Subgraph_1.default], privateSubgraphs: [privateSubgraph_1.PrivateSubgraph] })];
|
|
49
50
|
let _classDescriptor;
|
|
50
51
|
let _classExtraInitializers = [];
|
|
51
52
|
let _classThis;
|
|
@@ -53,6 +54,7 @@ let MainGraph = (() => {
|
|
|
53
54
|
let _instanceExtraInitializers = [];
|
|
54
55
|
let _someString_decorators;
|
|
55
56
|
let _anotherString_decorators;
|
|
57
|
+
let _fetcher_decorators;
|
|
56
58
|
var MainGraph = _classThis = class extends _classSuper {
|
|
57
59
|
someString(stringProvider) {
|
|
58
60
|
return stringProvider.theString;
|
|
@@ -60,6 +62,11 @@ let MainGraph = (() => {
|
|
|
60
62
|
anotherString() {
|
|
61
63
|
return injectedValues_1.default.anotherString;
|
|
62
64
|
}
|
|
65
|
+
fetcher(httpClient) {
|
|
66
|
+
return {
|
|
67
|
+
fetch: (url) => httpClient.fetch(url),
|
|
68
|
+
};
|
|
69
|
+
}
|
|
63
70
|
constructor() {
|
|
64
71
|
super(...arguments);
|
|
65
72
|
__runInitializers(this, _instanceExtraInitializers);
|
|
@@ -71,8 +78,10 @@ let MainGraph = (() => {
|
|
|
71
78
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;
|
|
72
79
|
_someString_decorators = [(0, src_1.Provides)()];
|
|
73
80
|
_anotherString_decorators = [(0, src_1.Provides)()];
|
|
81
|
+
_fetcher_decorators = [(0, src_1.Provides)()];
|
|
74
82
|
__esDecorate(_classThis, null, _someString_decorators, { kind: "method", name: "someString", static: false, private: false, access: { has: obj => "someString" in obj, get: obj => obj.someString }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
75
83
|
__esDecorate(_classThis, null, _anotherString_decorators, { kind: "method", name: "anotherString", static: false, private: false, access: { has: obj => "anotherString" in obj, get: obj => obj.anotherString }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
84
|
+
__esDecorate(_classThis, null, _fetcher_decorators, { kind: "method", name: "fetcher", static: false, private: false, access: { has: obj => "fetcher" in obj, get: obj => obj.fetcher }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
76
85
|
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
77
86
|
MainGraph = _classThis = _classDescriptor.value;
|
|
78
87
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MainGraph.js","sourceRoot":"","sources":["../../../test/fixtures/MainGraph.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAKmB;AACnB,sEAA8C;
|
|
1
|
+
{"version":3,"file":"MainGraph.js","sourceRoot":"","sources":["../../../test/fixtures/MainGraph.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAKmB;AACnB,sEAA8C;AAC9C,uDAAgE;AAEhE,0DAAkC;;4BAIjC,IAAA,WAAK,EAAC,EAAE,SAAS,EAAE,CAAC,kBAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC,iCAAe,CAAC,EAAE,CAAC;;;;sBAC/B,iBAAW;;;;;sCAAnB,SAAQ,WAAW;QAEhD,UAAU,CAAC,cAA8B;YACvC,OAAO,cAAc,CAAC,SAAS,CAAC;QAClC,CAAC;QAGD,aAAa;YACX,OAAO,wBAAc,CAAC,aAAa,CAAC;QACtC,CAAC;QAGD,OAAO,CAAC,UAAsB;YAC5B,OAAO;gBACL,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC;aAC9C,CAAC;QACJ,CAAC;;;YAhBkB,mDAAS;;;;;;;kCAC3B,IAAA,cAAQ,GAAE;qCAKV,IAAA,cAAQ,GAAE;+BAKV,IAAA,cAAQ,GAAE;QATX,uLAAA,UAAU,6DAET;QAGD,gMAAA,aAAa,6DAEZ;QAGD,8KAAA,OAAO,6DAIN;QAhBH,6KAiBC;;;QAjBoB,uDAAS"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ObjectGraph } from '../../src';
|
|
2
|
+
export type HttpClient = {
|
|
3
|
+
fetch: (url: string) => {
|
|
4
|
+
response: {
|
|
5
|
+
status: number;
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
export type Config = {
|
|
10
|
+
baseUrl: string;
|
|
11
|
+
};
|
|
12
|
+
export declare class PrivateSubgraph extends ObjectGraph {
|
|
13
|
+
httpClient(config: Config): HttpClient;
|
|
14
|
+
config(): Config;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=privateSubgraph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"privateSubgraph.d.ts","sourceRoot":"","sources":["../../../test/fixtures/privateSubgraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,WAAW,EAAY,MAAM,WAAW,CAAC;AAEzD,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK;QACtB,QAAQ,EAAE;YACR,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;KACH,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBACa,eAAgB,SAAQ,WAAW;IAE9C,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IAYtC,MAAM,IAAI,MAAM;CAKjB"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
3
|
+
var useValue = arguments.length > 2;
|
|
4
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
5
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
6
|
+
}
|
|
7
|
+
return useValue ? value : void 0;
|
|
8
|
+
};
|
|
9
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
10
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
11
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
12
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
13
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
14
|
+
var _, done = false;
|
|
15
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
16
|
+
var context = {};
|
|
17
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
18
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
19
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
20
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
21
|
+
if (kind === "accessor") {
|
|
22
|
+
if (result === void 0) continue;
|
|
23
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
24
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
25
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
26
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
27
|
+
}
|
|
28
|
+
else if (_ = accept(result)) {
|
|
29
|
+
if (kind === "field") initializers.unshift(_);
|
|
30
|
+
else descriptor[key] = _;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
34
|
+
done = true;
|
|
35
|
+
};
|
|
36
|
+
var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {
|
|
37
|
+
if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
|
|
38
|
+
return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
|
|
39
|
+
};
|
|
40
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
+
exports.PrivateSubgraph = void 0;
|
|
42
|
+
const src_1 = require("../../src");
|
|
43
|
+
let PrivateSubgraph = (() => {
|
|
44
|
+
let _classDecorators = [(0, src_1.graph)()];
|
|
45
|
+
let _classDescriptor;
|
|
46
|
+
let _classExtraInitializers = [];
|
|
47
|
+
let _classThis;
|
|
48
|
+
let _classSuper = src_1.ObjectGraph;
|
|
49
|
+
let _instanceExtraInitializers = [];
|
|
50
|
+
let _httpClient_decorators;
|
|
51
|
+
let _config_decorators;
|
|
52
|
+
var PrivateSubgraph = _classThis = class extends _classSuper {
|
|
53
|
+
httpClient(config) {
|
|
54
|
+
return {
|
|
55
|
+
fetch: (url) => ({
|
|
56
|
+
url: `${config.baseUrl}${url}`,
|
|
57
|
+
response: {
|
|
58
|
+
status: 200,
|
|
59
|
+
},
|
|
60
|
+
}),
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
config() {
|
|
64
|
+
return {
|
|
65
|
+
baseUrl: 'https://api.example.com/',
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
constructor() {
|
|
69
|
+
super(...arguments);
|
|
70
|
+
__runInitializers(this, _instanceExtraInitializers);
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
__setFunctionName(_classThis, "PrivateSubgraph");
|
|
74
|
+
(() => {
|
|
75
|
+
var _a;
|
|
76
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;
|
|
77
|
+
_httpClient_decorators = [(0, src_1.provides)()];
|
|
78
|
+
_config_decorators = [(0, src_1.provides)()];
|
|
79
|
+
__esDecorate(_classThis, null, _httpClient_decorators, { kind: "method", name: "httpClient", static: false, private: false, access: { has: obj => "httpClient" in obj, get: obj => obj.httpClient }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
80
|
+
__esDecorate(_classThis, null, _config_decorators, { kind: "method", name: "config", static: false, private: false, access: { has: obj => "config" in obj, get: obj => obj.config }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
81
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
82
|
+
PrivateSubgraph = _classThis = _classDescriptor.value;
|
|
83
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
84
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
85
|
+
})();
|
|
86
|
+
return PrivateSubgraph = _classThis;
|
|
87
|
+
})();
|
|
88
|
+
exports.PrivateSubgraph = PrivateSubgraph;
|
|
89
|
+
//# sourceMappingURL=privateSubgraph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"privateSubgraph.js","sourceRoot":"","sources":["../../../test/fixtures/privateSubgraph.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAyD;IAe5C,eAAe;4BAD3B,IAAA,WAAK,GAAE;;;;sBAC6B,iBAAW;;;;4CAAnB,SAAQ,WAAW;QAE9C,UAAU,CAAC,MAAc;YACvB,OAAO;gBACL,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC;oBACvB,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE;oBAC9B,QAAQ,EAAE;wBACR,MAAM,EAAE,GAAG;qBACZ;iBACF,CAAC;aACH,CAAC;QACJ,CAAC;QAGD,MAAM;YACJ,OAAO;gBACL,OAAO,EAAE,0BAA0B;aACpC,CAAC;QACJ,CAAC;;;YAlBU,mDAAe;;;;;;;kCACzB,IAAA,cAAQ,GAAE;8BAYV,IAAA,cAAQ,GAAE;QAXX,uLAAA,UAAU,6DAST;QAGD,2KAAA,MAAM,6DAIL;QAlBH,6KAmBC;;;QAnBY,uDAAe;;;;AAAf,0CAAe"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../../test/utils/console.ts"],"names":[],"mappings":"AAEA,wBAAgB,qBAAqB,SAEpC;AAED,wBAAgB,oBAAoB,SAEnC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.suppressConsoleErrors = suppressConsoleErrors;
|
|
4
|
+
exports.restoreConsoleErrors = restoreConsoleErrors;
|
|
5
|
+
let errorSpy;
|
|
6
|
+
function suppressConsoleErrors() {
|
|
7
|
+
errorSpy = jest.spyOn(console, 'error').mockImplementation(() => { });
|
|
8
|
+
}
|
|
9
|
+
function restoreConsoleErrors() {
|
|
10
|
+
errorSpy === null || errorSpy === void 0 ? void 0 : errorSpy.mockRestore();
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=console.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../../test/utils/console.ts"],"names":[],"mappings":";;AAEA,sDAEC;AAED,oDAEC;AARD,IAAI,QAA0B,CAAC;AAE/B,SAAgB,qBAAqB;IACnC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,SAAgB,oBAAoB;IAClC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,EAAE,CAAC;AAC1B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-obsidian",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.27.0",
|
|
4
4
|
"description": "Dependency injection framework for React and React Native applications",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"prepack": "yarn lint && tsc --project tsconfig.prod.json",
|
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
"pretest": "tsc --project tsconfig.json",
|
|
10
10
|
"test": "yarn test:all",
|
|
11
11
|
"test:all": "yarn test:legacy && yarn test:modern",
|
|
12
|
-
"test:legacy": "BABEL_CONFIG_PATH=./babel.config.legacy.js npx jest",
|
|
13
|
-
"test:modern": "npx jest",
|
|
14
|
-
"test-coverage": "npx jest --coverage"
|
|
12
|
+
"test:legacy": "BABEL_CONFIG_PATH=./babel.config.legacy.js npx jest --colors",
|
|
13
|
+
"test:modern": "npx jest --colors",
|
|
14
|
+
"test-coverage": "npx jest --coverage --colors"
|
|
15
15
|
},
|
|
16
16
|
"main": "dist/src/index.js",
|
|
17
17
|
"directories": {
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"@stylistic/eslint-plugin": "^1.7.0",
|
|
42
42
|
"@testing-library/react": "14.x.x",
|
|
43
43
|
"@types/hoist-non-react-statics": "^3.3.1",
|
|
44
|
-
"@types/jest": "^
|
|
44
|
+
"@types/jest": "^30.0.0",
|
|
45
45
|
"@types/jest-when": "^3.5.5",
|
|
46
46
|
"@types/lodash": "^4.14.176",
|
|
47
47
|
"@types/react": "18.3.x",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"babel-plugin-parameter-decorator": "1.x.x",
|
|
52
52
|
"cross-env": "^7.0.3",
|
|
53
53
|
"eslint": "8.x.x",
|
|
54
|
-
"eslint-config-airbnb-typescript": "
|
|
54
|
+
"eslint-config-airbnb-typescript": "^18.0.0",
|
|
55
55
|
"eslint-plugin-import": "^2.31.0",
|
|
56
56
|
"eslint-plugin-import-newlines": "^1.1.5",
|
|
57
57
|
"eslint-plugin-jest-formatting": "^3.1.0",
|
|
@@ -59,8 +59,8 @@
|
|
|
59
59
|
"eslint-plugin-react": "^7.26.1",
|
|
60
60
|
"eslint-plugin-react-hooks": "^4.2.0",
|
|
61
61
|
"eslint-plugin-unused-imports": "^4.1.4",
|
|
62
|
-
"jest": "
|
|
63
|
-
"jest-environment-jsdom": "
|
|
62
|
+
"jest": "30.2.0",
|
|
63
|
+
"jest-environment-jsdom": "30.2.0",
|
|
64
64
|
"jest-extended": "^4.0.2",
|
|
65
65
|
"jest-mock-extended": "^3.0.7",
|
|
66
66
|
"jest-when": "^3.7.0",
|
package/src/decorators/Graph.ts
CHANGED
|
@@ -4,11 +4,14 @@ import { ObjectGraph } from '../graph/ObjectGraph';
|
|
|
4
4
|
|
|
5
5
|
interface GraphParams {
|
|
6
6
|
subgraphs: Constructable<ObjectGraph>[];
|
|
7
|
+
privateSubgraphs: Constructable<ObjectGraph>[];
|
|
7
8
|
}
|
|
8
9
|
|
|
9
|
-
export function graph<Class extends Constructor>(
|
|
10
|
+
export function graph<Class extends Constructor>(
|
|
11
|
+
{ subgraphs = [], privateSubgraphs = [] }: Partial<GraphParams> = {},
|
|
12
|
+
) {
|
|
10
13
|
return (Clazz: Class) => {
|
|
11
|
-
graphRegistry.register(Clazz, subgraphs);
|
|
14
|
+
graphRegistry.register(Clazz, subgraphs, privateSubgraphs);
|
|
12
15
|
return Clazz;
|
|
13
16
|
};
|
|
14
17
|
}
|
package/src/graph/Graph.ts
CHANGED
package/src/graph/ObjectGraph.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { uniqueId } from '../utils/uniqueId';
|
|
2
2
|
import { bindProviders } from './ProviderBinder';
|
|
3
3
|
import { Graph } from './Graph';
|
|
4
|
-
import PropertyRetriever from './PropertyRetriever';
|
|
4
|
+
import PropertyRetriever from './properties/PropertyRetriever';
|
|
5
5
|
import { Constructable } from '../types';
|
|
6
6
|
import { CircularDependenciesDetector } from './CircularDependenciesDetector';
|
|
7
7
|
import { Reflect } from '../utils/reflect';
|
|
@@ -29,7 +29,23 @@ export abstract class ObjectGraph<T = unknown> implements Graph {
|
|
|
29
29
|
receiver?: unknown,
|
|
30
30
|
detector?: CircularDependenciesDetector,
|
|
31
31
|
): Dependency | undefined {
|
|
32
|
-
return this.propertyRetriever.retrieve(
|
|
32
|
+
return this.propertyRetriever.retrieve(
|
|
33
|
+
property,
|
|
34
|
+
receiver,
|
|
35
|
+
detector,
|
|
36
|
+
) as Dependency | undefined;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
retrieveAll<Dependency>(
|
|
40
|
+
property: string,
|
|
41
|
+
receiver?: unknown,
|
|
42
|
+
detector?: CircularDependenciesDetector,
|
|
43
|
+
): Dependency | undefined {
|
|
44
|
+
return this.propertyRetriever.retrieveAll(
|
|
45
|
+
property,
|
|
46
|
+
receiver,
|
|
47
|
+
detector,
|
|
48
|
+
) as Dependency | undefined;
|
|
33
49
|
}
|
|
34
50
|
|
|
35
51
|
onBind(_target: any) {
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Graph } from '../Graph';
|
|
2
|
+
import providedPropertiesStore from '../../ProvidedPropertiesStore';
|
|
3
|
+
import { CircularDependenciesDetector } from '../CircularDependenciesDetector';
|
|
4
|
+
import { Reflect } from '../../utils/reflect';
|
|
5
|
+
import { RetrieveStrategy } from './retrieveStrategy';
|
|
6
|
+
import { RetrieveFromPublicSubgraphs } from './retrieveFromPublicSubgraphs';
|
|
7
|
+
import { RetrieveFromPublicAndPrivateSubgraphs } from './retrieveFromPublicAndPrivateSubgraphs';
|
|
8
|
+
|
|
9
|
+
export default class PropertyRetriever {
|
|
10
|
+
private readonly retrieveFromPublicSubgraphs: RetrieveStrategy;
|
|
11
|
+
private readonly retrieveFromPublicAndPrivateSubgraphs: RetrieveStrategy;
|
|
12
|
+
|
|
13
|
+
constructor (private graph: Graph) {
|
|
14
|
+
this.retrieveFromPublicSubgraphs = new RetrieveFromPublicSubgraphs(this.graph);
|
|
15
|
+
this.retrieveFromPublicAndPrivateSubgraphs = new RetrieveFromPublicAndPrivateSubgraphs(this.graph);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
retrieve(
|
|
19
|
+
property: string,
|
|
20
|
+
receiver?: unknown,
|
|
21
|
+
maybeDetector?: CircularDependenciesDetector,
|
|
22
|
+
): unknown | undefined {
|
|
23
|
+
return this.retrieveInternal(property, this.retrieveFromPublicSubgraphs, receiver, maybeDetector);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
retrieveAll(
|
|
27
|
+
property: string,
|
|
28
|
+
receiver?: unknown,
|
|
29
|
+
maybeDetector?: CircularDependenciesDetector,
|
|
30
|
+
): unknown | undefined {
|
|
31
|
+
return this.retrieveInternal(property, this.retrieveFromPublicAndPrivateSubgraphs, receiver, maybeDetector);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
private retrieveInternal(
|
|
35
|
+
property: string,
|
|
36
|
+
retrieveStrategy: RetrieveStrategy,
|
|
37
|
+
receiver?: unknown,
|
|
38
|
+
maybeDetector?: CircularDependenciesDetector,
|
|
39
|
+
): unknown | undefined {
|
|
40
|
+
const mangledPropertyKey = providedPropertiesStore.getMangledProperty(this.graph, property);
|
|
41
|
+
const circularDependenciesDetector = maybeDetector ?? new CircularDependenciesDetector(this.graph.name);
|
|
42
|
+
|
|
43
|
+
if (
|
|
44
|
+
mangledPropertyKey
|
|
45
|
+
&& mangledPropertyKey in this.graph
|
|
46
|
+
&& circularDependenciesDetector.visit(this.graph.name, property)
|
|
47
|
+
) {
|
|
48
|
+
const proxiedGraph = new Proxy(this.graph, {
|
|
49
|
+
get(graph: Graph, dependencyName: string) {
|
|
50
|
+
return graph.retrieveAll(dependencyName, receiver, circularDependenciesDetector);
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
const resolved = Reflect.get(this.graph, mangledPropertyKey, receiver)(proxiedGraph);
|
|
54
|
+
circularDependenciesDetector.clear();
|
|
55
|
+
return resolved;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if (circularDependenciesDetector.hasCircularDependencies()) {
|
|
59
|
+
throw new Error(
|
|
60
|
+
`Could not resolve ${circularDependenciesDetector.firstDependencyName}`
|
|
61
|
+
+ ` from ${circularDependenciesDetector.graphName} because of a circular dependency:`
|
|
62
|
+
+ ` ${circularDependenciesDetector.getDependencies().join(' -> ')}`,
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
return retrieveStrategy.retrieve(property, circularDependenciesDetector, receiver);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CircularDependenciesDetector } from '
|
|
1
|
+
import { CircularDependenciesDetector } from '../CircularDependenciesDetector';
|
|
2
2
|
|
|
3
3
|
interface PropertyRetrieverDelegate {
|
|
4
4
|
retrieve: (
|
|
@@ -6,6 +6,12 @@ interface PropertyRetrieverDelegate {
|
|
|
6
6
|
receiver?: unknown,
|
|
7
7
|
circularDependenciesDetector?: CircularDependenciesDetector
|
|
8
8
|
) => unknown | undefined;
|
|
9
|
+
|
|
10
|
+
retrieveAll: (
|
|
11
|
+
property: string,
|
|
12
|
+
receiver?: unknown,
|
|
13
|
+
circularDependenciesDetector?: CircularDependenciesDetector
|
|
14
|
+
) => unknown | undefined;
|
|
9
15
|
}
|
|
10
16
|
|
|
11
17
|
export default PropertyRetrieverDelegate;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { CircularDependenciesDetector } from '../CircularDependenciesDetector';
|
|
2
|
+
import { RetrieveStrategy } from './retrieveStrategy';
|
|
3
|
+
import graphRegistry from '../registry/GraphRegistry';
|
|
4
|
+
import { Graph } from '../Graph';
|
|
5
|
+
|
|
6
|
+
export class RetrieveFromPublicAndPrivateSubgraphs implements RetrieveStrategy {
|
|
7
|
+
constructor(private readonly graph: Graph) { }
|
|
8
|
+
|
|
9
|
+
retrieve(
|
|
10
|
+
property: string,
|
|
11
|
+
circularDependenciesDetector: CircularDependenciesDetector,
|
|
12
|
+
receiver: unknown,
|
|
13
|
+
): unknown | undefined {
|
|
14
|
+
// First search public subgraphs
|
|
15
|
+
for (const subgraph of graphRegistry.getSubgraphs(this.graph)) {
|
|
16
|
+
const result = subgraph.retrieveAll(property, receiver, circularDependenciesDetector);
|
|
17
|
+
if (result) return result;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// Also search private subgraphs
|
|
21
|
+
for (const subgraph of graphRegistry.getPrivateSubgraphs(this.graph)) {
|
|
22
|
+
const result = subgraph.retrieveAll(property, receiver, circularDependenciesDetector);
|
|
23
|
+
if (result) return result;
|
|
24
|
+
}
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { RetrieveStrategy } from './retrieveStrategy';
|
|
2
|
+
import graphRegistry from '../registry/GraphRegistry';
|
|
3
|
+
import { CircularDependenciesDetector } from '../CircularDependenciesDetector';
|
|
4
|
+
import { Graph } from '../Graph';
|
|
5
|
+
|
|
6
|
+
export class RetrieveFromPublicSubgraphs implements RetrieveStrategy {
|
|
7
|
+
constructor(private readonly graph: Graph) { }
|
|
8
|
+
|
|
9
|
+
retrieve(
|
|
10
|
+
property: string,
|
|
11
|
+
circularDependenciesDetector: CircularDependenciesDetector,
|
|
12
|
+
receiver: unknown,
|
|
13
|
+
): unknown | undefined {
|
|
14
|
+
for (const subgraph of graphRegistry.getSubgraphs(this.graph)) {
|
|
15
|
+
const result = subgraph.retrieve(property, receiver, circularDependenciesDetector);
|
|
16
|
+
if (result) return result;
|
|
17
|
+
}
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CircularDependenciesDetector } from '../CircularDependenciesDetector';
|
|
2
|
+
|
|
3
|
+
export interface RetrieveStrategy {
|
|
4
|
+
retrieve: (
|
|
5
|
+
property: string,
|
|
6
|
+
circularDependenciesDetector: CircularDependenciesDetector,
|
|
7
|
+
receiver: unknown,
|
|
8
|
+
) => unknown | undefined;
|
|
9
|
+
}
|
|
@@ -15,13 +15,19 @@ export class GraphRegistry {
|
|
|
15
15
|
private readonly instanceToInjectionToken = new Map<Graph, string>();
|
|
16
16
|
private readonly nameToInstance = new Map<string, Graph>();
|
|
17
17
|
private readonly graphToSubgraphs = new Map<Constructable<Graph>, Set<Constructable<Graph>>>();
|
|
18
|
+
private readonly graphToPrivateSubgraphs = new Map<Constructable<Graph>, Set<Constructable<Graph>>>();
|
|
18
19
|
private readonly graphMiddlewares = new GraphMiddlewareChain();
|
|
19
20
|
private readonly keyToGenerator = new Map<string,() => Constructable<Graph>>();
|
|
20
21
|
private readonly keyToGraph = new Map<string, Constructable<Graph>>();
|
|
21
22
|
private readonly onClearListeners = new Map<Graph, Set<() => void>>();
|
|
22
23
|
|
|
23
|
-
register(
|
|
24
|
+
register(
|
|
25
|
+
constructor: Constructable<Graph>,
|
|
26
|
+
subgraphs: Constructable<Graph>[] = [],
|
|
27
|
+
privateSubgraphs: Constructable<Graph>[] = [],
|
|
28
|
+
) {
|
|
24
29
|
this.graphToSubgraphs.set(constructor, new Set(subgraphs));
|
|
30
|
+
this.graphToPrivateSubgraphs.set(constructor, new Set(privateSubgraphs));
|
|
25
31
|
}
|
|
26
32
|
|
|
27
33
|
registerGraphGenerator(key: string, generator: () => Constructable<Graph>) {
|
|
@@ -46,6 +52,12 @@ export class GraphRegistry {
|
|
|
46
52
|
return Array.from(subgraphs).map((G) => this.resolve(G));
|
|
47
53
|
}
|
|
48
54
|
|
|
55
|
+
getPrivateSubgraphs(graph: Graph): Graph[] {
|
|
56
|
+
const Graph = this.instanceToConstructor.get(graph)!;
|
|
57
|
+
const privateSubgraphs = this.graphToPrivateSubgraphs.get(Graph) ?? new Set();
|
|
58
|
+
return Array.from(privateSubgraphs).map((G) => this.resolve(G));
|
|
59
|
+
}
|
|
60
|
+
|
|
49
61
|
getGraphInstance(name: string): Graph {
|
|
50
62
|
return this.nameToInstance.get(name)!;
|
|
51
63
|
}
|
|
@@ -110,11 +122,15 @@ export class GraphRegistry {
|
|
|
110
122
|
private getSubgraphsConstructors(graph: Graph | Constructable<Graph>): Constructable<Graph>[] {
|
|
111
123
|
const Graph = typeof graph === 'function' ? graph : this.instanceToConstructor.get(graph)!;
|
|
112
124
|
const directSubgraphs = Array.from(this.graphToSubgraphs.get(Graph) ?? new Set<Constructable<Graph>>());
|
|
113
|
-
|
|
125
|
+
const directPrivateSubgraphs = Array.from(
|
|
126
|
+
this.graphToPrivateSubgraphs.get(Graph) ?? new Set<Constructable<Graph>>(),
|
|
127
|
+
);
|
|
128
|
+
const allDirectSubgraphs = [...directSubgraphs, ...directPrivateSubgraphs];
|
|
129
|
+
if (allDirectSubgraphs.length === 0) return [];
|
|
114
130
|
return [
|
|
115
|
-
...
|
|
131
|
+
...allDirectSubgraphs,
|
|
116
132
|
...new Set(
|
|
117
|
-
|
|
133
|
+
allDirectSubgraphs
|
|
118
134
|
.map(subgraph => this.getSubgraphsConstructors(subgraph))
|
|
119
135
|
.flat(),
|
|
120
136
|
),
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { Graph } from './Graph';
|
|
2
|
-
import { CircularDependenciesDetector } from './CircularDependenciesDetector';
|
|
3
|
-
export default class PropertyRetriever {
|
|
4
|
-
private graph;
|
|
5
|
-
constructor(graph: Graph);
|
|
6
|
-
retrieve(property: string, receiver?: unknown, maybeDetector?: CircularDependenciesDetector): unknown | undefined;
|
|
7
|
-
private getFromSubgraphs;
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=PropertyRetriever.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PropertyRetriever.d.ts","sourceRoot":"","sources":["../../../src/graph/PropertyRetriever.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAG9E,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACvB,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,KAAK;IAEjC,QAAQ,CACN,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,OAAO,EAClB,aAAa,CAAC,EAAE,4BAA4B,GAC3C,OAAO,GAAG,SAAS;IA8BtB,OAAO,CAAC,gBAAgB;CAWzB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PropertyRetriever.js","sourceRoot":"","sources":["../../../src/graph/PropertyRetriever.ts"],"names":[],"mappings":";;;;;AAAA,6EAAqD;AAErD,yFAAiE;AACjE,iFAA8E;AAC9E,8CAA2C;AAE3C,MAAqB,iBAAiB;IACpC,YAAqB,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;IAAI,CAAC;IAEtC,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,CAAC;YACD,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,MAAM,QAAQ,GAAG,iBAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,kBAAkB,EAAE,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC;YACrF,4BAA4B,CAAC,KAAK,EAAE,CAAC;YACrC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,IAAI,4BAA4B,CAAC,uBAAuB,EAAE,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CACb,qBAAqB,4BAA4B,CAAC,mBAAmB,EAAE;kBACrE,SAAS,4BAA4B,CAAC,SAAS,oCAAoC;kBACnF,IAAI,4BAA4B,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CACpE,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,4BAA4B,EAAE,QAAQ,CAAC,CAAC;IACjF,CAAC;IAEO,gBAAgB,CACtB,QAAgB,EAChB,4BAA0D,EAC1D,QAAiB;QAEjB,KAAK,MAAM,QAAQ,IAAI,uBAAa,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9D,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,4BAA4B,CAAC,CAAC;YACnF,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;QAC5B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAhDD,oCAgDC"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { CircularDependenciesDetector } from './CircularDependenciesDetector';
|
|
2
|
-
interface PropertyRetrieverDelegate {
|
|
3
|
-
retrieve: (property: string, receiver?: unknown, circularDependenciesDetector?: CircularDependenciesDetector) => unknown | undefined;
|
|
4
|
-
}
|
|
5
|
-
export default PropertyRetrieverDelegate;
|
|
6
|
-
//# sourceMappingURL=PropertyRetrieverDelegate.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PropertyRetrieverDelegate.js","sourceRoot":"","sources":["../../../src/graph/PropertyRetrieverDelegate.ts"],"names":[],"mappings":""}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import graphRegistry from './registry/GraphRegistry';
|
|
2
|
-
import { Graph } from './Graph';
|
|
3
|
-
import providedPropertiesStore from '../ProvidedPropertiesStore';
|
|
4
|
-
import { CircularDependenciesDetector } from './CircularDependenciesDetector';
|
|
5
|
-
import { Reflect } from '../utils/reflect';
|
|
6
|
-
|
|
7
|
-
export default class PropertyRetriever {
|
|
8
|
-
constructor (private graph: Graph) { }
|
|
9
|
-
|
|
10
|
-
retrieve(
|
|
11
|
-
property: string,
|
|
12
|
-
receiver?: unknown,
|
|
13
|
-
maybeDetector?: CircularDependenciesDetector,
|
|
14
|
-
): unknown | undefined {
|
|
15
|
-
const mangledPropertyKey = providedPropertiesStore.getMangledProperty(this.graph, property);
|
|
16
|
-
const circularDependenciesDetector = maybeDetector ?? new CircularDependenciesDetector(this.graph.name);
|
|
17
|
-
|
|
18
|
-
if (
|
|
19
|
-
mangledPropertyKey
|
|
20
|
-
&& mangledPropertyKey in this.graph
|
|
21
|
-
&& circularDependenciesDetector.visit(this.graph.name, property)
|
|
22
|
-
) {
|
|
23
|
-
const proxiedGraph = new Proxy(this.graph, {
|
|
24
|
-
get(graph: Graph, dependencyName: string) {
|
|
25
|
-
return graph.retrieve(dependencyName, receiver, circularDependenciesDetector);
|
|
26
|
-
},
|
|
27
|
-
});
|
|
28
|
-
const resolved = Reflect.get(this.graph, mangledPropertyKey, receiver)(proxiedGraph);
|
|
29
|
-
circularDependenciesDetector.clear();
|
|
30
|
-
return resolved;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
if (circularDependenciesDetector.hasCircularDependencies()) {
|
|
34
|
-
throw new Error(
|
|
35
|
-
`Could not resolve ${circularDependenciesDetector.firstDependencyName}`
|
|
36
|
-
+ ` from ${circularDependenciesDetector.graphName} because of a circular dependency:`
|
|
37
|
-
+ ` ${circularDependenciesDetector.getDependencies().join(' -> ')}`,
|
|
38
|
-
);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
return this.getFromSubgraphs(property, circularDependenciesDetector, receiver);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
private getFromSubgraphs(
|
|
45
|
-
property: string,
|
|
46
|
-
circularDependenciesDetector: CircularDependenciesDetector,
|
|
47
|
-
receiver: unknown,
|
|
48
|
-
): unknown | undefined {
|
|
49
|
-
for (const subgraph of graphRegistry.getSubgraphs(this.graph)) {
|
|
50
|
-
const result = subgraph.retrieve(property, receiver, circularDependenciesDetector);
|
|
51
|
-
if (result) return result;
|
|
52
|
-
}
|
|
53
|
-
return undefined;
|
|
54
|
-
}
|
|
55
|
-
}
|
/package/dist/src/graph/{PropertyRetrieverDelegate.js → properties/PropertyRetrieverDelegate.js}
RENAMED
|
File without changes
|