@quadnix/octo 0.0.1 → 0.0.3
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 +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/package.json +56 -15
- package/index.js +0 -5
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export class DiffMetadata {
|
|
2
|
+
actions;
|
|
3
|
+
applied;
|
|
4
|
+
applyOrder;
|
|
5
|
+
diff;
|
|
6
|
+
action;
|
|
7
|
+
field;
|
|
8
|
+
model;
|
|
9
|
+
value;
|
|
10
|
+
inputs = {};
|
|
11
|
+
outputs = {};
|
|
12
|
+
constructor(diff, actions) {
|
|
13
|
+
if (!actions?.length) {
|
|
14
|
+
throw new Error('No matching action given for diff!');
|
|
15
|
+
}
|
|
16
|
+
this.actions = actions;
|
|
17
|
+
this.applied = false;
|
|
18
|
+
this.applyOrder = -1;
|
|
19
|
+
this.diff = diff;
|
|
20
|
+
this.action = diff.action;
|
|
21
|
+
this.field = diff.field;
|
|
22
|
+
this.model = diff.model;
|
|
23
|
+
this.value = diff.value;
|
|
24
|
+
}
|
|
25
|
+
toJSON() {
|
|
26
|
+
return {
|
|
27
|
+
action: this.action,
|
|
28
|
+
field: this.field,
|
|
29
|
+
value: this.value,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
updateInputs(inputs) {
|
|
33
|
+
Object.assign(this.inputs, inputs);
|
|
34
|
+
}
|
|
35
|
+
updateOutputs(outputs) {
|
|
36
|
+
Object.assign(this.outputs, outputs);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=diff-metadata.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff-metadata.model.js","sourceRoot":"","sources":["../../../src/functions/diff/diff-metadata.model.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,YAAY;IACd,OAAO,CAA6D;IAC7E,OAAO,CAAU;IACjB,UAAU,CAAS;IAEV,IAAI,CAAO;IACX,MAAM,CAAa;IACnB,KAAK,CAAS;IACd,KAAK,CAAiC;IACtC,KAAK,CAAU;IAEf,MAAM,GAAiB,EAAE,CAAC;IAC1B,OAAO,GAAkB,EAAE,CAAC;IAErC,YAAY,IAAU,EAAE,OAAmE;QACzF,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;SACvD;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAErB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,MAAM;QACJ,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,MAAoB;QAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,aAAa,CAAC,OAAsB;QAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;CACF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { UnknownModel } from '../../app.type.js';
|
|
2
|
+
export declare enum DiffAction {
|
|
3
|
+
ADD = "add",
|
|
4
|
+
DELETE = "delete",
|
|
5
|
+
REPLACE = "replace",
|
|
6
|
+
UPDATE = "update"
|
|
7
|
+
}
|
|
8
|
+
export declare class Diff {
|
|
9
|
+
readonly action: DiffAction;
|
|
10
|
+
readonly field: string;
|
|
11
|
+
readonly model: UnknownModel;
|
|
12
|
+
readonly value: unknown;
|
|
13
|
+
constructor(model: Diff['model'], action: Diff['action'], field: Diff['field'], value: Diff['value']);
|
|
14
|
+
toJSON(): Omit<Diff, 'model' | 'toJSON'>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export var DiffAction;
|
|
2
|
+
(function (DiffAction) {
|
|
3
|
+
DiffAction["ADD"] = "add";
|
|
4
|
+
DiffAction["DELETE"] = "delete";
|
|
5
|
+
DiffAction["REPLACE"] = "replace";
|
|
6
|
+
DiffAction["UPDATE"] = "update";
|
|
7
|
+
})(DiffAction = DiffAction || (DiffAction = {}));
|
|
8
|
+
export class Diff {
|
|
9
|
+
action;
|
|
10
|
+
field;
|
|
11
|
+
model;
|
|
12
|
+
value;
|
|
13
|
+
constructor(model, action, field, value) {
|
|
14
|
+
this.model = model;
|
|
15
|
+
this.action = action;
|
|
16
|
+
this.field = field;
|
|
17
|
+
this.value = value;
|
|
18
|
+
}
|
|
19
|
+
toJSON() {
|
|
20
|
+
return {
|
|
21
|
+
action: this.action,
|
|
22
|
+
field: this.field,
|
|
23
|
+
value: this.value,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=diff.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff.model.js","sourceRoot":"","sources":["../../../src/functions/diff/diff.model.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,yBAAW,CAAA;IACX,+BAAiB,CAAA;IACjB,iCAAmB,CAAA;IACnB,+BAAiB,CAAA;AACnB,CAAC,EALW,UAAU,GAAV,UAAU,KAAV,UAAU,QAKrB;AAED,MAAM,OAAO,IAAI;IACN,MAAM,CAAa;IAEnB,KAAK,CAAS;IAEd,KAAK,CAAe;IAEpB,KAAK,CAAU;IAExB,YAAY,KAAoB,EAAE,MAAsB,EAAE,KAAoB,EAAE,KAAoB;QAClG,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM;QACJ,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { UnknownModel } from '../../app.type.js';
|
|
2
|
+
import { Diff } from './diff.model.js';
|
|
3
|
+
export declare class DiffUtility {
|
|
4
|
+
private static generateDeleteDiff;
|
|
5
|
+
static isObjectDeepEquals(x: object, y: object): boolean;
|
|
6
|
+
static diffArray(a: UnknownModel, b: UnknownModel, field: string): Diff[];
|
|
7
|
+
static diffArrayOfObjects(a: UnknownModel, b: UnknownModel, field: string, compare: (object1: any, object2: any) => boolean): Diff[];
|
|
8
|
+
static diffMap(a: UnknownModel, b: UnknownModel, field: string): Diff[];
|
|
9
|
+
static diffModels(a: UnknownModel[], b: UnknownModel[], field: string): Promise<Diff[]>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { Diff, DiffAction } from './diff.model.js';
|
|
2
|
+
export class DiffUtility {
|
|
3
|
+
static generateDeleteDiff(model, field) {
|
|
4
|
+
const diff = [];
|
|
5
|
+
const children = model.getChildren();
|
|
6
|
+
for (const modelName of Object.keys(children)) {
|
|
7
|
+
for (const dependency of children[modelName]) {
|
|
8
|
+
const child = dependency.to;
|
|
9
|
+
const childField = dependency.getRelationship().toField;
|
|
10
|
+
diff.push(...DiffUtility.generateDeleteDiff(child, childField));
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
diff.push(new Diff(model, DiffAction.DELETE, field, model[field]));
|
|
14
|
+
return diff;
|
|
15
|
+
}
|
|
16
|
+
static isObjectDeepEquals(x, y) {
|
|
17
|
+
const ok = Object.keys, tx = typeof x, ty = typeof y;
|
|
18
|
+
return x && y && tx === 'object' && tx === ty
|
|
19
|
+
? ok(x).length === ok(y).length && ok(x).every((key) => this.isObjectDeepEquals(x[key], y[key]))
|
|
20
|
+
: x === y;
|
|
21
|
+
}
|
|
22
|
+
static diffArray(a, b, field) {
|
|
23
|
+
const diff = [];
|
|
24
|
+
const aSet = new Set(a[field]);
|
|
25
|
+
const bSet = new Set(b[field]);
|
|
26
|
+
for (const element of aSet) {
|
|
27
|
+
if (bSet.has(element)) {
|
|
28
|
+
diff.push(new Diff(b, DiffAction.UPDATE, field, element));
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
diff.push(new Diff(a, DiffAction.DELETE, field, element));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
for (const element of bSet) {
|
|
35
|
+
if (!aSet.has(element)) {
|
|
36
|
+
diff.push(new Diff(b, DiffAction.ADD, field, element));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return diff;
|
|
40
|
+
}
|
|
41
|
+
static diffArrayOfObjects(a, b, field, compare) {
|
|
42
|
+
const diff = [];
|
|
43
|
+
for (const aObject of a[field]) {
|
|
44
|
+
if (b[field].some((bObject) => compare(aObject, bObject))) {
|
|
45
|
+
diff.push(new Diff(b, DiffAction.UPDATE, field, aObject));
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
diff.push(...DiffUtility.generateDeleteDiff(a, field));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
for (const bObject of b[field]) {
|
|
52
|
+
if (!a[field].some((aObject) => compare(aObject, bObject))) {
|
|
53
|
+
diff.push(new Diff(b, DiffAction.ADD, field, bObject));
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return diff;
|
|
57
|
+
}
|
|
58
|
+
static diffMap(a, b, field) {
|
|
59
|
+
const diff = [];
|
|
60
|
+
for (const [key, value] of a[field]) {
|
|
61
|
+
if (b[field].has(key)) {
|
|
62
|
+
if (b[field].get(key) !== value) {
|
|
63
|
+
diff.push(new Diff(b, DiffAction.UPDATE, field, { key, value: b[field].get(key) }));
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
diff.push(new Diff(a, DiffAction.DELETE, field, { key, value }));
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
for (const [key, value] of b[field]) {
|
|
71
|
+
if (!a[field].has(key)) {
|
|
72
|
+
diff.push(new Diff(b, DiffAction.ADD, field, { key, value }));
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return diff;
|
|
76
|
+
}
|
|
77
|
+
static async diffModels(a, b, field) {
|
|
78
|
+
const diff = [];
|
|
79
|
+
for (const x of a) {
|
|
80
|
+
const y = b.find((i) => i[field] === x[field]);
|
|
81
|
+
if (y) {
|
|
82
|
+
const pDiff = await y.diff(x);
|
|
83
|
+
diff.push(...pDiff);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
diff.push(...DiffUtility.generateDeleteDiff(x, field));
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
for (const y of b) {
|
|
90
|
+
if (!a.find((i) => i[field] === y[field])) {
|
|
91
|
+
diff.push(new Diff(y, DiffAction.ADD, field, y[field]));
|
|
92
|
+
const pDiff = await y.diff();
|
|
93
|
+
diff.push(...pDiff);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return diff;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=diff.utility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff.utility.js","sourceRoot":"","sources":["../../../src/functions/diff/diff.utility.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { UnknownModel } from '../../app.type.js';
|
|
2
|
+
import { IModule } from './module.interface.js';
|
|
3
|
+
export declare abstract class AModule {
|
|
4
|
+
private readonly members;
|
|
5
|
+
protected addMember(member: UnknownModel): void;
|
|
6
|
+
abstract apply(...args: UnknownModel[]): void;
|
|
7
|
+
abstract remove(...args: UnknownModel[]): void;
|
|
8
|
+
removeAll(): void;
|
|
9
|
+
protected removeMember(member: UnknownModel): void;
|
|
10
|
+
synth(): IModule;
|
|
11
|
+
static unSynth(deserializationClass: any, module: IModule, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<AModule>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export class AModule {
|
|
2
|
+
members = [];
|
|
3
|
+
addMember(member) {
|
|
4
|
+
const index = this.members.findIndex((m) => m.getContext() === member.getContext());
|
|
5
|
+
if (index === -1) {
|
|
6
|
+
this.members.push(member);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
removeAll() {
|
|
10
|
+
for (const member of this.members) {
|
|
11
|
+
member.remove(false, true);
|
|
12
|
+
}
|
|
13
|
+
for (const member of this.members) {
|
|
14
|
+
member.remove(false, false);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
removeMember(member) {
|
|
18
|
+
const index = this.members.findIndex((m) => m.getContext() === member.getContext());
|
|
19
|
+
if (index !== -1) {
|
|
20
|
+
this.members.splice(index, 1);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
synth() {
|
|
24
|
+
return {
|
|
25
|
+
members: this.members.map((m) => ({
|
|
26
|
+
context: m.getContext(),
|
|
27
|
+
})),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
static async unSynth(deserializationClass, module, deReferenceContext) {
|
|
31
|
+
const newModule = new deserializationClass();
|
|
32
|
+
for (const member of module.members) {
|
|
33
|
+
const model = await deReferenceContext(member.context);
|
|
34
|
+
newModule.addMember(model);
|
|
35
|
+
}
|
|
36
|
+
return newModule;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=module.abstract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.abstract.js","sourceRoot":"","sources":["../../../src/functions/module/module.abstract.ts"],"names":[],"mappings":"AAGA,MAAM,OAAgB,OAAO;IACV,OAAO,GAAmB,EAAE,CAAC;IAEpC,SAAS,CAAC,MAAoB;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAEpF,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC3B;IACH,CAAC;IAMD,SAAS;QACP,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YACjC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;SAC5B;QAED,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YACjC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SAC7B;IACH,CAAC;IAES,YAAY,CAAC,MAAoB;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAEpF,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC/B;IACH,CAAC;IAED,KAAK;QACH,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAChC,OAAO,EAAE,CAAC,CAAC,UAAU,EAAE;aACxB,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAO,CAClB,oBAAyB,EACzB,MAAe,EACf,kBAA8D;QAE9D,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAE7C,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;YACnC,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACvD,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAC5B;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.interface.js","sourceRoot":"","sources":["../../../src/functions/module/module.interface.ts"],"names":[],"mappings":""}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export { Anchor } from './decorators/anchor.decorator.js';
|
|
2
|
+
export { Action } from './decorators/action.decorator.js';
|
|
3
|
+
export { Container } from './decorators/container.js';
|
|
4
|
+
export { Factory } from './decorators/factory.decorator.js';
|
|
5
|
+
export { Model } from './decorators/model.decorator.js';
|
|
6
|
+
export { Module } from './decorators/module.decorator.js';
|
|
7
|
+
export { Overlay } from './decorators/overlay.decorator.js';
|
|
8
|
+
export { Resource } from './decorators/resource.decorator.js';
|
|
9
|
+
export { TestContainer } from './decorators/test-container.js';
|
|
10
|
+
export { Diff, DiffAction } from './functions/diff/diff.model.js';
|
|
11
|
+
export { DiffUtility } from './functions/diff/diff.utility.js';
|
|
12
|
+
export { DiffMetadata } from './functions/diff/diff-metadata.model.js';
|
|
13
|
+
export { AModule } from './functions/module/module.abstract.js';
|
|
14
|
+
export { IModule } from './functions/module/module.interface.js';
|
|
15
|
+
export { App } from './models/app/app.model.js';
|
|
16
|
+
export { IApp } from './models/app/app.interface.js';
|
|
17
|
+
export { Deployment } from './models/deployment/deployment.model.js';
|
|
18
|
+
export { IDeployment } from './models/deployment/deployment.interface.js';
|
|
19
|
+
export { Environment } from './models/environment/environment.model.js';
|
|
20
|
+
export { IEnvironment } from './models/environment/environment.interface.js';
|
|
21
|
+
export { Execution } from './models/execution/execution.model.js';
|
|
22
|
+
export { IExecution } from './models/execution/execution.interface.js';
|
|
23
|
+
export { IImageDockerOptions, Image } from './models/image/image.model.js';
|
|
24
|
+
export { IImage } from './models/image/image.interface.js';
|
|
25
|
+
export { Pipeline } from './models/pipeline/pipeline.model.js';
|
|
26
|
+
export { IPipeline } from './models/pipeline/pipeline.interface.js';
|
|
27
|
+
export { Region } from './models/region/region.model.js';
|
|
28
|
+
export { IRegion } from './models/region/region.interface.js';
|
|
29
|
+
export { Server } from './models/server/server.model.js';
|
|
30
|
+
export { IServer } from './models/server/server.interface.js';
|
|
31
|
+
export { Service } from './models/service/service.model.js';
|
|
32
|
+
export { IService } from './models/service/service.interface.js';
|
|
33
|
+
export { Support } from './models/support/support.model.js';
|
|
34
|
+
export { ISupport } from './models/support/support.interface.js';
|
|
35
|
+
export { IAction } from './models/action.interface.js';
|
|
36
|
+
export { AModel } from './models/model.abstract.js';
|
|
37
|
+
export { IModel, IModelReference } from './models/model.interface.js';
|
|
38
|
+
export { AAnchor } from './overlays/anchor.abstract.js';
|
|
39
|
+
export { IAnchor } from './overlays/anchor.interface.js';
|
|
40
|
+
export { AOverlay } from './overlays/overlay.abstract.js';
|
|
41
|
+
export { IOverlay } from './overlays/overlay.interface.js';
|
|
42
|
+
export { OverlayService } from './overlays/overlay.service.js';
|
|
43
|
+
export { AResource } from './resources/resource.abstract.js';
|
|
44
|
+
export { IResource } from './resources/resource.interface.js';
|
|
45
|
+
export { IResourceAction } from './resources/resource-action.interface.js';
|
|
46
|
+
export { ASharedResource } from './resources/shared-resource.abstract.js';
|
|
47
|
+
export { ModelSerializationService } from './services/serialization/model/model-serialization.service.js';
|
|
48
|
+
export { ResourceSerializationService } from './services/serialization/resource/resource-serialization.service.js';
|
|
49
|
+
export { LocalStateProvider } from './services/state-management/local.state-provider.js';
|
|
50
|
+
export { StateManagementService } from './services/state-management/state-management.service.js';
|
|
51
|
+
export { IStateProvider } from './services/state-management/state-provider.interface.js';
|
|
52
|
+
export { TransactionService } from './services/transaction/transaction.service.js';
|
|
53
|
+
export * from './app.type.js';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export { Anchor } from './decorators/anchor.decorator.js';
|
|
2
|
+
export { Action } from './decorators/action.decorator.js';
|
|
3
|
+
export { Container } from './decorators/container.js';
|
|
4
|
+
export { Factory } from './decorators/factory.decorator.js';
|
|
5
|
+
export { Model } from './decorators/model.decorator.js';
|
|
6
|
+
export { Module } from './decorators/module.decorator.js';
|
|
7
|
+
export { Overlay } from './decorators/overlay.decorator.js';
|
|
8
|
+
export { Resource } from './decorators/resource.decorator.js';
|
|
9
|
+
export { TestContainer } from './decorators/test-container.js';
|
|
10
|
+
export { Diff, DiffAction } from './functions/diff/diff.model.js';
|
|
11
|
+
export { DiffUtility } from './functions/diff/diff.utility.js';
|
|
12
|
+
export { DiffMetadata } from './functions/diff/diff-metadata.model.js';
|
|
13
|
+
export { AModule } from './functions/module/module.abstract.js';
|
|
14
|
+
export { App } from './models/app/app.model.js';
|
|
15
|
+
export { Deployment } from './models/deployment/deployment.model.js';
|
|
16
|
+
export { Environment } from './models/environment/environment.model.js';
|
|
17
|
+
export { Execution } from './models/execution/execution.model.js';
|
|
18
|
+
export { Image } from './models/image/image.model.js';
|
|
19
|
+
export { Pipeline } from './models/pipeline/pipeline.model.js';
|
|
20
|
+
export { Region } from './models/region/region.model.js';
|
|
21
|
+
export { Server } from './models/server/server.model.js';
|
|
22
|
+
export { Service } from './models/service/service.model.js';
|
|
23
|
+
export { Support } from './models/support/support.model.js';
|
|
24
|
+
export { AModel } from './models/model.abstract.js';
|
|
25
|
+
export { AAnchor } from './overlays/anchor.abstract.js';
|
|
26
|
+
export { AOverlay } from './overlays/overlay.abstract.js';
|
|
27
|
+
export { OverlayService } from './overlays/overlay.service.js';
|
|
28
|
+
export { AResource } from './resources/resource.abstract.js';
|
|
29
|
+
export { ASharedResource } from './resources/shared-resource.abstract.js';
|
|
30
|
+
export { ModelSerializationService } from './services/serialization/model/model-serialization.service.js';
|
|
31
|
+
export { ResourceSerializationService } from './services/serialization/resource/resource-serialization.service.js';
|
|
32
|
+
export { LocalStateProvider } from './services/state-management/local.state-provider.js';
|
|
33
|
+
export { StateManagementService } from './services/state-management/state-management.service.js';
|
|
34
|
+
export { TransactionService } from './services/transaction/transaction.service.js';
|
|
35
|
+
export * from './app.type.js';
|
|
36
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAGhE,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAC;AAErE,OAAO,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAExE,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAElE,OAAO,EAAuB,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAE3E,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAE/D,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAEzD,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAEzD,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAI5D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAGpD,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAE1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,+DAA+D,CAAC;AAC1G,OAAO,EAAE,4BAA4B,EAAE,MAAM,qEAAqE,CAAC;AAEnH,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yDAAyD,CAAC;AAGjG,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AAEnF,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ActionInputs, ActionOutputs } from '../app.type.js';
|
|
2
|
+
import { Diff } from '../functions/diff/diff.model.js';
|
|
3
|
+
export interface IAction<I extends ActionInputs, O extends ActionOutputs> {
|
|
4
|
+
readonly ACTION_NAME: string;
|
|
5
|
+
collectInput(diff: Diff): (keyof I)[];
|
|
6
|
+
filter(diff: Diff): boolean;
|
|
7
|
+
handle(diff: Diff, actionInputs: I): Promise<O>;
|
|
8
|
+
revert(diff: Diff, actionInputs: I, actionOutputs: O): Promise<O>;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action.interface.js","sourceRoot":"","sources":["../../src/models/action.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.interface.js","sourceRoot":"","sources":["../../../src/models/app/app.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { UnknownModel } from '../../app.type.js';
|
|
2
|
+
import { Image } from '../image/image.model.js';
|
|
3
|
+
import { AModel } from '../model.abstract.js';
|
|
4
|
+
import { Pipeline } from '../pipeline/pipeline.model.js';
|
|
5
|
+
import { Region } from '../region/region.model.js';
|
|
6
|
+
import { Server } from '../server/server.model.js';
|
|
7
|
+
import { Service } from '../service/service.model.js';
|
|
8
|
+
import { Support } from '../support/support.model.js';
|
|
9
|
+
import { IApp } from './app.interface.js';
|
|
10
|
+
export declare class App extends AModel<IApp, App> {
|
|
11
|
+
readonly MODEL_NAME: string;
|
|
12
|
+
readonly name: string;
|
|
13
|
+
constructor(name: string);
|
|
14
|
+
addImage(image: Image): void;
|
|
15
|
+
addPipeline(pipeline: Pipeline): void;
|
|
16
|
+
addRegion(region: Region): void;
|
|
17
|
+
addServer(server: Server): void;
|
|
18
|
+
addService(service: Service): void;
|
|
19
|
+
addSupport(support: Support): void;
|
|
20
|
+
getContext(): string;
|
|
21
|
+
synth(): IApp;
|
|
22
|
+
static unSynth(app: IApp, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<App>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
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 App_1;
|
|
11
|
+
import { Model } from '../../decorators/model.decorator.js';
|
|
12
|
+
import { AModel } from '../model.abstract.js';
|
|
13
|
+
let App = App_1 = class App extends AModel {
|
|
14
|
+
MODEL_NAME = 'app';
|
|
15
|
+
name;
|
|
16
|
+
constructor(name) {
|
|
17
|
+
super();
|
|
18
|
+
this.name = name;
|
|
19
|
+
}
|
|
20
|
+
addImage(image) {
|
|
21
|
+
const childrenDependencies = this.getChildren('image');
|
|
22
|
+
if (!childrenDependencies['image'])
|
|
23
|
+
childrenDependencies['image'] = [];
|
|
24
|
+
const images = childrenDependencies['image'].map((d) => d.to);
|
|
25
|
+
if (images.find((i) => i.imageId === image.imageId)) {
|
|
26
|
+
throw new Error('Image already exists!');
|
|
27
|
+
}
|
|
28
|
+
this.addChild('name', image, 'imageId');
|
|
29
|
+
}
|
|
30
|
+
addPipeline(pipeline) {
|
|
31
|
+
const childrenDependencies = this.getChildren('pipeline');
|
|
32
|
+
if (!childrenDependencies['pipeline'])
|
|
33
|
+
childrenDependencies['pipeline'] = [];
|
|
34
|
+
const pipelines = childrenDependencies['pipeline'].map((d) => d.to);
|
|
35
|
+
if (pipelines.find((p) => p.pipelineName === pipeline.pipelineName)) {
|
|
36
|
+
throw new Error('Pipeline already exists!');
|
|
37
|
+
}
|
|
38
|
+
this.addChild('name', pipeline, 'pipelineName');
|
|
39
|
+
}
|
|
40
|
+
addRegion(region) {
|
|
41
|
+
const childrenDependencies = this.getChildren('region');
|
|
42
|
+
if (!childrenDependencies['region'])
|
|
43
|
+
childrenDependencies['region'] = [];
|
|
44
|
+
const regions = childrenDependencies['region'].map((d) => d.to);
|
|
45
|
+
if (regions.find((r) => r.regionId === region.regionId)) {
|
|
46
|
+
throw new Error('Region already exists!');
|
|
47
|
+
}
|
|
48
|
+
this.addChild('name', region, 'regionId');
|
|
49
|
+
}
|
|
50
|
+
addServer(server) {
|
|
51
|
+
const childrenDependencies = this.getChildren('server');
|
|
52
|
+
if (!childrenDependencies['server'])
|
|
53
|
+
childrenDependencies['server'] = [];
|
|
54
|
+
const servers = childrenDependencies['server'].map((d) => d.to);
|
|
55
|
+
if (servers.find((s) => s.serverKey === server.serverKey)) {
|
|
56
|
+
throw new Error('Server already exists!');
|
|
57
|
+
}
|
|
58
|
+
this.addChild('name', server, 'serverKey');
|
|
59
|
+
}
|
|
60
|
+
addService(service) {
|
|
61
|
+
const childrenDependencies = this.getChildren('service');
|
|
62
|
+
if (!childrenDependencies['service'])
|
|
63
|
+
childrenDependencies['service'] = [];
|
|
64
|
+
const services = childrenDependencies['service'].map((d) => d.to);
|
|
65
|
+
if (services.find((s) => s.serviceId === service.serviceId)) {
|
|
66
|
+
throw new Error('Service already exists!');
|
|
67
|
+
}
|
|
68
|
+
this.addChild('name', service, 'serviceId');
|
|
69
|
+
}
|
|
70
|
+
addSupport(support) {
|
|
71
|
+
const childrenDependencies = this.getChildren('support');
|
|
72
|
+
if (!childrenDependencies['support'])
|
|
73
|
+
childrenDependencies['support'] = [];
|
|
74
|
+
const supports = childrenDependencies['support'].map((d) => d.to);
|
|
75
|
+
if (supports.find((s) => s.serverKey === support.serverKey)) {
|
|
76
|
+
throw new Error('Support already exists!');
|
|
77
|
+
}
|
|
78
|
+
this.addChild('name', support, 'serverKey');
|
|
79
|
+
}
|
|
80
|
+
getContext() {
|
|
81
|
+
return `${this.MODEL_NAME}=${this.name}`;
|
|
82
|
+
}
|
|
83
|
+
synth() {
|
|
84
|
+
return {
|
|
85
|
+
name: this.name,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
static async unSynth(app, deReferenceContext) {
|
|
89
|
+
return new App_1(app.name);
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
App = App_1 = __decorate([
|
|
93
|
+
Model(),
|
|
94
|
+
__metadata("design:paramtypes", [String])
|
|
95
|
+
], App);
|
|
96
|
+
export { App };
|
|
97
|
+
//# sourceMappingURL=app.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.model.js","sourceRoot":"","sources":["../../../src/models/app/app.model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployment.interface.js","sourceRoot":"","sources":["../../../src/models/deployment/deployment.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { UnknownModel } from '../../app.type.js';
|
|
2
|
+
import { AModel } from '../model.abstract.js';
|
|
3
|
+
import { IDeployment } from './deployment.interface.js';
|
|
4
|
+
export declare class Deployment extends AModel<IDeployment, Deployment> {
|
|
5
|
+
readonly MODEL_NAME: string;
|
|
6
|
+
readonly deploymentTag: string;
|
|
7
|
+
constructor(deploymentTag: string);
|
|
8
|
+
getContext(): string;
|
|
9
|
+
synth(): IDeployment;
|
|
10
|
+
static unSynth(deployment: IDeployment, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<Deployment>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
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 Deployment_1;
|
|
11
|
+
import { Model } from '../../decorators/model.decorator.js';
|
|
12
|
+
import { AModel } from '../model.abstract.js';
|
|
13
|
+
let Deployment = Deployment_1 = class Deployment extends AModel {
|
|
14
|
+
MODEL_NAME = 'deployment';
|
|
15
|
+
deploymentTag;
|
|
16
|
+
constructor(deploymentTag) {
|
|
17
|
+
super();
|
|
18
|
+
this.deploymentTag = deploymentTag;
|
|
19
|
+
}
|
|
20
|
+
getContext() {
|
|
21
|
+
const parents = this.getParents();
|
|
22
|
+
const parent = (parents['server'] || parents['support'])[0].to;
|
|
23
|
+
return [`${this.MODEL_NAME}=${this.deploymentTag}`, parent.getContext()].join(',');
|
|
24
|
+
}
|
|
25
|
+
synth() {
|
|
26
|
+
return {
|
|
27
|
+
deploymentTag: this.deploymentTag,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
static async unSynth(deployment, deReferenceContext) {
|
|
31
|
+
return new Deployment_1(deployment.deploymentTag);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
Deployment = Deployment_1 = __decorate([
|
|
35
|
+
Model(),
|
|
36
|
+
__metadata("design:paramtypes", [String])
|
|
37
|
+
], Deployment);
|
|
38
|
+
export { Deployment };
|
|
39
|
+
//# sourceMappingURL=deployment.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployment.model.js","sourceRoot":"","sources":["../../../src/models/deployment/deployment.model.ts"],"names":[],"mappings":";;;;;;;;;;AACA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,IACa,UAAU,kBADvB,MACa,UAAW,SAAQ,MAA+B;IACpD,UAAU,GAAW,YAAY,CAAC;IAElC,aAAa,CAAS;IAE/B,YAAY,aAAqB;QAC/B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAED,UAAU;QACR,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrF,CAAC;IAED,KAAK;QACH,OAAO;YACL,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC;IACJ,CAAC;IAED,MAAM,CAAU,KAAK,CAAC,OAAO,CAC3B,UAAuB,EACvB,kBAA8D;QAE9D,OAAO,IAAI,YAAU,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAClD,CAAC;CACF,CAAA;AA5BY,UAAU;IADtB,KAAK,EAAE;;GACK,UAAU,CA4BtB;SA5BY,UAAU"}
|