@quadnix/octo 0.0.1 → 0.0.2
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/.eslintrc.cjs +26 -0
- package/dist/app.type.d.ts +70 -0
- package/dist/app.type.js +8 -0
- package/dist/app.type.js.map +1 -0
- package/dist/decorators/action.decorator.d.ts +2 -0
- package/dist/decorators/action.decorator.js +25 -0
- package/dist/decorators/action.decorator.js.map +1 -0
- package/dist/decorators/anchor.decorator.d.ts +1 -0
- package/dist/decorators/anchor.decorator.js +10 -0
- package/dist/decorators/anchor.decorator.js.map +1 -0
- package/dist/decorators/container.d.ts +23 -0
- package/dist/decorators/container.js +93 -0
- package/dist/decorators/container.js.map +1 -0
- package/dist/decorators/factory.decorator.d.ts +8 -0
- package/dist/decorators/factory.decorator.js +7 -0
- package/dist/decorators/factory.decorator.js.map +1 -0
- package/dist/decorators/model.decorator.d.ts +1 -0
- package/dist/decorators/model.decorator.js +10 -0
- package/dist/decorators/model.decorator.js.map +1 -0
- package/dist/decorators/module.decorator.d.ts +1 -0
- package/dist/decorators/module.decorator.js +12 -0
- package/dist/decorators/module.decorator.js.map +1 -0
- package/dist/decorators/overlay.decorator.d.ts +1 -0
- package/dist/decorators/overlay.decorator.js +10 -0
- package/dist/decorators/overlay.decorator.js.map +1 -0
- package/dist/decorators/resource.decorator.d.ts +1 -0
- package/dist/decorators/resource.decorator.js +10 -0
- package/dist/decorators/resource.decorator.js.map +1 -0
- package/dist/decorators/test-container.d.ts +16 -0
- package/dist/decorators/test-container.js +37 -0
- package/dist/decorators/test-container.js.map +1 -0
- package/dist/functions/dependency/dependency.model.d.ts +53 -0
- package/dist/functions/dependency/dependency.model.js +125 -0
- package/dist/functions/dependency/dependency.model.js.map +1 -0
- package/dist/functions/diff/diff-metadata.model.d.ts +20 -0
- package/dist/functions/diff/diff-metadata.model.js +39 -0
- package/dist/functions/diff/diff-metadata.model.js.map +1 -0
- package/dist/functions/diff/diff.model.d.ts +15 -0
- package/dist/functions/diff/diff.model.js +27 -0
- package/dist/functions/diff/diff.model.js.map +1 -0
- package/dist/functions/diff/diff.utility.d.ts +10 -0
- package/dist/functions/diff/diff.utility.js +99 -0
- package/dist/functions/diff/diff.utility.js.map +1 -0
- package/dist/functions/module/module.abstract.d.ts +12 -0
- package/dist/functions/module/module.abstract.js +39 -0
- package/dist/functions/module/module.abstract.js.map +1 -0
- package/dist/functions/module/module.interface.d.ts +4 -0
- package/dist/functions/module/module.interface.js +2 -0
- package/dist/functions/module/module.interface.js.map +1 -0
- package/dist/index.d.ts +53 -0
- package/dist/index.js +36 -0
- package/dist/index.js.map +1 -0
- package/dist/models/action.interface.d.ts +9 -0
- package/dist/models/action.interface.js +2 -0
- package/dist/models/action.interface.js.map +1 -0
- package/dist/models/app/app.interface.d.ts +4 -0
- package/dist/models/app/app.interface.js +2 -0
- package/dist/models/app/app.interface.js.map +1 -0
- package/dist/models/app/app.model.d.ts +23 -0
- package/dist/models/app/app.model.js +97 -0
- package/dist/models/app/app.model.js.map +1 -0
- package/dist/models/deployment/deployment.interface.d.ts +4 -0
- package/dist/models/deployment/deployment.interface.js +2 -0
- package/dist/models/deployment/deployment.interface.js.map +1 -0
- package/dist/models/deployment/deployment.model.d.ts +11 -0
- package/dist/models/deployment/deployment.model.js +39 -0
- package/dist/models/deployment/deployment.model.js.map +1 -0
- package/dist/models/environment/environment.interface.d.ts +7 -0
- package/dist/models/environment/environment.interface.js +2 -0
- package/dist/models/environment/environment.interface.js.map +1 -0
- package/dist/models/environment/environment.model.d.ts +14 -0
- package/dist/models/environment/environment.model.js +49 -0
- package/dist/models/environment/environment.model.js.map +1 -0
- package/dist/models/execution/execution.interface.d.ts +9 -0
- package/dist/models/execution/execution.interface.js +2 -0
- package/dist/models/execution/execution.interface.js.map +1 -0
- package/dist/models/execution/execution.model.d.ts +18 -0
- package/dist/models/execution/execution.model.js +70 -0
- package/dist/models/execution/execution.model.js.map +1 -0
- package/dist/models/image/image.interface.d.ts +7 -0
- package/dist/models/image/image.interface.js +2 -0
- package/dist/models/image/image.interface.js.map +1 -0
- package/dist/models/image/image.model.d.ts +21 -0
- package/dist/models/image/image.model.js +56 -0
- package/dist/models/image/image.model.js.map +1 -0
- package/dist/models/model.abstract.d.ts +34 -0
- package/dist/models/model.abstract.js +245 -0
- package/dist/models/model.abstract.js.map +1 -0
- package/dist/models/model.interface.d.ts +12 -0
- package/dist/models/model.interface.js +2 -0
- package/dist/models/model.interface.js.map +1 -0
- package/dist/models/pipeline/pipeline.interface.d.ts +5 -0
- package/dist/models/pipeline/pipeline.interface.js +2 -0
- package/dist/models/pipeline/pipeline.interface.js.map +1 -0
- package/dist/models/pipeline/pipeline.model.d.ts +14 -0
- package/dist/models/pipeline/pipeline.model.js +47 -0
- package/dist/models/pipeline/pipeline.model.js.map +1 -0
- package/dist/models/region/region.interface.d.ts +4 -0
- package/dist/models/region/region.interface.js +2 -0
- package/dist/models/region/region.interface.js.map +1 -0
- package/dist/models/region/region.model.d.ts +13 -0
- package/dist/models/region/region.model.js +49 -0
- package/dist/models/region/region.model.js.map +1 -0
- package/dist/models/server/server.interface.d.ts +6 -0
- package/dist/models/server/server.interface.js +2 -0
- package/dist/models/server/server.interface.js.map +1 -0
- package/dist/models/server/server.model.d.ts +15 -0
- package/dist/models/server/server.model.js +55 -0
- package/dist/models/server/server.model.js.map +1 -0
- package/dist/models/service/service.interface.d.ts +4 -0
- package/dist/models/service/service.interface.js +2 -0
- package/dist/models/service/service.interface.js.map +1 -0
- package/dist/models/service/service.model.d.ts +9 -0
- package/dist/models/service/service.model.js +33 -0
- package/dist/models/service/service.model.js.map +1 -0
- package/dist/models/support/support.interface.d.ts +5 -0
- package/dist/models/support/support.interface.js +2 -0
- package/dist/models/support/support.interface.js.map +1 -0
- package/dist/models/support/support.model.d.ts +14 -0
- package/dist/models/support/support.model.js +52 -0
- package/dist/models/support/support.model.js.map +1 -0
- package/dist/overlays/anchor.abstract.d.ts +11 -0
- package/dist/overlays/anchor.abstract.js +35 -0
- package/dist/overlays/anchor.abstract.js.map +1 -0
- package/dist/overlays/anchor.interface.d.ts +6 -0
- package/dist/overlays/anchor.interface.js +2 -0
- package/dist/overlays/anchor.interface.js.map +1 -0
- package/dist/overlays/overlay-data.repository.d.ts +20 -0
- package/dist/overlays/overlay-data.repository.js +69 -0
- package/dist/overlays/overlay-data.repository.js.map +1 -0
- package/dist/overlays/overlay.abstract.d.ts +16 -0
- package/dist/overlays/overlay.abstract.js +43 -0
- package/dist/overlays/overlay.abstract.js.map +1 -0
- package/dist/overlays/overlay.interface.d.ts +8 -0
- package/dist/overlays/overlay.interface.js +2 -0
- package/dist/overlays/overlay.interface.js.map +1 -0
- package/dist/overlays/overlay.service.d.ts +14 -0
- package/dist/overlays/overlay.service.js +41 -0
- package/dist/overlays/overlay.service.js.map +1 -0
- package/dist/resources/resource-action.interface.d.ts +6 -0
- package/dist/resources/resource-action.interface.js +2 -0
- package/dist/resources/resource-action.interface.js.map +1 -0
- package/dist/resources/resource-data.repository.d.ts +20 -0
- package/dist/resources/resource-data.repository.js +80 -0
- package/dist/resources/resource-data.repository.js.map +1 -0
- package/dist/resources/resource.abstract.d.ts +22 -0
- package/dist/resources/resource.abstract.js +71 -0
- package/dist/resources/resource.abstract.js.map +1 -0
- package/dist/resources/resource.interface.d.ts +9 -0
- package/dist/resources/resource.interface.js +2 -0
- package/dist/resources/resource.interface.js.map +1 -0
- package/dist/resources/shared-resource.abstract.d.ts +13 -0
- package/dist/resources/shared-resource.abstract.js +44 -0
- package/dist/resources/shared-resource.abstract.js.map +1 -0
- package/dist/services/serialization/model/model-serialization.service.d.ts +15 -0
- package/dist/services/serialization/model/model-serialization.service.js +138 -0
- package/dist/services/serialization/model/model-serialization.service.js.map +1 -0
- package/dist/services/serialization/resource/resource-serialization.service.d.ts +14 -0
- package/dist/services/serialization/resource/resource-serialization.service.js +132 -0
- package/dist/services/serialization/resource/resource-serialization.service.js.map +1 -0
- package/dist/services/state-management/local.state-provider.d.ts +8 -0
- package/dist/services/state-management/local.state-provider.js +18 -0
- package/dist/services/state-management/local.state-provider.js.map +1 -0
- package/dist/services/state-management/state-management.service.d.ts +12 -0
- package/dist/services/state-management/state-management.service.js +47 -0
- package/dist/services/state-management/state-management.service.js.map +1 -0
- package/dist/services/state-management/state-provider.interface.d.ts +5 -0
- package/dist/services/state-management/state-provider.interface.js +2 -0
- package/dist/services/state-management/state-provider.interface.js.map +1 -0
- package/dist/services/transaction/transaction.service.d.ts +26 -0
- package/dist/services/transaction/transaction.service.js +254 -0
- package/dist/services/transaction/transaction.service.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/package.json +52 -16
- package/src/app.type.ts +56 -0
- package/src/decorators/action.decorator.spec.ts +43 -0
- package/src/decorators/action.decorator.ts +24 -0
- package/src/decorators/anchor.decorator.ts +10 -0
- package/src/decorators/container.spec.ts +104 -0
- package/src/decorators/container.ts +133 -0
- package/src/decorators/factory.decorator.ts +13 -0
- package/src/decorators/model.decorator.ts +10 -0
- package/src/decorators/module.decorator.ts +13 -0
- package/src/decorators/overlay.decorator.ts +10 -0
- package/src/decorators/resource.decorator.ts +10 -0
- package/src/decorators/test-container.spec.ts +50 -0
- package/src/decorators/test-container.ts +56 -0
- package/src/functions/dependency/dependency.model.spec.ts +43 -0
- package/src/functions/dependency/dependency.model.ts +178 -0
- package/src/functions/diff/diff-metadata.model.ts +51 -0
- package/src/functions/diff/diff.model.ts +33 -0
- package/src/functions/diff/diff.utility.ts +163 -0
- package/src/functions/module/module.abstract.ts +59 -0
- package/src/functions/module/module.interface.ts +5 -0
- package/src/index.ts +62 -0
- package/src/models/action.interface.ts +35 -0
- package/src/models/app/app.interface.ts +5 -0
- package/src/models/app/app.model.ts +111 -0
- package/src/models/deployment/deployment.interface.ts +5 -0
- package/src/models/deployment/deployment.model.ts +35 -0
- package/src/models/environment/environment.interface.ts +6 -0
- package/src/models/environment/environment.model.spec.ts +125 -0
- package/src/models/environment/environment.model.ts +55 -0
- package/src/models/execution/execution.interface.ts +8 -0
- package/src/models/execution/execution.model.spec.ts +62 -0
- package/src/models/execution/execution.model.ts +89 -0
- package/src/models/image/image.interface.ts +8 -0
- package/src/models/image/image.model.ts +62 -0
- package/src/models/model.abstract.ts +324 -0
- package/src/models/model.interface.ts +42 -0
- package/src/models/pipeline/pipeline.interface.ts +6 -0
- package/src/models/pipeline/pipeline.model.ts +47 -0
- package/src/models/region/region.interface.ts +5 -0
- package/src/models/region/region.model.spec.ts +162 -0
- package/src/models/region/region.model.ts +48 -0
- package/src/models/server/server.interface.ts +7 -0
- package/src/models/server/server.model.ts +56 -0
- package/src/models/service/service.interface.ts +5 -0
- package/src/models/service/service.model.ts +25 -0
- package/src/models/support/support.interface.ts +6 -0
- package/src/models/support/support.model.spec.ts +78 -0
- package/src/models/support/support.model.ts +52 -0
- package/src/overlays/anchor.abstract.ts +41 -0
- package/src/overlays/anchor.interface.ts +7 -0
- package/src/overlays/anchor.spec.ts +41 -0
- package/src/overlays/overlay-data.repository.ts +76 -0
- package/src/overlays/overlay.abstract.ts +64 -0
- package/src/overlays/overlay.interface.ts +9 -0
- package/src/overlays/overlay.service.ts +38 -0
- package/src/overlays/overlay.spec.ts +86 -0
- package/src/resources/resource-action.interface.ts +9 -0
- package/src/resources/resource-data.repository.spec.ts +133 -0
- package/src/resources/resource-data.repository.ts +92 -0
- package/src/resources/resource.abstract.ts +108 -0
- package/src/resources/resource.interface.ts +7 -0
- package/src/resources/resource.spec.ts +60 -0
- package/src/resources/shared-resource.abstract.ts +53 -0
- package/src/resources/shared-resource.spec.ts +133 -0
- package/src/services/serialization/model/__snapshots__/model-serialization.service.spec.ts.snap +656 -0
- package/src/services/serialization/model/model-serialization.service.spec.ts +195 -0
- package/src/services/serialization/model/model-serialization.service.ts +172 -0
- package/src/services/serialization/resource/__snapshots__/resource-serialization.service.spec.ts.snap +284 -0
- package/src/services/serialization/resource/resource-serialization.service.spec.ts +311 -0
- package/src/services/serialization/resource/resource-serialization.service.ts +166 -0
- package/src/services/state-management/local.state-provider.spec.ts +42 -0
- package/src/services/state-management/local.state-provider.ts +23 -0
- package/src/services/state-management/state-management.service.ts +43 -0
- package/src/services/state-management/state-provider.interface.ts +5 -0
- package/src/services/transaction/__snapshots__/transaction.service.spec.ts.snap +284 -0
- package/src/services/transaction/transaction.service.spec.ts +823 -0
- package/src/services/transaction/transaction.service.ts +386 -0
- package/test/app.e2e-spec.ts +104 -0
- package/test/helpers/test-classes.ts +31 -0
- package/test/models/__snapshots__/model.e2e-spec.ts.snap +451 -0
- package/test/models/model.e2e-spec.ts +366 -0
- package/tsconfig.build.json +4 -0
- package/tsconfig.json +9 -0
- package/index.js +0 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline.interface.js","sourceRoot":"","sources":["../../../src/models/pipeline/pipeline.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { UnknownModel } from '../../app.type.js';
|
|
2
|
+
import { AModel } from '../model.abstract.js';
|
|
3
|
+
import { Diff } from '../../functions/diff/diff.model.js';
|
|
4
|
+
import { IPipeline } from './pipeline.interface.js';
|
|
5
|
+
export declare class Pipeline extends AModel<IPipeline, Pipeline> {
|
|
6
|
+
readonly MODEL_NAME: string;
|
|
7
|
+
readonly instructionSet: string[];
|
|
8
|
+
readonly pipelineName: string;
|
|
9
|
+
constructor(pipelineName: string);
|
|
10
|
+
diff(previous?: Pipeline): Promise<Diff[]>;
|
|
11
|
+
getContext(): string;
|
|
12
|
+
synth(): IPipeline;
|
|
13
|
+
static unSynth(pipeline: IPipeline, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<Pipeline>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var Pipeline_1;
|
|
11
|
+
import { Model } from '../../decorators/model.decorator.js';
|
|
12
|
+
import { DiffUtility } from '../../functions/diff/diff.utility.js';
|
|
13
|
+
import { AModel } from '../model.abstract.js';
|
|
14
|
+
let Pipeline = Pipeline_1 = class Pipeline extends AModel {
|
|
15
|
+
MODEL_NAME = 'pipeline';
|
|
16
|
+
instructionSet = [];
|
|
17
|
+
pipelineName;
|
|
18
|
+
constructor(pipelineName) {
|
|
19
|
+
super();
|
|
20
|
+
this.pipelineName = pipelineName;
|
|
21
|
+
}
|
|
22
|
+
async diff(previous) {
|
|
23
|
+
return DiffUtility.diffArray(previous || { instructionSet: [] }, this, 'instructionSet');
|
|
24
|
+
}
|
|
25
|
+
getContext() {
|
|
26
|
+
const parents = this.getParents();
|
|
27
|
+
const app = parents['app'][0].to;
|
|
28
|
+
return [`${this.MODEL_NAME}=${this.pipelineName}`, app.getContext()].join(',');
|
|
29
|
+
}
|
|
30
|
+
synth() {
|
|
31
|
+
return {
|
|
32
|
+
instructionSet: [...this.instructionSet],
|
|
33
|
+
pipelineName: this.pipelineName,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
static async unSynth(pipeline, deReferenceContext) {
|
|
37
|
+
const newPipeline = new Pipeline_1(pipeline.pipelineName);
|
|
38
|
+
newPipeline.instructionSet.push(...pipeline.instructionSet);
|
|
39
|
+
return newPipeline;
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
Pipeline = Pipeline_1 = __decorate([
|
|
43
|
+
Model(),
|
|
44
|
+
__metadata("design:paramtypes", [String])
|
|
45
|
+
], Pipeline);
|
|
46
|
+
export { Pipeline };
|
|
47
|
+
//# sourceMappingURL=pipeline.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline.model.js","sourceRoot":"","sources":["../../../src/models/pipeline/pipeline.model.ts"],"names":[],"mappings":";;;;;;;;;;AACA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAI9C,IACa,QAAQ,gBADrB,MACa,QAAS,SAAQ,MAA2B;IAC9C,UAAU,GAAW,UAAU,CAAC;IAEhC,cAAc,GAAa,EAAE,CAAC;IAE9B,YAAY,CAAS;IAE9B,YAAY,YAAoB;QAC9B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAEQ,KAAK,CAAC,IAAI,CAAC,QAAmB;QAErC,OAAO,WAAW,CAAC,SAAS,CAAC,QAAQ,IAAK,EAAE,cAAc,EAAE,EAAE,EAA0B,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACpH,CAAC;IAED,UAAU;QACR,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjF,CAAC;IAED,KAAK;QACH,OAAO;YACL,cAAc,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;YACxC,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;IACJ,CAAC;IAED,MAAM,CAAU,KAAK,CAAC,OAAO,CAC3B,QAAmB,EACnB,kBAA8D;QAE9D,MAAM,WAAW,GAAG,IAAI,UAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACxD,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC5D,OAAO,WAAW,CAAC;IACrB,CAAC;CACF,CAAA;AAtCY,QAAQ;IADpB,KAAK,EAAE;;GACK,QAAQ,CAsCpB;SAtCY,QAAQ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"region.interface.js","sourceRoot":"","sources":["../../../src/models/region/region.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { UnknownModel } from '../../app.type.js';
|
|
2
|
+
import { Environment } from '../environment/environment.model.js';
|
|
3
|
+
import { AModel } from '../model.abstract.js';
|
|
4
|
+
import { IRegion } from './region.interface.js';
|
|
5
|
+
export declare class Region extends AModel<IRegion, Region> {
|
|
6
|
+
readonly MODEL_NAME: string;
|
|
7
|
+
readonly regionId: string;
|
|
8
|
+
constructor(regionId: string);
|
|
9
|
+
addEnvironment(environment: Environment): void;
|
|
10
|
+
getContext(): string;
|
|
11
|
+
synth(): IRegion;
|
|
12
|
+
static unSynth(region: IRegion, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<Region>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var Region_1;
|
|
11
|
+
import { Model } from '../../decorators/model.decorator.js';
|
|
12
|
+
import { AModel } from '../model.abstract.js';
|
|
13
|
+
let Region = Region_1 = class Region extends AModel {
|
|
14
|
+
MODEL_NAME = 'region';
|
|
15
|
+
regionId;
|
|
16
|
+
constructor(regionId) {
|
|
17
|
+
super();
|
|
18
|
+
this.regionId = regionId;
|
|
19
|
+
}
|
|
20
|
+
addEnvironment(environment) {
|
|
21
|
+
const childrenDependencies = this.getChildren('environment');
|
|
22
|
+
if (!childrenDependencies['environment'])
|
|
23
|
+
childrenDependencies['environment'] = [];
|
|
24
|
+
const environments = childrenDependencies['environment'].map((d) => d.to);
|
|
25
|
+
if (environments.find((e) => e.environmentName === environment.environmentName)) {
|
|
26
|
+
throw new Error('Environment already exists!');
|
|
27
|
+
}
|
|
28
|
+
this.addChild('regionId', environment, 'environmentName');
|
|
29
|
+
}
|
|
30
|
+
getContext() {
|
|
31
|
+
const parents = this.getParents();
|
|
32
|
+
const app = parents['app'][0].to;
|
|
33
|
+
return [`${this.MODEL_NAME}=${this.regionId}`, app.getContext()].join(',');
|
|
34
|
+
}
|
|
35
|
+
synth() {
|
|
36
|
+
return {
|
|
37
|
+
regionId: this.regionId,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
static async unSynth(region, deReferenceContext) {
|
|
41
|
+
return new Region_1(region.regionId);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
Region = Region_1 = __decorate([
|
|
45
|
+
Model(),
|
|
46
|
+
__metadata("design:paramtypes", [String])
|
|
47
|
+
], Region);
|
|
48
|
+
export { Region };
|
|
49
|
+
//# sourceMappingURL=region.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"region.model.js","sourceRoot":"","sources":["../../../src/models/region/region.model.ts"],"names":[],"mappings":";;;;;;;;;;AACA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,IACa,MAAM,cADnB,MACa,MAAO,SAAQ,MAAuB;IACxC,UAAU,GAAW,QAAQ,CAAC;IAE9B,QAAQ,CAAS;IAE1B,YAAY,QAAgB;QAC1B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,cAAc,CAAC,WAAwB;QACrC,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC7D,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC;YAAE,oBAAoB,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;QAGnF,MAAM,YAAY,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1E,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,WAAW,CAAC,eAAe,CAAC,EAAE;YAC5F,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;SAChD;QACD,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;IAC5D,CAAC;IAED,UAAU;QACR,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK;QACH,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;IACJ,CAAC;IAED,MAAM,CAAU,KAAK,CAAC,OAAO,CAC3B,MAAe,EACf,kBAA8D;QAE9D,OAAO,IAAI,QAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;CACF,CAAA;AAxCY,MAAM;IADlB,KAAK,EAAE;;GACK,MAAM,CAwClB;SAxCY,MAAM"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.interface.js","sourceRoot":"","sources":["../../../src/models/server/server.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { UnknownModel } from '../../app.type.js';
|
|
2
|
+
import { Deployment } from '../deployment/deployment.model.js';
|
|
3
|
+
import { Image } from '../image/image.model.js';
|
|
4
|
+
import { AModel } from '../model.abstract.js';
|
|
5
|
+
import { IServer } from './server.interface.js';
|
|
6
|
+
export declare class Server extends AModel<IServer, Server> {
|
|
7
|
+
readonly MODEL_NAME: string;
|
|
8
|
+
readonly image: Image;
|
|
9
|
+
readonly serverKey: string;
|
|
10
|
+
constructor(serverKey: string, image: Image);
|
|
11
|
+
addDeployment(deployment: Deployment): void;
|
|
12
|
+
getContext(): string;
|
|
13
|
+
synth(): IServer;
|
|
14
|
+
static unSynth(server: IServer, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<Server>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var Server_1;
|
|
11
|
+
import { Model } from '../../decorators/model.decorator.js';
|
|
12
|
+
import { Image } from '../image/image.model.js';
|
|
13
|
+
import { AModel } from '../model.abstract.js';
|
|
14
|
+
let Server = Server_1 = class Server extends AModel {
|
|
15
|
+
MODEL_NAME = 'server';
|
|
16
|
+
image;
|
|
17
|
+
serverKey;
|
|
18
|
+
constructor(serverKey, image) {
|
|
19
|
+
super();
|
|
20
|
+
this.serverKey = serverKey;
|
|
21
|
+
this.image = image;
|
|
22
|
+
this.addRelationship('serverKey', image, 'imageId');
|
|
23
|
+
}
|
|
24
|
+
addDeployment(deployment) {
|
|
25
|
+
const childrenDependencies = this.getChildren('deployment');
|
|
26
|
+
if (!childrenDependencies['deployment'])
|
|
27
|
+
childrenDependencies['deployment'] = [];
|
|
28
|
+
const deployments = childrenDependencies['deployment'].map((d) => d.to);
|
|
29
|
+
if (deployments.find((d) => d.deploymentTag === deployment.deploymentTag)) {
|
|
30
|
+
throw new Error('Deployment already exists!');
|
|
31
|
+
}
|
|
32
|
+
this.addChild('serverKey', deployment, 'deploymentTag');
|
|
33
|
+
}
|
|
34
|
+
getContext() {
|
|
35
|
+
const parents = this.getParents();
|
|
36
|
+
const app = parents['app'][0].to;
|
|
37
|
+
return [`${this.MODEL_NAME}=${this.serverKey}`, app.getContext()].join(',');
|
|
38
|
+
}
|
|
39
|
+
synth() {
|
|
40
|
+
return {
|
|
41
|
+
image: { context: this.image.getContext() },
|
|
42
|
+
serverKey: this.serverKey,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
static async unSynth(server, deReferenceContext) {
|
|
46
|
+
const image = (await deReferenceContext(server.image.context));
|
|
47
|
+
return new Server_1(server.serverKey, image);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
Server = Server_1 = __decorate([
|
|
51
|
+
Model(),
|
|
52
|
+
__metadata("design:paramtypes", [String, Image])
|
|
53
|
+
], Server);
|
|
54
|
+
export { Server };
|
|
55
|
+
//# sourceMappingURL=server.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.model.js","sourceRoot":"","sources":["../../../src/models/server/server.model.ts"],"names":[],"mappings":";;;;;;;;;;AACA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAE5D,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,IACa,MAAM,cADnB,MACa,MAAO,SAAQ,MAAuB;IACxC,UAAU,GAAW,QAAQ,CAAC;IAE9B,KAAK,CAAQ;IAEb,SAAS,CAAS;IAE3B,YAAY,SAAiB,EAAE,KAAY;QACzC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACtD,CAAC;IAED,aAAa,CAAC,UAAsB;QAClC,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAC5D,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC;YAAE,oBAAoB,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;QAGjF,MAAM,WAAW,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxE,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAa,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,UAAU,CAAC,aAAa,CAAC,EAAE;YACrF,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;SAC/C;QACD,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;IAC1D,CAAC;IAED,UAAU;QACR,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK;QACH,OAAO;YACL,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE;YAC3C,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;IAED,MAAM,CAAU,KAAK,CAAC,OAAO,CAC3B,MAAe,EACf,kBAA8D;QAE9D,MAAM,KAAK,GAAG,CAAC,MAAM,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAU,CAAC;QACxE,OAAO,IAAI,QAAM,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;CACF,CAAA;AA/CY,MAAM;IADlB,KAAK,EAAE;6CAQgC,KAAK;GAPhC,MAAM,CA+ClB;SA/CY,MAAM"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.interface.js","sourceRoot":"","sources":["../../../src/models/service/service.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AModel } from '../model.abstract.js';
|
|
2
|
+
import { IService } from './service.interface.js';
|
|
3
|
+
export declare class Service extends AModel<IService, Service> {
|
|
4
|
+
readonly MODEL_NAME: string;
|
|
5
|
+
readonly serviceId: string;
|
|
6
|
+
constructor(serviceId: string);
|
|
7
|
+
getContext(): string;
|
|
8
|
+
synth(): IService;
|
|
9
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { Model } from '../../decorators/model.decorator.js';
|
|
11
|
+
import { AModel } from '../model.abstract.js';
|
|
12
|
+
let Service = class Service extends AModel {
|
|
13
|
+
MODEL_NAME = 'service';
|
|
14
|
+
serviceId;
|
|
15
|
+
constructor(serviceId) {
|
|
16
|
+
super();
|
|
17
|
+
this.serviceId = serviceId;
|
|
18
|
+
}
|
|
19
|
+
getContext() {
|
|
20
|
+
const parents = this.getParents();
|
|
21
|
+
const app = parents['app'][0].to;
|
|
22
|
+
return [`${this.MODEL_NAME}=${this.serviceId}`, app.getContext()].join(',');
|
|
23
|
+
}
|
|
24
|
+
synth() {
|
|
25
|
+
throw new Error('Method not implemented! Use subclass');
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
Service = __decorate([
|
|
29
|
+
Model(),
|
|
30
|
+
__metadata("design:paramtypes", [String])
|
|
31
|
+
], Service);
|
|
32
|
+
export { Service };
|
|
33
|
+
//# sourceMappingURL=service.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.model.js","sourceRoot":"","sources":["../../../src/models/service/service.model.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,IACa,OAAO,GADpB,MACa,OAAQ,SAAQ,MAAyB;IAC3C,UAAU,GAAW,SAAS,CAAC;IAE/B,SAAS,CAAS;IAE3B,YAAY,SAAiB;QAC3B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,UAAU;QACR,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK;QACH,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;CACF,CAAA;AAnBY,OAAO;IADnB,KAAK,EAAE;;GACK,OAAO,CAmBnB;SAnBY,OAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"support.interface.js","sourceRoot":"","sources":["../../../src/models/support/support.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SupportApplicationType, UnknownModel } from '../../app.type.js';
|
|
2
|
+
import { Deployment } from '../deployment/deployment.model.js';
|
|
3
|
+
import { AModel } from '../model.abstract.js';
|
|
4
|
+
import { ISupport } from './support.interface.js';
|
|
5
|
+
export declare class Support extends AModel<ISupport, Support> {
|
|
6
|
+
readonly MODEL_NAME: string;
|
|
7
|
+
readonly applicationType: SupportApplicationType;
|
|
8
|
+
readonly serverKey: string;
|
|
9
|
+
constructor(serverKey: string, applicationType: SupportApplicationType);
|
|
10
|
+
addDeployment(deployment: Deployment): void;
|
|
11
|
+
getContext(): string;
|
|
12
|
+
synth(): ISupport;
|
|
13
|
+
static unSynth(support: ISupport, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<Support>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var Support_1;
|
|
11
|
+
import { Model } from '../../decorators/model.decorator.js';
|
|
12
|
+
import { AModel } from '../model.abstract.js';
|
|
13
|
+
let Support = Support_1 = class Support extends AModel {
|
|
14
|
+
MODEL_NAME = 'support';
|
|
15
|
+
applicationType;
|
|
16
|
+
serverKey;
|
|
17
|
+
constructor(serverKey, applicationType) {
|
|
18
|
+
super();
|
|
19
|
+
this.serverKey = serverKey;
|
|
20
|
+
this.applicationType = applicationType;
|
|
21
|
+
}
|
|
22
|
+
addDeployment(deployment) {
|
|
23
|
+
const childrenDependencies = this.getChildren('deployment');
|
|
24
|
+
if (!childrenDependencies['deployment'])
|
|
25
|
+
childrenDependencies['deployment'] = [];
|
|
26
|
+
const deployments = childrenDependencies['deployment'].map((d) => d.to);
|
|
27
|
+
if (deployments.find((d) => d.deploymentTag === deployment.deploymentTag)) {
|
|
28
|
+
throw new Error('Deployment already exists!');
|
|
29
|
+
}
|
|
30
|
+
this.addChild('serverKey', deployment, 'deploymentTag');
|
|
31
|
+
}
|
|
32
|
+
getContext() {
|
|
33
|
+
const parents = this.getParents();
|
|
34
|
+
const app = parents['app'][0].to;
|
|
35
|
+
return [`${this.MODEL_NAME}=${this.serverKey}`, app.getContext()].join(',');
|
|
36
|
+
}
|
|
37
|
+
synth() {
|
|
38
|
+
return {
|
|
39
|
+
applicationType: this.applicationType,
|
|
40
|
+
serverKey: this.serverKey,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
static async unSynth(support, deReferenceContext) {
|
|
44
|
+
return new Support_1(support.serverKey, support.applicationType);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
Support = Support_1 = __decorate([
|
|
48
|
+
Model(),
|
|
49
|
+
__metadata("design:paramtypes", [String, String])
|
|
50
|
+
], Support);
|
|
51
|
+
export { Support };
|
|
52
|
+
//# sourceMappingURL=support.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"support.model.js","sourceRoot":"","sources":["../../../src/models/support/support.model.ts"],"names":[],"mappings":";;;;;;;;;;AACA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,IACa,OAAO,eADpB,MACa,OAAQ,SAAQ,MAAyB;IAC3C,UAAU,GAAW,SAAS,CAAC;IAE/B,eAAe,CAAyB;IAExC,SAAS,CAAS;IAE3B,YAAY,SAAiB,EAAE,eAAuC;QACpE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED,aAAa,CAAC,UAAsB;QAClC,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAC5D,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC;YAAE,oBAAoB,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;QAGjF,MAAM,WAAW,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxE,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAa,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,UAAU,CAAC,aAAa,CAAC,EAAE;YACrF,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;SAC/C;QACD,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;IAC1D,CAAC;IAED,UAAU;QACR,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK;QACH,OAAO;YACL,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;IAED,MAAM,CAAU,KAAK,CAAC,OAAO,CAC3B,OAAiB,EACjB,kBAA8D;QAE9D,OAAO,IAAI,SAAO,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACjE,CAAC;CACF,CAAA;AA5CY,OAAO;IADnB,KAAK,EAAE;;GACK,OAAO,CA4CnB;SA5CY,OAAO"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { UnknownModel } from '../app.type.js';
|
|
2
|
+
import { IAnchor } from './anchor.interface.js';
|
|
3
|
+
export declare abstract class AAnchor {
|
|
4
|
+
readonly anchorId: string;
|
|
5
|
+
private readonly parent;
|
|
6
|
+
protected constructor(anchorId: string, parent: UnknownModel);
|
|
7
|
+
getParent(): UnknownModel;
|
|
8
|
+
synth(): IAnchor;
|
|
9
|
+
toJSON(): object;
|
|
10
|
+
static unSynth(deserializationClass: any, anchor: IAnchor, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<AAnchor>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export class AAnchor {
|
|
2
|
+
anchorId;
|
|
3
|
+
parent;
|
|
4
|
+
constructor(anchorId, parent) {
|
|
5
|
+
this.anchorId = anchorId;
|
|
6
|
+
this.parent = parent;
|
|
7
|
+
if (parent.getAnchor(this.anchorId)) {
|
|
8
|
+
throw new Error('Anchor already exists!');
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
getParent() {
|
|
12
|
+
return this.parent;
|
|
13
|
+
}
|
|
14
|
+
synth() {
|
|
15
|
+
return {
|
|
16
|
+
anchorId: this.anchorId,
|
|
17
|
+
parent: { context: this.parent.getContext() },
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
toJSON() {
|
|
21
|
+
return {
|
|
22
|
+
anchorId: this.anchorId,
|
|
23
|
+
parent: this.parent.getContext(),
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
static async unSynth(deserializationClass, anchor, deReferenceContext) {
|
|
27
|
+
const parent = await deReferenceContext(anchor.parent.context);
|
|
28
|
+
const newAnchor = parent.getAnchor(anchor.anchorId);
|
|
29
|
+
if (!newAnchor) {
|
|
30
|
+
return new deserializationClass(anchor.anchorId, parent);
|
|
31
|
+
}
|
|
32
|
+
return newAnchor;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=anchor.abstract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anchor.abstract.js","sourceRoot":"","sources":["../../src/overlays/anchor.abstract.ts"],"names":[],"mappings":"AAGA,MAAM,OAAgB,OAAO;IACI;IAAmC;IAAlE,YAA+B,QAAgB,EAAmB,MAAoB;QAAvD,aAAQ,GAAR,QAAQ,CAAQ;QAAmB,WAAM,GAAN,MAAM,CAAc;QACpF,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;SAC3C;IACH,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK;QACH,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE;SAC9C,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;SACjC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAO,CAClB,oBAAyB,EACzB,MAAe,EACf,kBAA8D;QAE9D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,EAAE;YACd,OAAO,IAAI,oBAAoB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;SAC1D;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anchor.interface.js","sourceRoot":"","sources":["../../src/overlays/anchor.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { UnknownOverlay } from '../app.type.js';
|
|
2
|
+
import { Diff } from '../functions/diff/diff.model.js';
|
|
3
|
+
import { IOverlay } from './overlay.interface.js';
|
|
4
|
+
export declare class OverlayDataRepository {
|
|
5
|
+
private readonly oldOverlays;
|
|
6
|
+
private readonly newOverlays;
|
|
7
|
+
constructor(oldOverlays?: UnknownOverlay[], newOverlays?: UnknownOverlay[]);
|
|
8
|
+
add(overlay: UnknownOverlay): void;
|
|
9
|
+
diff(): Diff[];
|
|
10
|
+
getById(overlayId: IOverlay['overlayId']): UnknownOverlay | undefined;
|
|
11
|
+
getByProperties(filters?: {
|
|
12
|
+
key: string;
|
|
13
|
+
value: any;
|
|
14
|
+
}[]): UnknownOverlay[];
|
|
15
|
+
remove(overlay: UnknownOverlay): void;
|
|
16
|
+
}
|
|
17
|
+
export declare class OverlayDataRepositoryFactory {
|
|
18
|
+
private static instance;
|
|
19
|
+
static create(forceNew: boolean, newOverlays: UnknownOverlay[], oldOverlays: UnknownOverlay[]): Promise<OverlayDataRepository>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { ModelType } from '../app.type.js';
|
|
8
|
+
import { Factory } from '../decorators/factory.decorator.js';
|
|
9
|
+
import { Diff, DiffAction } from '../functions/diff/diff.model.js';
|
|
10
|
+
export class OverlayDataRepository {
|
|
11
|
+
oldOverlays;
|
|
12
|
+
newOverlays;
|
|
13
|
+
constructor(oldOverlays = [], newOverlays = []) {
|
|
14
|
+
this.oldOverlays = oldOverlays;
|
|
15
|
+
this.newOverlays = newOverlays;
|
|
16
|
+
Object.freeze(this.oldOverlays);
|
|
17
|
+
}
|
|
18
|
+
add(overlay) {
|
|
19
|
+
if (overlay.MODEL_TYPE !== ModelType.OVERLAY) {
|
|
20
|
+
throw new Error('Adding non-overlay model!');
|
|
21
|
+
}
|
|
22
|
+
if (!this.getById(overlay.overlayId)) {
|
|
23
|
+
this.newOverlays.push(overlay);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
diff() {
|
|
27
|
+
const diffs = [];
|
|
28
|
+
for (const overlay of this.oldOverlays) {
|
|
29
|
+
if (!this.newOverlays.find((o) => o.overlayId === overlay.overlayId)) {
|
|
30
|
+
diffs.push(new Diff(overlay, DiffAction.DELETE, 'overlayId', overlay.overlayId));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
for (const overlay of this.newOverlays) {
|
|
34
|
+
if (!this.oldOverlays.find((o) => o.overlayId === overlay.overlayId)) {
|
|
35
|
+
diffs.push(new Diff(overlay, DiffAction.ADD, 'overlayId', overlay.overlayId));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return diffs;
|
|
39
|
+
}
|
|
40
|
+
getById(overlayId) {
|
|
41
|
+
return this.newOverlays.find((o) => o.overlayId === overlayId);
|
|
42
|
+
}
|
|
43
|
+
getByProperties(filters = []) {
|
|
44
|
+
return this.newOverlays.filter((o) => filters.every((c) => o.properties[c.key] === c.value));
|
|
45
|
+
}
|
|
46
|
+
remove(overlay) {
|
|
47
|
+
if (overlay.MODEL_TYPE !== ModelType.OVERLAY) {
|
|
48
|
+
throw new Error('Adding non-overlay model!');
|
|
49
|
+
}
|
|
50
|
+
const overlayIndex = this.newOverlays.findIndex((o) => o.overlayId === overlay.overlayId);
|
|
51
|
+
if (overlayIndex > -1) {
|
|
52
|
+
this.newOverlays.splice(overlayIndex, 1);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
let OverlayDataRepositoryFactory = class OverlayDataRepositoryFactory {
|
|
57
|
+
static instance;
|
|
58
|
+
static async create(forceNew, newOverlays, oldOverlays) {
|
|
59
|
+
if (forceNew || !this.instance) {
|
|
60
|
+
this.instance = new OverlayDataRepository(newOverlays, oldOverlays);
|
|
61
|
+
}
|
|
62
|
+
return this.instance;
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
OverlayDataRepositoryFactory = __decorate([
|
|
66
|
+
Factory(OverlayDataRepository)
|
|
67
|
+
], OverlayDataRepositoryFactory);
|
|
68
|
+
export { OverlayDataRepositoryFactory };
|
|
69
|
+
//# sourceMappingURL=overlay-data.repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overlay-data.repository.js","sourceRoot":"","sources":["../../src/overlays/overlay-data.repository.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAkB,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAGnE,MAAM,OAAO,qBAAqB;IAEb;IACA;IAFnB,YACmB,cAAgC,EAAE,EAClC,cAAgC,EAAE;QADlC,gBAAW,GAAX,WAAW,CAAuB;QAClC,gBAAW,GAAX,WAAW,CAAuB;QAEnD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;IAED,GAAG,CAAC,OAAuB;QACzB,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,OAAO,EAAE;YAC5C,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;SAC9C;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YACpC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAChC;IACH,CAAC;IAED,IAAI;QACF,MAAM,KAAK,GAAW,EAAE,CAAC;QAEzB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE;YACtC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC,EAAE;gBACpE,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;aAClF;SACF;QAED,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE;YACtC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC,EAAE;gBACpE,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;aAC/E;SACF;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,CAAC,SAAgC;QACtC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;IACjE,CAAC;IAED,eAAe,CAAC,UAAyC,EAAE;QACzD,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/F,CAAC;IAED,MAAM,CAAC,OAAuB;QAC5B,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,OAAO,EAAE;YAC5C,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;SAC9C;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1F,IAAI,YAAY,GAAG,CAAC,CAAC,EAAE;YACrB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;SAC1C;IACH,CAAC;CACF;AAGD,IAAa,4BAA4B,GAAzC,MAAa,4BAA4B;IAC/B,MAAM,CAAC,QAAQ,CAAwB;IAE/C,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,QAAiB,EACjB,WAA6B,EAC7B,WAA6B;QAE7B,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,qBAAqB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;SACrE;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF,CAAA;AAbY,4BAA4B;IADxC,OAAO,CAAwB,qBAAqB,CAAC;GACzC,4BAA4B,CAaxC;SAbY,4BAA4B"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ModelType, UnknownModel, UnknownOverlay } from '../app.type.js';
|
|
2
|
+
import { AModel } from '../models/model.abstract.js';
|
|
3
|
+
import { Diff } from '../functions/diff/diff.model.js';
|
|
4
|
+
import { AAnchor } from './anchor.abstract.js';
|
|
5
|
+
import { IOverlay } from './overlay.interface.js';
|
|
6
|
+
export declare abstract class AOverlay<T> extends AModel<IOverlay, T> {
|
|
7
|
+
abstract readonly MODEL_NAME: string;
|
|
8
|
+
readonly MODEL_TYPE: ModelType;
|
|
9
|
+
readonly overlayId: IOverlay['overlayId'];
|
|
10
|
+
readonly properties: IOverlay['properties'];
|
|
11
|
+
protected constructor(overlayId: IOverlay['overlayId'], properties: IOverlay['properties'], anchors: AAnchor[]);
|
|
12
|
+
diff(): Promise<Diff[]>;
|
|
13
|
+
getContext(): string;
|
|
14
|
+
synth(): IOverlay;
|
|
15
|
+
static unSynth(deserializationClass: any, overlay: IOverlay, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<UnknownOverlay>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ModelType } from '../app.type.js';
|
|
2
|
+
import { AModel } from '../models/model.abstract.js';
|
|
3
|
+
export class AOverlay extends AModel {
|
|
4
|
+
MODEL_TYPE = ModelType.OVERLAY;
|
|
5
|
+
overlayId;
|
|
6
|
+
properties = {};
|
|
7
|
+
constructor(overlayId, properties, anchors) {
|
|
8
|
+
super();
|
|
9
|
+
this.overlayId = overlayId;
|
|
10
|
+
for (const key in properties) {
|
|
11
|
+
this.properties[key] = properties[key];
|
|
12
|
+
}
|
|
13
|
+
for (const anchor of anchors) {
|
|
14
|
+
this.addRelationship('overlayId', anchor.getParent(), 'MODEL_NAME');
|
|
15
|
+
this.anchors.push(anchor);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
async diff() {
|
|
19
|
+
return [];
|
|
20
|
+
}
|
|
21
|
+
getContext() {
|
|
22
|
+
return `${this.MODEL_NAME}=${this.overlayId}`;
|
|
23
|
+
}
|
|
24
|
+
synth() {
|
|
25
|
+
return {
|
|
26
|
+
anchors: this.anchors.map((a) => a.synth()),
|
|
27
|
+
overlayId: this.overlayId,
|
|
28
|
+
properties: { ...this.properties },
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
static async unSynth(deserializationClass, overlay, deReferenceContext) {
|
|
32
|
+
const anchors = await Promise.all(overlay.anchors.map(async (a) => {
|
|
33
|
+
const parent = await deReferenceContext(a.parent.context);
|
|
34
|
+
const anchor = parent.getAnchor(a.anchorId);
|
|
35
|
+
if (!anchor) {
|
|
36
|
+
throw new Error('Cannot find anchor while deserializing overlay!');
|
|
37
|
+
}
|
|
38
|
+
return anchor;
|
|
39
|
+
}));
|
|
40
|
+
return new deserializationClass(overlay.overlayId, overlay.properties, anchors);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=overlay.abstract.js.map
|