@quadnix/octo 0.0.19 → 0.0.21
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 +5 -0
- package/dist/app.type.js +6 -0
- package/dist/app.type.js.map +1 -1
- package/dist/decorators/action.decorator.d.ts +17 -0
- package/dist/decorators/action.decorator.js +26 -1
- package/dist/decorators/action.decorator.js.map +1 -1
- package/dist/decorators/anchor.decorator.d.ts +13 -0
- package/dist/decorators/anchor.decorator.js +16 -1
- package/dist/decorators/anchor.decorator.js.map +1 -1
- package/dist/decorators/container.d.ts +61 -0
- package/dist/decorators/container.js +68 -3
- package/dist/decorators/container.js.map +1 -1
- package/dist/decorators/enable-hook.decorator.d.ts +14 -0
- package/dist/decorators/enable-hook.decorator.js +14 -0
- package/dist/decorators/enable-hook.decorator.js.map +1 -1
- package/dist/decorators/event-source.decorator.d.ts +18 -0
- package/dist/decorators/event-source.decorator.js +22 -0
- package/dist/decorators/event-source.decorator.js.map +1 -0
- package/dist/decorators/factory.decorator.d.ts +30 -0
- package/dist/decorators/factory.decorator.js +30 -0
- package/dist/decorators/factory.decorator.js.map +1 -1
- package/dist/decorators/model.decorator.d.ts +13 -0
- package/dist/decorators/model.decorator.js +16 -1
- package/dist/decorators/model.decorator.js.map +1 -1
- package/dist/decorators/module.decorator.d.ts +52 -0
- package/dist/decorators/module.decorator.js +60 -1
- package/dist/decorators/module.decorator.js.map +1 -1
- package/dist/decorators/on-event.decorator.d.ts +20 -0
- package/dist/decorators/on-event.decorator.js +24 -0
- package/dist/decorators/on-event.decorator.js.map +1 -0
- package/dist/decorators/overlay.decorator.d.ts +13 -0
- package/dist/decorators/overlay.decorator.js +16 -1
- package/dist/decorators/overlay.decorator.js.map +1 -1
- package/dist/decorators/resource.decorator.d.ts +13 -0
- package/dist/decorators/resource.decorator.js +16 -1
- package/dist/decorators/resource.decorator.js.map +1 -1
- package/dist/decorators/test-container.d.ts +52 -0
- package/dist/decorators/test-container.js +54 -2
- package/dist/decorators/test-container.js.map +1 -1
- package/dist/decorators/validate.decorator.d.ts +9 -0
- package/dist/decorators/validate.decorator.js +23 -0
- package/dist/decorators/validate.decorator.js.map +1 -0
- package/dist/events/error.event.d.ts +35 -0
- package/dist/events/error.event.js +36 -0
- package/dist/events/error.event.js.map +1 -0
- package/dist/events/event.model.d.ts +37 -0
- package/dist/events/event.model.js +43 -0
- package/dist/events/event.model.js.map +1 -0
- package/dist/events/hook.event.d.ts +194 -0
- package/dist/events/hook.event.js +195 -0
- package/dist/events/hook.event.js.map +1 -0
- package/dist/events/module.event.d.ts +15 -0
- package/dist/events/module.event.js +16 -0
- package/dist/events/module.event.js.map +1 -0
- package/dist/events/registration.event.d.ts +112 -0
- package/dist/events/registration.event.js +170 -0
- package/dist/events/registration.event.js.map +1 -0
- package/dist/events/serialization.event.d.ts +72 -0
- package/dist/events/serialization.event.js +73 -0
- package/dist/events/serialization.event.js.map +1 -0
- package/dist/events/transaction.event.d.ts +48 -0
- package/dist/events/transaction.event.js +49 -0
- package/dist/events/transaction.event.js.map +1 -0
- package/dist/functions/dependency/dependency.js +1 -8
- 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 +5 -10
- package/dist/functions/diff/diff-metadata.js.map +1 -1
- package/dist/functions/diff/diff.d.ts +3 -0
- package/dist/functions/diff/diff.js +3 -4
- package/dist/functions/diff/diff.js.map +1 -1
- package/dist/functions/diff/diff.utility.d.ts +32 -0
- package/dist/functions/diff/diff.utility.js +49 -0
- package/dist/functions/diff/diff.utility.js.map +1 -1
- package/dist/functions/hook/commit.hook.js +11 -3
- package/dist/functions/hook/commit.hook.js.map +1 -1
- package/dist/functions/hook/model-action.hook.js +11 -3
- package/dist/functions/hook/model-action.hook.js.map +1 -1
- package/dist/functions/hook/resource-action.hook.js +11 -3
- package/dist/functions/hook/resource-action.hook.js.map +1 -1
- package/dist/index.d.ts +9 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts +11 -2
- package/dist/main.js +34 -16
- package/dist/main.js.map +1 -1
- package/dist/models/app/app.interface.d.ts +5 -0
- package/dist/models/app/app.model.d.ts +29 -0
- package/dist/models/app/app.model.js +40 -3
- package/dist/models/app/app.model.js.map +1 -1
- package/dist/models/deployment/deployment.interface.d.ts +5 -0
- package/dist/models/deployment/deployment.model.d.ts +15 -0
- package/dist/models/deployment/deployment.model.js +20 -3
- package/dist/models/deployment/deployment.model.js.map +1 -1
- package/dist/models/environment/environment.interface.d.ts +5 -0
- package/dist/models/environment/environment.model.d.ts +18 -0
- package/dist/models/environment/environment.model.js +33 -4
- package/dist/models/environment/environment.model.js.map +1 -1
- package/dist/models/execution/execution.interface.d.ts +5 -0
- package/dist/models/execution/execution.model.d.ts +23 -0
- package/dist/models/execution/execution.model.js +39 -2
- package/dist/models/execution/execution.model.js.map +1 -1
- package/dist/models/image/image.interface.d.ts +5 -0
- package/dist/models/image/image.model.d.ts +35 -0
- package/dist/models/image/image.model.js +25 -6
- package/dist/models/image/image.model.js.map +1 -1
- package/dist/models/model-action.interface.d.ts +21 -0
- package/dist/models/model.abstract.d.ts +265 -0
- package/dist/models/model.abstract.js +274 -5
- package/dist/models/model.abstract.js.map +1 -1
- package/dist/models/model.interface.d.ts +25 -0
- package/dist/models/pipeline/pipeline.interface.d.ts +5 -0
- package/dist/models/pipeline/pipeline.model.d.ts +15 -0
- package/dist/models/pipeline/pipeline.model.js +25 -4
- package/dist/models/pipeline/pipeline.model.js.map +1 -1
- package/dist/models/region/region.interface.d.ts +5 -0
- package/dist/models/region/region.model.d.ts +18 -0
- package/dist/models/region/region.model.js +29 -3
- package/dist/models/region/region.model.js.map +1 -1
- package/dist/models/server/server.interface.d.ts +5 -0
- package/dist/models/server/server.model.d.ts +17 -0
- package/dist/models/server/server.model.js +24 -3
- package/dist/models/server/server.model.js.map +1 -1
- package/dist/models/service/service.interface.d.ts +5 -0
- package/dist/models/service/service.model.d.ts +15 -0
- package/dist/models/service/service.model.js +19 -2
- package/dist/models/service/service.model.js.map +1 -1
- package/dist/models/subnet/subnet.interface.d.ts +5 -0
- package/dist/models/subnet/subnet.model.d.ts +48 -0
- package/dist/models/subnet/subnet.model.js +52 -7
- package/dist/models/subnet/subnet.model.js.map +1 -1
- package/dist/modules/module.container.d.ts +2 -0
- package/dist/modules/module.container.js +22 -10
- package/dist/modules/module.container.js.map +1 -1
- package/dist/modules/test-module.container.d.ts +4 -3
- package/dist/modules/test-module.container.js +13 -10
- package/dist/modules/test-module.container.js.map +1 -1
- package/dist/overlays/anchor.abstract.js +0 -3
- package/dist/overlays/anchor.abstract.js.map +1 -1
- package/dist/overlays/overlay-data.repository.js +0 -3
- package/dist/overlays/overlay-data.repository.js.map +1 -1
- package/dist/overlays/overlay.abstract.js +3 -3
- package/dist/overlays/overlay.abstract.js.map +1 -1
- package/dist/overlays/overlay.service.js +0 -2
- package/dist/overlays/overlay.service.js.map +1 -1
- package/dist/resources/resource-data.repository.js +6 -3
- package/dist/resources/resource-data.repository.js.map +1 -1
- package/dist/resources/resource.abstract.js +4 -4
- package/dist/resources/resource.abstract.js.map +1 -1
- package/dist/resources/shared-resource.abstract.js +4 -1
- package/dist/resources/shared-resource.abstract.js.map +1 -1
- package/dist/services/capture/capture.service.js +3 -2
- package/dist/services/capture/capture.service.js.map +1 -1
- package/dist/services/event/event.service.d.ts +17 -0
- package/dist/services/event/event.service.js +92 -0
- package/dist/services/event/event.service.js.map +1 -0
- package/dist/services/input/input.service.js +1 -3
- package/dist/services/input/input.service.js.map +1 -1
- package/dist/services/serialization/model/model-serialization.service.d.ts +1 -1
- package/dist/services/serialization/model/model-serialization.service.js +28 -5
- package/dist/services/serialization/model/model-serialization.service.js.map +1 -1
- package/dist/services/serialization/resource/resource-serialization.service.js +32 -4
- package/dist/services/serialization/resource/resource-serialization.service.js.map +1 -1
- package/dist/services/state-management/local.state-provider.js +0 -1
- package/dist/services/state-management/local.state-provider.js.map +1 -1
- package/dist/services/state-management/state-management.service.js +0 -2
- package/dist/services/state-management/state-management.service.js.map +1 -1
- package/dist/services/state-management/test.state-provider.js +3 -1
- package/dist/services/state-management/test.state-provider.js.map +1 -1
- package/dist/services/transaction/transaction.service.d.ts +4 -0
- package/dist/services/transaction/transaction.service.js +69 -9
- package/dist/services/transaction/transaction.service.js.map +1 -1
- package/dist/services/validation/validation.service.d.ts +19 -0
- package/dist/services/validation/validation.service.js +66 -0
- package/dist/services/validation/validation.service.js.map +1 -0
- package/dist/utilities/object/object.utility.js +1 -0
- package/dist/utilities/object/object.utility.js.map +1 -1
- package/dist/utilities/validation/validation.utility.d.ts +5 -0
- package/dist/utilities/validation/validation.utility.js +12 -0
- package/dist/utilities/validation/validation.utility.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event.service.js","sourceRoot":"","sources":["../../../src/services/event/event.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,10 +8,9 @@ import { Container } from '../../decorators/container.js';
|
|
|
8
8
|
import { Factory } from '../../decorators/factory.decorator.js';
|
|
9
9
|
import { ResourceDataRepository } from '../../resources/resource-data.repository.js';
|
|
10
10
|
export class InputService {
|
|
11
|
-
resourceDataRepository;
|
|
12
|
-
inputs = {};
|
|
13
11
|
constructor(resourceDataRepository) {
|
|
14
12
|
this.resourceDataRepository = resourceDataRepository;
|
|
13
|
+
this.inputs = {};
|
|
15
14
|
}
|
|
16
15
|
getInput(name) {
|
|
17
16
|
if (name.startsWith('resource')) {
|
|
@@ -29,7 +28,6 @@ export class InputService {
|
|
|
29
28
|
}
|
|
30
29
|
}
|
|
31
30
|
let InputServiceFactory = class InputServiceFactory {
|
|
32
|
-
static instance;
|
|
33
31
|
static async create() {
|
|
34
32
|
const resourceDataRepository = await Container.get(ResourceDataRepository);
|
|
35
33
|
if (!this.instance) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.service.js","sourceRoot":"","sources":["../../../src/services/input/input.service.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAErF,MAAM,OAAO,YAAY;
|
|
1
|
+
{"version":3,"file":"input.service.js","sourceRoot":"","sources":["../../../src/services/input/input.service.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAErF,MAAM,OAAO,YAAY;IAGvB,YAA6B,sBAA8C;QAA9C,2BAAsB,GAAtB,sBAAsB,CAAwB;QAF1D,WAAM,GAAiB,EAAE,CAAC;IAEmC,CAAC;IAE/E,QAAQ,CAAC,IAAY;QACnB,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,UAAU,CAAE,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,cAAc,CAAC,MAAoB;QACjC,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;CACF;AAGM,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAG9B,MAAM,CAAC,KAAK,CAAC,MAAM;QACjB,MAAM,sBAAsB,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,sBAAsB,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF,CAAA;AAVY,mBAAmB;IAD/B,OAAO,CAAe,YAAY,CAAC;GACvB,mBAAmB,CAU/B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ModelSerializedOutput, UnknownModel } from '../../../app.type.js';
|
|
1
|
+
import { type ModelSerializedOutput, type UnknownModel } from '../../../app.type.js';
|
|
2
2
|
import { OverlayDataRepository } from '../../../overlays/overlay-data.repository.js';
|
|
3
3
|
export declare class ModelSerializationService {
|
|
4
4
|
private readonly overlayDataRepository;
|
|
@@ -4,18 +4,24 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { ModelType, } from '../../../app.type.js';
|
|
8
11
|
import { Container } from '../../../decorators/container.js';
|
|
12
|
+
import { EventSource } from '../../../decorators/event-source.decorator.js';
|
|
9
13
|
import { Factory } from '../../../decorators/factory.decorator.js';
|
|
14
|
+
import { AnchorRegistrationEvent, ModelRegistrationEvent, OverlayRegistrationEvent, } from '../../../events/registration.event.js';
|
|
15
|
+
import { ModelDeserializedEvent, ModelSerializedEvent } from '../../../events/serialization.event.js';
|
|
10
16
|
import { Dependency } from '../../../functions/dependency/dependency.js';
|
|
11
17
|
import { OverlayDataRepository } from '../../../overlays/overlay-data.repository.js';
|
|
12
18
|
import { ObjectUtility } from '../../../utilities/object/object.utility.js';
|
|
19
|
+
import { EventService } from '../../event/event.service.js';
|
|
13
20
|
export class ModelSerializationService {
|
|
14
|
-
overlayDataRepository;
|
|
15
|
-
MODEL_DESERIALIZATION_TIMEOUT_IN_MS = 5000;
|
|
16
|
-
classMapping = {};
|
|
17
21
|
constructor(overlayDataRepository) {
|
|
18
22
|
this.overlayDataRepository = overlayDataRepository;
|
|
23
|
+
this.MODEL_DESERIALIZATION_TIMEOUT_IN_MS = 5000;
|
|
24
|
+
this.classMapping = {};
|
|
19
25
|
}
|
|
20
26
|
async _deserialize(serializedOutput, freeze) {
|
|
21
27
|
const deReferencePromises = {};
|
|
@@ -51,17 +57,20 @@ export class ModelSerializationService {
|
|
|
51
57
|
}
|
|
52
58
|
return seen[context];
|
|
53
59
|
};
|
|
60
|
+
// Deserialize all models.
|
|
54
61
|
const promiseToDeserializeModels = [];
|
|
55
62
|
for (const context in serializedOutput.models) {
|
|
56
63
|
promiseToDeserializeModels.push(deserializeModel(context));
|
|
57
64
|
}
|
|
58
65
|
await Promise.all(promiseToDeserializeModels);
|
|
66
|
+
// Deserialize all anchors.
|
|
59
67
|
for (const a of serializedOutput.anchors) {
|
|
60
68
|
const { className, parent } = a;
|
|
61
69
|
const deserializationClass = this.classMapping[className];
|
|
62
70
|
const anchor = await deserializationClass.unSynth(deserializationClass, a, deReferenceContext);
|
|
63
71
|
seen[parent.context].addAnchor(anchor);
|
|
64
72
|
}
|
|
73
|
+
// Deserialize all overlays.
|
|
65
74
|
const overlays = [];
|
|
66
75
|
for (const { className, overlay } of serializedOutput.overlays) {
|
|
67
76
|
const deserializationClass = this.classMapping[className];
|
|
@@ -69,6 +78,7 @@ export class ModelSerializationService {
|
|
|
69
78
|
overlays.push(newOverlay);
|
|
70
79
|
seen[newOverlay.getContext()] = newOverlay;
|
|
71
80
|
}
|
|
81
|
+
// Deserialize all dependencies.
|
|
72
82
|
for (const d of serializedOutput.dependencies) {
|
|
73
83
|
const dependency = Dependency.unSynth(seen[d.from], seen[d.to], d);
|
|
74
84
|
if (!seen[d.from].getDependencies().some((d) => d.from === dependency.from && d.to === dependency.to)) {
|
|
@@ -83,6 +93,7 @@ export class ModelSerializationService {
|
|
|
83
93
|
ObjectUtility.deepFreeze(overlay);
|
|
84
94
|
}
|
|
85
95
|
}
|
|
96
|
+
// If no dependencies to serialize, return the first seen model.
|
|
86
97
|
const root = serializedOutput.dependencies.length > 0
|
|
87
98
|
? seen[serializedOutput.dependencies[0].from]
|
|
88
99
|
: seen[Object.keys(seen)[0]];
|
|
@@ -91,9 +102,11 @@ export class ModelSerializationService {
|
|
|
91
102
|
async deserialize(serializedOutput, { freeze = true } = {}) {
|
|
92
103
|
const newOverlays = this.overlayDataRepository.getByProperties();
|
|
93
104
|
const { overlays: oldOverlays, root } = await this._deserialize(serializedOutput, freeze);
|
|
105
|
+
// Refresh the overlay data repository.
|
|
94
106
|
await Container.get(OverlayDataRepository, {
|
|
95
107
|
args: [true, oldOverlays, newOverlays],
|
|
96
108
|
});
|
|
109
|
+
EventService.getInstance().emit(new ModelDeserializedEvent());
|
|
97
110
|
return root;
|
|
98
111
|
}
|
|
99
112
|
registerClass(className, deserializationClass) {
|
|
@@ -106,6 +119,7 @@ export class ModelSerializationService {
|
|
|
106
119
|
const models = {};
|
|
107
120
|
const overlays = [];
|
|
108
121
|
for (const model of boundary) {
|
|
122
|
+
// Skip serializing models marked as deleted.
|
|
109
123
|
if (model.isMarkedDeleted()) {
|
|
110
124
|
if (model.MODEL_TYPE === ModelType.OVERLAY) {
|
|
111
125
|
this.overlayDataRepository.remove(model);
|
|
@@ -113,6 +127,7 @@ export class ModelSerializationService {
|
|
|
113
127
|
continue;
|
|
114
128
|
}
|
|
115
129
|
for (const d of model.getDependencies()) {
|
|
130
|
+
// Skip dependencies that are not part of boundary.
|
|
116
131
|
if (!boundary.some((m) => m.getContext() === d.from.getContext()) ||
|
|
117
132
|
!boundary.some((m) => m.getContext() === d.to.getContext())) {
|
|
118
133
|
continue;
|
|
@@ -132,14 +147,22 @@ export class ModelSerializationService {
|
|
|
132
147
|
overlays.push({ className: model.constructor.name, overlay: model.synth() });
|
|
133
148
|
}
|
|
134
149
|
}
|
|
150
|
+
EventService.getInstance().emit(new ModelSerializedEvent());
|
|
135
151
|
return { anchors, dependencies, models, overlays };
|
|
136
152
|
}
|
|
137
153
|
setModelDeserializationTimeout(timeoutInMs) {
|
|
138
154
|
this.MODEL_DESERIALIZATION_TIMEOUT_IN_MS = timeoutInMs;
|
|
139
155
|
}
|
|
140
156
|
}
|
|
157
|
+
__decorate([
|
|
158
|
+
EventSource(AnchorRegistrationEvent),
|
|
159
|
+
EventSource(ModelRegistrationEvent),
|
|
160
|
+
EventSource(OverlayRegistrationEvent),
|
|
161
|
+
__metadata("design:type", Function),
|
|
162
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
163
|
+
__metadata("design:returntype", void 0)
|
|
164
|
+
], ModelSerializationService.prototype, "registerClass", null);
|
|
141
165
|
let ModelSerializationServiceFactory = class ModelSerializationServiceFactory {
|
|
142
|
-
static instance;
|
|
143
166
|
static async create(forceNew = false) {
|
|
144
167
|
const overlayDataRepository = await Container.get(OverlayDataRepository);
|
|
145
168
|
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":"
|
|
1
|
+
{"version":3,"file":"model-serialization.service.js","sourceRoot":"","sources":["../../../../src/services/serialization/model/model-serialization.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,16 +4,22 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
7
10
|
import { Container } from '../../../decorators/container.js';
|
|
11
|
+
import { EventSource } from '../../../decorators/event-source.decorator.js';
|
|
8
12
|
import { Factory } from '../../../decorators/factory.decorator.js';
|
|
13
|
+
import { ResourceRegistrationEvent } from '../../../events/registration.event.js';
|
|
14
|
+
import { ResourceDeserializedEvent, ResourceSerializedEvent } from '../../../events/serialization.event.js';
|
|
9
15
|
import { ResourceDataRepository } from '../../../resources/resource-data.repository.js';
|
|
10
16
|
import { ObjectUtility } from '../../../utilities/object/object.utility.js';
|
|
17
|
+
import { EventService } from '../../event/event.service.js';
|
|
11
18
|
export class ResourceSerializationService {
|
|
12
|
-
resourceDataRepository;
|
|
13
|
-
RESOURCE_DESERIALIZATION_TIMEOUT_IN_MS = 5000;
|
|
14
|
-
classMapping = {};
|
|
15
19
|
constructor(resourceDataRepository) {
|
|
16
20
|
this.resourceDataRepository = resourceDataRepository;
|
|
21
|
+
this.RESOURCE_DESERIALIZATION_TIMEOUT_IN_MS = 5000;
|
|
22
|
+
this.classMapping = {};
|
|
17
23
|
}
|
|
18
24
|
async _deserialize(serializedOutput, freeze) {
|
|
19
25
|
const deReferencePromises = {};
|
|
@@ -53,6 +59,7 @@ export class ResourceSerializationService {
|
|
|
53
59
|
}
|
|
54
60
|
return deserializedResource;
|
|
55
61
|
};
|
|
62
|
+
// Re-generate resource parents from dependencies.
|
|
56
63
|
for (const d of serializedOutput.dependencies) {
|
|
57
64
|
const fromResourceId = d.from.split('=')[1];
|
|
58
65
|
const toResourceId = d.to.split('=')[1];
|
|
@@ -62,6 +69,7 @@ export class ResourceSerializationService {
|
|
|
62
69
|
if (!parents[toResourceId]) {
|
|
63
70
|
parents[toResourceId] = [];
|
|
64
71
|
}
|
|
72
|
+
// Resources don't have other relationships than parent-child relations.
|
|
65
73
|
if (d.relationship?.type === 'child' && !parents[fromResourceId].includes(toResourceId)) {
|
|
66
74
|
parents[fromResourceId].push(toResourceId);
|
|
67
75
|
}
|
|
@@ -69,11 +77,13 @@ export class ResourceSerializationService {
|
|
|
69
77
|
parents[toResourceId].push(fromResourceId);
|
|
70
78
|
}
|
|
71
79
|
}
|
|
80
|
+
// Deserialize all serialized resources.
|
|
72
81
|
const promiseToDeserializeResources = [];
|
|
73
82
|
for (const resourceId in serializedOutput.resources) {
|
|
74
83
|
promiseToDeserializeResources.push(deserializeResource(resourceId, parents[resourceId], false));
|
|
75
84
|
}
|
|
76
85
|
await Promise.all(promiseToDeserializeResources);
|
|
86
|
+
// Deserialize all serialized shared-resources.
|
|
77
87
|
const promiseToDeserializeSharedResources = [];
|
|
78
88
|
for (const resourceId in serializedOutput.sharedResources) {
|
|
79
89
|
promiseToDeserializeSharedResources.push(deserializeResource(resourceId, parents[resourceId], true));
|
|
@@ -87,11 +97,22 @@ export class ResourceSerializationService {
|
|
|
87
97
|
return seen;
|
|
88
98
|
}
|
|
89
99
|
async deserialize(serializedOutput, { freeze = true } = {}) {
|
|
100
|
+
// Note 1: Unlike overlays, resources needs to be deserialized twice, once for new resources
|
|
101
|
+
// and once for old resources. Resources are generated as a product of model and overlay diff.
|
|
102
|
+
// The user repository code, when runs with a previous state, model and overlay diff won't generate new resources.
|
|
103
|
+
// That equates to ResourceDataRepository being empty.
|
|
104
|
+
// On resource diff with the previous resource, DELETE diffs will be produced.
|
|
105
|
+
// Therefore, it's necessary to load the ResourceDataRepository with new before deserializing the resources.
|
|
106
|
+
// Note 2: Post commit you can still reference the running overlays, but any resource manipulation should be done
|
|
107
|
+
// on after fetching the resource from the ResourceDataRepository. Never use the running resources because
|
|
108
|
+
// post commit they are replaced by a new copy.
|
|
90
109
|
const newResources = await this._deserialize(JSON.parse(JSON.stringify(serializedOutput)), false);
|
|
91
110
|
const oldResources = await this._deserialize(JSON.parse(JSON.stringify(serializedOutput)), freeze);
|
|
111
|
+
// Refresh the resource data repository.
|
|
92
112
|
await Container.get(ResourceDataRepository, {
|
|
93
113
|
args: [true, Object.values(oldResources), Object.values(newResources)],
|
|
94
114
|
});
|
|
115
|
+
EventService.getInstance().emit(new ResourceDeserializedEvent());
|
|
95
116
|
}
|
|
96
117
|
registerClass(className, deserializationClass) {
|
|
97
118
|
this.classMapping[className] = deserializationClass;
|
|
@@ -102,6 +123,7 @@ export class ResourceSerializationService {
|
|
|
102
123
|
const serializedResources = {};
|
|
103
124
|
const sharedSerializedResources = {};
|
|
104
125
|
for (const resource of resources) {
|
|
126
|
+
// Skip serializing resources marked as deleted.
|
|
105
127
|
if (resource.isMarkedDeleted()) {
|
|
106
128
|
this.resourceDataRepository.remove(resource);
|
|
107
129
|
continue;
|
|
@@ -123,14 +145,20 @@ export class ResourceSerializationService {
|
|
|
123
145
|
};
|
|
124
146
|
}
|
|
125
147
|
}
|
|
148
|
+
EventService.getInstance().emit(new ResourceSerializedEvent());
|
|
126
149
|
return { dependencies, resources: serializedResources, sharedResources: sharedSerializedResources };
|
|
127
150
|
}
|
|
128
151
|
setResourceDeserializationTimeout(timeoutInMs) {
|
|
129
152
|
this.RESOURCE_DESERIALIZATION_TIMEOUT_IN_MS = timeoutInMs;
|
|
130
153
|
}
|
|
131
154
|
}
|
|
155
|
+
__decorate([
|
|
156
|
+
EventSource(ResourceRegistrationEvent),
|
|
157
|
+
__metadata("design:type", Function),
|
|
158
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
159
|
+
__metadata("design:returntype", void 0)
|
|
160
|
+
], ResourceSerializationService.prototype, "registerClass", null);
|
|
132
161
|
let ResourceSerializationServiceFactory = class ResourceSerializationServiceFactory {
|
|
133
|
-
static instance;
|
|
134
162
|
static async create(forceNew = false) {
|
|
135
163
|
const resourceDataRepository = await Container.get(ResourceDataRepository);
|
|
136
164
|
if (!this.instance) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-serialization.service.js","sourceRoot":"","sources":["../../../../src/services/serialization/resource/resource-serialization.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resource-serialization.service.js","sourceRoot":"","sources":["../../../../src/services/serialization/resource/resource-serialization.service.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,0CAA0C,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAE5G,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,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,OAAO,GAA8B,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAkB,EAAE,CAAC;QAE/B,MAAM,mBAAmB,GAAG,KAAK,EAAE,UAAkB,EAA4B,EAAE;YACjF,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtB,IAAI,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;oBACpC,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3C,CAAC;qBAAM,CAAC;oBACN,mBAAmB,CAAC,UAAU,CAAC,GAAG,EAAS,CAAC;oBAC5C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;wBACvD,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;wBAC7C,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;oBAC9C,CAAC,CAAC,CAAC;oBACH,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;oBAE7C,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE;wBACnD,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC,CAAC;oBAC/F,CAAC,EAAE,IAAI,CAAC,sCAAsC,CAAC,CAAC;oBAChD,MAAM,OAAO,CAAC;gBAChB,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC,CAAC;QAEF,MAAM,mBAAmB,GAAG,KAAK,EAC/B,UAAkB,EAClB,OAAiB,EACjB,gBAAyB,EACC,EAAE;YAC5B,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,gBAAgB;gBACvD,CAAC,CAAC,gBAAgB,CAAC,eAAe,CAAC,UAAU,CAAC;gBAC9C,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YAC3C,MAAM,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAE1D,MAAM,oBAAoB,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAC7D,oBAAoB,EACpB,QAAQ,EACR,OAAO,IAAI,EAAE,EACb,mBAAmB,CACpB,CAAC;YACF,oBAAoB,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;YAE1C,IAAI,CAAC,UAAU,CAAC,GAAG,oBAAoB,CAAC;YACxC,IAAI,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACzC,YAAY,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,CAAC;YAED,OAAO,oBAAoB,CAAC;QAC9B,CAAC,CAAC;QAEF,kDAAkD;QAClD,KAAK,MAAM,CAAC,IAAI,gBAAgB,CAAC,YAAY,EAAE,CAAC;YAC9C,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAExC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;YAC/B,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC3B,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;YAC7B,CAAC;YAED,wEAAwE;YACxE,IAAI,CAAC,CAAC,YAAY,EAAE,IAAI,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACxF,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7C,CAAC;iBAAM,IAAI,CAAC,CAAC,YAAY,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBAChG,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,MAAM,6BAA6B,GAA+B,EAAE,CAAC;QACrE,KAAK,MAAM,UAAU,IAAI,gBAAgB,CAAC,SAAS,EAAE,CAAC;YACpD,6BAA6B,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QAClG,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAEjD,+CAA+C;QAC/C,MAAM,mCAAmC,GAA+B,EAAE,CAAC;QAC3E,KAAK,MAAM,UAAU,IAAI,gBAAgB,CAAC,eAAe,EAAE,CAAC;YAC1D,mCAAmC,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QACvG,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QAEvD,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,KAAK,CAAC,WAAW,CACf,gBAA0C,EAC1C,EAAE,MAAM,GAAG,IAAI,KAA2B,EAAE;QAE5C,4FAA4F;QAC5F,8FAA8F;QAC9F,kHAAkH;QAClH,sDAAsD;QACtD,8EAA8E;QAC9E,4GAA4G;QAC5G,iHAAiH;QACjH,0GAA0G;QAC1G,+CAA+C;QAC/C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAClG,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAEnG,wCAAwC;QACxC,MAAM,SAAS,CAAC,GAAG,CAAC,sBAAsB,EAAE;YAC1C,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;SACvE,CAAC,CAAC;QAEH,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,yBAAyB,EAAE,CAAC,CAAC;IACnE,CAAC;IAGD,aAAa,CAAC,SAAiB,EAAE,oBAAyB;QACxD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,oBAAoB,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAAC,eAAe,EAAE,CAAC;QAEhE,MAAM,YAAY,GAAkB,EAAE,CAAC;QACvC,MAAM,mBAAmB,GAA0C,EAAE,CAAC;QACtE,MAAM,yBAAyB,GAAgD,EAAE,CAAC;QAElF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,gDAAgD;YAChD,IAAI,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC;gBAC/B,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAE7C,SAAS;YACX,CAAC;YAED,MAAM,oBAAoB,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9E,YAAY,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,CAAC;YAE3C,IAAI,QAAQ,CAAC,UAAU,KAAK,iBAAiB,EAAE,CAAC;gBAC9C,yBAAyB,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG;oBAC/C,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,IAAI;oBACpC,OAAO,EAAE,QAAQ,CAAC,UAAU,EAAE;oBAC9B,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE;iBAC3B,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG;oBACzC,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,IAAI;oBACpC,OAAO,EAAE,QAAQ,CAAC,UAAU,EAAE;oBAC9B,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE;iBAC3B,CAAC;YACJ,CAAC;QACH,CAAC;QAED,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,uBAAuB,EAAE,CAAC,CAAC;QAE/D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,eAAe,EAAE,yBAAyB,EAAE,CAAC;IACtG,CAAC;IAED,iCAAiC,CAAC,WAAmB;QACnD,IAAI,CAAC,sCAAsC,GAAG,WAAW,CAAC;IAC5D,CAAC;CACF;AA7CC;IADC,WAAW,CAAC,yBAAyB,CAAC;;;;iEAGtC;AA8CI,IAAM,mCAAmC,GAAzC,MAAM,mCAAmC;IAG9C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK;QAClC,MAAM,sBAAsB,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,4BAA4B,CAAC,sBAAsB,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,WAAW,GAAG,IAAI,4BAA4B,CAAC,sBAAsB,CAAC,CAAC;YAC7E,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF,CAAA;AAdY,mCAAmC;IAD/C,OAAO,CAA+B,4BAA4B,CAAC;GACvD,mCAAmC,CAc/C"}
|
|
@@ -4,7 +4,6 @@ import { promisify } from 'util';
|
|
|
4
4
|
const readFileAsync = promisify(readFile);
|
|
5
5
|
const writeFileAsync = promisify(writeFile);
|
|
6
6
|
export class LocalStateProvider {
|
|
7
|
-
localStateDirectoryPath;
|
|
8
7
|
constructor(localStateDirectoryPath) {
|
|
9
8
|
this.localStateDirectoryPath = resolve(localStateDirectoryPath);
|
|
10
9
|
}
|
|
@@ -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,IAAI,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAGjC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC1C,MAAM,cAAc,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;AAE5C,MAAM,OAAO,kBAAkB;
|
|
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,IAAI,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAGjC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC1C,MAAM,cAAc,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;AAE5C,MAAM,OAAO,kBAAkB;IAG7B,YAAY,uBAA+B;QACzC,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,aAAqB;QAClC,IAAI,CAAC;YACH,OAAO,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC,CAAC;QAChF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACrC,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,aAAqB,EAAE,IAAY;QACjD,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;IAChF,CAAC;CACF"}
|
|
@@ -6,7 +6,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { Factory } from '../../decorators/factory.decorator.js';
|
|
8
8
|
export class StateManagementService {
|
|
9
|
-
stateProvider;
|
|
10
9
|
constructor(stateProvider) {
|
|
11
10
|
this.stateProvider = stateProvider;
|
|
12
11
|
}
|
|
@@ -79,7 +78,6 @@ export class StateManagementService {
|
|
|
79
78
|
}
|
|
80
79
|
}
|
|
81
80
|
let StateManagementServiceFactory = class StateManagementServiceFactory {
|
|
82
|
-
static instance;
|
|
83
81
|
static async create(stateProvider) {
|
|
84
82
|
if (this.instance) {
|
|
85
83
|
return this.instance;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-management.service.js","sourceRoot":"","sources":["../../../src/services/state-management/state-management.service.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAGhE,MAAM,OAAO,sBAAsB;
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.state-provider.js","sourceRoot":"","sources":["../../../src/services/state-management/test.state-provider.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,iBAAiB;
|
|
1
|
+
{"version":3,"file":"test.state-provider.js","sourceRoot":"","sources":["../../../src/services/state-management/test.state-provider.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,iBAAiB;IAA9B;QACmB,eAAU,GAA8B,EAAE,CAAC;IAY9D,CAAC;IAVC,KAAK,CAAC,QAAQ,CAAC,aAAqB;QAClC,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,aAAqB,EAAE,IAAY;QACjD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IACxC,CAAC;CACF"}
|
|
@@ -20,6 +20,10 @@ export declare class TransactionService {
|
|
|
20
20
|
private applyResources;
|
|
21
21
|
private getDuplicateDiffs;
|
|
22
22
|
private getMatchingDiffs;
|
|
23
|
+
/**
|
|
24
|
+
* Before assigning order to a diff, all its model's parent diffs must be processed.
|
|
25
|
+
* E.g. diff to add environment, depends on region to exist, thus add region diff gets processed first.
|
|
26
|
+
*/
|
|
23
27
|
private setApplyOrder;
|
|
24
28
|
beginTransaction(diffs: Diff[], options?: TransactionOptions): AsyncGenerator<DiffMetadata[][], DiffMetadata[][]>;
|
|
25
29
|
registerModelActions(actions: IModelAction[]): void;
|