@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
package/dist/index.d.ts
CHANGED
|
@@ -1,63 +1,61 @@
|
|
|
1
1
|
export { Action } from './decorators/action.decorator.js';
|
|
2
2
|
export { Anchor } from './decorators/anchor.decorator.js';
|
|
3
|
-
export { Container } from './decorators/container.js';
|
|
4
|
-
export { EnableHook } from './decorators/enable-hook.decorator.js';
|
|
5
3
|
export { Factory } from './decorators/factory.decorator.js';
|
|
6
4
|
export { Model } from './decorators/model.decorator.js';
|
|
7
5
|
export { Module } from './decorators/module.decorator.js';
|
|
8
6
|
export { OnEvent } from './decorators/on-event.decorator.js';
|
|
9
7
|
export { Overlay } from './decorators/overlay.decorator.js';
|
|
10
8
|
export { Resource } from './decorators/resource.decorator.js';
|
|
11
|
-
export { IPackageMock, TestContainer } from './decorators/test-container.js';
|
|
12
9
|
export { Validate } from './decorators/validate.decorator.js';
|
|
13
|
-
export
|
|
10
|
+
export * from './errors/index.js';
|
|
11
|
+
export * from './events/index.js';
|
|
12
|
+
export { Container } from './functions/container/container.js';
|
|
13
|
+
export { TestContainer } from './functions/container/test-container.js';
|
|
14
|
+
export { Dependency, DependencyRelationship, type IDependency } from './functions/dependency/dependency.js';
|
|
14
15
|
export { Diff, DiffAction } from './functions/diff/diff.js';
|
|
15
16
|
export { DiffUtility } from './functions/diff/diff.utility.js';
|
|
16
|
-
export { DiffMetadata } from './functions/diff/diff-metadata.js';
|
|
17
|
-
export {
|
|
18
|
-
export {
|
|
19
|
-
export {
|
|
20
|
-
export {
|
|
21
|
-
export { AnchorRegistrationEvent, ModelActionRegistrationEvent, ModelRegistrationEvent, OverlayRegistrationEvent, RegistrationEvent, ResourceActionRegistrationEvent, ResourceRegistrationEvent, } from './events/registration.event.js';
|
|
22
|
-
export { ModelDeserializedEvent, ModelSerializedEvent, ResourceDeserializedEvent, ResourceSerializedEvent, SerializationEvent, } from './events/serialization.event.js';
|
|
23
|
-
export { ModelActionTransactionEvent, ResourceActionTransactionEvent, TransactionEvent, } from './events/transaction.event.js';
|
|
24
|
-
export { type IApp } from './models/app/app.interface.js';
|
|
17
|
+
export { type DiffMetadata } from './functions/diff/diff-metadata.js';
|
|
18
|
+
export { ANodeAction } from './functions/node/node-action.abstract.js';
|
|
19
|
+
export { Schema, getSchemaInstance, getSchemaKeys } from './functions/schema/schema.js';
|
|
20
|
+
export { Account } from './models/account/account.model.js';
|
|
21
|
+
export { AccountSchema, AccountType } from './models/account/account.schema.js';
|
|
25
22
|
export { App } from './models/app/app.model.js';
|
|
26
|
-
export {
|
|
23
|
+
export { AppSchema } from './models/app/app.schema.js';
|
|
27
24
|
export { Deployment } from './models/deployment/deployment.model.js';
|
|
28
|
-
export {
|
|
25
|
+
export { DeploymentSchema } from './models/deployment/deployment.schema.js';
|
|
29
26
|
export { Environment } from './models/environment/environment.model.js';
|
|
30
|
-
export {
|
|
27
|
+
export { EnvironmentSchema } from './models/environment/environment.schema.js';
|
|
31
28
|
export { Execution } from './models/execution/execution.model.js';
|
|
32
|
-
export {
|
|
33
|
-
export {
|
|
34
|
-
export {
|
|
29
|
+
export { ExecutionSchema } from './models/execution/execution.schema.js';
|
|
30
|
+
export { Filesystem } from './models/filesystem/filesystem.model.js';
|
|
31
|
+
export { FilesystemSchema } from './models/filesystem/filesystem.schema.js';
|
|
32
|
+
export { Image } from './models/image/image.model.js';
|
|
33
|
+
export { ImageSchema } from './models/image/image.schema.js';
|
|
35
34
|
export { Pipeline } from './models/pipeline/pipeline.model.js';
|
|
36
|
-
export {
|
|
35
|
+
export { PipelineSchema } from './models/pipeline/pipeline.schema.js';
|
|
37
36
|
export { Region } from './models/region/region.model.js';
|
|
38
|
-
export {
|
|
37
|
+
export { RegionSchema } from './models/region/region.schema.js';
|
|
39
38
|
export { Server } from './models/server/server.model.js';
|
|
40
|
-
export {
|
|
39
|
+
export { ServerSchema } from './models/server/server.schema.js';
|
|
41
40
|
export { Service } from './models/service/service.model.js';
|
|
42
|
-
export {
|
|
43
|
-
export { Subnet
|
|
41
|
+
export { ServiceSchema } from './models/service/service.schema.js';
|
|
42
|
+
export { Subnet } from './models/subnet/subnet.model.js';
|
|
43
|
+
export { SubnetSchema, SubnetType } from './models/subnet/subnet.schema.js';
|
|
44
44
|
export { AModel } from './models/model.abstract.js';
|
|
45
|
-
export { type
|
|
45
|
+
export { type IModelReference } from './models/model.interface.js';
|
|
46
46
|
export { type IModelAction } from './models/model-action.interface.js';
|
|
47
|
-
export {
|
|
48
|
-
export { TestModuleContainer } from './modules/test-module.container.js';
|
|
47
|
+
export { AModule } from './modules/module.abstract.js';
|
|
48
|
+
export { type TestModule, TestModuleContainer } from './modules/test-module.container.js';
|
|
49
49
|
export { AAnchor } from './overlays/anchor.abstract.js';
|
|
50
|
-
export {
|
|
50
|
+
export { BaseAnchorSchema } from './overlays/anchor.schema.js';
|
|
51
51
|
export { AOverlay } from './overlays/overlay.abstract.js';
|
|
52
|
-
export {
|
|
53
|
-
export { OverlayService } from './overlays/overlay.service.js';
|
|
52
|
+
export { BaseOverlaySchema } from './overlays/overlay.schema.js';
|
|
54
53
|
export { AResource } from './resources/resource.abstract.js';
|
|
55
|
-
export {
|
|
54
|
+
export { BaseResourceSchema } from './resources/resource.schema.js';
|
|
56
55
|
export { type IResourceAction } from './resources/resource-action.interface.js';
|
|
57
|
-
export { ASharedResource } from './resources/shared-resource.abstract.js';
|
|
58
56
|
export { LocalStateProvider } from './services/state-management/local.state-provider.js';
|
|
59
57
|
export { StateManagementService } from './services/state-management/state-management.service.js';
|
|
60
58
|
export { type IStateProvider } from './services/state-management/state-provider.interface.js';
|
|
61
59
|
export { TestStateProvider } from './services/state-management/test.state-provider.js';
|
|
62
|
-
export
|
|
60
|
+
export { type ActionOutputs, type AnchorSchema, type Constructable, type DiffValueTypePropertyUpdate, type DiffValueTypeTagUpdate, type EnhancedModuleSchema, MatchingAnchor, MatchingModel, MatchingResource, type ModelSerializedOutput, type ModuleSchema, type ModuleSchemaInputs, type OverlaySchema, type ResourceSchema, type ResourceSerializedOutput, hasNodeName, stub, } from './app.type.js';
|
|
63
61
|
export { Octo } from './main.js';
|
package/dist/index.js
CHANGED
|
@@ -1,46 +1,62 @@
|
|
|
1
1
|
export { Action } from './decorators/action.decorator.js';
|
|
2
2
|
export { Anchor } from './decorators/anchor.decorator.js';
|
|
3
|
-
export { Container } from './decorators/container.js';
|
|
4
|
-
export { EnableHook } from './decorators/enable-hook.decorator.js';
|
|
5
3
|
export { Factory } from './decorators/factory.decorator.js';
|
|
6
4
|
export { Model } from './decorators/model.decorator.js';
|
|
7
5
|
export { Module } from './decorators/module.decorator.js';
|
|
8
6
|
export { OnEvent } from './decorators/on-event.decorator.js';
|
|
9
7
|
export { Overlay } from './decorators/overlay.decorator.js';
|
|
10
8
|
export { Resource } from './decorators/resource.decorator.js';
|
|
11
|
-
export { TestContainer } from './decorators/test-container.js';
|
|
12
9
|
export { Validate } from './decorators/validate.decorator.js';
|
|
13
|
-
export
|
|
10
|
+
export * from './errors/index.js';
|
|
11
|
+
export * from './events/index.js';
|
|
12
|
+
export { Container } from './functions/container/container.js';
|
|
13
|
+
export { TestContainer } from './functions/container/test-container.js';
|
|
14
|
+
export { Dependency, DependencyRelationship } from './functions/dependency/dependency.js';
|
|
14
15
|
export { Diff, DiffAction } from './functions/diff/diff.js';
|
|
15
16
|
export { DiffUtility } from './functions/diff/diff.utility.js';
|
|
16
|
-
export {
|
|
17
|
-
export {
|
|
18
|
-
export {
|
|
19
|
-
export {
|
|
20
|
-
export {
|
|
21
|
-
export { AnchorRegistrationEvent, ModelActionRegistrationEvent, ModelRegistrationEvent, OverlayRegistrationEvent, RegistrationEvent, ResourceActionRegistrationEvent, ResourceRegistrationEvent, } from './events/registration.event.js';
|
|
22
|
-
export { ModelDeserializedEvent, ModelSerializedEvent, ResourceDeserializedEvent, ResourceSerializedEvent, SerializationEvent, } from './events/serialization.event.js';
|
|
23
|
-
export { ModelActionTransactionEvent, ResourceActionTransactionEvent, TransactionEvent, } from './events/transaction.event.js';
|
|
17
|
+
export {} from './functions/diff/diff-metadata.js';
|
|
18
|
+
export { ANodeAction } from './functions/node/node-action.abstract.js';
|
|
19
|
+
export { Schema, getSchemaInstance, getSchemaKeys } from './functions/schema/schema.js';
|
|
20
|
+
export { Account } from './models/account/account.model.js';
|
|
21
|
+
export { AccountSchema, AccountType } from './models/account/account.schema.js';
|
|
24
22
|
export { App } from './models/app/app.model.js';
|
|
23
|
+
export { AppSchema } from './models/app/app.schema.js';
|
|
25
24
|
export { Deployment } from './models/deployment/deployment.model.js';
|
|
25
|
+
export { DeploymentSchema } from './models/deployment/deployment.schema.js';
|
|
26
26
|
export { Environment } from './models/environment/environment.model.js';
|
|
27
|
+
export { EnvironmentSchema } from './models/environment/environment.schema.js';
|
|
27
28
|
export { Execution } from './models/execution/execution.model.js';
|
|
29
|
+
export { ExecutionSchema } from './models/execution/execution.schema.js';
|
|
30
|
+
export { Filesystem } from './models/filesystem/filesystem.model.js';
|
|
31
|
+
export { FilesystemSchema } from './models/filesystem/filesystem.schema.js';
|
|
28
32
|
export { Image } from './models/image/image.model.js';
|
|
33
|
+
export { ImageSchema } from './models/image/image.schema.js';
|
|
29
34
|
export { Pipeline } from './models/pipeline/pipeline.model.js';
|
|
35
|
+
export { PipelineSchema } from './models/pipeline/pipeline.schema.js';
|
|
30
36
|
export { Region } from './models/region/region.model.js';
|
|
37
|
+
export { RegionSchema } from './models/region/region.schema.js';
|
|
31
38
|
export { Server } from './models/server/server.model.js';
|
|
39
|
+
export { ServerSchema } from './models/server/server.schema.js';
|
|
32
40
|
export { Service } from './models/service/service.model.js';
|
|
33
|
-
export {
|
|
41
|
+
export { ServiceSchema } from './models/service/service.schema.js';
|
|
42
|
+
export { Subnet } from './models/subnet/subnet.model.js';
|
|
43
|
+
export { SubnetSchema, SubnetType } from './models/subnet/subnet.schema.js';
|
|
34
44
|
export { AModel } from './models/model.abstract.js';
|
|
45
|
+
export {} from './models/model.interface.js';
|
|
46
|
+
export {} from './models/model-action.interface.js';
|
|
47
|
+
export { AModule } from './modules/module.abstract.js';
|
|
35
48
|
export { TestModuleContainer } from './modules/test-module.container.js';
|
|
36
49
|
export { AAnchor } from './overlays/anchor.abstract.js';
|
|
50
|
+
export { BaseAnchorSchema } from './overlays/anchor.schema.js';
|
|
37
51
|
export { AOverlay } from './overlays/overlay.abstract.js';
|
|
38
|
-
export {
|
|
52
|
+
export { BaseOverlaySchema } from './overlays/overlay.schema.js';
|
|
39
53
|
export { AResource } from './resources/resource.abstract.js';
|
|
40
|
-
export {
|
|
54
|
+
export { BaseResourceSchema } from './resources/resource.schema.js';
|
|
55
|
+
export {} from './resources/resource-action.interface.js';
|
|
41
56
|
export { LocalStateProvider } from './services/state-management/local.state-provider.js';
|
|
42
57
|
export { StateManagementService } from './services/state-management/state-management.service.js';
|
|
58
|
+
export {} from './services/state-management/state-provider.interface.js';
|
|
43
59
|
export { TestStateProvider } from './services/state-management/test.state-provider.js';
|
|
44
|
-
export
|
|
60
|
+
export { MatchingAnchor, MatchingModel, MatchingResource, hasNodeName, stub, } from './app.type.js';
|
|
45
61
|
export { Octo } from './main.js';
|
|
46
62
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/main.d.ts
CHANGED
|
@@ -1,39 +1,51 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Container } from './
|
|
3
|
-
import { DiffMetadata } from './functions/diff/diff-metadata.js';
|
|
1
|
+
import type { Constructable, ModuleSchemaInputs, TransactionOptions, UnknownModule, UnknownResource } from './app.type.js';
|
|
2
|
+
import { Container } from './functions/container/container.js';
|
|
4
3
|
import { App } from './models/app/app.model.js';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
4
|
+
import { ModuleContainer } from './modules/module.container.js';
|
|
5
|
+
import { BaseResourceSchema } from './resources/resource.schema.js';
|
|
6
|
+
import { InputService } from './services/input/input.service.js';
|
|
7
|
+
import { SchemaTranslationService } from './services/schema-translation/schema-translation.service.js';
|
|
8
|
+
import type { IStateProvider } from './services/state-management/state-provider.interface.js';
|
|
8
9
|
import { TransactionService } from './services/transaction/transaction.service.js';
|
|
9
10
|
export declare class Octo {
|
|
10
11
|
private readonly modelStateFileName;
|
|
11
|
-
private readonly
|
|
12
|
-
private
|
|
12
|
+
private readonly actualResourceStateFileName;
|
|
13
|
+
private readonly oldResourceStateFileName;
|
|
13
14
|
private captureService;
|
|
14
15
|
private inputService;
|
|
15
16
|
private modelSerializationService;
|
|
16
17
|
private moduleContainer;
|
|
17
|
-
private resourceDataRepository;
|
|
18
18
|
private resourceSerializationService;
|
|
19
|
+
private schemaTranslationService;
|
|
19
20
|
private stateManagementService;
|
|
20
21
|
private transactionService;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
beginTransaction(app: App, { enableResourceCapture, yieldModelDiffs, yieldModelTransaction, yieldResourceDiffs, yieldResourceTransaction, }?: TransactionOptions): ReturnType<TransactionService['beginTransaction']>;
|
|
23
|
+
private commitTransaction;
|
|
24
|
+
compose(): Promise<{
|
|
25
|
+
[key: string]: unknown;
|
|
26
|
+
}>;
|
|
27
|
+
getModule<M extends UnknownModule>(...args: Parameters<InputService['getModule']>): M | undefined;
|
|
28
|
+
getModuleResources(...args: Parameters<InputService['getModuleResources']>): UnknownResource[];
|
|
27
29
|
initialize(stateProvider: IStateProvider, initializeInContainer?: {
|
|
28
|
-
type: Parameters<
|
|
29
|
-
options
|
|
30
|
+
type: Parameters<Container['get']>[0];
|
|
31
|
+
options?: Parameters<Container['get']>[1];
|
|
30
32
|
}[], excludeInContainer?: {
|
|
31
|
-
type: Parameters<
|
|
33
|
+
type: Parameters<Container['unRegisterFactory']>[0];
|
|
32
34
|
}[]): Promise<void>;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
loadModule<M extends UnknownModule>(module: Constructable<M> | string, moduleId: string, inputs: ModuleSchemaInputs<M>): void;
|
|
36
|
+
orderModules(...args: Parameters<ModuleContainer['order']>): ReturnType<ModuleContainer['order']>;
|
|
37
|
+
registerCapture<S extends BaseResourceSchema>(resourceContext: string, response: Partial<S['response']>): void;
|
|
38
|
+
registerHooks(...args: Parameters<ModuleContainer['registerHooks']>): ReturnType<ModuleContainer['registerHooks']>;
|
|
39
|
+
registerSchemaTranslation(...args: Parameters<SchemaTranslationService['registerSchemaTranslation']>): ReturnType<SchemaTranslationService['registerSchemaTranslation']>;
|
|
40
|
+
registerTags(args: {
|
|
41
|
+
scope: {
|
|
42
|
+
moduleId?: string;
|
|
43
|
+
resourceContext?: string;
|
|
44
|
+
};
|
|
45
|
+
tags: {
|
|
46
|
+
[key: string]: string;
|
|
47
|
+
};
|
|
48
|
+
}[]): void;
|
|
37
49
|
private retrieveResourceState;
|
|
38
50
|
private saveModelState;
|
|
39
51
|
private saveResourceState;
|
package/dist/main.js
CHANGED
|
@@ -8,114 +8,153 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
10
|
import { strict as assert } from 'assert';
|
|
11
|
-
import { Container } from './decorators/container.js';
|
|
12
11
|
import { EnableHook } from './decorators/enable-hook.decorator.js';
|
|
12
|
+
import { Container } from './functions/container/container.js';
|
|
13
|
+
import { DiffMetadata } from './functions/diff/diff-metadata.js';
|
|
13
14
|
import { App } from './models/app/app.model.js';
|
|
14
15
|
import { ModuleContainer } from './modules/module.container.js';
|
|
15
|
-
import {
|
|
16
|
+
import { OverlayDataRepository, OverlayDataRepositoryFactory } from './overlays/overlay-data.repository.js';
|
|
17
|
+
import { BaseResourceSchema } from './resources/resource.schema.js';
|
|
16
18
|
import { CaptureService } from './services/capture/capture.service.js';
|
|
17
19
|
import { InputService } from './services/input/input.service.js';
|
|
20
|
+
import { SchemaTranslationService } from './services/schema-translation/schema-translation.service.js';
|
|
18
21
|
import { ModelSerializationService } from './services/serialization/model/model-serialization.service.js';
|
|
19
22
|
import { ResourceSerializationService } from './services/serialization/resource/resource-serialization.service.js';
|
|
20
|
-
import { StateManagementService } from './services/state-management/state-management.service.js';
|
|
23
|
+
import { StateManagementService, StateManagementServiceFactory, } from './services/state-management/state-management.service.js';
|
|
21
24
|
import { TransactionService } from './services/transaction/transaction.service.js';
|
|
22
|
-
import { ValidationService } from './services/validation/validation.service.js';
|
|
23
25
|
export class Octo {
|
|
24
26
|
constructor() {
|
|
25
27
|
this.modelStateFileName = 'models.json';
|
|
26
|
-
this.
|
|
28
|
+
this.actualResourceStateFileName = 'resources-actual.json';
|
|
29
|
+
this.oldResourceStateFileName = 'resources-old.json';
|
|
27
30
|
}
|
|
28
|
-
async beginTransaction(app,
|
|
29
|
-
const diffs = await app.diff(
|
|
30
|
-
|
|
31
|
+
async *beginTransaction(app, { enableResourceCapture = false, yieldModelDiffs = false, yieldModelTransaction = false, yieldResourceDiffs = false, yieldResourceTransaction = false, } = {}) {
|
|
32
|
+
const diffs = await app.diff();
|
|
33
|
+
const transaction = this.transactionService.beginTransaction(diffs, {
|
|
34
|
+
enableResourceCapture,
|
|
35
|
+
yieldModelDiffs: true,
|
|
36
|
+
yieldModelTransaction: true,
|
|
37
|
+
yieldResourceDiffs: true,
|
|
38
|
+
yieldResourceTransaction: true,
|
|
39
|
+
});
|
|
40
|
+
const modelDiffs = await transaction.next();
|
|
41
|
+
if (yieldModelDiffs) {
|
|
42
|
+
yield modelDiffs.value;
|
|
43
|
+
}
|
|
44
|
+
const modelTransaction = await transaction.next();
|
|
45
|
+
if (yieldModelTransaction) {
|
|
46
|
+
yield modelTransaction.value;
|
|
47
|
+
}
|
|
48
|
+
const resourceDiffs = await transaction.next();
|
|
49
|
+
if (yieldResourceDiffs) {
|
|
50
|
+
yield resourceDiffs.value;
|
|
51
|
+
}
|
|
52
|
+
let resourceTransaction = undefined;
|
|
53
|
+
try {
|
|
54
|
+
resourceTransaction = await transaction.next();
|
|
55
|
+
if (yieldResourceTransaction) {
|
|
56
|
+
yield resourceTransaction.value;
|
|
57
|
+
}
|
|
58
|
+
return (await transaction.next()).value;
|
|
59
|
+
}
|
|
60
|
+
finally {
|
|
61
|
+
await this.commitTransaction(app, modelTransaction.value, resourceTransaction ? resourceTransaction.value : []);
|
|
62
|
+
}
|
|
31
63
|
}
|
|
32
|
-
async commitTransaction(app, modelTransaction) {
|
|
33
|
-
// `modelTransaction` is used by hooks of type CommitHook.
|
|
64
|
+
async commitTransaction(app, modelTransaction, resourceTransaction = []) {
|
|
65
|
+
// `modelTransaction` and `resourceTransaction` is used by hooks of type CommitHook.
|
|
34
66
|
assert(!!modelTransaction);
|
|
67
|
+
assert(!!resourceTransaction);
|
|
35
68
|
// Save the state of the new app and its resources.
|
|
36
69
|
await this.saveModelState(app);
|
|
37
70
|
await this.saveResourceState();
|
|
38
71
|
// Reset the runtime environment with the latest state.
|
|
39
72
|
await this.retrieveResourceState();
|
|
40
|
-
this.previousApp = await this.retrieveModelState();
|
|
41
73
|
}
|
|
42
74
|
async compose() {
|
|
43
|
-
await this.moduleContainer.apply();
|
|
44
|
-
const result = this.validationService.validate();
|
|
45
|
-
if (!result.pass) {
|
|
46
|
-
throw new Error('Validation error!');
|
|
47
|
-
}
|
|
75
|
+
return await this.moduleContainer.apply();
|
|
48
76
|
}
|
|
49
|
-
|
|
50
|
-
return this.
|
|
77
|
+
getModule(...args) {
|
|
78
|
+
return this.inputService.getModule(...args);
|
|
51
79
|
}
|
|
52
|
-
|
|
53
|
-
return this.
|
|
80
|
+
getModuleResources(...args) {
|
|
81
|
+
return this.inputService.getModuleResources(...args);
|
|
54
82
|
}
|
|
55
83
|
async initialize(stateProvider, initializeInContainer = [], excludeInContainer = []) {
|
|
84
|
+
const container = Container.getInstance();
|
|
56
85
|
[
|
|
57
86
|
this.captureService,
|
|
58
87
|
this.inputService,
|
|
59
88
|
this.modelSerializationService,
|
|
60
89
|
this.moduleContainer,
|
|
61
|
-
this.resourceDataRepository,
|
|
62
90
|
this.resourceSerializationService,
|
|
91
|
+
this.schemaTranslationService,
|
|
63
92
|
this.stateManagementService,
|
|
64
93
|
this.transactionService,
|
|
65
|
-
this.validationService,
|
|
66
94
|
] = await Promise.all([
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
95
|
+
container.get(CaptureService),
|
|
96
|
+
container.get(InputService),
|
|
97
|
+
container.get(ModelSerializationService),
|
|
98
|
+
container.get(ModuleContainer),
|
|
99
|
+
container.get(ResourceSerializationService),
|
|
100
|
+
container.get(SchemaTranslationService),
|
|
101
|
+
container.get(StateManagementService, {
|
|
102
|
+
args: [stateProvider],
|
|
103
|
+
}),
|
|
104
|
+
container.get(TransactionService),
|
|
76
105
|
]);
|
|
77
106
|
for (const exclude of excludeInContainer) {
|
|
78
|
-
|
|
107
|
+
container.unRegisterFactory(exclude.type);
|
|
79
108
|
}
|
|
80
109
|
for (const initialize of initializeInContainer) {
|
|
81
|
-
await
|
|
110
|
+
await container.get(initialize.type, initialize.options);
|
|
82
111
|
}
|
|
112
|
+
// Wait for all factories and startup promises to resolve.
|
|
113
|
+
await container.waitToResolveAllFactories();
|
|
83
114
|
// Reset the runtime environment with the latest state.
|
|
84
115
|
await this.retrieveResourceState();
|
|
85
|
-
this.previousApp = await this.retrieveModelState();
|
|
86
116
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
117
|
+
loadModule(module, moduleId, inputs) {
|
|
118
|
+
this.moduleContainer.load(module, moduleId, inputs);
|
|
119
|
+
}
|
|
120
|
+
orderModules(...args) {
|
|
121
|
+
this.moduleContainer.order(...args);
|
|
122
|
+
}
|
|
123
|
+
registerCapture(resourceContext, response) {
|
|
124
|
+
this.captureService.registerCapture(resourceContext, response);
|
|
91
125
|
}
|
|
92
|
-
|
|
93
|
-
this.
|
|
126
|
+
registerHooks(...args) {
|
|
127
|
+
this.moduleContainer.registerHooks(...args);
|
|
94
128
|
}
|
|
95
|
-
|
|
96
|
-
this.
|
|
129
|
+
registerSchemaTranslation(...args) {
|
|
130
|
+
return this.schemaTranslationService.registerSchemaTranslation(...args);
|
|
97
131
|
}
|
|
98
|
-
|
|
99
|
-
const {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
: undefined;
|
|
132
|
+
registerTags(args) {
|
|
133
|
+
for (const { scope, tags } of args) {
|
|
134
|
+
const isGlobal = !scope.moduleId && !scope.resourceContext;
|
|
135
|
+
this.inputService.registerTag((isGlobal || scope), tags);
|
|
136
|
+
}
|
|
104
137
|
}
|
|
105
138
|
async retrieveResourceState() {
|
|
106
|
-
const { data:
|
|
139
|
+
const { data: actualSerializedOutput } = await this.stateManagementService.getResourceState(this.actualResourceStateFileName);
|
|
140
|
+
const { data: oldSerializedOutput } = await this.stateManagementService.getResourceState(this.oldResourceStateFileName);
|
|
107
141
|
// Initialize previous resource state.
|
|
108
|
-
await this.resourceSerializationService.deserialize(
|
|
142
|
+
await this.resourceSerializationService.deserialize(actualSerializedOutput, oldSerializedOutput);
|
|
109
143
|
}
|
|
110
144
|
async saveModelState(app) {
|
|
111
145
|
const modelSerializedOutput = await this.modelSerializationService.serialize(app);
|
|
112
146
|
await this.stateManagementService.saveModelState(this.modelStateFileName, modelSerializedOutput, {
|
|
113
147
|
version: 1,
|
|
114
148
|
});
|
|
149
|
+
await Container.getInstance().get(OverlayDataRepository, { args: [true] });
|
|
115
150
|
}
|
|
116
151
|
async saveResourceState() {
|
|
117
|
-
const
|
|
118
|
-
await this.stateManagementService.saveResourceState(this.
|
|
152
|
+
const actualSerializedOutput = await this.resourceSerializationService.serializeActualResources();
|
|
153
|
+
await this.stateManagementService.saveResourceState(this.actualResourceStateFileName, actualSerializedOutput, {
|
|
154
|
+
version: 1,
|
|
155
|
+
});
|
|
156
|
+
const oldSerializedOutput = await this.resourceSerializationService.serializeNewResources();
|
|
157
|
+
await this.stateManagementService.saveResourceState(this.oldResourceStateFileName, oldSerializedOutput, {
|
|
119
158
|
version: 1,
|
|
120
159
|
});
|
|
121
160
|
}
|
|
@@ -123,7 +162,7 @@ export class Octo {
|
|
|
123
162
|
__decorate([
|
|
124
163
|
EnableHook('CommitHook'),
|
|
125
164
|
__metadata("design:type", Function),
|
|
126
|
-
__metadata("design:paramtypes", [App, Array]),
|
|
165
|
+
__metadata("design:paramtypes", [App, Array, Array]),
|
|
127
166
|
__metadata("design:returntype", Promise)
|
|
128
167
|
], Octo.prototype, "commitTransaction", null);
|
|
129
168
|
//# sourceMappingURL=main.js.map
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { UnknownModel } from '../../app.type.js';
|
|
2
|
+
import { AModel } from '../model.abstract.js';
|
|
3
|
+
import { Region } from '../region/region.model.js';
|
|
4
|
+
import { AccountSchema, AccountType } from './account.schema.js';
|
|
5
|
+
type AwsCredentials = {
|
|
6
|
+
readonly accessKeyId: string;
|
|
7
|
+
readonly secretAccessKey: string;
|
|
8
|
+
};
|
|
9
|
+
export declare class Account extends AModel<AccountSchema, Account> {
|
|
10
|
+
readonly accountId: string;
|
|
11
|
+
readonly accountType: AccountType;
|
|
12
|
+
constructor(accountType: AccountType, accountId: string);
|
|
13
|
+
/**
|
|
14
|
+
* To add a {@link Region}.
|
|
15
|
+
*/
|
|
16
|
+
addRegion(region: Region): void;
|
|
17
|
+
isAwsCredentials(credentials: ReturnType<Account['getCredentials']>): credentials is AwsCredentials;
|
|
18
|
+
getCredentials(): object;
|
|
19
|
+
setContext(): string | undefined;
|
|
20
|
+
synth(): AccountSchema;
|
|
21
|
+
static unSynth(account: AccountSchema, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<Account>;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var Account_1;
|
|
11
|
+
import { strict as assert } from 'assert';
|
|
12
|
+
import { Model } from '../../decorators/model.decorator.js';
|
|
13
|
+
import { ModelError } from '../../errors/index.js';
|
|
14
|
+
import { AModel } from '../model.abstract.js';
|
|
15
|
+
import { Region } from '../region/region.model.js';
|
|
16
|
+
import { AccountSchema, AccountType } from './account.schema.js';
|
|
17
|
+
let Account = Account_1 = class Account extends AModel {
|
|
18
|
+
constructor(accountType, accountId) {
|
|
19
|
+
super();
|
|
20
|
+
this.accountId = accountId;
|
|
21
|
+
this.accountType = accountType;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* To add a {@link Region}.
|
|
25
|
+
*/
|
|
26
|
+
addRegion(region) {
|
|
27
|
+
const childrenDependencies = this.getChildren('region');
|
|
28
|
+
if (!childrenDependencies['region'])
|
|
29
|
+
childrenDependencies['region'] = [];
|
|
30
|
+
// Check for duplicates.
|
|
31
|
+
const regions = childrenDependencies['region'].map((d) => d.to);
|
|
32
|
+
if (regions.find((r) => r.regionId === region.regionId)) {
|
|
33
|
+
throw new ModelError('Region already exists!', this);
|
|
34
|
+
}
|
|
35
|
+
this.addChild('accountId', region, 'regionId');
|
|
36
|
+
}
|
|
37
|
+
isAwsCredentials(credentials) {
|
|
38
|
+
return credentials.hasOwnProperty('accessKeyId') && credentials.hasOwnProperty('secretAccessKey');
|
|
39
|
+
}
|
|
40
|
+
getCredentials() {
|
|
41
|
+
throw new ModelError('Method not implemented! Use subclass', this);
|
|
42
|
+
}
|
|
43
|
+
setContext() {
|
|
44
|
+
const parents = this.getParents();
|
|
45
|
+
const app = parents['app']?.[0]?.to;
|
|
46
|
+
if (!app) {
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
return [`${this.constructor.NODE_NAME}=${this.accountId}`, app.getContext()].join(',');
|
|
50
|
+
}
|
|
51
|
+
synth() {
|
|
52
|
+
return {
|
|
53
|
+
accountId: this.accountId,
|
|
54
|
+
accountType: this.accountType,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
static async unSynth(account, deReferenceContext) {
|
|
58
|
+
assert(!!deReferenceContext);
|
|
59
|
+
return new Account_1(account.accountType, account.accountId);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
Account = Account_1 = __decorate([
|
|
63
|
+
Model('@octo', 'account', AccountSchema),
|
|
64
|
+
__metadata("design:paramtypes", [String, String])
|
|
65
|
+
], Account);
|
|
66
|
+
export { Account };
|
|
67
|
+
//# sourceMappingURL=account.model.js.map
|