@quadnix/octo 0.0.21 → 0.0.23
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 +124 -27
- package/dist/app.type.js +77 -7
- package/dist/app.type.js.map +1 -1
- package/dist/decorators/action.decorator.d.ts +7 -8
- package/dist/decorators/action.decorator.js +45 -44
- package/dist/decorators/action.decorator.js.map +1 -1
- package/dist/decorators/anchor.decorator.d.ts +2 -2
- package/dist/decorators/anchor.decorator.js +16 -11
- package/dist/decorators/anchor.decorator.js.map +1 -1
- package/dist/decorators/enable-hook.decorator.js +2 -2
- package/dist/decorators/enable-hook.decorator.js.map +1 -1
- package/dist/decorators/event-source.decorator.d.ts +1 -1
- package/dist/decorators/event-source.decorator.js +7 -2
- package/dist/decorators/event-source.decorator.js.map +1 -1
- package/dist/decorators/factory.decorator.d.ts +32 -1
- package/dist/decorators/factory.decorator.js +35 -3
- package/dist/decorators/factory.decorator.js.map +1 -1
- package/dist/decorators/model.decorator.d.ts +3 -2
- package/dist/decorators/model.decorator.js +24 -11
- package/dist/decorators/model.decorator.js.map +1 -1
- package/dist/decorators/module.decorator.d.ts +4 -71
- package/dist/decorators/module.decorator.js +18 -58
- package/dist/decorators/module.decorator.js.map +1 -1
- package/dist/decorators/on-event.decorator.d.ts +1 -1
- package/dist/decorators/on-event.decorator.js +7 -2
- package/dist/decorators/on-event.decorator.js.map +1 -1
- package/dist/decorators/overlay.decorator.d.ts +3 -2
- package/dist/decorators/overlay.decorator.js +23 -11
- package/dist/decorators/overlay.decorator.js.map +1 -1
- package/dist/decorators/resource.decorator.d.ts +3 -2
- package/dist/decorators/resource.decorator.js +23 -11
- package/dist/decorators/resource.decorator.js.map +1 -1
- package/dist/decorators/validate.decorator.d.ts +4 -4
- package/dist/decorators/validate.decorator.js +16 -2
- package/dist/decorators/validate.decorator.js.map +1 -1
- package/dist/errors/container.error.d.ts +11 -0
- package/dist/errors/container.error.js +20 -0
- package/dist/errors/container.error.js.map +1 -0
- package/dist/errors/index.d.ts +6 -0
- package/dist/errors/index.js +7 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/input.error.d.ts +11 -0
- package/dist/errors/input.error.js +21 -0
- package/dist/errors/input.error.js.map +1 -0
- package/dist/errors/module.error.d.ts +4 -0
- package/dist/errors/module.error.js +8 -0
- package/dist/errors/module.error.js.map +1 -0
- package/dist/errors/node.error.d.ts +36 -0
- package/dist/errors/node.error.js +60 -0
- package/dist/errors/node.error.js.map +1 -0
- package/dist/errors/schema.error.d.ts +4 -0
- package/dist/errors/schema.error.js +8 -0
- package/dist/errors/schema.error.js.map +1 -0
- package/dist/errors/transaction.error.d.ts +35 -0
- package/dist/errors/transaction.error.js +58 -0
- package/dist/errors/transaction.error.js.map +1 -0
- package/dist/events/action.event.d.ts +13 -0
- package/dist/events/action.event.js +11 -0
- package/dist/events/action.event.js.map +1 -0
- package/dist/events/event.model.d.ts +6 -12
- package/dist/events/event.model.js +5 -11
- package/dist/events/event.model.js.map +1 -1
- package/dist/events/hook/commit.hook.event.d.ts +25 -0
- package/dist/events/hook/commit.hook.event.js +26 -0
- package/dist/events/hook/commit.hook.event.js.map +1 -0
- package/dist/events/hook/hook.event.d.ts +9 -0
- package/dist/events/hook/hook.event.js +10 -0
- package/dist/events/hook/hook.event.js.map +1 -0
- package/dist/events/hook/index.d.ts +4 -0
- package/dist/events/hook/index.js +5 -0
- package/dist/events/hook/index.js.map +1 -0
- package/dist/events/hook/model.hook.event.d.ts +25 -0
- package/dist/events/hook/model.hook.event.js +26 -0
- package/dist/events/hook/model.hook.event.js.map +1 -0
- package/dist/events/hook/resource.hook.event.d.ts +25 -0
- package/dist/events/hook/resource.hook.event.js +26 -0
- package/dist/events/hook/resource.hook.event.js.map +1 -0
- package/dist/events/index.d.ts +7 -0
- package/dist/events/index.js +8 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/module.event.d.ts +1 -6
- package/dist/events/module.event.js +0 -5
- package/dist/events/module.event.js.map +1 -1
- package/dist/events/registration.event.d.ts +9 -51
- package/dist/events/registration.event.js +16 -64
- package/dist/events/registration.event.js.map +1 -1
- package/dist/events/serialization.event.d.ts +24 -37
- package/dist/events/serialization.event.js +49 -33
- package/dist/events/serialization.event.js.map +1 -1
- package/dist/events/transaction.event.d.ts +45 -26
- package/dist/events/transaction.event.js +43 -25
- package/dist/events/transaction.event.js.map +1 -1
- package/dist/{decorators → functions/container}/container.d.ts +45 -31
- package/dist/{decorators → functions/container}/container.js +90 -58
- package/dist/functions/container/container.js.map +1 -0
- package/dist/{decorators → functions/container}/test-container.d.ts +5 -13
- package/dist/{decorators → functions/container}/test-container.js +31 -43
- 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 +4 -3
- package/dist/functions/dependency/dependency.js.map +1 -1
- package/dist/functions/diff/diff-metadata.d.ts +4 -6
- package/dist/functions/diff/diff-metadata.js +4 -3
- package/dist/functions/diff/diff-metadata.js.map +1 -1
- package/dist/functions/diff/diff.d.ts +12 -7
- package/dist/functions/diff/diff.js +9 -12
- package/dist/functions/diff/diff.js.map +1 -1
- package/dist/functions/diff/diff.utility.d.ts +24 -24
- package/dist/functions/diff/diff.utility.js +46 -25
- package/dist/functions/diff/diff.utility.js.map +1 -1
- package/dist/functions/hook/commit.hook.d.ts +14 -3
- package/dist/functions/hook/commit.hook.js +16 -16
- package/dist/functions/hook/commit.hook.js.map +1 -1
- package/dist/functions/hook/hook.interface.d.ts +7 -6
- package/dist/functions/hook/model-action.hook.d.ts +17 -5
- package/dist/functions/hook/model-action.hook.js +20 -39
- package/dist/functions/hook/model-action.hook.js.map +1 -1
- package/dist/functions/hook/resource-action.hook.d.ts +17 -5
- package/dist/functions/hook/resource-action.hook.js +18 -18
- package/dist/functions/hook/resource-action.hook.js.map +1 -1
- package/dist/functions/node/node-action.abstract.d.ts +7 -0
- package/dist/functions/node/node-action.abstract.js +20 -0
- package/dist/functions/node/node-action.abstract.js.map +1 -0
- package/dist/functions/node/node.abstract.d.ts +93 -0
- package/dist/functions/node/node.abstract.js +342 -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/functions/schema/schema.d.ts +4 -0
- package/dist/functions/schema/schema.js +38 -0
- package/dist/functions/schema/schema.js.map +1 -0
- package/dist/index.d.ts +31 -33
- package/dist/index.js +32 -16
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts +34 -22
- package/dist/main.js +92 -53
- package/dist/main.js.map +1 -1
- package/dist/models/account/account.model.d.ts +23 -0
- package/dist/models/account/account.model.js +67 -0
- package/dist/models/account/account.model.js.map +1 -0
- package/dist/models/account/account.schema.d.ts +7 -0
- package/dist/models/account/account.schema.js +12 -0
- package/dist/models/account/account.schema.js.map +1 -0
- package/dist/models/app/app.model.d.ts +6 -15
- package/dist/models/app/app.model.js +26 -31
- package/dist/models/app/app.model.js.map +1 -1
- package/dist/models/app/app.schema.d.ts +3 -0
- package/dist/models/app/app.schema.js +21 -0
- package/dist/models/app/app.schema.js.map +1 -0
- package/dist/models/deployment/deployment.model.d.ts +6 -13
- package/dist/models/deployment/deployment.model.js +11 -16
- package/dist/models/deployment/deployment.model.js.map +1 -1
- package/dist/models/deployment/deployment.schema.d.ts +7 -0
- package/dist/models/deployment/deployment.schema.js +25 -0
- package/dist/models/deployment/deployment.schema.js.map +1 -0
- package/dist/models/environment/environment.model.d.ts +5 -15
- package/dist/models/environment/environment.model.js +10 -28
- package/dist/models/environment/environment.model.js.map +1 -1
- package/dist/models/environment/environment.schema.d.ts +13 -0
- package/dist/models/environment/environment.schema.js +38 -0
- package/dist/models/environment/environment.schema.js.map +1 -0
- package/dist/models/execution/execution.model.d.ts +6 -14
- package/dist/models/execution/execution.model.js +15 -28
- package/dist/models/execution/execution.model.js.map +1 -1
- package/dist/models/execution/execution.schema.d.ts +14 -0
- package/dist/models/execution/execution.schema.js +34 -0
- package/dist/models/execution/execution.schema.js.map +1 -0
- package/dist/models/filesystem/filesystem.model.d.ts +10 -0
- package/dist/models/filesystem/filesystem.model.js +43 -0
- package/dist/models/filesystem/filesystem.model.js.map +1 -0
- package/dist/models/filesystem/filesystem.schema.d.ts +3 -0
- package/dist/models/filesystem/filesystem.schema.js +21 -0
- package/dist/models/filesystem/filesystem.schema.js.map +1 -0
- package/dist/models/image/image.model.d.ts +7 -41
- package/dist/models/image/image.model.js +17 -32
- package/dist/models/image/image.model.js.map +1 -1
- package/dist/models/image/image.schema.d.ts +9 -0
- package/dist/models/image/image.schema.js +31 -0
- package/dist/models/image/image.schema.js.map +1 -0
- package/dist/models/model-action.interface.d.ts +5 -19
- package/dist/models/model.abstract.d.ts +28 -316
- package/dist/models/model.abstract.js +180 -557
- package/dist/models/model.abstract.js.map +1 -1
- package/dist/models/model.interface.d.ts +42 -21
- package/dist/models/pipeline/pipeline.model.d.ts +5 -8
- package/dist/models/pipeline/pipeline.model.js +10 -16
- package/dist/models/pipeline/pipeline.model.js.map +1 -1
- package/dist/models/pipeline/pipeline.schema.d.ts +4 -0
- package/dist/models/pipeline/pipeline.schema.js +22 -0
- package/dist/models/pipeline/pipeline.schema.js.map +1 -0
- package/dist/models/region/region.model.d.ts +8 -9
- package/dist/models/region/region.model.js +25 -17
- package/dist/models/region/region.model.js.map +1 -1
- package/dist/models/region/region.schema.d.ts +3 -0
- package/dist/models/region/region.schema.js +21 -0
- package/dist/models/region/region.schema.js.map +1 -0
- package/dist/models/server/server.model.d.ts +5 -11
- package/dist/models/server/server.model.js +13 -16
- package/dist/models/server/server.model.js.map +1 -1
- package/dist/models/server/server.schema.d.ts +6 -0
- package/dist/models/server/server.schema.js +24 -0
- package/dist/models/server/server.schema.js.map +1 -0
- package/dist/models/service/service.model.d.ts +4 -10
- package/dist/models/service/service.model.js +12 -16
- package/dist/models/service/service.model.js.map +1 -1
- package/dist/models/service/service.schema.d.ts +6 -0
- package/dist/models/service/service.schema.js +24 -0
- package/dist/models/service/service.schema.js.map +1 -0
- package/dist/models/subnet/subnet.model.d.ts +10 -35
- package/dist/models/subnet/subnet.model.js +16 -47
- package/dist/models/subnet/subnet.model.js.map +1 -1
- package/dist/models/subnet/subnet.schema.d.ts +33 -0
- package/dist/models/subnet/subnet.schema.js +48 -0
- package/dist/models/subnet/subnet.schema.js.map +1 -0
- package/dist/modules/module.abstract.d.ts +21 -0
- package/dist/modules/module.abstract.js +14 -0
- package/dist/modules/module.abstract.js.map +1 -0
- package/dist/modules/module.container.d.ts +32 -18
- package/dist/modules/module.container.js +134 -81
- package/dist/modules/module.container.js.map +1 -1
- package/dist/modules/module.interface.d.ts +15 -2
- package/dist/modules/test-module.container.d.ts +33 -15
- package/dist/modules/test-module.container.js +264 -35
- package/dist/modules/test-module.container.js.map +1 -1
- package/dist/overlays/anchor.abstract.d.ts +13 -8
- package/dist/overlays/anchor.abstract.js.map +1 -1
- package/dist/overlays/anchor.interface.d.ts +5 -8
- package/dist/overlays/anchor.schema.d.ts +8 -0
- package/dist/overlays/anchor.schema.js +9 -0
- package/dist/overlays/anchor.schema.js.map +1 -0
- package/dist/overlays/overlay-data.repository.d.ts +3 -6
- package/dist/overlays/overlay-data.repository.js +17 -38
- package/dist/overlays/overlay-data.repository.js.map +1 -1
- package/dist/overlays/overlay.abstract.d.ts +15 -17
- package/dist/overlays/overlay.abstract.js +30 -44
- package/dist/overlays/overlay.abstract.js.map +1 -1
- package/dist/overlays/overlay.interface.d.ts +3 -7
- package/dist/overlays/overlay.schema.d.ts +8 -0
- package/dist/overlays/overlay.schema.js +9 -0
- package/dist/overlays/overlay.schema.js.map +1 -0
- package/dist/resources/resource-action.interface.d.ts +4 -3
- package/dist/resources/resource-data.repository.d.ts +16 -7
- package/dist/resources/resource-data.repository.js +118 -42
- package/dist/resources/resource-data.repository.js.map +1 -1
- package/dist/resources/resource.abstract.d.ts +56 -16
- package/dist/resources/resource.abstract.js +326 -19
- package/dist/resources/resource.abstract.js.map +1 -1
- package/dist/resources/resource.interface.d.ts +39 -8
- package/dist/resources/resource.schema.d.ts +14 -0
- package/dist/resources/resource.schema.js +11 -0
- package/dist/resources/resource.schema.js.map +1 -0
- package/dist/services/capture/capture.service.d.ts +6 -7
- package/dist/services/capture/capture.service.js +8 -5
- package/dist/services/capture/capture.service.js.map +1 -1
- package/dist/services/event/event.service.d.ts +3 -4
- package/dist/services/event/event.service.js +7 -9
- package/dist/services/event/event.service.js.map +1 -1
- package/dist/services/input/input.service.d.ts +62 -6
- package/dist/services/input/input.service.js +290 -14
- package/dist/services/input/input.service.js.map +1 -1
- package/dist/services/schema-translation/schema-translation.service.d.ts +13 -0
- package/dist/services/schema-translation/schema-translation.service.js +42 -0
- package/dist/services/schema-translation/schema-translation.service.js.map +1 -0
- package/dist/services/serialization/model/model-serialization.service.d.ts +1 -4
- package/dist/services/serialization/model/model-serialization.service.js +37 -33
- package/dist/services/serialization/model/model-serialization.service.js.map +1 -1
- package/dist/services/serialization/resource/resource-serialization.service.d.ts +5 -5
- package/dist/services/serialization/resource/resource-serialization.service.js +71 -96
- package/dist/services/serialization/resource/resource-serialization.service.js.map +1 -1
- package/dist/services/state-management/local.state-provider.d.ts +0 -1
- package/dist/services/state-management/local.state-provider.js +5 -7
- package/dist/services/state-management/local.state-provider.js.map +1 -1
- package/dist/services/state-management/state-management.service.d.ts +2 -3
- package/dist/services/state-management/state-management.service.js +19 -9
- package/dist/services/state-management/state-management.service.js.map +1 -1
- package/dist/services/state-management/state-provider.interface.d.ts +0 -1
- package/dist/services/state-management/test.state-provider.d.ts +0 -1
- package/dist/services/state-management/test.state-provider.js +2 -1
- package/dist/services/state-management/test.state-provider.js.map +1 -1
- package/dist/services/transaction/transaction.service.d.ts +18 -14
- package/dist/services/transaction/transaction.service.js +261 -132
- package/dist/services/transaction/transaction.service.js.map +1 -1
- package/dist/services/validation/validation.service.d.ts +2 -3
- package/dist/services/validation/validation.service.js +27 -12
- package/dist/services/validation/validation.service.js.map +1 -1
- package/dist/utilities/node/node.utility.d.ts +4 -0
- package/dist/utilities/node/node.utility.js +22 -0
- package/dist/utilities/node/node.utility.js.map +1 -0
- package/dist/utilities/object/object.utility.d.ts +3 -0
- package/dist/utilities/object/object.utility.js +33 -0
- package/dist/utilities/object/object.utility.js.map +1 -1
- package/dist/utilities/test-helpers/test-classes.d.ts +57 -0
- package/dist/utilities/test-helpers/test-classes.js +76 -0
- package/dist/utilities/test-helpers/test-classes.js.map +1 -0
- package/dist/utilities/test-helpers/test-models.d.ts +41 -0
- package/dist/utilities/test-helpers/test-models.js +224 -0
- package/dist/utilities/test-helpers/test-models.js.map +1 -0
- package/dist/utilities/test-helpers/test-overlays.d.ts +10 -0
- package/dist/utilities/test-helpers/test-overlays.js +53 -0
- package/dist/utilities/test-helpers/test-overlays.js.map +1 -0
- package/dist/utilities/test-helpers/test-resources.d.ts +22 -0
- package/dist/utilities/test-helpers/test-resources.js +162 -0
- package/dist/utilities/test-helpers/test-resources.js.map +1 -0
- package/dist/utilities/validation/validation.utility.d.ts +31 -3
- package/dist/utilities/validation/validation.utility.js +121 -2
- package/dist/utilities/validation/validation.utility.js.map +1 -1
- package/package.json +6 -6
- package/dist/decorators/container.js.map +0 -1
- package/dist/decorators/test-container.js.map +0 -1
- package/dist/events/error.event.d.ts +0 -35
- package/dist/events/error.event.js +0 -36
- package/dist/events/error.event.js.map +0 -1
- package/dist/events/hook.event.d.ts +0 -194
- package/dist/events/hook.event.js +0 -195
- package/dist/events/hook.event.js.map +0 -1
- package/dist/models/app/app.interface.d.ts +0 -9
- package/dist/models/app/app.interface.js +0 -2
- package/dist/models/app/app.interface.js.map +0 -1
- package/dist/models/deployment/deployment.interface.d.ts +0 -9
- package/dist/models/deployment/deployment.interface.js +0 -2
- package/dist/models/deployment/deployment.interface.js.map +0 -1
- package/dist/models/environment/environment.interface.d.ts +0 -12
- package/dist/models/environment/environment.interface.js +0 -2
- package/dist/models/environment/environment.interface.js.map +0 -1
- package/dist/models/execution/execution.interface.d.ts +0 -14
- package/dist/models/execution/execution.interface.js +0 -2
- package/dist/models/execution/execution.interface.js.map +0 -1
- package/dist/models/image/image.interface.d.ts +0 -12
- package/dist/models/image/image.interface.js +0 -2
- package/dist/models/image/image.interface.js.map +0 -1
- package/dist/models/pipeline/pipeline.interface.d.ts +0 -10
- package/dist/models/pipeline/pipeline.interface.js +0 -2
- package/dist/models/pipeline/pipeline.interface.js.map +0 -1
- package/dist/models/region/region.interface.d.ts +0 -9
- package/dist/models/region/region.interface.js +0 -2
- package/dist/models/region/region.interface.js.map +0 -1
- package/dist/models/server/server.interface.d.ts +0 -9
- package/dist/models/server/server.interface.js +0 -2
- package/dist/models/server/server.interface.js.map +0 -1
- package/dist/models/service/service.interface.d.ts +0 -9
- package/dist/models/service/service.interface.js +0 -2
- package/dist/models/service/service.interface.js.map +0 -1
- package/dist/models/subnet/subnet.interface.d.ts +0 -13
- package/dist/models/subnet/subnet.interface.js +0 -2
- package/dist/models/subnet/subnet.interface.js.map +0 -1
- package/dist/overlays/overlay.service.d.ts +0 -18
- package/dist/overlays/overlay.service.js +0 -45
- package/dist/overlays/overlay.service.js.map +0 -1
- package/dist/resources/shared-resource.abstract.d.ts +0 -13
- package/dist/resources/shared-resource.abstract.js +0 -47
- package/dist/resources/shared-resource.abstract.js.map +0 -1
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import type { Diff } from '../../functions/diff/diff.js';
|
|
2
1
|
import { AModel } from '../model.abstract.js';
|
|
3
|
-
import
|
|
2
|
+
import { ServiceSchema } from './service.schema.js';
|
|
4
3
|
/**
|
|
5
4
|
* A Service model can be any third-party service that your application relies on.
|
|
6
5
|
* What separates them from Server is that Services are hosted and managed outside of your infrastructure.
|
|
@@ -13,14 +12,9 @@ import type { IService } from './service.interface.js';
|
|
|
13
12
|
* @group Models
|
|
14
13
|
* @see Definition of [Default Models](/docs/fundamentals/models#default-models).
|
|
15
14
|
*/
|
|
16
|
-
export declare class Service extends AModel<
|
|
17
|
-
readonly MODEL_NAME: string;
|
|
18
|
-
/**
|
|
19
|
-
* The ID of the service.
|
|
20
|
-
*/
|
|
15
|
+
export declare class Service extends AModel<ServiceSchema, Service> {
|
|
21
16
|
readonly serviceId: string;
|
|
22
17
|
constructor(serviceId: string);
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
synth(): IService;
|
|
18
|
+
setContext(): string | undefined;
|
|
19
|
+
synth(): ServiceSchema;
|
|
26
20
|
}
|
|
@@ -7,9 +7,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
|
+
var Service_1;
|
|
10
11
|
import { Model } from '../../decorators/model.decorator.js';
|
|
11
|
-
import {
|
|
12
|
+
import { ModelError } from '../../errors/index.js';
|
|
12
13
|
import { AModel } from '../model.abstract.js';
|
|
14
|
+
import { ServiceSchema } from './service.schema.js';
|
|
13
15
|
/**
|
|
14
16
|
* A Service model can be any third-party service that your application relies on.
|
|
15
17
|
* What separates them from Server is that Services are hosted and managed outside of your infrastructure.
|
|
@@ -22,31 +24,25 @@ import { AModel } from '../model.abstract.js';
|
|
|
22
24
|
* @group Models
|
|
23
25
|
* @see Definition of [Default Models](/docs/fundamentals/models#default-models).
|
|
24
26
|
*/
|
|
25
|
-
let Service = class Service extends AModel {
|
|
27
|
+
let Service = Service_1 = class Service extends AModel {
|
|
26
28
|
constructor(serviceId) {
|
|
27
29
|
super();
|
|
28
|
-
this.MODEL_NAME = 'service';
|
|
29
30
|
this.serviceId = serviceId;
|
|
30
31
|
}
|
|
31
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
32
|
-
async diffProperties(previous) {
|
|
33
|
-
return [];
|
|
34
|
-
}
|
|
35
32
|
setContext() {
|
|
36
33
|
const parents = this.getParents();
|
|
37
|
-
const app = parents['app'][0]
|
|
38
|
-
|
|
34
|
+
const app = parents['app']?.[0]?.to;
|
|
35
|
+
if (!app) {
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
return [`${this.constructor.NODE_NAME}=${this.serviceId}`, app.getContext()].join(',');
|
|
39
39
|
}
|
|
40
40
|
synth() {
|
|
41
|
-
throw new
|
|
41
|
+
throw new ModelError('Method not implemented! Use subclass', this);
|
|
42
42
|
}
|
|
43
43
|
};
|
|
44
|
-
__decorate([
|
|
45
|
-
|
|
46
|
-
__metadata("design:type", String)
|
|
47
|
-
], Service.prototype, "serviceId", void 0);
|
|
48
|
-
Service = __decorate([
|
|
49
|
-
Model(),
|
|
44
|
+
Service = Service_1 = __decorate([
|
|
45
|
+
Model('@octo', 'service', ServiceSchema),
|
|
50
46
|
__metadata("design:paramtypes", [String])
|
|
51
47
|
], Service);
|
|
52
48
|
export { Service };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.model.js","sourceRoot":"","sources":["../../../src/models/service/service.model.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"service.model.js","sourceRoot":"","sources":["../../../src/models/service/service.model.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;;;;;;;;GAWG;AAEI,IAAM,OAAO,eAAb,MAAM,OAAQ,SAAQ,MAA8B;IAGzD,YAAY,SAAiB;QAC3B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAEQ,UAAU;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACpC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,GAAI,IAAI,CAAC,WAA8B,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7G,CAAC;IAEQ,KAAK;QACZ,MAAM,IAAI,UAAU,CAAC,sCAAsC,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;CACF,CAAA;AApBY,OAAO;IADnB,KAAK,CAAU,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC;;GACrC,OAAO,CAoBnB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { Validate } from '../../decorators/validate.decorator.js';
|
|
11
|
+
import { Schema } from '../../functions/schema/schema.js';
|
|
12
|
+
export class ServiceSchema {
|
|
13
|
+
constructor() {
|
|
14
|
+
/**
|
|
15
|
+
* The ID of the service.
|
|
16
|
+
*/
|
|
17
|
+
this.serviceId = Schema();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
__decorate([
|
|
21
|
+
Validate({ options: { maxLength: 128, minLength: 2, regex: /^[a-zA-Z0-9][\w.-]*[a-zA-Z0-9]$/ } }),
|
|
22
|
+
__metadata("design:type", Object)
|
|
23
|
+
], ServiceSchema.prototype, "serviceId", void 0);
|
|
24
|
+
//# sourceMappingURL=service.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.schema.js","sourceRoot":"","sources":["../../../src/models/service/service.schema.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAE1D,MAAM,OAAO,aAAa;IAA1B;QACE;;WAEG;QAEH,cAAS,GAAG,MAAM,EAAU,CAAC;IAC/B,CAAC;CAAA;AADC;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,EAAE,CAAC;;gDACrE"}
|
|
@@ -1,24 +1,7 @@
|
|
|
1
1
|
import type { UnknownModel } from '../../app.type.js';
|
|
2
|
-
import { Diff } from '../../functions/diff/diff.js';
|
|
3
2
|
import { AModel } from '../model.abstract.js';
|
|
4
|
-
import { Region } from '../region/region.model.js';
|
|
5
|
-
import
|
|
6
|
-
/**
|
|
7
|
-
* The type of subnet.
|
|
8
|
-
*/
|
|
9
|
-
export declare enum SubnetType {
|
|
10
|
-
/**
|
|
11
|
-
* A public subnet is open to the internet,
|
|
12
|
-
* i.e. an {@link Execution} within this subnet can be accessed from the internet.
|
|
13
|
-
* Other than access from the internet, any other access needs to be explicitly allowed.
|
|
14
|
-
*/
|
|
15
|
-
PUBLIC = "public",
|
|
16
|
-
/**
|
|
17
|
-
* A private subnet has limited access to anything outside of this subnet, including access from the internet.
|
|
18
|
-
* Access to this subnet needs to be explicitly allowed.
|
|
19
|
-
*/
|
|
20
|
-
PRIVATE = "private"
|
|
21
|
-
}
|
|
3
|
+
import type { Region } from '../region/region.model.js';
|
|
4
|
+
import { SubnetSchema, SubnetType } from './subnet.schema.js';
|
|
22
5
|
/**
|
|
23
6
|
* A Subnet model is the logical sub-division of the region, e.g. a public and a private subnet.
|
|
24
7
|
* A subnet is often used to isolate parts of your infrastructure with access gates in the front.
|
|
@@ -26,22 +9,15 @@ export declare enum SubnetType {
|
|
|
26
9
|
*
|
|
27
10
|
* @example
|
|
28
11
|
* ```ts
|
|
29
|
-
* const subnet = new Subnet(region,
|
|
12
|
+
* const subnet = new Subnet(region, 'my-subnet');
|
|
13
|
+
* subnet.subnetType = SubnetType.PUBLIC;
|
|
30
14
|
* ```
|
|
31
15
|
* @group Models
|
|
32
16
|
* @see Definition of [Default Models](/docs/fundamentals/models#default-models).
|
|
33
17
|
*/
|
|
34
|
-
export declare class Subnet extends AModel<
|
|
35
|
-
readonly MODEL_NAME: string;
|
|
18
|
+
export declare class Subnet extends AModel<SubnetSchema, Subnet> {
|
|
36
19
|
private options;
|
|
37
|
-
/**
|
|
38
|
-
* The ID of the subnet.
|
|
39
|
-
* - Format is `{regionId}-{subnetName}`
|
|
40
|
-
*/
|
|
41
20
|
readonly subnetId: string;
|
|
42
|
-
/**
|
|
43
|
-
* The name of the subnet.
|
|
44
|
-
*/
|
|
45
21
|
readonly subnetName: string;
|
|
46
22
|
constructor(region: Region, name: string);
|
|
47
23
|
/**
|
|
@@ -56,14 +32,13 @@ export declare class Subnet extends AModel<ISubnet, Subnet> {
|
|
|
56
32
|
set disableSubnetIntraNetwork(disableSubnetIntraNetwork: boolean);
|
|
57
33
|
get subnetType(): SubnetType;
|
|
58
34
|
set subnetType(subnetType: SubnetType);
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
static unSynth(subnet: ISubnet, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<Subnet>;
|
|
35
|
+
setContext(): string | undefined;
|
|
36
|
+
synth(): SubnetSchema;
|
|
37
|
+
static unSynth(subnet: SubnetSchema, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<Subnet>;
|
|
63
38
|
/**
|
|
64
39
|
* To update the networking rules of this subnet to allow or deny connectivity from another subnet.
|
|
65
|
-
* The networking rules are
|
|
66
|
-
* i.e. if subnet A can connect to subnet B, then subnet B
|
|
40
|
+
* The networking rules are uni-directional,
|
|
41
|
+
* i.e. if subnet A can connect to subnet B, then subnet B doesn't automatically connect to subnet A.
|
|
67
42
|
*
|
|
68
43
|
* @param subnet The other subnet.
|
|
69
44
|
* @param allowConnections Set to `true` to allow this and the other subnet to connect.
|
|
@@ -9,27 +9,9 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
};
|
|
10
10
|
var Subnet_1;
|
|
11
11
|
import { Model } from '../../decorators/model.decorator.js';
|
|
12
|
-
import {
|
|
13
|
-
import { Diff, DiffAction } from '../../functions/diff/diff.js';
|
|
12
|
+
import { DiffAction } from '../../functions/diff/diff.js';
|
|
14
13
|
import { AModel } from '../model.abstract.js';
|
|
15
|
-
import {
|
|
16
|
-
/**
|
|
17
|
-
* The type of subnet.
|
|
18
|
-
*/
|
|
19
|
-
export var SubnetType;
|
|
20
|
-
(function (SubnetType) {
|
|
21
|
-
/**
|
|
22
|
-
* A public subnet is open to the internet,
|
|
23
|
-
* i.e. an {@link Execution} within this subnet can be accessed from the internet.
|
|
24
|
-
* Other than access from the internet, any other access needs to be explicitly allowed.
|
|
25
|
-
*/
|
|
26
|
-
SubnetType["PUBLIC"] = "public";
|
|
27
|
-
/**
|
|
28
|
-
* A private subnet has limited access to anything outside of this subnet, including access from the internet.
|
|
29
|
-
* Access to this subnet needs to be explicitly allowed.
|
|
30
|
-
*/
|
|
31
|
-
SubnetType["PRIVATE"] = "private";
|
|
32
|
-
})(SubnetType || (SubnetType = {}));
|
|
14
|
+
import { SubnetSchema, SubnetType } from './subnet.schema.js';
|
|
33
15
|
/**
|
|
34
16
|
* A Subnet model is the logical sub-division of the region, e.g. a public and a private subnet.
|
|
35
17
|
* A subnet is often used to isolate parts of your infrastructure with access gates in the front.
|
|
@@ -37,7 +19,8 @@ export var SubnetType;
|
|
|
37
19
|
*
|
|
38
20
|
* @example
|
|
39
21
|
* ```ts
|
|
40
|
-
* const subnet = new Subnet(region,
|
|
22
|
+
* const subnet = new Subnet(region, 'my-subnet');
|
|
23
|
+
* subnet.subnetType = SubnetType.PUBLIC;
|
|
41
24
|
* ```
|
|
42
25
|
* @group Models
|
|
43
26
|
* @see Definition of [Default Models](/docs/fundamentals/models#default-models).
|
|
@@ -45,7 +28,6 @@ export var SubnetType;
|
|
|
45
28
|
let Subnet = Subnet_1 = class Subnet extends AModel {
|
|
46
29
|
constructor(region, name) {
|
|
47
30
|
super();
|
|
48
|
-
this.MODEL_NAME = 'subnet';
|
|
49
31
|
this.options = {
|
|
50
32
|
disableSubnetIntraNetwork: false,
|
|
51
33
|
subnetType: SubnetType.PRIVATE,
|
|
@@ -73,21 +55,13 @@ let Subnet = Subnet_1 = class Subnet extends AModel {
|
|
|
73
55
|
set subnetType(subnetType) {
|
|
74
56
|
this.options.subnetType = subnetType || SubnetType.PRIVATE;
|
|
75
57
|
}
|
|
76
|
-
async diffProperties(previous) {
|
|
77
|
-
const diffs = [];
|
|
78
|
-
// Generate diff of options.
|
|
79
|
-
if (previous.disableSubnetIntraNetwork !== this.disableSubnetIntraNetwork) {
|
|
80
|
-
diffs.push(new Diff(this, DiffAction.UPDATE, 'disableSubnetIntraNetwork', this.disableSubnetIntraNetwork));
|
|
81
|
-
}
|
|
82
|
-
if (previous.subnetType !== this.subnetType) {
|
|
83
|
-
throw new Error('Change of subnet type is not supported!');
|
|
84
|
-
}
|
|
85
|
-
return diffs;
|
|
86
|
-
}
|
|
87
58
|
setContext() {
|
|
88
59
|
const parents = this.getParents();
|
|
89
|
-
const region = parents['region'][0]
|
|
90
|
-
|
|
60
|
+
const region = parents['region']?.[0]?.to;
|
|
61
|
+
if (!region) {
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
return [`${this.constructor.NODE_NAME}=${this.subnetId}`, region.getContext()].join(',');
|
|
91
65
|
}
|
|
92
66
|
synth() {
|
|
93
67
|
const parents = this.getParents();
|
|
@@ -108,8 +82,8 @@ let Subnet = Subnet_1 = class Subnet extends AModel {
|
|
|
108
82
|
}
|
|
109
83
|
/**
|
|
110
84
|
* To update the networking rules of this subnet to allow or deny connectivity from another subnet.
|
|
111
|
-
* The networking rules are
|
|
112
|
-
* i.e. if subnet A can connect to subnet B, then subnet B
|
|
85
|
+
* The networking rules are uni-directional,
|
|
86
|
+
* i.e. if subnet A can connect to subnet B, then subnet B doesn't automatically connect to subnet A.
|
|
113
87
|
*
|
|
114
88
|
* @param subnet The other subnet.
|
|
115
89
|
* @param allowConnections Set to `true` to allow this and the other subnet to connect.
|
|
@@ -121,23 +95,18 @@ let Subnet = Subnet_1 = class Subnet extends AModel {
|
|
|
121
95
|
siblingDependencies['subnet'] = [];
|
|
122
96
|
const subnets = siblingDependencies['subnet'].map((d) => d.to);
|
|
123
97
|
if (allowConnections && !subnets.find((s) => s.subnetId === subnet.subnetId)) {
|
|
124
|
-
const { thisToThatDependency
|
|
125
|
-
thisToThatDependency.addBehavior('
|
|
126
|
-
thisToThatDependency.addBehavior('
|
|
127
|
-
thatToThisDependency.addBehavior('subnetId', DiffAction.DELETE, 'subnetId', DiffAction.DELETE);
|
|
98
|
+
const { thisToThatDependency } = this.addRelationship(subnet);
|
|
99
|
+
thisToThatDependency.addBehavior('sibling', DiffAction.ADD, 'subnetId', DiffAction.ADD);
|
|
100
|
+
thisToThatDependency.addBehavior('sibling', DiffAction.ADD, 'subnetId', DiffAction.UPDATE);
|
|
128
101
|
}
|
|
129
102
|
else if (!allowConnections && subnets.find((s) => s.subnetId === subnet.subnetId)) {
|
|
130
103
|
this.removeRelationship(subnet);
|
|
131
104
|
}
|
|
132
105
|
}
|
|
133
106
|
};
|
|
134
|
-
__decorate([
|
|
135
|
-
Validate({ options: { maxLength: 32, minLength: 2, regex: /^[a-zA-Z][\w-]*[a-zA-Z0-9]$/ } }),
|
|
136
|
-
__metadata("design:type", String)
|
|
137
|
-
], Subnet.prototype, "subnetName", void 0);
|
|
138
107
|
Subnet = Subnet_1 = __decorate([
|
|
139
|
-
Model(),
|
|
140
|
-
__metadata("design:paramtypes", [
|
|
108
|
+
Model('@octo', 'subnet', SubnetSchema),
|
|
109
|
+
__metadata("design:paramtypes", [Function, String])
|
|
141
110
|
], Subnet);
|
|
142
111
|
export { Subnet };
|
|
143
112
|
//# sourceMappingURL=subnet.model.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subnet.model.js","sourceRoot":"","sources":["../../../src/models/subnet/subnet.model.ts"],"names":[],"mappings":";;;;;;;;;;AACA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"subnet.model.js","sourceRoot":"","sources":["../../../src/models/subnet/subnet.model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { IModelReference } from '../model.interface.js';
|
|
2
|
+
/**
|
|
3
|
+
* The type of subnet.
|
|
4
|
+
*/
|
|
5
|
+
export declare enum SubnetType {
|
|
6
|
+
/**
|
|
7
|
+
* A public subnet is open to the internet,
|
|
8
|
+
* i.e. an {@link Execution} within this subnet can be accessed from the internet.
|
|
9
|
+
* Other than access from the internet, any other access needs to be explicitly allowed.
|
|
10
|
+
*/
|
|
11
|
+
PUBLIC = "public",
|
|
12
|
+
/**
|
|
13
|
+
* A private subnet has limited access to anything outside of this subnet, including access from the internet.
|
|
14
|
+
* Access to this subnet needs to be explicitly allowed.
|
|
15
|
+
*/
|
|
16
|
+
PRIVATE = "private"
|
|
17
|
+
}
|
|
18
|
+
export declare class SubnetSchema {
|
|
19
|
+
options: {
|
|
20
|
+
disableSubnetIntraNetwork: boolean;
|
|
21
|
+
subnetType: SubnetType;
|
|
22
|
+
};
|
|
23
|
+
region: IModelReference;
|
|
24
|
+
/**
|
|
25
|
+
* The ID of the subnet.
|
|
26
|
+
* - Format is `{regionId}-{subnetName}`
|
|
27
|
+
*/
|
|
28
|
+
subnetId: string;
|
|
29
|
+
/**
|
|
30
|
+
* The name of the subnet.
|
|
31
|
+
*/
|
|
32
|
+
subnetName: string;
|
|
33
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { Validate } from '../../decorators/validate.decorator.js';
|
|
11
|
+
import { Schema } from '../../functions/schema/schema.js';
|
|
12
|
+
/**
|
|
13
|
+
* The type of subnet.
|
|
14
|
+
*/
|
|
15
|
+
export var SubnetType;
|
|
16
|
+
(function (SubnetType) {
|
|
17
|
+
/**
|
|
18
|
+
* A public subnet is open to the internet,
|
|
19
|
+
* i.e. an {@link Execution} within this subnet can be accessed from the internet.
|
|
20
|
+
* Other than access from the internet, any other access needs to be explicitly allowed.
|
|
21
|
+
*/
|
|
22
|
+
SubnetType["PUBLIC"] = "public";
|
|
23
|
+
/**
|
|
24
|
+
* A private subnet has limited access to anything outside of this subnet, including access from the internet.
|
|
25
|
+
* Access to this subnet needs to be explicitly allowed.
|
|
26
|
+
*/
|
|
27
|
+
SubnetType["PRIVATE"] = "private";
|
|
28
|
+
})(SubnetType || (SubnetType = {}));
|
|
29
|
+
export class SubnetSchema {
|
|
30
|
+
constructor() {
|
|
31
|
+
this.options = Schema();
|
|
32
|
+
this.region = Schema();
|
|
33
|
+
/**
|
|
34
|
+
* The ID of the subnet.
|
|
35
|
+
* - Format is `{regionId}-{subnetName}`
|
|
36
|
+
*/
|
|
37
|
+
this.subnetId = Schema();
|
|
38
|
+
/**
|
|
39
|
+
* The name of the subnet.
|
|
40
|
+
*/
|
|
41
|
+
this.subnetName = Schema();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
__decorate([
|
|
45
|
+
Validate({ options: { maxLength: 32, minLength: 2, regex: /^[a-zA-Z][\w-]*[a-zA-Z0-9]$/ } }),
|
|
46
|
+
__metadata("design:type", Object)
|
|
47
|
+
], SubnetSchema.prototype, "subnetName", void 0);
|
|
48
|
+
//# sourceMappingURL=subnet.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subnet.schema.js","sourceRoot":"","sources":["../../../src/models/subnet/subnet.schema.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAG1D;;GAEG;AACH,MAAM,CAAN,IAAY,UAaX;AAbD,WAAY,UAAU;IACpB;;;;OAIG;IACH,+BAAiB,CAAA;IAEjB;;;OAGG;IACH,iCAAmB,CAAA;AACrB,CAAC,EAbW,UAAU,KAAV,UAAU,QAarB;AAED,MAAM,OAAO,YAAY;IAAzB;QACE,YAAO,GAAG,MAAM,EAAkE,CAAC;QAEnF,WAAM,GAAG,MAAM,EAAmB,CAAC;QAEnC;;;WAGG;QACH,aAAQ,GAAG,MAAM,EAAU,CAAC;QAE5B;;WAEG;QAEH,eAAU,GAAG,MAAM,EAAU,CAAC;IAChC,CAAC;CAAA;AADC;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAE,CAAC;;gDAC/D"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ModuleSchema, UnknownModel } from '../app.type.js';
|
|
2
|
+
import type { CommitHook } from '../functions/hook/commit.hook.js';
|
|
3
|
+
import type { ModelActionHook } from '../functions/hook/model-action.hook.js';
|
|
4
|
+
import type { ResourceActionHook } from '../functions/hook/resource-action.hook.js';
|
|
5
|
+
import type { IModule } from './module.interface.js';
|
|
6
|
+
export declare abstract class AModule<S, T extends UnknownModel> implements IModule<S, T> {
|
|
7
|
+
static readonly MODULE_PACKAGE: string;
|
|
8
|
+
static readonly MODULE_SCHEMA: ModuleSchema<AModule<any, any>>;
|
|
9
|
+
readonly moduleId: string;
|
|
10
|
+
constructor(moduleId: string);
|
|
11
|
+
abstract onInit(inputs: S): Promise<T | UnknownModel[]>;
|
|
12
|
+
registerHooks(): {
|
|
13
|
+
postCommitHooks?: Parameters<CommitHook['collectHooks']>[0]['postHooks'];
|
|
14
|
+
postModelActionHooks?: Parameters<ModelActionHook['collectHooks']>[0]['postHooks'];
|
|
15
|
+
postResourceActionHooks?: Parameters<ResourceActionHook['collectHooks']>[0]['postHooks'];
|
|
16
|
+
preCommitHooks?: Parameters<CommitHook['collectHooks']>[0]['preHooks'];
|
|
17
|
+
preModelActionHooks?: Parameters<ModelActionHook['collectHooks']>[0]['preHooks'];
|
|
18
|
+
preResourceActionHooks?: Parameters<ResourceActionHook['collectHooks']>[0]['preHooks'];
|
|
19
|
+
};
|
|
20
|
+
registerMetadata(inputs: S): Promise<Record<string, unknown>>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { strict as assert } from 'assert';
|
|
2
|
+
export class AModule {
|
|
3
|
+
constructor(moduleId) {
|
|
4
|
+
this.moduleId = moduleId;
|
|
5
|
+
}
|
|
6
|
+
registerHooks() {
|
|
7
|
+
return {};
|
|
8
|
+
}
|
|
9
|
+
async registerMetadata(inputs) {
|
|
10
|
+
assert(!!inputs);
|
|
11
|
+
return {};
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=module.abstract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.abstract.js","sourceRoot":"","sources":["../../src/modules/module.abstract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,QAAQ,CAAC;AAO1C,MAAM,OAAgB,OAAO;IAO3B,YAAY,QAAgB;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAID,aAAa;QAQX,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAS;QAC9B,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;CACF"}
|
|
@@ -1,27 +1,41 @@
|
|
|
1
|
-
import { Constructable } from '../app.type.js';
|
|
2
|
-
import { type Module } from '../decorators/module.decorator.js';
|
|
1
|
+
import type { Constructable, ModuleSchemaInputs, UnknownModule } from '../app.type.js';
|
|
3
2
|
import { CommitHook } from '../functions/hook/commit.hook.js';
|
|
4
3
|
import { ModelActionHook } from '../functions/hook/model-action.hook.js';
|
|
5
4
|
import { ResourceActionHook } from '../functions/hook/resource-action.hook.js';
|
|
6
|
-
import {
|
|
5
|
+
import { OverlayDataRepository } from '../overlays/overlay-data.repository.js';
|
|
6
|
+
import { EventService } from '../services/event/event.service.js';
|
|
7
|
+
import { InputService } from '../services/input/input.service.js';
|
|
8
|
+
type ModuleOptions = {
|
|
9
|
+
packageName: string;
|
|
10
|
+
};
|
|
7
11
|
export declare class ModuleContainer {
|
|
8
|
-
private readonly
|
|
9
|
-
private readonly
|
|
10
|
-
private readonly
|
|
11
|
-
private
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
12
|
+
private readonly eventService;
|
|
13
|
+
private readonly inputService;
|
|
14
|
+
private readonly overlayDataRepository;
|
|
15
|
+
private modules;
|
|
16
|
+
constructor(eventService: EventService, inputService: InputService, overlayDataRepository: OverlayDataRepository);
|
|
17
|
+
apply(): Promise<{
|
|
18
|
+
[key: string]: unknown;
|
|
19
|
+
}>;
|
|
20
|
+
getMetadata(module: Constructable<UnknownModule> | string): ModuleContainer['modules'][0] | undefined;
|
|
21
|
+
getMetadataIndex(module: Constructable<UnknownModule> | string): number;
|
|
22
|
+
getModuleInstanceInputKeys(moduleId: string): string[];
|
|
23
|
+
load<M extends UnknownModule>(module: Constructable<M> | string, moduleId: string, inputs: ModuleSchemaInputs<M>): void;
|
|
24
|
+
order(modules: (Constructable<UnknownModule> | string)[]): void;
|
|
25
|
+
register(module: Constructable<UnknownModule>, properties: ModuleOptions): void;
|
|
26
|
+
registerHooks({ postCommitHooks, postModelActionHooks, postResourceActionHooks, preCommitHooks, preModelActionHooks, preResourceActionHooks, }?: {
|
|
27
|
+
postCommitHooks?: Parameters<CommitHook['collectHooks']>[0]['postHooks'];
|
|
28
|
+
postModelActionHooks?: Parameters<ModelActionHook['collectHooks']>[0]['postHooks'];
|
|
29
|
+
postResourceActionHooks?: Parameters<ResourceActionHook['collectHooks']>[0]['postHooks'];
|
|
30
|
+
preCommitHooks?: Parameters<CommitHook['collectHooks']>[0]['preHooks'];
|
|
31
|
+
preModelActionHooks?: Parameters<ModelActionHook['collectHooks']>[0]['preHooks'];
|
|
32
|
+
preResourceActionHooks?: Parameters<ResourceActionHook['collectHooks']>[0]['preHooks'];
|
|
33
|
+
}): void;
|
|
20
34
|
reset(): void;
|
|
21
|
-
|
|
22
|
-
unload(module: Constructable<IModule<unknown>>): void;
|
|
35
|
+
unload(module: Constructable<UnknownModule>): void;
|
|
23
36
|
}
|
|
24
37
|
export declare class ModuleContainerFactory {
|
|
25
38
|
private static instance;
|
|
26
|
-
static create(): Promise<ModuleContainer>;
|
|
39
|
+
static create(forceNew?: boolean): Promise<ModuleContainer>;
|
|
27
40
|
}
|
|
41
|
+
export {};
|