@quadnix/octo 0.0.20 → 0.0.22
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 +8 -1
- package/dist/app.type.js +13 -7
- package/dist/app.type.js.map +1 -1
- package/dist/decorators/action.decorator.d.ts +19 -2
- package/dist/decorators/action.decorator.js +28 -5
- package/dist/decorators/action.decorator.js.map +1 -1
- package/dist/decorators/anchor.decorator.d.ts +13 -0
- package/dist/decorators/anchor.decorator.js +14 -1
- package/dist/decorators/anchor.decorator.js.map +1 -1
- package/dist/decorators/enable-hook.decorator.d.ts +14 -0
- package/dist/decorators/enable-hook.decorator.js +14 -0
- package/dist/decorators/enable-hook.decorator.js.map +1 -1
- package/dist/decorators/event-source.decorator.d.ts +15 -0
- package/dist/decorators/event-source.decorator.js +15 -0
- package/dist/decorators/event-source.decorator.js.map +1 -1
- package/dist/decorators/factory.decorator.d.ts +54 -5
- package/dist/decorators/factory.decorator.js +56 -3
- package/dist/decorators/factory.decorator.js.map +1 -1
- package/dist/decorators/model.decorator.d.ts +13 -0
- package/dist/decorators/model.decorator.js +14 -1
- package/dist/decorators/model.decorator.js.map +1 -1
- package/dist/decorators/module.decorator.d.ts +61 -5
- package/dist/decorators/module.decorator.js +62 -3
- package/dist/decorators/module.decorator.js.map +1 -1
- package/dist/decorators/on-event.decorator.d.ts +17 -0
- package/dist/decorators/on-event.decorator.js +17 -0
- package/dist/decorators/on-event.decorator.js.map +1 -1
- package/dist/decorators/overlay.decorator.d.ts +13 -0
- package/dist/decorators/overlay.decorator.js +14 -1
- package/dist/decorators/overlay.decorator.js.map +1 -1
- package/dist/decorators/resource.decorator.d.ts +13 -0
- package/dist/decorators/resource.decorator.js +14 -1
- package/dist/decorators/resource.decorator.js.map +1 -1
- package/dist/decorators/validate.decorator.d.ts +9 -0
- package/dist/decorators/validate.decorator.js +23 -0
- package/dist/decorators/validate.decorator.js.map +1 -0
- package/dist/events/error.event.d.ts +30 -0
- package/dist/events/error.event.js +30 -0
- package/dist/events/error.event.js.map +1 -1
- package/dist/events/event.model.d.ts +27 -0
- package/dist/events/event.model.js +27 -3
- package/dist/events/event.model.js.map +1 -1
- package/dist/events/hook.event.d.ts +167 -0
- package/dist/events/hook.event.js +167 -0
- package/dist/events/hook.event.js.map +1 -1
- package/dist/events/module.event.d.ts +12 -0
- package/dist/events/module.event.js +12 -0
- package/dist/events/module.event.js.map +1 -1
- package/dist/events/registration.event.d.ts +90 -0
- package/dist/events/registration.event.js +90 -0
- package/dist/events/registration.event.js.map +1 -1
- package/dist/events/serialization.event.d.ts +61 -0
- package/dist/events/serialization.event.js +61 -0
- package/dist/events/serialization.event.js.map +1 -1
- package/dist/events/transaction.event.d.ts +41 -0
- package/dist/events/transaction.event.js +41 -0
- package/dist/events/transaction.event.js.map +1 -1
- package/dist/functions/container/container.d.ts +53 -0
- package/dist/functions/container/container.js +102 -0
- package/dist/functions/container/container.js.map +1 -0
- package/dist/functions/container/test-container.d.ts +75 -0
- package/dist/functions/container/test-container.js +97 -0
- package/dist/functions/container/test-container.js.map +1 -0
- package/dist/functions/dependency/dependency.d.ts +6 -6
- package/dist/functions/dependency/dependency.js +1 -8
- package/dist/functions/dependency/dependency.js.map +1 -1
- package/dist/functions/diff/diff-metadata.d.ts +5 -2
- package/dist/functions/diff/diff-metadata.js +6 -11
- package/dist/functions/diff/diff-metadata.js.map +1 -1
- package/dist/functions/diff/diff.d.ts +6 -3
- package/dist/functions/diff/diff.js +8 -13
- package/dist/functions/diff/diff.js.map +1 -1
- package/dist/functions/diff/diff.utility.d.ts +38 -6
- package/dist/functions/diff/diff.utility.js +55 -6
- package/dist/functions/diff/diff.utility.js.map +1 -1
- package/dist/functions/hook/commit.hook.js +6 -3
- package/dist/functions/hook/commit.hook.js.map +1 -1
- package/dist/functions/hook/model-action.hook.js +7 -4
- package/dist/functions/hook/model-action.hook.js.map +1 -1
- package/dist/functions/hook/resource-action.hook.js +6 -3
- package/dist/functions/hook/resource-action.hook.js.map +1 -1
- package/dist/functions/node/node.abstract.d.ts +84 -0
- package/dist/functions/node/node.abstract.js +275 -0
- package/dist/functions/node/node.abstract.js.map +1 -0
- package/dist/functions/node/node.interface.d.ts +176 -0
- package/dist/functions/node/node.interface.js +2 -0
- package/dist/functions/node/node.interface.js.map +1 -0
- package/dist/index.d.ts +12 -12
- package/dist/index.js +11 -11
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts +11 -10
- package/dist/main.js +76 -37
- package/dist/main.js.map +1 -1
- package/dist/models/app/app.interface.d.ts +5 -0
- package/dist/models/app/app.model.d.ts +30 -3
- package/dist/models/app/app.model.js +40 -6
- package/dist/models/app/app.model.js.map +1 -1
- package/dist/models/deployment/deployment.interface.d.ts +5 -0
- package/dist/models/deployment/deployment.model.d.ts +16 -3
- package/dist/models/deployment/deployment.model.js +20 -6
- package/dist/models/deployment/deployment.model.js.map +1 -1
- package/dist/models/environment/environment.interface.d.ts +5 -0
- package/dist/models/environment/environment.model.d.ts +19 -3
- package/dist/models/environment/environment.model.js +33 -8
- package/dist/models/environment/environment.model.js.map +1 -1
- package/dist/models/execution/execution.interface.d.ts +5 -0
- package/dist/models/execution/execution.model.d.ts +24 -3
- package/dist/models/execution/execution.model.js +40 -7
- package/dist/models/execution/execution.model.js.map +1 -1
- package/dist/models/image/image.interface.d.ts +5 -0
- package/dist/models/image/image.model.d.ts +36 -3
- package/dist/models/image/image.model.js +25 -9
- package/dist/models/image/image.model.js.map +1 -1
- package/dist/models/model-action.interface.d.ts +18 -1
- package/dist/models/model.abstract.d.ts +7 -42
- package/dist/models/model.abstract.js +24 -295
- package/dist/models/model.abstract.js.map +1 -1
- package/dist/models/model.interface.d.ts +51 -11
- package/dist/models/pipeline/pipeline.interface.d.ts +5 -0
- package/dist/models/pipeline/pipeline.model.d.ts +16 -3
- package/dist/models/pipeline/pipeline.model.js +25 -8
- package/dist/models/pipeline/pipeline.model.js.map +1 -1
- package/dist/models/region/region.interface.d.ts +5 -0
- package/dist/models/region/region.model.d.ts +19 -3
- package/dist/models/region/region.model.js +29 -6
- package/dist/models/region/region.model.js.map +1 -1
- package/dist/models/server/server.interface.d.ts +5 -0
- package/dist/models/server/server.model.d.ts +18 -3
- package/dist/models/server/server.model.js +24 -6
- package/dist/models/server/server.model.js.map +1 -1
- package/dist/models/service/service.interface.d.ts +5 -0
- package/dist/models/service/service.model.d.ts +16 -3
- package/dist/models/service/service.model.js +19 -6
- package/dist/models/service/service.model.js.map +1 -1
- package/dist/models/subnet/subnet.interface.d.ts +5 -0
- package/dist/models/subnet/subnet.model.d.ts +50 -3
- package/dist/models/subnet/subnet.model.js +58 -22
- package/dist/models/subnet/subnet.model.js.map +1 -1
- package/dist/modules/module.container.d.ts +4 -2
- package/dist/modules/module.container.js +17 -8
- package/dist/modules/module.container.js.map +1 -1
- package/dist/modules/test-module.container.d.ts +4 -4
- package/dist/modules/test-module.container.js +18 -17
- package/dist/modules/test-module.container.js.map +1 -1
- package/dist/overlays/anchor.abstract.js +0 -3
- package/dist/overlays/anchor.abstract.js.map +1 -1
- package/dist/overlays/overlay-data.repository.d.ts +2 -4
- package/dist/overlays/overlay-data.repository.js +8 -36
- package/dist/overlays/overlay-data.repository.js.map +1 -1
- package/dist/overlays/overlay.abstract.d.ts +6 -7
- package/dist/overlays/overlay.abstract.js +20 -42
- package/dist/overlays/overlay.abstract.js.map +1 -1
- package/dist/overlays/overlay.service.d.ts +0 -1
- package/dist/overlays/overlay.service.js +1 -7
- package/dist/overlays/overlay.service.js.map +1 -1
- package/dist/resources/resource-data.repository.d.ts +16 -6
- package/dist/resources/resource-data.repository.js +121 -18
- package/dist/resources/resource-data.repository.js.map +1 -1
- package/dist/resources/resource.abstract.d.ts +23 -6
- package/dist/resources/resource.abstract.js +147 -13
- package/dist/resources/resource.abstract.js.map +1 -1
- package/dist/resources/shared-resource.abstract.d.ts +2 -2
- package/dist/resources/shared-resource.abstract.js +5 -2
- package/dist/resources/shared-resource.abstract.js.map +1 -1
- package/dist/services/capture/capture.service.d.ts +1 -2
- package/dist/services/capture/capture.service.js +5 -4
- package/dist/services/capture/capture.service.js.map +1 -1
- package/dist/services/event/event.service.js +9 -6
- package/dist/services/event/event.service.js.map +1 -1
- package/dist/services/input/input.service.js +3 -5
- package/dist/services/input/input.service.js.map +1 -1
- package/dist/services/serialization/model/model-serialization.service.js +13 -14
- package/dist/services/serialization/model/model-serialization.service.js.map +1 -1
- package/dist/services/serialization/resource/resource-serialization.service.d.ts +4 -4
- package/dist/services/serialization/resource/resource-serialization.service.js +23 -13
- package/dist/services/serialization/resource/resource-serialization.service.js.map +1 -1
- package/dist/services/state-management/local.state-provider.js +0 -1
- package/dist/services/state-management/local.state-provider.js.map +1 -1
- package/dist/services/state-management/state-management.service.d.ts +1 -1
- package/dist/services/state-management/state-management.service.js +6 -9
- package/dist/services/state-management/state-management.service.js.map +1 -1
- package/dist/services/state-management/test.state-provider.js +3 -1
- package/dist/services/state-management/test.state-provider.js.map +1 -1
- package/dist/services/transaction/transaction.service.d.ts +5 -2
- package/dist/services/transaction/transaction.service.js +117 -87
- package/dist/services/transaction/transaction.service.js.map +1 -1
- package/dist/services/validation/validation.service.d.ts +19 -0
- package/dist/services/validation/validation.service.js +66 -0
- package/dist/services/validation/validation.service.js.map +1 -0
- package/dist/utilities/object/object.utility.js +1 -0
- package/dist/utilities/object/object.utility.js.map +1 -1
- package/dist/utilities/validation/validation.utility.d.ts +5 -0
- package/dist/utilities/validation/validation.utility.js +12 -0
- package/dist/utilities/validation/validation.utility.js.map +1 -0
- package/package.json +1 -1
- package/dist/decorators/container.d.ts +0 -24
- package/dist/decorators/container.js +0 -96
- package/dist/decorators/container.js.map +0 -1
- package/dist/decorators/test-container.d.ts +0 -27
- package/dist/decorators/test-container.js +0 -52
- package/dist/decorators/test-container.js.map +0 -1
|
@@ -1,11 +1,43 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { UnknownNode } from '../../app.type.js';
|
|
2
2
|
import { Diff } from './diff.js';
|
|
3
3
|
export declare class DiffUtility {
|
|
4
4
|
private static generateDeleteDiff;
|
|
5
5
|
static isObjectDeepEquals(x: object, y: object): boolean;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Generate a deep diff of an array of basic types from the previous node vs the latest node.
|
|
8
|
+
* @param a previous node.
|
|
9
|
+
* @param b latest node.
|
|
10
|
+
* @param field string representing the field parent uses to reference the array.
|
|
11
|
+
*/
|
|
12
|
+
static diffArray(a: UnknownNode, b: UnknownNode, field: string): Diff[];
|
|
13
|
+
/**
|
|
14
|
+
* Generate a deep diff of an array of objects from the previous node vs the latest node.
|
|
15
|
+
* @param a previous node.
|
|
16
|
+
* @param b latest node.
|
|
17
|
+
* @param field string representing the field parent uses to reference the array.
|
|
18
|
+
* @param compare function to check if two objects are equal.
|
|
19
|
+
*/
|
|
20
|
+
static diffArrayOfObjects(a: UnknownNode, b: UnknownNode, field: string, compare: (object1: any, object2: any) => boolean): Diff[];
|
|
21
|
+
/**
|
|
22
|
+
* Generate a deep diff of a map of basic types from the previous node vs the latest node.
|
|
23
|
+
* @param a previous node.
|
|
24
|
+
* @param b latest node.
|
|
25
|
+
* @param field string representing the field parent uses to reference the map.
|
|
26
|
+
*/
|
|
27
|
+
static diffMap(a: UnknownNode, b: UnknownNode, field: string): Diff[];
|
|
28
|
+
/**
|
|
29
|
+
* Generate a deep diff of an array of previous node vs latest node.
|
|
30
|
+
* The diff is generated recursively, i.e. all children of the node are included in the diff.
|
|
31
|
+
* @param a array of previous nodes.
|
|
32
|
+
* @param b array of latest nodes.
|
|
33
|
+
* @param field string representing the unique identifier of the node.
|
|
34
|
+
*/
|
|
35
|
+
static diffNodes(a: UnknownNode[], b: UnknownNode[], field: string): Promise<Diff[]>;
|
|
36
|
+
/**
|
|
37
|
+
* Generate a deep diff of an object from the previous node vs the latest node.
|
|
38
|
+
* @param a previous node.
|
|
39
|
+
* @param b latest node.
|
|
40
|
+
* @param field string representing the field parent uses to reference the object.
|
|
41
|
+
*/
|
|
42
|
+
static diffObject(a: UnknownNode, b: UnknownNode, field: string): Diff[];
|
|
11
43
|
}
|
|
@@ -1,28 +1,37 @@
|
|
|
1
1
|
import { Diff, DiffAction } from './diff.js';
|
|
2
2
|
export class DiffUtility {
|
|
3
|
-
static generateDeleteDiff(
|
|
3
|
+
static generateDeleteDiff(node, field) {
|
|
4
4
|
const diff = [];
|
|
5
|
-
const children =
|
|
6
|
-
for (const
|
|
7
|
-
for (const dependency of children[
|
|
5
|
+
const children = node.getChildren();
|
|
6
|
+
for (const name of Object.keys(children)) {
|
|
7
|
+
for (const dependency of children[name]) {
|
|
8
8
|
const child = dependency.to;
|
|
9
9
|
const childField = dependency.getRelationship().toField;
|
|
10
10
|
diff.push(...DiffUtility.generateDeleteDiff(child, childField));
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
|
-
diff.push(new Diff(
|
|
13
|
+
diff.push(new Diff(node, DiffAction.DELETE, field, node[field]));
|
|
14
14
|
return diff;
|
|
15
15
|
}
|
|
16
|
+
// Source: https://stackoverflow.com/a/32922084/1834562
|
|
16
17
|
static isObjectDeepEquals(x, y) {
|
|
17
18
|
const ok = Object.keys, tx = typeof x, ty = typeof y;
|
|
18
19
|
return x && y && tx === 'object' && tx === ty
|
|
19
20
|
? ok(x).length === ok(y).length && ok(x).every((key) => this.isObjectDeepEquals(x[key], y[key]))
|
|
20
21
|
: x === y;
|
|
21
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Generate a deep diff of an array of basic types from the previous node vs the latest node.
|
|
25
|
+
* @param a previous node.
|
|
26
|
+
* @param b latest node.
|
|
27
|
+
* @param field string representing the field parent uses to reference the array.
|
|
28
|
+
*/
|
|
22
29
|
static diffArray(a, b, field) {
|
|
23
30
|
const diff = [];
|
|
24
31
|
const aSet = new Set(a[field]);
|
|
25
32
|
const bSet = new Set(b[field]);
|
|
33
|
+
// Iterate elements of previous (a). If found in latest (b), consider it an UPDATE.
|
|
34
|
+
// If not found in latest (b), consider it a DELETE.
|
|
26
35
|
for (const element of aSet) {
|
|
27
36
|
if (bSet.has(element)) {
|
|
28
37
|
diff.push(new Diff(b, DiffAction.UPDATE, field, element));
|
|
@@ -31,6 +40,7 @@ export class DiffUtility {
|
|
|
31
40
|
diff.push(new Diff(a, DiffAction.DELETE, field, element));
|
|
32
41
|
}
|
|
33
42
|
}
|
|
43
|
+
// Iterate elements of latest (b). If not found in previous (a), consider it an ADD.
|
|
34
44
|
for (const element of bSet) {
|
|
35
45
|
if (!aSet.has(element)) {
|
|
36
46
|
diff.push(new Diff(b, DiffAction.ADD, field, element));
|
|
@@ -38,8 +48,17 @@ export class DiffUtility {
|
|
|
38
48
|
}
|
|
39
49
|
return diff;
|
|
40
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Generate a deep diff of an array of objects from the previous node vs the latest node.
|
|
53
|
+
* @param a previous node.
|
|
54
|
+
* @param b latest node.
|
|
55
|
+
* @param field string representing the field parent uses to reference the array.
|
|
56
|
+
* @param compare function to check if two objects are equal.
|
|
57
|
+
*/
|
|
41
58
|
static diffArrayOfObjects(a, b, field, compare) {
|
|
42
59
|
const diff = [];
|
|
60
|
+
// Iterate elements of previous (a). If found in latest (b), consider it an UPDATE.
|
|
61
|
+
// If not found in latest (b), consider it a DELETE.
|
|
43
62
|
for (const aObject of a[field]) {
|
|
44
63
|
if (b[field].some((bObject) => compare(aObject, bObject))) {
|
|
45
64
|
diff.push(new Diff(b, DiffAction.UPDATE, field, aObject));
|
|
@@ -48,6 +67,7 @@ export class DiffUtility {
|
|
|
48
67
|
diff.push(new Diff(a, DiffAction.DELETE, field, aObject));
|
|
49
68
|
}
|
|
50
69
|
}
|
|
70
|
+
// Iterate elements of latest (b). If not found in previous (a), consider it an ADD.
|
|
51
71
|
for (const bObject of b[field]) {
|
|
52
72
|
if (!a[field].some((aObject) => compare(aObject, bObject))) {
|
|
53
73
|
diff.push(new Diff(b, DiffAction.ADD, field, bObject));
|
|
@@ -55,8 +75,16 @@ export class DiffUtility {
|
|
|
55
75
|
}
|
|
56
76
|
return diff;
|
|
57
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* Generate a deep diff of a map of basic types from the previous node vs the latest node.
|
|
80
|
+
* @param a previous node.
|
|
81
|
+
* @param b latest node.
|
|
82
|
+
* @param field string representing the field parent uses to reference the map.
|
|
83
|
+
*/
|
|
58
84
|
static diffMap(a, b, field) {
|
|
59
85
|
const diff = [];
|
|
86
|
+
// Iterate fields of previous (a). If found in latest (b), consider it an UPDATE.
|
|
87
|
+
// If not found in latest (b), consider it a DELETE.
|
|
60
88
|
for (const [key, value] of a[field]) {
|
|
61
89
|
if (b[field].has(key)) {
|
|
62
90
|
if (b[field].get(key) !== value) {
|
|
@@ -67,6 +95,7 @@ export class DiffUtility {
|
|
|
67
95
|
diff.push(new Diff(a, DiffAction.DELETE, field, { key, value }));
|
|
68
96
|
}
|
|
69
97
|
}
|
|
98
|
+
// Iterate fields of latest (b). If not found in previous (a), consider it an ADD.
|
|
70
99
|
for (const [key, value] of b[field]) {
|
|
71
100
|
if (!a[field].has(key)) {
|
|
72
101
|
diff.push(new Diff(b, DiffAction.ADD, field, { key, value }));
|
|
@@ -74,8 +103,17 @@ export class DiffUtility {
|
|
|
74
103
|
}
|
|
75
104
|
return diff;
|
|
76
105
|
}
|
|
77
|
-
|
|
106
|
+
/**
|
|
107
|
+
* Generate a deep diff of an array of previous node vs latest node.
|
|
108
|
+
* The diff is generated recursively, i.e. all children of the node are included in the diff.
|
|
109
|
+
* @param a array of previous nodes.
|
|
110
|
+
* @param b array of latest nodes.
|
|
111
|
+
* @param field string representing the unique identifier of the node.
|
|
112
|
+
*/
|
|
113
|
+
static async diffNodes(a, b, field) {
|
|
78
114
|
const diff = [];
|
|
115
|
+
// Iterate fields of previous (a). If found in latest (b), get recursive diff of children of b vs a.
|
|
116
|
+
// If not found in latest (b), consider it a DELETE.
|
|
79
117
|
for (const x of a) {
|
|
80
118
|
const y = b.find((i) => i.getContext() === x.getContext());
|
|
81
119
|
if (y) {
|
|
@@ -86,6 +124,8 @@ export class DiffUtility {
|
|
|
86
124
|
diff.push(...DiffUtility.generateDeleteDiff(x, field));
|
|
87
125
|
}
|
|
88
126
|
}
|
|
127
|
+
// Iterate fields of latest (b). If not found in previous (a), consider it an ADD.
|
|
128
|
+
// Recursively add all children of b.
|
|
89
129
|
for (const y of b) {
|
|
90
130
|
if (!a.find((i) => i.getContext() === y.getContext())) {
|
|
91
131
|
const pDiff = await y.diff();
|
|
@@ -94,8 +134,16 @@ export class DiffUtility {
|
|
|
94
134
|
}
|
|
95
135
|
return diff;
|
|
96
136
|
}
|
|
137
|
+
/**
|
|
138
|
+
* Generate a deep diff of an object from the previous node vs the latest node.
|
|
139
|
+
* @param a previous node.
|
|
140
|
+
* @param b latest node.
|
|
141
|
+
* @param field string representing the field parent uses to reference the object.
|
|
142
|
+
*/
|
|
97
143
|
static diffObject(a, b, field) {
|
|
98
144
|
const diff = [];
|
|
145
|
+
// Iterate fields of previous (a). If found in latest (b), consider it an UPDATE.
|
|
146
|
+
// If not found in latest (b), consider it a DELETE.
|
|
99
147
|
for (const [key, value] of Object.entries(a[field])) {
|
|
100
148
|
if (b[field].hasOwnProperty(key)) {
|
|
101
149
|
if (typeof b[field][key] === 'object') {
|
|
@@ -113,6 +161,7 @@ export class DiffUtility {
|
|
|
113
161
|
diff.push(new Diff(a, DiffAction.DELETE, field, { key, value }));
|
|
114
162
|
}
|
|
115
163
|
}
|
|
164
|
+
// Iterate fields of latest (b). If not found in previous (a), consider it an ADD.
|
|
116
165
|
for (const [key, value] of Object.entries(b[field])) {
|
|
117
166
|
if (!a[field].hasOwnProperty(key)) {
|
|
118
167
|
diff.push(new Diff(b, DiffAction.ADD, field, { key, value }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.utility.js","sourceRoot":"","sources":["../../../src/functions/diff/diff.utility.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,OAAO,WAAW;IACd,MAAM,CAAC,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"diff.utility.js","sourceRoot":"","sources":["../../../src/functions/diff/diff.utility.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { CommitHookCallbackDoneEvent, PostCommitHookCallbackDoneEvent, PreCommitHookCallbackDoneEvent, } from '../../events/hook.event.js';
|
|
2
2
|
import { EventService } from '../../services/event/event.service.js';
|
|
3
3
|
export class CommitHook {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
constructor() {
|
|
5
|
+
this.postCommitHooks = [];
|
|
6
|
+
this.preCommitHooks = [];
|
|
7
|
+
}
|
|
7
8
|
collectHooks(registeredModules) {
|
|
8
9
|
for (const m of registeredModules) {
|
|
9
10
|
for (const { callback } of m.properties.postCommitHooks || []) {
|
|
@@ -21,6 +22,8 @@ export class CommitHook {
|
|
|
21
22
|
return this.instance;
|
|
22
23
|
}
|
|
23
24
|
registrar(descriptor) {
|
|
25
|
+
// `self` here references this class, vs `this` references the original method.
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
24
27
|
const self = this;
|
|
25
28
|
const originalMethod = descriptor.value;
|
|
26
29
|
descriptor.value = async function (...args) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commit.hook.js","sourceRoot":"","sources":["../../../src/functions/hook/commit.hook.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAIrE,MAAM,OAAO,UAAU;
|
|
1
|
+
{"version":3,"file":"commit.hook.js","sourceRoot":"","sources":["../../../src/functions/hook/commit.hook.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAIrE,MAAM,OAAO,UAAU;IAAvB;QAGmB,oBAAe,GAAgC,EAAE,CAAC;QAClD,mBAAc,GAAgC,EAAE,CAAC;IAgDpE,CAAC;IA9CC,YAAY,CAAC,iBAA6C;QACxD,KAAK,MAAM,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAClC,KAAK,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,eAAe,IAAI,EAAE,EAAE,CAAC;gBAC9D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtC,CAAC;YAED,KAAK,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC;gBAC7D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,UAAU,EAAE,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,SAAS,CAAC,UAA8B;QACtC,+EAA+E;QAC/E,4DAA4D;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC;QAElB,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;QAExC,UAAU,CAAC,KAAK,GAAG,KAAK,WAAW,GAAG,IAA+C;YACnF,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC3C,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACjC,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,8BAA8B,EAAE,CAAC,CAAC;YACxE,CAAC;YAED,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACvC,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,2BAA2B,EAAE,CAAC,CAAC;YAEnE,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC5C,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACjC,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,+BAA+B,EAAE,CAAC,CAAC;YACzE,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,KAAK;QACH,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;CACF"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { Container } from '
|
|
1
|
+
import { Container } from '../container/container.js';
|
|
2
2
|
import { ModelActionHookCallbackDoneEvent, PostModelActionHookCallbackDoneEvent, PreModelActionHookCallbackDoneEvent, } from '../../events/hook.event.js';
|
|
3
3
|
import { EventService } from '../../services/event/event.service.js';
|
|
4
4
|
import { InputService } from '../../services/input/input.service.js';
|
|
5
5
|
export class ModelActionHook {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
constructor() {
|
|
7
|
+
this.postModelActionHooks = {};
|
|
8
|
+
this.preModelActionHooks = {};
|
|
9
|
+
}
|
|
9
10
|
collectHooks(registeredModules) {
|
|
10
11
|
for (const m of registeredModules) {
|
|
11
12
|
for (const { ACTION_NAME, collectInput, handle } of m.properties.postModelActionHooks || []) {
|
|
@@ -29,6 +30,8 @@ export class ModelActionHook {
|
|
|
29
30
|
return this.instance;
|
|
30
31
|
}
|
|
31
32
|
registrar(modelAction) {
|
|
33
|
+
// `self` here references this class, vs `this` references the original method.
|
|
34
|
+
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
32
35
|
const self = this;
|
|
33
36
|
const originalHandleMethod = modelAction.handle;
|
|
34
37
|
modelAction.handle = async function (...args) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-action.hook.js","sourceRoot":"","sources":["../../../src/functions/hook/model-action.hook.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"model-action.hook.js","sourceRoot":"","sources":["../../../src/functions/hook/model-action.hook.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { PostResourceActionHookCallbackDoneEvent, PreResourceActionHookCallbackDoneEvent, ResourceActionHookCallbackDoneEvent, } from '../../events/hook.event.js';
|
|
2
2
|
import { EventService } from '../../services/event/event.service.js';
|
|
3
3
|
export class ResourceActionHook {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
constructor() {
|
|
5
|
+
this.postResourceActionHooks = {};
|
|
6
|
+
this.preResourceActionHooks = {};
|
|
7
|
+
}
|
|
7
8
|
collectHooks(registeredModules) {
|
|
8
9
|
for (const m of registeredModules) {
|
|
9
10
|
for (const { ACTION_NAME, handle } of m.properties.postResourceActionHooks || []) {
|
|
@@ -27,6 +28,8 @@ export class ResourceActionHook {
|
|
|
27
28
|
return this.instance;
|
|
28
29
|
}
|
|
29
30
|
registrar(resourceAction) {
|
|
31
|
+
// `self` here references this class, vs `this` references the original method.
|
|
32
|
+
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
30
33
|
const self = this;
|
|
31
34
|
const originalHandleMethod = resourceAction.handle;
|
|
32
35
|
resourceAction.handle = async function (...args) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-action.hook.js","sourceRoot":"","sources":["../../../src/functions/hook/resource-action.hook.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uCAAuC,EACvC,sCAAsC,EACtC,mCAAmC,GACpC,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAIrE,MAAM,OAAO,kBAAkB;
|
|
1
|
+
{"version":3,"file":"resource-action.hook.js","sourceRoot":"","sources":["../../../src/functions/hook/resource-action.hook.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import type { NodeType, UnknownNode } from '../../app.type.js';
|
|
2
|
+
import { Dependency, type DependencyRelationship } from '../dependency/dependency.js';
|
|
3
|
+
import { type Diff, DiffAction } from '../diff/diff.js';
|
|
4
|
+
import type { INode } from './node.interface.js';
|
|
5
|
+
/**
|
|
6
|
+
* This is Octo's base class, and all other classes extend from it.
|
|
7
|
+
* It helps provide a common set of methods and properties that is core to Octo.
|
|
8
|
+
*
|
|
9
|
+
* Octo is built as a graph, and this base class can be considered as a generic node.
|
|
10
|
+
* Nodes can have children, and siblings, but only if connected via an edge, called {@link Dependency} here.
|
|
11
|
+
*
|
|
12
|
+
* From this base class, three more base classes are derived,
|
|
13
|
+
* - [Models](/docs/fundamentals/models)
|
|
14
|
+
* - [Resources](/docs/fundamentals/resources)
|
|
15
|
+
* - [Overlays](/docs/fundamentals/overlay-and-anchor)
|
|
16
|
+
*
|
|
17
|
+
* Each of these derived base classes, using the base methods of this class,
|
|
18
|
+
* define their own specific rules on how their graphs should be constructed.
|
|
19
|
+
*/
|
|
20
|
+
export declare abstract class ANode<I, T> implements INode<I, T> {
|
|
21
|
+
/**
|
|
22
|
+
* {@inheritDoc INode.NODE_NAME}
|
|
23
|
+
*/
|
|
24
|
+
abstract readonly NODE_NAME: string;
|
|
25
|
+
/**
|
|
26
|
+
* {@inheritDoc INode.NODE_TYPE}
|
|
27
|
+
*/
|
|
28
|
+
abstract readonly NODE_TYPE: NodeType;
|
|
29
|
+
/**
|
|
30
|
+
* The context of the node.
|
|
31
|
+
* It is a string representation of self that uniquely identifies self in the graph.
|
|
32
|
+
*/
|
|
33
|
+
private context;
|
|
34
|
+
/**
|
|
35
|
+
* A set of node dependencies with other nodes, represented using a {@link Dependency}.
|
|
36
|
+
*/
|
|
37
|
+
private readonly dependencies;
|
|
38
|
+
addChild(onField: keyof T | string, child: UnknownNode, toField: string): {
|
|
39
|
+
childToParentDependency: Dependency;
|
|
40
|
+
parentToChildDependency: Dependency;
|
|
41
|
+
};
|
|
42
|
+
addFieldDependency(behaviors: {
|
|
43
|
+
forAction: DiffAction;
|
|
44
|
+
onAction: DiffAction;
|
|
45
|
+
onField: keyof T | string;
|
|
46
|
+
toField: keyof T | string;
|
|
47
|
+
}[]): void;
|
|
48
|
+
addRelationship(to: UnknownNode): {
|
|
49
|
+
thatToThisDependency: Dependency;
|
|
50
|
+
thisToThatDependency: Dependency;
|
|
51
|
+
};
|
|
52
|
+
abstract diff(previous?: T): Promise<Diff[]>;
|
|
53
|
+
abstract diffProperties(previous: T): Promise<Diff[]>;
|
|
54
|
+
getAncestors(): UnknownNode[];
|
|
55
|
+
getBoundaryMembers(): UnknownNode[];
|
|
56
|
+
getChild(name: string, filters?: {
|
|
57
|
+
key: string;
|
|
58
|
+
value: any;
|
|
59
|
+
}[]): UnknownNode | undefined;
|
|
60
|
+
getChildren(name?: string): {
|
|
61
|
+
[key: string]: Dependency[];
|
|
62
|
+
};
|
|
63
|
+
getContext(): string;
|
|
64
|
+
getDependencies(to?: UnknownNode): Dependency[];
|
|
65
|
+
getDependency(to: UnknownNode, relationship: DependencyRelationship): Dependency | undefined;
|
|
66
|
+
getDependencyIndex(to: UnknownNode, relationship: DependencyRelationship): number;
|
|
67
|
+
getParents(name?: string): {
|
|
68
|
+
[key: string]: Dependency[];
|
|
69
|
+
};
|
|
70
|
+
getSiblings(name?: string): {
|
|
71
|
+
[key: string]: Dependency[];
|
|
72
|
+
};
|
|
73
|
+
hasAncestor(node: UnknownNode): boolean;
|
|
74
|
+
removeDependency(dependencyIndex: number): void;
|
|
75
|
+
removeRelationship(node: UnknownNode): void;
|
|
76
|
+
abstract setContext(): string;
|
|
77
|
+
abstract synth(): I;
|
|
78
|
+
/**
|
|
79
|
+
* To create self given its serialized representation.
|
|
80
|
+
* - First argument is the serialized representation.
|
|
81
|
+
* - Second argument is the `deReferenceContext()` function to resolve other nodes self depends on.
|
|
82
|
+
*/
|
|
83
|
+
static unSynth(...args: unknown[]): Promise<UnknownNode>;
|
|
84
|
+
}
|