@quadnix/octo 0.0.23 → 0.0.25
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 +116 -1
- package/dist/app.type.js +21 -0
- package/dist/app.type.js.map +1 -1
- package/dist/decorators/anchor.decorator.d.ts +1 -1
- package/dist/decorators/anchor.decorator.js +1 -1
- package/dist/decorators/enable-hook.decorator.d.ts +5 -0
- package/dist/decorators/enable-hook.decorator.js +5 -0
- package/dist/decorators/enable-hook.decorator.js.map +1 -1
- package/dist/decorators/event-source.decorator.d.ts +4 -0
- package/dist/decorators/event-source.decorator.js +5 -6
- package/dist/decorators/event-source.decorator.js.map +1 -1
- package/dist/decorators/model.decorator.d.ts +17 -4
- package/dist/decorators/model.decorator.js +17 -4
- package/dist/decorators/model.decorator.js.map +1 -1
- package/dist/decorators/on-event.decorator.js +1 -6
- package/dist/decorators/on-event.decorator.js.map +1 -1
- package/dist/decorators/overlay.decorator.d.ts +14 -5
- package/dist/decorators/overlay.decorator.js +14 -5
- package/dist/decorators/overlay.decorator.js.map +1 -1
- package/dist/decorators/resource.decorator.d.ts +15 -5
- package/dist/decorators/resource.decorator.js +15 -5
- package/dist/decorators/resource.decorator.js.map +1 -1
- package/dist/decorators/validate.decorator.d.ts +8 -0
- package/dist/decorators/validate.decorator.js +8 -0
- package/dist/decorators/validate.decorator.js.map +1 -1
- package/dist/errors/container.error.d.ts +9 -0
- package/dist/errors/container.error.js +9 -0
- package/dist/errors/container.error.js.map +1 -1
- package/dist/errors/input.error.d.ts +38 -0
- package/dist/errors/input.error.js +38 -0
- package/dist/errors/input.error.js.map +1 -1
- package/dist/errors/module.error.d.ts +3 -0
- package/dist/errors/module.error.js +3 -0
- package/dist/errors/module.error.js.map +1 -1
- package/dist/errors/node.error.d.ts +27 -0
- package/dist/errors/node.error.js +27 -0
- package/dist/errors/node.error.js.map +1 -1
- package/dist/errors/schema.error.d.ts +3 -0
- package/dist/errors/schema.error.js +3 -0
- package/dist/errors/schema.error.js.map +1 -1
- package/dist/errors/transaction.error.d.ts +21 -0
- package/dist/errors/transaction.error.js +23 -3
- package/dist/errors/transaction.error.js.map +1 -1
- package/dist/events/action.event.d.ts +2 -1
- package/dist/events/action.event.js +2 -1
- package/dist/events/action.event.js.map +1 -1
- package/dist/events/event.model.d.ts +5 -3
- package/dist/events/event.model.js +3 -1
- package/dist/events/event.model.js.map +1 -1
- package/dist/events/hook/commit.hook.event.d.ts +6 -3
- package/dist/events/hook/commit.hook.event.js +6 -3
- package/dist/events/hook/commit.hook.event.js.map +1 -1
- package/dist/events/hook/hook.event.d.ts +2 -1
- package/dist/events/hook/hook.event.js +2 -1
- package/dist/events/hook/hook.event.js.map +1 -1
- package/dist/events/hook/model.hook.event.d.ts +6 -3
- package/dist/events/hook/model.hook.event.js +6 -3
- package/dist/events/hook/model.hook.event.js.map +1 -1
- package/dist/events/hook/resource.hook.event.d.ts +6 -3
- package/dist/events/hook/resource.hook.event.js +6 -3
- package/dist/events/hook/resource.hook.event.js.map +1 -1
- package/dist/events/module.event.d.ts +2 -1
- package/dist/events/module.event.js +2 -1
- package/dist/events/module.event.js.map +1 -1
- package/dist/events/registration.event.d.ts +14 -7
- package/dist/events/registration.event.js +14 -7
- package/dist/events/registration.event.js.map +1 -1
- package/dist/events/serialization.event.d.ts +12 -6
- package/dist/events/serialization.event.js +12 -6
- package/dist/events/serialization.event.js.map +1 -1
- package/dist/events/transaction.event.d.ts +53 -10
- package/dist/events/transaction.event.js +36 -8
- package/dist/events/transaction.event.js.map +1 -1
- package/dist/functions/container/container.d.ts +2 -0
- package/dist/functions/container/container.js +2 -0
- package/dist/functions/container/container.js.map +1 -1
- package/dist/functions/container/test-container.d.ts +2 -0
- package/dist/functions/container/test-container.js +2 -0
- package/dist/functions/container/test-container.js.map +1 -1
- package/dist/functions/dependency/dependency.d.ts +9 -0
- package/dist/functions/dependency/dependency.js +6 -0
- package/dist/functions/dependency/dependency.js.map +1 -1
- package/dist/functions/diff/diff-metadata.d.ts +3 -0
- package/dist/functions/diff/diff-metadata.js +3 -0
- package/dist/functions/diff/diff-metadata.js.map +1 -1
- package/dist/functions/diff/diff.d.ts +8 -1
- package/dist/functions/diff/diff.js +7 -0
- package/dist/functions/diff/diff.js.map +1 -1
- package/dist/functions/diff/diff.utility.d.ts +3 -0
- package/dist/functions/diff/diff.utility.js +5 -2
- package/dist/functions/diff/diff.utility.js.map +1 -1
- package/dist/functions/hook/commit.hook.d.ts +3 -0
- package/dist/functions/hook/commit.hook.js +3 -0
- package/dist/functions/hook/commit.hook.js.map +1 -1
- package/dist/functions/hook/hook.interface.d.ts +3 -0
- package/dist/functions/hook/model-action.hook.d.ts +3 -0
- package/dist/functions/hook/model-action.hook.js +3 -0
- package/dist/functions/hook/model-action.hook.js.map +1 -1
- package/dist/functions/hook/resource-action.hook.d.ts +5 -2
- package/dist/functions/hook/resource-action.hook.js +5 -1
- package/dist/functions/hook/resource-action.hook.js.map +1 -1
- package/dist/functions/node/node-action.abstract.d.ts +3 -0
- package/dist/functions/node/node-action.abstract.js +3 -0
- package/dist/functions/node/node-action.abstract.js.map +1 -1
- package/dist/functions/node/node.abstract.d.ts +3 -1
- package/dist/functions/node/node.abstract.js +3 -1
- package/dist/functions/node/node.abstract.js.map +1 -1
- package/dist/functions/node/node.interface.d.ts +4 -0
- package/dist/functions/schema/schema.d.ts +17 -0
- package/dist/functions/schema/schema.js +18 -1
- package/dist/functions/schema/schema.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts +6 -1
- package/dist/main.js +14 -1
- package/dist/main.js.map +1 -1
- package/dist/models/account/account.model.d.ts +3 -0
- package/dist/models/account/account.model.js +5 -1
- package/dist/models/account/account.model.js.map +1 -1
- package/dist/models/account/account.schema.d.ts +6 -0
- package/dist/models/account/account.schema.js +6 -0
- package/dist/models/account/account.schema.js.map +1 -1
- package/dist/models/app/app.model.d.ts +3 -1
- package/dist/models/app/app.model.js +3 -1
- 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 +3 -0
- package/dist/models/app/app.schema.js.map +1 -1
- package/dist/models/deployment/deployment.model.d.ts +3 -1
- package/dist/models/deployment/deployment.model.js +3 -1
- package/dist/models/deployment/deployment.model.js.map +1 -1
- package/dist/models/deployment/deployment.schema.d.ts +3 -0
- package/dist/models/deployment/deployment.schema.js +3 -0
- package/dist/models/deployment/deployment.schema.js.map +1 -1
- package/dist/models/environment/environment.model.d.ts +3 -1
- package/dist/models/environment/environment.model.js +3 -1
- package/dist/models/environment/environment.model.js.map +1 -1
- package/dist/models/environment/environment.schema.d.ts +3 -0
- package/dist/models/environment/environment.schema.js +3 -0
- package/dist/models/environment/environment.schema.js.map +1 -1
- package/dist/models/execution/execution.model.d.ts +3 -1
- package/dist/models/execution/execution.model.js +3 -1
- package/dist/models/execution/execution.model.js.map +1 -1
- package/dist/models/execution/execution.schema.d.ts +3 -0
- package/dist/models/execution/execution.schema.js +3 -0
- package/dist/models/execution/execution.schema.js.map +1 -1
- package/dist/models/filesystem/filesystem.model.d.ts +3 -0
- package/dist/models/filesystem/filesystem.model.js +3 -0
- package/dist/models/filesystem/filesystem.model.js.map +1 -1
- package/dist/models/filesystem/filesystem.schema.d.ts +3 -0
- package/dist/models/filesystem/filesystem.schema.js +3 -0
- package/dist/models/filesystem/filesystem.schema.js.map +1 -1
- package/dist/models/image/image.model.d.ts +3 -1
- package/dist/models/image/image.model.js +3 -1
- package/dist/models/image/image.model.js.map +1 -1
- package/dist/models/image/image.schema.d.ts +3 -0
- package/dist/models/image/image.schema.js +4 -1
- package/dist/models/image/image.schema.js.map +1 -1
- package/dist/models/model-action.interface.d.ts +2 -0
- package/dist/models/model.abstract.d.ts +3 -0
- package/dist/models/model.abstract.js +3 -0
- package/dist/models/model.abstract.js.map +1 -1
- package/dist/models/model.interface.d.ts +5 -0
- package/dist/models/pipeline/pipeline.model.d.ts +3 -1
- package/dist/models/pipeline/pipeline.model.js +3 -1
- package/dist/models/pipeline/pipeline.model.js.map +1 -1
- package/dist/models/pipeline/pipeline.schema.d.ts +3 -0
- package/dist/models/pipeline/pipeline.schema.js +3 -0
- package/dist/models/pipeline/pipeline.schema.js.map +1 -1
- package/dist/models/region/region.model.d.ts +3 -1
- package/dist/models/region/region.model.js +3 -1
- 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 +3 -0
- package/dist/models/region/region.schema.js.map +1 -1
- package/dist/models/server/server.model.d.ts +3 -1
- package/dist/models/server/server.model.js +3 -1
- package/dist/models/server/server.model.js.map +1 -1
- package/dist/models/server/server.schema.d.ts +3 -0
- package/dist/models/server/server.schema.js +3 -0
- package/dist/models/server/server.schema.js.map +1 -1
- package/dist/models/service/service.model.d.ts +3 -1
- package/dist/models/service/service.model.js +3 -1
- package/dist/models/service/service.model.js.map +1 -1
- package/dist/models/service/service.schema.d.ts +3 -0
- package/dist/models/service/service.schema.js +3 -0
- package/dist/models/service/service.schema.js.map +1 -1
- package/dist/models/subnet/subnet.model.d.ts +3 -1
- package/dist/models/subnet/subnet.model.js +3 -1
- package/dist/models/subnet/subnet.model.js.map +1 -1
- package/dist/models/subnet/subnet.schema.d.ts +5 -0
- package/dist/models/subnet/subnet.schema.js +5 -0
- package/dist/models/subnet/subnet.schema.js.map +1 -1
- package/dist/modules/module.abstract.d.ts +3 -0
- package/dist/modules/module.abstract.js +3 -0
- package/dist/modules/module.abstract.js.map +1 -1
- package/dist/modules/module.container.d.ts +6 -0
- package/dist/modules/module.container.js +11 -0
- package/dist/modules/module.container.js.map +1 -1
- package/dist/modules/module.interface.d.ts +3 -0
- package/dist/modules/test-module.container.d.ts +8 -0
- package/dist/modules/test-module.container.js +14 -6
- package/dist/modules/test-module.container.js.map +1 -1
- package/dist/overlays/anchor.abstract.d.ts +3 -0
- package/dist/overlays/anchor.abstract.js +4 -1
- package/dist/overlays/anchor.abstract.js.map +1 -1
- package/dist/overlays/anchor.interface.d.ts +3 -0
- package/dist/overlays/anchor.schema.d.ts +7 -1
- package/dist/overlays/anchor.schema.js +3 -0
- package/dist/overlays/anchor.schema.js.map +1 -1
- package/dist/overlays/overlay-data.repository.d.ts +6 -0
- package/dist/overlays/overlay-data.repository.js +6 -0
- package/dist/overlays/overlay-data.repository.js.map +1 -1
- package/dist/overlays/overlay.abstract.d.ts +3 -0
- package/dist/overlays/overlay.abstract.js +6 -0
- package/dist/overlays/overlay.abstract.js.map +1 -1
- package/dist/overlays/overlay.interface.d.ts +3 -0
- package/dist/overlays/overlay.schema.d.ts +3 -0
- package/dist/overlays/overlay.schema.js +3 -0
- package/dist/overlays/overlay.schema.js.map +1 -1
- package/dist/resources/resource-action.interface.d.ts +5 -2
- package/dist/resources/resource-data.repository.d.ts +7 -0
- package/dist/resources/resource-data.repository.js +13 -0
- package/dist/resources/resource-data.repository.js.map +1 -1
- package/dist/resources/resource.abstract.d.ts +4 -0
- package/dist/resources/resource.abstract.js +13 -2
- package/dist/resources/resource.abstract.js.map +1 -1
- package/dist/resources/resource.interface.d.ts +6 -0
- package/dist/resources/resource.schema.d.ts +3 -0
- package/dist/resources/resource.schema.js +3 -0
- package/dist/resources/resource.schema.js.map +1 -1
- package/dist/services/capture/capture.service.d.ts +7 -0
- package/dist/services/capture/capture.service.js +9 -0
- package/dist/services/capture/capture.service.js.map +1 -1
- package/dist/services/event/event.service.d.ts +8 -1
- package/dist/services/event/event.service.js +14 -4
- package/dist/services/event/event.service.js.map +1 -1
- package/dist/services/input/input.service.d.ts +6 -0
- package/dist/services/input/input.service.js +18 -12
- package/dist/services/input/input.service.js.map +1 -1
- package/dist/services/schema-translation/schema-translation.service.d.ts +6 -0
- package/dist/services/schema-translation/schema-translation.service.js +6 -0
- package/dist/services/schema-translation/schema-translation.service.js.map +1 -1
- package/dist/services/serialization/model/model-serialization.service.d.ts +6 -0
- package/dist/services/serialization/model/model-serialization.service.js +29 -8
- package/dist/services/serialization/model/model-serialization.service.js.map +1 -1
- package/dist/services/serialization/resource/resource-serialization.service.d.ts +6 -0
- package/dist/services/serialization/resource/resource-serialization.service.js +6 -0
- package/dist/services/serialization/resource/resource-serialization.service.js.map +1 -1
- package/dist/services/state-management/local.state-provider.d.ts +12 -0
- package/dist/services/state-management/local.state-provider.js +62 -0
- package/dist/services/state-management/local.state-provider.js.map +1 -1
- package/dist/services/state-management/state-management.service.d.ts +13 -0
- package/dist/services/state-management/state-management.service.js +21 -0
- package/dist/services/state-management/state-management.service.js.map +1 -1
- package/dist/services/state-management/state-provider.interface.d.ts +10 -0
- package/dist/services/state-management/test.state-provider.d.ts +11 -0
- package/dist/services/state-management/test.state-provider.js +44 -0
- package/dist/services/state-management/test.state-provider.js.map +1 -1
- package/dist/services/transaction/transaction.service.d.ts +8 -1
- package/dist/services/transaction/transaction.service.js +88 -13
- package/dist/services/transaction/transaction.service.js.map +1 -1
- package/dist/services/validation/validation.service.d.ts +6 -0
- package/dist/services/validation/validation.service.js +6 -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/utilities/cidr/cidr.utility.d.ts +3 -0
- package/dist/utilities/cidr/cidr.utility.js +3 -0
- package/dist/utilities/cidr/cidr.utility.js.map +1 -1
- 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 +3 -0
- package/dist/utilities/object/object.utility.js +4 -1
- package/dist/utilities/object/object.utility.js.map +1 -1
- package/dist/utilities/test-helpers/test-classes.d.ts +27 -0
- package/dist/utilities/test-helpers/test-classes.js +27 -0
- package/dist/utilities/test-helpers/test-classes.js.map +1 -1
- package/dist/utilities/test-helpers/test-models.d.ts +6 -0
- package/dist/utilities/test-helpers/test-models.js +6 -0
- package/dist/utilities/test-helpers/test-models.js.map +1 -1
- package/dist/utilities/test-helpers/test-overlays.d.ts +3 -0
- package/dist/utilities/test-helpers/test-overlays.js +3 -0
- package/dist/utilities/test-helpers/test-overlays.js.map +1 -1
- package/dist/utilities/test-helpers/test-resources.d.ts +9 -0
- package/dist/utilities/test-helpers/test-resources.js +10 -1
- package/dist/utilities/test-helpers/test-resources.js.map +1 -1
- package/dist/utilities/validation/validation.utility.d.ts +3 -0
- package/dist/utilities/validation/validation.utility.js +3 -0
- package/dist/utilities/validation/validation.utility.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-translation.service.js","sourceRoot":"","sources":["../../../src/services/schema-translation/schema-translation.service.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAEhE,MAAM,OAAO,wBAAwB;IAArC;QACmB,iBAAY,GAC3B,IAAI,GAAG,EAAE,CAAC;IA2Bd,CAAC;IAzBC,mBAAmB,CACjB,IAAuB;QAEvB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QACjD,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QACjD,OAAO;YACL,MAAM,EAAE,cAAc,CAAC,KAAK;YAC5B,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,CAA+B;SAChF,CAAC;IACJ,CAAC;IAED,yBAAyB,CACvB,IAAuB,EACvB,EAAqB,EACrB,UAA6B;QAE7B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"schema-translation.service.js","sourceRoot":"","sources":["../../../src/services/schema-translation/schema-translation.service.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAEhE;;GAEG;AACH,MAAM,OAAO,wBAAwB;IAArC;QACmB,iBAAY,GAC3B,IAAI,GAAG,EAAE,CAAC;IA2Bd,CAAC;IAzBC,mBAAmB,CACjB,IAAuB;QAEvB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QACjD,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QACjD,OAAO;YACL,MAAM,EAAE,cAAc,CAAC,KAAK;YAC5B,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,CAA+B;SAChF,CAAC;IACJ,CAAC;IAED,yBAAyB,CACvB,IAAuB,EACvB,EAAqB,EACrB,UAA6B;QAE7B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC;CACF;AAED;;GAEG;AAEI,IAAM,+BAA+B,GAArC,MAAM,+BAA+B;IAG1C,MAAM,CAAC,KAAK,CAAC,MAAM;QACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF,CAAA;AATY,+BAA+B;IAD3C,OAAO,CAA2B,wBAAwB,CAAC;GAC/C,+BAA+B,CAS3C"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { type ModelSerializedOutput, type UnknownModel } from '../../../app.type.js';
|
|
2
|
+
/**
|
|
3
|
+
* @internal
|
|
4
|
+
*/
|
|
2
5
|
export declare class ModelSerializationService {
|
|
3
6
|
private MODEL_DESERIALIZATION_TIMEOUT_IN_MS;
|
|
4
7
|
private readonly classMapping;
|
|
@@ -10,6 +13,9 @@ export declare class ModelSerializationService {
|
|
|
10
13
|
serialize(root: UnknownModel): Promise<ModelSerializedOutput>;
|
|
11
14
|
setModelDeserializationTimeout(timeoutInMs: number): void;
|
|
12
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* @internal
|
|
18
|
+
*/
|
|
13
19
|
export declare class ModelSerializationServiceFactory {
|
|
14
20
|
private static instance;
|
|
15
21
|
static create(): Promise<ModelSerializationService>;
|
|
@@ -15,6 +15,9 @@ import { Container } from '../../../functions/container/container.js';
|
|
|
15
15
|
import { Dependency } from '../../../functions/dependency/dependency.js';
|
|
16
16
|
import { OverlayDataRepository } from '../../../overlays/overlay-data.repository.js';
|
|
17
17
|
import { ObjectUtility } from '../../../utilities/object/object.utility.js';
|
|
18
|
+
/**
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
18
21
|
export class ModelSerializationService {
|
|
19
22
|
constructor() {
|
|
20
23
|
this.MODEL_DESERIALIZATION_TIMEOUT_IN_MS = 3000;
|
|
@@ -60,21 +63,32 @@ export class ModelSerializationService {
|
|
|
60
63
|
promiseToDeserializeModels.push(deserializeModel(context));
|
|
61
64
|
}
|
|
62
65
|
await Promise.all(promiseToDeserializeModels);
|
|
63
|
-
// Deserialize all anchors.
|
|
64
|
-
for (const a of serializedOutput.anchors) {
|
|
65
|
-
const { className, parent } = a;
|
|
66
|
-
const deserializationClass = this.classMapping[className];
|
|
67
|
-
const anchor = await deserializationClass.unSynth(deserializationClass, a, deReferenceContext);
|
|
68
|
-
seen[parent.context].addAnchor(anchor);
|
|
69
|
-
}
|
|
70
66
|
// Deserialize all overlays.
|
|
71
67
|
const overlays = [];
|
|
72
68
|
for (const { className, overlay } of serializedOutput.overlays) {
|
|
73
69
|
const deserializationClass = this.classMapping[className];
|
|
74
|
-
const newOverlay = await deserializationClass.unSynth(deserializationClass, overlay, deReferenceContext);
|
|
70
|
+
const newOverlay = await deserializationClass.unSynth(deserializationClass, { ...overlay, anchors: [] }, deReferenceContext);
|
|
75
71
|
overlays.push(newOverlay);
|
|
76
72
|
seen[newOverlay.getContext()] = newOverlay;
|
|
77
73
|
}
|
|
74
|
+
// Deserialize all anchors.
|
|
75
|
+
const anchorParentLocationMapping = {};
|
|
76
|
+
for (const a of serializedOutput.anchors) {
|
|
77
|
+
const { anchorId, className, location, parent } = a;
|
|
78
|
+
const deserializationClass = this.classMapping[className];
|
|
79
|
+
const anchor = await deserializationClass.unSynth(deserializationClass, a, deReferenceContext);
|
|
80
|
+
seen[location.context].addAnchor(anchor);
|
|
81
|
+
anchorParentLocationMapping[[parent.context, anchorId].join(',')] = anchor;
|
|
82
|
+
}
|
|
83
|
+
// Add overlay anchors.
|
|
84
|
+
for (const { overlay } of serializedOutput.overlays) {
|
|
85
|
+
const anchors = await Promise.all(overlay.anchors.map(async (a) => {
|
|
86
|
+
return anchorParentLocationMapping[[a.parent.context, a.anchorId].join(',')];
|
|
87
|
+
}));
|
|
88
|
+
for (const anchor of anchors) {
|
|
89
|
+
overlays.find((o) => o.overlayId === overlay.overlayId)['anchors'].push(anchor);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
78
92
|
// Deserialize all dependencies.
|
|
79
93
|
for (const d of serializedOutput.dependencies) {
|
|
80
94
|
const dependency = Dependency.unSynth(seen[d.from], seen[d.to], d);
|
|
@@ -135,6 +149,10 @@ export class ModelSerializationService {
|
|
|
135
149
|
anchors.push({
|
|
136
150
|
...a.synth(),
|
|
137
151
|
className: `${a.constructor.NODE_PACKAGE}/${a.constructor.name}`,
|
|
152
|
+
location: {
|
|
153
|
+
context: model.getContext(),
|
|
154
|
+
type: NodeType.MODEL,
|
|
155
|
+
},
|
|
138
156
|
});
|
|
139
157
|
}
|
|
140
158
|
}
|
|
@@ -171,6 +189,9 @@ __decorate([
|
|
|
171
189
|
__metadata("design:paramtypes", [Object]),
|
|
172
190
|
__metadata("design:returntype", Promise)
|
|
173
191
|
], ModelSerializationService.prototype, "serialize", null);
|
|
192
|
+
/**
|
|
193
|
+
* @internal
|
|
194
|
+
*/
|
|
174
195
|
let ModelSerializationServiceFactory = class ModelSerializationServiceFactory {
|
|
175
196
|
static async create() {
|
|
176
197
|
if (!this.instance) {
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"model-serialization.service.js","sourceRoot":"","sources":["../../../../src/services/serialization/model/model-serialization.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { ResourceSerializedOutput } from '../../../app.type.js';
|
|
2
2
|
import { ResourceDataRepository } from '../../../resources/resource-data.repository.js';
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
3
6
|
export declare class ResourceSerializationService {
|
|
4
7
|
private readonly resourceDataRepository;
|
|
5
8
|
private RESOURCE_DESERIALIZATION_TIMEOUT_IN_MS;
|
|
@@ -13,6 +16,9 @@ export declare class ResourceSerializationService {
|
|
|
13
16
|
serializeNewResources(): Promise<ResourceSerializedOutput>;
|
|
14
17
|
setResourceDeserializationTimeout(timeoutInMs: number): void;
|
|
15
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
16
22
|
export declare class ResourceSerializationServiceFactory {
|
|
17
23
|
private static instance;
|
|
18
24
|
static create(): Promise<ResourceSerializationService>;
|
|
@@ -13,6 +13,9 @@ import { ActualResourceSerializedEvent, NewResourceSerializedEvent, ResourceDese
|
|
|
13
13
|
import { Container } from '../../../functions/container/container.js';
|
|
14
14
|
import { ResourceDataRepository, } from '../../../resources/resource-data.repository.js';
|
|
15
15
|
import { ObjectUtility } from '../../../utilities/object/object.utility.js';
|
|
16
|
+
/**
|
|
17
|
+
* @internal
|
|
18
|
+
*/
|
|
16
19
|
export class ResourceSerializationService {
|
|
17
20
|
constructor(resourceDataRepository) {
|
|
18
21
|
this.resourceDataRepository = resourceDataRepository;
|
|
@@ -137,6 +140,9 @@ __decorate([
|
|
|
137
140
|
__metadata("design:paramtypes", []),
|
|
138
141
|
__metadata("design:returntype", Promise)
|
|
139
142
|
], ResourceSerializationService.prototype, "serializeNewResources", null);
|
|
143
|
+
/**
|
|
144
|
+
* @internal
|
|
145
|
+
*/
|
|
140
146
|
let ResourceSerializationServiceFactory = class ResourceSerializationServiceFactory {
|
|
141
147
|
static async create() {
|
|
142
148
|
const resourceDataRepository = await Container.getInstance().get(ResourceDataRepository);
|
|
@@ -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;AAE5E,MAAM,OAAO,4BAA4B;IAKvC,YAA6B,sBAA8C;QAA9C,2BAAsB,GAAtB,sBAAsB,CAAwB;QAJnE,2CAAsC,GAAG,IAAI,CAAC;QAErC,iBAAY,GAA2B,EAAE,CAAC;IAEmB,CAAC;IAEvE,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;IAGK,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,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;IAGD,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;IAEO,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,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,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE;aAC3B,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;IAC1D,CAAC;IAGK,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;IAGK,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,iCAAiC,CAAC,WAAmB;QACnD,IAAI,CAAC,sCAAsC,GAAG,WAAW,CAAC;IAC5D,CAAC;CACF;AAhEO;IADL,WAAW,CAAC,yBAAyB,CAAC;;;;+DAetC;AAGD;IADC,WAAW,CAAC,yBAAyB,CAAC;;;;iEAMtC;AA4BK;IADL,WAAW,CAAC,6BAA6B,CAAC;;;;4EAI1C;AAGK;IADL,WAAW,CAAC,0BAA0B,CAAC;;;;yEAIvC;
|
|
1
|
+
{"version":3,"file":"resource-serialization.service.js","sourceRoot":"","sources":["../../../../src/services/serialization/resource/resource-serialization.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,19 @@
|
|
|
1
1
|
import type { IStateProvider } from './state-provider.interface.js';
|
|
2
|
+
/**
|
|
3
|
+
* @group Services/State Management
|
|
4
|
+
*/
|
|
2
5
|
export declare class LocalStateProvider implements IStateProvider {
|
|
3
6
|
private readonly localStateDirectoryPath;
|
|
7
|
+
private readonly lockFilePath;
|
|
4
8
|
constructor(localStateDirectoryPath: string);
|
|
9
|
+
private addOrUpdateAppLock;
|
|
10
|
+
getAppLock(): Promise<string | undefined>;
|
|
5
11
|
getState(stateFileName: string): Promise<Buffer>;
|
|
12
|
+
isAppLocked(lockId: string): Promise<boolean>;
|
|
13
|
+
lockApp(): Promise<{
|
|
14
|
+
lockId: string;
|
|
15
|
+
}>;
|
|
6
16
|
saveState(stateFileName: string, data: Buffer): Promise<void>;
|
|
17
|
+
unlockApp(lockId: string): Promise<void>;
|
|
18
|
+
updateAppLockTransaction(lockId: string): Promise<void>;
|
|
7
19
|
}
|
|
@@ -1,9 +1,34 @@
|
|
|
1
1
|
import { readFile, writeFile } from 'fs/promises';
|
|
2
2
|
import { join, resolve } from 'path';
|
|
3
3
|
import { TransactionError } from '../../errors/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* @group Services/State Management
|
|
6
|
+
*/
|
|
4
7
|
export class LocalStateProvider {
|
|
5
8
|
constructor(localStateDirectoryPath) {
|
|
6
9
|
this.localStateDirectoryPath = resolve(localStateDirectoryPath);
|
|
10
|
+
this.lockFilePath = resolve(join(localStateDirectoryPath, 'local-state.lock'));
|
|
11
|
+
}
|
|
12
|
+
async addOrUpdateAppLock(lockId) {
|
|
13
|
+
await writeFile(this.lockFilePath, lockId);
|
|
14
|
+
}
|
|
15
|
+
async getAppLock() {
|
|
16
|
+
try {
|
|
17
|
+
const contents = await readFile(this.lockFilePath, 'utf-8');
|
|
18
|
+
const appLock = contents.replace(/\s/g, '');
|
|
19
|
+
if (!appLock) {
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
return appLock;
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
if (error.code === 'ENOENT') {
|
|
26
|
+
return undefined;
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
throw error;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
7
32
|
}
|
|
8
33
|
async getState(stateFileName) {
|
|
9
34
|
try {
|
|
@@ -16,8 +41,45 @@ export class LocalStateProvider {
|
|
|
16
41
|
throw error;
|
|
17
42
|
}
|
|
18
43
|
}
|
|
44
|
+
async isAppLocked(lockId) {
|
|
45
|
+
const existingLockId = await this.getAppLock();
|
|
46
|
+
if (!existingLockId) {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
if (lockId !== existingLockId) {
|
|
50
|
+
throw new TransactionError('Invalid lock ID!');
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
async lockApp() {
|
|
57
|
+
const existingLockId = await this.getAppLock();
|
|
58
|
+
if (existingLockId) {
|
|
59
|
+
throw new TransactionError('App already locked!');
|
|
60
|
+
}
|
|
61
|
+
const lockId = crypto.randomUUID();
|
|
62
|
+
await this.addOrUpdateAppLock(lockId);
|
|
63
|
+
return { lockId };
|
|
64
|
+
}
|
|
19
65
|
async saveState(stateFileName, data) {
|
|
20
66
|
await writeFile(join(this.localStateDirectoryPath, stateFileName), data);
|
|
21
67
|
}
|
|
68
|
+
async unlockApp(lockId) {
|
|
69
|
+
const existingLockId = await this.getAppLock();
|
|
70
|
+
if (!existingLockId) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
if (lockId !== existingLockId) {
|
|
74
|
+
throw new TransactionError('Invalid lock ID!');
|
|
75
|
+
}
|
|
76
|
+
await this.addOrUpdateAppLock('');
|
|
77
|
+
}
|
|
78
|
+
async updateAppLockTransaction(lockId) {
|
|
79
|
+
const isAppLocked = await this.isAppLocked(lockId);
|
|
80
|
+
if (!isAppLocked) {
|
|
81
|
+
throw new TransactionError('App is unlocked!');
|
|
82
|
+
}
|
|
83
|
+
}
|
|
22
84
|
}
|
|
23
85
|
//# sourceMappingURL=local.state-provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local.state-provider.js","sourceRoot":"","sources":["../../../src/services/state-management/local.state-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,MAAM,OAAO,kBAAkB;
|
|
1
|
+
{"version":3,"file":"local.state-provider.js","sourceRoot":"","sources":["../../../src/services/state-management/local.state-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import type { ModelSerializedOutput, ResourceSerializedOutput } from '../../app.type.js';
|
|
2
2
|
import type { IStateProvider } from './state-provider.interface.js';
|
|
3
|
+
/**
|
|
4
|
+
* @group Services/State Management
|
|
5
|
+
*/
|
|
3
6
|
export declare class StateManagementService {
|
|
4
7
|
private readonly stateProvider;
|
|
5
8
|
constructor(stateProvider: IStateProvider);
|
|
9
|
+
getAppLock(): Promise<string | undefined>;
|
|
6
10
|
getModelState(stateFileName: string, { freeze }?: {
|
|
7
11
|
freeze?: boolean;
|
|
8
12
|
}): Promise<{
|
|
@@ -16,10 +20,19 @@ export declare class StateManagementService {
|
|
|
16
20
|
userData: object;
|
|
17
21
|
}>;
|
|
18
22
|
getState(stateFileName: string, defaultValue?: any): Promise<Buffer>;
|
|
23
|
+
isAppLocked(lockId: string): Promise<boolean>;
|
|
24
|
+
lockApp(): Promise<{
|
|
25
|
+
lockId: string;
|
|
26
|
+
}>;
|
|
19
27
|
saveModelState(stateFileName: string, data: ModelSerializedOutput, userData: object): Promise<void>;
|
|
20
28
|
saveResourceState(stateFileName: string, data: ResourceSerializedOutput, userData: object): Promise<void>;
|
|
21
29
|
saveState(stateFileName: string, data: Buffer): Promise<void>;
|
|
30
|
+
unlockApp(lockId: string): Promise<void>;
|
|
31
|
+
updateAppLockTransaction(lockId: string): Promise<void>;
|
|
22
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* @internal
|
|
35
|
+
*/
|
|
23
36
|
export declare class StateManagementServiceFactory {
|
|
24
37
|
private static instance;
|
|
25
38
|
static create(stateProvider?: IStateProvider): Promise<StateManagementService>;
|
|
@@ -6,10 +6,16 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { Factory } from '../../decorators/factory.decorator.js';
|
|
8
8
|
import { TransactionError } from '../../errors/index.js';
|
|
9
|
+
/**
|
|
10
|
+
* @group Services/State Management
|
|
11
|
+
*/
|
|
9
12
|
export class StateManagementService {
|
|
10
13
|
constructor(stateProvider) {
|
|
11
14
|
this.stateProvider = stateProvider;
|
|
12
15
|
}
|
|
16
|
+
async getAppLock() {
|
|
17
|
+
return this.stateProvider.getAppLock();
|
|
18
|
+
}
|
|
13
19
|
async getModelState(stateFileName, { freeze = true } = {}) {
|
|
14
20
|
const defaultValue = {
|
|
15
21
|
data: {
|
|
@@ -67,6 +73,12 @@ export class StateManagementService {
|
|
|
67
73
|
}
|
|
68
74
|
}
|
|
69
75
|
}
|
|
76
|
+
async isAppLocked(lockId) {
|
|
77
|
+
return this.stateProvider.isAppLocked(lockId);
|
|
78
|
+
}
|
|
79
|
+
async lockApp() {
|
|
80
|
+
return this.stateProvider.lockApp();
|
|
81
|
+
}
|
|
70
82
|
async saveModelState(stateFileName, data, userData) {
|
|
71
83
|
await this.saveState(stateFileName, Buffer.from(JSON.stringify({ data, userData })));
|
|
72
84
|
}
|
|
@@ -76,7 +88,16 @@ export class StateManagementService {
|
|
|
76
88
|
async saveState(stateFileName, data) {
|
|
77
89
|
return this.stateProvider.saveState(stateFileName, data);
|
|
78
90
|
}
|
|
91
|
+
async unlockApp(lockId) {
|
|
92
|
+
return this.stateProvider.unlockApp(lockId);
|
|
93
|
+
}
|
|
94
|
+
async updateAppLockTransaction(lockId) {
|
|
95
|
+
return this.stateProvider.updateAppLockTransaction(lockId);
|
|
96
|
+
}
|
|
79
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* @internal
|
|
100
|
+
*/
|
|
80
101
|
let StateManagementServiceFactory = class StateManagementServiceFactory {
|
|
81
102
|
static async create(stateProvider) {
|
|
82
103
|
if (!this.instance) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-management.service.js","sourceRoot":"","sources":["../../../src/services/state-management/state-management.service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"state-management.service.js","sourceRoot":"","sources":["../../../src/services/state-management/state-management.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @group Services/State Management
|
|
3
|
+
*/
|
|
1
4
|
export interface IStateProvider {
|
|
5
|
+
getAppLock(): Promise<string | undefined>;
|
|
2
6
|
getState(stateFileName: string): Promise<Buffer>;
|
|
7
|
+
isAppLocked(lockId: string): Promise<boolean>;
|
|
8
|
+
lockApp(): Promise<{
|
|
9
|
+
lockId: string;
|
|
10
|
+
}>;
|
|
3
11
|
saveState(stateFileName: string, data: Buffer): Promise<void>;
|
|
12
|
+
unlockApp(lockId: string): Promise<void>;
|
|
13
|
+
updateAppLockTransaction(lockId: string): Promise<void>;
|
|
4
14
|
}
|
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
import type { IStateProvider } from './state-provider.interface.js';
|
|
2
|
+
/**
|
|
3
|
+
* @group Services/State Management
|
|
4
|
+
*/
|
|
2
5
|
export declare class TestStateProvider implements IStateProvider {
|
|
3
6
|
private readonly localState;
|
|
7
|
+
private lockId;
|
|
8
|
+
getAppLock(): Promise<string | undefined>;
|
|
4
9
|
getState(stateFileName: string): Promise<Buffer>;
|
|
10
|
+
isAppLocked(lockId: string): Promise<boolean>;
|
|
11
|
+
lockApp(): Promise<{
|
|
12
|
+
lockId: string;
|
|
13
|
+
}>;
|
|
5
14
|
saveState(stateFileName: string, data: Buffer): Promise<void>;
|
|
15
|
+
unlockApp(lockId: string): Promise<void>;
|
|
16
|
+
updateAppLockTransaction(lockId: string): Promise<void>;
|
|
6
17
|
}
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
import { TransactionError } from '../../errors/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* @group Services/State Management
|
|
4
|
+
*/
|
|
2
5
|
export class TestStateProvider {
|
|
3
6
|
constructor() {
|
|
4
7
|
this.localState = {};
|
|
8
|
+
this.lockId = undefined;
|
|
9
|
+
}
|
|
10
|
+
async getAppLock() {
|
|
11
|
+
return this.lockId;
|
|
5
12
|
}
|
|
6
13
|
async getState(stateFileName) {
|
|
7
14
|
if (!(stateFileName in this.localState)) {
|
|
@@ -9,8 +16,45 @@ export class TestStateProvider {
|
|
|
9
16
|
}
|
|
10
17
|
return this.localState[stateFileName];
|
|
11
18
|
}
|
|
19
|
+
async isAppLocked(lockId) {
|
|
20
|
+
const existingLockId = await this.getAppLock();
|
|
21
|
+
if (!existingLockId) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
if (lockId !== existingLockId) {
|
|
25
|
+
throw new TransactionError('Invalid lock ID!');
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
async lockApp() {
|
|
32
|
+
const existingLockId = await this.getAppLock();
|
|
33
|
+
if (existingLockId) {
|
|
34
|
+
throw new TransactionError('App already locked!');
|
|
35
|
+
}
|
|
36
|
+
const lockId = crypto.randomUUID();
|
|
37
|
+
this.lockId = lockId;
|
|
38
|
+
return { lockId };
|
|
39
|
+
}
|
|
12
40
|
async saveState(stateFileName, data) {
|
|
13
41
|
this.localState[stateFileName] = data;
|
|
14
42
|
}
|
|
43
|
+
async unlockApp(lockId) {
|
|
44
|
+
const existingLockId = await this.getAppLock();
|
|
45
|
+
if (!existingLockId) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
if (lockId !== existingLockId) {
|
|
49
|
+
throw new TransactionError('Invalid lock ID!');
|
|
50
|
+
}
|
|
51
|
+
this.lockId = undefined;
|
|
52
|
+
}
|
|
53
|
+
async updateAppLockTransaction(lockId) {
|
|
54
|
+
const isAppLocked = await this.isAppLocked(lockId);
|
|
55
|
+
if (!isAppLocked) {
|
|
56
|
+
throw new TransactionError('App is unlocked!');
|
|
57
|
+
}
|
|
58
|
+
}
|
|
15
59
|
}
|
|
16
60
|
//# sourceMappingURL=test.state-provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.state-provider.js","sourceRoot":"","sources":["../../../src/services/state-management/test.state-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,MAAM,OAAO,iBAAiB;IAA9B;QACmB,eAAU,GAA8B,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"test.state-provider.js","sourceRoot":"","sources":["../../../src/services/state-management/test.state-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAA9B;QACmB,eAAU,GAA8B,EAAE,CAAC;QACpD,WAAM,GAAuB,SAAS,CAAC;IA8DjD,CAAC;IA5DC,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,aAAqB;QAClC,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc;QAC9B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAE/C,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;YAC9B,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAE/C,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,IAAI,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,aAAqB,EAAE,IAAY;QACjD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc;QAC5B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAE/C,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;YAC9B,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,MAAc;QAC3C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;CACF"}
|
|
@@ -7,6 +7,9 @@ import { ResourceDataRepository } from '../../resources/resource-data.repository
|
|
|
7
7
|
import { CaptureService } from '../capture/capture.service.js';
|
|
8
8
|
import { EventService } from '../event/event.service.js';
|
|
9
9
|
import { InputService } from '../input/input.service.js';
|
|
10
|
+
/**
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
10
13
|
export declare class TransactionService {
|
|
11
14
|
private readonly captureService;
|
|
12
15
|
private readonly eventService;
|
|
@@ -19,6 +22,7 @@ export declare class TransactionService {
|
|
|
19
22
|
private resourceActions;
|
|
20
23
|
constructor(captureService: CaptureService, eventService: EventService, inputService: InputService, moduleContainer: ModuleContainer, overlayDataRepository: OverlayDataRepository, resourceDataRepository: ResourceDataRepository);
|
|
21
24
|
private applyModels;
|
|
25
|
+
private applyResourcesDryRun;
|
|
22
26
|
private applyResources;
|
|
23
27
|
private getDiffsOfSameNode;
|
|
24
28
|
private getDuplicateDiffs;
|
|
@@ -28,13 +32,16 @@ export declare class TransactionService {
|
|
|
28
32
|
* E.g. diff to add environment, depends on region to exist, thus add region diff gets processed first.
|
|
29
33
|
*/
|
|
30
34
|
private setApplyOrder;
|
|
31
|
-
beginTransaction(diffs: Diff[], { enableResourceCapture, yieldModelDiffs, yieldModelTransaction, yieldResourceDiffs, yieldResourceTransaction, }?: TransactionOptions): AsyncGenerator<DiffMetadata[][], DiffMetadata[][]>;
|
|
35
|
+
beginTransaction(diffs: Diff[], { enableResourceCapture, enableResourceValidation, yieldModelDiffs, yieldModelTransaction, yieldResourceDiffs, yieldResourceTransaction, }?: TransactionOptions): AsyncGenerator<DiffMetadata[][], DiffMetadata[][]>;
|
|
32
36
|
registerModelActions(forModel: Constructable<UnknownModel>, actions: IUnknownModelAction[]): void;
|
|
33
37
|
registerOverlayActions(forOverlay: Constructable<UnknownOverlay>, actions: IUnknownModelAction[]): void;
|
|
34
38
|
registerResourceActions(forResource: Constructable<UnknownResource>, actions: IUnknownResourceAction[]): void;
|
|
35
39
|
unregisterModelActions(forModel: Constructable<UnknownModel>): void;
|
|
36
40
|
unregisterOverlayActions(forOverlay: Constructable<UnknownOverlay>): void;
|
|
37
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* @internal
|
|
44
|
+
*/
|
|
38
45
|
export declare class TransactionServiceFactory {
|
|
39
46
|
private static instance;
|
|
40
47
|
static create(): Promise<TransactionService>;
|