@quadnix/octo 0.0.21 → 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 +3 -1
- package/dist/app.type.js +7 -7
- package/dist/app.type.js.map +1 -1
- package/dist/decorators/action.decorator.d.ts +6 -6
- package/dist/decorators/action.decorator.js +9 -9
- package/dist/decorators/action.decorator.js.map +1 -1
- package/dist/decorators/anchor.decorator.js +1 -1
- package/dist/decorators/anchor.decorator.js.map +1 -1
- package/dist/decorators/factory.decorator.d.ts +34 -15
- package/dist/decorators/factory.decorator.js +36 -13
- package/dist/decorators/factory.decorator.js.map +1 -1
- package/dist/decorators/model.decorator.js +1 -1
- package/dist/decorators/model.decorator.js.map +1 -1
- package/dist/decorators/module.decorator.d.ts +36 -32
- package/dist/decorators/module.decorator.js +2 -2
- package/dist/decorators/module.decorator.js.map +1 -1
- package/dist/decorators/overlay.decorator.js +1 -1
- package/dist/decorators/overlay.decorator.js.map +1 -1
- package/dist/decorators/resource.decorator.js +1 -1
- package/dist/decorators/resource.decorator.js.map +1 -1
- package/dist/{decorators → functions/container}/container.d.ts +2 -33
- package/dist/{decorators → functions/container}/container.js +8 -63
- package/dist/functions/container/container.js.map +1 -0
- package/dist/{decorators → functions/container}/test-container.d.ts +2 -6
- package/dist/{decorators → functions/container}/test-container.js +7 -14
- 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.map +1 -1
- package/dist/functions/diff/diff-metadata.d.ts +2 -2
- package/dist/functions/diff/diff-metadata.js +1 -1
- package/dist/functions/diff/diff-metadata.js.map +1 -1
- package/dist/functions/diff/diff.d.ts +4 -4
- package/dist/functions/diff/diff.js +6 -10
- package/dist/functions/diff/diff.js.map +1 -1
- package/dist/functions/diff/diff.utility.d.ts +23 -23
- package/dist/functions/diff/diff.utility.js +23 -23
- package/dist/functions/diff/diff.utility.js.map +1 -1
- package/dist/functions/hook/commit.hook.js.map +1 -1
- package/dist/functions/hook/model-action.hook.js +1 -1
- package/dist/functions/hook/model-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 +11 -12
- package/dist/index.js +10 -11
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts +7 -9
- package/dist/main.js +51 -24
- package/dist/main.js.map +1 -1
- package/dist/models/app/app.model.d.ts +1 -3
- package/dist/models/app/app.model.js +5 -8
- package/dist/models/app/app.model.js.map +1 -1
- package/dist/models/deployment/deployment.model.d.ts +1 -3
- package/dist/models/deployment/deployment.model.js +5 -8
- package/dist/models/deployment/deployment.model.js.map +1 -1
- package/dist/models/environment/environment.model.d.ts +1 -3
- package/dist/models/environment/environment.model.js +5 -9
- package/dist/models/environment/environment.model.js.map +1 -1
- package/dist/models/execution/execution.model.d.ts +1 -3
- package/dist/models/execution/execution.model.js +2 -6
- package/dist/models/execution/execution.model.js.map +1 -1
- package/dist/models/image/image.model.d.ts +1 -3
- package/dist/models/image/image.model.js +5 -8
- package/dist/models/image/image.model.js.map +1 -1
- package/dist/models/model-action.interface.d.ts +2 -6
- package/dist/models/model.abstract.d.ts +7 -307
- package/dist/models/model.abstract.js +20 -560
- package/dist/models/model.abstract.js.map +1 -1
- package/dist/models/model.interface.d.ts +36 -21
- package/dist/models/pipeline/pipeline.model.d.ts +1 -3
- package/dist/models/pipeline/pipeline.model.js +5 -9
- package/dist/models/pipeline/pipeline.model.js.map +1 -1
- package/dist/models/region/region.model.d.ts +1 -3
- package/dist/models/region/region.model.js +5 -8
- package/dist/models/region/region.model.js.map +1 -1
- package/dist/models/server/server.model.d.ts +1 -3
- package/dist/models/server/server.model.js +5 -8
- package/dist/models/server/server.model.js.map +1 -1
- package/dist/models/service/service.model.d.ts +1 -3
- package/dist/models/service/service.model.js +3 -7
- package/dist/models/service/service.model.js.map +1 -1
- package/dist/models/subnet/subnet.model.d.ts +3 -4
- package/dist/models/subnet/subnet.model.js +9 -18
- package/dist/models/subnet/subnet.model.js.map +1 -1
- package/dist/modules/module.container.d.ts +2 -2
- package/dist/modules/module.container.js.map +1 -1
- package/dist/modules/test-module.container.d.ts +2 -2
- package/dist/modules/test-module.container.js +8 -10
- package/dist/modules/test-module.container.js.map +1 -1
- package/dist/overlays/overlay-data.repository.d.ts +2 -4
- package/dist/overlays/overlay-data.repository.js +8 -33
- 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 -5
- 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 +115 -15
- 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 +144 -10
- 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 +2 -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 +2 -2
- package/dist/services/capture/capture.service.js.map +1 -1
- package/dist/services/event/event.service.js +1 -1
- package/dist/services/event/event.service.js.map +1 -1
- package/dist/services/input/input.service.js +2 -2
- package/dist/services/input/input.service.js.map +1 -1
- package/dist/services/serialization/model/model-serialization.service.js +4 -11
- 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 +15 -18
- package/dist/services/serialization/resource/resource-serialization.service.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 -7
- package/dist/services/state-management/state-management.service.js.map +1 -1
- package/dist/services/transaction/transaction.service.d.ts +2 -3
- package/dist/services/transaction/transaction.service.js +88 -90
- package/dist/services/transaction/transaction.service.js.map +1 -1
- package/package.json +1 -1
- package/dist/decorators/container.js.map +0 -1
- package/dist/decorators/test-container.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container.js","sourceRoot":"","sources":["../../../src/functions/container/container.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import type { Constructable } from '
|
|
1
|
+
import type { Constructable } from '../../app.type.js';
|
|
2
2
|
type FactoryMock<T> = {
|
|
3
|
-
metadata?: {
|
|
4
|
-
[key: string]: string;
|
|
5
|
-
};
|
|
6
3
|
type: Constructable<T> | string;
|
|
7
4
|
value: T;
|
|
8
5
|
};
|
|
@@ -45,7 +42,7 @@ export declare class TestContainer {
|
|
|
45
42
|
* importFrom: [OctoAwsCdkPackageMock],
|
|
46
43
|
* mocks: [
|
|
47
44
|
* { type: MyClass, value: jest.fn() },
|
|
48
|
-
* {
|
|
45
|
+
* { type: AnotherClass, value: new AnotherClass() },
|
|
49
46
|
* ],
|
|
50
47
|
* }, { factoryTimeoutInMs: 500 });
|
|
51
48
|
* });
|
|
@@ -55,7 +52,6 @@ export declare class TestContainer {
|
|
|
55
52
|
* - `importFrom` is an array of {@link IPackageMock} classes, to import custom mocks,
|
|
56
53
|
* such as from octo-aws-cdk package - [OctoAwsCdkPackageMock](/api/octo-aws-cdk/class/OctoAwsCdkPackageMock).
|
|
57
54
|
* - `mocks` is an array of objects, to override the default factories.
|
|
58
|
-
* - Use `metadata?: { [key: string]: string }` to identify the factory being mocked.
|
|
59
55
|
* - Use `type: Constructable<T> | string` to identify the class being mocked.
|
|
60
56
|
* - Use `value: T` to provide the mocked value.
|
|
61
57
|
* @param options Options to configure TestContainer.
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { DiffUtility } from '../functions/diff/diff.utility.js';
|
|
2
1
|
import { Container } from './container.js';
|
|
3
2
|
/**
|
|
4
3
|
* The TestContainer class is an isolated {@link Container} for tests.
|
|
@@ -34,7 +33,7 @@ export class TestContainer {
|
|
|
34
33
|
* importFrom: [OctoAwsCdkPackageMock],
|
|
35
34
|
* mocks: [
|
|
36
35
|
* { type: MyClass, value: jest.fn() },
|
|
37
|
-
* {
|
|
36
|
+
* { type: AnotherClass, value: new AnotherClass() },
|
|
38
37
|
* ],
|
|
39
38
|
* }, { factoryTimeoutInMs: 500 });
|
|
40
39
|
* });
|
|
@@ -44,7 +43,6 @@ export class TestContainer {
|
|
|
44
43
|
* - `importFrom` is an array of {@link IPackageMock} classes, to import custom mocks,
|
|
45
44
|
* such as from octo-aws-cdk package - [OctoAwsCdkPackageMock](/api/octo-aws-cdk/class/OctoAwsCdkPackageMock).
|
|
46
45
|
* - `mocks` is an array of objects, to override the default factories.
|
|
47
|
-
* - Use `metadata?: { [key: string]: string }` to identify the factory being mocked.
|
|
48
46
|
* - Use `type: Constructable<T> | string` to identify the class being mocked.
|
|
49
47
|
* - Use `value: T` to provide the mocked value.
|
|
50
48
|
* @param options Options to configure TestContainer.
|
|
@@ -66,20 +64,15 @@ export class TestContainer {
|
|
|
66
64
|
subjects.mocks = [...importedMocks, ...(subjects.mocks || [])];
|
|
67
65
|
for (const mock of subjects.mocks) {
|
|
68
66
|
const mockClassName = typeof mock.type === 'string' ? mock.type : mock.type.name;
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
oldFactories[mockClassName]
|
|
67
|
+
if (!oldFactories[mockClassName]) {
|
|
68
|
+
oldFactories[mockClassName] = { factory: this.createTestFactory(mock) };
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
oldFactories[mockClassName].factory = this.createTestFactory(mock);
|
|
74
72
|
}
|
|
75
73
|
}
|
|
76
74
|
for (const name in oldFactories) {
|
|
77
|
-
|
|
78
|
-
Container.registerFactory(name, oldFactory.factory, { metadata: oldFactory.metadata });
|
|
79
|
-
if (oldFactory.default) {
|
|
80
|
-
Container.setDefault(name, oldFactory.factory);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
75
|
+
Container.registerFactory(name, oldFactories[name].factory);
|
|
83
76
|
}
|
|
84
77
|
}
|
|
85
78
|
/**
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-container.js","sourceRoot":"","sources":["../../../src/functions/container/test-container.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAuB3C;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,aAAa;aACT,iBAAY,GAAmB,EAAE,CAAC;IAEzC,MAAM,CAAC,iBAAiB,CAAI,IAAoB;QACtD,OAAO;qBACE,SAAI,GAAmB,IAAI,CAAC;YAEnC,MAAM,CAAC,KAAK,CAAC,MAAM;gBACjB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACzB,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAA+B,EAAE,OAA8B;QACjF,MAAM,YAAY,GAAG,EAAE,GAAG,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;QACnD,SAAS,CAAC,KAAK,EAAE,CAAC;QAElB,IAAI,OAAO,EAAE,kBAAkB,EAAE,CAAC;YAChC,SAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,aAAa,GAA2B,EAAE,CAAC;QACjD,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;YAClD,MAAM,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAElB,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAED,QAAQ,CAAC,KAAK,GAAG,CAAC,GAAG,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;QAE/D,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YAClC,MAAM,aAAa,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACjF,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC;gBACjC,YAAY,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1E,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,aAAa,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,OAA2B,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK;QAChB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QACD,SAAS,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import {
|
|
1
|
+
import type { UnknownNode } from '../../app.type.js';
|
|
2
|
+
import type { DiffAction } from '../diff/diff.js';
|
|
3
3
|
declare class DependencyBehavior {
|
|
4
4
|
forAction: DiffAction;
|
|
5
5
|
onAction: DiffAction;
|
|
@@ -28,10 +28,10 @@ export interface IDependency {
|
|
|
28
28
|
}
|
|
29
29
|
export declare class Dependency {
|
|
30
30
|
private readonly behaviors;
|
|
31
|
-
readonly from:
|
|
31
|
+
readonly from: UnknownNode;
|
|
32
32
|
private relationship;
|
|
33
|
-
readonly to:
|
|
34
|
-
constructor(from:
|
|
33
|
+
readonly to: UnknownNode;
|
|
34
|
+
constructor(from: UnknownNode, to: UnknownNode);
|
|
35
35
|
private getBehaviorIndex;
|
|
36
36
|
addBehavior(onField: string, onAction: DiffAction, toField: string, forAction: DiffAction): void;
|
|
37
37
|
addChildRelationship(onField: string, toField: string): void;
|
|
@@ -47,6 +47,6 @@ export declare class Dependency {
|
|
|
47
47
|
} | undefined;
|
|
48
48
|
removeBehavior(onField: string, onAction: DiffAction, toField: string, forAction: DiffAction): void;
|
|
49
49
|
synth(): IDependency;
|
|
50
|
-
static unSynth(from:
|
|
50
|
+
static unSynth(from: UnknownNode, to: UnknownNode, dependency: IDependency): Dependency;
|
|
51
51
|
}
|
|
52
52
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependency.js","sourceRoot":"","sources":["../../../src/functions/dependency/dependency.ts"],"names":[],"mappings":"AAGA,MAAM,kBAAkB;IAStB,YAAY,OAAe,EAAE,QAAoB,EAAE,OAAe,EAAE,SAAqB;QACvF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,CAAN,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,yCAAe,CAAA;IACf,2CAAiB,CAAA;AACnB,CAAC,EAHW,sBAAsB,KAAtB,sBAAsB,QAGjC;AAqBD,MAAM,OAAO,UAAU;IASrB,YAAY,
|
|
1
|
+
{"version":3,"file":"dependency.js","sourceRoot":"","sources":["../../../src/functions/dependency/dependency.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ActionInputs, ActionOutputs,
|
|
1
|
+
import type { ActionInputs, ActionOutputs, UnknownNode } from '../../app.type.js';
|
|
2
2
|
import type { IModelAction } from '../../models/model-action.interface.js';
|
|
3
3
|
import type { IResourceAction } from '../../resources/resource-action.interface.js';
|
|
4
4
|
import type { Diff, DiffAction } from './diff.js';
|
|
@@ -9,7 +9,7 @@ export declare class DiffMetadata {
|
|
|
9
9
|
readonly diff: Diff;
|
|
10
10
|
readonly action: DiffAction;
|
|
11
11
|
readonly field: string;
|
|
12
|
-
readonly
|
|
12
|
+
readonly node: UnknownNode;
|
|
13
13
|
readonly value: unknown;
|
|
14
14
|
readonly inputs: ActionInputs;
|
|
15
15
|
readonly outputs: ActionOutputs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff-metadata.js","sourceRoot":"","sources":["../../../src/functions/diff/diff-metadata.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,YAAY;IAcvB,YAAY,IAAU,EAAE,OAA2C;QAH1D,WAAM,GAAiB,EAAE,CAAC;QAC1B,YAAO,GAAkB,EAAE,CAAC;QAGnC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;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,
|
|
1
|
+
{"version":3,"file":"diff-metadata.js","sourceRoot":"","sources":["../../../src/functions/diff/diff-metadata.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,YAAY;IAcvB,YAAY,IAAU,EAAE,OAA2C;QAH1D,WAAM,GAAiB,EAAE,CAAC;QAC1B,YAAO,GAAkB,EAAE,CAAC;QAGnC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;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,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { UnknownNode } from '../../app.type.js';
|
|
2
2
|
export declare enum DiffAction {
|
|
3
3
|
ADD = "add",
|
|
4
4
|
DELETE = "delete",
|
|
@@ -8,11 +8,11 @@ export declare enum DiffAction {
|
|
|
8
8
|
export declare class Diff {
|
|
9
9
|
readonly action: DiffAction;
|
|
10
10
|
readonly field: string;
|
|
11
|
-
readonly
|
|
11
|
+
readonly node: UnknownNode;
|
|
12
12
|
readonly value: unknown;
|
|
13
|
-
constructor(
|
|
13
|
+
constructor(node: Diff['node'], action: Diff['action'], field: Diff['field'], value: Diff['value']);
|
|
14
14
|
/**
|
|
15
|
-
* Overrides JSON.serialize() to output a more succinct
|
|
15
|
+
* Overrides JSON.serialize() to output a more succinct representation of diff.
|
|
16
16
|
*/
|
|
17
17
|
toJSON(): object;
|
|
18
18
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AModel } from '../../models/model.abstract.js';
|
|
2
1
|
import { AAnchor } from '../../overlays/anchor.abstract.js';
|
|
2
|
+
import { ANode } from '../node/node.abstract.js';
|
|
3
3
|
export var DiffAction;
|
|
4
4
|
(function (DiffAction) {
|
|
5
5
|
DiffAction["ADD"] = "add";
|
|
@@ -8,22 +8,18 @@ export var DiffAction;
|
|
|
8
8
|
DiffAction["UPDATE"] = "update";
|
|
9
9
|
})(DiffAction || (DiffAction = {}));
|
|
10
10
|
export class Diff {
|
|
11
|
-
constructor(
|
|
12
|
-
this.
|
|
11
|
+
constructor(node, action, field, value) {
|
|
12
|
+
this.node = node;
|
|
13
13
|
this.action = action;
|
|
14
14
|
this.field = field;
|
|
15
15
|
this.value = value;
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
|
-
* Overrides JSON.serialize() to output a more succinct
|
|
18
|
+
* Overrides JSON.serialize() to output a more succinct representation of diff.
|
|
19
19
|
*/
|
|
20
20
|
toJSON() {
|
|
21
|
-
let model = this.model;
|
|
22
|
-
if (model instanceof AModel) {
|
|
23
|
-
model = model.getContext();
|
|
24
|
-
}
|
|
25
21
|
let value = this.value;
|
|
26
|
-
if (value instanceof
|
|
22
|
+
if (value instanceof ANode) {
|
|
27
23
|
value = value.getContext();
|
|
28
24
|
}
|
|
29
25
|
else if (value instanceof AAnchor) {
|
|
@@ -32,7 +28,7 @@ export class Diff {
|
|
|
32
28
|
return {
|
|
33
29
|
action: this.action,
|
|
34
30
|
field: this.field,
|
|
35
|
-
|
|
31
|
+
node: this.node.getContext(),
|
|
36
32
|
value,
|
|
37
33
|
};
|
|
38
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../src/functions/diff/diff.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../src/functions/diff/diff.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEjD,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,yBAAW,CAAA;IACX,+BAAiB,CAAA;IACjB,iCAAmB,CAAA;IACnB,+BAAiB,CAAA;AACnB,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAED,MAAM,OAAO,IAAI;IASf,YAAY,IAAkB,EAAE,MAAsB,EAAE,KAAoB,EAAE,KAAoB;QAChG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QAC7B,CAAC;aAAM,IAAI,KAAK,YAAY,OAAO,EAAE,CAAC;YACpC,KAAK,GAAG,YAAY,KAAK,CAAC,QAAQ,EAAE,CAAC;QACvC,CAAC;QAED,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAC5B,KAAK;SACN,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,43 +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
6
|
/**
|
|
7
|
-
* Generate a deep diff of an array of basic types from the previous
|
|
8
|
-
* @param a previous
|
|
9
|
-
* @param b latest
|
|
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
10
|
* @param field string representing the field parent uses to reference the array.
|
|
11
11
|
*/
|
|
12
|
-
static diffArray(a:
|
|
12
|
+
static diffArray(a: UnknownNode, b: UnknownNode, field: string): Diff[];
|
|
13
13
|
/**
|
|
14
|
-
* Generate a deep diff of an array of objects from the previous
|
|
15
|
-
* @param a previous
|
|
16
|
-
* @param b latest
|
|
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
17
|
* @param field string representing the field parent uses to reference the array.
|
|
18
18
|
* @param compare function to check if two objects are equal.
|
|
19
19
|
*/
|
|
20
|
-
static diffArrayOfObjects(a:
|
|
20
|
+
static diffArrayOfObjects(a: UnknownNode, b: UnknownNode, field: string, compare: (object1: any, object2: any) => boolean): Diff[];
|
|
21
21
|
/**
|
|
22
|
-
* Generate a deep diff of a map of basic types from the previous
|
|
23
|
-
* @param a previous
|
|
24
|
-
* @param b latest
|
|
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
25
|
* @param field string representing the field parent uses to reference the map.
|
|
26
26
|
*/
|
|
27
|
-
static diffMap(a:
|
|
27
|
+
static diffMap(a: UnknownNode, b: UnknownNode, field: string): Diff[];
|
|
28
28
|
/**
|
|
29
|
-
* Generate a deep diff of an array of previous
|
|
30
|
-
* The diff is generated recursively, i.e. all children of the
|
|
31
|
-
* @param a array of previous
|
|
32
|
-
* @param b array of latest
|
|
33
|
-
* @param field string representing the unique identifier of the
|
|
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
34
|
*/
|
|
35
|
-
static
|
|
35
|
+
static diffNodes(a: UnknownNode[], b: UnknownNode[], field: string): Promise<Diff[]>;
|
|
36
36
|
/**
|
|
37
|
-
* Generate a deep diff of an object from the previous
|
|
38
|
-
* @param a previous
|
|
39
|
-
* @param b latest
|
|
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
40
|
* @param field string representing the field parent uses to reference the object.
|
|
41
41
|
*/
|
|
42
|
-
static diffObject(a:
|
|
42
|
+
static diffObject(a: UnknownNode, b: UnknownNode, field: string): Diff[];
|
|
43
43
|
}
|
|
@@ -1,16 +1,16 @@
|
|
|
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
16
|
// Source: https://stackoverflow.com/a/32922084/1834562
|
|
@@ -21,9 +21,9 @@ export class DiffUtility {
|
|
|
21
21
|
: x === y;
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
|
-
* Generate a deep diff of an array of basic types from the previous
|
|
25
|
-
* @param a previous
|
|
26
|
-
* @param b latest
|
|
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
27
|
* @param field string representing the field parent uses to reference the array.
|
|
28
28
|
*/
|
|
29
29
|
static diffArray(a, b, field) {
|
|
@@ -49,9 +49,9 @@ export class DiffUtility {
|
|
|
49
49
|
return diff;
|
|
50
50
|
}
|
|
51
51
|
/**
|
|
52
|
-
* Generate a deep diff of an array of objects from the previous
|
|
53
|
-
* @param a previous
|
|
54
|
-
* @param b latest
|
|
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
55
|
* @param field string representing the field parent uses to reference the array.
|
|
56
56
|
* @param compare function to check if two objects are equal.
|
|
57
57
|
*/
|
|
@@ -76,9 +76,9 @@ export class DiffUtility {
|
|
|
76
76
|
return diff;
|
|
77
77
|
}
|
|
78
78
|
/**
|
|
79
|
-
* Generate a deep diff of a map of basic types from the previous
|
|
80
|
-
* @param a previous
|
|
81
|
-
* @param b latest
|
|
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
82
|
* @param field string representing the field parent uses to reference the map.
|
|
83
83
|
*/
|
|
84
84
|
static diffMap(a, b, field) {
|
|
@@ -104,13 +104,13 @@ export class DiffUtility {
|
|
|
104
104
|
return diff;
|
|
105
105
|
}
|
|
106
106
|
/**
|
|
107
|
-
* Generate a deep diff of an array of previous
|
|
108
|
-
* The diff is generated recursively, i.e. all children of the
|
|
109
|
-
* @param a array of previous
|
|
110
|
-
* @param b array of latest
|
|
111
|
-
* @param field string representing the unique identifier of the
|
|
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
112
|
*/
|
|
113
|
-
static async
|
|
113
|
+
static async diffNodes(a, b, field) {
|
|
114
114
|
const diff = [];
|
|
115
115
|
// Iterate fields of previous (a). If found in latest (b), get recursive diff of children of b vs a.
|
|
116
116
|
// If not found in latest (b), consider it a DELETE.
|
|
@@ -135,9 +135,9 @@ export class DiffUtility {
|
|
|
135
135
|
return diff;
|
|
136
136
|
}
|
|
137
137
|
/**
|
|
138
|
-
* Generate a deep diff of an object from the previous
|
|
139
|
-
* @param a previous
|
|
140
|
-
* @param b latest
|
|
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
141
|
* @param field string representing the field parent uses to reference the object.
|
|
142
142
|
*/
|
|
143
143
|
static diffObject(a, b, field) {
|
|
@@ -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 +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;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,
|
|
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,4 +1,4 @@
|
|
|
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';
|
|
@@ -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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"}
|
|
@@ -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
|
+
}
|