@quadnix/octo 0.0.30 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +661 -0
- package/README.md +117 -8
- package/dist/app.type.d.ts +277 -19
- package/dist/app.type.js +80 -9
- package/dist/app.type.js.map +1 -1
- package/dist/decorators/action.decorator.d.ts +10 -6
- package/dist/decorators/action.decorator.js +19 -6
- package/dist/decorators/action.decorator.js.map +1 -1
- package/dist/decorators/anchor.decorator.d.ts +12 -5
- package/dist/decorators/anchor.decorator.js +12 -5
- package/dist/decorators/anchor.decorator.js.map +1 -1
- package/dist/decorators/enable-hook.decorator.d.ts +1 -1
- package/dist/decorators/enable-hook.decorator.js +1 -1
- package/dist/decorators/factory.decorator.d.ts +18 -34
- package/dist/decorators/factory.decorator.js +18 -34
- package/dist/decorators/factory.decorator.js.map +1 -1
- package/dist/decorators/model.decorator.d.ts +4 -6
- package/dist/decorators/model.decorator.js +2 -7
- package/dist/decorators/model.decorator.js.map +1 -1
- package/dist/decorators/module.decorator.d.ts +16 -10
- package/dist/decorators/module.decorator.js +16 -10
- package/dist/decorators/module.decorator.js.map +1 -1
- package/dist/decorators/on-event.decorator.d.ts +7 -2
- package/dist/decorators/on-event.decorator.js +5 -0
- package/dist/decorators/on-event.decorator.js.map +1 -1
- package/dist/decorators/resource.decorator.d.ts +50 -1
- package/dist/decorators/resource.decorator.js +38 -1
- package/dist/decorators/resource.decorator.js.map +1 -1
- package/dist/decorators/validate.decorator.d.ts +15 -1
- package/dist/decorators/validate.decorator.js +15 -1
- package/dist/decorators/validate.decorator.js.map +1 -1
- package/dist/errors/container.error.d.ts +18 -0
- package/dist/errors/container.error.js +18 -0
- package/dist/errors/container.error.js.map +1 -1
- package/dist/errors/index.d.ts +1 -0
- package/dist/errors/index.js +1 -0
- package/dist/errors/index.js.map +1 -1
- package/dist/errors/module.error.d.ts +6 -0
- package/dist/errors/module.error.js +6 -0
- package/dist/errors/module.error.js.map +1 -1
- package/dist/errors/node.error.d.ts +56 -0
- package/dist/errors/node.error.js +56 -0
- package/dist/errors/node.error.js.map +1 -1
- package/dist/errors/schema.error.d.ts +14 -1
- package/dist/errors/schema.error.js +11 -1
- package/dist/errors/schema.error.js.map +1 -1
- package/dist/errors/terraform.error.d.ts +20 -0
- package/dist/errors/terraform.error.js +24 -0
- package/dist/errors/terraform.error.js.map +1 -0
- package/dist/errors/transaction.error.d.ts +93 -2
- package/dist/errors/transaction.error.js +83 -0
- package/dist/errors/transaction.error.js.map +1 -1
- package/dist/events/action.event.d.ts +8 -4
- package/dist/events/action.event.js +2 -4
- package/dist/events/action.event.js.map +1 -1
- package/dist/events/command.event.d.ts +43 -0
- package/dist/events/command.event.js +33 -0
- package/dist/events/command.event.js.map +1 -0
- package/dist/events/event.model.d.ts +26 -8
- package/dist/events/event.model.js +15 -7
- package/dist/events/event.model.js.map +1 -1
- package/dist/events/hook/commit.hook.event.d.ts +1 -7
- package/dist/events/hook/commit.hook.event.js +0 -6
- package/dist/events/hook/commit.hook.event.js.map +1 -1
- package/dist/events/hook/hook.event.d.ts +1 -3
- package/dist/events/hook/hook.event.js +0 -2
- package/dist/events/hook/hook.event.js.map +1 -1
- package/dist/events/hook/model.hook.event.d.ts +1 -7
- package/dist/events/hook/model.hook.event.js +0 -6
- package/dist/events/hook/model.hook.event.js.map +1 -1
- package/dist/events/hook/resource.hook.event.d.ts +1 -7
- package/dist/events/hook/resource.hook.event.js +0 -6
- package/dist/events/hook/resource.hook.event.js.map +1 -1
- package/dist/events/index.d.ts +5 -0
- package/dist/events/index.js +5 -0
- package/dist/events/index.js.map +1 -1
- package/dist/events/mode-result.event.d.ts +57 -0
- package/dist/events/mode-result.event.js +24 -0
- package/dist/events/mode-result.event.js.map +1 -0
- package/dist/events/mode.event.d.ts +61 -0
- package/dist/events/mode.event.js +32 -0
- package/dist/events/mode.event.js.map +1 -0
- package/dist/events/module.event.d.ts +7 -5
- package/dist/events/module.event.js +3 -4
- package/dist/events/module.event.js.map +1 -1
- package/dist/events/registration.event.d.ts +19 -15
- package/dist/events/registration.event.js +18 -14
- package/dist/events/registration.event.js.map +1 -1
- package/dist/events/serialization.event.d.ts +16 -13
- package/dist/events/serialization.event.js +15 -12
- package/dist/events/serialization.event.js.map +1 -1
- package/dist/events/state.event.d.ts +102 -0
- package/dist/events/state.event.js +69 -0
- package/dist/events/state.event.js.map +1 -0
- package/dist/events/terraform.event.d.ts +78 -0
- package/dist/events/terraform.event.js +55 -0
- package/dist/events/terraform.event.js.map +1 -0
- package/dist/events/transaction.event.d.ts +3 -40
- package/dist/events/transaction.event.js +1 -29
- package/dist/events/transaction.event.js.map +1 -1
- package/dist/functions/container/container.d.ts +54 -13
- package/dist/functions/container/container.js +64 -19
- package/dist/functions/container/container.js.map +1 -1
- package/dist/functions/container/test-container.d.ts +43 -29
- package/dist/functions/container/test-container.js +71 -43
- package/dist/functions/container/test-container.js.map +1 -1
- package/dist/functions/dependency/dependency.d.ts +84 -23
- package/dist/functions/dependency/dependency.js +84 -14
- package/dist/functions/dependency/dependency.js.map +1 -1
- package/dist/functions/diff/aggregate-resource-actions.d.ts +19 -0
- package/dist/functions/diff/aggregate-resource-actions.js +41 -0
- package/dist/functions/diff/aggregate-resource-actions.js.map +1 -0
- package/dist/functions/diff/diff-metadata.d.ts +21 -3
- package/dist/functions/diff/diff-metadata.js +18 -0
- package/dist/functions/diff/diff-metadata.js.map +1 -1
- package/dist/functions/diff/diff.d.ts +68 -7
- package/dist/functions/diff/diff.js +44 -3
- package/dist/functions/diff/diff.js.map +1 -1
- package/dist/functions/hook/commit.hook.d.ts +16 -1
- package/dist/functions/hook/commit.hook.js +21 -6
- package/dist/functions/hook/commit.hook.js.map +1 -1
- package/dist/functions/hook/model-action.hook.d.ts +16 -1
- package/dist/functions/hook/model-action.hook.js +21 -6
- package/dist/functions/hook/model-action.hook.js.map +1 -1
- package/dist/functions/hook/resource-action.hook.d.ts +16 -1
- package/dist/functions/hook/resource-action.hook.js +21 -6
- package/dist/functions/hook/resource-action.hook.js.map +1 -1
- package/dist/functions/node/node-action.abstract.d.ts +23 -2
- package/dist/functions/node/node-action.abstract.js +22 -8
- package/dist/functions/node/node-action.abstract.js.map +1 -1
- package/dist/functions/node/node.abstract.d.ts +56 -5
- package/dist/functions/node/node.abstract.js +106 -22
- package/dist/functions/node/node.abstract.js.map +1 -1
- package/dist/functions/node/node.interface.d.ts +3 -1
- package/dist/functions/schema/schema.d.ts +7 -0
- package/dist/functions/schema/schema.js +10 -1
- package/dist/functions/schema/schema.js.map +1 -1
- package/dist/index.d.ts +12 -6
- package/dist/index.js +9 -4
- package/dist/index.js.map +1 -1
- package/dist/index.type.d.ts +5 -0
- package/dist/index.type.js +2 -0
- package/dist/index.type.js.map +1 -0
- package/dist/main.d.ts +245 -14
- package/dist/main.js +377 -72
- package/dist/main.js.map +1 -1
- package/dist/models/account/account.model.d.ts +43 -7
- package/dist/models/account/account.model.js +56 -8
- package/dist/models/account/account.model.js.map +1 -1
- package/dist/models/account/account.schema.d.ts +13 -1
- package/dist/models/account/account.schema.js +12 -0
- package/dist/models/account/account.schema.js.map +1 -1
- package/dist/models/app/app.model.d.ts +13 -8
- package/dist/models/app/app.model.js +17 -32
- package/dist/models/app/app.model.js.map +1 -1
- package/dist/models/app/app.schema.d.ts +6 -0
- package/dist/models/app/app.schema.js +6 -0
- package/dist/models/app/app.schema.js.map +1 -1
- package/dist/models/deployment/deployment.model.d.ts +13 -1
- package/dist/models/deployment/deployment.model.js +16 -4
- package/dist/models/deployment/deployment.model.js.map +1 -1
- package/dist/models/deployment/deployment.schema.d.ts +6 -0
- package/dist/models/deployment/deployment.schema.js +6 -0
- package/dist/models/deployment/deployment.schema.js.map +1 -1
- package/dist/models/environment/environment.model.d.ts +15 -3
- package/dist/models/environment/environment.model.js +22 -10
- package/dist/models/environment/environment.model.js.map +1 -1
- package/dist/models/environment/environment.schema.d.ts +2 -0
- package/dist/models/environment/environment.schema.js +2 -0
- package/dist/models/environment/environment.schema.js.map +1 -1
- package/dist/models/execution/execution.model.d.ts +21 -3
- package/dist/models/execution/execution.model.js +47 -29
- package/dist/models/execution/execution.model.js.map +1 -1
- package/dist/models/execution/execution.schema.d.ts +11 -0
- package/dist/models/execution/execution.schema.js +11 -0
- package/dist/models/execution/execution.schema.js.map +1 -1
- package/dist/models/filesystem/filesystem.model.d.ts +27 -1
- package/dist/models/filesystem/filesystem.model.js +30 -4
- package/dist/models/filesystem/filesystem.model.js.map +1 -1
- package/dist/models/filesystem/filesystem.schema.d.ts +5 -0
- package/dist/models/filesystem/filesystem.schema.js +5 -0
- package/dist/models/filesystem/filesystem.schema.js.map +1 -1
- package/dist/models/image/image.model.d.ts +19 -5
- package/dist/models/image/image.model.js +25 -11
- package/dist/models/image/image.model.js.map +1 -1
- package/dist/models/image/image.schema.d.ts +8 -0
- package/dist/models/image/image.schema.js +8 -0
- package/dist/models/image/image.schema.js.map +1 -1
- package/dist/models/model-action.interface.d.ts +17 -4
- package/dist/models/model.abstract.d.ts +96 -1
- package/dist/models/model.abstract.js +107 -8
- package/dist/models/model.abstract.js.map +1 -1
- package/dist/models/model.interface.d.ts +3 -0
- package/dist/models/pipeline/pipeline.model.d.ts +14 -2
- package/dist/models/pipeline/pipeline.model.js +19 -7
- package/dist/models/pipeline/pipeline.model.js.map +1 -1
- package/dist/models/pipeline/pipeline.schema.d.ts +8 -0
- package/dist/models/pipeline/pipeline.schema.js +8 -0
- package/dist/models/pipeline/pipeline.schema.js.map +1 -1
- package/dist/models/region/region.model.d.ts +16 -1
- package/dist/models/region/region.model.js +19 -4
- package/dist/models/region/region.model.js.map +1 -1
- package/dist/models/region/region.schema.d.ts +6 -0
- package/dist/models/region/region.schema.js +6 -0
- package/dist/models/region/region.schema.js.map +1 -1
- package/dist/models/server/server.model.d.ts +15 -3
- package/dist/models/server/server.model.js +18 -6
- package/dist/models/server/server.model.js.map +1 -1
- package/dist/models/server/server.schema.d.ts +3 -1
- package/dist/models/server/server.schema.js +3 -1
- package/dist/models/server/server.schema.js.map +1 -1
- package/dist/models/service/service.model.d.ts +37 -6
- package/dist/models/service/service.model.js +65 -11
- package/dist/models/service/service.model.js.map +1 -1
- package/dist/models/service/service.schema.d.ts +48 -1
- package/dist/models/service/service.schema.js +56 -1
- package/dist/models/service/service.schema.js.map +1 -1
- package/dist/models/subnet/subnet.model.d.ts +27 -3
- package/dist/models/subnet/subnet.model.js +40 -16
- package/dist/models/subnet/subnet.model.js.map +1 -1
- package/dist/models/subnet/subnet.schema.d.ts +9 -0
- package/dist/models/subnet/subnet.schema.js +9 -0
- package/dist/models/subnet/subnet.schema.js.map +1 -1
- package/dist/modes/apply-transaction.d.ts +23 -0
- package/dist/modes/apply-transaction.js +25 -0
- package/dist/modes/apply-transaction.js.map +1 -0
- package/dist/modes/commit.mode.d.ts +54 -0
- package/dist/modes/commit.mode.js +235 -0
- package/dist/modes/commit.mode.js.map +1 -0
- package/dist/modes/generate.mode.d.ts +30 -0
- package/dist/modes/generate.mode.js +50 -0
- package/dist/modes/generate.mode.js.map +1 -0
- package/dist/modes/run-action.mode.d.ts +30 -0
- package/dist/modes/run-action.mode.js +140 -0
- package/dist/modes/run-action.mode.js.map +1 -0
- package/dist/modes/validate.mode.d.ts +186 -0
- package/dist/modes/validate.mode.js +558 -0
- package/dist/modes/validate.mode.js.map +1 -0
- package/dist/modules/module.abstract.d.ts +51 -0
- package/dist/modules/module.abstract.js +36 -0
- package/dist/modules/module.abstract.js.map +1 -1
- package/dist/modules/module.container.d.ts +43 -1
- package/dist/modules/module.container.js +77 -5
- package/dist/modules/module.container.js.map +1 -1
- package/dist/modules/test-module.container.d.ts +139 -25
- package/dist/modules/test-module.container.js +383 -199
- package/dist/modules/test-module.container.js.map +1 -1
- package/dist/overlays/anchor.abstract.d.ts +32 -1
- package/dist/overlays/anchor.abstract.js +42 -11
- package/dist/overlays/anchor.abstract.js.map +1 -1
- package/dist/overlays/anchor.schema.d.ts +21 -0
- package/dist/overlays/anchor.schema.js +21 -0
- package/dist/overlays/anchor.schema.js.map +1 -1
- package/dist/overlays/overlay-data.repository.d.ts +18 -0
- package/dist/overlays/overlay-data.repository.js +18 -0
- package/dist/overlays/overlay-data.repository.js.map +1 -1
- package/dist/overlays/overlay.abstract.d.ts +56 -1
- package/dist/overlays/overlay.abstract.js +79 -20
- package/dist/overlays/overlay.abstract.js.map +1 -1
- package/dist/overlays/overlay.schema.d.ts +20 -0
- package/dist/overlays/overlay.schema.js +20 -0
- package/dist/overlays/overlay.schema.js.map +1 -1
- package/dist/resources/resource-action.interface.d.ts +29 -3
- package/dist/resources/resource-data.repository.d.ts +63 -1
- package/dist/resources/resource-data.repository.js +94 -4
- package/dist/resources/resource-data.repository.js.map +1 -1
- package/dist/resources/resource.abstract.d.ts +163 -6
- package/dist/resources/resource.abstract.js +223 -59
- package/dist/resources/resource.abstract.js.map +1 -1
- package/dist/resources/resource.interface.d.ts +0 -2
- package/dist/resources/resource.schema.d.ts +39 -1
- package/dist/resources/resource.schema.js +38 -0
- package/dist/resources/resource.schema.js.map +1 -1
- package/dist/resources/terraform-resource.abstract.d.ts +44 -0
- package/dist/resources/terraform-resource.abstract.js +45 -0
- package/dist/resources/terraform-resource.abstract.js.map +1 -0
- package/dist/services/event/event.service.d.ts +32 -5
- package/dist/services/event/event.service.js +58 -16
- package/dist/services/event/event.service.js.map +1 -1
- package/dist/services/input/input.service.d.ts +82 -5
- package/dist/services/input/input.service.js +143 -12
- package/dist/services/input/input.service.js.map +1 -1
- package/dist/services/schema-translation/schema-translation.service.d.ts +9 -0
- package/dist/services/schema-translation/schema-translation.service.js +9 -0
- package/dist/services/schema-translation/schema-translation.service.js.map +1 -1
- package/dist/services/serialization/model/model-serialization.service.d.ts +25 -3
- package/dist/services/serialization/model/model-serialization.service.js +113 -62
- package/dist/services/serialization/model/model-serialization.service.js.map +1 -1
- package/dist/services/serialization/resource/resource-serialization.service.d.ts +36 -6
- package/dist/services/serialization/resource/resource-serialization.service.js +77 -28
- package/dist/services/serialization/resource/resource-serialization.service.js.map +1 -1
- package/dist/services/state-management/local.state-provider.d.ts +67 -4
- package/dist/services/state-management/local.state-provider.js +168 -41
- package/dist/services/state-management/local.state-provider.js.map +1 -1
- package/dist/services/state-management/remote.state-provider.d.ts +216 -0
- package/dist/services/state-management/remote.state-provider.js +645 -0
- package/dist/services/state-management/remote.state-provider.js.map +1 -0
- package/dist/services/state-management/state-management.service.d.ts +195 -17
- package/dist/services/state-management/state-management.service.js +259 -10
- package/dist/services/state-management/state-management.service.js.map +1 -1
- package/dist/services/state-management/state-provider.interface.d.ts +98 -3
- package/dist/services/state-management/state-provider.interface.js +14 -1
- package/dist/services/state-management/state-provider.interface.js.map +1 -1
- package/dist/services/state-management/terraform-state.service.d.ts +99 -0
- package/dist/services/state-management/terraform-state.service.js +197 -0
- package/dist/services/state-management/terraform-state.service.js.map +1 -0
- package/dist/services/state-management/test.state-provider.d.ts +42 -4
- package/dist/services/state-management/test.state-provider.js +77 -25
- package/dist/services/state-management/test.state-provider.js.map +1 -1
- package/dist/services/terraform/terraform.service.d.ts +480 -0
- package/dist/services/terraform/terraform.service.js +1082 -0
- package/dist/services/terraform/terraform.service.js.map +1 -0
- package/dist/services/terraform/terraform.type.d.ts +387 -0
- package/dist/services/terraform/terraform.type.js +579 -0
- package/dist/services/terraform/terraform.type.js.map +1 -0
- package/dist/services/transaction/transaction.service.d.ts +110 -10
- package/dist/services/transaction/transaction.service.js +570 -251
- package/dist/services/transaction/transaction.service.js.map +1 -1
- package/dist/services/validation/validation.service.d.ts +15 -3
- package/dist/services/validation/validation.service.js +12 -0
- package/dist/services/validation/validation.service.js.map +1 -1
- package/dist/utilities/array/array.utility.d.ts +3 -0
- package/dist/utilities/array/array.utility.js +3 -0
- package/dist/utilities/array/array.utility.js.map +1 -1
- package/dist/{functions → utilities}/diff/diff.utility.d.ts +19 -3
- package/dist/{functions → utilities}/diff/diff.utility.js +57 -41
- package/dist/utilities/diff/diff.utility.js.map +1 -0
- package/dist/utilities/file/file.utility.d.ts +16 -2
- package/dist/utilities/file/file.utility.js +23 -61
- package/dist/utilities/file/file.utility.js.map +1 -1
- package/dist/utilities/hcl/hcl.utility.d.ts +128 -0
- package/dist/utilities/hcl/hcl.utility.js +402 -0
- package/dist/utilities/hcl/hcl.utility.js.map +1 -0
- package/dist/utilities/http/http.utility.d.ts +57 -0
- package/dist/utilities/http/http.utility.js +98 -0
- package/dist/utilities/http/http.utility.js.map +1 -0
- package/dist/utilities/node/node.utility.d.ts +3 -0
- package/dist/utilities/node/node.utility.js +3 -0
- package/dist/utilities/node/node.utility.js.map +1 -1
- package/dist/utilities/object/object.utility.d.ts +12 -0
- package/dist/utilities/object/object.utility.js +12 -0
- package/dist/utilities/object/object.utility.js.map +1 -1
- package/dist/utilities/project/project.utility.d.ts +28 -0
- package/dist/utilities/project/project.utility.js +35 -0
- package/dist/utilities/project/project.utility.js.map +1 -0
- package/dist/utilities/string/string.utility.d.ts +41 -0
- package/dist/utilities/string/string.utility.js +65 -0
- package/dist/utilities/string/string.utility.js.map +1 -0
- package/dist/utilities/terraform/terraform.utility.d.ts +276 -0
- package/dist/utilities/terraform/terraform.utility.js +623 -0
- package/dist/utilities/terraform/terraform.utility.js.map +1 -0
- package/dist/utilities/test-helpers/test-classes.d.ts +36 -30
- package/dist/utilities/test-helpers/test-classes.js +38 -39
- package/dist/utilities/test-helpers/test-classes.js.map +1 -1
- package/dist/utilities/test-helpers/test-models.d.ts +8 -1
- package/dist/utilities/test-helpers/test-models.js +37 -12
- package/dist/utilities/test-helpers/test-models.js.map +1 -1
- package/dist/utilities/test-helpers/test-modes.d.ts +315 -0
- package/dist/utilities/test-helpers/test-modes.js +486 -0
- package/dist/utilities/test-helpers/test-modes.js.map +1 -0
- package/dist/utilities/test-helpers/test-modules.d.ts +47 -0
- package/dist/utilities/test-helpers/test-modules.js +85 -0
- package/dist/utilities/test-helpers/test-modules.js.map +1 -0
- package/dist/utilities/test-helpers/test-overlays.d.ts +20 -2
- package/dist/utilities/test-helpers/test-overlays.js +56 -6
- package/dist/utilities/test-helpers/test-overlays.js.map +1 -1
- package/dist/utilities/test-helpers/test-resources.d.ts +23 -3
- package/dist/utilities/test-helpers/test-resources.js +83 -23
- package/dist/utilities/test-helpers/test-resources.js.map +1 -1
- package/dist/utilities/validation/validation.utility.d.ts +24 -0
- package/dist/utilities/validation/validation.utility.js +24 -0
- package/dist/utilities/validation/validation.utility.js.map +1 -1
- package/package.json +12 -6
- package/dist/functions/diff/diff.utility.js.map +0 -1
- package/dist/services/capture/capture.service.d.ts +0 -19
- package/dist/services/capture/capture.service.js +0 -43
- package/dist/services/capture/capture.service.js.map +0 -1
- package/dist/services/state-management/local-encryption.state-provider.d.ts +0 -20
- package/dist/services/state-management/local-encryption.state-provider.js +0 -90
- package/dist/services/state-management/local-encryption.state-provider.js.map +0 -1
- package/dist/utilities/cidr/cidr.utility.d.ts +0 -10
- package/dist/utilities/cidr/cidr.utility.js +0 -51
- package/dist/utilities/cidr/cidr.utility.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-serialization.service.js","sourceRoot":"","sources":["../../../../src/services/serialization/model/model-serialization.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAIL,QAAQ,GAIT,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,0CAA0C,CAAC;AACnE,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"model-serialization.service.js","sourceRoot":"","sources":["../../../../src/services/serialization/model/model-serialization.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAIL,QAAQ,GAIT,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,0CAA0C,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACtF,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAC;AAEzE,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAqC,MAAM,8CAA8C,CAAC;AACxH,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D;;GAEG;AACH,MAAM,OAAO,yBAAyB;IAKpC;;OAEG;IACH,YACmB,YAA0B,EAC1B,eAAgC;QADhC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,oBAAe,GAAf,eAAe,CAAiB;QATlC,iBAAY,GAA2B,EAAE,CAAC;QAE1C,wCAAmC,GAAG,IAAI,CAAC;IAQzD,CAAC;IAEJ;;OAEG;IAEG,AAAN,KAAK,CAAC,WAAW,CACf,gBAAuC,EACvC,EAAE,MAAM,GAAG,IAAI,KAA2B,EAAE;QAE5C,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAE1F,uCAAuC;QACvC,MAAM,SAAS,CAAC,WAAW,EAAE,CAAC,GAAG,CAC/B,qBAAqB,EACrB,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAC9B,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IAIH,aAAa,CAAC,SAAiB,EAAE,oBAAyB;QACxD,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,0BAA0B,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,oBAAoB,CAAC;IACtD,CAAC;IAED;;OAEG;IAEG,AAAN,KAAK,CAAC,SAAS,CAAC,IAAkB;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAqC,EAAE,CAAC;QACrD,MAAM,YAAY,GAA0C,EAAE,CAAC;QAC/D,MAAM,MAAM,GAAoC,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAsC,EAAE,CAAC;QAEvD,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,eAAe,EAAE,EAAE,CAAC;gBACxC,mDAAmD;gBACnD,IACE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;oBAC7D,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAC3D,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC/B,CAAC;YAED,IAAK,KAAK,CAAC,WAA4B,CAAC,SAAS,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACrE,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;oBACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,KAAqB,CAAC,CAAC;oBAC/E,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAC3B,MAAM,IAAI,UAAU,CAAC,0CAA0C,EAAE,KAAqB,CAAC,CAAC;oBAC1F,CAAC;oBAED,MAAM,CAAC,OAAO,CAAC,GAAG;wBAChB,SAAS,EAAE,GAAI,KAAK,CAAC,WAA4B,CAAC,YAAY,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE;wBAC1F,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;wBACpB,QAAQ;wBACR,QAAQ,EAAG,KAAK,CAAC,WAA4B,CAAC,SAAsB;qBAC1B,CAAC;gBAC/C,CAAC;gBAED,KAAK,MAAM,CAAC,IAAK,KAAsB,CAAC,UAAU,EAAE,EAAE,CAAC;oBACrD,OAAO,CAAC,IAAI,CAAC;wBACX,GAAG,CAAC,CAAC,KAAK,EAAE;wBACZ,SAAS,EAAE,GAAI,CAAC,CAAC,WAA8B,CAAC,YAAY,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE;wBACpF,QAAQ,EAAE;4BACR,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE;4BAC3B,IAAI,EAAE,QAAQ,CAAC,KAAK;yBACrB;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,IAAK,KAAK,CAAC,WAA4B,CAAC,SAAS,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,KAAuB,CAAC,CAAC;gBACnF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,MAAM,IAAI,YAAY,CAAC,4CAA4C,EAAE,KAAuB,CAAC,CAAC;gBAChG,CAAC;gBAED,QAAQ,CAAC,IAAI,CAAC;oBACZ,SAAS,EAAE,GAAI,KAAK,CAAC,WAA4B,CAAC,YAAY,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE;oBAC1F,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE;oBAC3B,QAAQ;oBACR,OAAO,EAAG,KAAwB,CAAC,KAAK,EAAE;iBAC3C,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,0GAA0G;QAC1G,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9F,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAK,IAAI,CAAC,WAA4B,CAAC,SAAS,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtE,SAAS;YACX,CAAC;YAED,MAAM,OAAO,GAAG,IAAsB,CAAC;YACvC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;gBAC1C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBACvF,MAAM,IAAI,YAAY,CAAC,6CAA6C,EAAE,OAAO,CAAC,CAAC;gBACjF,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC;IACzG,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CACxB,gBAAuC,EACvC,MAAe;QAEf,MAAM,mBAAmB,GAErB,EAAE,CAAC;QACP,MAAM,IAAI,GAAkC,EAAE,CAAC;QAE/C,MAAM,kBAAkB,GAAG,KAAK,EAAE,OAAe,EAAyB,EAAE;YAC1E,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnB,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;oBACjC,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAS,CAAC;oBACzC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;wBACvD,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;wBAC1C,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;oBAC3C,CAAC,CAAC,CAAC;oBACH,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;oBAE1C,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE;wBAChD,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC,CAAC;oBACzF,CAAC,EAAE,IAAI,CAAC,mCAAmC,CAAC,CAAC;oBAC7C,MAAM,OAAO,CAAC;gBAChB,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC,CAAC;QAEF,MAAM,gBAAgB,GAAG,KAAK,EAAE,OAAe,EAAyB,EAAE;YACxE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC9D,MAAM,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAE1D,IAAI,CAAC,OAAO,CAAC,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;YAC9E,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;YAEnC,IAAI,mBAAmB,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC/C,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,CAAC;YAED,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC,CAAC;QAEF,0BAA0B;QAC1B,MAAM,0BAA0B,GAA4B,EAAE,CAAC;QAC/D,KAAK,MAAM,OAAO,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAC9C,0BAA0B,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAE9C,4BAA4B;QAC5B,MAAM,QAAQ,GAAqB,EAAE,CAAC;QACtC,KAAK,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC/D,MAAM,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAC1D,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,OAAO,CACnD,oBAAoB,EACpB,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,EAC3B,kBAAkB,CACnB,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1B,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC;QAC7C,CAAC;QAED,2BAA2B;QAC3B,MAAM,2BAA2B,GAAqC,EAAE,CAAC;QACzE,KAAK,MAAM,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;YACpD,MAAM,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAE1D,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC;YAC/F,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACzC,2BAA2B,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;QAC7E,CAAC;QAED,uBAAuB;QACvB,KAAK,MAAM,EAAE,OAAO,EAAE,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YACpD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAA8B,EAA0B,EAAE;gBACnF,MAAM,MAAM,GAAG,2BAA2B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBACrF,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,IAAI,gBAAgB,CAAC,6CAA6C,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC/F,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC,CACH,CAAC;YACF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,CAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,KAAK,MAAM,CAAC,IAAI,gBAAgB,CAAC,YAAY,EAAE,CAAC;YAC9C,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACnE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;gBACtG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YACD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAED,gEAAgE;QAChE,MAAM,IAAI,GACR,gBAAgB,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;YACtC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;CACF;AAxOO;IADL,WAAW,CAAC,sBAAsB,CAAC;;;;4DAcnC;AAQD;IAHC,WAAW,CAAC,uBAAuB,CAAC;IACpC,WAAW,CAAC,sBAAsB,CAAC;IACnC,WAAW,CAAC,wBAAwB,CAAC;;;;8DAMrC;AAMK;IADL,WAAW,CAAC,oBAAoB,CAAC;;;;0DA8EjC;AA6HH;;GAEG;AAEI,IAAM,gCAAgC,GAAtC,MAAM,gCAAgC;IAG3C;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM;QACjB,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACrE,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAE3E,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,yBAAyB,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QAC/E,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF,CAAA;AAhBY,gCAAgC;IAD5C,OAAO,CAA4B,yBAAyB,CAAC;GACjD,gCAAgC,CAgB5C"}
|
|
@@ -1,25 +1,55 @@
|
|
|
1
|
-
import type { ResourceSerializedOutput } from '../../../app.type.js';
|
|
1
|
+
import type { ResourceSerializedOutput, UnknownResource } from '../../../app.type.js';
|
|
2
2
|
import { ResourceDataRepository } from '../../../resources/resource-data.repository.js';
|
|
3
|
+
import { InputService } from '../../input/input.service.js';
|
|
3
4
|
/**
|
|
4
5
|
* @internal
|
|
5
6
|
*/
|
|
6
7
|
export declare class ResourceSerializationService {
|
|
7
8
|
private readonly resourceDataRepository;
|
|
8
|
-
private
|
|
9
|
+
private readonly inputService;
|
|
10
|
+
private actualResources;
|
|
9
11
|
private readonly classMapping;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
+
private readonly RESOURCE_DESERIALIZATION_TIMEOUT_IN_MS;
|
|
13
|
+
/**
|
|
14
|
+
* @internal
|
|
15
|
+
*/
|
|
16
|
+
constructor(resourceDataRepository: ResourceDataRepository, inputService: InputService);
|
|
17
|
+
/**
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
12
20
|
deserialize(actualSerializedOutput: ResourceSerializedOutput, oldSerializedOutput: ResourceSerializedOutput): Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* The module that produced a committed resource, as the state it was loaded from records it.
|
|
23
|
+
*/
|
|
24
|
+
getActualResourceModuleId(resource: UnknownResource): string | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
13
28
|
registerClass(className: string, deserializationClass: any): void;
|
|
14
|
-
|
|
29
|
+
/**
|
|
30
|
+
* @internal
|
|
31
|
+
*/
|
|
15
32
|
serializeActualResources(): Promise<ResourceSerializedOutput>;
|
|
33
|
+
/**
|
|
34
|
+
* @internal
|
|
35
|
+
*/
|
|
16
36
|
serializeNewResources(): Promise<ResourceSerializedOutput>;
|
|
17
|
-
|
|
37
|
+
/**
|
|
38
|
+
* @internal
|
|
39
|
+
*/
|
|
40
|
+
private _deserialize;
|
|
41
|
+
/**
|
|
42
|
+
* @internal
|
|
43
|
+
*/
|
|
44
|
+
private serialize;
|
|
18
45
|
}
|
|
19
46
|
/**
|
|
20
47
|
* @internal
|
|
21
48
|
*/
|
|
22
49
|
export declare class ResourceSerializationServiceFactory {
|
|
23
50
|
private static instance;
|
|
51
|
+
/**
|
|
52
|
+
* @internal
|
|
53
|
+
*/
|
|
24
54
|
static create(): Promise<ResourceSerializationService>;
|
|
25
55
|
}
|
|
@@ -9,19 +9,74 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
};
|
|
10
10
|
import { EventSource } from '../../../decorators/event-source.decorator.js';
|
|
11
11
|
import { Factory } from '../../../decorators/factory.decorator.js';
|
|
12
|
+
import { ResourceError } from '../../../errors/index.js';
|
|
12
13
|
import { ActualResourceSerializedEvent, NewResourceSerializedEvent, ResourceDeserializedEvent, ResourceRegistrationEvent, } from '../../../events/index.js';
|
|
13
14
|
import { Container } from '../../../functions/container/container.js';
|
|
14
15
|
import { ResourceDataRepository, } from '../../../resources/resource-data.repository.js';
|
|
16
|
+
import { ATerraformResource } from '../../../resources/terraform-resource.abstract.js';
|
|
15
17
|
import { ObjectUtility } from '../../../utilities/object/object.utility.js';
|
|
18
|
+
import { InputService } from '../../input/input.service.js';
|
|
16
19
|
/**
|
|
17
20
|
* @internal
|
|
18
21
|
*/
|
|
19
22
|
export class ResourceSerializationService {
|
|
20
|
-
|
|
23
|
+
/**
|
|
24
|
+
* @internal
|
|
25
|
+
*/
|
|
26
|
+
constructor(resourceDataRepository, inputService) {
|
|
21
27
|
this.resourceDataRepository = resourceDataRepository;
|
|
22
|
-
this.
|
|
28
|
+
this.inputService = inputService;
|
|
29
|
+
this.actualResources = new Map(); // Resource context -> record in state.
|
|
23
30
|
this.classMapping = {};
|
|
31
|
+
this.RESOURCE_DESERIALIZATION_TIMEOUT_IN_MS = 3000;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* @internal
|
|
35
|
+
*/
|
|
36
|
+
async deserialize(actualSerializedOutput, oldSerializedOutput) {
|
|
37
|
+
const actualResources = await this._deserialize(JSON.parse(JSON.stringify(actualSerializedOutput)), false);
|
|
38
|
+
this.actualResources = new Map(Object.entries(actualSerializedOutput.resources).map(([context, { createdBy, models, moduleId }]) => [
|
|
39
|
+
context,
|
|
40
|
+
{ createdBy, models, moduleId },
|
|
41
|
+
]));
|
|
42
|
+
const oldResources = await this._deserialize(JSON.parse(JSON.stringify(oldSerializedOutput)), true);
|
|
43
|
+
// Refresh the resource data repository.
|
|
44
|
+
await Container.getInstance().get(ResourceDataRepository, {
|
|
45
|
+
args: [true, Object.values(actualResources), Object.values(oldResources), []],
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* The module that produced a committed resource, as the state it was loaded from records it.
|
|
50
|
+
*/
|
|
51
|
+
getActualResourceModuleId(resource) {
|
|
52
|
+
return this.actualResources.get(resource.getContext())?.moduleId;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* @internal
|
|
56
|
+
*/
|
|
57
|
+
registerClass(className, deserializationClass) {
|
|
58
|
+
if (this.classMapping[className]) {
|
|
59
|
+
throw new Error(`Class "${className}" is already registered!`);
|
|
60
|
+
}
|
|
61
|
+
this.classMapping[className] = deserializationClass;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* @internal
|
|
65
|
+
*/
|
|
66
|
+
async serializeActualResources() {
|
|
67
|
+
const resources = this.resourceDataRepository.getActualResourcesByProperties();
|
|
68
|
+
return this.serialize(resources);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* @internal
|
|
72
|
+
*/
|
|
73
|
+
async serializeNewResources() {
|
|
74
|
+
const resources = this.resourceDataRepository.getNewResourcesByProperties();
|
|
75
|
+
return this.serialize(resources);
|
|
24
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* @internal
|
|
79
|
+
*/
|
|
25
80
|
async _deserialize(serializedOutput, freeze) {
|
|
26
81
|
const deReferencePromises = {};
|
|
27
82
|
const seen = {};
|
|
@@ -70,20 +125,9 @@ export class ResourceSerializationService {
|
|
|
70
125
|
}
|
|
71
126
|
return seen;
|
|
72
127
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
// Refresh the resource data repository.
|
|
77
|
-
await Container.getInstance().get(ResourceDataRepository, {
|
|
78
|
-
args: [true, Object.values(actualResources), Object.values(oldResources), []],
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
registerClass(className, deserializationClass) {
|
|
82
|
-
if (this.classMapping[className]) {
|
|
83
|
-
throw new Error(`Class "${className}" is already registered!`);
|
|
84
|
-
}
|
|
85
|
-
this.classMapping[className] = deserializationClass;
|
|
86
|
-
}
|
|
128
|
+
/**
|
|
129
|
+
* @internal
|
|
130
|
+
*/
|
|
87
131
|
async serialize(resources) {
|
|
88
132
|
const dependencies = [];
|
|
89
133
|
const serializedResources = {};
|
|
@@ -97,24 +141,25 @@ export class ResourceSerializationService {
|
|
|
97
141
|
.map((d) => d.synth())
|
|
98
142
|
.sort((a, b) => (a.from + a.to > b.from + b.to ? 1 : b.from + b.to > a.from + a.to ? -1 : 0));
|
|
99
143
|
dependencies.push(...resourceDependencies);
|
|
144
|
+
// Take the module, creator and models of a resource this command did not produce from the state it was loaded from.
|
|
145
|
+
const actualResource = this.actualResources.get(resource.getContext());
|
|
146
|
+
const moduleId = this.inputService.getModuleIdFromResource(resource) ?? actualResource?.moduleId;
|
|
147
|
+
if (moduleId === undefined) {
|
|
148
|
+
throw new ResourceError('Resource is not associated with any module!', resource);
|
|
149
|
+
}
|
|
150
|
+
const createdBy = this.inputService.getCreatorFromResource(resource) ?? actualResource?.createdBy;
|
|
151
|
+
const models = this.inputService.getModelsFromResource(resource);
|
|
100
152
|
serializedResources[resource.getContext()] = {
|
|
101
153
|
className: `${resource.constructor.NODE_PACKAGE}/${resource.constructor.name}`,
|
|
154
|
+
...(createdBy === undefined ? {} : { createdBy }),
|
|
155
|
+
kind: resource instanceof ATerraformResource ? 'terraform' : 'external',
|
|
156
|
+
models: models.length > 0 ? models : (actualResource?.models ?? []),
|
|
157
|
+
moduleId,
|
|
102
158
|
resource: resource.synth(),
|
|
103
159
|
};
|
|
104
160
|
}
|
|
105
161
|
return { dependencies, resources: serializedResources };
|
|
106
162
|
}
|
|
107
|
-
async serializeActualResources() {
|
|
108
|
-
const resources = this.resourceDataRepository.getActualResourcesByProperties();
|
|
109
|
-
return this.serialize(resources);
|
|
110
|
-
}
|
|
111
|
-
async serializeNewResources() {
|
|
112
|
-
const resources = this.resourceDataRepository.getNewResourcesByProperties();
|
|
113
|
-
return this.serialize(resources);
|
|
114
|
-
}
|
|
115
|
-
setResourceDeserializationTimeout(timeoutInMs) {
|
|
116
|
-
this.RESOURCE_DESERIALIZATION_TIMEOUT_IN_MS = timeoutInMs;
|
|
117
|
-
}
|
|
118
163
|
}
|
|
119
164
|
__decorate([
|
|
120
165
|
EventSource(ResourceDeserializedEvent),
|
|
@@ -144,10 +189,14 @@ __decorate([
|
|
|
144
189
|
* @internal
|
|
145
190
|
*/
|
|
146
191
|
let ResourceSerializationServiceFactory = class ResourceSerializationServiceFactory {
|
|
192
|
+
/**
|
|
193
|
+
* @internal
|
|
194
|
+
*/
|
|
147
195
|
static async create() {
|
|
148
196
|
const resourceDataRepository = await Container.getInstance().get(ResourceDataRepository);
|
|
197
|
+
const inputService = await Container.getInstance().get(InputService);
|
|
149
198
|
if (!this.instance) {
|
|
150
|
-
this.instance = new ResourceSerializationService(resourceDataRepository);
|
|
199
|
+
this.instance = new ResourceSerializationService(resourceDataRepository, inputService);
|
|
151
200
|
}
|
|
152
201
|
return this.instance;
|
|
153
202
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-serialization.service.js","sourceRoot":"","sources":["../../../../src/services/serialization/resource/resource-serialization.service.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,0CAA0C,CAAC;AACnE,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAEtE,OAAO,EACL,sBAAsB,GAEvB,MAAM,gDAAgD,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"resource-serialization.service.js","sourceRoot":"","sources":["../../../../src/services/serialization/resource/resource-serialization.service.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,0CAA0C,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAEtE,OAAO,EACL,sBAAsB,GAEvB,MAAM,gDAAgD,CAAC;AAExD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D;;GAEG;AACH,MAAM,OAAO,4BAA4B;IAMvC;;OAEG;IACH,YACmB,sBAA8C,EAC9C,YAA0B;QAD1B,2BAAsB,GAAtB,sBAAsB,CAAwB;QAC9C,iBAAY,GAAZ,YAAY,CAAc;QAVrC,oBAAe,GAAG,IAAI,GAAG,EAAsE,CAAC,CAAC,uCAAuC;QAC/H,iBAAY,GAA2B,EAAE,CAAC;QAE1C,2CAAsC,GAAG,IAAI,CAAC;IAQ5D,CAAC;IAEJ;;OAEG;IAEG,AAAN,KAAK,CAAC,WAAW,CACf,sBAAgD,EAChD,mBAA6C;QAE7C,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC3G,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,CAC5B,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YACnG,OAAO;YACP,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE;SAChC,CAAC,CACH,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAEpG,wCAAwC;QACxC,MAAM,SAAS,CAAC,WAAW,EAAE,CAAC,GAAG,CAC/B,sBAAsB,EACtB;YACE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;SAC9E,CACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,yBAAyB,CAAC,QAAyB;QACjD,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,CAAC;IACnE,CAAC;IAED;;OAEG;IAEH,aAAa,CAAC,SAAiB,EAAE,oBAAyB;QACxD,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,0BAA0B,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,oBAAoB,CAAC;IACtD,CAAC;IAED;;OAEG;IAEG,AAAN,KAAK,CAAC,wBAAwB;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAAC,8BAA8B,EAAE,CAAC;QAC/E,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IAEG,AAAN,KAAK,CAAC,qBAAqB;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAAC,2BAA2B,EAAE,CAAC;QAC5E,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CAAC,gBAA0C,EAAE,MAAe;QACpF,MAAM,mBAAmB,GAErB,EAAE,CAAC;QACP,MAAM,IAAI,GAAkB,EAAE,CAAC;QAE/B,MAAM,mBAAmB,GAAG,KAAK,EAAE,OAAe,EAA4B,EAAE;YAC9E,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnB,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;oBACjC,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAS,CAAC;oBACzC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;wBACvD,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;wBAC1C,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;oBAC3C,CAAC,CAAC,CAAC;oBACH,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;oBAE1C,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE;wBAChD,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC,CAAC;oBAC5F,CAAC,EAAE,IAAI,CAAC,sCAAsC,CAAC,CAAC;oBAChD,MAAM,OAAO,CAAC;gBAChB,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC,CAAC;QAEF,MAAM,mBAAmB,GAAG,KAAK,EAAE,OAAe,EAA4B,EAAE;YAC9E,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACpE,MAAM,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAE1D,MAAM,oBAAoB,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAC7D,oBAAoB,EACpB,QAAQ,EACR,mBAAmB,CACpB,CAAC;YACF,oBAAoB,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;YAE1C,IAAI,CAAC,OAAO,CAAC,GAAG,oBAAoB,CAAC;YACrC,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,CAAC;YAED,OAAO,oBAAoB,CAAC;QAC9B,CAAC,CAAC;QAEF,wCAAwC;QACxC,MAAM,6BAA6B,GAA+B,EAAE,CAAC;QACrE,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9D,6BAA6B,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAEjD,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3C,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,SAAS,CAAC,SAA4B;QAClD,MAAM,YAAY,GAAkB,EAAE,CAAC;QACvC,MAAM,mBAAmB,GAA0C,EAAE,CAAC;QAEtE,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC;YAC9F,gDAAgD;YAChD,IAAI,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC;gBAC/B,SAAS;YACX,CAAC;YAED,MAAM,oBAAoB,GAAG,QAAQ;iBAClC,eAAe,EAAE;iBACjB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;iBACrB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChG,YAAY,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,CAAC;YAE3C,oHAAoH;YACpH,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,cAAc,EAAE,QAAQ,CAAC;YACjG,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,IAAI,aAAa,CAAC,6CAA6C,EAAE,QAAQ,CAAC,CAAC;YACnF,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,QAAQ,CAAC,IAAI,cAAc,EAAE,SAAS,CAAC;YAClG,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YAEjE,mBAAmB,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,GAAG;gBAC3C,SAAS,EAAE,GAAI,QAAQ,CAAC,WAAgC,CAAC,YAAY,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE;gBACpG,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;gBACjD,IAAI,EAAE,QAAQ,YAAY,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU;gBACvE,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,MAAM,IAAI,EAAE,CAAC;gBACnE,QAAQ;gBACR,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE;aAC3B,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;IAC1D,CAAC;CACF;AArKO;IADL,WAAW,CAAC,yBAAyB,CAAC;;;;+DAqBtC;AAaD;IADC,WAAW,CAAC,yBAAyB,CAAC;;;;iEAMtC;AAMK;IADL,WAAW,CAAC,6BAA6B,CAAC;;;;4EAI1C;AAMK;IADL,WAAW,CAAC,0BAA0B,CAAC;;;;yEAIvC;AA+GH;;GAEG;AAEI,IAAM,mCAAmC,GAAzC,MAAM,mCAAmC;IAG9C;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM;QACjB,MAAM,sBAAsB,GAAG,MAAM,SAAS,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACzF,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAErE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,4BAA4B,CAAC,sBAAsB,EAAE,YAAY,CAAC,CAAC;QACzF,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF,CAAA;AAhBY,mCAAmC;IAD/C,OAAO,CAA+B,4BAA4B,CAAC;GACvD,mCAAmC,CAgB/C"}
|
|
@@ -1,19 +1,82 @@
|
|
|
1
1
|
import type { IStateProvider } from './state-provider.interface.js';
|
|
2
2
|
/**
|
|
3
|
+
* Keeps state in a directory on the local filesystem.
|
|
4
|
+
*
|
|
5
|
+
* Good for experimenting on your own machine. It is not shared, so a team running Octo against the
|
|
6
|
+
* same infrastructure needs a provider that persists somewhere they all reach.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* await octo.initialize(new LocalStateProvider('./infrastructure'));
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
3
13
|
* @group Services/State Management
|
|
14
|
+
*
|
|
15
|
+
* @see Techniques for [State Providers](/docs/techniques/state-providers).
|
|
4
16
|
*/
|
|
5
17
|
export declare class LocalStateProvider implements IStateProvider {
|
|
6
18
|
private readonly localStateDirectoryPath;
|
|
7
19
|
private readonly lockFilePath;
|
|
20
|
+
/**
|
|
21
|
+
* @param localStateDirectoryPath The directory state files are written into.
|
|
22
|
+
*/
|
|
8
23
|
constructor(localStateDirectoryPath: string);
|
|
9
|
-
|
|
24
|
+
/**
|
|
25
|
+
* The id of the lock currently held, or `undefined` when the app is unlocked.
|
|
26
|
+
*/
|
|
10
27
|
getAppLock(): Promise<string | undefined>;
|
|
28
|
+
/**
|
|
29
|
+
* Reads a state file.
|
|
30
|
+
*
|
|
31
|
+
* @throws {@link TransactionError} With the message `No state found!` when the file does not exist.
|
|
32
|
+
*/
|
|
11
33
|
getState(stateFileName: string): Promise<Buffer>;
|
|
34
|
+
/**
|
|
35
|
+
* Whether `lockId` is the lock currently held.
|
|
36
|
+
*
|
|
37
|
+
* @throws {@link TransactionError} With the message `Invalid lock ID!` when a different lock is held.
|
|
38
|
+
*/
|
|
12
39
|
isAppLocked(lockId: string): Promise<boolean>;
|
|
13
|
-
|
|
40
|
+
/**
|
|
41
|
+
* The names of the state files whose name starts with `prefix`.
|
|
42
|
+
*/
|
|
43
|
+
listStates(prefix: string): Promise<string[]>;
|
|
44
|
+
/**
|
|
45
|
+
* Takes the app lock, writing its id and the time it was taken into `local-state.lock` beside the
|
|
46
|
+
* state files. With `lockId`, resumes the run already holding it. The lock never expires.
|
|
47
|
+
*
|
|
48
|
+
* @throws {@link AppLockError} When a lock is held, naming the id that holds it and how long it has
|
|
49
|
+
* been held. When `lockId` is given and is not the lock held.
|
|
50
|
+
*/
|
|
51
|
+
lockApp(lockId?: string): Promise<{
|
|
14
52
|
lockId: string;
|
|
15
53
|
}>;
|
|
16
|
-
|
|
54
|
+
/**
|
|
55
|
+
* Does nothing: the directory is the only copy of the state, so it is always the newest.
|
|
56
|
+
*/
|
|
57
|
+
refreshState(): Promise<{
|
|
58
|
+
replaced: boolean;
|
|
59
|
+
}>;
|
|
60
|
+
/**
|
|
61
|
+
* Writes state files, overwriting whatever was there, copying each one given a `filePath`, and
|
|
62
|
+
* deleting each one given no `data`. A name holding `/` is written into a directory beneath the state
|
|
63
|
+
* directory.
|
|
64
|
+
*/
|
|
65
|
+
saveStates(stateFiles: Parameters<IStateProvider['saveStates']>[0]): Promise<void>;
|
|
66
|
+
/**
|
|
67
|
+
* Releases the app lock by deleting the lock file.
|
|
68
|
+
*
|
|
69
|
+
* @throws {@link TransactionError} With the message `Invalid lock ID!` when a different lock is held.
|
|
70
|
+
*/
|
|
17
71
|
unlockApp(lockId: string): Promise<void>;
|
|
18
|
-
|
|
72
|
+
/**
|
|
73
|
+
* How long the lock has been held, as a short readable span. Undefined when the recorded time
|
|
74
|
+
* cannot be read as one, so a broken value is left out rather than reported as a negative age.
|
|
75
|
+
*/
|
|
76
|
+
private describeAge;
|
|
77
|
+
/**
|
|
78
|
+
* The lock file's record, or undefined when no lock is held. A file holding an id and nothing else
|
|
79
|
+
* is a lock taken before the record carried a time, and reads as that id with no age.
|
|
80
|
+
*/
|
|
81
|
+
private readLock;
|
|
19
82
|
}
|