react-obsidian 0.0.8 → 0.0.12
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/GraphProperties.d.ts +1 -0
- package/dist/src/GraphProperties.d.ts.map +1 -1
- package/dist/src/GraphProperties.js +3 -0
- package/dist/src/GraphProperties.js.map +1 -1
- package/dist/src/ProvidedPropertiesStore.d.ts +1 -0
- package/dist/src/ProvidedPropertiesStore.d.ts.map +1 -1
- package/dist/src/ProvidedPropertiesStore.js +4 -0
- package/dist/src/ProvidedPropertiesStore.js.map +1 -1
- package/dist/src/decorators/provides/MemoizeDescriptor.d.ts +2 -0
- package/dist/src/decorators/provides/MemoizeDescriptor.d.ts.map +1 -0
- package/dist/src/decorators/provides/MemoizeDescriptor.js +23 -0
- package/dist/src/decorators/provides/MemoizeDescriptor.js.map +1 -0
- package/dist/src/decorators/provides/Provides.js +2 -2
- package/dist/src/decorators/provides/Provides.js.map +1 -1
- package/dist/src/graph/ObjectGraph.d.ts +2 -2
- package/dist/src/graph/ObjectGraph.d.ts.map +1 -1
- package/dist/src/graph/ObjectGraph.js +4 -3
- package/dist/src/graph/ObjectGraph.js.map +1 -1
- package/dist/src/graph/ProviderBinder.d.ts +3 -0
- package/dist/src/graph/ProviderBinder.d.ts.map +1 -0
- package/dist/src/graph/ProviderBinder.js +18 -0
- package/dist/src/graph/ProviderBinder.js.map +1 -0
- package/dist/src/graph/registry/DefaultGraphResolver.d.ts +3 -2
- package/dist/src/graph/registry/DefaultGraphResolver.d.ts.map +1 -1
- package/dist/src/graph/registry/DefaultGraphResolver.js.map +1 -1
- package/dist/src/graph/registry/GraphMiddleware.d.ts +2 -1
- package/dist/src/graph/registry/GraphMiddleware.d.ts.map +1 -1
- package/dist/src/graph/registry/GraphMiddleware.js.map +1 -1
- package/dist/src/graph/registry/GraphResolveChain.d.ts +4 -0
- package/dist/src/graph/registry/GraphResolveChain.d.ts.map +1 -0
- package/dist/src/graph/registry/GraphResolveChain.js +3 -0
- package/dist/src/graph/registry/GraphResolveChain.js.map +1 -0
- package/dist/src/graph/registry/Middleware.d.ts +5 -6
- package/dist/src/graph/registry/Middleware.d.ts.map +1 -1
- package/dist/src/graph/registry/Middleware.js.map +1 -1
- package/dist/src/graph/registry/ResolveChain.d.ts +5 -0
- package/dist/src/graph/registry/ResolveChain.d.ts.map +1 -0
- package/dist/src/graph/registry/ResolveChain.js +3 -0
- package/dist/src/graph/registry/ResolveChain.js.map +1 -0
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/test/integration/fixtures/Subgraph.d.ts +1 -0
- package/dist/test/integration/fixtures/Subgraph.d.ts.map +1 -1
- package/dist/test/integration/fixtures/Subgraph.js +11 -1
- package/dist/test/integration/fixtures/Subgraph.js.map +1 -1
- package/dist/testkit/index.d.ts.map +1 -1
- package/dist/testkit/index.js.map +1 -1
- package/package.json +1 -1
- package/src/GraphProperties.ts +4 -0
- package/src/ProvidedPropertiesStore.ts +4 -0
- package/src/decorators/provides/MemoizeDescriptor.ts +14 -0
- package/src/decorators/provides/Provides.ts +2 -2
- package/src/graph/ObjectGraph.ts +4 -2
- package/src/graph/ProviderBinder.ts +12 -0
- package/src/graph/registry/DefaultGraphResolver.ts +3 -2
- package/src/graph/registry/GraphMiddleware.ts +2 -1
- package/src/graph/registry/GraphResolveChain.ts +4 -0
- package/src/graph/registry/Middleware.ts +6 -8
- package/src/graph/registry/ResolveChain.ts +5 -0
- package/src/index.ts +1 -1
- package/testkit/index.ts +2 -2
- package/dist/src/decorators/provides/PropertyDescriptorToSingleton.d.ts +0 -2
- package/dist/src/decorators/provides/PropertyDescriptorToSingleton.d.ts.map +0 -1
- package/dist/src/decorators/provides/PropertyDescriptorToSingleton.js +0 -20
- package/dist/src/decorators/provides/PropertyDescriptorToSingleton.js.map +0 -1
- package/src/decorators/provides/PropertyDescriptorToSingleton.ts +0 -11
|
@@ -2,5 +2,6 @@ export default class GraphProperties {
|
|
|
2
2
|
private unmangledToMangledPropKeys;
|
|
3
3
|
add(mangledPropertyKey: string, unmangledPropertyKey: string): void;
|
|
4
4
|
getMangledProperty(unmangledProperty: string): string | undefined;
|
|
5
|
+
getMangledProperties(): string[];
|
|
5
6
|
}
|
|
6
7
|
//# sourceMappingURL=GraphProperties.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphProperties.d.ts","sourceRoot":"","sources":["../../src/GraphProperties.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,eAAe;IAClC,OAAO,CAAC,0BAA0B,CAA6B;IAE/D,GAAG,CAAC,kBAAkB,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM;IAI5D,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;
|
|
1
|
+
{"version":3,"file":"GraphProperties.d.ts","sourceRoot":"","sources":["../../src/GraphProperties.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,eAAe;IAClC,OAAO,CAAC,0BAA0B,CAA6B;IAE/D,GAAG,CAAC,kBAAkB,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM;IAI5D,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIjE,oBAAoB,IAAI,MAAM,EAAE;CAGjC"}
|
|
@@ -10,6 +10,9 @@ var GraphProperties = /** @class */ (function () {
|
|
|
10
10
|
GraphProperties.prototype.getMangledProperty = function (unmangledProperty) {
|
|
11
11
|
return this.unmangledToMangledPropKeys.get(unmangledProperty);
|
|
12
12
|
};
|
|
13
|
+
GraphProperties.prototype.getMangledProperties = function () {
|
|
14
|
+
return Array.from(this.unmangledToMangledPropKeys.values());
|
|
15
|
+
};
|
|
13
16
|
return GraphProperties;
|
|
14
17
|
}());
|
|
15
18
|
exports.default = GraphProperties;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphProperties.js","sourceRoot":"","sources":["../../src/GraphProperties.ts"],"names":[],"mappings":";;AAAA;IAAA;QACU,+BAA0B,GAAG,IAAI,GAAG,EAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"GraphProperties.js","sourceRoot":"","sources":["../../src/GraphProperties.ts"],"names":[],"mappings":";;AAAA;IAAA;QACU,+BAA0B,GAAG,IAAI,GAAG,EAAkB,CAAC;IAajE,CAAC;IAXC,6BAAG,GAAH,UAAI,kBAA0B,EAAE,oBAA4B;QAC1D,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;IAChF,CAAC;IAED,4CAAkB,GAAlB,UAAmB,iBAAyB;QAC1C,OAAO,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAChE,CAAC;IAED,8CAAoB,GAApB;QACE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC;IACH,sBAAC;AAAD,CAAC,AAdD,IAcC"}
|
|
@@ -3,6 +3,7 @@ declare class ProvidedPropertiesStore {
|
|
|
3
3
|
private readonly providedPropertiesForGraph;
|
|
4
4
|
getMangledProperty(graph: Graph, unmangledProp: string): string | undefined;
|
|
5
5
|
set(graph: Graph, mangledProperty: string, unmangledProperty: string): void;
|
|
6
|
+
getMangledProperties(graph: Graph): string[];
|
|
6
7
|
clear(graph: Graph): void;
|
|
7
8
|
}
|
|
8
9
|
declare const _default: ProvidedPropertiesStore;
|
|
@@ -1 +1 @@
|
|
|
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
|
+
{"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,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE;IAI5C,KAAK,CAAC,KAAK,EAAE,KAAK;CAGnB;;AAED,wBAA6C"}
|
|
@@ -18,6 +18,10 @@ var ProvidedPropertiesStore = /** @class */ (function () {
|
|
|
18
18
|
graphProperties.add(mangledProperty, unmangledProperty);
|
|
19
19
|
this.providedPropertiesForGraph.set(graph.name, graphProperties);
|
|
20
20
|
};
|
|
21
|
+
ProvidedPropertiesStore.prototype.getMangledProperties = function (graph) {
|
|
22
|
+
var _a, _b;
|
|
23
|
+
return (_b = (_a = this.providedPropertiesForGraph.get(graph.name)) === null || _a === void 0 ? void 0 : _a.getMangledProperties()) !== null && _b !== void 0 ? _b : [];
|
|
24
|
+
};
|
|
21
25
|
ProvidedPropertiesStore.prototype.clear = function (graph) {
|
|
22
26
|
this.providedPropertiesForGraph.delete(graph.name);
|
|
23
27
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProvidedPropertiesStore.js","sourceRoot":"","sources":["../../src/ProvidedPropertiesStore.ts"],"names":[],"mappings":";;;;;AAAA,sEAAgD;AAGhD;IAAA;QACmB,+BAA0B,GAAiC,IAAI,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"ProvidedPropertiesStore.js","sourceRoot":"","sources":["../../src/ProvidedPropertiesStore.ts"],"names":[],"mappings":";;;;;AAAA,sEAAgD;AAGhD;IAAA;QACmB,+BAA0B,GAAiC,IAAI,GAAG,EAAE,CAAC;IAmBxF,CAAC;IAjBC,oDAAkB,GAAlB,UAAmB,KAAY,EAAE,aAAqB;;QACpD,OAAO,MAAA,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0CAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAC5F,CAAC;IAED,qCAAG,GAAH,UAAI,KAAY,EAAE,eAAuB,EAAE,iBAAyB;;QAClE,IAAM,eAAe,GAAG,MAAA,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAI,IAAI,yBAAe,EAAE,CAAC;QACjG,eAAe,CAAC,GAAG,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;QACxD,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACnE,CAAC;IAED,sDAAoB,GAApB,UAAqB,KAAY;;QAC/B,OAAO,MAAA,MAAA,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0CAAE,oBAAoB,EAAE,mCAAI,EAAE,CAAC;IACvF,CAAC;IAED,uCAAK,GAAL,UAAM,KAAY;QAChB,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IACH,8BAAC;AAAD,CAAC,AApBD,IAoBC;AAED,kBAAe,IAAI,uBAAuB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemoizeDescriptor.d.ts","sourceRoot":"","sources":["../../../../src/decorators/provides/MemoizeDescriptor.ts"],"names":[],"mappings":"AACA,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,kBAAkB,CAYzG"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.memoizeDescriptor = void 0;
|
|
4
|
+
/* eslint-disable no-param-reassign */
|
|
5
|
+
function memoizeDescriptor(propertyKey, descriptor) {
|
|
6
|
+
var originalValue = descriptor.value;
|
|
7
|
+
descriptor.value = function value() {
|
|
8
|
+
var args = [];
|
|
9
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
10
|
+
args[_i] = arguments[_i];
|
|
11
|
+
}
|
|
12
|
+
var key = "memoized".concat(propertyKey);
|
|
13
|
+
if (Reflect.hasMetadata(key, this)) {
|
|
14
|
+
return Reflect.getMetadata(key, this);
|
|
15
|
+
}
|
|
16
|
+
var result = originalValue.apply(this, args);
|
|
17
|
+
Reflect.defineMetadata(key, result, this);
|
|
18
|
+
return result;
|
|
19
|
+
};
|
|
20
|
+
return descriptor;
|
|
21
|
+
}
|
|
22
|
+
exports.memoizeDescriptor = memoizeDescriptor;
|
|
23
|
+
//# sourceMappingURL=MemoizeDescriptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemoizeDescriptor.js","sourceRoot":"","sources":["../../../../src/decorators/provides/MemoizeDescriptor.ts"],"names":[],"mappings":";;;AAAA,sCAAsC;AACtC,SAAgB,iBAAiB,CAAC,WAAmB,EAAE,UAA8B;IACnF,IAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC;IACvC,UAAU,CAAC,KAAK,GAAG,SAAS,KAAK;QAAC,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QAC9C,IAAM,GAAG,GAAG,kBAAW,WAAW,CAAE,CAAC;QACrC,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;YAClC,OAAO,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;SACvC;QACD,IAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/C,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC1C,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IACF,OAAO,UAAU,CAAC;AACpB,CAAC;AAZD,8CAYC"}
|
|
@@ -5,12 +5,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.Provides = void 0;
|
|
7
7
|
var ProvidedPropertiesStore_1 = __importDefault(require("../../ProvidedPropertiesStore"));
|
|
8
|
-
var
|
|
8
|
+
var MemoizeDescriptor_1 = require("./MemoizeDescriptor");
|
|
9
9
|
function Provides(_a) {
|
|
10
10
|
var _b = _a === void 0 ? {} : _a, name = _b.name;
|
|
11
11
|
return function provide(graph, propertyKey, descriptor) {
|
|
12
12
|
ProvidedPropertiesStore_1.default.set(graph, propertyKey, name);
|
|
13
|
-
return (0,
|
|
13
|
+
return (0, MemoizeDescriptor_1.memoizeDescriptor)(propertyKey, descriptor);
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
16
|
exports.Provides = Provides;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provides.js","sourceRoot":"","sources":["../../../../src/decorators/provides/Provides.ts"],"names":[],"mappings":";;;;;;AAEA,0FAAoE;AACpE,
|
|
1
|
+
{"version":3,"file":"Provides.js","sourceRoot":"","sources":["../../../../src/decorators/provides/Provides.ts"],"names":[],"mappings":";;;;;;AAEA,0FAAoE;AACpE,yDAAwD;AAOxD,SAAgB,QAAQ,CAAC,EAAsC;QAAtC,qBAAoC,EAAE,KAAA,EAApC,IAAI,UAAA;IAC7B,OAAO,SAAS,OAAO,CAAC,KAAY,EAAE,WAAmB,EAAE,UAA8B;QACvF,iCAAuB,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,IAAK,CAAC,CAAC;QACvD,OAAO,IAAA,qCAAiB,EAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC,CAAC;AACJ,CAAC;AALD,4BAKC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Scope } from '../types';
|
|
2
2
|
import { Graph } from './Graph';
|
|
3
3
|
export declare abstract class ObjectGraph<T = unknown> implements Graph {
|
|
4
|
-
protected
|
|
4
|
+
protected _props?: T | undefined;
|
|
5
5
|
scope: Scope;
|
|
6
6
|
private propertyRetriever;
|
|
7
7
|
get name(): string;
|
|
8
|
-
constructor(
|
|
8
|
+
constructor(_props?: T | undefined);
|
|
9
9
|
retrieve<Dependency>(property: string, receiver?: unknown): Dependency | undefined;
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=ObjectGraph.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectGraph.d.ts","sourceRoot":"","sources":["../../../src/graph/ObjectGraph.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ObjectGraph.d.ts","sourceRoot":"","sources":["../../../src/graph/ObjectGraph.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,8BAAsB,WAAW,CAAC,CAAC,GAAG,OAAO,CAAE,YAAW,KAAK;IAUjD,SAAS,CAAC,MAAM,CAAC;IARtB,KAAK,EAAG,KAAK,CAAC;IACrB,OAAO,CAAC,iBAAiB,CAA+B;IAExD,IACI,IAAI,IAAI,MAAM,CAEjB;gBAEqB,MAAM,CAAC,eAAG;IAIhC,QAAQ,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS;CAGnF"}
|
|
@@ -15,12 +15,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.ObjectGraph = void 0;
|
|
16
16
|
var lodash_1 = require("lodash");
|
|
17
17
|
var Memoize_1 = __importDefault(require("../decorators/Memoize"));
|
|
18
|
+
var ProviderBinder_1 = require("./ProviderBinder");
|
|
18
19
|
var PropertyRetriever_1 = __importDefault(require("./PropertyRetriever"));
|
|
19
20
|
var ObjectGraph = /** @class */ (function () {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
this.props = props;
|
|
21
|
+
function ObjectGraph(_props) {
|
|
22
|
+
this._props = _props;
|
|
23
23
|
this.propertyRetriever = new PropertyRetriever_1.default(this);
|
|
24
|
+
(0, ProviderBinder_1.bindProviders)(this);
|
|
24
25
|
}
|
|
25
26
|
Object.defineProperty(ObjectGraph.prototype, "name", {
|
|
26
27
|
get: function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectGraph.js","sourceRoot":"","sources":["../../../src/graph/ObjectGraph.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,iCAAkC;AAClC,kEAA4C;
|
|
1
|
+
{"version":3,"file":"ObjectGraph.js","sourceRoot":"","sources":["../../../src/graph/ObjectGraph.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,iCAAkC;AAClC,kEAA4C;AAE5C,mDAAiD;AAEjD,0EAAoD;AAEpD;IAUE,qBAAsB,MAAU;QAAV,WAAM,GAAN,MAAM,CAAI;QAPxB,sBAAiB,GAAG,IAAI,2BAAiB,CAAC,IAAI,CAAC,CAAC;QAQtD,IAAA,8BAAa,EAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAND,sBAAI,6BAAI;aAAR;YACE,OAAO,IAAA,iBAAQ,EAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;;;OAAA;IAMD,8BAAQ,GAAR,UAAqB,QAAgB,EAAE,QAAkB;QACvD,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAA2B,CAAC;IACvF,CAAC;IAVD;QADC,IAAA,iBAAO,GAAE;;;2CAGT;IASH,kBAAC;CAAA,AAjBD,IAiBC;AAjBqB,kCAAW"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProviderBinder.d.ts","sourceRoot":"","sources":["../../../src/graph/ProviderBinder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAO/D"}
|
|
@@ -0,0 +1,18 @@
|
|
|
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.bindProviders = void 0;
|
|
7
|
+
/* eslint-disable no-param-reassign */
|
|
8
|
+
var ProvidedPropertiesStore_1 = __importDefault(require("../ProvidedPropertiesStore"));
|
|
9
|
+
function bindProviders(graph) {
|
|
10
|
+
ProvidedPropertiesStore_1.default.getMangledProperties(graph)
|
|
11
|
+
.forEach(function (method) {
|
|
12
|
+
if (graph[method] !== undefined) {
|
|
13
|
+
graph[method] = graph[method].bind(graph);
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
exports.bindProviders = bindProviders;
|
|
18
|
+
//# sourceMappingURL=ProviderBinder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProviderBinder.js","sourceRoot":"","sources":["../../../src/graph/ProviderBinder.ts"],"names":[],"mappings":";;;;;;AAAA,sCAAsC;AACtC,uFAAiE;AAGjE,SAAgB,aAAa,CAAC,KAAkC;IAC9D,iCAAuB,CAAC,oBAAoB,CAAC,KAAK,CAAC;SAChD,OAAO,CAAC,UAAC,MAAM;QACd,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE;YAC/B,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC3C;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAPD,sCAOC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Constructable } from '../../types';
|
|
2
2
|
import { Graph } from '../Graph';
|
|
3
|
-
import { Middleware
|
|
3
|
+
import { Middleware } from './Middleware';
|
|
4
|
+
import { ResolveChain } from './ResolveChain';
|
|
4
5
|
export default class DefaultGraphMiddleware<T extends Graph> extends Middleware<T> {
|
|
5
|
-
resolve
|
|
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,aAAa,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultGraphResolver.js","sourceRoot":"","sources":["../../../../src/graph/registry/DefaultGraphResolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,
|
|
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,5 +1,6 @@
|
|
|
1
1
|
import { ObjectGraph } from '../ObjectGraph';
|
|
2
|
+
import { GraphResolveChain } from './GraphResolveChain';
|
|
2
3
|
import { Middleware } from './Middleware';
|
|
3
|
-
export declare abstract class GraphMiddleware extends Middleware<ObjectGraph> {
|
|
4
|
+
export declare abstract class GraphMiddleware extends Middleware<ObjectGraph, GraphResolveChain> {
|
|
4
5
|
}
|
|
5
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,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,8BAAsB,eAAgB,SAAQ,UAAU,CAAC,WAAW,CAAC;CAAI"}
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphMiddleware.js","sourceRoot":"","sources":["../../../../src/graph/registry/GraphMiddleware.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;
|
|
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"}
|
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"GraphResolveChain.js","sourceRoot":"","sources":["../../../../src/graph/registry/GraphResolveChain.ts"],"names":[],"mappings":""}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { Constructable } from '../../types';
|
|
2
|
-
|
|
2
|
+
import { Graph } from '../Graph';
|
|
3
|
+
import { ResolveChain } from './ResolveChain';
|
|
4
|
+
export declare abstract class Middleware<T = Graph, RC = ResolveChain<T>> {
|
|
3
5
|
private next;
|
|
4
|
-
setNext(next: Middleware<T
|
|
6
|
+
setNext(next: Middleware<T, ResolveChain<T>>): void;
|
|
5
7
|
get resolveChain(): ResolveChain<T>;
|
|
6
|
-
abstract resolve<Props>(resolveChain:
|
|
7
|
-
}
|
|
8
|
-
export interface ResolveChain<T> {
|
|
9
|
-
proceed<Props>(Graph: Constructable<T>, props?: Props): T;
|
|
8
|
+
abstract resolve<Props = any>(resolveChain: RC, Graph: Constructable<T>, props?: Props): T;
|
|
10
9
|
}
|
|
11
10
|
//# sourceMappingURL=Middleware.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Middleware.d.ts","sourceRoot":"","sources":["../../../../src/graph/registry/Middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"Middleware.d.ts","sourceRoot":"","sources":["../../../../src/graph/registry/Middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,8BAAsB,UAAU,CAAC,CAAC,GAAG,KAAK,EAAE,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;IAC9D,OAAO,CAAC,IAAI,CAAkC;IAEvC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAInD,IAAW,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC,CAMzC;IAED,QAAQ,CAAC,OAAO,CAAC,KAAK,GAAG,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,CAAC;CAC3F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Middleware.js","sourceRoot":"","sources":["../../../../src/graph/registry/Middleware.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Middleware.js","sourceRoot":"","sources":["../../../../src/graph/registry/Middleware.ts"],"names":[],"mappings":";;;AAIA;IAAA;IAgBA,CAAC;IAbQ,4BAAO,GAAd,UAAe,IAAoC;QACjD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,sBAAW,oCAAY;aAAvB;YAAA,iBAMC;YALC,OAAO;gBACL,OAAO,EAAE,UAAQ,KAAuB,EAAE,KAAa;oBACrD,OAAO,KAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBACjE,CAAC;aACF,CAAC;QACJ,CAAC;;;OAAA;IAGH,iBAAC;AAAD,CAAC,AAhBD,IAgBC;AAhBqB,gCAAU"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResolveChain.d.ts","sourceRoot":"","sources":["../../../../src/graph/registry/ResolveChain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,OAAO,CAAC,KAAK,GAAG,GAAG,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;CACjE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResolveChain.js","sourceRoot":"","sources":["../../../../src/graph/registry/ResolveChain.ts"],"names":[],"mappings":""}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export { Provides } from './decorators/provides/Provides';
|
|
|
10
10
|
export { Injectable } from './decorators/injectClass';
|
|
11
11
|
export { Inject } from './decorators/injectClass';
|
|
12
12
|
export { GraphMiddleware } from './graph/registry/GraphMiddleware';
|
|
13
|
-
export { ResolveChain } from './graph/registry/
|
|
13
|
+
export { GraphResolveChain as ResolveChain } from './graph/registry/GraphResolveChain';
|
|
14
14
|
export declare const Obsidian: _Obsidian;
|
|
15
15
|
export declare const injectComponent: <P>(Target: React.FunctionComponent<P>, Graph: Constructable<_ObjectGraph>) => React.FunctionComponent<Partial<P>>;
|
|
16
16
|
export declare const injectHook: <Args, Result>(hook: (args: Args) => Result, Graph: Constructable<_ObjectGraph>) => (args?: Partial<Args> | undefined) => Result;
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,iBAAiB,IAAI,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvF,eAAO,MAAM,QAAQ,WAAkB,CAAC;AAGxC,eAAO,MAAM,eAAe,iDAEnB,cAAc,YAAY,CAAC,wCACQ,CAAC;AAG7C,eAAO,MAAM,UAAU,sDAEd,cAAc,YAAY,CAAC,iDACC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Subgraph.d.ts","sourceRoot":"","sources":["../../../../test/integration/fixtures/Subgraph.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Subgraph.d.ts","sourceRoot":"","sources":["../../../../test/integration/fixtures/Subgraph.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,WAAW,EAAY,MAAM,cAAc,CAAC;AAE5D,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAG9C,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAE/C,cAAc,IAAI,cAAc;IAKhC,kBAAkB,IAAI,MAAM;IAK5B,gBAAgB,IAAI,MAAM;IAK1B,UAAU,IAAI,MAAM;CAGrB"}
|
|
@@ -27,6 +27,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
28
28
|
};
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
+
var lodash_1 = require("lodash");
|
|
30
31
|
var src_1 = require("../../../src");
|
|
31
32
|
var injectedValues_1 = __importDefault(require("./injectedValues"));
|
|
32
33
|
var StringProvider_1 = __importDefault(require("./StringProvider"));
|
|
@@ -42,7 +43,10 @@ var Subgraph = /** @class */ (function (_super) {
|
|
|
42
43
|
return injectedValues_1.default.fromSubgraph;
|
|
43
44
|
};
|
|
44
45
|
Subgraph.prototype.unusedDependency = function () {
|
|
45
|
-
throw Error('This dependency should not have been resolved since it not required by anyone.');
|
|
46
|
+
throw Error('This dependency should not have been resolved since it is not required by anyone.');
|
|
47
|
+
};
|
|
48
|
+
Subgraph.prototype.instanceId = function () {
|
|
49
|
+
return (0, lodash_1.uniqueId)('graph');
|
|
46
50
|
};
|
|
47
51
|
__decorate([
|
|
48
52
|
(0, src_1.Provides)(),
|
|
@@ -62,6 +66,12 @@ var Subgraph = /** @class */ (function (_super) {
|
|
|
62
66
|
__metadata("design:paramtypes", []),
|
|
63
67
|
__metadata("design:returntype", String)
|
|
64
68
|
], Subgraph.prototype, "unusedDependency", null);
|
|
69
|
+
__decorate([
|
|
70
|
+
(0, src_1.Provides)(),
|
|
71
|
+
__metadata("design:type", Function),
|
|
72
|
+
__metadata("design:paramtypes", []),
|
|
73
|
+
__metadata("design:returntype", String)
|
|
74
|
+
], Subgraph.prototype, "instanceId", null);
|
|
65
75
|
Subgraph = __decorate([
|
|
66
76
|
(0, src_1.Graph)()
|
|
67
77
|
], Subgraph);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Subgraph.js","sourceRoot":"","sources":["../../../../test/integration/fixtures/Subgraph.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oCAA4D;AAC5D,oEAA8C;AAC9C,oEAA8C;AAG9C;IAAsC,4BAAW;IAAjD;;
|
|
1
|
+
{"version":3,"file":"Subgraph.js","sourceRoot":"","sources":["../../../../test/integration/fixtures/Subgraph.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAkC;AAClC,oCAA4D;AAC5D,oEAA8C;AAC9C,oEAA8C;AAG9C;IAAsC,4BAAW;IAAjD;;IAoBA,CAAC;IAlBC,iCAAc,GAAd;QACE,OAAO,IAAI,wBAAc,EAAE,CAAC;IAC9B,CAAC;IAGD,qCAAkB,GAAlB;QACE,OAAO,wBAAc,CAAC,YAAY,CAAC;IACrC,CAAC;IAGD,mCAAgB,GAAhB;QACE,MAAM,KAAK,CAAC,mFAAmF,CAAC,CAAC;IACnG,CAAC;IAGD,6BAAU,GAAV;QACE,OAAO,IAAA,iBAAQ,EAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAjBD;QADC,IAAA,cAAQ,GAAE;;;wCACO,wBAAc;kDAE/B;IAGD;QADC,IAAA,cAAQ,GAAE;;;;sDAGV;IAGD;QADC,IAAA,cAAQ,GAAE;;;;oDAGV;IAGD;QADC,IAAA,cAAQ,GAAE;;;;8CAGV;IAnBkB,QAAQ;QAD5B,IAAA,WAAK,GAAE;OACa,QAAQ,CAoB5B;IAAD,eAAC;CAAA,AApBD,CAAsC,iBAAW,GAoBhD;kBApBoB,QAAQ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../testkit/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../testkit/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,aAAa,EAGd,MAAM,QAAQ,CAAC;AAMhB,cAAM,KAAK;IACT,UAAU,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;CAYxE;;AAED,wBAA2B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../testkit/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../testkit/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,8BAKgB;AAEhB,UAAU,CAAC;IACT,cAAQ,CAAC,qBAAqB,EAAE,CAAC;AACnC,CAAC,CAAC,CAAC;AAEH;IAAA;IAaA,CAAC;IAZC,0BAAU,GAAV,UAAW,gBAA4D;QACrE,IAAM,eAAe,GAAG;YAAkB,2BAAe;YAA7B;;YAQ5B,CAAC;YAPC,yBAAO,GAAP,UAAe,YAA+B,EAAE,KAAiC,EAAE,KAAa;gBAC9F,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;oBAChC,IAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC9C,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;iBAC5B;gBACD,OAAO,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC5C,CAAC;YACH,cAAC;QAAD,CAAC,AAR2B,CAAc,qBAAe,IAQtD,CAAC;QACJ,cAAQ,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAC/C,CAAC;IACH,YAAC;AAAD,CAAC,AAbD,IAaC;AAED,kBAAe,IAAI,KAAK,EAAE,CAAC"}
|
package/package.json
CHANGED
package/src/GraphProperties.ts
CHANGED
|
@@ -8,4 +8,8 @@ export default class GraphProperties {
|
|
|
8
8
|
getMangledProperty(unmangledProperty: string): string | undefined {
|
|
9
9
|
return this.unmangledToMangledPropKeys.get(unmangledProperty);
|
|
10
10
|
}
|
|
11
|
+
|
|
12
|
+
getMangledProperties(): string[] {
|
|
13
|
+
return Array.from(this.unmangledToMangledPropKeys.values());
|
|
14
|
+
}
|
|
11
15
|
}
|
|
@@ -14,6 +14,10 @@ class ProvidedPropertiesStore {
|
|
|
14
14
|
this.providedPropertiesForGraph.set(graph.name, graphProperties);
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
+
getMangledProperties(graph: Graph): string[] {
|
|
18
|
+
return this.providedPropertiesForGraph.get(graph.name)?.getMangledProperties() ?? [];
|
|
19
|
+
}
|
|
20
|
+
|
|
17
21
|
clear(graph: Graph) {
|
|
18
22
|
this.providedPropertiesForGraph.delete(graph.name);
|
|
19
23
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* eslint-disable no-param-reassign */
|
|
2
|
+
export function memoizeDescriptor(propertyKey: string, descriptor: PropertyDescriptor): PropertyDescriptor {
|
|
3
|
+
const originalValue = descriptor.value;
|
|
4
|
+
descriptor.value = function value(...args: any[]) {
|
|
5
|
+
const key = `memoized${propertyKey}`;
|
|
6
|
+
if (Reflect.hasMetadata(key, this)) {
|
|
7
|
+
return Reflect.getMetadata(key, this);
|
|
8
|
+
}
|
|
9
|
+
const result = originalValue.apply(this, args);
|
|
10
|
+
Reflect.defineMetadata(key, result, this);
|
|
11
|
+
return result;
|
|
12
|
+
};
|
|
13
|
+
return descriptor;
|
|
14
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Scope } from '../../types';
|
|
2
2
|
import { Graph } from '../../graph/Graph';
|
|
3
3
|
import providedPropertiesStore from '../../ProvidedPropertiesStore';
|
|
4
|
-
import
|
|
4
|
+
import { memoizeDescriptor } from './MemoizeDescriptor';
|
|
5
5
|
|
|
6
6
|
interface ProvidesParams {
|
|
7
7
|
scope?: Scope;
|
|
@@ -11,6 +11,6 @@ interface ProvidesParams {
|
|
|
11
11
|
export function Provides({ name }: Partial<ProvidesParams> = {}) {
|
|
12
12
|
return function provide(graph: Graph, propertyKey: string, descriptor: PropertyDescriptor) {
|
|
13
13
|
providedPropertiesStore.set(graph, propertyKey, name!);
|
|
14
|
-
return
|
|
14
|
+
return memoizeDescriptor(propertyKey, descriptor);
|
|
15
15
|
};
|
|
16
16
|
}
|
package/src/graph/ObjectGraph.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { uniqueId } from 'lodash';
|
|
2
2
|
import Memoize from '../decorators/Memoize';
|
|
3
3
|
import { Scope } from '../types';
|
|
4
|
+
import { bindProviders } from './ProviderBinder';
|
|
4
5
|
import { Graph } from './Graph';
|
|
5
6
|
import PropertyRetriever from './PropertyRetriever';
|
|
6
7
|
|
|
@@ -14,8 +15,9 @@ export abstract class ObjectGraph<T = unknown> implements Graph {
|
|
|
14
15
|
return uniqueId(this.constructor.name);
|
|
15
16
|
}
|
|
16
17
|
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
constructor(protected _props?: T) {
|
|
19
|
+
bindProviders(this);
|
|
20
|
+
}
|
|
19
21
|
|
|
20
22
|
retrieve<Dependency>(property: string, receiver?: unknown): Dependency | undefined {
|
|
21
23
|
return this.propertyRetriever.retrieve(property, receiver) as Dependency | undefined;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/* eslint-disable no-param-reassign */
|
|
2
|
+
import providedPropertiesStore from '../ProvidedPropertiesStore';
|
|
3
|
+
import { Graph } from './Graph';
|
|
4
|
+
|
|
5
|
+
export function bindProviders(graph: Graph & Record<string, any>) {
|
|
6
|
+
providedPropertiesStore.getMangledProperties(graph)
|
|
7
|
+
.forEach((method) => {
|
|
8
|
+
if (graph[method] !== undefined) {
|
|
9
|
+
graph[method] = graph[method].bind(graph);
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Constructable } from '../../types';
|
|
2
2
|
import { Graph } from '../Graph';
|
|
3
|
-
import { Middleware
|
|
3
|
+
import { Middleware } from './Middleware';
|
|
4
|
+
import { ResolveChain } from './ResolveChain';
|
|
4
5
|
|
|
5
6
|
export default class DefaultGraphMiddleware<T extends Graph> extends Middleware<T> {
|
|
6
|
-
resolve
|
|
7
|
+
resolve(_resolveChain: ResolveChain<T>, Graph: Constructable<T>, props?: any): T {
|
|
7
8
|
return new Graph(props);
|
|
8
9
|
}
|
|
9
10
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ObjectGraph } from '../ObjectGraph';
|
|
2
|
+
import { GraphResolveChain } from './GraphResolveChain';
|
|
2
3
|
import { Middleware } from './Middleware';
|
|
3
4
|
|
|
4
|
-
export abstract class GraphMiddleware extends Middleware<ObjectGraph> { }
|
|
5
|
+
export abstract class GraphMiddleware extends Middleware<ObjectGraph, GraphResolveChain> { }
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { Constructable } from '../../types';
|
|
2
|
+
import { Graph } from '../Graph';
|
|
3
|
+
import { ResolveChain } from './ResolveChain';
|
|
2
4
|
|
|
3
|
-
export abstract class Middleware<T
|
|
4
|
-
private next!: Middleware<T
|
|
5
|
+
export abstract class Middleware<T = Graph, RC = ResolveChain<T>> {
|
|
6
|
+
private next!: Middleware<T, ResolveChain<T>>;
|
|
5
7
|
|
|
6
|
-
public setNext(next: Middleware<T
|
|
8
|
+
public setNext(next: Middleware<T, ResolveChain<T>>) {
|
|
7
9
|
this.next = next;
|
|
8
10
|
}
|
|
9
11
|
|
|
@@ -15,9 +17,5 @@ export abstract class Middleware<T> {
|
|
|
15
17
|
};
|
|
16
18
|
}
|
|
17
19
|
|
|
18
|
-
abstract resolve<Props>(resolveChain:
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export interface ResolveChain<T> {
|
|
22
|
-
proceed<Props>(Graph: Constructable<T>, props?: Props): T;
|
|
20
|
+
abstract resolve<Props = any>(resolveChain: RC, Graph: Constructable<T>, props?: Props): T;
|
|
23
21
|
}
|
package/src/index.ts
CHANGED
|
@@ -14,7 +14,7 @@ export { Provides } from './decorators/provides/Provides';
|
|
|
14
14
|
export { Injectable } from './decorators/injectClass';
|
|
15
15
|
export { Inject } from './decorators/injectClass';
|
|
16
16
|
export { GraphMiddleware } from './graph/registry/GraphMiddleware';
|
|
17
|
-
export { ResolveChain } from './graph/registry/
|
|
17
|
+
export { GraphResolveChain as ResolveChain } from './graph/registry/GraphResolveChain';
|
|
18
18
|
export const Obsidian = new _Obsidian();
|
|
19
19
|
|
|
20
20
|
const componentInjector = new ComponentInjector();
|
package/testkit/index.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import { GraphResolveChain } from 'src/graph/registry/GraphResolveChain';
|
|
1
2
|
import {
|
|
2
3
|
ObjectGraph,
|
|
3
4
|
Constructable,
|
|
4
5
|
GraphMiddleware,
|
|
5
6
|
Obsidian,
|
|
6
|
-
ResolveChain,
|
|
7
7
|
} from '../src';
|
|
8
8
|
|
|
9
9
|
beforeEach(() => {
|
|
@@ -13,7 +13,7 @@ beforeEach(() => {
|
|
|
13
13
|
class Index {
|
|
14
14
|
mockGraphs(graphNameToGraph: Record<string, Constructable<ObjectGraph>>) {
|
|
15
15
|
const graphMiddleware = new class extends GraphMiddleware {
|
|
16
|
-
resolve<Props>(resolveChain:
|
|
16
|
+
resolve<Props>(resolveChain: GraphResolveChain, Graph: Constructable<ObjectGraph>, props?: Props) {
|
|
17
17
|
if (graphNameToGraph[Graph.name]) {
|
|
18
18
|
const TheGraph = graphNameToGraph[Graph.name];
|
|
19
19
|
return new TheGraph(props);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PropertyDescriptorToSingleton.d.ts","sourceRoot":"","sources":["../../../../src/decorators/provides/PropertyDescriptorToSingleton.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,UAAU,EAAE,kBAAkB,GAAG,kBAAkB,CASxF"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
/* eslint-disable no-param-reassign */
|
|
4
|
-
function makeSingleton(descriptor) {
|
|
5
|
-
var originalValue = descriptor.value;
|
|
6
|
-
var createdDependency;
|
|
7
|
-
descriptor.value = function value() {
|
|
8
|
-
var args = [];
|
|
9
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
10
|
-
args[_i] = arguments[_i];
|
|
11
|
-
}
|
|
12
|
-
if (createdDependency)
|
|
13
|
-
return createdDependency;
|
|
14
|
-
createdDependency = originalValue.apply(this, args);
|
|
15
|
-
return createdDependency;
|
|
16
|
-
};
|
|
17
|
-
return descriptor;
|
|
18
|
-
}
|
|
19
|
-
exports.default = makeSingleton;
|
|
20
|
-
//# sourceMappingURL=PropertyDescriptorToSingleton.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PropertyDescriptorToSingleton.js","sourceRoot":"","sources":["../../../../src/decorators/provides/PropertyDescriptorToSingleton.ts"],"names":[],"mappings":";;AAAA,sCAAsC;AACtC,SAAwB,aAAa,CAAC,UAA8B;IAClE,IAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC;IACvC,IAAI,iBAAsB,CAAC;IAC3B,UAAU,CAAC,KAAK,GAAG,SAAS,KAAK;QAAC,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QAC9C,IAAI,iBAAiB;YAAE,OAAO,iBAAiB,CAAC;QAChD,iBAAiB,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACpD,OAAO,iBAAiB,CAAC;IAC3B,CAAC,CAAC;IACF,OAAO,UAAU,CAAC;AACpB,CAAC;AATD,gCASC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/* eslint-disable no-param-reassign */
|
|
2
|
-
export default function makeSingleton(descriptor: PropertyDescriptor): PropertyDescriptor {
|
|
3
|
-
const originalValue = descriptor.value;
|
|
4
|
-
let createdDependency: any;
|
|
5
|
-
descriptor.value = function value(...args: any[]) {
|
|
6
|
-
if (createdDependency) return createdDependency;
|
|
7
|
-
createdDependency = originalValue.apply(this, args);
|
|
8
|
-
return createdDependency;
|
|
9
|
-
};
|
|
10
|
-
return descriptor;
|
|
11
|
-
}
|