@bluelibs/runner 3.4.2 → 4.0.1
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/AI.md +621 -0
- package/README.md +1024 -577
- package/dist/context.d.ts +4 -8
- package/dist/context.js +5 -12
- package/dist/context.js.map +1 -1
- package/dist/define.d.ts +9 -113
- package/dist/define.js +29 -358
- package/dist/define.js.map +1 -1
- package/dist/definers/defineEvent.d.ts +2 -0
- package/dist/definers/defineEvent.js +23 -0
- package/dist/definers/defineEvent.js.map +1 -0
- package/dist/definers/defineHook.d.ts +6 -0
- package/dist/definers/defineHook.js +24 -0
- package/dist/definers/defineHook.js.map +1 -0
- package/dist/definers/defineOverride.d.ts +14 -0
- package/dist/definers/defineOverride.js +13 -0
- package/dist/definers/defineOverride.js.map +1 -0
- package/dist/definers/defineResource.d.ts +2 -0
- package/dist/definers/defineResource.js +69 -0
- package/dist/definers/defineResource.js.map +1 -0
- package/dist/definers/defineResourceMiddleware.d.ts +2 -0
- package/dist/definers/defineResourceMiddleware.js +42 -0
- package/dist/definers/defineResourceMiddleware.js.map +1 -0
- package/dist/definers/defineTag.d.ts +12 -0
- package/dist/definers/defineTag.js +106 -0
- package/dist/definers/defineTag.js.map +1 -0
- package/dist/definers/defineTask.d.ts +15 -0
- package/dist/definers/defineTask.js +42 -0
- package/dist/definers/defineTask.js.map +1 -0
- package/dist/definers/defineTaskMiddleware.d.ts +2 -0
- package/dist/definers/defineTaskMiddleware.js +42 -0
- package/dist/definers/defineTaskMiddleware.js.map +1 -0
- package/dist/definers/tools.d.ts +45 -0
- package/dist/definers/tools.js +75 -0
- package/dist/definers/tools.js.map +1 -0
- package/dist/defs.d.ts +16 -424
- package/dist/defs.js +26 -38
- package/dist/defs.js.map +1 -1
- package/dist/errors.d.ts +23 -8
- package/dist/errors.js +50 -10
- package/dist/errors.js.map +1 -1
- package/dist/globals/globalEvents.d.ts +15 -39
- package/dist/globals/globalEvents.js +20 -81
- package/dist/globals/globalEvents.js.map +1 -1
- package/dist/globals/globalMiddleware.d.ts +24 -17
- package/dist/globals/globalMiddleware.js +12 -4
- package/dist/globals/globalMiddleware.js.map +1 -1
- package/dist/globals/globalResources.d.ts +13 -28
- package/dist/globals/globalResources.js +15 -7
- package/dist/globals/globalResources.js.map +1 -1
- package/dist/globals/globalTags.d.ts +9 -0
- package/dist/globals/globalTags.js +23 -0
- package/dist/globals/globalTags.js.map +1 -0
- package/dist/globals/middleware/cache.middleware.d.ts +10 -17
- package/dist/globals/middleware/cache.middleware.js +4 -16
- package/dist/globals/middleware/cache.middleware.js.map +1 -1
- package/dist/globals/middleware/requireContext.middleware.d.ts +1 -1
- package/dist/globals/middleware/requireContext.middleware.js +5 -14
- package/dist/globals/middleware/requireContext.middleware.js.map +1 -1
- package/dist/globals/middleware/retry.middleware.d.ts +2 -1
- package/dist/globals/middleware/retry.middleware.js +32 -5
- package/dist/globals/middleware/retry.middleware.js.map +1 -1
- package/dist/globals/middleware/timeout.middleware.d.ts +2 -1
- package/dist/globals/middleware/timeout.middleware.js +31 -5
- package/dist/globals/middleware/timeout.middleware.js.map +1 -1
- package/dist/globals/resources/debug/debug.resource.d.ts +7 -0
- package/dist/globals/resources/debug/debug.resource.js +29 -0
- package/dist/globals/resources/debug/debug.resource.js.map +1 -0
- package/dist/globals/resources/debug/debug.tag.d.ts +2 -0
- package/dist/globals/resources/debug/debug.tag.js +12 -0
- package/dist/globals/resources/debug/debug.tag.js.map +1 -0
- package/dist/globals/resources/debug/debugConfig.resource.d.ts +22 -0
- package/dist/globals/resources/debug/debugConfig.resource.js +20 -0
- package/dist/globals/resources/debug/debugConfig.resource.js.map +1 -0
- package/dist/globals/resources/debug/executionTracker.middleware.d.ts +50 -0
- package/dist/globals/resources/debug/executionTracker.middleware.js +87 -0
- package/dist/globals/resources/debug/executionTracker.middleware.js.map +1 -0
- package/dist/globals/resources/debug/globalEvent.hook.d.ts +27 -0
- package/dist/globals/resources/debug/globalEvent.hook.js +38 -0
- package/dist/globals/resources/debug/globalEvent.hook.js.map +1 -0
- package/dist/globals/resources/debug/hook.hook.d.ts +25 -0
- package/dist/globals/resources/debug/hook.hook.js +42 -0
- package/dist/globals/resources/debug/hook.hook.js.map +1 -0
- package/dist/globals/resources/debug/index.d.ts +6 -0
- package/dist/{types → globals/resources/debug}/index.js +6 -11
- package/dist/globals/resources/debug/index.js.map +1 -0
- package/dist/globals/resources/debug/middleware.hook.d.ts +25 -0
- package/dist/globals/resources/debug/middleware.hook.js +71 -0
- package/dist/globals/resources/debug/middleware.hook.js.map +1 -0
- package/dist/globals/resources/debug/types.d.ts +25 -0
- package/dist/globals/resources/debug/types.js +65 -0
- package/dist/globals/resources/debug/types.js.map +1 -0
- package/dist/globals/resources/debug/utils.d.ts +2 -0
- package/dist/globals/resources/debug/utils.js +9 -0
- package/dist/globals/resources/debug/utils.js.map +1 -0
- package/dist/globals/resources/queue.resource.d.ts +3 -3
- package/dist/globals/resources/queue.resource.js.map +1 -1
- package/dist/globals/types.d.ts +1 -0
- package/dist/{task.types.js → globals/types.js} +2 -7
- package/dist/globals/types.js.map +1 -0
- package/dist/index.d.ts +58 -85
- package/dist/index.js +23 -10
- package/dist/index.js.map +1 -1
- package/dist/models/DependencyProcessor.d.ts +8 -6
- package/dist/models/DependencyProcessor.js +116 -33
- package/dist/models/DependencyProcessor.js.map +1 -1
- package/dist/models/EventManager.d.ts +127 -7
- package/dist/models/EventManager.js +251 -78
- package/dist/models/EventManager.js.map +1 -1
- package/dist/models/LogPrinter.d.ts +55 -0
- package/dist/models/LogPrinter.js +196 -0
- package/dist/models/LogPrinter.js.map +1 -0
- package/dist/models/Logger.d.ts +47 -27
- package/dist/models/Logger.js +133 -155
- package/dist/models/Logger.js.map +1 -1
- package/dist/models/MiddlewareManager.d.ts +86 -0
- package/dist/models/MiddlewareManager.js +409 -0
- package/dist/models/MiddlewareManager.js.map +1 -0
- package/dist/models/OverrideManager.d.ts +3 -3
- package/dist/models/OverrideManager.js +22 -7
- package/dist/models/OverrideManager.js.map +1 -1
- package/dist/models/ResourceInitializer.d.ts +4 -3
- package/dist/models/ResourceInitializer.js +12 -68
- package/dist/models/ResourceInitializer.js.map +1 -1
- package/dist/models/RunResult.d.ts +35 -0
- package/dist/models/RunResult.js +68 -0
- package/dist/models/RunResult.js.map +1 -0
- package/dist/models/Store.d.ts +30 -17
- package/dist/models/Store.js +87 -25
- package/dist/models/Store.js.map +1 -1
- package/dist/models/StoreRegistry.d.ts +34 -19
- package/dist/models/StoreRegistry.js +248 -100
- package/dist/models/StoreRegistry.js.map +1 -1
- package/dist/models/StoreValidator.d.ts +5 -7
- package/dist/models/StoreValidator.js +50 -17
- package/dist/models/StoreValidator.js.map +1 -1
- package/dist/models/TaskRunner.d.ts +3 -2
- package/dist/models/TaskRunner.js +6 -103
- package/dist/models/TaskRunner.js.map +1 -1
- package/dist/models/UnhandledError.d.ts +11 -0
- package/dist/models/UnhandledError.js +30 -0
- package/dist/models/UnhandledError.js.map +1 -0
- package/dist/models/index.d.ts +3 -0
- package/dist/models/index.js +3 -0
- package/dist/models/index.js.map +1 -1
- package/dist/{tools → models/utils}/findCircularDependencies.js +8 -16
- package/dist/models/utils/findCircularDependencies.js.map +1 -0
- package/dist/models/utils/safeStringify.d.ts +3 -0
- package/dist/models/utils/safeStringify.js +45 -0
- package/dist/models/utils/safeStringify.js.map +1 -0
- package/dist/processHooks.d.ts +2 -0
- package/dist/processHooks.js +70 -0
- package/dist/processHooks.js.map +1 -0
- package/dist/run.d.ts +14 -27
- package/dist/run.js +100 -36
- package/dist/run.js.map +1 -1
- package/dist/testing.d.ts +5 -4
- package/dist/testing.js +3 -2
- package/dist/testing.js.map +1 -1
- package/dist/tools/getCallerFile.d.ts +0 -8
- package/dist/tools/getCallerFile.js +0 -51
- package/dist/tools/getCallerFile.js.map +1 -1
- package/dist/types/contracts.d.ts +55 -0
- package/dist/types/contracts.js +4 -0
- package/dist/types/contracts.js.map +1 -0
- package/dist/types/event.d.ts +26 -7
- package/dist/types/event.js +1 -1
- package/dist/types/event.js.map +1 -1
- package/dist/types/hook.d.ts +21 -0
- package/dist/{models/StoreTypes.js → types/hook.js} +2 -1
- package/dist/types/hook.js.map +1 -0
- package/dist/types/meta.d.ts +6 -1
- package/dist/types/meta.js +4 -2
- package/dist/types/meta.js.map +1 -1
- package/dist/types/resource.d.ts +40 -52
- package/dist/types/resource.js +1 -0
- package/dist/types/resource.js.map +1 -1
- package/dist/types/resourceMiddleware.d.ts +47 -0
- package/dist/{middleware.types.js → types/resourceMiddleware.js} +1 -1
- package/dist/types/resourceMiddleware.js.map +1 -0
- package/dist/types/runner.d.ts +37 -0
- package/dist/types/{base.js → runner.js} +1 -1
- package/dist/types/runner.js.map +1 -0
- package/dist/types/storeTypes.d.ts +40 -0
- package/dist/types/{metadata.js → storeTypes.js} +1 -1
- package/dist/types/storeTypes.js.map +1 -0
- package/dist/types/symbols.d.ts +10 -21
- package/dist/types/symbols.js +17 -22
- package/dist/types/symbols.js.map +1 -1
- package/dist/types/tag.d.ts +46 -0
- package/dist/{resource.types.js → types/tag.js} +2 -1
- package/dist/types/tag.js.map +1 -0
- package/dist/types/task.d.ts +28 -52
- package/dist/types/task.js +1 -0
- package/dist/types/task.js.map +1 -1
- package/dist/types/taskMiddleware.d.ts +48 -0
- package/dist/{event.types.js → types/taskMiddleware.js} +1 -1
- package/dist/types/taskMiddleware.js.map +1 -0
- package/dist/types/utilities.d.ts +105 -6
- package/dist/types/utilities.js +16 -2
- package/dist/types/utilities.js.map +1 -1
- package/package.json +14 -5
- package/dist/cli/extract-docs.d.ts +0 -2
- package/dist/cli/extract-docs.js +0 -88
- package/dist/cli/extract-docs.js.map +0 -1
- package/dist/common.types.d.ts +0 -20
- package/dist/common.types.js +0 -4
- package/dist/common.types.js.map +0 -1
- package/dist/defs/core.d.ts +0 -144
- package/dist/defs/core.js +0 -6
- package/dist/defs/core.js.map +0 -1
- package/dist/defs/symbols.d.ts +0 -42
- package/dist/defs/symbols.js +0 -45
- package/dist/defs/symbols.js.map +0 -1
- package/dist/defs/tags.d.ts +0 -70
- package/dist/defs/tags.js +0 -6
- package/dist/defs/tags.js.map +0 -1
- package/dist/defs.returnTag.d.ts +0 -36
- package/dist/defs.returnTag.js +0 -4
- package/dist/defs.returnTag.js.map +0 -1
- package/dist/docs/introspect.d.ts +0 -7
- package/dist/docs/introspect.js +0 -199
- package/dist/docs/introspect.js.map +0 -1
- package/dist/docs/markdown.d.ts +0 -2
- package/dist/docs/markdown.js +0 -148
- package/dist/docs/markdown.js.map +0 -1
- package/dist/docs/model.d.ts +0 -62
- package/dist/docs/model.js +0 -33
- package/dist/docs/model.js.map +0 -1
- package/dist/event.types.d.ts +0 -18
- package/dist/event.types.js.map +0 -1
- package/dist/examples/express-mongo/index.d.ts +0 -0
- package/dist/examples/express-mongo/index.js +0 -3
- package/dist/examples/express-mongo/index.js.map +0 -1
- package/dist/examples/registrator-example.d.ts +0 -122
- package/dist/examples/registrator-example.js +0 -147
- package/dist/examples/registrator-example.js.map +0 -1
- package/dist/express/docsRouter.d.ts +0 -12
- package/dist/express/docsRouter.js +0 -54
- package/dist/express/docsRouter.js.map +0 -1
- package/dist/globalEvents.d.ts +0 -40
- package/dist/globalEvents.js +0 -94
- package/dist/globalEvents.js.map +0 -1
- package/dist/globalResources.d.ts +0 -10
- package/dist/globalResources.js +0 -43
- package/dist/globalResources.js.map +0 -1
- package/dist/middleware.types.d.ts +0 -40
- package/dist/middleware.types.js.map +0 -1
- package/dist/models/StoreConstants.d.ts +0 -14
- package/dist/models/StoreConstants.js +0 -19
- package/dist/models/StoreConstants.js.map +0 -1
- package/dist/models/StoreTypes.d.ts +0 -21
- package/dist/models/StoreTypes.js.map +0 -1
- package/dist/models/VarStore.d.ts +0 -17
- package/dist/models/VarStore.js +0 -60
- package/dist/models/VarStore.js.map +0 -1
- package/dist/resource.types.d.ts +0 -31
- package/dist/resource.types.js.map +0 -1
- package/dist/symbols.d.ts +0 -24
- package/dist/symbols.js +0 -29
- package/dist/symbols.js.map +0 -1
- package/dist/t1.d.ts +0 -1
- package/dist/t1.js +0 -13
- package/dist/t1.js.map +0 -1
- package/dist/task.types.d.ts +0 -55
- package/dist/task.types.js.map +0 -1
- package/dist/tools/findCircularDependencies.js.map +0 -1
- package/dist/tools/registratorId.d.ts +0 -4
- package/dist/tools/registratorId.js +0 -40
- package/dist/tools/registratorId.js.map +0 -1
- package/dist/tools/simpleHash.d.ts +0 -9
- package/dist/tools/simpleHash.js +0 -34
- package/dist/tools/simpleHash.js.map +0 -1
- package/dist/types/base-interfaces.d.ts +0 -18
- package/dist/types/base-interfaces.js +0 -6
- package/dist/types/base-interfaces.js.map +0 -1
- package/dist/types/base.d.ts +0 -13
- package/dist/types/base.js.map +0 -1
- package/dist/types/dependencies.d.ts +0 -51
- package/dist/types/dependencies.js +0 -3
- package/dist/types/dependencies.js.map +0 -1
- package/dist/types/dependency-core.d.ts +0 -14
- package/dist/types/dependency-core.js +0 -5
- package/dist/types/dependency-core.js.map +0 -1
- package/dist/types/events.d.ts +0 -52
- package/dist/types/events.js +0 -6
- package/dist/types/events.js.map +0 -1
- package/dist/types/hooks.d.ts +0 -16
- package/dist/types/hooks.js +0 -5
- package/dist/types/hooks.js.map +0 -1
- package/dist/types/index.d.ts +0 -8
- package/dist/types/index.js.map +0 -1
- package/dist/types/metadata.d.ts +0 -75
- package/dist/types/metadata.js.map +0 -1
- package/dist/types/middleware.d.ts +0 -63
- package/dist/types/middleware.js +0 -3
- package/dist/types/middleware.js.map +0 -1
- package/dist/types/registerable.d.ts +0 -10
- package/dist/types/registerable.js +0 -5
- package/dist/types/registerable.js.map +0 -1
- package/dist/types/resources.d.ts +0 -44
- package/dist/types/resources.js +0 -5
- package/dist/types/resources.js.map +0 -1
- package/dist/types/tasks.d.ts +0 -41
- package/dist/types/tasks.js +0 -5
- package/dist/types/tasks.js.map +0 -1
- package/src/__tests__/benchmark/benchmark.test.ts +0 -148
- package/src/__tests__/benchmark/task-benchmark.test.ts +0 -132
- package/src/__tests__/context.test.ts +0 -91
- package/src/__tests__/createTestResource.test.ts +0 -139
- package/src/__tests__/errors.test.ts +0 -341
- package/src/__tests__/globalEvents.test.ts +0 -542
- package/src/__tests__/globals/cache.middleware.test.ts +0 -772
- package/src/__tests__/globals/queue.resource.test.ts +0 -141
- package/src/__tests__/globals/requireContext.middleware.test.ts +0 -98
- package/src/__tests__/globals/retry.middleware.test.ts +0 -157
- package/src/__tests__/globals/timeout.middleware.test.ts +0 -88
- package/src/__tests__/index.helper.test.ts +0 -55
- package/src/__tests__/models/EventManager.test.ts +0 -585
- package/src/__tests__/models/Logger.test.ts +0 -519
- package/src/__tests__/models/Queue.test.ts +0 -189
- package/src/__tests__/models/ResourceInitializer.test.ts +0 -148
- package/src/__tests__/models/Semaphore.test.ts +0 -713
- package/src/__tests__/models/Store.test.ts +0 -227
- package/src/__tests__/models/TaskRunner.test.ts +0 -221
- package/src/__tests__/override.test.ts +0 -104
- package/src/__tests__/recursion/README.md +0 -3
- package/src/__tests__/recursion/a.resource.ts +0 -25
- package/src/__tests__/recursion/b.resource.ts +0 -33
- package/src/__tests__/recursion/c.resource.ts +0 -18
- package/src/__tests__/run.anonymous.test.ts +0 -706
- package/src/__tests__/run.dynamic-register-and-dependencies.test.ts +0 -1185
- package/src/__tests__/run.middleware.test.ts +0 -549
- package/src/__tests__/run.overrides.test.ts +0 -424
- package/src/__tests__/run.test.ts +0 -1040
- package/src/__tests__/setOutput.test.ts +0 -244
- package/src/__tests__/tags.test.ts +0 -396
- package/src/__tests__/tools/findCircularDependencies.test.ts +0 -217
- package/src/__tests__/tools/getCallerFile.test.ts +0 -179
- package/src/__tests__/typesafety.test.ts +0 -423
- package/src/__tests__/validation-edge-cases.test.ts +0 -111
- package/src/__tests__/validation-interface.test.ts +0 -428
- package/src/context.ts +0 -86
- package/src/define.ts +0 -480
- package/src/defs.returnTag.ts +0 -91
- package/src/defs.ts +0 -596
- package/src/errors.ts +0 -105
- package/src/globals/globalEvents.ts +0 -125
- package/src/globals/globalMiddleware.ts +0 -16
- package/src/globals/globalResources.ts +0 -53
- package/src/globals/middleware/cache.middleware.ts +0 -115
- package/src/globals/middleware/requireContext.middleware.ts +0 -36
- package/src/globals/middleware/retry.middleware.ts +0 -56
- package/src/globals/middleware/timeout.middleware.ts +0 -46
- package/src/globals/resources/queue.resource.ts +0 -34
- package/src/index.ts +0 -39
- package/src/models/DependencyProcessor.ts +0 -257
- package/src/models/EventManager.ts +0 -210
- package/src/models/Logger.ts +0 -282
- package/src/models/OverrideManager.ts +0 -79
- package/src/models/Queue.ts +0 -66
- package/src/models/ResourceInitializer.ts +0 -165
- package/src/models/Semaphore.ts +0 -208
- package/src/models/Store.ts +0 -193
- package/src/models/StoreConstants.ts +0 -18
- package/src/models/StoreRegistry.ts +0 -253
- package/src/models/StoreTypes.ts +0 -47
- package/src/models/StoreValidator.ts +0 -43
- package/src/models/TaskRunner.ts +0 -203
- package/src/models/index.ts +0 -8
- package/src/run.ts +0 -116
- package/src/testing.ts +0 -66
- package/src/tools/findCircularDependencies.ts +0 -69
- package/src/tools/getCallerFile.ts +0 -96
- /package/dist/{tools → models/utils}/findCircularDependencies.d.ts +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DependencyMapType,
|
|
1
|
+
import { DependencyMapType, IResource, ResourceDependencyValuesType } from "../defs";
|
|
2
2
|
import { EventManager } from "./EventManager";
|
|
3
3
|
import { Store } from "./Store";
|
|
4
4
|
import { Logger } from "./Logger";
|
|
@@ -7,13 +7,14 @@ export declare class ResourceInitializer {
|
|
|
7
7
|
protected readonly eventManager: EventManager;
|
|
8
8
|
protected readonly logger: Logger;
|
|
9
9
|
constructor(store: Store, eventManager: EventManager, logger: Logger);
|
|
10
|
+
private readonly middlewareManager;
|
|
10
11
|
/**
|
|
11
12
|
* Begins the execution of an task. These are registered tasks and all sanity checks have been performed at this stage to ensure consistency of the object.
|
|
12
13
|
* This function can throw only if any of the event listeners or run function throws
|
|
13
14
|
*/
|
|
14
|
-
initializeResource<TConfig = null, TValue extends Promise<any> = Promise<any>, TDeps extends DependencyMapType = {}, TContext = any>(resource: IResource<TConfig, TValue, TDeps>, config: TConfig, dependencies:
|
|
15
|
+
initializeResource<TConfig = null, TValue extends Promise<any> = Promise<any>, TDeps extends DependencyMapType = {}, TContext = any>(resource: IResource<TConfig, TValue, TDeps>, config: TConfig, dependencies: ResourceDependencyValuesType<TDeps>): Promise<{
|
|
15
16
|
value: TValue;
|
|
16
17
|
context: TContext;
|
|
17
18
|
}>;
|
|
18
|
-
initWithMiddleware<C, V extends Promise<any>, D extends DependencyMapType, TContext>(resource: IResource<C, V, D, TContext>, config: C, dependencies:
|
|
19
|
+
initWithMiddleware<C, V extends Promise<any>, D extends DependencyMapType, TContext>(resource: IResource<C, V, D, TContext>, config: C, dependencies: ResourceDependencyValuesType<D>, context: TContext): Promise<V | undefined>;
|
|
19
20
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ResourceInitializer = void 0;
|
|
4
|
-
const
|
|
4
|
+
const MiddlewareManager_1 = require("./MiddlewareManager");
|
|
5
5
|
class ResourceInitializer {
|
|
6
6
|
store;
|
|
7
7
|
eventManager;
|
|
@@ -10,84 +10,28 @@ class ResourceInitializer {
|
|
|
10
10
|
this.store = store;
|
|
11
11
|
this.eventManager = eventManager;
|
|
12
12
|
this.logger = logger;
|
|
13
|
+
this.middlewareManager = new MiddlewareManager_1.MiddlewareManager(this.store, this.eventManager, this.logger);
|
|
13
14
|
}
|
|
15
|
+
middlewareManager;
|
|
14
16
|
/**
|
|
15
17
|
* Begins the execution of an task. These are registered tasks and all sanity checks have been performed at this stage to ensure consistency of the object.
|
|
16
18
|
* This function can throw only if any of the event listeners or run function throws
|
|
17
19
|
*/
|
|
18
20
|
async initializeResource(resource, config, dependencies) {
|
|
19
21
|
const context = resource.context?.();
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
await this.eventManager.emit(resource.events.beforeInit, { config }, resource.id);
|
|
25
|
-
let error, value;
|
|
26
|
-
try {
|
|
27
|
-
if (resource.init) {
|
|
28
|
-
value = await this.initWithMiddleware(resource, config, dependencies, context);
|
|
29
|
-
}
|
|
30
|
-
await this.eventManager.emit(resource.events.afterInit, {
|
|
31
|
-
config,
|
|
32
|
-
value: value,
|
|
33
|
-
}, resource.id);
|
|
34
|
-
await this.eventManager.emit(globalEvents_1.globalEvents.resources.afterInit, {
|
|
35
|
-
config,
|
|
36
|
-
resource,
|
|
37
|
-
value: value,
|
|
38
|
-
}, resource.id);
|
|
39
|
-
this.logger.debug(`Resource ${resource.id.toString()} initialized`, {
|
|
40
|
-
source: resource.id,
|
|
41
|
-
});
|
|
42
|
-
return { value: value, context };
|
|
22
|
+
let value;
|
|
23
|
+
// Create a no-op init function if it doesn't exist
|
|
24
|
+
if (!resource.init) {
|
|
25
|
+
resource.init = (async () => undefined);
|
|
43
26
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
let isSuppressed = false;
|
|
47
|
-
function suppress() {
|
|
48
|
-
isSuppressed = true;
|
|
49
|
-
}
|
|
50
|
-
// If you want to rewthrow the error, this should be done inside the onError event.
|
|
51
|
-
await this.eventManager.emit(resource.events.onError, {
|
|
52
|
-
error: error,
|
|
53
|
-
suppress,
|
|
54
|
-
}, resource.id);
|
|
55
|
-
await this.eventManager.emit(globalEvents_1.globalEvents.resources.onError, {
|
|
56
|
-
error: error,
|
|
57
|
-
resource,
|
|
58
|
-
suppress,
|
|
59
|
-
}, resource.id);
|
|
60
|
-
if (!isSuppressed)
|
|
61
|
-
throw e;
|
|
62
|
-
return { value: undefined, context: {} };
|
|
27
|
+
if (resource.init) {
|
|
28
|
+
value = await this.initWithMiddleware(resource, config, dependencies, context);
|
|
63
29
|
}
|
|
30
|
+
return { value: value, context };
|
|
64
31
|
}
|
|
32
|
+
// Lifecycle emissions removed
|
|
65
33
|
async initWithMiddleware(resource, config, dependencies, context) {
|
|
66
|
-
|
|
67
|
-
if (resource.init) {
|
|
68
|
-
return resource.init.call(null, config, dependencies, context);
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
const existingMiddlewares = resource.middleware;
|
|
72
|
-
const createdMiddlewares = [
|
|
73
|
-
...this.store.getEverywhereMiddlewareForResources(existingMiddlewares.map((x) => x.id)),
|
|
74
|
-
...existingMiddlewares,
|
|
75
|
-
];
|
|
76
|
-
for (let i = createdMiddlewares.length - 1; i >= 0; i--) {
|
|
77
|
-
const middleware = createdMiddlewares[i];
|
|
78
|
-
const storeMiddleware = this.store.middlewares.get(middleware.id); // we know it exists because at this stage all sanity checks have been done.
|
|
79
|
-
const nextFunction = next;
|
|
80
|
-
next = async (config) => {
|
|
81
|
-
return storeMiddleware.middleware.run({
|
|
82
|
-
resource: {
|
|
83
|
-
definition: resource,
|
|
84
|
-
config,
|
|
85
|
-
},
|
|
86
|
-
next: nextFunction,
|
|
87
|
-
}, storeMiddleware.computedDependencies, middleware.config);
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
return next(config);
|
|
34
|
+
return this.middlewareManager.runResourceInit(resource, config, dependencies, context);
|
|
91
35
|
}
|
|
92
36
|
}
|
|
93
37
|
exports.ResourceInitializer = ResourceInitializer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceInitializer.js","sourceRoot":"","sources":["../../src/models/ResourceInitializer.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ResourceInitializer.js","sourceRoot":"","sources":["../../src/models/ResourceInitializer.ts"],"names":[],"mappings":";;;AASA,2DAAwD;AAExD,MAAa,mBAAmB;IAET;IACA;IACA;IAHrB,YACqB,KAAY,EACZ,YAA0B,EAC1B,MAAc;QAFd,UAAK,GAAL,KAAK,CAAO;QACZ,iBAAY,GAAZ,YAAY,CAAc;QAC1B,WAAM,GAAN,MAAM,CAAQ;QAEjC,IAAI,CAAC,iBAAiB,GAAG,IAAI,qCAAiB,CAC5C,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,MAAM,CACZ,CAAC;IACJ,CAAC;IAEgB,iBAAiB,CAAoB;IAEtD;;;OAGG;IACI,KAAK,CAAC,kBAAkB,CAM7B,QAA2C,EAC3C,MAAe,EACf,YAAiD;QAEjD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QAErC,IAAI,KAAyB,CAAC;QAC9B,mDAAmD;QACnD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,QAAQ,CAAC,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,CAAQ,CAAC;QACjD,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CACnC,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,OAAO,CACR,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,KAAe,EAAE,OAAO,EAAE,CAAC;IAC7C,CAAC;IAED,8BAA8B;IAEvB,KAAK,CAAC,kBAAkB,CAM7B,QAAsC,EACtC,MAAS,EACT,YAA6C,EAC7C,OAAiB;QAEjB,OAAO,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAC3C,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,OAAO,CACR,CAAC;IACJ,CAAC;CACF;AArED,kDAqEC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { DependencyMapType, IEvent, ITask } from "../defs";
|
|
2
|
+
import { IResource } from "../defs";
|
|
3
|
+
import { EventManager } from "./EventManager";
|
|
4
|
+
import { Logger } from "./Logger";
|
|
5
|
+
import { Store } from "./Store";
|
|
6
|
+
import { TaskRunner } from "./TaskRunner";
|
|
7
|
+
export declare class RunResult<V> {
|
|
8
|
+
readonly value: V;
|
|
9
|
+
readonly logger: Logger;
|
|
10
|
+
readonly store: Store;
|
|
11
|
+
private readonly eventManager;
|
|
12
|
+
private readonly taskRunner;
|
|
13
|
+
private readonly disposeFn;
|
|
14
|
+
constructor(value: V, logger: Logger, store: Store, eventManager: EventManager, taskRunner: TaskRunner, disposeFn: () => Promise<void>);
|
|
15
|
+
/**
|
|
16
|
+
* Run a task within the context of the run result.
|
|
17
|
+
* @param task - The task to run.
|
|
18
|
+
* @param args - The arguments to pass to the task.
|
|
19
|
+
* @returns The result of the task.
|
|
20
|
+
*/
|
|
21
|
+
runTask: <I = undefined, O extends Promise<any> = any, D extends DependencyMapType = any>(task: ITask<I, O, D> | string, ...args: I extends undefined | void ? [] : [I]) => Promise<O | undefined>;
|
|
22
|
+
/**
|
|
23
|
+
* Emit an event within the context of the run result.
|
|
24
|
+
* @param event - The event to emit.
|
|
25
|
+
* @param payload - The payload to emit.
|
|
26
|
+
*/
|
|
27
|
+
emitEvent: <P>(event: IEvent<P> | string, payload?: P extends undefined | void ? undefined : P) => Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Get the value of a resource from the run result.
|
|
30
|
+
* @param resource - The resource to get the value of.
|
|
31
|
+
* @returns The value of the resource.
|
|
32
|
+
*/
|
|
33
|
+
getResourceValue: <Output extends Promise<any>>(resource: string | IResource<any, Output, any, any, any>) => Output extends Promise<infer U> ? U : Output;
|
|
34
|
+
dispose: () => Promise<void>;
|
|
35
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RunResult = void 0;
|
|
4
|
+
const errors_1 = require("../errors");
|
|
5
|
+
class RunResult {
|
|
6
|
+
value;
|
|
7
|
+
logger;
|
|
8
|
+
store;
|
|
9
|
+
eventManager;
|
|
10
|
+
taskRunner;
|
|
11
|
+
disposeFn;
|
|
12
|
+
constructor(value, logger, store, eventManager, taskRunner, disposeFn) {
|
|
13
|
+
this.value = value;
|
|
14
|
+
this.logger = logger;
|
|
15
|
+
this.store = store;
|
|
16
|
+
this.eventManager = eventManager;
|
|
17
|
+
this.taskRunner = taskRunner;
|
|
18
|
+
this.disposeFn = disposeFn;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Run a task within the context of the run result.
|
|
22
|
+
* @param task - The task to run.
|
|
23
|
+
* @param args - The arguments to pass to the task.
|
|
24
|
+
* @returns The result of the task.
|
|
25
|
+
*/
|
|
26
|
+
runTask = (task, ...args) => {
|
|
27
|
+
if (typeof task === "string") {
|
|
28
|
+
const taskId = task;
|
|
29
|
+
if (!this.store.tasks.has(taskId)) {
|
|
30
|
+
throw new errors_1.RuntimeError(`Task "${taskId}" not found.`);
|
|
31
|
+
}
|
|
32
|
+
task = this.store.tasks.get(taskId).task;
|
|
33
|
+
}
|
|
34
|
+
return this.taskRunner.run(task, ...args);
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Emit an event within the context of the run result.
|
|
38
|
+
* @param event - The event to emit.
|
|
39
|
+
* @param payload - The payload to emit.
|
|
40
|
+
*/
|
|
41
|
+
emitEvent = (event, payload) => {
|
|
42
|
+
if (typeof event === "string") {
|
|
43
|
+
const eventId = event;
|
|
44
|
+
if (!this.store.events.has(eventId)) {
|
|
45
|
+
throw new errors_1.RuntimeError(`Event "${eventId}" not found.`);
|
|
46
|
+
}
|
|
47
|
+
event = this.store.events.get(eventId).event;
|
|
48
|
+
}
|
|
49
|
+
return this.eventManager.emit(event, payload, "outside");
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Get the value of a resource from the run result.
|
|
53
|
+
* @param resource - The resource to get the value of.
|
|
54
|
+
* @returns The value of the resource.
|
|
55
|
+
*/
|
|
56
|
+
getResourceValue = (resource) => {
|
|
57
|
+
const resourceId = typeof resource === "string" ? resource : resource.id;
|
|
58
|
+
if (!this.store.resources.has(resourceId)) {
|
|
59
|
+
throw new errors_1.ResourceNotFoundError(resourceId);
|
|
60
|
+
}
|
|
61
|
+
return this.store.resources.get(resourceId).value;
|
|
62
|
+
};
|
|
63
|
+
dispose = () => {
|
|
64
|
+
return this.disposeFn();
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
exports.RunResult = RunResult;
|
|
68
|
+
//# sourceMappingURL=RunResult.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RunResult.js","sourceRoot":"","sources":["../../src/models/RunResult.ts"],"names":[],"mappings":";;;AAEA,sCAAgE;AAOhE,MAAa,SAAS;IAEF;IACA;IACA;IACC;IACA;IACA;IANnB,YACkB,KAAQ,EACR,MAAc,EACd,KAAY,EACX,YAA0B,EAC1B,UAAsB,EACtB,SAA8B;QAL/B,UAAK,GAAL,KAAK,CAAG;QACR,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAO;QACX,iBAAY,GAAZ,YAAY,CAAc;QAC1B,eAAU,GAAV,UAAU,CAAY;QACtB,cAAS,GAAT,SAAS,CAAqB;IAC9C,CAAC;IAEJ;;;;;OAKG;IACI,OAAO,GAAG,CAKf,IAA6B,EAC7B,GAAG,IAA2C,EAC9C,EAAE;QACF,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,qBAAY,CAAC,SAAS,MAAM,cAAc,CAAC,CAAC;YACxD,CAAC;YACD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC;QAC5C,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC;IAEF;;;;OAIG;IACI,SAAS,GAAG,CACjB,KAAyB,EACzB,OAAoD,EACpD,EAAE;QACF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,qBAAY,CAAC,UAAU,OAAO,cAAc,CAAC,CAAC;YAC1D,CAAC;YACD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,KAAK,CAAC;QAChD,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAC3D,CAAC,CAAC;IAEF;;;;OAIG;IACI,gBAAgB,GAAG,CACxB,QAAwD,EACV,EAAE;QAChD,MAAM,UAAU,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,8BAAqB,CAAC,UAAU,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,KAAK,CAAC;IACrD,CAAC,CAAC;IAEK,OAAO,GAAG,GAAG,EAAE;QACpB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC,CAAC;CACH;AAzED,8BAyEC"}
|
package/dist/models/Store.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { IResource, RegisterableItems,
|
|
2
|
-
import { IDependentNode } from "../tools/findCircularDependencies";
|
|
1
|
+
import { IResource, ITask, RegisterableItems, ITaskMiddleware, IResourceMiddleware, ITag } from "../defs";
|
|
3
2
|
import { EventManager } from "./EventManager";
|
|
4
3
|
import { Logger } from "./Logger";
|
|
5
|
-
import { ResourceStoreElementType, TaskStoreElementType,
|
|
6
|
-
|
|
4
|
+
import { ResourceStoreElementType, TaskStoreElementType, TaskMiddlewareStoreElementType, ResourceMiddlewareStoreElementType, EventStoreElementType } from "../types/storeTypes";
|
|
5
|
+
import { TaskRunner } from "./TaskRunner";
|
|
6
|
+
import { OnUnhandledError } from "./UnhandledError";
|
|
7
|
+
import { MiddlewareManager } from "./MiddlewareManager";
|
|
8
|
+
export { ResourceStoreElementType, TaskStoreElementType, EventStoreElementType, };
|
|
7
9
|
/**
|
|
8
10
|
* Store class which is used to store all the resources, tasks, middleware and events.
|
|
9
11
|
*/
|
|
@@ -11,33 +13,44 @@ export declare class Store {
|
|
|
11
13
|
#private;
|
|
12
14
|
protected readonly eventManager: EventManager;
|
|
13
15
|
protected readonly logger: Logger;
|
|
16
|
+
readonly onUnhandledError: OnUnhandledError;
|
|
14
17
|
root: ResourceStoreElementType;
|
|
15
18
|
private registry;
|
|
16
19
|
private overrideManager;
|
|
17
20
|
private validator;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
get
|
|
22
|
-
get
|
|
23
|
-
get
|
|
21
|
+
private taskRunner?;
|
|
22
|
+
private middlewareManager;
|
|
23
|
+
constructor(eventManager: EventManager, logger: Logger, onUnhandledError: OnUnhandledError);
|
|
24
|
+
get tasks(): Map<string, TaskStoreElementType>;
|
|
25
|
+
get hooks(): Map<string, import("../defs").HookStoreElementType>;
|
|
26
|
+
get resources(): Map<string, ResourceStoreElementType>;
|
|
27
|
+
get events(): Map<string, EventStoreElementType>;
|
|
28
|
+
get taskMiddlewares(): Map<string, TaskMiddlewareStoreElementType>;
|
|
29
|
+
get resourceMiddlewares(): Map<string, ResourceMiddlewareStoreElementType>;
|
|
30
|
+
get tags(): Map<string, ITag<void, void, void>>;
|
|
31
|
+
get overrides(): Map<string, IResourceMiddleware<any, void, void, any> | ITask<any, any, {}, any, import("../defs").TagType[], import("../defs").TaskMiddlewareAttachmentType[]> | IResource<void, Promise<any>, any, any, any, import("../defs").TagType[], import("../defs").ResourceMiddlewareAttachmentType[]> | ITaskMiddleware<any, void, void, any> | import("../defs").IResourceWithConfig<any, Promise<any>, any, any, any, import("../defs").TagType[], IResourceMiddleware<any, void, void, any>[]> | import("../defs").IHook<{}, any, any>>;
|
|
24
32
|
get overrideRequests(): Set<{
|
|
25
|
-
source: string
|
|
33
|
+
source: string;
|
|
26
34
|
override: RegisterableItems;
|
|
27
35
|
}>;
|
|
36
|
+
getMiddlewareManager(): MiddlewareManager;
|
|
28
37
|
get isLocked(): boolean;
|
|
29
38
|
lock(): void;
|
|
30
39
|
checkLock(): void;
|
|
31
40
|
private registerGlobalComponents;
|
|
41
|
+
setTaskRunner(taskRunner: TaskRunner): void;
|
|
32
42
|
private setupRootResource;
|
|
43
|
+
validateDependencyGraph(): void;
|
|
33
44
|
initializeStore(root: IResource<any, any, any, any, any>, config: any): void;
|
|
34
45
|
dispose(): Promise<void>;
|
|
35
46
|
processOverrides(): void;
|
|
36
|
-
getEverywhereMiddlewareForTasks(excludingIds: Array<string | symbol>): IMiddleware[];
|
|
37
|
-
getEverywhereMiddlewareForResources(excludingIds: Array<string | symbol>): IMiddleware[];
|
|
38
47
|
storeGenericItem<C>(item: RegisterableItems): void;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
48
|
+
storeEventsForAllTRM(): void;
|
|
49
|
+
/**
|
|
50
|
+
* Returns all tasks with the given tag.
|
|
51
|
+
* @param tag - The tag to filter by.
|
|
52
|
+
* @returns The tasks with the given tag.
|
|
53
|
+
*/
|
|
54
|
+
getTasksWithTag(tag: string | ITag): ITask<any, any, any, any, import("../defs").TagType[], import("../defs").TaskMiddlewareAttachmentType[]>[];
|
|
55
|
+
getResourcesWithTag(tag: string | ITag): IResource<any, any, {}, any, any, import("../defs").TagType[], import("../defs").ResourceMiddlewareAttachmentType[]>[];
|
|
43
56
|
}
|
package/dist/models/Store.js
CHANGED
|
@@ -1,42 +1,62 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Store = void 0;
|
|
4
|
+
const findCircularDependencies_1 = require("./utils/findCircularDependencies");
|
|
4
5
|
const globalEvents_1 = require("../globals/globalEvents");
|
|
5
6
|
const errors_1 = require("../errors");
|
|
6
7
|
const StoreRegistry_1 = require("./StoreRegistry");
|
|
7
8
|
const OverrideManager_1 = require("./OverrideManager");
|
|
8
|
-
const
|
|
9
|
+
const globalResources_1 = require("../globals/globalResources");
|
|
10
|
+
const requireContext_middleware_1 = require("../globals/middleware/requireContext.middleware");
|
|
11
|
+
const retry_middleware_1 = require("../globals/middleware/retry.middleware");
|
|
12
|
+
const timeout_middleware_1 = require("../globals/middleware/timeout.middleware");
|
|
13
|
+
const globalTags_1 = require("../globals/globalTags");
|
|
14
|
+
const MiddlewareManager_1 = require("./MiddlewareManager");
|
|
9
15
|
/**
|
|
10
16
|
* Store class which is used to store all the resources, tasks, middleware and events.
|
|
11
17
|
*/
|
|
12
18
|
class Store {
|
|
13
19
|
eventManager;
|
|
14
20
|
logger;
|
|
21
|
+
onUnhandledError;
|
|
15
22
|
root;
|
|
16
23
|
registry;
|
|
17
24
|
overrideManager;
|
|
18
25
|
validator;
|
|
26
|
+
taskRunner;
|
|
27
|
+
middlewareManager;
|
|
19
28
|
#isLocked = false;
|
|
20
29
|
#isInitialized = false;
|
|
21
|
-
constructor(eventManager, logger) {
|
|
30
|
+
constructor(eventManager, logger, onUnhandledError) {
|
|
22
31
|
this.eventManager = eventManager;
|
|
23
32
|
this.logger = logger;
|
|
24
|
-
this.
|
|
33
|
+
this.onUnhandledError = onUnhandledError;
|
|
34
|
+
this.registry = new StoreRegistry_1.StoreRegistry(this);
|
|
25
35
|
this.validator = this.registry.getValidator();
|
|
26
36
|
this.overrideManager = new OverrideManager_1.OverrideManager(this.registry);
|
|
37
|
+
this.middlewareManager = new MiddlewareManager_1.MiddlewareManager(this, eventManager, logger);
|
|
27
38
|
}
|
|
28
39
|
// Delegate properties to registry
|
|
29
40
|
get tasks() {
|
|
30
41
|
return this.registry.tasks;
|
|
31
42
|
}
|
|
43
|
+
get hooks() {
|
|
44
|
+
return this.registry.hooks;
|
|
45
|
+
}
|
|
32
46
|
get resources() {
|
|
33
47
|
return this.registry.resources;
|
|
34
48
|
}
|
|
35
49
|
get events() {
|
|
36
50
|
return this.registry.events;
|
|
37
51
|
}
|
|
38
|
-
get
|
|
39
|
-
return this.registry.
|
|
52
|
+
get taskMiddlewares() {
|
|
53
|
+
return this.registry.taskMiddlewares;
|
|
54
|
+
}
|
|
55
|
+
get resourceMiddlewares() {
|
|
56
|
+
return this.registry.resourceMiddlewares;
|
|
57
|
+
}
|
|
58
|
+
get tags() {
|
|
59
|
+
return this.registry.tags;
|
|
40
60
|
}
|
|
41
61
|
get overrides() {
|
|
42
62
|
return this.overrideManager.overrides;
|
|
@@ -44,12 +64,16 @@ class Store {
|
|
|
44
64
|
get overrideRequests() {
|
|
45
65
|
return this.overrideManager.overrideRequests;
|
|
46
66
|
}
|
|
67
|
+
// Expose the shared MiddlewareManager instance so other components (like TaskRunner)
|
|
68
|
+
// can compose runners using the same interceptor configuration.
|
|
69
|
+
getMiddlewareManager() {
|
|
70
|
+
return this.middlewareManager;
|
|
71
|
+
}
|
|
47
72
|
get isLocked() {
|
|
48
73
|
return this.#isLocked;
|
|
49
74
|
}
|
|
50
75
|
lock() {
|
|
51
76
|
this.#isLocked = true;
|
|
52
|
-
this.eventManager.lock();
|
|
53
77
|
}
|
|
54
78
|
checkLock() {
|
|
55
79
|
if (this.#isLocked) {
|
|
@@ -57,23 +81,57 @@ class Store {
|
|
|
57
81
|
}
|
|
58
82
|
}
|
|
59
83
|
registerGlobalComponents() {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
84
|
+
const builtInResourcesMap = new Map();
|
|
85
|
+
builtInResourcesMap.set(globalResources_1.globalResources.store, this);
|
|
86
|
+
builtInResourcesMap.set(globalResources_1.globalResources.eventManager, this.eventManager);
|
|
87
|
+
builtInResourcesMap.set(globalResources_1.globalResources.logger, this.logger);
|
|
88
|
+
builtInResourcesMap.set(globalResources_1.globalResources.taskRunner, this.taskRunner);
|
|
89
|
+
builtInResourcesMap.set(globalResources_1.globalResources.middlewareManager, this.middlewareManager);
|
|
90
|
+
this.registry.storeGenericItem(globalResources_1.globalResources.queue);
|
|
91
|
+
for (const [resource, value] of builtInResourcesMap.entries()) {
|
|
63
92
|
this.registry.storeGenericItem(resource);
|
|
93
|
+
const entry = this.resources.get(resource.id);
|
|
94
|
+
if (entry) {
|
|
95
|
+
entry.value = value;
|
|
96
|
+
entry.isInitialized = true;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
// Register global tags
|
|
100
|
+
Object.values(globalTags_1.globalTags).forEach((tag) => {
|
|
101
|
+
this.registry.storeTag(tag);
|
|
64
102
|
});
|
|
65
103
|
// Register global events
|
|
66
104
|
globalEvents_1.globalEventsArray.forEach((event) => {
|
|
67
105
|
this.registry.storeEvent(event);
|
|
68
106
|
});
|
|
69
107
|
// Register built-in middlewares
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
108
|
+
// Built-in middlewares currently target tasks only; adjust as needed per kind
|
|
109
|
+
const builtInTaskMiddlewares = [
|
|
110
|
+
requireContext_middleware_1.requireContextTaskMiddleware,
|
|
111
|
+
retry_middleware_1.retryTaskMiddleware,
|
|
112
|
+
timeout_middleware_1.timeoutTaskMiddleware,
|
|
113
|
+
];
|
|
114
|
+
builtInTaskMiddlewares.forEach((middleware) => {
|
|
115
|
+
this.registry.taskMiddlewares.set(middleware.id, {
|
|
116
|
+
middleware: middleware,
|
|
74
117
|
computedDependencies: {},
|
|
118
|
+
isInitialized: false,
|
|
75
119
|
});
|
|
76
120
|
});
|
|
121
|
+
const builtInResourceMiddlewares = [
|
|
122
|
+
retry_middleware_1.retryResourceMiddleware,
|
|
123
|
+
timeout_middleware_1.timeoutResourceMiddleware,
|
|
124
|
+
];
|
|
125
|
+
builtInResourceMiddlewares.forEach((middleware) => {
|
|
126
|
+
this.registry.resourceMiddlewares.set(middleware.id, {
|
|
127
|
+
middleware: middleware,
|
|
128
|
+
computedDependencies: {},
|
|
129
|
+
isInitialized: false,
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
setTaskRunner(taskRunner) {
|
|
134
|
+
this.taskRunner = taskRunner;
|
|
77
135
|
}
|
|
78
136
|
setupRootResource(root, config) {
|
|
79
137
|
root.dependencies =
|
|
@@ -91,6 +149,14 @@ class Store {
|
|
|
91
149
|
this.registry.computeRegistrationDeeply(root, config);
|
|
92
150
|
this.registry.resources.set(root.id, this.root);
|
|
93
151
|
}
|
|
152
|
+
validateDependencyGraph() {
|
|
153
|
+
// We verify that there isn't any circular dependencies before we begin computing the dependencies
|
|
154
|
+
const dependentNodes = this.registry.getDependentNodes();
|
|
155
|
+
const circularDependencies = (0, findCircularDependencies_1.findCircularDependencies)(dependentNodes);
|
|
156
|
+
if (circularDependencies.cycles.length > 0) {
|
|
157
|
+
throw new errors_1.CircularDependenciesError(circularDependencies.cycles);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
94
160
|
initializeStore(root, config) {
|
|
95
161
|
if (this.#isInitialized) {
|
|
96
162
|
throw new errors_1.StoreAlreadyInitializedError();
|
|
@@ -105,7 +171,7 @@ class Store {
|
|
|
105
171
|
}
|
|
106
172
|
async dispose() {
|
|
107
173
|
for (const resource of this.resources.values()) {
|
|
108
|
-
if (resource.resource.dispose) {
|
|
174
|
+
if (resource.isInitialized && resource.resource.dispose) {
|
|
109
175
|
await resource.resource.dispose(resource.value, resource.config, resource.computedDependencies, resource.context);
|
|
110
176
|
}
|
|
111
177
|
}
|
|
@@ -113,27 +179,23 @@ class Store {
|
|
|
113
179
|
processOverrides() {
|
|
114
180
|
this.overrideManager.processOverrides();
|
|
115
181
|
}
|
|
116
|
-
getEverywhereMiddlewareForTasks(excludingIds) {
|
|
117
|
-
return this.registry.getEverywhereMiddlewareForTasks(excludingIds);
|
|
118
|
-
}
|
|
119
|
-
getEverywhereMiddlewareForResources(excludingIds) {
|
|
120
|
-
return this.registry.getEverywhereMiddlewareForResources(excludingIds);
|
|
121
|
-
}
|
|
122
182
|
storeGenericItem(item) {
|
|
123
183
|
return this.registry.storeGenericItem(item);
|
|
124
184
|
}
|
|
125
|
-
|
|
126
|
-
this.registry.
|
|
185
|
+
storeEventsForAllTRM() {
|
|
186
|
+
this.registry.storeEventsForAllTRM();
|
|
127
187
|
}
|
|
188
|
+
/**
|
|
189
|
+
* Returns all tasks with the given tag.
|
|
190
|
+
* @param tag - The tag to filter by.
|
|
191
|
+
* @returns The tasks with the given tag.
|
|
192
|
+
*/
|
|
128
193
|
getTasksWithTag(tag) {
|
|
129
194
|
return this.registry.getTasksWithTag(tag);
|
|
130
195
|
}
|
|
131
196
|
getResourcesWithTag(tag) {
|
|
132
197
|
return this.registry.getResourcesWithTag(tag);
|
|
133
198
|
}
|
|
134
|
-
getDependentNodes() {
|
|
135
|
-
return this.registry.getDependentNodes();
|
|
136
|
-
}
|
|
137
199
|
}
|
|
138
200
|
exports.Store = Store;
|
|
139
201
|
//# sourceMappingURL=Store.js.map
|
package/dist/models/Store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Store.js","sourceRoot":"","sources":["../../src/models/Store.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Store.js","sourceRoot":"","sources":["../../src/models/Store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +1,42 @@
|
|
|
1
|
-
import { IResource, ITask, IResourceWithConfig, RegisterableItems,
|
|
2
|
-
import {
|
|
1
|
+
import { IResource, ITask, IResourceWithConfig, RegisterableItems, ITaskMiddleware, IResourceMiddleware, IEvent, ITag, IHook } from "../defs";
|
|
2
|
+
import { IDependentNode } from "./utils/findCircularDependencies";
|
|
3
|
+
import { TaskStoreElementType, TaskMiddlewareStoreElementType, ResourceMiddlewareStoreElementType, ResourceStoreElementType, EventStoreElementType, HookStoreElementType } from "../defs";
|
|
3
4
|
import { StoreValidator } from "./StoreValidator";
|
|
5
|
+
import { Store } from "./Store";
|
|
6
|
+
type StoringMode = "normal" | "override";
|
|
4
7
|
export declare class StoreRegistry {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
protected readonly store: Store;
|
|
9
|
+
tasks: Map<string, TaskStoreElementType>;
|
|
10
|
+
resources: Map<string, ResourceStoreElementType>;
|
|
11
|
+
events: Map<string, EventStoreElementType>;
|
|
12
|
+
taskMiddlewares: Map<string, TaskMiddlewareStoreElementType>;
|
|
13
|
+
resourceMiddlewares: Map<string, ResourceMiddlewareStoreElementType>;
|
|
14
|
+
hooks: Map<string, HookStoreElementType>;
|
|
15
|
+
tags: Map<string, ITag>;
|
|
9
16
|
private validator;
|
|
10
|
-
constructor();
|
|
17
|
+
constructor(store: Store);
|
|
11
18
|
getValidator(): StoreValidator;
|
|
12
19
|
storeGenericItem<C>(item: RegisterableItems): void;
|
|
13
|
-
|
|
20
|
+
storeTag(item: ITag<any, any>): void;
|
|
21
|
+
storeHook<C>(item: IHook<any, any>, overrideMode?: StoringMode): void;
|
|
22
|
+
storeTaskMiddleware<C>(item: ITaskMiddleware<any>, storingMode?: StoringMode): void;
|
|
23
|
+
storeResourceMiddleware<C>(item: IResourceMiddleware<any>, overrideMode?: StoringMode): void;
|
|
14
24
|
storeEvent<C>(item: IEvent<void>): void;
|
|
15
|
-
storeResourceWithConfig<C>(item: IResourceWithConfig<any, any, any>,
|
|
25
|
+
storeResourceWithConfig<C>(item: IResourceWithConfig<any, any, any>, storingMode?: StoringMode): IResource<any, any, any, any, any, import("../defs").TagType[], IResourceMiddleware<any, void, void, any>[]>;
|
|
16
26
|
computeRegistrationDeeply<C>(element: IResource<C>, config?: C): void;
|
|
17
|
-
storeResource<C>(item: IResource<any, any, any>,
|
|
18
|
-
storeTask<C>(item: ITask<any, any, {}>,
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
getTasksWithTag(tag: string | ITag):
|
|
26
|
-
getResourcesWithTag(tag: string | ITag):
|
|
27
|
+
storeResource<C>(item: IResource<any, any, any>, overrideMode?: StoringMode): IResource<any, any, any, any, any, import("../defs").TagType[], import("../defs").ResourceMiddlewareAttachmentType[]>;
|
|
28
|
+
storeTask<C>(item: ITask<any, any, {}>, storingMode?: StoringMode): void;
|
|
29
|
+
/**
|
|
30
|
+
* TRM = tasks, resources and middlewares
|
|
31
|
+
*/
|
|
32
|
+
storeEventsForAllTRM(): void;
|
|
33
|
+
getDependentNodes(): IDependentNode[];
|
|
34
|
+
private setupBlankNodes;
|
|
35
|
+
getTasksWithTag(tag: string | ITag): ITask<any, any, any, any, import("../defs").TagType[], import("../defs").TaskMiddlewareAttachmentType[]>[];
|
|
36
|
+
getResourcesWithTag(tag: string | ITag): IResource<any, any, {}, any, any, import("../defs").TagType[], import("../defs").ResourceMiddlewareAttachmentType[]>[];
|
|
37
|
+
/**
|
|
38
|
+
* Used to fetch the value cloned, and if we're dealing with an override, we need to extend the previous value.
|
|
39
|
+
*/
|
|
40
|
+
private getFreshValue;
|
|
27
41
|
}
|
|
42
|
+
export {};
|