react-obsidian 2.11.0-alpha.1 → 2.11.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/GraphProperties.js +3 -1
- package/dist/src/GraphProperties.js.map +1 -1
- package/dist/src/ProvidedPropertiesStore.js +9 -4
- package/dist/src/ProvidedPropertiesStore.js.map +1 -1
- package/dist/src/ReferenceCounter.js +5 -2
- package/dist/src/ReferenceCounter.js.map +1 -1
- package/dist/src/decorators/Graph.js +2 -1
- package/dist/src/decorators/Graph.js.map +1 -1
- package/dist/src/decorators/LifecycleBound.js +4 -2
- package/dist/src/decorators/LifecycleBound.js.map +1 -1
- package/dist/src/decorators/Memoize.d.ts.map +1 -1
- package/dist/src/decorators/Memoize.js +2 -1
- package/dist/src/decorators/Memoize.js.map +1 -1
- package/dist/src/decorators/Singleton.d.ts.map +1 -1
- package/dist/src/decorators/Singleton.js +2 -1
- package/dist/src/decorators/Singleton.js.map +1 -1
- package/dist/src/decorators/inject/Inject.d.ts +1 -1
- package/dist/src/decorators/inject/Inject.d.ts.map +1 -1
- package/dist/src/decorators/inject/Inject.js +2 -1
- package/dist/src/decorators/inject/Inject.js.map +1 -1
- package/dist/src/decorators/inject/Injectable.js +2 -1
- package/dist/src/decorators/inject/Injectable.js.map +1 -1
- package/dist/src/decorators/inject/LateInject.js +2 -1
- package/dist/src/decorators/inject/LateInject.js.map +1 -1
- package/dist/src/decorators/provides/MemoizeDescriptor.d.ts.map +1 -1
- package/dist/src/decorators/provides/MemoizeDescriptor.js +3 -1
- package/dist/src/decorators/provides/MemoizeDescriptor.js.map +1 -1
- package/dist/src/decorators/provides/Provides.js +2 -1
- package/dist/src/decorators/provides/Provides.js.map +1 -1
- package/dist/src/graph/CircularDependenciesDetector.js +1 -2
- package/dist/src/graph/CircularDependenciesDetector.js.map +1 -1
- package/dist/src/graph/ObjectGraph.d.ts +1 -1
- package/dist/src/graph/ObjectGraph.d.ts.map +1 -1
- package/dist/src/graph/ObjectGraph.js +6 -6
- package/dist/src/graph/ObjectGraph.js.map +1 -1
- package/dist/src/graph/PropertyRetriever.d.ts +1 -1
- package/dist/src/graph/PropertyRetriever.d.ts.map +1 -1
- package/dist/src/graph/PropertyRetriever.js +2 -3
- package/dist/src/graph/PropertyRetriever.js.map +1 -1
- package/dist/src/graph/PropertyRetrieverDelegate.d.ts +1 -1
- package/dist/src/graph/PropertyRetrieverDelegate.d.ts.map +1 -1
- package/dist/src/graph/ProviderBinder.d.ts.map +1 -1
- package/dist/src/graph/ProviderBinder.js +4 -2
- package/dist/src/graph/ProviderBinder.js.map +1 -1
- package/dist/src/graph/ServiceLocatorFactory.d.ts.map +1 -1
- package/dist/src/graph/VisitedNodes.js +4 -2
- package/dist/src/graph/VisitedNodes.js.map +1 -1
- package/dist/src/graph/registry/GraphMiddlewareChain.js +0 -1
- package/dist/src/graph/registry/GraphMiddlewareChain.js.map +1 -1
- package/dist/src/graph/registry/GraphRegistry.d.ts.map +1 -1
- package/dist/src/graph/registry/GraphRegistry.js +26 -19
- package/dist/src/graph/registry/GraphRegistry.js.map +1 -1
- package/dist/src/graph/registry/Middleware.js +0 -1
- package/dist/src/graph/registry/Middleware.js.map +1 -1
- package/dist/src/graph/registry/ObtainLifecycleBoundGraphException.js.map +1 -1
- package/dist/src/injectors/class/ClassInjector.d.ts.map +1 -1
- package/dist/src/injectors/class/ClassInjector.js +5 -6
- package/dist/src/injectors/class/ClassInjector.js.map +1 -1
- package/dist/src/injectors/class/ConstructorArgs.js +3 -1
- package/dist/src/injectors/class/ConstructorArgs.js.map +1 -1
- package/dist/src/injectors/class/InjectionMetadata.js +9 -5
- package/dist/src/injectors/class/InjectionMetadata.js.map +1 -1
- package/dist/src/injectors/class/LateInjector.js +1 -1
- package/dist/src/injectors/class/LateInjector.js.map +1 -1
- package/dist/src/injectors/components/ComponentInjector.js.map +1 -1
- package/dist/src/injectors/components/InjectComponent.d.ts +1 -1
- package/dist/src/injectors/components/InjectComponent.d.ts.map +1 -1
- package/dist/src/injectors/components/InjectComponent.js.map +1 -1
- package/dist/src/injectors/components/PropsInjector.d.ts.map +1 -1
- package/dist/src/injectors/components/PropsInjector.js +1 -1
- package/dist/src/injectors/components/PropsInjector.js.map +1 -1
- package/dist/src/injectors/components/useGraph.d.ts +1 -1
- package/dist/src/injectors/components/useGraph.d.ts.map +1 -1
- package/dist/src/injectors/components/useGraph.js +1 -1
- package/dist/src/injectors/components/useGraph.js.map +1 -1
- package/dist/src/injectors/components/useInjectionToken.d.ts.map +1 -1
- package/dist/src/injectors/components/useInjectionToken.js +1 -1
- package/dist/src/injectors/components/useInjectionToken.js.map +1 -1
- package/dist/src/injectors/hooks/HookInjector.js +1 -2
- package/dist/src/injectors/hooks/HookInjector.js.map +1 -1
- package/dist/src/injectors/hooks/InjectHook.d.ts.map +1 -1
- package/dist/src/injectors/hooks/InjectHook.js +3 -2
- package/dist/src/injectors/hooks/InjectHook.js.map +1 -1
- package/dist/src/model/Model.js.map +1 -1
- package/dist/src/observable/Observable.d.ts.map +1 -1
- package/dist/src/observable/Observable.js +2 -3
- package/dist/src/observable/Observable.js.map +1 -1
- package/dist/src/observable/cold/ColdMediatorObservable.d.ts.map +1 -1
- package/dist/src/observable/cold/ColdMediatorObservable.js +4 -3
- package/dist/src/observable/cold/ColdMediatorObservable.js.map +1 -1
- package/dist/src/observable/cold/useColdObservers.js +2 -1
- package/dist/src/observable/cold/useColdObservers.js.map +1 -1
- package/dist/src/observable/mapObservablesToValues.js +2 -1
- package/dist/src/observable/mapObservablesToValues.js.map +1 -1
- package/dist/src/observable/mediator/MediatorObservable.js.map +1 -1
- package/dist/src/observable/useObserver.d.ts.map +1 -1
- package/dist/src/observable/useObserver.js +3 -1
- package/dist/src/observable/useObserver.js.map +1 -1
- package/dist/src/observable/useObservers.d.ts +1 -2
- package/dist/src/observable/useObservers.d.ts.map +1 -1
- package/dist/src/observable/useObservers.js +3 -2
- package/dist/src/observable/useObservers.js.map +1 -1
- package/dist/src/utils/React.d.ts.map +1 -1
- package/dist/src/utils/React.js +3 -2
- package/dist/src/utils/React.js.map +1 -1
- package/dist/src/utils/isDev.js +8 -4
- package/dist/src/utils/isDev.js.map +1 -1
- package/dist/src/utils/isNumber.js +2 -1
- package/dist/src/utils/isNumber.js.map +1 -1
- package/dist/src/utils/uniqueId.js +3 -2
- package/dist/src/utils/uniqueId.js.map +1 -1
- package/dist/test/fixtures/CircularDependencyFromSubgraph.d.ts +1 -1
- package/dist/test/fixtures/CircularDependencyFromSubgraph.d.ts.map +1 -1
- package/dist/test/fixtures/CircularDependencyFromSubgraph.js +2 -2
- package/dist/test/fixtures/CircularDependencyFromSubgraph.js.map +1 -1
- package/dist/test/fixtures/CircularDependencyGraph.d.ts.map +1 -1
- package/dist/test/fixtures/CircularDependencyGraph.js +2 -3
- package/dist/test/fixtures/CircularDependencyGraph.js.map +1 -1
- package/dist/test/fixtures/CircularDependencyGraph2.d.ts.map +1 -1
- package/dist/test/fixtures/CircularDependencyGraph2.js +2 -3
- package/dist/test/fixtures/CircularDependencyGraph2.js.map +1 -1
- package/dist/test/fixtures/GraphWithMultipleDependencies.js +2 -2
- package/dist/test/fixtures/GraphWithMultipleDependencies.js.map +1 -1
- package/dist/test/fixtures/GraphWithOnBind.d.ts +1 -1
- package/dist/test/fixtures/GraphWithOnBind.d.ts.map +1 -1
- package/dist/test/fixtures/GraphWithOnBind.js +2 -3
- package/dist/test/fixtures/GraphWithOnBind.js.map +1 -1
- package/dist/test/fixtures/LifecycleBoundGraph.js +4 -6
- package/dist/test/fixtures/LifecycleBoundGraph.js.map +1 -1
- package/dist/test/fixtures/LifecycleBoundWithLifecycleBoundSubgraph.d.ts.map +1 -1
- package/dist/test/fixtures/LifecycleBoundWithLifecycleBoundSubgraph.js +2 -2
- package/dist/test/fixtures/LifecycleBoundWithLifecycleBoundSubgraph.js.map +1 -1
- package/dist/test/fixtures/MainGraph.js.map +1 -1
- package/dist/test/fixtures/ScopedLifecycleBoundGraph.js +2 -2
- package/dist/test/fixtures/ScopedLifecycleBoundGraph.js.map +1 -1
- package/dist/test/fixtures/SingletonGraph.js +4 -1
- package/dist/test/fixtures/SingletonGraph.js.map +1 -1
- package/dist/test/fixtures/StringProvider.js +0 -1
- package/dist/test/fixtures/StringProvider.js.map +1 -1
- package/dist/test/fixtures/Subgraph.js.map +1 -1
- package/dist/test/fixtures/SubgraphWithCircularDependency.d.ts.map +1 -1
- package/dist/test/fixtures/SubgraphWithCircularDependency.js +2 -3
- package/dist/test/fixtures/SubgraphWithCircularDependency.js.map +1 -1
- package/dist/test/fixtures/ThrowingMainGraph.js.map +1 -1
- package/dist/test/fixtures/UniqueNumberGraph.d.ts.map +1 -1
- package/dist/test/fixtures/UniqueNumberGraph.js +3 -3
- package/dist/test/fixtures/UniqueNumberGraph.js.map +1 -1
- package/dist/testkit/index.d.ts.map +1 -1
- package/dist/testkit/index.js +1 -0
- package/dist/testkit/index.js.map +1 -1
- package/dist/testkit/mockGraphs.js +2 -1
- package/dist/testkit/mockGraphs.js.map +1 -1
- package/dist/testkit/mockModel.js +2 -1
- package/dist/testkit/mockModel.js.map +1 -1
- package/dist/transformers/babel-plugin-obsidian/helpers/index.d.ts +2 -2
- package/dist/transformers/babel-plugin-obsidian/helpers/index.d.ts.map +1 -1
- package/dist/transformers/babel-plugin-obsidian/helpers/index.js +16 -13
- package/dist/transformers/babel-plugin-obsidian/helpers/index.js.map +1 -1
- package/dist/transformers/babel-plugin-obsidian/index.d.ts.map +1 -1
- package/dist/transformers/babel-plugin-obsidian/index.js +1 -1
- package/dist/transformers/babel-plugin-obsidian/index.js.map +1 -1
- package/dist/transformers/babel-plugin-obsidian/unmagler/method.d.ts.map +1 -1
- package/dist/transformers/babel-plugin-obsidian/unmagler/method.js +3 -1
- package/dist/transformers/babel-plugin-obsidian/unmagler/method.js.map +1 -1
- package/dist/transformers/babel-plugin-obsidian/unmagler/property.js.map +1 -1
- package/package.json +25 -27
- package/src/decorators/Memoize.ts +1 -0
- package/src/decorators/inject/Inject.ts +1 -1
- package/src/decorators/provides/MemoizeDescriptor.ts +1 -0
- package/src/graph/ObjectGraph.ts +4 -2
- package/src/graph/PropertyRetriever.ts +4 -4
- package/src/graph/PropertyRetrieverDelegate.ts +1 -1
- package/src/graph/ProviderBinder.ts +2 -1
- package/src/graph/registry/GraphRegistry.ts +7 -7
- package/src/graph/registry/ObtainLifecycleBoundGraphException.ts +1 -1
- package/src/injectors/class/ClassInjector.ts +2 -2
- package/src/injectors/components/ComponentInjector.tsx +1 -1
- package/src/injectors/components/InjectComponent.ts +3 -3
- package/src/injectors/components/PropsInjector.ts +1 -0
- package/src/injectors/components/useGraph.ts +2 -1
- package/src/injectors/hooks/InjectHook.ts +1 -0
- package/src/observable/Observable.ts +2 -2
- package/src/observable/cold/ColdMediatorObservable.ts +1 -0
- package/src/observable/cold/useColdObservers.ts +1 -1
- package/src/observable/mediator/MediatorObservable.ts +1 -1
- package/src/observable/useObserver.ts +2 -1
- package/src/observable/useObservers.ts +3 -4
- package/src/utils/isDev.ts +2 -1
- package/testkit/index.ts +1 -0
- package/transformers/babel-plugin-obsidian/helpers/index.ts +8 -8
- package/transformers/babel-plugin-obsidian/index.ts +1 -0
- package/transformers/babel-plugin-obsidian/unmagler/method.ts +2 -1
- package/eslint.config.mjs +0 -140
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../testkit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,cAAM,OAAO;IACX;;OAEG;IACI,UAAU,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../testkit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,cAAM,OAAO;IACX;;OAEG;IACI,UAAU,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,WAAW,CAAC,CAAC;CAK/G;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB,eAAO,MAAM,OAAO,SAAgB,CAAC"}
|
package/dist/testkit/index.js
CHANGED
|
@@ -8,6 +8,7 @@ class TestKit {
|
|
|
8
8
|
* @deprecated testKit.mockGraphs is deprecated, use mockGraphs instead
|
|
9
9
|
*/
|
|
10
10
|
mockGraphs(graphNameToGraph) {
|
|
11
|
+
// eslint-disable-next-line no-console
|
|
11
12
|
console.warn('testKit.mockGraphs is deprecated, use mockGraphs instead');
|
|
12
13
|
return (0, mockGraphs_1.mockGraphs)(graphNameToGraph);
|
|
13
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../testkit/index.ts"],"names":[],"mappings":";;;AAEA,6CAA0C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../testkit/index.ts"],"names":[],"mappings":";;;AAEA,6CAA0C;AAcjC,2FAdA,uBAAU,OAcA;AAZnB,MAAM,OAAO;IACX;;OAEG;IACI,UAAU,CAAC,gBAA4F;QAC5G,sCAAsC;QACtC,OAAO,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;QACzE,OAAO,IAAA,uBAAU,EAAC,gBAAgB,CAAC,CAAC;IACtC,CAAC;CACF;AAED,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAGL,QAAA,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC"}
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.mockGraphs =
|
|
6
|
+
exports.mockGraphs = void 0;
|
|
7
7
|
const ObjectGraph_1 = require("../src/graph/ObjectGraph");
|
|
8
8
|
const GraphMiddleware_1 = require("../src/graph/registry/GraphMiddleware");
|
|
9
9
|
const GraphRegistry_1 = __importDefault(require("../src/graph/registry/GraphRegistry"));
|
|
@@ -20,6 +20,7 @@ function mockGraphs(graphNameToGraph) {
|
|
|
20
20
|
clearRegisteredGraphs(graphNameToGraph);
|
|
21
21
|
GraphRegistry_1.default.addGraphMiddleware(graphMiddleware);
|
|
22
22
|
}
|
|
23
|
+
exports.mockGraphs = mockGraphs;
|
|
23
24
|
function clearRegisteredGraphs(graphNameToGraph) {
|
|
24
25
|
for (const graphName of Object.keys(graphNameToGraph)) {
|
|
25
26
|
GraphRegistry_1.default.clearGraphAfterItWasMockedInTests(graphName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockGraphs.js","sourceRoot":"","sources":["../../testkit/mockGraphs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mockGraphs.js","sourceRoot":"","sources":["../../testkit/mockGraphs.ts"],"names":[],"mappings":";;;;;;AACA,0DAAgE;AAChE,2EAAwE;AAExE,wFAAgE;AAEhE,SAAgB,UAAU,CACxB,gBAA4F;IAE5F,MAAM,eAAe,GAAG,IAAI,KAAM,SAAQ,iCAAe;QACvD,OAAO,CAAQ,YAA+B,EAAE,KAAiC,EAAE,KAAa;YAC9F,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;gBAChC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACtD,OAAO,IAAA,qBAAO,EAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;aAC1F;YACD,OAAO,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;KACF,EAAE,CAAC;IAEJ,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IACxC,uBAAa,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;AACpD,CAAC;AAfD,gCAeC;AAED,SAAS,qBAAqB,CAC5B,gBAA4F;IAE5F,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;QACrD,uBAAa,CAAC,iCAAiC,CAAC,SAAS,CAAC,CAAC;KAC5D;AACH,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.mockModel =
|
|
3
|
+
exports.mockModel = void 0;
|
|
4
4
|
const Model_1 = require("../src/model/Model");
|
|
5
5
|
function mockModel(mock, BaseClass) {
|
|
6
6
|
if (BaseClass) {
|
|
@@ -15,4 +15,5 @@ function mockModel(mock, BaseClass) {
|
|
|
15
15
|
}
|
|
16
16
|
}();
|
|
17
17
|
}
|
|
18
|
+
exports.mockModel = mockModel;
|
|
18
19
|
//# sourceMappingURL=mockModel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockModel.js","sourceRoot":"","sources":["../../testkit/mockModel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mockModel.js","sourceRoot":"","sources":["../../testkit/mockModel.ts"],"names":[],"mappings":";;;AACA,8CAA2C;AAE3C,SAAgB,SAAS,CAAwC,IAAO,EAAE,SAA4B;IACpG,IAAI,SAAS,EAAE;QACb,MAAM,EAAE,GAAG,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACxB,OAAO,EAAE,CAAC;KACX;IAED,OAAO,IAAI,KAAM,SAAQ,aAAK;QAC5B;YACE,KAAK,EAAE,CAAC;YACR,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;KACF,EAAO,CAAC;AACX,CAAC;AAbD,8BAaC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ClassMethod, ClassProperty, Decorator, Identifier, ObjectExpression, ObjectPattern, TSParameterProperty
|
|
1
|
+
import { ClassMethod, ClassProperty, Decorator, Identifier, ObjectExpression, ObjectPattern, TSParameterProperty } from '@babel/types';
|
|
2
2
|
export type AcceptedNodeType = Identifier | TSParameterProperty | ClassProperty;
|
|
3
3
|
export declare function providerIsNotNamed(decorator: Decorator): boolean;
|
|
4
4
|
export declare function addNameToProviderArguments(node: ClassMethod, decorator: Decorator): void;
|
|
@@ -6,6 +6,6 @@ export declare function getDecoratorArgument(decorator: Decorator): ObjectExpres
|
|
|
6
6
|
export declare function getMethodName(node: ClassMethod): string;
|
|
7
7
|
export declare function getDecoratorByName(decorators: Array<Decorator> | undefined | null, decoratorName: string): Decorator | undefined;
|
|
8
8
|
export declare function getDecoratorName(decorator?: Decorator): string | undefined;
|
|
9
|
-
export declare function paramsToDestructuringAssignment(params:
|
|
9
|
+
export declare function paramsToDestructuringAssignment(params: (Identifier | any)[]): ObjectPattern;
|
|
10
10
|
export declare function passParamNameAsInjectArgument(node: AcceptedNodeType, decorator: Decorator): void;
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../transformers/babel-plugin-obsidian/helpers/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../transformers/babel-plugin-obsidian/helpers/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,WAAW,EACX,aAAa,EACb,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACpB,MAAM,cAAc,CAAC;AAItB,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,mBAAmB,GAAG,aAAa,CAAC;AAEhF,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAWhE;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,QAOjF;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,gBAAgB,GAAG,SAAS,CAKvF;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAGvD;AAED,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,SAAS,GAAG,IAAI,EAC/C,aAAa,EAAE,MAAM,GACpB,SAAS,GAAG,SAAS,CAEvB;AAED,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAE1E;AAED,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,CAAC,UAAU,GAAG,GAAG,CAAC,EAAE,GAAG,aAAa,CAI3F;AAED,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,gBAAgB,EACtB,SAAS,EAAE,SAAS,QAOrB"}
|
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.providerIsNotNamed =
|
|
4
|
-
|
|
5
|
-
exports.getDecoratorArgument = getDecoratorArgument;
|
|
6
|
-
exports.getMethodName = getMethodName;
|
|
7
|
-
exports.getDecoratorByName = getDecoratorByName;
|
|
8
|
-
exports.getDecoratorName = getDecoratorName;
|
|
9
|
-
exports.paramsToDestructuringAssignment = paramsToDestructuringAssignment;
|
|
10
|
-
exports.passParamNameAsInjectArgument = passParamNameAsInjectArgument;
|
|
3
|
+
exports.passParamNameAsInjectArgument = exports.paramsToDestructuringAssignment = exports.getDecoratorName = exports.getDecoratorByName = exports.getMethodName = exports.getDecoratorArgument = exports.addNameToProviderArguments = exports.providerIsNotNamed = void 0;
|
|
4
|
+
/* eslint-disable no-param-reassign */
|
|
11
5
|
const core_1 = require("@babel/core");
|
|
12
6
|
const never = '';
|
|
13
7
|
function providerIsNotNamed(decorator) {
|
|
@@ -22,33 +16,41 @@ function providerIsNotNamed(decorator) {
|
|
|
22
16
|
}
|
|
23
17
|
return true;
|
|
24
18
|
}
|
|
19
|
+
exports.providerIsNotNamed = providerIsNotNamed;
|
|
25
20
|
function addNameToProviderArguments(node, decorator) {
|
|
26
|
-
|
|
21
|
+
var _a;
|
|
22
|
+
const argument = (_a = getDecoratorArgument(decorator)) !== null && _a !== void 0 ? _a : core_1.types.objectExpression([]);
|
|
27
23
|
argument.properties.push(core_1.types.objectProperty(core_1.types.identifier('name'), core_1.types.stringLiteral(getMethodName(node))));
|
|
28
24
|
decorator.expression.arguments = [argument];
|
|
29
25
|
}
|
|
26
|
+
exports.addNameToProviderArguments = addNameToProviderArguments;
|
|
30
27
|
function getDecoratorArgument(decorator) {
|
|
31
28
|
if (core_1.types.isCallExpression(decorator.expression)) {
|
|
32
|
-
return decorator.expression.arguments.find(a => core_1.types.isObjectExpression(a));
|
|
29
|
+
return decorator.expression.arguments.find((a) => core_1.types.isObjectExpression(a));
|
|
33
30
|
}
|
|
34
31
|
return undefined;
|
|
35
32
|
}
|
|
33
|
+
exports.getDecoratorArgument = getDecoratorArgument;
|
|
36
34
|
function getMethodName(node) {
|
|
37
35
|
if (core_1.types.isIdentifier(node.key))
|
|
38
36
|
return node.key.name;
|
|
39
37
|
throw new Error(`Tried to get class name but encountered unexpected key of type: ${node.key.type}`);
|
|
40
38
|
}
|
|
39
|
+
exports.getMethodName = getMethodName;
|
|
41
40
|
function getDecoratorByName(decorators, decoratorName) {
|
|
42
|
-
return decorators
|
|
41
|
+
return decorators === null || decorators === void 0 ? void 0 : decorators.find((decorator) => get(decorator, 'expression.callee.name') === decoratorName);
|
|
43
42
|
}
|
|
43
|
+
exports.getDecoratorByName = getDecoratorByName;
|
|
44
44
|
function getDecoratorName(decorator) {
|
|
45
45
|
return get(decorator, 'expression.callee.name');
|
|
46
46
|
}
|
|
47
|
+
exports.getDecoratorName = getDecoratorName;
|
|
47
48
|
function paramsToDestructuringAssignment(params) {
|
|
48
49
|
return core_1.types.objectPattern(params
|
|
49
|
-
.filter(p => core_1.types.isIdentifier(p))
|
|
50
|
-
.map(p => core_1.types.objectProperty(core_1.types.identifier(p.name), core_1.types.identifier(p.name))));
|
|
50
|
+
.filter((p) => core_1.types.isIdentifier(p))
|
|
51
|
+
.map((p) => core_1.types.objectProperty(core_1.types.identifier(p.name), core_1.types.identifier(p.name))));
|
|
51
52
|
}
|
|
53
|
+
exports.paramsToDestructuringAssignment = paramsToDestructuringAssignment;
|
|
52
54
|
function passParamNameAsInjectArgument(node, decorator) {
|
|
53
55
|
if (core_1.types.isCallExpression(decorator.expression)) {
|
|
54
56
|
decorator.expression.arguments = [
|
|
@@ -56,6 +58,7 @@ function passParamNameAsInjectArgument(node, decorator) {
|
|
|
56
58
|
];
|
|
57
59
|
}
|
|
58
60
|
}
|
|
61
|
+
exports.passParamNameAsInjectArgument = passParamNameAsInjectArgument;
|
|
59
62
|
function getNodeName(node) {
|
|
60
63
|
if (core_1.types.isTSParameterProperty(node)) {
|
|
61
64
|
if (core_1.types.isIdentifier(node.parameter)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../transformers/babel-plugin-obsidian/helpers/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../transformers/babel-plugin-obsidian/helpers/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../transformers/babel-plugin-obsidian/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../transformers/babel-plugin-obsidian/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAY,SAAS,EAAE,MAAM,aAAa,CAAC;AAmClD,MAAM,CAAC,OAAO,UAAU,MAAM,gDAE7B"}
|
|
@@ -3,7 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.default = plugin;
|
|
7
6
|
const unmagler_1 = __importDefault(require("./unmagler"));
|
|
8
7
|
const providerArgumentsTransformer = {
|
|
9
8
|
visitor: {
|
|
@@ -38,4 +37,5 @@ const internalVisitor = {
|
|
|
38
37
|
function plugin() {
|
|
39
38
|
return providerArgumentsTransformer;
|
|
40
39
|
}
|
|
40
|
+
exports.default = plugin;
|
|
41
41
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../transformers/babel-plugin-obsidian/index.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../transformers/babel-plugin-obsidian/index.ts"],"names":[],"mappings":";;;;;AASA,0DAAkC;AAElC,MAAM,4BAA4B,GAAc;IAC9C,OAAO,EAAE;QACP,OAAO,CAAC,IAAuB;YAC7B,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACjC,CAAC;KACF;CACF,CAAC;AAEF,MAAM,eAAe,GAAG;IACtB,WAAW,EAAE;QACX,KAAK,CAAC,EAAE,IAAI,EAAyB;YACnC,kBAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC7C,CAAC;KACF;IACD,aAAa,EAAE;QACb,KAAK,CAAC,EAAE,IAAI,EAA2B;YACrC,kBAAQ,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC3C,kBAAQ,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC;KACF;IACD,UAAU,EAAE;QACV,KAAK,CAAC,EAAE,IAAI,EAAwB;YAClC,kBAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC1C,CAAC;KACF;IACD,mBAAmB,EAAE;QACnB,KAAK,CAAC,EAAE,IAAI,EAAiC;YAC3C,kBAAQ,CAAC,uBAAuB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC;KACF;CACF,CAAC;AAEF,SAAwB,MAAM;IAC5B,OAAO,4BAA4B,CAAC;AACtC,CAAC;AAFD,yBAEC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method.d.ts","sourceRoot":"","sources":["../../../../transformers/babel-plugin-obsidian/unmagler/method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAa,MAAM,cAAc,CAAC;AAStD,iBAAS,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,QAMlD;
|
|
1
|
+
{"version":3,"file":"method.d.ts","sourceRoot":"","sources":["../../../../transformers/babel-plugin-obsidian/unmagler/method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAa,MAAM,cAAc,CAAC;AAStD,iBAAS,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,QAMlD;AAeD,eAAe,UAAU,CAAC"}
|
|
@@ -9,9 +9,11 @@ function saveMethod(name, node) {
|
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
function convertProviderParamsToDestructuringAssignment(node) {
|
|
12
|
-
if (node.params.length === 0)
|
|
12
|
+
if (node.params.length === 0) {
|
|
13
13
|
return;
|
|
14
|
+
}
|
|
14
15
|
const destructuredParams = (0, helpers_1.paramsToDestructuringAssignment)(node.params);
|
|
16
|
+
// eslint-disable-next-line no-param-reassign
|
|
15
17
|
node.params.length = 0;
|
|
16
18
|
node.params.push(destructuredParams);
|
|
17
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method.js","sourceRoot":"","sources":["../../../../transformers/babel-plugin-obsidian/unmagler/method.ts"],"names":[],"mappings":";;AACA,wCAMoB;AAEpB,SAAS,UAAU,CAAC,IAAY,EAAE,IAAiB;IACjD,MAAM,SAAS,GAAG,IAAA,4BAAkB,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC5D,IAAI,IAAA,0BAAgB,EAAC,SAAS,CAAC,KAAK,IAAI,EAAE
|
|
1
|
+
{"version":3,"file":"method.js","sourceRoot":"","sources":["../../../../transformers/babel-plugin-obsidian/unmagler/method.ts"],"names":[],"mappings":";;AACA,wCAMoB;AAEpB,SAAS,UAAU,CAAC,IAAY,EAAE,IAAiB;IACjD,MAAM,SAAS,GAAG,IAAA,4BAAkB,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC5D,IAAI,IAAA,0BAAgB,EAAC,SAAS,CAAC,KAAK,IAAI,EAAE;QACxC,8CAA8C,CAAC,IAAI,CAAC,CAAC;QACrD,0CAA0C,CAAC,IAAI,EAAE,SAAU,CAAC,CAAC;KAC9D;AACH,CAAC;AAED,SAAS,8CAA8C,CAAC,IAAiB;IACvE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QAAE,OAAO;KAAE;IACzC,MAAM,kBAAkB,GAAG,IAAA,yCAA+B,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxE,6CAA6C;IAC7C,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,0CAA0C,CAAC,IAAiB,EAAE,SAAoB;IACzF,IAAI,IAAA,4BAAkB,EAAC,SAAS,CAAC,EAAE;QACjC,IAAA,oCAA0B,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;KAC7C;AACH,CAAC;AACD,kBAAe,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"property.js","sourceRoot":"","sources":["../../../../transformers/babel-plugin-obsidian/unmagler/property.ts"],"names":[],"mappings":";;AACA,wCAMoB;AAEpB,SAAS,gBAAgB,CAAC,IAAY,EAAE,IAAsB;IAC5D,MAAM,SAAS,GAAG,IAAA,4BAAkB,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC5D,IAAI,IAAA,0BAAgB,EAAC,SAAS,CAAC,KAAK,IAAI,IAAI,gBAAgB,CAAC,SAAU,CAAC,EAAE
|
|
1
|
+
{"version":3,"file":"property.js","sourceRoot":"","sources":["../../../../transformers/babel-plugin-obsidian/unmagler/property.ts"],"names":[],"mappings":";;AACA,wCAMoB;AAEpB,SAAS,gBAAgB,CAAC,IAAY,EAAE,IAAsB;IAC5D,MAAM,SAAS,GAAG,IAAA,4BAAkB,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC5D,IAAI,IAAA,0BAAgB,EAAC,SAAS,CAAC,KAAK,IAAI,IAAI,gBAAgB,CAAC,SAAU,CAAC,EAAE;QACxE,IAAA,uCAA6B,EAAC,IAAI,EAAE,SAAU,CAAC,CAAC;KACjD;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAoB;IAC5C,OAAO,IAAA,8BAAoB,EAAC,SAAS,CAAC,KAAK,SAAS,CAAC;AACvD,CAAC;AAED,kBAAe,gBAAgB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-obsidian",
|
|
3
|
-
"version": "2.11.0
|
|
3
|
+
"version": "2.11.0",
|
|
4
4
|
"description": "Dependency injection framework for React and React Native applications",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"prepack": "npm run lint && tsc --project tsconfig.prod.json",
|
|
7
|
-
"lint": "eslint",
|
|
7
|
+
"lint": "npx eslint src transformers test --ignore-pattern '*.d.ts' --ext .ts,.tsx,.js",
|
|
8
8
|
"build": "tsc --project tsconfig.json",
|
|
9
9
|
"pretest": "tsc --project tsconfig.json",
|
|
10
10
|
"test": "npx jest",
|
|
@@ -22,18 +22,15 @@
|
|
|
22
22
|
"react": "*"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
|
-
"@babel/core": "
|
|
26
|
-
"@babel/eslint-parser": "
|
|
27
|
-
"@babel/plugin-proposal-decorators": "
|
|
28
|
-
"@babel/plugin-transform-class-properties": "
|
|
29
|
-
"@babel/preset-env": "
|
|
30
|
-
"@babel/preset-react": "
|
|
31
|
-
"@babel/preset-typescript": "
|
|
32
|
-
"@babel/types": "
|
|
33
|
-
"@eslint
|
|
34
|
-
"@eslint/eslintrc": "^3.1.0",
|
|
35
|
-
"@eslint/js": "^9.9.1",
|
|
36
|
-
"@stylistic/eslint-plugin": "^2.7.2",
|
|
25
|
+
"@babel/core": "7.22.x",
|
|
26
|
+
"@babel/eslint-parser": "7.22.x",
|
|
27
|
+
"@babel/plugin-proposal-decorators": "7.22.x",
|
|
28
|
+
"@babel/plugin-transform-class-properties": "7.22.x",
|
|
29
|
+
"@babel/preset-env": "7.22.x",
|
|
30
|
+
"@babel/preset-react": "7.22.x",
|
|
31
|
+
"@babel/preset-typescript": "7.22.x",
|
|
32
|
+
"@babel/types": "7.24.x",
|
|
33
|
+
"@stylistic/eslint-plugin": "^1.7.0",
|
|
37
34
|
"@testing-library/react": "14.x.x",
|
|
38
35
|
"@types/hoist-non-react-statics": "^3.3.1",
|
|
39
36
|
"@types/jest": "29.5.x",
|
|
@@ -41,19 +38,21 @@
|
|
|
41
38
|
"@types/lodash": "^4.14.176",
|
|
42
39
|
"@types/react": "18.3.x",
|
|
43
40
|
"@types/react-dom": "18.3.x",
|
|
44
|
-
"@typescript-eslint/eslint-plugin": "
|
|
45
|
-
"@typescript-eslint/parser": "
|
|
41
|
+
"@typescript-eslint/eslint-plugin": "6.x.x",
|
|
42
|
+
"@typescript-eslint/parser": "6.x.x",
|
|
46
43
|
"babel-plugin-parameter-decorator": "1.x.x",
|
|
47
44
|
"cross-env": "^7.0.3",
|
|
48
|
-
"eslint": "
|
|
49
|
-
"eslint-
|
|
50
|
-
"eslint-plugin-
|
|
51
|
-
"eslint-plugin-
|
|
52
|
-
"eslint-plugin-
|
|
53
|
-
"eslint-plugin-
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
45
|
+
"eslint": "8.x.x",
|
|
46
|
+
"eslint-config-airbnb-typescript": "17.x.x",
|
|
47
|
+
"eslint-plugin-import": "^2.25.2",
|
|
48
|
+
"eslint-plugin-import-newlines": "^1.1.5",
|
|
49
|
+
"eslint-plugin-jest-formatting": "^3.1.0",
|
|
50
|
+
"eslint-plugin-obsidian": "2.11.0",
|
|
51
|
+
"eslint-plugin-react": "^7.26.1",
|
|
52
|
+
"eslint-plugin-react-hooks": "^4.2.0",
|
|
53
|
+
"eslint-plugin-unused-imports": "3.1.x",
|
|
54
|
+
"jest": "29.5.x",
|
|
55
|
+
"jest-environment-jsdom": "^29.5.0",
|
|
57
56
|
"jest-extended": "^4.0.0",
|
|
58
57
|
"jest-mock-extended": "3.x.x",
|
|
59
58
|
"jest-when": "3.x.x",
|
|
@@ -61,8 +60,7 @@
|
|
|
61
60
|
"react": "18.2.x",
|
|
62
61
|
"react-dom": "18.2.x",
|
|
63
62
|
"setimmediate": "^1.0.5",
|
|
64
|
-
"typescript": "^
|
|
65
|
-
"typescript-eslint": "^8.3.0"
|
|
63
|
+
"typescript": "^4.5.4"
|
|
66
64
|
},
|
|
67
65
|
"repository": {
|
|
68
66
|
"type": "git",
|
package/src/graph/ObjectGraph.ts
CHANGED
|
@@ -26,11 +26,13 @@ export abstract class ObjectGraph<T = unknown> implements Graph {
|
|
|
26
26
|
return this.propertyRetriever.retrieve(property, receiver, detector) as Dependency | undefined;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
onBind(_target: any) {
|
|
29
|
+
onBind(_target: any) {
|
|
30
|
+
|
|
31
|
+
}
|
|
30
32
|
}
|
|
31
33
|
|
|
32
34
|
Reflect.set(ObjectGraph, 'typeDiscriminator', 'ObjectGraph');
|
|
33
35
|
|
|
34
|
-
export function isGraph(object: any): object is Constructable<ObjectGraph> {
|
|
36
|
+
export function isGraph(object: Constructable<ObjectGraph> | any): object is Constructable<ObjectGraph> {
|
|
35
37
|
return Reflect.get(object, 'typeDiscriminator') === 'ObjectGraph';
|
|
36
38
|
}
|
|
@@ -10,7 +10,7 @@ export default class PropertyRetriever {
|
|
|
10
10
|
property: string,
|
|
11
11
|
receiver?: unknown,
|
|
12
12
|
maybeDetector?: CircularDependenciesDetector,
|
|
13
|
-
): unknown {
|
|
13
|
+
): unknown | undefined {
|
|
14
14
|
const mangledPropertyKey = providedPropertiesStore.getMangledProperty(this.graph, property);
|
|
15
15
|
const circularDependenciesDetector = maybeDetector ?? new CircularDependenciesDetector(this.graph.name);
|
|
16
16
|
|
|
@@ -32,8 +32,8 @@ export default class PropertyRetriever {
|
|
|
32
32
|
if (circularDependenciesDetector.hasCircularDependencies()) {
|
|
33
33
|
throw new Error(
|
|
34
34
|
`Could not resolve ${circularDependenciesDetector.firstDependencyName}`
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
+ ` from ${circularDependenciesDetector.graphName} because of a circular dependency:`
|
|
36
|
+
+ ` ${circularDependenciesDetector.getDependencies().join(' -> ')}`,
|
|
37
37
|
);
|
|
38
38
|
}
|
|
39
39
|
|
|
@@ -56,6 +56,6 @@ export default class PropertyRetriever {
|
|
|
56
56
|
const subgraphs = graphRegistry.getSubgraphs(this.graph);
|
|
57
57
|
return subgraphs
|
|
58
58
|
.map((subgraph: Graph) => subgraph.retrieve(property, receiver, circularDependenciesDetector))
|
|
59
|
-
.filter(result => result !== undefined);
|
|
59
|
+
.filter((result) => result !== undefined);
|
|
60
60
|
}
|
|
61
61
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
/* eslint-disable no-param-reassign */
|
|
1
2
|
import providedPropertiesStore from '../ProvidedPropertiesStore';
|
|
2
3
|
import { Graph } from './Graph';
|
|
3
4
|
|
|
4
5
|
export function bindProviders(graph: Graph & Record<string, any>) {
|
|
5
6
|
providedPropertiesStore.getMangledProperties(graph)
|
|
6
|
-
.filter(method => graph[method])
|
|
7
|
+
.filter((method) => graph[method])
|
|
7
8
|
.forEach((method) => {
|
|
8
9
|
graph[method] = graph[method].bind(graph);
|
|
9
10
|
});
|
|
@@ -25,7 +25,7 @@ export class GraphRegistry {
|
|
|
25
25
|
getSubgraphs(graph: Graph): Graph[] {
|
|
26
26
|
const Graph = this.instanceToConstructor.get(graph)!;
|
|
27
27
|
const subgraphs = this.graphToSubgraphs.get(Graph) ?? new Set();
|
|
28
|
-
return Array.from(subgraphs).map(G => this.resolve(G));
|
|
28
|
+
return Array.from(subgraphs).map((G) => this.resolve(G));
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
getGraphInstance(name: string): Graph {
|
|
@@ -39,9 +39,9 @@ export class GraphRegistry {
|
|
|
39
39
|
injectionToken?: string,
|
|
40
40
|
): T {
|
|
41
41
|
if ((this.isSingleton(Graph) || this.isBoundToReactLifecycle(Graph)) && this.has(Graph, injectionToken)) {
|
|
42
|
-
return this.isComponentScopedLifecycleBound(Graph)
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
return this.isComponentScopedLifecycleBound(Graph) ?
|
|
43
|
+
this.getByInjectionToken(Graph, injectionToken) :
|
|
44
|
+
this.getFirst(Graph);
|
|
45
45
|
}
|
|
46
46
|
if (this.isBoundToReactLifecycle(Graph) && source !== 'lifecycleOwner') {
|
|
47
47
|
throw new ObtainLifecycleBoundGraphException(Graph);
|
|
@@ -58,7 +58,7 @@ export class GraphRegistry {
|
|
|
58
58
|
if (this.isComponentScopedLifecycleBound(Graph)) {
|
|
59
59
|
return Array
|
|
60
60
|
.from(instances)
|
|
61
|
-
.some(graph => this.instanceToInjectionToken.get(graph) === injectionToken);
|
|
61
|
+
.some((graph) => this.instanceToInjectionToken.get(graph) === injectionToken);
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
return (this.constructorToInstance.get(Graph)?.size ?? 0) > 0;
|
|
@@ -151,7 +151,7 @@ export class GraphRegistry {
|
|
|
151
151
|
}
|
|
152
152
|
}
|
|
153
153
|
|
|
154
|
-
// @ts-
|
|
154
|
+
// @ts-ignore
|
|
155
155
|
global.graphRegistry = global.graphRegistry || new GraphRegistry();
|
|
156
|
-
// @ts-
|
|
156
|
+
// @ts-ignore
|
|
157
157
|
export default global.graphRegistry as GraphRegistry;
|
|
@@ -10,6 +10,6 @@ export class ObtainLifecycleBoundGraphException extends Error {
|
|
|
10
10
|
private static createMessage(graph: Constructable<Graph>): string {
|
|
11
11
|
const graphName = isDev() ? ` ${graph.name}` : '';
|
|
12
12
|
return `Tried to obtain a @LifecycleBound graph${graphName}, but it was not created yet. `
|
|
13
|
-
|
|
13
|
+
+ '@LifecycleBound graphs can only be obtained after they were created by a React component or hook.';
|
|
14
14
|
}
|
|
15
15
|
}
|
|
@@ -35,10 +35,10 @@ export default class ClassInjector {
|
|
|
35
35
|
graph.onBind(target);
|
|
36
36
|
const createdObject = Reflect.construct(target, argsToInject, newTarget);
|
|
37
37
|
this.injectProperties(target, createdObject, graph);
|
|
38
|
-
const originalComponentWillUnmount
|
|
38
|
+
const originalComponentWillUnmount = createdObject.componentWillUnmount;
|
|
39
39
|
createdObject.componentWillUnmount = () => {
|
|
40
40
|
originalComponentWillUnmount?.();
|
|
41
|
-
referenceCounter.release(graph, g => graphRegistry.clear(g));
|
|
41
|
+
referenceCounter.release(graph, (g) => graphRegistry.clear(g));
|
|
42
42
|
};
|
|
43
43
|
return createdObject;
|
|
44
44
|
}
|
|
@@ -32,7 +32,7 @@ export default class ComponentInjector {
|
|
|
32
32
|
const proxiedProps = new PropsInjector(graph).inject(passedProps);
|
|
33
33
|
|
|
34
34
|
return (
|
|
35
|
-
<GraphContext.Provider value={{
|
|
35
|
+
<GraphContext.Provider value={{injectionToken}}>
|
|
36
36
|
{Target(proxiedProps as unknown as PropsWithChildren<P>)}
|
|
37
37
|
</GraphContext.Provider>
|
|
38
38
|
);
|
|
@@ -18,9 +18,9 @@ export const injectComponent = <OwnProps = Discriminator, InjectedProps = Discri
|
|
|
18
18
|
assertGraph(Graph, Target);
|
|
19
19
|
|
|
20
20
|
return componentInjector.inject(Target, Graph) as React.FunctionComponent<
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
InjectedProps extends Discriminator ?
|
|
22
|
+
OwnProps extends Discriminator ? Partial<OwnProps> : OwnProps :
|
|
23
|
+
OwnProps extends InjectedProps ? Partial<OwnProps> : OwnProps & Partial<InjectedProps>
|
|
24
24
|
>;
|
|
25
25
|
};
|
|
26
26
|
function assertGraph(Graph: Constructable<ObjectGraph<unknown>>, Target: any) {
|
|
@@ -4,6 +4,7 @@ export default class PropsInjector<Props> {
|
|
|
4
4
|
constructor(private graph: ObjectGraph) {}
|
|
5
5
|
|
|
6
6
|
inject(passedProps: Props): Partial<Props> {
|
|
7
|
+
// eslint-disable-next-line prefer-object-spread
|
|
7
8
|
return new Proxy(Object.assign({}, passedProps), {
|
|
8
9
|
get: (target: object, p: string, receiver: any): any => {
|
|
9
10
|
return p in target ? Reflect.get(target, p, receiver) : this.graph.retrieve(p, receiver);
|
|
@@ -10,6 +10,7 @@ export default <P>(
|
|
|
10
10
|
props?: Partial<P>,
|
|
11
11
|
injectionToken?: string,
|
|
12
12
|
) => {
|
|
13
|
+
|
|
13
14
|
const [graph] = useState(() => {
|
|
14
15
|
const resolvedGraph = graphRegistry.resolve(Graph, 'lifecycleOwner', props, injectionToken);
|
|
15
16
|
resolvedGraph.onBind(target);
|
|
@@ -17,7 +18,7 @@ export default <P>(
|
|
|
17
18
|
});
|
|
18
19
|
useEffect(() => {
|
|
19
20
|
referenceCounter.retain(graph);
|
|
20
|
-
return () => referenceCounter.release(graph, g => graphRegistry.clear(g));
|
|
21
|
+
return () => referenceCounter.release(graph, (g) => graphRegistry.clear(g));
|
|
21
22
|
}, [graph]);
|
|
22
23
|
return graph;
|
|
23
24
|
};
|
|
@@ -14,7 +14,7 @@ export class Observable<T> implements IObservable<T> {
|
|
|
14
14
|
|
|
15
15
|
public set value(value: T) {
|
|
16
16
|
this.currentValue = value;
|
|
17
|
-
this.subscribers.forEach(subscriber => subscriber(value));
|
|
17
|
+
this.subscribers.forEach((subscriber) => subscriber(value));
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
async first(): Promise<T> {
|
|
@@ -35,7 +35,7 @@ export class Observable<T> implements IObservable<T> {
|
|
|
35
35
|
return () => this.subscribers.delete(onNext);
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
public unsubscribe(onNext:
|
|
38
|
+
public unsubscribe(onNext:OnNext<T>) {
|
|
39
39
|
if (!this.subscribers.has(onNext)) {
|
|
40
40
|
throw new Error(`Can't unsubscribe, subscriber doesn't exist`);
|
|
41
41
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Observable } from '../Observable';
|
|
2
2
|
import { MediatorObservable } from '../mediator/MediatorObservable';
|
|
3
3
|
import { OnNext } from '../types';
|
|
4
|
+
|
|
4
5
|
export class ColdMediatorObservable<T extends object> extends MediatorObservable<T> {
|
|
5
6
|
constructor(obj: T, private readonly handler = new PropertyAccessTrackingProxy<T>()) {
|
|
6
7
|
super(new Proxy(obj, handler));
|
|
@@ -10,7 +10,7 @@ export function useColdObservables<T extends Record<string, any>>(observables: T
|
|
|
10
10
|
const [values, setValues] = useState(() => mediator.value as ObservedValues<T>);
|
|
11
11
|
|
|
12
12
|
useEffect(() => {
|
|
13
|
-
Object.keys(observables).forEach((key) => {
|
|
13
|
+
Object.keys(observables as {}).forEach((key) => {
|
|
14
14
|
mediator.addSource(observables[key], (value) => {
|
|
15
15
|
mediator.setValue(key, value);
|
|
16
16
|
});
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable no-param-reassign */
|
|
1
2
|
import {
|
|
2
3
|
useCallback,
|
|
3
4
|
useEffect,
|
|
@@ -25,6 +26,6 @@ export function useObserver<T>(observableOrGenerator: ObservableOrGenerator<T>):
|
|
|
25
26
|
return [value, onNext];
|
|
26
27
|
}
|
|
27
28
|
|
|
28
|
-
function getOrGenerateObservable
|
|
29
|
+
function getOrGenerateObservable(observableOrGenerator: ObservableOrGenerator<any>) {
|
|
29
30
|
return observableOrGenerator instanceof Observable ? observableOrGenerator : observableOrGenerator();
|
|
30
31
|
}
|