@quadnix/octo 0.0.21 → 0.0.23
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/app.type.d.ts +124 -27
- package/dist/app.type.js +77 -7
- package/dist/app.type.js.map +1 -1
- package/dist/decorators/action.decorator.d.ts +7 -8
- package/dist/decorators/action.decorator.js +45 -44
- package/dist/decorators/action.decorator.js.map +1 -1
- package/dist/decorators/anchor.decorator.d.ts +2 -2
- package/dist/decorators/anchor.decorator.js +16 -11
- package/dist/decorators/anchor.decorator.js.map +1 -1
- package/dist/decorators/enable-hook.decorator.js +2 -2
- package/dist/decorators/enable-hook.decorator.js.map +1 -1
- package/dist/decorators/event-source.decorator.d.ts +1 -1
- package/dist/decorators/event-source.decorator.js +7 -2
- package/dist/decorators/event-source.decorator.js.map +1 -1
- package/dist/decorators/factory.decorator.d.ts +32 -1
- package/dist/decorators/factory.decorator.js +35 -3
- package/dist/decorators/factory.decorator.js.map +1 -1
- package/dist/decorators/model.decorator.d.ts +3 -2
- package/dist/decorators/model.decorator.js +24 -11
- package/dist/decorators/model.decorator.js.map +1 -1
- package/dist/decorators/module.decorator.d.ts +4 -71
- package/dist/decorators/module.decorator.js +18 -58
- package/dist/decorators/module.decorator.js.map +1 -1
- package/dist/decorators/on-event.decorator.d.ts +1 -1
- package/dist/decorators/on-event.decorator.js +7 -2
- package/dist/decorators/on-event.decorator.js.map +1 -1
- package/dist/decorators/overlay.decorator.d.ts +3 -2
- package/dist/decorators/overlay.decorator.js +23 -11
- package/dist/decorators/overlay.decorator.js.map +1 -1
- package/dist/decorators/resource.decorator.d.ts +3 -2
- package/dist/decorators/resource.decorator.js +23 -11
- package/dist/decorators/resource.decorator.js.map +1 -1
- package/dist/decorators/validate.decorator.d.ts +4 -4
- package/dist/decorators/validate.decorator.js +16 -2
- package/dist/decorators/validate.decorator.js.map +1 -1
- package/dist/errors/container.error.d.ts +11 -0
- package/dist/errors/container.error.js +20 -0
- package/dist/errors/container.error.js.map +1 -0
- package/dist/errors/index.d.ts +6 -0
- package/dist/errors/index.js +7 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/input.error.d.ts +11 -0
- package/dist/errors/input.error.js +21 -0
- package/dist/errors/input.error.js.map +1 -0
- package/dist/errors/module.error.d.ts +4 -0
- package/dist/errors/module.error.js +8 -0
- package/dist/errors/module.error.js.map +1 -0
- package/dist/errors/node.error.d.ts +36 -0
- package/dist/errors/node.error.js +60 -0
- package/dist/errors/node.error.js.map +1 -0
- package/dist/errors/schema.error.d.ts +4 -0
- package/dist/errors/schema.error.js +8 -0
- package/dist/errors/schema.error.js.map +1 -0
- package/dist/errors/transaction.error.d.ts +35 -0
- package/dist/errors/transaction.error.js +58 -0
- package/dist/errors/transaction.error.js.map +1 -0
- package/dist/events/action.event.d.ts +13 -0
- package/dist/events/action.event.js +11 -0
- package/dist/events/action.event.js.map +1 -0
- package/dist/events/event.model.d.ts +6 -12
- package/dist/events/event.model.js +5 -11
- package/dist/events/event.model.js.map +1 -1
- package/dist/events/hook/commit.hook.event.d.ts +25 -0
- package/dist/events/hook/commit.hook.event.js +26 -0
- package/dist/events/hook/commit.hook.event.js.map +1 -0
- package/dist/events/hook/hook.event.d.ts +9 -0
- package/dist/events/hook/hook.event.js +10 -0
- package/dist/events/hook/hook.event.js.map +1 -0
- package/dist/events/hook/index.d.ts +4 -0
- package/dist/events/hook/index.js +5 -0
- package/dist/events/hook/index.js.map +1 -0
- package/dist/events/hook/model.hook.event.d.ts +25 -0
- package/dist/events/hook/model.hook.event.js +26 -0
- package/dist/events/hook/model.hook.event.js.map +1 -0
- package/dist/events/hook/resource.hook.event.d.ts +25 -0
- package/dist/events/hook/resource.hook.event.js +26 -0
- package/dist/events/hook/resource.hook.event.js.map +1 -0
- package/dist/events/index.d.ts +7 -0
- package/dist/events/index.js +8 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/module.event.d.ts +1 -6
- package/dist/events/module.event.js +0 -5
- package/dist/events/module.event.js.map +1 -1
- package/dist/events/registration.event.d.ts +9 -51
- package/dist/events/registration.event.js +16 -64
- package/dist/events/registration.event.js.map +1 -1
- package/dist/events/serialization.event.d.ts +24 -37
- package/dist/events/serialization.event.js +49 -33
- package/dist/events/serialization.event.js.map +1 -1
- package/dist/events/transaction.event.d.ts +45 -26
- package/dist/events/transaction.event.js +43 -25
- package/dist/events/transaction.event.js.map +1 -1
- package/dist/{decorators → functions/container}/container.d.ts +45 -31
- package/dist/{decorators → functions/container}/container.js +90 -58
- package/dist/functions/container/container.js.map +1 -0
- package/dist/{decorators → functions/container}/test-container.d.ts +5 -13
- package/dist/{decorators → functions/container}/test-container.js +31 -43
- package/dist/functions/container/test-container.js.map +1 -0
- package/dist/functions/dependency/dependency.d.ts +6 -6
- package/dist/functions/dependency/dependency.js +4 -3
- package/dist/functions/dependency/dependency.js.map +1 -1
- package/dist/functions/diff/diff-metadata.d.ts +4 -6
- package/dist/functions/diff/diff-metadata.js +4 -3
- package/dist/functions/diff/diff-metadata.js.map +1 -1
- package/dist/functions/diff/diff.d.ts +12 -7
- package/dist/functions/diff/diff.js +9 -12
- package/dist/functions/diff/diff.js.map +1 -1
- package/dist/functions/diff/diff.utility.d.ts +24 -24
- package/dist/functions/diff/diff.utility.js +46 -25
- package/dist/functions/diff/diff.utility.js.map +1 -1
- package/dist/functions/hook/commit.hook.d.ts +14 -3
- package/dist/functions/hook/commit.hook.js +16 -16
- package/dist/functions/hook/commit.hook.js.map +1 -1
- package/dist/functions/hook/hook.interface.d.ts +7 -6
- package/dist/functions/hook/model-action.hook.d.ts +17 -5
- package/dist/functions/hook/model-action.hook.js +20 -39
- package/dist/functions/hook/model-action.hook.js.map +1 -1
- package/dist/functions/hook/resource-action.hook.d.ts +17 -5
- package/dist/functions/hook/resource-action.hook.js +18 -18
- package/dist/functions/hook/resource-action.hook.js.map +1 -1
- package/dist/functions/node/node-action.abstract.d.ts +7 -0
- package/dist/functions/node/node-action.abstract.js +20 -0
- package/dist/functions/node/node-action.abstract.js.map +1 -0
- package/dist/functions/node/node.abstract.d.ts +93 -0
- package/dist/functions/node/node.abstract.js +342 -0
- package/dist/functions/node/node.abstract.js.map +1 -0
- package/dist/functions/node/node.interface.d.ts +176 -0
- package/dist/functions/node/node.interface.js +2 -0
- package/dist/functions/node/node.interface.js.map +1 -0
- package/dist/functions/schema/schema.d.ts +4 -0
- package/dist/functions/schema/schema.js +38 -0
- package/dist/functions/schema/schema.js.map +1 -0
- package/dist/index.d.ts +31 -33
- package/dist/index.js +32 -16
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts +34 -22
- package/dist/main.js +92 -53
- package/dist/main.js.map +1 -1
- package/dist/models/account/account.model.d.ts +23 -0
- package/dist/models/account/account.model.js +67 -0
- package/dist/models/account/account.model.js.map +1 -0
- package/dist/models/account/account.schema.d.ts +7 -0
- package/dist/models/account/account.schema.js +12 -0
- package/dist/models/account/account.schema.js.map +1 -0
- package/dist/models/app/app.model.d.ts +6 -15
- package/dist/models/app/app.model.js +26 -31
- package/dist/models/app/app.model.js.map +1 -1
- package/dist/models/app/app.schema.d.ts +3 -0
- package/dist/models/app/app.schema.js +21 -0
- package/dist/models/app/app.schema.js.map +1 -0
- package/dist/models/deployment/deployment.model.d.ts +6 -13
- package/dist/models/deployment/deployment.model.js +11 -16
- package/dist/models/deployment/deployment.model.js.map +1 -1
- package/dist/models/deployment/deployment.schema.d.ts +7 -0
- package/dist/models/deployment/deployment.schema.js +25 -0
- package/dist/models/deployment/deployment.schema.js.map +1 -0
- package/dist/models/environment/environment.model.d.ts +5 -15
- package/dist/models/environment/environment.model.js +10 -28
- package/dist/models/environment/environment.model.js.map +1 -1
- package/dist/models/environment/environment.schema.d.ts +13 -0
- package/dist/models/environment/environment.schema.js +38 -0
- package/dist/models/environment/environment.schema.js.map +1 -0
- package/dist/models/execution/execution.model.d.ts +6 -14
- package/dist/models/execution/execution.model.js +15 -28
- package/dist/models/execution/execution.model.js.map +1 -1
- package/dist/models/execution/execution.schema.d.ts +14 -0
- package/dist/models/execution/execution.schema.js +34 -0
- package/dist/models/execution/execution.schema.js.map +1 -0
- package/dist/models/filesystem/filesystem.model.d.ts +10 -0
- package/dist/models/filesystem/filesystem.model.js +43 -0
- package/dist/models/filesystem/filesystem.model.js.map +1 -0
- package/dist/models/filesystem/filesystem.schema.d.ts +3 -0
- package/dist/models/filesystem/filesystem.schema.js +21 -0
- package/dist/models/filesystem/filesystem.schema.js.map +1 -0
- package/dist/models/image/image.model.d.ts +7 -41
- package/dist/models/image/image.model.js +17 -32
- package/dist/models/image/image.model.js.map +1 -1
- package/dist/models/image/image.schema.d.ts +9 -0
- package/dist/models/image/image.schema.js +31 -0
- package/dist/models/image/image.schema.js.map +1 -0
- package/dist/models/model-action.interface.d.ts +5 -19
- package/dist/models/model.abstract.d.ts +28 -316
- package/dist/models/model.abstract.js +180 -557
- package/dist/models/model.abstract.js.map +1 -1
- package/dist/models/model.interface.d.ts +42 -21
- package/dist/models/pipeline/pipeline.model.d.ts +5 -8
- package/dist/models/pipeline/pipeline.model.js +10 -16
- package/dist/models/pipeline/pipeline.model.js.map +1 -1
- package/dist/models/pipeline/pipeline.schema.d.ts +4 -0
- package/dist/models/pipeline/pipeline.schema.js +22 -0
- package/dist/models/pipeline/pipeline.schema.js.map +1 -0
- package/dist/models/region/region.model.d.ts +8 -9
- package/dist/models/region/region.model.js +25 -17
- package/dist/models/region/region.model.js.map +1 -1
- package/dist/models/region/region.schema.d.ts +3 -0
- package/dist/models/region/region.schema.js +21 -0
- package/dist/models/region/region.schema.js.map +1 -0
- package/dist/models/server/server.model.d.ts +5 -11
- package/dist/models/server/server.model.js +13 -16
- package/dist/models/server/server.model.js.map +1 -1
- package/dist/models/server/server.schema.d.ts +6 -0
- package/dist/models/server/server.schema.js +24 -0
- package/dist/models/server/server.schema.js.map +1 -0
- package/dist/models/service/service.model.d.ts +4 -10
- package/dist/models/service/service.model.js +12 -16
- package/dist/models/service/service.model.js.map +1 -1
- package/dist/models/service/service.schema.d.ts +6 -0
- package/dist/models/service/service.schema.js +24 -0
- package/dist/models/service/service.schema.js.map +1 -0
- package/dist/models/subnet/subnet.model.d.ts +10 -35
- package/dist/models/subnet/subnet.model.js +16 -47
- package/dist/models/subnet/subnet.model.js.map +1 -1
- package/dist/models/subnet/subnet.schema.d.ts +33 -0
- package/dist/models/subnet/subnet.schema.js +48 -0
- package/dist/models/subnet/subnet.schema.js.map +1 -0
- package/dist/modules/module.abstract.d.ts +21 -0
- package/dist/modules/module.abstract.js +14 -0
- package/dist/modules/module.abstract.js.map +1 -0
- package/dist/modules/module.container.d.ts +32 -18
- package/dist/modules/module.container.js +134 -81
- package/dist/modules/module.container.js.map +1 -1
- package/dist/modules/module.interface.d.ts +15 -2
- package/dist/modules/test-module.container.d.ts +33 -15
- package/dist/modules/test-module.container.js +264 -35
- package/dist/modules/test-module.container.js.map +1 -1
- package/dist/overlays/anchor.abstract.d.ts +13 -8
- package/dist/overlays/anchor.abstract.js.map +1 -1
- package/dist/overlays/anchor.interface.d.ts +5 -8
- package/dist/overlays/anchor.schema.d.ts +8 -0
- package/dist/overlays/anchor.schema.js +9 -0
- package/dist/overlays/anchor.schema.js.map +1 -0
- package/dist/overlays/overlay-data.repository.d.ts +3 -6
- package/dist/overlays/overlay-data.repository.js +17 -38
- package/dist/overlays/overlay-data.repository.js.map +1 -1
- package/dist/overlays/overlay.abstract.d.ts +15 -17
- package/dist/overlays/overlay.abstract.js +30 -44
- package/dist/overlays/overlay.abstract.js.map +1 -1
- package/dist/overlays/overlay.interface.d.ts +3 -7
- package/dist/overlays/overlay.schema.d.ts +8 -0
- package/dist/overlays/overlay.schema.js +9 -0
- package/dist/overlays/overlay.schema.js.map +1 -0
- package/dist/resources/resource-action.interface.d.ts +4 -3
- package/dist/resources/resource-data.repository.d.ts +16 -7
- package/dist/resources/resource-data.repository.js +118 -42
- package/dist/resources/resource-data.repository.js.map +1 -1
- package/dist/resources/resource.abstract.d.ts +56 -16
- package/dist/resources/resource.abstract.js +326 -19
- package/dist/resources/resource.abstract.js.map +1 -1
- package/dist/resources/resource.interface.d.ts +39 -8
- package/dist/resources/resource.schema.d.ts +14 -0
- package/dist/resources/resource.schema.js +11 -0
- package/dist/resources/resource.schema.js.map +1 -0
- package/dist/services/capture/capture.service.d.ts +6 -7
- package/dist/services/capture/capture.service.js +8 -5
- package/dist/services/capture/capture.service.js.map +1 -1
- package/dist/services/event/event.service.d.ts +3 -4
- package/dist/services/event/event.service.js +7 -9
- package/dist/services/event/event.service.js.map +1 -1
- package/dist/services/input/input.service.d.ts +62 -6
- package/dist/services/input/input.service.js +290 -14
- package/dist/services/input/input.service.js.map +1 -1
- package/dist/services/schema-translation/schema-translation.service.d.ts +13 -0
- package/dist/services/schema-translation/schema-translation.service.js +42 -0
- package/dist/services/schema-translation/schema-translation.service.js.map +1 -0
- package/dist/services/serialization/model/model-serialization.service.d.ts +1 -4
- package/dist/services/serialization/model/model-serialization.service.js +37 -33
- package/dist/services/serialization/model/model-serialization.service.js.map +1 -1
- package/dist/services/serialization/resource/resource-serialization.service.d.ts +5 -5
- package/dist/services/serialization/resource/resource-serialization.service.js +71 -96
- package/dist/services/serialization/resource/resource-serialization.service.js.map +1 -1
- package/dist/services/state-management/local.state-provider.d.ts +0 -1
- package/dist/services/state-management/local.state-provider.js +5 -7
- package/dist/services/state-management/local.state-provider.js.map +1 -1
- package/dist/services/state-management/state-management.service.d.ts +2 -3
- package/dist/services/state-management/state-management.service.js +19 -9
- package/dist/services/state-management/state-management.service.js.map +1 -1
- package/dist/services/state-management/state-provider.interface.d.ts +0 -1
- package/dist/services/state-management/test.state-provider.d.ts +0 -1
- package/dist/services/state-management/test.state-provider.js +2 -1
- package/dist/services/state-management/test.state-provider.js.map +1 -1
- package/dist/services/transaction/transaction.service.d.ts +18 -14
- package/dist/services/transaction/transaction.service.js +261 -132
- package/dist/services/transaction/transaction.service.js.map +1 -1
- package/dist/services/validation/validation.service.d.ts +2 -3
- package/dist/services/validation/validation.service.js +27 -12
- package/dist/services/validation/validation.service.js.map +1 -1
- package/dist/utilities/node/node.utility.d.ts +4 -0
- package/dist/utilities/node/node.utility.js +22 -0
- package/dist/utilities/node/node.utility.js.map +1 -0
- package/dist/utilities/object/object.utility.d.ts +3 -0
- package/dist/utilities/object/object.utility.js +33 -0
- package/dist/utilities/object/object.utility.js.map +1 -1
- package/dist/utilities/test-helpers/test-classes.d.ts +57 -0
- package/dist/utilities/test-helpers/test-classes.js +76 -0
- package/dist/utilities/test-helpers/test-classes.js.map +1 -0
- package/dist/utilities/test-helpers/test-models.d.ts +41 -0
- package/dist/utilities/test-helpers/test-models.js +224 -0
- package/dist/utilities/test-helpers/test-models.js.map +1 -0
- package/dist/utilities/test-helpers/test-overlays.d.ts +10 -0
- package/dist/utilities/test-helpers/test-overlays.js +53 -0
- package/dist/utilities/test-helpers/test-overlays.js.map +1 -0
- package/dist/utilities/test-helpers/test-resources.d.ts +22 -0
- package/dist/utilities/test-helpers/test-resources.js +162 -0
- package/dist/utilities/test-helpers/test-resources.js.map +1 -0
- package/dist/utilities/validation/validation.utility.d.ts +31 -3
- package/dist/utilities/validation/validation.utility.js +121 -2
- package/dist/utilities/validation/validation.utility.js.map +1 -1
- package/package.json +6 -6
- package/dist/decorators/container.js.map +0 -1
- package/dist/decorators/test-container.js.map +0 -1
- package/dist/events/error.event.d.ts +0 -35
- package/dist/events/error.event.js +0 -36
- package/dist/events/error.event.js.map +0 -1
- package/dist/events/hook.event.d.ts +0 -194
- package/dist/events/hook.event.js +0 -195
- package/dist/events/hook.event.js.map +0 -1
- package/dist/models/app/app.interface.d.ts +0 -9
- package/dist/models/app/app.interface.js +0 -2
- package/dist/models/app/app.interface.js.map +0 -1
- package/dist/models/deployment/deployment.interface.d.ts +0 -9
- package/dist/models/deployment/deployment.interface.js +0 -2
- package/dist/models/deployment/deployment.interface.js.map +0 -1
- package/dist/models/environment/environment.interface.d.ts +0 -12
- package/dist/models/environment/environment.interface.js +0 -2
- package/dist/models/environment/environment.interface.js.map +0 -1
- package/dist/models/execution/execution.interface.d.ts +0 -14
- package/dist/models/execution/execution.interface.js +0 -2
- package/dist/models/execution/execution.interface.js.map +0 -1
- package/dist/models/image/image.interface.d.ts +0 -12
- package/dist/models/image/image.interface.js +0 -2
- package/dist/models/image/image.interface.js.map +0 -1
- package/dist/models/pipeline/pipeline.interface.d.ts +0 -10
- package/dist/models/pipeline/pipeline.interface.js +0 -2
- package/dist/models/pipeline/pipeline.interface.js.map +0 -1
- package/dist/models/region/region.interface.d.ts +0 -9
- package/dist/models/region/region.interface.js +0 -2
- package/dist/models/region/region.interface.js.map +0 -1
- package/dist/models/server/server.interface.d.ts +0 -9
- package/dist/models/server/server.interface.js +0 -2
- package/dist/models/server/server.interface.js.map +0 -1
- package/dist/models/service/service.interface.d.ts +0 -9
- package/dist/models/service/service.interface.js +0 -2
- package/dist/models/service/service.interface.js.map +0 -1
- package/dist/models/subnet/subnet.interface.d.ts +0 -13
- package/dist/models/subnet/subnet.interface.js +0 -2
- package/dist/models/subnet/subnet.interface.js.map +0 -1
- package/dist/overlays/overlay.service.d.ts +0 -18
- package/dist/overlays/overlay.service.js +0 -45
- package/dist/overlays/overlay.service.js.map +0 -1
- package/dist/resources/shared-resource.abstract.d.ts +0 -13
- package/dist/resources/shared-resource.abstract.js +0 -47
- package/dist/resources/shared-resource.abstract.js.map +0 -1
|
@@ -1,29 +1,117 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MatchingResource } from '../app.type.js';
|
|
2
|
+
import { DiffInverseResourceError, RemoveResourceError, ResourceError } from '../errors/index.js';
|
|
3
|
+
import { DependencyRelationship } from '../functions/dependency/dependency.js';
|
|
2
4
|
import { Diff, DiffAction } from '../functions/diff/diff.js';
|
|
3
5
|
import { DiffUtility } from '../functions/diff/diff.utility.js';
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
import { ANode } from '../functions/node/node.abstract.js';
|
|
7
|
+
import { ObjectUtility } from '../utilities/object/object.utility.js';
|
|
8
|
+
export class AResource extends ANode {
|
|
9
|
+
constructor(resourceId, properties, parents = []) {
|
|
7
10
|
super();
|
|
8
11
|
this.resourceId = resourceId;
|
|
9
12
|
this.properties = properties;
|
|
10
|
-
this.
|
|
13
|
+
this._deleteMarker = false;
|
|
14
|
+
this.parents = [];
|
|
11
15
|
this.response = {};
|
|
16
|
+
this.tags = {};
|
|
12
17
|
for (const parent of parents) {
|
|
13
|
-
parent
|
|
18
|
+
if (parent instanceof MatchingResource) {
|
|
19
|
+
parent.addChild('resourceId', this, 'resourceId');
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
parent.addChild('resourceId', this, 'resourceId');
|
|
23
|
+
}
|
|
14
24
|
}
|
|
15
25
|
}
|
|
16
|
-
|
|
17
|
-
|
|
26
|
+
addChild(onField, child, toField) {
|
|
27
|
+
const result = super.addChild(onField, child, toField);
|
|
28
|
+
if (child.parents.findIndex((p) => p instanceof MatchingResource
|
|
29
|
+
? p.getActual().getContext() === this.getContext()
|
|
30
|
+
: p.getContext() === this.getContext()) === -1) {
|
|
31
|
+
child.parents.push(this);
|
|
32
|
+
}
|
|
33
|
+
return result;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* @deprecated Field dependencies are not supported in resources!
|
|
37
|
+
*/
|
|
38
|
+
addFieldDependency() {
|
|
39
|
+
throw new ResourceError('Field dependencies are not supported in resources!', this);
|
|
18
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* @deprecated Relationships are not supported in resources!
|
|
43
|
+
*/
|
|
19
44
|
addRelationship() {
|
|
20
|
-
throw new
|
|
45
|
+
throw new ResourceError('Relationships are not supported in resources!', this);
|
|
46
|
+
}
|
|
47
|
+
clonePropertiesInPlace(sourceResource) {
|
|
48
|
+
for (const key of Object.keys(this.properties)) {
|
|
49
|
+
delete this.properties[key];
|
|
50
|
+
}
|
|
51
|
+
for (const key of Object.keys(sourceResource.properties)) {
|
|
52
|
+
this.properties[key] = JSON.parse(JSON.stringify(sourceResource.properties[key]));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
static async cloneResource(sourceResource, deReferenceResource) {
|
|
56
|
+
const deserializationClass = sourceResource.constructor;
|
|
57
|
+
return deserializationClass.unSynth(deserializationClass, sourceResource.synth(), deReferenceResource);
|
|
58
|
+
}
|
|
59
|
+
async cloneResourceInPlace(sourceResource, deReferenceResource) {
|
|
60
|
+
// Remove all dependencies from self.
|
|
61
|
+
const selfParents = Object.values(this.getParents())
|
|
62
|
+
.flat()
|
|
63
|
+
.map((d) => d.to);
|
|
64
|
+
for (const parent of selfParents) {
|
|
65
|
+
this.removeRelationship(parent);
|
|
66
|
+
}
|
|
67
|
+
// Empty inline parents.
|
|
68
|
+
this.parents.splice(0, this.parents.length);
|
|
69
|
+
// From source resource, copy all parents.
|
|
70
|
+
for (const sourceParent of sourceResource.parents) {
|
|
71
|
+
const sourceParentActual = sourceParent instanceof MatchingResource ? sourceParent.getActual() : sourceParent;
|
|
72
|
+
const parent = await deReferenceResource(sourceParentActual.getContext());
|
|
73
|
+
const parentMatching = sourceParent instanceof MatchingResource ? new MatchingResource(parent, sourceParent.schemaTranslator) : parent;
|
|
74
|
+
const { childToParentDependency, parentToChildDependency } = parentMatching.addChild('resourceId', this, 'resourceId');
|
|
75
|
+
// Clone behaviors from source to its parent.
|
|
76
|
+
const sourceChildToParentDependency = sourceResource.getDependency(sourceParentActual, DependencyRelationship.CHILD);
|
|
77
|
+
for (const b of sourceChildToParentDependency.synth().behaviors) {
|
|
78
|
+
childToParentDependency.addBehavior(b.onField, b.onAction, b.toField, b.forAction);
|
|
79
|
+
}
|
|
80
|
+
// Clone behaviors from parent to source.
|
|
81
|
+
const sourceParentToChildDependency = sourceParentActual.getDependency(sourceResource, DependencyRelationship.PARENT);
|
|
82
|
+
for (const b of sourceParentToChildDependency.synth().behaviors) {
|
|
83
|
+
parentToChildDependency.addBehavior(b.onField, b.onAction, b.toField, b.forAction);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
// Replace properties.
|
|
87
|
+
this.clonePropertiesInPlace(sourceResource);
|
|
88
|
+
// Replace responses.
|
|
89
|
+
this.cloneResponseInPlace(sourceResource);
|
|
90
|
+
// Replace tags.
|
|
91
|
+
this.cloneTagsInPlace(sourceResource);
|
|
92
|
+
}
|
|
93
|
+
cloneResponseInPlace(sourceResource) {
|
|
94
|
+
for (const key of Object.keys(this.response)) {
|
|
95
|
+
delete this.response[key];
|
|
96
|
+
}
|
|
97
|
+
for (const key of Object.keys(sourceResource.response)) {
|
|
98
|
+
this.response[key] = JSON.parse(JSON.stringify(sourceResource.response[key]));
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
cloneTagsInPlace(sourceResource) {
|
|
102
|
+
for (const key of Object.keys(this.tags)) {
|
|
103
|
+
delete this.tags[key];
|
|
104
|
+
}
|
|
105
|
+
for (const key of Object.keys(sourceResource.tags)) {
|
|
106
|
+
this.tags[key] = sourceResource.tags[key];
|
|
107
|
+
}
|
|
21
108
|
}
|
|
22
|
-
// @ts-expect-error since this overridden diff() is always called with previous.
|
|
23
109
|
async diff(previous) {
|
|
24
110
|
const diffs = [];
|
|
25
111
|
const propertyDiffs = await this.diffProperties(previous);
|
|
26
112
|
diffs.push(...propertyDiffs);
|
|
113
|
+
const tagDiffs = await this.diffTags(previous);
|
|
114
|
+
diffs.push(...tagDiffs);
|
|
27
115
|
// Parent diffs.
|
|
28
116
|
const previousParents = Object.values(previous.getParents())
|
|
29
117
|
.flat()
|
|
@@ -39,32 +127,251 @@ export class AResource extends AModel {
|
|
|
39
127
|
for (const parent of newParents) {
|
|
40
128
|
diffs.push(new Diff(this, DiffAction.ADD, 'parent', parent));
|
|
41
129
|
}
|
|
130
|
+
for (const currentParent of currentParents) {
|
|
131
|
+
const previousParent = previousParents.find((p) => p.getContext() === currentParent.getContext());
|
|
132
|
+
if (previousParent && !DiffUtility.isObjectDeepEquals(currentParent, previousParent, ['tags'])) {
|
|
133
|
+
diffs.push(new Diff(this, DiffAction.UPDATE, 'parent', currentParent));
|
|
134
|
+
}
|
|
135
|
+
}
|
|
42
136
|
return diffs;
|
|
43
137
|
}
|
|
138
|
+
async diffInverse(diff, deReferenceResource) {
|
|
139
|
+
switch (diff.field) {
|
|
140
|
+
case 'resourceId': {
|
|
141
|
+
if (diff.action === DiffAction.DELETE) {
|
|
142
|
+
this.remove(true);
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
throw new DiffInverseResourceError('Unknown action on "resourceId" field during diff inverse!', this, diff);
|
|
146
|
+
}
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
case 'parent': {
|
|
150
|
+
if (diff.action === DiffAction.ADD || diff.action === DiffAction.DELETE) {
|
|
151
|
+
await this.cloneResourceInPlace(diff.node, deReferenceResource);
|
|
152
|
+
}
|
|
153
|
+
else if (diff.action === DiffAction.UPDATE) {
|
|
154
|
+
// Do nothing, since the parent of this resource has been updated,
|
|
155
|
+
// but this resource has no changes relevant to the parent.
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
throw new DiffInverseResourceError('Unknown action on "parent" field during diff inverse!', this, diff);
|
|
159
|
+
}
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
case 'properties': {
|
|
163
|
+
if (diff.action === DiffAction.ADD || diff.action === DiffAction.UPDATE) {
|
|
164
|
+
const change = diff.value;
|
|
165
|
+
this.properties[change.key] = JSON.parse(JSON.stringify(change.value));
|
|
166
|
+
}
|
|
167
|
+
else if (diff.action === DiffAction.DELETE) {
|
|
168
|
+
const change = diff.value;
|
|
169
|
+
delete this.properties[change.key];
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
throw new DiffInverseResourceError('Unknown action on "properties" field during diff inverse!', this, diff);
|
|
173
|
+
}
|
|
174
|
+
// Replace response.
|
|
175
|
+
this.cloneResponseInPlace(diff.node);
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
case 'tags': {
|
|
179
|
+
if (diff.action === DiffAction.UPDATE) {
|
|
180
|
+
const diffValue = diff.value;
|
|
181
|
+
if (diffValue.delete) {
|
|
182
|
+
for (const key of diffValue.delete) {
|
|
183
|
+
delete this.tags[key];
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
if (diffValue.add) {
|
|
187
|
+
for (const [key, value] of Object.entries(diffValue.add)) {
|
|
188
|
+
this.tags[key] = value;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
if (diffValue.update) {
|
|
192
|
+
for (const [key, value] of Object.entries(diffValue.update)) {
|
|
193
|
+
this.tags[key] = value;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
throw new DiffInverseResourceError('Unknown action on "tags" field during diff inverse!', this, diff);
|
|
199
|
+
}
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
default: {
|
|
203
|
+
throw new DiffInverseResourceError('Unknown field during diff inverse!', this, diff);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
44
207
|
async diffProperties(previous) {
|
|
45
208
|
return DiffUtility.diffObject(previous, this, 'properties');
|
|
46
209
|
}
|
|
47
|
-
|
|
48
|
-
const
|
|
49
|
-
const
|
|
50
|
-
|
|
210
|
+
async diffTags(previous) {
|
|
211
|
+
const tagsToAdd = {};
|
|
212
|
+
const tagsToDelete = [];
|
|
213
|
+
const tagsToUpdate = {};
|
|
214
|
+
for (const [key, value] of Object.entries(previous.tags)) {
|
|
215
|
+
if (!this.tags.hasOwnProperty(key)) {
|
|
216
|
+
tagsToDelete.push(key);
|
|
217
|
+
}
|
|
218
|
+
else if (this.tags[key] !== value) {
|
|
219
|
+
tagsToUpdate[key] = this.tags[key];
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
for (const [key, value] of Object.entries(this.tags)) {
|
|
223
|
+
if (!previous.tags.hasOwnProperty(key)) {
|
|
224
|
+
tagsToAdd[key] = value;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
if (Object.keys(tagsToAdd).length === 0 && tagsToDelete.length === 0 && Object.keys(tagsToUpdate).length === 0) {
|
|
228
|
+
return [];
|
|
229
|
+
}
|
|
230
|
+
return [new Diff(this, DiffAction.UPDATE, 'tags', { add: tagsToAdd, delete: tagsToDelete, update: tagsToUpdate })];
|
|
231
|
+
}
|
|
232
|
+
diffUnpack(diff) {
|
|
233
|
+
return [diff];
|
|
234
|
+
}
|
|
235
|
+
findParentsByProperty(filters) {
|
|
236
|
+
const parents = [];
|
|
237
|
+
const dependencies = Object.values(this.getParents()).flat();
|
|
238
|
+
for (const d of dependencies) {
|
|
239
|
+
const resource = d.to;
|
|
240
|
+
if (filters.every((c) => resource.properties[c.key] === c.value)) {
|
|
241
|
+
parents.push(resource);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
return parents;
|
|
245
|
+
}
|
|
246
|
+
findParentsByTag(filters) {
|
|
247
|
+
const parents = [];
|
|
248
|
+
const dependencies = Object.values(this.getParents()).flat();
|
|
249
|
+
for (const d of dependencies) {
|
|
250
|
+
const resource = d.to;
|
|
251
|
+
if (filters.every((c) => resource.tags[c.key] === c.value)) {
|
|
252
|
+
parents.push(resource);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
return parents;
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* @deprecated Boundary is not supported in resources!
|
|
259
|
+
*/
|
|
260
|
+
getBoundaryMembers() {
|
|
261
|
+
throw new ResourceError('Boundary is not supported in resources!', this);
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* @deprecated Siblings are not supported in resources!
|
|
265
|
+
*/
|
|
266
|
+
getSiblings() {
|
|
267
|
+
throw new ResourceError('Siblings are not supported in resources!', this);
|
|
268
|
+
}
|
|
269
|
+
isDeepEquals(other) {
|
|
270
|
+
if (!other) {
|
|
271
|
+
return false;
|
|
272
|
+
}
|
|
273
|
+
if (!DiffUtility.isObjectDeepEquals(this.synth(), other.synth())) {
|
|
274
|
+
return false;
|
|
275
|
+
}
|
|
276
|
+
if (this.isMarkedDeleted() !== other.isMarkedDeleted()) {
|
|
277
|
+
return false;
|
|
278
|
+
}
|
|
279
|
+
const selfDependencies = Object.values(this.getParents()).flat();
|
|
280
|
+
const otherDependencies = Object.values(other.getParents()).flat();
|
|
281
|
+
return selfDependencies.every((sd) => {
|
|
282
|
+
const od = otherDependencies.find((od) => od.isEqual(sd));
|
|
283
|
+
if (!DiffUtility.isObjectDeepEquals(sd.synth(), od?.synth() || {})) {
|
|
284
|
+
return false;
|
|
285
|
+
}
|
|
286
|
+
const sdPd = sd.to.getDependency(sd.from, DependencyRelationship.PARENT);
|
|
287
|
+
const odPd = od.to.getDependency(od.from, DependencyRelationship.PARENT);
|
|
288
|
+
return DiffUtility.isObjectDeepEquals(sdPd.synth(), odPd.synth());
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
isMarkedDeleted() {
|
|
292
|
+
return this._deleteMarker;
|
|
293
|
+
}
|
|
294
|
+
merge(previous) {
|
|
295
|
+
const currentDependencies = this.getDependencies();
|
|
296
|
+
const previousDependencies = previous.getDependencies();
|
|
297
|
+
ObjectUtility.deepMergeInPlace(previous.properties, this.properties);
|
|
298
|
+
ObjectUtility.deepMergeInPlace(previous.response, this.response);
|
|
299
|
+
ObjectUtility.deepMergeInPlace(previous.tags, this.tags);
|
|
300
|
+
const currentDependenciesNotInPreviousResource = currentDependencies.filter((cd) => !previousDependencies.find((pd) => pd.isEqual(cd)));
|
|
301
|
+
for (const dependency of currentDependenciesNotInPreviousResource) {
|
|
302
|
+
if (dependency.isChildRelationship()) {
|
|
303
|
+
dependency.to.addChild('resourceId', previous, 'resourceId');
|
|
304
|
+
}
|
|
305
|
+
else if (dependency.isParentRelationship()) {
|
|
306
|
+
previous.addChild('resourceId', dependency.to, 'resourceId');
|
|
307
|
+
}
|
|
308
|
+
else {
|
|
309
|
+
throw new ResourceError('Unknown dependency found in merge!', this);
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
Object.assign(this, previous);
|
|
313
|
+
return previous;
|
|
314
|
+
}
|
|
315
|
+
remove(force = false) {
|
|
316
|
+
const dependencies = this.getDependencies();
|
|
317
|
+
// Verify resource can be removed.
|
|
318
|
+
if (!force) {
|
|
319
|
+
const children = dependencies.filter((d) => d.isParentRelationship()).map((d) => d.to);
|
|
320
|
+
if (children.length > 0) {
|
|
321
|
+
throw new RemoveResourceError('Cannot remove resource until dependent nodes exist!', this, children);
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
// Removing all dependencies that points to this.
|
|
325
|
+
for (const dependency of dependencies) {
|
|
326
|
+
const index = dependency.to.getDependencies().findIndex((d) => d.to.getContext() === this.getContext());
|
|
327
|
+
dependency.to.removeDependency(index);
|
|
328
|
+
}
|
|
329
|
+
this._deleteMarker = true;
|
|
51
330
|
}
|
|
52
331
|
setContext() {
|
|
53
|
-
|
|
332
|
+
const nodePackage = this.constructor.NODE_PACKAGE;
|
|
333
|
+
const nodeName = this.constructor.NODE_NAME;
|
|
334
|
+
return `${nodePackage}/${nodeName}=${this.resourceId}`;
|
|
54
335
|
}
|
|
55
336
|
synth() {
|
|
56
|
-
|
|
337
|
+
const resourceSynth = {
|
|
338
|
+
parents: this.parents.map((p) => {
|
|
339
|
+
const parentReference = {
|
|
340
|
+
context: p instanceof MatchingResource ? p.getActual().getContext() : p.getContext(),
|
|
341
|
+
};
|
|
342
|
+
if (p instanceof MatchingResource) {
|
|
343
|
+
parentReference.parentSchemaTranslator = p.hasSchemaTranslator()
|
|
344
|
+
? p.schemaTranslator.toString()
|
|
345
|
+
: ((synth) => synth).toString();
|
|
346
|
+
}
|
|
347
|
+
return parentReference;
|
|
348
|
+
}),
|
|
57
349
|
properties: JSON.parse(JSON.stringify(this.properties)),
|
|
58
350
|
resourceId: this.resourceId,
|
|
59
351
|
response: JSON.parse(JSON.stringify(this.response)),
|
|
352
|
+
tags: JSON.parse(JSON.stringify(this.tags)),
|
|
60
353
|
};
|
|
354
|
+
return resourceSynth;
|
|
61
355
|
}
|
|
62
|
-
static async unSynth(deserializationClass, resource,
|
|
63
|
-
const parents = await Promise.all(
|
|
64
|
-
const
|
|
356
|
+
static async unSynth(deserializationClass, resource, deReferenceResource) {
|
|
357
|
+
const parents = await Promise.all(resource.parents.map((p) => deReferenceResource(p.context)));
|
|
358
|
+
const resourceInlineParents = parents.map((p) => {
|
|
359
|
+
const parentMetadata = resource.parents.find((pm) => pm.context === p.getContext());
|
|
360
|
+
if (parentMetadata.parentSchemaTranslator) {
|
|
361
|
+
const parentSchemaTranslator = new Function('return ' + parentMetadata.parentSchemaTranslator)();
|
|
362
|
+
return new MatchingResource(p, parentSchemaTranslator);
|
|
363
|
+
}
|
|
364
|
+
else {
|
|
365
|
+
return p;
|
|
366
|
+
}
|
|
367
|
+
});
|
|
368
|
+
const newResource = new deserializationClass(resource.resourceId, resource.properties, resourceInlineParents);
|
|
65
369
|
for (const key of Object.keys(resource.response)) {
|
|
66
370
|
newResource.response[key] = resource.response[key];
|
|
67
371
|
}
|
|
372
|
+
for (const key of Object.keys(resource.tags)) {
|
|
373
|
+
newResource.tags[key] = resource.tags[key];
|
|
374
|
+
}
|
|
68
375
|
return newResource;
|
|
69
376
|
}
|
|
70
377
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.abstract.js","sourceRoot":"","sources":["../../src/resources/resource.abstract.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resource.abstract.js","sourceRoot":"","sources":["../../src/resources/resource.abstract.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,40 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import type { UnknownResource } from '../app.type.js';
|
|
2
|
+
import type { Diff } from '../functions/diff/diff.js';
|
|
3
|
+
import type { INode, INodeReference } from '../functions/node/node.interface.js';
|
|
4
|
+
import type { AResource } from './resource.abstract.js';
|
|
5
|
+
import type { BaseResourceSchema } from './resource.schema.js';
|
|
6
|
+
export interface IResource<S extends BaseResourceSchema, T extends UnknownResource> extends INode<S, T> {
|
|
7
|
+
clonePropertiesInPlace(sourceResource: T): void;
|
|
8
|
+
cloneResourceInPlace(sourceResource: T, deReferenceResource: (context: string) => Promise<UnknownResource>): Promise<void>;
|
|
9
|
+
cloneResponseInPlace(sourceResource: T): void;
|
|
10
|
+
cloneTagsInPlace(sourceResource: T): void;
|
|
11
|
+
diffInverse(diff: Diff, deReferenceResource: (context: string) => Promise<UnknownResource>): Promise<void>;
|
|
12
|
+
diffTags(previous: T): Promise<Diff[]>;
|
|
13
|
+
diffUnpack(diff: Diff): Diff[];
|
|
14
|
+
findParentsByProperty(filters: {
|
|
15
|
+
key: string;
|
|
16
|
+
value: unknown;
|
|
17
|
+
}[]): UnknownResource[];
|
|
18
|
+
findParentsByTag(filters: {
|
|
19
|
+
key: string;
|
|
20
|
+
value: string;
|
|
21
|
+
}[]): UnknownResource[];
|
|
22
|
+
isDeepEquals(other?: UnknownResource): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* To check if self is marked as deleted.
|
|
25
|
+
* A deleted node will be removed from the graph after the transaction.
|
|
26
|
+
*/
|
|
27
|
+
isMarkedDeleted(): boolean;
|
|
28
|
+
merge(previous: AResource<S, T>): AResource<S, T>;
|
|
29
|
+
/**
|
|
30
|
+
* To mark self as deleted.
|
|
31
|
+
* A deleted node will be removed from the graph after the transaction.
|
|
32
|
+
* - A node cannot be deleted if it has dependencies.
|
|
33
|
+
*
|
|
34
|
+
* @throws {@link RemoveResourceError} If node contains dependencies to other nodes.
|
|
35
|
+
*/
|
|
36
|
+
remove(): void;
|
|
37
|
+
}
|
|
38
|
+
export interface IResourceReference extends INodeReference {
|
|
39
|
+
parentSchemaTranslator?: string;
|
|
9
40
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { IResourceReference } from './resource.interface.js';
|
|
2
|
+
export declare class BaseResourceSchema {
|
|
3
|
+
parents: IResourceReference[];
|
|
4
|
+
properties: {
|
|
5
|
+
[key: string]: unknown;
|
|
6
|
+
};
|
|
7
|
+
resourceId: string;
|
|
8
|
+
response: {
|
|
9
|
+
[key: string]: unknown;
|
|
10
|
+
};
|
|
11
|
+
tags: {
|
|
12
|
+
[key: string]: string;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Schema } from '../functions/schema/schema.js';
|
|
2
|
+
export class BaseResourceSchema {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.parents = Schema();
|
|
5
|
+
this.properties = Schema();
|
|
6
|
+
this.resourceId = Schema();
|
|
7
|
+
this.response = Schema();
|
|
8
|
+
this.tags = Schema();
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=resource.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource.schema.js","sourceRoot":"","sources":["../../src/resources/resource.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAGvD,MAAM,OAAO,kBAAkB;IAA/B;QACE,YAAO,GAAG,MAAM,EAAwB,CAAC;QAEzC,eAAU,GAAG,MAAM,EAA8B,CAAC;QAElD,eAAU,GAAG,MAAM,EAAU,CAAC;QAE9B,aAAQ,GAAG,MAAM,EAA8B,CAAC;QAEhD,SAAI,GAAG,MAAM,EAA6B,CAAC;IAC7C,CAAC;CAAA"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { BaseResourceSchema } from '../../resources/resource.schema.js';
|
|
2
2
|
export declare class CaptureService {
|
|
3
|
-
private
|
|
4
|
-
getCapture<
|
|
5
|
-
|
|
6
|
-
response: Partial<T['response']>;
|
|
3
|
+
private captures;
|
|
4
|
+
getCapture<S extends BaseResourceSchema>(context: string): {
|
|
5
|
+
response: Partial<S['response']>;
|
|
7
6
|
} | undefined;
|
|
8
|
-
registerCapture<
|
|
7
|
+
registerCapture<S extends BaseResourceSchema>(resourceContext: string, response: Partial<S['response']>): void;
|
|
9
8
|
}
|
|
10
9
|
export declare class CaptureServiceFactory {
|
|
11
10
|
private static instance;
|
|
12
|
-
static create(): Promise<CaptureService>;
|
|
11
|
+
static create(forceNew?: boolean): Promise<CaptureService>;
|
|
13
12
|
}
|
|
@@ -9,18 +9,21 @@ export class CaptureService {
|
|
|
9
9
|
constructor() {
|
|
10
10
|
this.captures = {};
|
|
11
11
|
}
|
|
12
|
-
getCapture(
|
|
13
|
-
return this.captures[
|
|
12
|
+
getCapture(context) {
|
|
13
|
+
return this.captures[context];
|
|
14
14
|
}
|
|
15
|
-
registerCapture(
|
|
16
|
-
this.captures[
|
|
15
|
+
registerCapture(resourceContext, response) {
|
|
16
|
+
this.captures[resourceContext] = { response };
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
let CaptureServiceFactory = class CaptureServiceFactory {
|
|
20
|
-
static async create() {
|
|
20
|
+
static async create(forceNew = false) {
|
|
21
21
|
if (!this.instance) {
|
|
22
22
|
this.instance = new CaptureService();
|
|
23
23
|
}
|
|
24
|
+
if (forceNew) {
|
|
25
|
+
this.instance['captures'] = {};
|
|
26
|
+
}
|
|
24
27
|
return this.instance;
|
|
25
28
|
}
|
|
26
29
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture.service.js","sourceRoot":"","sources":["../../../src/services/capture/capture.service.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"capture.service.js","sourceRoot":"","sources":["../../../src/services/capture/capture.service.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAGhE,MAAM,OAAO,cAAc;IAA3B;QACU,aAAQ,GAEZ,EAAE,CAAC;IAST,CAAC;IAPC,UAAU,CAA+B,OAAe;QACtD,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,eAAe,CAA+B,eAAuB,EAAE,QAAgC;QACrG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC;IAChD,CAAC;CACF;AAGM,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAGhC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,WAAoB,KAAK;QAC3C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;QACvC,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QACjC,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF,CAAA;AAdY,qBAAqB;IADjC,OAAO,CAAiB,cAAc,CAAC;GAC3B,qBAAqB,CAcjC"}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
import { Constructable } from '../../app.type.js';
|
|
2
|
-
import { Event } from '../../events/
|
|
1
|
+
import type { Constructable } from '../../app.type.js';
|
|
2
|
+
import { Event } from '../../events/index.js';
|
|
3
3
|
export declare class EventService {
|
|
4
4
|
private readonly EVENT_BUFFER_SIZE;
|
|
5
5
|
private readonly emitter;
|
|
6
6
|
private readonly eventBuffer;
|
|
7
|
-
private static instance;
|
|
8
7
|
private readonly listeners;
|
|
9
8
|
constructor();
|
|
10
9
|
emit(event: Event<unknown>): void;
|
|
11
10
|
forwardEvent(event: Event<unknown>, listeners?: ((event: Event<unknown>) => Promise<any>)[]): void;
|
|
12
|
-
static getInstance(): EventService;
|
|
13
11
|
registerListeners(eventClass: Constructable<Event<unknown>>, target: any, descriptor: PropertyDescriptor): void;
|
|
14
12
|
}
|
|
15
13
|
export declare class EventServiceFactory {
|
|
14
|
+
private static instance;
|
|
16
15
|
static create(): Promise<EventService>;
|
|
17
16
|
}
|
|
@@ -5,8 +5,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { EventEmitter } from 'events';
|
|
8
|
-
import { Container } from '../../decorators/container.js';
|
|
9
8
|
import { Factory } from '../../decorators/factory.decorator.js';
|
|
9
|
+
import { Event } from '../../events/index.js';
|
|
10
|
+
import { Container } from '../../functions/container/container.js';
|
|
10
11
|
export class EventService {
|
|
11
12
|
constructor() {
|
|
12
13
|
this.EVENT_BUFFER_SIZE = 50;
|
|
@@ -49,12 +50,6 @@ export class EventService {
|
|
|
49
50
|
}
|
|
50
51
|
}
|
|
51
52
|
}
|
|
52
|
-
static getInstance() {
|
|
53
|
-
if (!this.instance) {
|
|
54
|
-
this.instance = new EventService();
|
|
55
|
-
}
|
|
56
|
-
return this.instance;
|
|
57
|
-
}
|
|
58
53
|
registerListeners(eventClass, target, descriptor) {
|
|
59
54
|
if (!this.listeners[eventClass.name]) {
|
|
60
55
|
this.listeners[eventClass.name] = { eventClass, eventListeners: [] };
|
|
@@ -62,7 +57,7 @@ export class EventService {
|
|
|
62
57
|
// Register this listener.
|
|
63
58
|
const originalMethod = descriptor.value;
|
|
64
59
|
descriptor.value = async function (...args) {
|
|
65
|
-
const listener = await Container.get(target.constructor.name);
|
|
60
|
+
const listener = await Container.getInstance().get(target.constructor.name);
|
|
66
61
|
return await originalMethod.apply(listener, args);
|
|
67
62
|
};
|
|
68
63
|
this.listeners[eventClass.name].eventListeners.push(descriptor.value);
|
|
@@ -82,7 +77,10 @@ export class EventService {
|
|
|
82
77
|
}
|
|
83
78
|
let EventServiceFactory = class EventServiceFactory {
|
|
84
79
|
static async create() {
|
|
85
|
-
|
|
80
|
+
if (!this.instance) {
|
|
81
|
+
this.instance = new EventService();
|
|
82
|
+
}
|
|
83
|
+
return this.instance;
|
|
86
84
|
}
|
|
87
85
|
};
|
|
88
86
|
EventServiceFactory = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.service.js","sourceRoot":"","sources":["../../../src/services/event/event.service.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"event.service.js","sourceRoot":"","sources":["../../../src/services/event/event.service.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAEnE,MAAM,OAAO,YAAY;IAgBvB;QAfiB,sBAAiB,GAAG,EAAE,CAAC;QAEvB,YAAO,GAAG,IAAI,YAAY,EAAE,CAAC;QAE7B,gBAAW,GAExB,EAAE,CAAC;QAEU,cAAS,GAKtB,EAAE,CAAC;QAGL,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAqB,EAAE,EAAE;YAC7C,6BAA6B;YAC7B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;YAClH,CAAC;YACD,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACrF,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC1D,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAE5D,uCAAuC;YACvC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,KAAqB;QACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,YAAY,CAAC,KAAqB,EAAE,YAAyD,EAAE;QAC7F,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACtB,KAAK,MAAM,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzD,IAAI,KAAK,YAAY,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,UAAU,EAAE,CAAC;oBAC/D,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,cAAc,EAAE,CAAC;wBACrE,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;4BAC9B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACvB,CAAC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC9B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,iBAAiB,CAAC,UAAyC,EAAE,MAAW,EAAE,UAA8B;QACtG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;QACvE,CAAC;QAED,0BAA0B;QAC1B,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;QACxC,UAAU,CAAC,KAAK,GAAG,KAAK,WAAW,GAAG,IAAsB;YAC1D,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC5E,OAAO,MAAM,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACpD,CAAC,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAEtE,oFAAoF;QACpF,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACpC,KAAK,MAAM,sBAAsB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACnE,MAAM,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAAC;YAC/E,IAAI,kBAAkB,CAAC,SAAS,YAAY,UAAU,IAAI,kBAAkB,KAAK,UAAU,EAAE,CAAC;gBAC5F,KAAK,MAAM,aAAa,IAAI,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;oBAClF,IAAI,gBAAgB,IAAI,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;wBACvD,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;oBACnF,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAGM,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAG9B,MAAM,CAAC,KAAK,CAAC,MAAM;QACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QACrC,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF,CAAA;AAVY,mBAAmB;IAD/B,OAAO,CAAe,YAAY,CAAC;GACvB,mBAAmB,CAU/B"}
|