nesoi 3.0.8 → 3.0.10
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/lib/compiler/apps/monolyth/monolyth_compiler.d.ts +1 -1
- package/lib/compiler/apps/monolyth/monolyth_compiler.js +7 -7
- package/lib/compiler/apps/monolyth/stages/1_mkdir_stage.d.ts +3 -0
- package/lib/compiler/apps/monolyth/stages/1_mkdir_stage.js +3 -0
- package/lib/compiler/apps/monolyth/stages/2_build_typescript_stage.d.ts +3 -0
- package/lib/compiler/apps/monolyth/stages/2_build_typescript_stage.js +3 -0
- package/lib/compiler/apps/monolyth/stages/3_copy_types_stage.d.ts +3 -0
- package/lib/compiler/apps/monolyth/stages/3_copy_types_stage.js +3 -0
- package/lib/compiler/apps/monolyth/stages/4_dump_modules_stage.d.ts +3 -0
- package/lib/compiler/apps/monolyth/stages/4_dump_modules_stage.js +3 -0
- package/lib/compiler/apps/monolyth/stages/5_dump_cli_stage.d.ts +3 -0
- package/lib/compiler/apps/monolyth/stages/5_dump_cli_stage.js +3 -0
- package/lib/compiler/apps/monolyth/stages/6_dump_package_json_stage.d.ts +3 -0
- package/lib/compiler/apps/monolyth/stages/6_dump_package_json_stage.js +3 -0
- package/lib/compiler/elements/externals.element.d.ts +1 -1
- package/lib/compiler/module.js +1 -1
- package/lib/compiler/stages/1_scan_stage.d.ts +3 -0
- package/lib/compiler/stages/1_scan_stage.js +3 -0
- package/lib/compiler/stages/2_treeshake_stage.d.ts +3 -0
- package/lib/compiler/stages/2_treeshake_stage.js +3 -0
- package/lib/compiler/stages/3_extract_ts_stage.d.ts +3 -0
- package/lib/compiler/stages/3_extract_ts_stage.js +3 -0
- package/lib/compiler/stages/4_build_schemas_stage.d.ts +3 -0
- package/lib/compiler/stages/4_build_schemas_stage.js +3 -0
- package/lib/compiler/stages/5_inject_ts_stage.d.ts +3 -0
- package/lib/compiler/stages/5_inject_ts_stage.js +3 -0
- package/lib/compiler/stages/6_build_elements_stage.d.ts +3 -0
- package/lib/compiler/stages/6_build_elements_stage.js +3 -0
- package/lib/compiler/stages/7_dump_stage.d.ts +3 -0
- package/lib/compiler/stages/7_dump_stage.js +3 -0
- package/lib/compiler/stages/8_diagnose_stage.d.ts +3 -0
- package/lib/compiler/stages/8_diagnose_stage.js +3 -0
- package/lib/compiler/treeshake.js +3 -3
- package/lib/elements/blocks/block.builder.d.ts +6 -2
- package/lib/elements/blocks/block.builder.js +8 -4
- package/lib/elements/blocks/block.schema.d.ts +4 -0
- package/lib/elements/blocks/block.schema.js +4 -0
- package/lib/elements/blocks/job/internal/machine_job.builder.d.ts +6 -3
- package/lib/elements/blocks/job/internal/machine_job.builder.js +5 -2
- package/lib/elements/blocks/job/internal/machine_job.schema.d.ts +4 -0
- package/lib/elements/blocks/job/internal/machine_job.schema.js +4 -0
- package/lib/elements/blocks/job/internal/resource_job.builder.d.ts +4 -0
- package/lib/elements/blocks/job/internal/resource_job.builder.js +4 -0
- package/lib/elements/blocks/job/internal/resource_job.d.ts +4 -0
- package/lib/elements/blocks/job/internal/resource_job.js +4 -0
- package/lib/elements/blocks/job/internal/resource_job.schema.d.ts +4 -0
- package/lib/elements/blocks/job/internal/resource_job.schema.js +4 -0
- package/lib/elements/blocks/job/job.builder.d.ts +4 -0
- package/lib/elements/blocks/job/job.builder.js +4 -0
- package/lib/elements/blocks/job/job.d.ts +4 -0
- package/lib/elements/blocks/job/job.js +4 -0
- package/lib/elements/blocks/job/job.schema.d.ts +4 -0
- package/lib/elements/blocks/job/job.schema.js +4 -0
- package/lib/elements/blocks/machine/machine.builder.d.ts +4 -0
- package/lib/elements/blocks/machine/machine.builder.js +16 -1
- package/lib/elements/blocks/machine/machine.d.ts +12 -0
- package/lib/elements/blocks/machine/machine.js +12 -0
- package/lib/elements/blocks/machine/machine.schema.d.ts +18 -1
- package/lib/elements/blocks/machine/machine.schema.js +18 -2
- package/lib/elements/blocks/machine/machine_state.builder.d.ts +4 -0
- package/lib/elements/blocks/machine/machine_state.builder.js +4 -0
- package/lib/elements/blocks/machine/machine_transition.builder.d.ts +4 -0
- package/lib/elements/blocks/machine/machine_transition.builder.js +4 -0
- package/lib/elements/blocks/queue/adapters/bucket.queue_adapter.d.ts +4 -0
- package/lib/elements/blocks/queue/adapters/bucket.queue_adapter.js +4 -0
- package/lib/elements/blocks/queue/adapters/queue_adapter.d.ts +4 -0
- package/lib/elements/blocks/queue/adapters/queue_adapter.js +4 -0
- package/lib/elements/blocks/queue/queue.builder.d.ts +4 -0
- package/lib/elements/blocks/queue/queue.builder.js +4 -0
- package/lib/elements/blocks/queue/queue.schema.d.ts +4 -0
- package/lib/elements/blocks/queue/queue.schema.js +4 -0
- package/lib/elements/blocks/resource/resource.builder.d.ts +4 -0
- package/lib/elements/blocks/resource/resource.builder.js +4 -0
- package/lib/elements/blocks/resource/resource.d.ts +4 -0
- package/lib/elements/blocks/resource/resource.js +4 -0
- package/lib/elements/blocks/resource/resource.schema.d.ts +4 -0
- package/lib/elements/blocks/resource/resource.schema.js +4 -0
- package/lib/elements/edge/controller/adapters/cli.controller_adapter.d.ts +4 -0
- package/lib/elements/edge/controller/adapters/cli.controller_adapter.js +4 -0
- package/lib/elements/edge/controller/adapters/controller_adapter.d.ts +7 -1
- package/lib/elements/edge/controller/adapters/controller_adapter.js +6 -1
- package/lib/elements/edge/controller/controller.builder.d.ts +16 -0
- package/lib/elements/edge/controller/controller.builder.js +16 -0
- package/lib/elements/edge/controller/controller.config.d.ts +3 -2
- package/lib/elements/edge/controller/controller.d.ts +7 -3
- package/lib/elements/edge/controller/controller.js +7 -3
- package/lib/elements/edge/controller/controller.schema.d.ts +16 -0
- package/lib/elements/edge/controller/controller.schema.js +16 -0
- package/lib/elements/{blocks → edge}/externals/externals.builder.d.ts +4 -0
- package/lib/elements/{blocks → edge}/externals/externals.builder.js +4 -0
- package/lib/elements/{blocks → edge}/externals/externals.schema.d.ts +4 -0
- package/lib/elements/{blocks → edge}/externals/externals.schema.js +4 -0
- package/lib/elements/entities/bucket/adapters/bucket_adapter.d.ts +18 -12
- package/lib/elements/entities/bucket/adapters/bucket_adapter.js +5 -0
- package/lib/elements/entities/bucket/adapters/memory.bucket_adapter.d.ts +4 -0
- package/lib/elements/entities/bucket/adapters/memory.bucket_adapter.js +4 -0
- package/lib/elements/entities/bucket/adapters/memory.nql.d.ts +4 -1
- package/lib/elements/entities/bucket/adapters/memory.nql.js +4 -1
- package/lib/elements/entities/bucket/bucket.builder.d.ts +4 -0
- package/lib/elements/entities/bucket/bucket.builder.js +4 -0
- package/lib/elements/entities/bucket/bucket.config.d.ts +3 -3
- package/lib/elements/entities/bucket/bucket.d.ts +12 -4
- package/lib/elements/entities/bucket/bucket.js +18 -11
- package/lib/elements/entities/bucket/bucket.schema.d.ts +4 -0
- package/lib/elements/entities/bucket/bucket.schema.js +4 -0
- package/lib/elements/entities/bucket/cache/bucket_cache.d.ts +8 -0
- package/lib/elements/entities/bucket/cache/bucket_cache.js +8 -0
- package/lib/elements/entities/bucket/graph/bucket_graph.builder.d.ts +4 -0
- package/lib/elements/entities/bucket/graph/bucket_graph.builder.js +4 -0
- package/lib/elements/entities/bucket/graph/bucket_graph.d.ts +4 -0
- package/lib/elements/entities/bucket/graph/bucket_graph.js +4 -0
- package/lib/elements/entities/bucket/graph/bucket_graph.schema.d.ts +8 -0
- package/lib/elements/entities/bucket/graph/bucket_graph.schema.js +8 -0
- package/lib/elements/entities/bucket/graph/bucket_graph_link.builder.d.ts +8 -0
- package/lib/elements/entities/bucket/graph/bucket_graph_link.builder.js +8 -0
- package/lib/elements/entities/bucket/model/bucket_model.builder.d.ts +4 -0
- package/lib/elements/entities/bucket/model/bucket_model.builder.js +4 -0
- package/lib/elements/entities/bucket/model/bucket_model.convert.d.ts +8 -0
- package/lib/elements/entities/bucket/model/bucket_model.convert.js +8 -0
- package/lib/elements/entities/bucket/model/bucket_model.schema.d.ts +8 -0
- package/lib/elements/entities/bucket/model/bucket_model.schema.js +8 -0
- package/lib/elements/entities/bucket/model/bucket_model_field.builder.d.ts +8 -0
- package/lib/elements/entities/bucket/model/bucket_model_field.builder.js +8 -0
- package/lib/elements/entities/bucket/query/nql_compiler.d.ts +9 -0
- package/lib/elements/entities/bucket/query/nql_compiler.js +9 -0
- package/lib/elements/entities/bucket/query/nql_engine.d.ts +6 -0
- package/lib/elements/entities/bucket/query/nql_engine.js +6 -0
- package/lib/elements/entities/bucket/view/bucket_view.builder.d.ts +4 -0
- package/lib/elements/entities/bucket/view/bucket_view.builder.js +4 -0
- package/lib/elements/entities/bucket/view/bucket_view.d.ts +4 -0
- package/lib/elements/entities/bucket/view/bucket_view.js +10 -2
- package/lib/elements/entities/bucket/view/bucket_view.schema.d.ts +8 -0
- package/lib/elements/entities/bucket/view/bucket_view.schema.js +8 -0
- package/lib/elements/entities/bucket/view/bucket_view_field.builder.d.ts +8 -0
- package/lib/elements/entities/bucket/view/bucket_view_field.builder.js +8 -0
- package/lib/elements/entities/constants/constants.builder.d.ts +21 -6
- package/lib/elements/entities/constants/constants.builder.js +21 -6
- package/lib/elements/entities/constants/constants.d.ts +4 -0
- package/lib/elements/entities/constants/constants.js +4 -0
- package/lib/elements/entities/constants/constants.schema.d.ts +16 -0
- package/lib/elements/entities/constants/constants.schema.js +16 -0
- package/lib/elements/entities/drive/drive_adapter.d.ts +15 -10
- package/lib/elements/entities/drive/drive_adapter.js +5 -2
- package/lib/elements/entities/drive/local.drive_adapter.d.ts +10 -4
- package/lib/elements/entities/drive/local.drive_adapter.js +23 -8
- package/lib/elements/entities/message/message.builder.d.ts +4 -0
- package/lib/elements/entities/message/message.builder.js +4 -0
- package/lib/elements/entities/message/message.d.ts +4 -0
- package/lib/elements/entities/message/message.js +4 -0
- package/lib/elements/entities/message/message.schema.d.ts +4 -0
- package/lib/elements/entities/message/message.schema.js +4 -0
- package/lib/elements/entities/message/message_parser.d.ts +4 -0
- package/lib/elements/entities/message/message_parser.js +4 -0
- package/lib/elements/entities/message/template/message_template.builder.d.ts +4 -0
- package/lib/elements/entities/message/template/message_template.builder.js +4 -0
- package/lib/elements/entities/message/template/message_template.schema.d.ts +9 -0
- package/lib/elements/entities/message/template/message_template.schema.js +25 -0
- package/lib/elements/entities/message/template/message_template_field.builder.d.ts +8 -0
- package/lib/elements/entities/message/template/message_template_field.builder.js +8 -0
- package/lib/elements/index.d.ts +1 -1
- package/lib/elements/index.js +1 -1
- package/lib/engine/apps/app.config.d.ts +15 -11
- package/lib/engine/apps/app.config.js +3 -0
- package/lib/engine/apps/app.d.ts +12 -20
- package/lib/engine/apps/app.js +13 -10
- package/lib/engine/apps/inline.app.d.ts +12 -8
- package/lib/engine/apps/inline.app.js +27 -24
- package/lib/engine/apps/monolyth/monolyth.app.d.ts +13 -5
- package/lib/engine/apps/monolyth/monolyth.app.js +14 -6
- package/lib/engine/apps/service.d.ts +30 -0
- package/lib/engine/apps/service.js +15 -0
- package/lib/engine/auth/authn.d.ts +14 -1
- package/lib/engine/auth/authn.js +4 -0
- package/lib/engine/auth/zero.authn_provider.d.ts +11 -3
- package/lib/engine/auth/zero.authn_provider.js +13 -2
- package/lib/engine/cli/cli.d.ts +8 -2
- package/lib/engine/cli/cli.js +10 -1
- package/lib/engine/cli/cli_adapter.d.ts +11 -1
- package/lib/engine/cli/cli_adapter.js +10 -1
- package/lib/engine/cli/cli_input.d.ts +4 -0
- package/lib/engine/cli/cli_input.js +4 -0
- package/lib/engine/cli/ui.d.ts +14 -2
- package/lib/engine/cli/ui.js +10 -6
- package/lib/engine/daemon.d.ts +96 -9
- package/lib/engine/daemon.js +101 -18
- package/lib/engine/data/date.d.ts +4 -0
- package/lib/engine/data/date.js +4 -0
- package/lib/engine/data/datetime.d.ts +4 -0
- package/lib/engine/data/datetime.js +4 -0
- package/lib/engine/data/decimal.d.ts +4 -0
- package/lib/engine/data/decimal.js +4 -0
- package/lib/engine/data/file.d.ts +23 -23
- package/lib/engine/data/file.js +66 -29
- package/lib/engine/data/json.d.ts +4 -0
- package/lib/engine/data/json.js +4 -0
- package/lib/engine/data/tree.d.ts +4 -0
- package/lib/engine/data/tree.js +4 -0
- package/lib/engine/dependency.d.ts +65 -3
- package/lib/engine/dependency.js +70 -0
- package/lib/engine/module.d.ts +110 -8
- package/lib/engine/module.js +131 -31
- package/lib/engine/space.d.ts +163 -10
- package/lib/engine/space.js +184 -22
- package/lib/engine/transaction/nodes/bucket.trx_node.d.ts +12 -0
- package/lib/engine/transaction/nodes/bucket.trx_node.js +13 -2
- package/lib/engine/transaction/nodes/bucket_query.trx_node.d.ts +4 -0
- package/lib/engine/transaction/nodes/bucket_query.trx_node.js +9 -10
- package/lib/engine/transaction/nodes/job.trx_node.d.ts +4 -0
- package/lib/engine/transaction/nodes/job.trx_node.js +6 -4
- package/lib/engine/transaction/nodes/machine.trx_node.d.ts +4 -0
- package/lib/engine/transaction/nodes/machine.trx_node.js +6 -4
- package/lib/engine/transaction/nodes/queue.trx_node.d.ts +4 -0
- package/lib/engine/transaction/nodes/queue.trx_node.js +5 -2
- package/lib/engine/transaction/nodes/resource.trx_node.d.ts +4 -0
- package/lib/engine/transaction/nodes/resource.trx_node.js +6 -4
- package/lib/engine/transaction/trx.d.ts +14 -4
- package/lib/engine/transaction/trx.js +10 -1
- package/lib/engine/transaction/trx_engine.config.d.ts +2 -2
- package/lib/engine/transaction/trx_engine.d.ts +8 -3
- package/lib/engine/transaction/trx_engine.js +24 -20
- package/lib/engine/transaction/trx_node.d.ts +8 -2
- package/lib/engine/transaction/trx_node.js +17 -1
- package/lib/engine/tree.d.ts +54 -2
- package/lib/engine/tree.js +60 -19
- package/lib/engine/util/mime.d.ts +4 -4
- package/lib/engine/util/mime.js +7 -9
- package/lib/schema.d.ts +2 -2
- package/package.json +2 -3
- package/tools/joaquin/job.js +2 -2
- package/tools/joaquin/message.js +2 -2
- package/tools/joaquin/mock.d.ts +6 -6
- package/tsconfig.build.tsbuildinfo +1 -1
- package/lib/adapters/postgres/src/migrator/bucket.d.ts +0 -20
- package/lib/adapters/postgres/src/migrator/bucket.js +0 -184
- package/lib/adapters/postgres/src/migrator/csv.d.ts +0 -7
- package/lib/adapters/postgres/src/migrator/csv.js +0 -72
- package/lib/adapters/postgres/src/migrator/database.d.ts +0 -37
- package/lib/adapters/postgres/src/migrator/database.js +0 -88
- package/lib/adapters/postgres/src/migrator/index.d.ts +0 -1
- package/lib/adapters/postgres/src/migrator/index.js +0 -5
- package/lib/adapters/postgres/src/migrator/migration.d.ts +0 -57
- package/lib/adapters/postgres/src/migrator/migration.js +0 -203
- package/lib/adapters/postgres/src/migrator/migrator.d.ts +0 -21
- package/lib/adapters/postgres/src/migrator/migrator.js +0 -76
- package/lib/adapters/postgres/src/migrator/runner.d.ts +0 -71
- package/lib/adapters/postgres/src/migrator/runner.js +0 -271
- package/lib/adapters/postgres/src/postgres.bucket_adapter.d.ts +0 -42
- package/lib/adapters/postgres/src/postgres.bucket_adapter.js +0 -294
- package/lib/adapters/postgres/src/postgres.cli.d.ts +0 -66
- package/lib/adapters/postgres/src/postgres.cli.js +0 -184
- package/lib/adapters/postgres/src/postgres.config.d.ts +0 -5
- package/lib/adapters/postgres/src/postgres.config.js +0 -2
- package/lib/adapters/postgres/src/postgres.nql.d.ts +0 -16
- package/lib/adapters/postgres/src/postgres.nql.js +0 -123
- package/lib/adapters/postgres/src/postgres.provider.d.ts +0 -18
- package/lib/adapters/postgres/src/postgres.provider.js +0 -77
- package/lib/adapters/postgres/test/postgres.bucket_adapter.test.d.ts +0 -1
- package/lib/adapters/postgres/test/postgres.bucket_adapter.test.js +0 -210
- package/lib/elements/entities/bucket/adapters/memory.bucket_query copy.d.ts +0 -0
- package/lib/elements/entities/bucket/adapters/memory.bucket_query copy.js +0 -218
- package/lib/elements/entities/bucket/adapters/slow_memory.bucket_adapter.d.ts +0 -0
- package/lib/elements/entities/bucket/adapters/slow_memory.bucket_adapter.js +0 -47
- package/lib/engine/apps/monolyth/monolyth.cli.d.ts +0 -45
- package/lib/engine/apps/monolyth/monolyth.cli.js +0 -362
- package/lib/engine/util/cache.d.ts +0 -6
- package/lib/engine/util/cache.js +0 -20
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.$Constants = exports.$ConstantEnum = exports.$ConstantEnumOption = exports.$ConstantValue = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @category Schemas
|
|
6
|
+
* @subcategory Entity
|
|
7
|
+
* */
|
|
4
8
|
class $ConstantValue {
|
|
5
9
|
constructor(scope, key, value) {
|
|
6
10
|
this.scope = scope;
|
|
@@ -9,6 +13,10 @@ class $ConstantValue {
|
|
|
9
13
|
}
|
|
10
14
|
}
|
|
11
15
|
exports.$ConstantValue = $ConstantValue;
|
|
16
|
+
/**
|
|
17
|
+
* @category Schemas
|
|
18
|
+
* @subcategory Entity
|
|
19
|
+
* */
|
|
12
20
|
class $ConstantEnumOption {
|
|
13
21
|
constructor(key, value) {
|
|
14
22
|
this.key = key;
|
|
@@ -16,6 +24,10 @@ class $ConstantEnumOption {
|
|
|
16
24
|
}
|
|
17
25
|
}
|
|
18
26
|
exports.$ConstantEnumOption = $ConstantEnumOption;
|
|
27
|
+
/**
|
|
28
|
+
* @category Schemas
|
|
29
|
+
* @subcategory Entity
|
|
30
|
+
* */
|
|
19
31
|
class $ConstantEnum {
|
|
20
32
|
constructor(name, options) {
|
|
21
33
|
this.name = name;
|
|
@@ -29,6 +41,10 @@ class $ConstantEnum {
|
|
|
29
41
|
}
|
|
30
42
|
}
|
|
31
43
|
exports.$ConstantEnum = $ConstantEnum;
|
|
44
|
+
/**
|
|
45
|
+
* @category Schemas
|
|
46
|
+
* @subcategory Entity
|
|
47
|
+
* */
|
|
32
48
|
class $Constants {
|
|
33
49
|
constructor(name, values = {}, enums = {}) {
|
|
34
50
|
this.name = name;
|
|
@@ -3,17 +3,21 @@ export type DriveAdapterConfig = {
|
|
|
3
3
|
hashAlgorithm?: 'sha1' | 'md5' | 'sha256';
|
|
4
4
|
maxsize?: number;
|
|
5
5
|
};
|
|
6
|
+
/**
|
|
7
|
+
* @category Adapters
|
|
8
|
+
* @subcategory Entity
|
|
9
|
+
* */
|
|
6
10
|
export declare abstract class DriveAdapter {
|
|
7
|
-
dirpath: string;
|
|
8
11
|
config: DriveAdapterConfig;
|
|
9
|
-
constructor(
|
|
12
|
+
constructor(config?: DriveAdapterConfig);
|
|
10
13
|
/**
|
|
11
14
|
* Return a public reference to the file as a string, which
|
|
12
15
|
* can be used outside the application to reach it.
|
|
13
16
|
*
|
|
14
|
-
* @
|
|
17
|
+
* @param filename An optional filename to use on Content-Disposition header
|
|
18
|
+
* @returns A list of `string` which publicly refers to the files
|
|
15
19
|
*/
|
|
16
|
-
abstract public(remoteFile: NesoiFile
|
|
20
|
+
abstract public(remoteFile: NesoiFile, filename?: string): Promise<string>;
|
|
17
21
|
/**
|
|
18
22
|
* Read one file from the Drive, given a NesoiFile specifier.
|
|
19
23
|
*
|
|
@@ -25,20 +29,21 @@ export declare abstract class DriveAdapter {
|
|
|
25
29
|
*/
|
|
26
30
|
abstract delete(remoteFile: NesoiFile): Promise<void>;
|
|
27
31
|
/**
|
|
28
|
-
* Move a file
|
|
32
|
+
* Move a file within the Drive
|
|
29
33
|
*/
|
|
30
34
|
abstract move(remoteFile: NesoiFile, newRemotePath: string): Promise<void>;
|
|
31
35
|
/**
|
|
32
36
|
* Create a new file on the Drive, from the contents.
|
|
33
37
|
*
|
|
34
|
-
* @returns A new `NesoiFile`
|
|
38
|
+
* @returns A new `NesoiFile` referencing a file on the Drive
|
|
35
39
|
*/
|
|
36
|
-
abstract new(
|
|
40
|
+
abstract new(filename: string, data: string | NodeJS.ArrayBufferView, dirpath?: string): Promise<NesoiFile>;
|
|
37
41
|
/**
|
|
38
42
|
* Copy a local file to the Drive
|
|
39
|
-
* -
|
|
43
|
+
* - Should fail if a file with the same name exists on the target dirpath of the Drive
|
|
44
|
+
* - Should preserve originalFilename, extname and mimetype
|
|
40
45
|
*
|
|
41
|
-
* @returns A new `NesoiFile`
|
|
46
|
+
* @returns A new `NesoiFile` referencing a file on the Drive
|
|
42
47
|
*/
|
|
43
|
-
abstract
|
|
48
|
+
abstract upload(localFile: NesoiFile, dirpath?: string, newFilename?: string): Promise<NesoiFile>;
|
|
44
49
|
}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DriveAdapter = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @category Adapters
|
|
6
|
+
* @subcategory Entity
|
|
7
|
+
* */
|
|
4
8
|
class DriveAdapter {
|
|
5
|
-
constructor(
|
|
6
|
-
this.dirpath = dirpath;
|
|
9
|
+
constructor(config = {}) {
|
|
7
10
|
this.config = config;
|
|
8
11
|
}
|
|
9
12
|
}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import { NesoiFile } from "../../../engine/data/file";
|
|
2
|
-
import { DriveAdapter } from './drive_adapter';
|
|
2
|
+
import { DriveAdapter, DriveAdapterConfig } from './drive_adapter';
|
|
3
|
+
/**
|
|
4
|
+
* @category Adapters
|
|
5
|
+
* @subcategory Entity
|
|
6
|
+
* */
|
|
3
7
|
export declare class LocalDriveAdapter extends DriveAdapter {
|
|
4
|
-
|
|
8
|
+
dirpath: string;
|
|
9
|
+
constructor(dirpath: string, config?: DriveAdapterConfig);
|
|
10
|
+
public(remoteFile: NesoiFile): Promise<string>;
|
|
5
11
|
read(remoteFile: NesoiFile): Promise<Buffer>;
|
|
6
12
|
delete(remoteFile: NesoiFile): Promise<void>;
|
|
7
13
|
move(remoteFile: NesoiFile, remotePath: string): Promise<void>;
|
|
8
|
-
new(
|
|
9
|
-
|
|
14
|
+
new(filename: string, data: string | NodeJS.ArrayBufferView, dirpath?: string): Promise<NesoiFile>;
|
|
15
|
+
upload(localFile: NesoiFile, dirpath?: string, newFilename?: string): Promise<NesoiFile>;
|
|
10
16
|
}
|
|
@@ -8,9 +8,17 @@ const file_1 = require("../../../engine/data/file");
|
|
|
8
8
|
const drive_adapter_1 = require("./drive_adapter");
|
|
9
9
|
const fs_1 = __importDefault(require("fs"));
|
|
10
10
|
const path_1 = __importDefault(require("path"));
|
|
11
|
+
/**
|
|
12
|
+
* @category Adapters
|
|
13
|
+
* @subcategory Entity
|
|
14
|
+
* */
|
|
11
15
|
class LocalDriveAdapter extends drive_adapter_1.DriveAdapter {
|
|
12
|
-
|
|
13
|
-
|
|
16
|
+
constructor(dirpath, config) {
|
|
17
|
+
super(config);
|
|
18
|
+
this.dirpath = dirpath;
|
|
19
|
+
}
|
|
20
|
+
public(remoteFile) {
|
|
21
|
+
return Promise.resolve('file://' + path_1.default.join(process.cwd(), remoteFile.filepath));
|
|
14
22
|
}
|
|
15
23
|
read(remoteFile) {
|
|
16
24
|
return Promise.resolve(fs_1.default.readFileSync(remoteFile.filepath));
|
|
@@ -21,14 +29,21 @@ class LocalDriveAdapter extends drive_adapter_1.DriveAdapter {
|
|
|
21
29
|
move(remoteFile, remotePath) {
|
|
22
30
|
return Promise.resolve(fs_1.default.renameSync(remoteFile.filepath, remotePath));
|
|
23
31
|
}
|
|
24
|
-
async new(
|
|
25
|
-
|
|
26
|
-
|
|
32
|
+
async new(filename, data, dirpath) {
|
|
33
|
+
dirpath = dirpath ? path_1.default.join(this.dirpath, dirpath) : this.dirpath;
|
|
34
|
+
const remoteFilepath = path_1.default.join(dirpath, filename);
|
|
35
|
+
fs_1.default.writeFileSync(remoteFilepath, data);
|
|
36
|
+
return file_1.NesoiFile.local.from(remoteFilepath);
|
|
27
37
|
}
|
|
28
|
-
async
|
|
29
|
-
|
|
38
|
+
async upload(localFile, dirpath, newFilename) {
|
|
39
|
+
dirpath = dirpath ? path_1.default.join(this.dirpath, dirpath) : this.dirpath;
|
|
40
|
+
const remoteFilepath = path_1.default.join(dirpath, newFilename || localFile.filename);
|
|
30
41
|
fs_1.default.copyFileSync(localFile.filepath, remoteFilepath);
|
|
31
|
-
return
|
|
42
|
+
return file_1.NesoiFile.local.from(remoteFilepath, {
|
|
43
|
+
originalFilename: localFile.originalFilename,
|
|
44
|
+
extname: localFile.extname,
|
|
45
|
+
mimetype: localFile.mimetype
|
|
46
|
+
});
|
|
32
47
|
}
|
|
33
48
|
}
|
|
34
49
|
exports.LocalDriveAdapter = LocalDriveAdapter;
|
|
@@ -4,6 +4,10 @@ import { MessageTemplateDef } from './template/message_template.builder';
|
|
|
4
4
|
import { $MessageInfer } from './message.infer';
|
|
5
5
|
import { ModuleTree } from "../../../engine/tree";
|
|
6
6
|
import { ResolvedBuilderNode } from "../../../engine/dependency";
|
|
7
|
+
/**
|
|
8
|
+
* @category Builders
|
|
9
|
+
* @subcategory Entity
|
|
10
|
+
* */
|
|
7
11
|
export declare class MessageBuilder<Space extends $Space, Module extends $Module, Message extends $Message = $Message> {
|
|
8
12
|
private module;
|
|
9
13
|
private name;
|
|
@@ -5,6 +5,10 @@ const message_schema_1 = require("./message.schema");
|
|
|
5
5
|
const message_template_schema_1 = require("./template/message_template.schema");
|
|
6
6
|
const message_template_builder_1 = require("./template/message_template.builder");
|
|
7
7
|
const message_template_field_builder_1 = require("./template/message_template_field.builder");
|
|
8
|
+
/**
|
|
9
|
+
* @category Builders
|
|
10
|
+
* @subcategory Entity
|
|
11
|
+
* */
|
|
8
12
|
class MessageBuilder {
|
|
9
13
|
constructor(module, name) {
|
|
10
14
|
this.module = module;
|
|
@@ -5,6 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.Message = void 0;
|
|
7
7
|
const crypto_1 = __importDefault(require("crypto"));
|
|
8
|
+
/**
|
|
9
|
+
* @category Elements
|
|
10
|
+
* @subcategory Entity
|
|
11
|
+
* */
|
|
8
12
|
class Message {
|
|
9
13
|
constructor(_$, data, sigKey) {
|
|
10
14
|
this.$ = _$;
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.$Message = void 0;
|
|
4
4
|
const string_1 = require("../../../engine/util/string");
|
|
5
|
+
/**
|
|
6
|
+
* @category Schemas
|
|
7
|
+
* @subcategory Entity
|
|
8
|
+
* */
|
|
5
9
|
class $Message {
|
|
6
10
|
constructor(module, name, alias, template) {
|
|
7
11
|
this.module = module;
|
|
@@ -2,6 +2,10 @@ import { AnyTrxNode } from "../../../engine/transaction/trx_node";
|
|
|
2
2
|
import { RawMessageInput } from "../../../schema";
|
|
3
3
|
import { Message } from './message';
|
|
4
4
|
import { $Message } from './message.schema';
|
|
5
|
+
/**
|
|
6
|
+
* @category Elements
|
|
7
|
+
* @subcategory Entity
|
|
8
|
+
* */
|
|
5
9
|
export declare class MessageParser<$ extends $Message> {
|
|
6
10
|
schema: $;
|
|
7
11
|
constructor(schema: $);
|
|
@@ -6,6 +6,10 @@ const error_1 = require("../../../engine/data/error");
|
|
|
6
6
|
const message_1 = require("./message");
|
|
7
7
|
const log_1 = require("../../../engine/util/log");
|
|
8
8
|
const message_template_parser_1 = require("./template/message_template_parser");
|
|
9
|
+
/**
|
|
10
|
+
* @category Elements
|
|
11
|
+
* @subcategory Entity
|
|
12
|
+
* */
|
|
9
13
|
class MessageParser {
|
|
10
14
|
constructor(schema) {
|
|
11
15
|
this.schema = schema;
|
|
@@ -2,6 +2,10 @@ import { $Module, $Space } from "../../../../schema";
|
|
|
2
2
|
import { $MessageTemplate } from './message_template.schema';
|
|
3
3
|
import { MessageTemplateFieldBuilders, MessageTemplateFieldFactory } from './message_template_field.builder';
|
|
4
4
|
import { ModuleTree } from "../../../../engine/tree";
|
|
5
|
+
/**
|
|
6
|
+
* @category Builders
|
|
7
|
+
* @subcategory Entity
|
|
8
|
+
* */
|
|
5
9
|
export declare class MessageTemplateBuilder {
|
|
6
10
|
private _fields;
|
|
7
11
|
constructor();
|
|
@@ -3,6 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.MessageTemplateBuilder = void 0;
|
|
4
4
|
const message_template_schema_1 = require("./message_template.schema");
|
|
5
5
|
const message_template_field_builder_1 = require("./message_template_field.builder");
|
|
6
|
+
/**
|
|
7
|
+
* @category Builders
|
|
8
|
+
* @subcategory Entity
|
|
9
|
+
* */
|
|
6
10
|
class MessageTemplateBuilder {
|
|
7
11
|
constructor() {
|
|
8
12
|
this._fields = {};
|
|
@@ -31,6 +31,10 @@ export type $MessageTemplateFieldMeta = {
|
|
|
31
31
|
msg?: $Dependency;
|
|
32
32
|
};
|
|
33
33
|
export type $MessageTemplateFieldType = $BucketModelFieldType | 'string_or_number' | 'id' | 'msg';
|
|
34
|
+
/**
|
|
35
|
+
* @category Schemas
|
|
36
|
+
* @subcategory Entity
|
|
37
|
+
* */
|
|
34
38
|
export declare class $MessageTemplateField {
|
|
35
39
|
type: $MessageTemplateFieldType;
|
|
36
40
|
name: string;
|
|
@@ -52,8 +56,13 @@ export declare class $MessageTemplateField {
|
|
|
52
56
|
export type $MessageTemplateFields = {
|
|
53
57
|
[x: string]: $MessageTemplateField;
|
|
54
58
|
};
|
|
59
|
+
/**
|
|
60
|
+
* @category Schemas
|
|
61
|
+
* @subcategory Entity
|
|
62
|
+
* */
|
|
55
63
|
export declare class $MessageTemplate {
|
|
56
64
|
fields: $MessageTemplateFields;
|
|
57
65
|
$t: string;
|
|
58
66
|
constructor(fields?: $MessageTemplateFields);
|
|
67
|
+
static fieldsOfType(template: $MessageTemplate, type: $MessageTemplateFieldType): $MessageTemplateField[];
|
|
59
68
|
}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.$MessageTemplate = exports.$MessageTemplateField = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @category Schemas
|
|
6
|
+
* @subcategory Entity
|
|
7
|
+
* */
|
|
4
8
|
class $MessageTemplateField {
|
|
5
9
|
constructor(type, name, alias, path, array, required, defaultValue, nullable, rules, meta, children, or) {
|
|
6
10
|
this.type = type;
|
|
@@ -19,10 +23,31 @@ class $MessageTemplateField {
|
|
|
19
23
|
}
|
|
20
24
|
}
|
|
21
25
|
exports.$MessageTemplateField = $MessageTemplateField;
|
|
26
|
+
/**
|
|
27
|
+
* @category Schemas
|
|
28
|
+
* @subcategory Entity
|
|
29
|
+
* */
|
|
22
30
|
class $MessageTemplate {
|
|
23
31
|
constructor(fields = {}) {
|
|
24
32
|
this.fields = fields;
|
|
25
33
|
this.$t = 'message.template';
|
|
26
34
|
}
|
|
35
|
+
static fieldsOfType(template, type) {
|
|
36
|
+
const fields = [];
|
|
37
|
+
let poll = Object.values(template.fields);
|
|
38
|
+
while (poll.length) {
|
|
39
|
+
const next = [];
|
|
40
|
+
for (const field of poll) {
|
|
41
|
+
if (field.type === type) {
|
|
42
|
+
fields.push(field);
|
|
43
|
+
}
|
|
44
|
+
if (field.children) {
|
|
45
|
+
next.push(...Object.values(field.children));
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
poll = next;
|
|
49
|
+
}
|
|
50
|
+
return fields;
|
|
51
|
+
}
|
|
27
52
|
}
|
|
28
53
|
exports.$MessageTemplate = $MessageTemplate;
|
|
@@ -9,6 +9,10 @@ import { MessageEnumpath } from '../../constants/constants.schema';
|
|
|
9
9
|
import { NesoiDecimal } from "../../../../engine/data/decimal";
|
|
10
10
|
import { NesoiDatetime } from "../../../../engine/data/datetime";
|
|
11
11
|
import { NesoiFile } from "../../../../engine/data/file";
|
|
12
|
+
/**
|
|
13
|
+
* @category Builders
|
|
14
|
+
* @subcategory Entity
|
|
15
|
+
* */
|
|
12
16
|
export declare class MessageTemplateFieldFactory<Space extends $Space, Module extends $Module, MsgName extends keyof Module['messages'], Message extends $Message = Module['messages'][MsgName]> {
|
|
13
17
|
private module;
|
|
14
18
|
private alias?;
|
|
@@ -197,6 +201,10 @@ export declare class MessageTemplateFieldFactory<Space extends $Space, Module ex
|
|
|
197
201
|
}, {}, [never, never], [never, never]>;
|
|
198
202
|
extend<MsgName extends keyof Module['messages'], Builders extends MessageTemplateFieldBuilders>(name: MsgName, fields: Builders): $MessageTemplateBuilderInfer<Module, Module["messages"][MsgName], Module["messages"][MsgName]["#raw"], Module["messages"][MsgName]["#parsed"]> & Builders;
|
|
199
203
|
}
|
|
204
|
+
/**
|
|
205
|
+
* @category Builders
|
|
206
|
+
* @subcategory Entity
|
|
207
|
+
* */
|
|
200
208
|
export declare class MessageTemplateFieldBuilder<Module extends $Module, Message extends $Message, DefinedInput, DefinedOutput, Children extends MessageTemplateFieldBuilders, Optional extends [undefined | never, undefined | never] = [never, never], // Used to infer the message type
|
|
201
209
|
Nullable extends [null | never, null | never] = [never, never]> {
|
|
202
210
|
private type;
|
|
@@ -4,6 +4,10 @@ exports.MessageTemplateFieldBuilder = exports.MessageTemplateFieldFactory = void
|
|
|
4
4
|
const message_template_schema_1 = require("./message_template.schema");
|
|
5
5
|
const error_1 = require("../../../../engine/data/error");
|
|
6
6
|
const dependency_1 = require("../../../../engine/dependency");
|
|
7
|
+
/**
|
|
8
|
+
* @category Builders
|
|
9
|
+
* @subcategory Entity
|
|
10
|
+
* */
|
|
7
11
|
class MessageTemplateFieldFactory {
|
|
8
12
|
constructor(module) {
|
|
9
13
|
this.module = module;
|
|
@@ -81,6 +85,10 @@ class MessageTemplateFieldFactory {
|
|
|
81
85
|
}
|
|
82
86
|
}
|
|
83
87
|
exports.MessageTemplateFieldFactory = MessageTemplateFieldFactory;
|
|
88
|
+
/**
|
|
89
|
+
* @category Builders
|
|
90
|
+
* @subcategory Entity
|
|
91
|
+
* */
|
|
84
92
|
class MessageTemplateFieldBuilder {
|
|
85
93
|
constructor(type, value, alias, children) {
|
|
86
94
|
this.type = type;
|
package/lib/elements/index.d.ts
CHANGED
|
@@ -7,5 +7,5 @@ export { $Bucket } from './entities/bucket/bucket.schema';
|
|
|
7
7
|
export { $Job } from './blocks/job/job.schema';
|
|
8
8
|
export { $Resource } from './blocks/resource/resource.schema';
|
|
9
9
|
export { $Queue } from './blocks/queue/queue.schema';
|
|
10
|
-
export { $Externals } from './
|
|
10
|
+
export { $Externals } from './edge/externals/externals.schema';
|
|
11
11
|
export { $Space, $Module } from '../schema';
|
package/lib/elements/index.js
CHANGED
|
@@ -19,5 +19,5 @@ var resource_schema_1 = require("./blocks/resource/resource.schema");
|
|
|
19
19
|
Object.defineProperty(exports, "$Resource", { enumerable: true, get: function () { return resource_schema_1.$Resource; } });
|
|
20
20
|
var queue_schema_1 = require("./blocks/queue/queue.schema");
|
|
21
21
|
Object.defineProperty(exports, "$Queue", { enumerable: true, get: function () { return queue_schema_1.$Queue; } });
|
|
22
|
-
var externals_schema_1 = require("./
|
|
22
|
+
var externals_schema_1 = require("./edge/externals/externals.schema");
|
|
23
23
|
Object.defineProperty(exports, "$Externals", { enumerable: true, get: function () { return externals_schema_1.$Externals; } });
|
|
@@ -5,6 +5,7 @@ import { ControllerConfig } from "../../elements/edge/controller/controller.conf
|
|
|
5
5
|
import { TrxEngineConfig } from '../transaction/trx_engine.config';
|
|
6
6
|
import { CompilerConfig } from "../../compiler/compiler";
|
|
7
7
|
import { App } from './app';
|
|
8
|
+
import { IService } from './service';
|
|
8
9
|
import { CLIConfig } from '../cli/cli';
|
|
9
10
|
import { BucketAdapter } from "../../elements/entities/bucket/adapters/bucket_adapter";
|
|
10
11
|
import { TrashObj } from '../data/trash';
|
|
@@ -27,9 +28,9 @@ export type AppI18nConfig = {
|
|
|
27
28
|
export type AppAuthnConfig<S extends $Space> = {
|
|
28
29
|
[K in keyof S['authnUsers']]: () => AuthnProvider<S['authnUsers'][K]>;
|
|
29
30
|
};
|
|
30
|
-
export type AppBucketConfig<S extends $Space, Modules extends ModuleName<S>,
|
|
31
|
+
export type AppBucketConfig<S extends $Space, Modules extends ModuleName<S>, Services extends Record<string, IService>> = Partial<{
|
|
31
32
|
[M in (Modules & keyof S['modules'])]: Partial<{
|
|
32
|
-
[K in keyof S['modules'][M]['buckets']]: BucketConfig<S['modules'][M], S['modules'][M]['buckets'][K],
|
|
33
|
+
[K in keyof S['modules'][M]['buckets']]: BucketConfig<S['modules'][M], S['modules'][M]['buckets'][K], Services>;
|
|
33
34
|
}>;
|
|
34
35
|
}>;
|
|
35
36
|
export type AppTrashConfig = {
|
|
@@ -37,13 +38,13 @@ export type AppTrashConfig = {
|
|
|
37
38
|
'#data': TrashObj;
|
|
38
39
|
}>) => BucketAdapter<TrashObj>;
|
|
39
40
|
};
|
|
40
|
-
export type AppControllerConfig<S extends $Space, Modules extends ModuleName<S>,
|
|
41
|
+
export type AppControllerConfig<S extends $Space, Modules extends ModuleName<S>, Services extends Record<string, IService>> = Partial<{
|
|
41
42
|
[M in (Modules & keyof S['modules'])]: Partial<{
|
|
42
|
-
[K in keyof S['modules'][M]['controllers']]: ControllerConfig<S['modules'][M]['controllers'][K],
|
|
43
|
+
[K in keyof S['modules'][M]['controllers']]: ControllerConfig<S['modules'][M], S['modules'][M]['controllers'][K], Services>;
|
|
43
44
|
}>;
|
|
44
45
|
}>;
|
|
45
|
-
export type AppTrxEngineConfig<S extends $Space, Modules extends ModuleName<S>,
|
|
46
|
-
[M in (Modules & keyof S['modules'])]: TrxEngineConfig<S, S['modules'][M], any,
|
|
46
|
+
export type AppTrxEngineConfig<S extends $Space, Modules extends ModuleName<S>, Services extends Record<string, IService>> = Partial<{
|
|
47
|
+
[M in (Modules & keyof S['modules'])]: TrxEngineConfig<S, S['modules'][M], any, Services>;
|
|
47
48
|
}>;
|
|
48
49
|
export type AppAuditConfig = {
|
|
49
50
|
adapter: ($: Overlay<$Bucket, {
|
|
@@ -54,17 +55,20 @@ export type AppAuditConfig = {
|
|
|
54
55
|
/**
|
|
55
56
|
* Factory
|
|
56
57
|
*/
|
|
57
|
-
|
|
58
|
+
/**
|
|
59
|
+
* @category App
|
|
60
|
+
*/
|
|
61
|
+
export declare class AppConfigFactory<S extends $Space, Modules extends string = ModuleName<S> & string, Services extends Record<string, any> = Record<string, any>, _App = App<S, Modules, Services>> {
|
|
58
62
|
private app;
|
|
59
63
|
private config;
|
|
60
64
|
constructor(app: _App);
|
|
61
65
|
i18n(config: AppI18nConfig): _App;
|
|
62
66
|
authn(config: AppAuthnConfig<S>): _App;
|
|
63
|
-
buckets(config: AppBucketConfig<S, Modules,
|
|
67
|
+
buckets(config: AppBucketConfig<S, Modules, Services>): _App;
|
|
64
68
|
trash(config: AppTrashConfig): _App;
|
|
65
|
-
controllers(config: AppControllerConfig<S, Modules,
|
|
69
|
+
controllers(config: AppControllerConfig<S, Modules, Services>): _App;
|
|
66
70
|
audit(config: AppI18nConfig): _App;
|
|
67
71
|
compiler(config: CompilerConfig): _App;
|
|
68
|
-
cli(config: CLIConfig<
|
|
69
|
-
trx(config: AppTrxEngineConfig<S, Modules,
|
|
72
|
+
cli(config: CLIConfig<Services>): _App;
|
|
73
|
+
trx(config: AppTrxEngineConfig<S, Modules, Services>): _App;
|
|
70
74
|
}
|
package/lib/engine/apps/app.d.ts
CHANGED
|
@@ -3,24 +3,16 @@ import { AnyBuilder, AnyModule } from '../module';
|
|
|
3
3
|
import { Space } from '../space';
|
|
4
4
|
import { Daemon } from '../daemon';
|
|
5
5
|
import { AnyAppConfig, AppConfigFactory } from './app.config';
|
|
6
|
+
import { IService } from './service';
|
|
6
7
|
/**
|
|
7
|
-
*
|
|
8
|
+
* @category App
|
|
8
9
|
*/
|
|
9
|
-
export
|
|
10
|
-
name: Name;
|
|
11
|
-
up: ($: {
|
|
12
|
-
modules: Record<string, AnyModule>;
|
|
13
|
-
}) => T;
|
|
14
|
-
down: (provider: NoInfer<T>) => any;
|
|
15
|
-
libPaths?: string[];
|
|
16
|
-
};
|
|
17
|
-
export type AnyAppProvider = AppProvider<any, any>;
|
|
18
|
-
export declare abstract class App<S extends $Space, Modules extends string = ModuleName<S> & string, Providers extends Record<string, any> = Record<string, any>> {
|
|
10
|
+
export declare abstract class App<S extends $Space, Modules extends string = ModuleName<S> & string, Services extends Record<string, any> = Record<string, any>> {
|
|
19
11
|
name: string;
|
|
20
12
|
protected _config: AnyAppConfig;
|
|
21
13
|
protected _spaceModuleNames: ModuleName<S>[];
|
|
22
14
|
protected _injectedModules: AnyModule[];
|
|
23
|
-
protected
|
|
15
|
+
protected _services: Record<string, IService>;
|
|
24
16
|
protected space?: Space<S>;
|
|
25
17
|
protected builders?: AnyBuilder[];
|
|
26
18
|
constructor(name: string, boot?: {
|
|
@@ -34,7 +26,7 @@ export declare abstract class App<S extends $Space, Modules extends string = Mod
|
|
|
34
26
|
* This can be run without await before the daemon,
|
|
35
27
|
* to preload the module in background.
|
|
36
28
|
*/
|
|
37
|
-
abstract boot(): App<S, Modules,
|
|
29
|
+
abstract boot(): App<S, Modules, Services>;
|
|
38
30
|
/**
|
|
39
31
|
* Spawn a daemon for this app.
|
|
40
32
|
*/
|
|
@@ -45,7 +37,7 @@ export declare abstract class App<S extends $Space, Modules extends string = Mod
|
|
|
45
37
|
* ⚠ This has no effect on apps without a `Space`, such as `InlineApp`.
|
|
46
38
|
* @param modules A list of names of modules from the current `Space`.
|
|
47
39
|
*/
|
|
48
|
-
modules<M extends ModuleName<S>>(modules: M[]): App<S, M & Modules,
|
|
40
|
+
modules<M extends ModuleName<S>>(modules: M[]): App<S, M & Modules, Services>;
|
|
49
41
|
/**
|
|
50
42
|
* Injects pre-built modules into this App.
|
|
51
43
|
* These will be included on the Daemon once it starts.
|
|
@@ -54,16 +46,16 @@ export declare abstract class App<S extends $Space, Modules extends string = Mod
|
|
|
54
46
|
*/
|
|
55
47
|
inject(modules: AnyModule[]): this;
|
|
56
48
|
/**
|
|
57
|
-
* Declares a `
|
|
49
|
+
* Declares a `Service`.
|
|
58
50
|
*
|
|
59
|
-
*
|
|
51
|
+
* Services are started and ended along with the daemon, and can be used on the App
|
|
60
52
|
* config to share globals between adapters and other methods.
|
|
61
|
-
* @param $
|
|
53
|
+
* @param $ object with an `up` and `down` method to create/destroy the service
|
|
62
54
|
*/
|
|
63
|
-
|
|
64
|
-
get config(): AppConfigFactory<S, Modules,
|
|
55
|
+
service<T extends IService>($: T): App<S, Modules, Services & { [K in T["name"]]: T; }>;
|
|
56
|
+
get config(): AppConfigFactory<S, Modules, Services>;
|
|
65
57
|
protected makeModules(): Record<string, AnyModule>;
|
|
66
|
-
static
|
|
58
|
+
static getServices(app: AnyApp): Record<string, IService>;
|
|
67
59
|
static getInfo(app: AnyApp): {
|
|
68
60
|
spaceModules: (string | number | symbol)[];
|
|
69
61
|
config: AnyAppConfig;
|
package/lib/engine/apps/app.js
CHANGED
|
@@ -7,6 +7,9 @@ const app_config_1 = require("./app.config");
|
|
|
7
7
|
/*
|
|
8
8
|
App
|
|
9
9
|
*/
|
|
10
|
+
/**
|
|
11
|
+
* @category App
|
|
12
|
+
*/
|
|
10
13
|
class App {
|
|
11
14
|
constructor(name, boot) {
|
|
12
15
|
this.name = name;
|
|
@@ -18,10 +21,10 @@ class App {
|
|
|
18
21
|
// running the daemon. These will be included on the daemon
|
|
19
22
|
// once it's run.
|
|
20
23
|
this._injectedModules = [];
|
|
21
|
-
// A list of
|
|
24
|
+
// A list of services, which are created and destroyed
|
|
22
25
|
// along with the daemon. These are internally available for
|
|
23
26
|
// blocks - usually used by adapters.
|
|
24
|
-
this.
|
|
27
|
+
this._services = {};
|
|
25
28
|
if (boot) {
|
|
26
29
|
if ('space' in boot) {
|
|
27
30
|
this.space = boot.space;
|
|
@@ -53,14 +56,14 @@ class App {
|
|
|
53
56
|
return this;
|
|
54
57
|
}
|
|
55
58
|
/**
|
|
56
|
-
* Declares a `
|
|
59
|
+
* Declares a `Service`.
|
|
57
60
|
*
|
|
58
|
-
*
|
|
61
|
+
* Services are started and ended along with the daemon, and can be used on the App
|
|
59
62
|
* config to share globals between adapters and other methods.
|
|
60
|
-
* @param $
|
|
63
|
+
* @param $ object with an `up` and `down` method to create/destroy the service
|
|
61
64
|
*/
|
|
62
|
-
|
|
63
|
-
this.
|
|
65
|
+
service($) {
|
|
66
|
+
this._services[$.name] = $;
|
|
64
67
|
return this;
|
|
65
68
|
}
|
|
66
69
|
//
|
|
@@ -73,7 +76,7 @@ class App {
|
|
|
73
76
|
if (this.space) {
|
|
74
77
|
space_1.Space.scan(this.space, (name, path) => {
|
|
75
78
|
if (this._spaceModuleNames.includes(name)) {
|
|
76
|
-
modules[name] = new module_1.Module(name, { path });
|
|
79
|
+
modules[name] = new module_1.Module(name, { dirpath: path });
|
|
77
80
|
}
|
|
78
81
|
});
|
|
79
82
|
}
|
|
@@ -91,8 +94,8 @@ class App {
|
|
|
91
94
|
return modules;
|
|
92
95
|
}
|
|
93
96
|
//
|
|
94
|
-
static
|
|
95
|
-
return app.
|
|
97
|
+
static getServices(app) {
|
|
98
|
+
return app._services;
|
|
96
99
|
}
|
|
97
100
|
static getInfo(app) {
|
|
98
101
|
return {
|