@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,4 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ModuleContainer } from '../../modules/module.container.js';
|
|
2
|
+
import { OverlayDataRepository } from '../../overlays/overlay-data.repository.js';
|
|
3
|
+
import { ResourceDataRepository, } from '../../resources/resource-data.repository.js';
|
|
4
|
+
import { CaptureService } from '../../services/capture/capture.service.js';
|
|
5
|
+
import { InputService } from '../../services/input/input.service.js';
|
|
2
6
|
import { Container } from './container.js';
|
|
3
7
|
/**
|
|
4
8
|
* The TestContainer class is an isolated {@link Container} for tests.
|
|
@@ -15,14 +19,16 @@ import { Container } from './container.js';
|
|
|
15
19
|
* Once tests are done executing, the `afterAll()` block cleans up the Container.
|
|
16
20
|
*/
|
|
17
21
|
export class TestContainer {
|
|
18
|
-
static
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
};
|
|
22
|
+
static async bootstrap(container) {
|
|
23
|
+
await container.get(OverlayDataRepository, {
|
|
24
|
+
args: [true, []],
|
|
25
|
+
});
|
|
26
|
+
await container.get(ResourceDataRepository, {
|
|
27
|
+
args: [true, [], [], []],
|
|
28
|
+
});
|
|
29
|
+
await container.get(CaptureService, { args: [true] });
|
|
30
|
+
await container.get(InputService, { args: [true] });
|
|
31
|
+
await container.get(ModuleContainer, { args: [true] });
|
|
26
32
|
}
|
|
27
33
|
/**
|
|
28
34
|
* The `TestContainer.create()` method allows you to mock factories.
|
|
@@ -31,7 +37,6 @@ export class TestContainer {
|
|
|
31
37
|
* ```ts
|
|
32
38
|
* beforeAll(async () => {
|
|
33
39
|
* await TestContainer.create({
|
|
34
|
-
* importFrom: [OctoAwsCdkPackageMock],
|
|
35
40
|
* mocks: [
|
|
36
41
|
* { type: MyClass, value: jest.fn() },
|
|
37
42
|
* { metadata: { key: 'value' }, type: AnotherClass, value: new AnotherClass() },
|
|
@@ -41,8 +46,6 @@ export class TestContainer {
|
|
|
41
46
|
*
|
|
42
47
|
* ```
|
|
43
48
|
* @param subjects The subjects being mocked.
|
|
44
|
-
* - `importFrom` is an array of {@link IPackageMock} classes, to import custom mocks,
|
|
45
|
-
* such as from octo-aws-cdk package - [OctoAwsCdkPackageMock](/api/octo-aws-cdk/class/OctoAwsCdkPackageMock).
|
|
46
49
|
* - `mocks` is an array of objects, to override the default factories.
|
|
47
50
|
* - Use `metadata?: { [key: string]: string }` to identify the factory being mocked.
|
|
48
51
|
* - Use `type: Constructable<T> | string` to identify the class being mocked.
|
|
@@ -51,36 +54,24 @@ export class TestContainer {
|
|
|
51
54
|
* - `factoryTimeoutInMs?: number` is to override the default container timeout.
|
|
52
55
|
*/
|
|
53
56
|
static async create(subjects, options) {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
if (options?.factoryTimeoutInMs) {
|
|
57
|
-
Container.setFactoryTimeout(options.factoryTimeoutInMs);
|
|
58
|
-
}
|
|
59
|
-
const importedMocks = [];
|
|
60
|
-
for (const mockClass of subjects.importFrom || []) {
|
|
61
|
-
const mock = new mockClass();
|
|
62
|
-
await mock.init();
|
|
63
|
-
importedMocks.push(...mock.getMocks());
|
|
64
|
-
this.packageMocks.push(mock);
|
|
57
|
+
if (!TestContainer.originalFactories) {
|
|
58
|
+
TestContainer.originalFactories = Container.getInstance().copyFactories();
|
|
65
59
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}
|
|
60
|
+
const container = Container.getInstance();
|
|
61
|
+
// Load container with previous factories.
|
|
62
|
+
container.setFactories(this.originalFactories);
|
|
63
|
+
// Reset state of eligible factories.
|
|
64
|
+
// A factory is eligible if it has an internal structure and should be reset on every test.
|
|
65
|
+
await this.bootstrap(container);
|
|
66
|
+
if (options?.factoryTimeoutInMs) {
|
|
67
|
+
container.setFactoryTimeout(options.factoryTimeoutInMs);
|
|
75
68
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
Container.setDefault(name, oldFactory.factory);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
69
|
+
// Override new container with mock factories as instructed.
|
|
70
|
+
for (const mock of subjects.mocks || []) {
|
|
71
|
+
container.unRegisterFactory(mock.type, { metadata: mock.metadata });
|
|
72
|
+
container.registerValue(mock.type, mock.value, { metadata: mock.metadata });
|
|
83
73
|
}
|
|
74
|
+
return container;
|
|
84
75
|
}
|
|
85
76
|
/**
|
|
86
77
|
* The `TestContainer.reset()` method will completely destroy all factories from the Container.
|
|
@@ -95,10 +86,7 @@ export class TestContainer {
|
|
|
95
86
|
* ```
|
|
96
87
|
*/
|
|
97
88
|
static async reset() {
|
|
98
|
-
|
|
99
|
-
await mock.destroy();
|
|
100
|
-
}
|
|
101
|
-
Container.reset();
|
|
89
|
+
Container.getInstance().reset();
|
|
102
90
|
}
|
|
103
91
|
}
|
|
104
92
|
//# sourceMappingURL=test-container.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-container.js","sourceRoot":"","sources":["../../../src/functions/container/test-container.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAA+B,MAAM,mCAAmC,CAAC;AACjG,OAAO,EAAE,qBAAqB,EAAqC,MAAM,2CAA2C,CAAC;AACrH,OAAO,EACL,sBAAsB,GAEvB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,cAAc,EAA8B,MAAM,2CAA2C,CAAC;AACvG,OAAO,EAAE,YAAY,EAA4B,MAAM,uCAAuC,CAAC;AAC/F,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAa3C;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,aAAa;IAGhB,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,SAAoB;QACjD,MAAM,SAAS,CAAC,GAAG,CAA6D,qBAAqB,EAAE;YACrG,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;SACjB,CAAC,CAAC;QAEH,MAAM,SAAS,CAAC,GAAG,CAA+D,sBAAsB,EAAE;YACxG,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;SACzB,CAAC,CAAC;QAEH,MAAM,SAAS,CAAC,GAAG,CAA+C,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEpG,MAAM,SAAS,CAAC,GAAG,CAA2C,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE9F,MAAM,SAAS,CAAC,GAAG,CAAiD,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzG,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAA+B,EAAE,OAA8B;QACjF,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC;YACrC,aAAa,CAAC,iBAAiB,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,aAAa,EAAE,CAAC;QAC5E,CAAC;QACD,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAE1C,0CAA0C;QAC1C,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC/C,qCAAqC;QACrC,2FAA2F;QAC3F,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAEhC,IAAI,OAAO,EAAE,kBAAkB,EAAE,CAAC;YAChC,SAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC1D,CAAC;QAED,4DAA4D;QAC5D,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;YACxC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACpE,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9E,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK;QAChB,SAAS,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import {
|
|
1
|
+
import type { UnknownNode } from '../../app.type.js';
|
|
2
|
+
import type { DiffAction } from '../diff/diff.js';
|
|
3
3
|
declare class DependencyBehavior {
|
|
4
4
|
forAction: DiffAction;
|
|
5
5
|
onAction: DiffAction;
|
|
@@ -28,10 +28,10 @@ export interface IDependency {
|
|
|
28
28
|
}
|
|
29
29
|
export declare class Dependency {
|
|
30
30
|
private readonly behaviors;
|
|
31
|
-
readonly from:
|
|
31
|
+
readonly from: UnknownNode;
|
|
32
32
|
private relationship;
|
|
33
|
-
readonly to:
|
|
34
|
-
constructor(from:
|
|
33
|
+
readonly to: UnknownNode;
|
|
34
|
+
constructor(from: UnknownNode, to: UnknownNode);
|
|
35
35
|
private getBehaviorIndex;
|
|
36
36
|
addBehavior(onField: string, onAction: DiffAction, toField: string, forAction: DiffAction): void;
|
|
37
37
|
addChildRelationship(onField: string, toField: string): void;
|
|
@@ -47,6 +47,6 @@ export declare class Dependency {
|
|
|
47
47
|
} | undefined;
|
|
48
48
|
removeBehavior(onField: string, onAction: DiffAction, toField: string, forAction: DiffAction): void;
|
|
49
49
|
synth(): IDependency;
|
|
50
|
-
static unSynth(from:
|
|
50
|
+
static unSynth(from: UnknownNode, to: UnknownNode, dependency: IDependency): Dependency;
|
|
51
51
|
}
|
|
52
52
|
export {};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DependencyError } from '../../errors/index.js';
|
|
1
2
|
class DependencyBehavior {
|
|
2
3
|
constructor(onField, onAction, toField, forAction) {
|
|
3
4
|
this.onField = onField;
|
|
@@ -27,13 +28,13 @@ export class Dependency {
|
|
|
27
28
|
}
|
|
28
29
|
addChildRelationship(onField, toField) {
|
|
29
30
|
if (this.relationship) {
|
|
30
|
-
throw new
|
|
31
|
+
throw new DependencyError('Dependency relationship already exists!', this);
|
|
31
32
|
}
|
|
32
33
|
this.relationship = { onField, toField, type: DependencyRelationship.CHILD };
|
|
33
34
|
}
|
|
34
35
|
addParentRelationship(onField, toField) {
|
|
35
36
|
if (this.relationship) {
|
|
36
|
-
throw new
|
|
37
|
+
throw new DependencyError('Dependency relationship already exists!', this);
|
|
37
38
|
}
|
|
38
39
|
this.relationship = { onField, toField, type: DependencyRelationship.PARENT };
|
|
39
40
|
}
|
|
@@ -61,7 +62,7 @@ export class Dependency {
|
|
|
61
62
|
removeBehavior(onField, onAction, toField, forAction) {
|
|
62
63
|
const index = this.getBehaviorIndex(onField, onAction, toField, forAction);
|
|
63
64
|
if (index === -1) {
|
|
64
|
-
throw new
|
|
65
|
+
throw new DependencyError('Dependency behavior not found!', this);
|
|
65
66
|
}
|
|
66
67
|
this.behaviors.splice(index, 1);
|
|
67
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependency.js","sourceRoot":"","sources":["../../../src/functions/dependency/dependency.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dependency.js","sourceRoot":"","sources":["../../../src/functions/dependency/dependency.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,17 @@
|
|
|
1
|
-
import type { ActionInputs, ActionOutputs,
|
|
2
|
-
import type { IModelAction } from '../../models/model-action.interface.js';
|
|
3
|
-
import type { IResourceAction } from '../../resources/resource-action.interface.js';
|
|
1
|
+
import type { ActionInputs, ActionOutputs, IUnknownModelAction, IUnknownResourceAction, UnknownNode } from '../../app.type.js';
|
|
4
2
|
import type { Diff, DiffAction } from './diff.js';
|
|
5
3
|
export declare class DiffMetadata {
|
|
6
|
-
readonly actions:
|
|
4
|
+
readonly actions: IUnknownModelAction[] | IUnknownResourceAction[];
|
|
7
5
|
applied: boolean;
|
|
8
6
|
applyOrder: number;
|
|
9
7
|
readonly diff: Diff;
|
|
10
8
|
readonly action: DiffAction;
|
|
11
9
|
readonly field: string;
|
|
12
|
-
readonly
|
|
10
|
+
readonly node: UnknownNode;
|
|
13
11
|
readonly value: unknown;
|
|
14
12
|
readonly inputs: ActionInputs;
|
|
15
13
|
readonly outputs: ActionOutputs;
|
|
16
|
-
constructor(diff: Diff, actions:
|
|
14
|
+
constructor(diff: Diff, actions: IUnknownModelAction[] | IUnknownResourceAction[]);
|
|
17
15
|
/**
|
|
18
16
|
* Overrides JSON.serialize() to output a more succinct model of diff-metadata.
|
|
19
17
|
*/
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { NoMatchingActionFoundTransactionError } from '../../errors/index.js';
|
|
1
2
|
export class DiffMetadata {
|
|
2
3
|
constructor(diff, actions) {
|
|
3
|
-
this.inputs = {};
|
|
4
|
+
this.inputs = { inputs: {}, metadata: {}, models: {}, overlays: {}, resources: {} };
|
|
4
5
|
this.outputs = {};
|
|
5
6
|
if (!actions?.length) {
|
|
6
|
-
throw new
|
|
7
|
+
throw new NoMatchingActionFoundTransactionError('No matching action given for diff!', diff);
|
|
7
8
|
}
|
|
8
9
|
this.actions = actions;
|
|
9
10
|
this.applied = false;
|
|
@@ -11,7 +12,7 @@ export class DiffMetadata {
|
|
|
11
12
|
this.diff = diff;
|
|
12
13
|
this.action = diff.action;
|
|
13
14
|
this.field = diff.field;
|
|
14
|
-
this.
|
|
15
|
+
this.node = diff.node;
|
|
15
16
|
this.value = diff.value;
|
|
16
17
|
}
|
|
17
18
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff-metadata.js","sourceRoot":"","sources":["../../../src/functions/diff/diff-metadata.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"diff-metadata.js","sourceRoot":"","sources":["../../../src/functions/diff/diff-metadata.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,qCAAqC,EAAE,MAAM,uBAAuB,CAAC;AAG9E,MAAM,OAAO,YAAY;IAcvB,YAAY,IAAU,EAAE,OAAyD;QAHxE,WAAM,GAAiB,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QAC7F,YAAO,GAAkB,EAAE,CAAC;QAGnC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YACrB,MAAM,IAAI,qCAAqC,CAAC,oCAAoC,EAAE,IAAI,CAAC,CAAC;QAC9F,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAErB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,YAAY,CAAC,MAAoB;QAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,aAAa,CAAC,OAAsB;QAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;CACF"}
|
|
@@ -1,18 +1,23 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { UnknownNode } from '../../app.type.js';
|
|
2
2
|
export declare enum DiffAction {
|
|
3
3
|
ADD = "add",
|
|
4
4
|
DELETE = "delete",
|
|
5
5
|
REPLACE = "replace",
|
|
6
6
|
UPDATE = "update"
|
|
7
7
|
}
|
|
8
|
-
export declare class Diff {
|
|
8
|
+
export declare class Diff<N extends UnknownNode = UnknownNode, V = unknown> {
|
|
9
9
|
readonly action: DiffAction;
|
|
10
10
|
readonly field: string;
|
|
11
|
-
readonly
|
|
12
|
-
readonly value:
|
|
13
|
-
constructor(
|
|
11
|
+
readonly node: N;
|
|
12
|
+
readonly value: V;
|
|
13
|
+
constructor(node: Diff<N, V>['node'], action: Diff['action'], field: Diff['field'], value: Diff<N, V>['value']);
|
|
14
14
|
/**
|
|
15
|
-
* Overrides JSON.serialize() to output a more succinct
|
|
15
|
+
* Overrides JSON.serialize() to output a more succinct representation of diff.
|
|
16
16
|
*/
|
|
17
|
-
toJSON():
|
|
17
|
+
toJSON(): {
|
|
18
|
+
action: string;
|
|
19
|
+
field: string;
|
|
20
|
+
node: string;
|
|
21
|
+
value: V | string;
|
|
22
|
+
};
|
|
18
23
|
}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { AModel } from '../../models/model.abstract.js';
|
|
2
|
-
import { AAnchor } from '../../overlays/anchor.abstract.js';
|
|
3
1
|
export var DiffAction;
|
|
4
2
|
(function (DiffAction) {
|
|
5
3
|
DiffAction["ADD"] = "add";
|
|
@@ -8,31 +6,30 @@ export var DiffAction;
|
|
|
8
6
|
DiffAction["UPDATE"] = "update";
|
|
9
7
|
})(DiffAction || (DiffAction = {}));
|
|
10
8
|
export class Diff {
|
|
11
|
-
constructor(
|
|
12
|
-
this.
|
|
9
|
+
constructor(node, action, field, value) {
|
|
10
|
+
this.node = node;
|
|
13
11
|
this.action = action;
|
|
14
12
|
this.field = field;
|
|
15
13
|
this.value = value;
|
|
16
14
|
}
|
|
17
15
|
/**
|
|
18
|
-
* Overrides JSON.serialize() to output a more succinct
|
|
16
|
+
* Overrides JSON.serialize() to output a more succinct representation of diff.
|
|
19
17
|
*/
|
|
20
18
|
toJSON() {
|
|
21
|
-
let model = this.model;
|
|
22
|
-
if (model instanceof AModel) {
|
|
23
|
-
model = model.getContext();
|
|
24
|
-
}
|
|
25
19
|
let value = this.value;
|
|
26
|
-
if (value
|
|
20
|
+
if (value.getContext) {
|
|
27
21
|
value = value.getContext();
|
|
28
22
|
}
|
|
29
|
-
else if (value
|
|
23
|
+
else if (value.anchorId) {
|
|
30
24
|
value = `anchorId=${value.anchorId}`;
|
|
31
25
|
}
|
|
26
|
+
else {
|
|
27
|
+
value = JSON.parse(JSON.stringify(value));
|
|
28
|
+
}
|
|
32
29
|
return {
|
|
33
30
|
action: this.action,
|
|
34
31
|
field: this.field,
|
|
35
|
-
|
|
32
|
+
node: this.node.getContext(),
|
|
36
33
|
value,
|
|
37
34
|
};
|
|
38
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../src/functions/diff/diff.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../src/functions/diff/diff.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,yBAAW,CAAA;IACX,+BAAiB,CAAA;IACjB,iCAAmB,CAAA;IACnB,+BAAiB,CAAA;AACnB,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAED,MAAM,OAAO,IAAI;IASf,YAAY,IAAwB,EAAE,MAAsB,EAAE,KAAoB,EAAE,KAA0B;QAC5G,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAI,KAAK,GAAe,IAAI,CAAC,KAAK,CAAC;QACnC,IAAK,KAAqB,CAAC,UAAU,EAAE,CAAC;YACtC,KAAK,GAAI,KAAqB,CAAC,UAAU,EAAE,CAAC;QAC9C,CAAC;aAAM,IAAK,KAAuB,CAAC,QAAQ,EAAE,CAAC;YAC7C,KAAK,GAAG,YAAa,KAAuB,CAAC,QAAQ,EAAE,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAC5B,KAAK;SACN,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { UnknownNode } from '../../app.type.js';
|
|
2
2
|
import { Diff } from './diff.js';
|
|
3
3
|
export declare class DiffUtility {
|
|
4
4
|
private static generateDeleteDiff;
|
|
5
|
-
static isObjectDeepEquals(x:
|
|
5
|
+
static isObjectDeepEquals(x: unknown, y: unknown, excludePaths?: string[], currentPath?: string[]): boolean;
|
|
6
6
|
/**
|
|
7
|
-
* Generate a deep diff of an array of basic types from the previous
|
|
8
|
-
* @param a previous
|
|
9
|
-
* @param b latest
|
|
7
|
+
* Generate a deep diff of an array of basic types from the previous node vs the latest node.
|
|
8
|
+
* @param a previous node.
|
|
9
|
+
* @param b latest node.
|
|
10
10
|
* @param field string representing the field parent uses to reference the array.
|
|
11
11
|
*/
|
|
12
|
-
static diffArray(a:
|
|
12
|
+
static diffArray(a: UnknownNode, b: UnknownNode, field: string): Diff[];
|
|
13
13
|
/**
|
|
14
|
-
* Generate a deep diff of an array of objects from the previous
|
|
15
|
-
* @param a previous
|
|
16
|
-
* @param b latest
|
|
14
|
+
* Generate a deep diff of an array of objects from the previous node vs the latest node.
|
|
15
|
+
* @param a previous node.
|
|
16
|
+
* @param b latest node.
|
|
17
17
|
* @param field string representing the field parent uses to reference the array.
|
|
18
18
|
* @param compare function to check if two objects are equal.
|
|
19
19
|
*/
|
|
20
|
-
static diffArrayOfObjects(a:
|
|
20
|
+
static diffArrayOfObjects(a: UnknownNode, b: UnknownNode, field: string, compare: (object1: unknown, object2: unknown) => boolean): Diff[];
|
|
21
21
|
/**
|
|
22
|
-
* Generate a deep diff of a map of basic types from the previous
|
|
23
|
-
* @param a previous
|
|
24
|
-
* @param b latest
|
|
22
|
+
* Generate a deep diff of a map of basic types from the previous node vs the latest node.
|
|
23
|
+
* @param a previous node.
|
|
24
|
+
* @param b latest node.
|
|
25
25
|
* @param field string representing the field parent uses to reference the map.
|
|
26
26
|
*/
|
|
27
|
-
static diffMap(a:
|
|
27
|
+
static diffMap(a: UnknownNode, b: UnknownNode, field: string): Diff[];
|
|
28
28
|
/**
|
|
29
|
-
* Generate a deep diff of an array of previous
|
|
30
|
-
* The diff is generated recursively, i.e. all children of the
|
|
31
|
-
* @param a array of previous
|
|
32
|
-
* @param b array of latest
|
|
33
|
-
* @param field string representing the unique identifier of the
|
|
29
|
+
* Generate a deep diff of an array of previous node vs latest node.
|
|
30
|
+
* The diff is generated recursively, i.e. all children of the node are included in the diff.
|
|
31
|
+
* @param a array of previous nodes.
|
|
32
|
+
* @param b array of latest nodes.
|
|
33
|
+
* @param field string representing the unique identifier of the node.
|
|
34
34
|
*/
|
|
35
|
-
static
|
|
35
|
+
static diffNodes(a: UnknownNode[], b: UnknownNode[], field: string): Promise<Diff[]>;
|
|
36
36
|
/**
|
|
37
|
-
* Generate a deep diff of an object from the previous
|
|
38
|
-
* @param a previous
|
|
39
|
-
* @param b latest
|
|
37
|
+
* Generate a deep diff of an object from the previous node vs the latest node.
|
|
38
|
+
* @param a previous node.
|
|
39
|
+
* @param b latest node.
|
|
40
40
|
* @param field string representing the field parent uses to reference the object.
|
|
41
41
|
*/
|
|
42
|
-
static diffObject(a:
|
|
42
|
+
static diffObject(a: UnknownNode, b: UnknownNode, field: string): Diff[];
|
|
43
43
|
}
|
|
@@ -1,29 +1,50 @@
|
|
|
1
|
+
import { AAnchor } from '../../overlays/anchor.abstract.js';
|
|
2
|
+
import { Dependency } from '../dependency/dependency.js';
|
|
3
|
+
import { ANode } from '../node/node.abstract.js';
|
|
1
4
|
import { Diff, DiffAction } from './diff.js';
|
|
2
5
|
export class DiffUtility {
|
|
3
|
-
static generateDeleteDiff(
|
|
6
|
+
static generateDeleteDiff(node, field) {
|
|
4
7
|
const diff = [];
|
|
5
|
-
const children =
|
|
6
|
-
for (const
|
|
7
|
-
for (const dependency of children[
|
|
8
|
+
const children = node.getChildren();
|
|
9
|
+
for (const name of Object.keys(children)) {
|
|
10
|
+
for (const dependency of children[name]) {
|
|
8
11
|
const child = dependency.to;
|
|
9
12
|
const childField = dependency.getRelationship().toField;
|
|
10
13
|
diff.push(...DiffUtility.generateDeleteDiff(child, childField));
|
|
11
14
|
}
|
|
12
15
|
}
|
|
13
|
-
diff.push(new Diff(
|
|
16
|
+
diff.push(new Diff(node, DiffAction.DELETE, field, node[field]));
|
|
14
17
|
return diff;
|
|
15
18
|
}
|
|
16
19
|
// Source: https://stackoverflow.com/a/32922084/1834562
|
|
17
|
-
static isObjectDeepEquals(x, y) {
|
|
20
|
+
static isObjectDeepEquals(x, y, excludePaths = [], currentPath = []) {
|
|
21
|
+
if (x instanceof AAnchor && y instanceof AAnchor) {
|
|
22
|
+
return this.isObjectDeepEquals(x.synth(), y.synth(), excludePaths, currentPath);
|
|
23
|
+
}
|
|
24
|
+
else if (x instanceof ANode && y instanceof ANode) {
|
|
25
|
+
return this.isObjectDeepEquals(x.synth(), y.synth(), excludePaths, currentPath);
|
|
26
|
+
}
|
|
27
|
+
else if (x instanceof Dependency && y instanceof Dependency) {
|
|
28
|
+
return this.isObjectDeepEquals(x.synth(), y.synth(), excludePaths, currentPath);
|
|
29
|
+
}
|
|
30
|
+
else if (x instanceof Diff && y instanceof Diff) {
|
|
31
|
+
return this.isObjectDeepEquals(x.toJSON(), y.toJSON(), excludePaths, currentPath);
|
|
32
|
+
}
|
|
18
33
|
const ok = Object.keys, tx = typeof x, ty = typeof y;
|
|
19
34
|
return x && y && tx === 'object' && tx === ty
|
|
20
|
-
? ok(x).length === ok(y).length &&
|
|
35
|
+
? ok(x).length === ok(y).length &&
|
|
36
|
+
ok(x).every((key) => {
|
|
37
|
+
if (excludePaths.includes([...currentPath, key].join('.'))) {
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
return this.isObjectDeepEquals(x[key], y[key], excludePaths, [...currentPath, key]);
|
|
41
|
+
})
|
|
21
42
|
: x === y;
|
|
22
43
|
}
|
|
23
44
|
/**
|
|
24
|
-
* Generate a deep diff of an array of basic types from the previous
|
|
25
|
-
* @param a previous
|
|
26
|
-
* @param b latest
|
|
45
|
+
* Generate a deep diff of an array of basic types from the previous node vs the latest node.
|
|
46
|
+
* @param a previous node.
|
|
47
|
+
* @param b latest node.
|
|
27
48
|
* @param field string representing the field parent uses to reference the array.
|
|
28
49
|
*/
|
|
29
50
|
static diffArray(a, b, field) {
|
|
@@ -49,9 +70,9 @@ export class DiffUtility {
|
|
|
49
70
|
return diff;
|
|
50
71
|
}
|
|
51
72
|
/**
|
|
52
|
-
* Generate a deep diff of an array of objects from the previous
|
|
53
|
-
* @param a previous
|
|
54
|
-
* @param b latest
|
|
73
|
+
* Generate a deep diff of an array of objects from the previous node vs the latest node.
|
|
74
|
+
* @param a previous node.
|
|
75
|
+
* @param b latest node.
|
|
55
76
|
* @param field string representing the field parent uses to reference the array.
|
|
56
77
|
* @param compare function to check if two objects are equal.
|
|
57
78
|
*/
|
|
@@ -76,9 +97,9 @@ export class DiffUtility {
|
|
|
76
97
|
return diff;
|
|
77
98
|
}
|
|
78
99
|
/**
|
|
79
|
-
* Generate a deep diff of a map of basic types from the previous
|
|
80
|
-
* @param a previous
|
|
81
|
-
* @param b latest
|
|
100
|
+
* Generate a deep diff of a map of basic types from the previous node vs the latest node.
|
|
101
|
+
* @param a previous node.
|
|
102
|
+
* @param b latest node.
|
|
82
103
|
* @param field string representing the field parent uses to reference the map.
|
|
83
104
|
*/
|
|
84
105
|
static diffMap(a, b, field) {
|
|
@@ -104,13 +125,13 @@ export class DiffUtility {
|
|
|
104
125
|
return diff;
|
|
105
126
|
}
|
|
106
127
|
/**
|
|
107
|
-
* Generate a deep diff of an array of previous
|
|
108
|
-
* The diff is generated recursively, i.e. all children of the
|
|
109
|
-
* @param a array of previous
|
|
110
|
-
* @param b array of latest
|
|
111
|
-
* @param field string representing the unique identifier of the
|
|
128
|
+
* Generate a deep diff of an array of previous node vs latest node.
|
|
129
|
+
* The diff is generated recursively, i.e. all children of the node are included in the diff.
|
|
130
|
+
* @param a array of previous nodes.
|
|
131
|
+
* @param b array of latest nodes.
|
|
132
|
+
* @param field string representing the unique identifier of the node.
|
|
112
133
|
*/
|
|
113
|
-
static async
|
|
134
|
+
static async diffNodes(a, b, field) {
|
|
114
135
|
const diff = [];
|
|
115
136
|
// Iterate fields of previous (a). If found in latest (b), get recursive diff of children of b vs a.
|
|
116
137
|
// If not found in latest (b), consider it a DELETE.
|
|
@@ -135,9 +156,9 @@ export class DiffUtility {
|
|
|
135
156
|
return diff;
|
|
136
157
|
}
|
|
137
158
|
/**
|
|
138
|
-
* Generate a deep diff of an object from the previous
|
|
139
|
-
* @param a previous
|
|
140
|
-
* @param b latest
|
|
159
|
+
* Generate a deep diff of an object from the previous node vs the latest node.
|
|
160
|
+
* @param a previous node.
|
|
161
|
+
* @param b latest node.
|
|
141
162
|
* @param field string representing the field parent uses to reference the object.
|
|
142
163
|
*/
|
|
143
164
|
static diffObject(a, b, field) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.utility.js","sourceRoot":"","sources":["../../../src/functions/diff/diff.utility.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,OAAO,WAAW;IACd,MAAM,CAAC,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"diff.utility.js","sourceRoot":"","sources":["../../../src/functions/diff/diff.utility.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,22 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Octo } from '../../main.js';
|
|
2
2
|
import type { IHook } from './hook.interface.js';
|
|
3
|
-
|
|
3
|
+
type PostHookSignature = {
|
|
4
|
+
handle: Octo['commitTransaction'];
|
|
5
|
+
};
|
|
6
|
+
type PreHookSignature = {
|
|
7
|
+
handle: Octo['commitTransaction'];
|
|
8
|
+
};
|
|
9
|
+
export declare class CommitHook implements IHook<PreHookSignature, PostHookSignature> {
|
|
4
10
|
private static instance;
|
|
5
11
|
private readonly postCommitHooks;
|
|
6
12
|
private readonly preCommitHooks;
|
|
7
|
-
|
|
13
|
+
private constructor();
|
|
14
|
+
collectHooks(hooks: {
|
|
15
|
+
postHooks?: PostHookSignature[];
|
|
16
|
+
preHooks?: PreHookSignature[];
|
|
17
|
+
}): void;
|
|
8
18
|
static getInstance(): CommitHook;
|
|
9
19
|
registrar(descriptor: PropertyDescriptor): void;
|
|
10
20
|
reset(): void;
|
|
11
21
|
}
|
|
22
|
+
export {};
|