@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,96 +0,0 @@
|
|
|
1
|
-
export class Container {
|
|
2
|
-
static FACTORY_TIMEOUT_IN_MS = 5000;
|
|
3
|
-
static factories = {};
|
|
4
|
-
static async get(type, options) {
|
|
5
|
-
const args = options?.args || [];
|
|
6
|
-
const metadata = options?.metadata;
|
|
7
|
-
const name = typeof type === 'string' ? type : type.name;
|
|
8
|
-
if (!(name in this.factories)) {
|
|
9
|
-
this.factories[name] = [];
|
|
10
|
-
}
|
|
11
|
-
let factoryContainer;
|
|
12
|
-
if (!metadata) {
|
|
13
|
-
factoryContainer = this.factories[name].find((f) => f.default);
|
|
14
|
-
}
|
|
15
|
-
else {
|
|
16
|
-
const filters = [];
|
|
17
|
-
for (const key in metadata) {
|
|
18
|
-
filters.push({ key, value: metadata[key] });
|
|
19
|
-
}
|
|
20
|
-
factoryContainer = this.factories[name].find((f) => filters.every((c) => f.metadata[c.key] === c.value));
|
|
21
|
-
}
|
|
22
|
-
if (factoryContainer?.factory) {
|
|
23
|
-
if (!Array.isArray(factoryContainer.factory)) {
|
|
24
|
-
return factoryContainer.factory.create(...args);
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
const factory = await factoryContainer.factory[0];
|
|
28
|
-
return factory.create(...args);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
const newFactoryContainer = {
|
|
32
|
-
default: true,
|
|
33
|
-
metadata,
|
|
34
|
-
};
|
|
35
|
-
this.factories[name].push(newFactoryContainer);
|
|
36
|
-
let promiseResolver;
|
|
37
|
-
let promiseTimeout;
|
|
38
|
-
const promise = new Promise((resolve, reject) => {
|
|
39
|
-
promiseTimeout = setTimeout(() => {
|
|
40
|
-
reject(new Error(`Timed out waiting for factory ${name} to resolve!`));
|
|
41
|
-
}, this.FACTORY_TIMEOUT_IN_MS);
|
|
42
|
-
promiseResolver = resolve;
|
|
43
|
-
});
|
|
44
|
-
newFactoryContainer.factory = [promise, promiseResolver];
|
|
45
|
-
const factory = await promise;
|
|
46
|
-
if (promiseTimeout) {
|
|
47
|
-
clearTimeout(promiseTimeout);
|
|
48
|
-
}
|
|
49
|
-
return factory.create(...args);
|
|
50
|
-
}
|
|
51
|
-
static registerFactory(type, factory, options) {
|
|
52
|
-
const metadata = options?.metadata || {};
|
|
53
|
-
const name = typeof type === 'string' ? type : type.name;
|
|
54
|
-
if (!(name in this.factories)) {
|
|
55
|
-
this.factories[name] = [];
|
|
56
|
-
}
|
|
57
|
-
const filters = [];
|
|
58
|
-
for (const key in metadata) {
|
|
59
|
-
filters.push({ key, value: metadata[key] });
|
|
60
|
-
}
|
|
61
|
-
const factoryContainer = this.factories[name].find((f) => filters.every((c) => f.metadata[c.key] === c.value));
|
|
62
|
-
if (factoryContainer?.factory) {
|
|
63
|
-
if (!Array.isArray(factoryContainer.factory)) {
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
factoryContainer.metadata = metadata;
|
|
67
|
-
const resolve = factoryContainer.factory[1];
|
|
68
|
-
resolve(factory);
|
|
69
|
-
factoryContainer.factory = factory;
|
|
70
|
-
this.setDefault(type, factory);
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
this.factories[name].push({ default: false, factory, metadata });
|
|
74
|
-
this.setDefault(type, factory);
|
|
75
|
-
}
|
|
76
|
-
static reset() {
|
|
77
|
-
this.FACTORY_TIMEOUT_IN_MS = 5000;
|
|
78
|
-
for (const name in this.factories) {
|
|
79
|
-
delete this.factories[name];
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
static setDefault(type, factory) {
|
|
83
|
-
const name = typeof type === 'string' ? type : type.name;
|
|
84
|
-
this.factories[name]?.forEach((f) => {
|
|
85
|
-
f.default = f.factory.name === factory.name;
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
static setFactoryTimeout(timeoutInMs) {
|
|
89
|
-
this.FACTORY_TIMEOUT_IN_MS = timeoutInMs;
|
|
90
|
-
}
|
|
91
|
-
static unRegisterFactory(type) {
|
|
92
|
-
const name = typeof type === 'string' ? type : type.name;
|
|
93
|
-
delete this.factories[name];
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
//# sourceMappingURL=container.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/decorators/container.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { Constructable } from '../app.type.js';
|
|
2
|
-
type FactoryMock<T> = {
|
|
3
|
-
metadata?: {
|
|
4
|
-
[key: string]: string;
|
|
5
|
-
};
|
|
6
|
-
type: Constructable<T> | string;
|
|
7
|
-
value: T;
|
|
8
|
-
};
|
|
9
|
-
type TestContainerSubjects = {
|
|
10
|
-
importFrom?: Constructable<IPackageMock>[];
|
|
11
|
-
mocks?: FactoryMock<unknown>[];
|
|
12
|
-
};
|
|
13
|
-
type TestContainerOptions = {
|
|
14
|
-
factoryTimeoutInMs?: number;
|
|
15
|
-
};
|
|
16
|
-
export interface IPackageMock {
|
|
17
|
-
destroy: () => Promise<void>;
|
|
18
|
-
getMocks: () => FactoryMock<unknown>[];
|
|
19
|
-
init(): Promise<void>;
|
|
20
|
-
}
|
|
21
|
-
export declare class TestContainer {
|
|
22
|
-
private static packageMocks;
|
|
23
|
-
private static createTestFactory;
|
|
24
|
-
static create(subjects: TestContainerSubjects, options?: TestContainerOptions): Promise<void>;
|
|
25
|
-
static reset(): Promise<void>;
|
|
26
|
-
}
|
|
27
|
-
export {};
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { DiffUtility } from '../functions/diff/diff.utility.js';
|
|
2
|
-
import { Container } from './container.js';
|
|
3
|
-
export class TestContainer {
|
|
4
|
-
static packageMocks = [];
|
|
5
|
-
static createTestFactory(mock) {
|
|
6
|
-
return class {
|
|
7
|
-
static mock = mock;
|
|
8
|
-
static async create() {
|
|
9
|
-
return this.mock.value;
|
|
10
|
-
}
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
static async create(subjects, options) {
|
|
14
|
-
const oldFactories = { ...Container['factories'] };
|
|
15
|
-
Container.reset();
|
|
16
|
-
if (options?.factoryTimeoutInMs) {
|
|
17
|
-
Container.setFactoryTimeout(options.factoryTimeoutInMs);
|
|
18
|
-
}
|
|
19
|
-
const importedMocks = [];
|
|
20
|
-
for (const mockClass of subjects.importFrom || []) {
|
|
21
|
-
const mock = new mockClass();
|
|
22
|
-
await mock.init();
|
|
23
|
-
importedMocks.push(...mock.getMocks());
|
|
24
|
-
this.packageMocks.push(mock);
|
|
25
|
-
}
|
|
26
|
-
subjects.mocks = [...importedMocks, ...(subjects.mocks || [])];
|
|
27
|
-
for (const mock of subjects.mocks) {
|
|
28
|
-
const mockClassName = typeof mock.type === 'string' ? mock.type : mock.type.name;
|
|
29
|
-
const mockMetadata = mock.metadata || {};
|
|
30
|
-
const registeredFactories = oldFactories[mockClassName] || [];
|
|
31
|
-
const matchingFactoryIndex = registeredFactories.findIndex((f) => DiffUtility.isObjectDeepEquals(f.metadata, mockMetadata));
|
|
32
|
-
if (matchingFactoryIndex > -1) {
|
|
33
|
-
oldFactories[mockClassName][matchingFactoryIndex].factory = this.createTestFactory(mock);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
for (const name in oldFactories) {
|
|
37
|
-
for (const oldFactory of oldFactories[name]) {
|
|
38
|
-
Container.registerFactory(name, oldFactory.factory, { metadata: oldFactory.metadata });
|
|
39
|
-
if (oldFactory.default) {
|
|
40
|
-
Container.setDefault(name, oldFactory.factory);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
static async reset() {
|
|
46
|
-
for (const mock of this.packageMocks) {
|
|
47
|
-
await mock.destroy();
|
|
48
|
-
}
|
|
49
|
-
Container.reset();
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=test-container.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-container.js","sourceRoot":"","sources":["../../src/decorators/test-container.ts"],"names":[],"mappings":"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"}
|