nesoi 3.0.6 → 3.0.9
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/adapters/postgres/src/migrator/database.d.ts +3 -6
- package/lib/adapters/postgres/src/migrator/database.js +20 -20
- package/lib/adapters/postgres/src/migrator/generator/generator.d.ts +22 -0
- package/lib/adapters/postgres/src/migrator/generator/generator.js +326 -0
- package/lib/adapters/postgres/src/migrator/generator/migration.d.ts +66 -0
- package/lib/adapters/postgres/src/migrator/generator/migration.js +249 -0
- package/lib/adapters/postgres/src/migrator/generator/provider.d.ts +19 -0
- package/lib/adapters/postgres/src/migrator/{migrator.js → generator/provider.js} +23 -25
- package/lib/adapters/postgres/src/migrator/index.d.ts +47 -1
- package/lib/adapters/postgres/src/migrator/index.js +20 -3
- package/lib/adapters/postgres/src/migrator/runner/runner.d.ts +17 -0
- package/lib/adapters/postgres/src/migrator/runner/runner.js +249 -0
- package/lib/adapters/postgres/src/migrator/runner/status.d.ts +17 -0
- package/lib/adapters/postgres/src/migrator/runner/status.js +55 -0
- package/lib/adapters/postgres/src/postgres.cli.d.ts +11 -1
- package/lib/adapters/postgres/src/postgres.cli.js +34 -11
- package/lib/adapters/postgres/test/postgres.bucket_adapter.test.js +4 -4
- 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 +32 -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/compiler/typescript/transformers/replace_import.transformer.js +8 -1
- 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 +4 -0
- 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 +16 -0
- package/lib/elements/blocks/machine/machine.schema.js +16 -1
- 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 +4 -0
- package/lib/elements/edge/controller/adapters/controller_adapter.js +4 -0
- 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.d.ts +4 -0
- package/lib/elements/edge/controller/controller.js +4 -0
- 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 +16 -11
- 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.d.ts +9 -2
- package/lib/elements/entities/bucket/bucket.js +14 -7
- 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 +3 -0
- package/lib/engine/apps/app.config.js +3 -0
- package/lib/engine/apps/app.d.ts +3 -0
- package/lib/engine/apps/app.js +4 -1
- package/lib/engine/apps/inline.app.d.ts +3 -0
- package/lib/engine/apps/inline.app.js +3 -0
- package/lib/engine/apps/monolyth/monolyth.app.d.ts +8 -0
- package/lib/engine/apps/monolyth/monolyth.app.js +8 -0
- package/lib/engine/auth/authn.d.ts +4 -0
- package/lib/engine/auth/authn.js +4 -0
- package/lib/engine/auth/zero.authn_provider.d.ts +4 -0
- package/lib/engine/auth/zero.authn_provider.js +4 -0
- package/lib/engine/cli/cli.d.ts +7 -1
- 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 +93 -6
- package/lib/engine/daemon.js +90 -7
- 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 +63 -2
- package/lib/engine/dependency.js +52 -0
- package/lib/engine/module.d.ts +109 -9
- package/lib/engine/module.js +110 -25
- 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 +12 -0
- package/lib/engine/transaction/nodes/bucket_query.trx_node.d.ts +4 -0
- package/lib/engine/transaction/nodes/bucket_query.trx_node.js +4 -0
- package/lib/engine/transaction/nodes/job.trx_node.d.ts +4 -0
- package/lib/engine/transaction/nodes/job.trx_node.js +4 -0
- package/lib/engine/transaction/nodes/machine.trx_node.d.ts +4 -0
- package/lib/engine/transaction/nodes/machine.trx_node.js +4 -0
- package/lib/engine/transaction/nodes/queue.trx_node.d.ts +4 -0
- package/lib/engine/transaction/nodes/queue.trx_node.js +4 -0
- package/lib/engine/transaction/nodes/resource.trx_node.d.ts +4 -0
- package/lib/engine/transaction/nodes/resource.trx_node.js +4 -0
- package/lib/engine/transaction/trx.d.ts +8 -0
- package/lib/engine/transaction/trx.js +8 -0
- package/lib/engine/transaction/trx_engine.d.ts +4 -0
- package/lib/engine/transaction/trx_engine.js +4 -3
- package/lib/engine/transaction/trx_node.d.ts +4 -0
- package/lib/engine/transaction/trx_node.js +4 -0
- package/lib/engine/tree.d.ts +54 -2
- package/lib/engine/tree.js +54 -2
- package/lib/engine/util/mime.d.ts +4 -4
- package/lib/engine/util/mime.js +7 -9
- package/lib/schema.d.ts +1 -1
- package/package.json +1 -1
- 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/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/runner.d.ts +0 -71
- package/lib/adapters/postgres/src/migrator/runner.js +0 -271
- 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
|
@@ -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; } });
|
|
@@ -54,6 +54,9 @@ export type AppAuditConfig = {
|
|
|
54
54
|
/**
|
|
55
55
|
* Factory
|
|
56
56
|
*/
|
|
57
|
+
/**
|
|
58
|
+
* @category App
|
|
59
|
+
*/
|
|
57
60
|
export declare class AppConfigFactory<S extends $Space, Modules extends string = ModuleName<S> & string, Providers extends Record<string, any> = Record<string, any>, _App = App<S, Modules, Providers>> {
|
|
58
61
|
private app;
|
|
59
62
|
private config;
|
package/lib/engine/apps/app.d.ts
CHANGED
|
@@ -15,6 +15,9 @@ export type AppProvider<out Name, T> = {
|
|
|
15
15
|
libPaths?: string[];
|
|
16
16
|
};
|
|
17
17
|
export type AnyAppProvider = AppProvider<any, any>;
|
|
18
|
+
/**
|
|
19
|
+
* @category App
|
|
20
|
+
*/
|
|
18
21
|
export declare abstract class App<S extends $Space, Modules extends string = ModuleName<S> & string, Providers extends Record<string, any> = Record<string, any>> {
|
|
19
22
|
name: string;
|
|
20
23
|
protected _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;
|
|
@@ -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
|
}
|
|
@@ -4,6 +4,9 @@ import { AnyTrxEngine } from '../transaction/trx_engine';
|
|
|
4
4
|
import { AnyBuilder, AnyModule, Module } from '../module';
|
|
5
5
|
import { AnyDaemon, Daemon } from '../daemon';
|
|
6
6
|
import { AppConfigFactory } from './app.config';
|
|
7
|
+
/**
|
|
8
|
+
* @category App
|
|
9
|
+
*/
|
|
7
10
|
export declare class InlineApp<S extends $Space, ModuleNames extends string = ModuleName<S> & string, Providers extends Record<string, any> = Record<string, any>> extends App<S, ModuleNames, Providers> {
|
|
8
11
|
protected _daemon?: Daemon<S, ModuleNames>;
|
|
9
12
|
protected _modules: Record<string, AnyModule>;
|
|
@@ -7,6 +7,9 @@ const trx_engine_1 = require("../transaction/trx_engine");
|
|
|
7
7
|
const tree_1 = require("../tree");
|
|
8
8
|
const daemon_1 = require("../daemon");
|
|
9
9
|
const app_config_1 = require("./app.config");
|
|
10
|
+
/**
|
|
11
|
+
* @category App
|
|
12
|
+
*/
|
|
10
13
|
class InlineApp extends app_1.App {
|
|
11
14
|
constructor(name, builders) {
|
|
12
15
|
super(name, { builders });
|
|
@@ -5,6 +5,10 @@ import { AnyTrxEngine } from '../../transaction/trx_engine';
|
|
|
5
5
|
import { Space } from '../../space';
|
|
6
6
|
import { Daemon } from "../../daemon";
|
|
7
7
|
import { AppConfigFactory } from '../app.config';
|
|
8
|
+
/**
|
|
9
|
+
* @category App
|
|
10
|
+
* @subcategory Monolyth
|
|
11
|
+
*/
|
|
8
12
|
export declare class MonolythApp<S extends $Space, ModuleNames extends string = ModuleName<S> & string, Providers extends Record<string, any> = Record<string, any>> extends InlineApp<S, ModuleNames, Providers> {
|
|
9
13
|
private watcher?;
|
|
10
14
|
constructor(name: string, space?: Space<S>);
|
|
@@ -18,5 +22,9 @@ export declare class MonolythApp<S extends $Space, ModuleNames extends string =
|
|
|
18
22
|
provider<Name extends string, T>($: AppProvider<Name, T>): MonolythApp<S, ModuleNames, Providers & { [K in Name]: T; }>;
|
|
19
23
|
get config(): AppConfigFactory<S, ModuleNames, Providers, typeof this>;
|
|
20
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* @category App
|
|
27
|
+
* @subcategory Monolyth
|
|
28
|
+
*/
|
|
21
29
|
export declare class MonolythDaemon<S extends $Space, Modules extends ModuleName<S>> extends Daemon<S, Modules> {
|
|
22
30
|
}
|
|
@@ -39,6 +39,10 @@ const space_1 = require("../../space");
|
|
|
39
39
|
const daemon_1 = require("../../daemon");
|
|
40
40
|
const log_1 = require("../../util/log");
|
|
41
41
|
const app_config_1 = require("../app.config");
|
|
42
|
+
/**
|
|
43
|
+
* @category App
|
|
44
|
+
* @subcategory Monolyth
|
|
45
|
+
*/
|
|
42
46
|
class MonolythApp extends inline_app_1.InlineApp {
|
|
43
47
|
constructor(name, space) {
|
|
44
48
|
super(name, []);
|
|
@@ -101,6 +105,10 @@ class MonolythApp extends inline_app_1.InlineApp {
|
|
|
101
105
|
}
|
|
102
106
|
}
|
|
103
107
|
exports.MonolythApp = MonolythApp;
|
|
108
|
+
/**
|
|
109
|
+
* @category App
|
|
110
|
+
* @subcategory Monolyth
|
|
111
|
+
*/
|
|
104
112
|
class MonolythDaemon extends daemon_1.Daemon {
|
|
105
113
|
}
|
|
106
114
|
exports.MonolythDaemon = MonolythDaemon;
|
|
@@ -8,6 +8,10 @@ export type AuthnToken = string;
|
|
|
8
8
|
export type AuthnRequest<P extends keyof any> = {
|
|
9
9
|
[K in P]?: AuthnToken;
|
|
10
10
|
};
|
|
11
|
+
/**
|
|
12
|
+
* @category Engine
|
|
13
|
+
* @subcategory Auth
|
|
14
|
+
*/
|
|
11
15
|
export declare abstract class AuthnProvider<U extends User> {
|
|
12
16
|
abstract authenticate($: {
|
|
13
17
|
trx: AnyTrxNode;
|
package/lib/engine/auth/authn.js
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ZeroAuthnProvider = void 0;
|
|
4
4
|
const authn_1 = require("./authn");
|
|
5
|
+
/**
|
|
6
|
+
* @category Engine
|
|
7
|
+
* @subcategory Auth
|
|
8
|
+
*/
|
|
5
9
|
class ZeroAuthnProvider extends authn_1.AuthnProvider {
|
|
6
10
|
authenticate($) {
|
|
7
11
|
return Promise.resolve({
|
package/lib/engine/cli/cli.d.ts
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import { AnyDaemon } from '../daemon';
|
|
2
2
|
import { CLIAdapter } from './cli_adapter';
|
|
3
3
|
export type CLIConfig<Providers> = {
|
|
4
|
+
editor?: string;
|
|
4
5
|
adapters?: {
|
|
5
|
-
[x: string]: (providers: Providers) => CLIAdapter;
|
|
6
|
+
[x: string]: (cli: CLI, providers: Providers) => CLIAdapter;
|
|
6
7
|
};
|
|
7
8
|
};
|
|
9
|
+
/**
|
|
10
|
+
* @category Engine
|
|
11
|
+
* @subcategory CLI
|
|
12
|
+
*/
|
|
8
13
|
export declare class CLI {
|
|
9
14
|
private daemon;
|
|
10
15
|
config?: CLIConfig<any> | undefined;
|
|
@@ -18,4 +23,5 @@ export declare class CLI {
|
|
|
18
23
|
private cmdHelp;
|
|
19
24
|
private cmdClear;
|
|
20
25
|
private getCmds;
|
|
26
|
+
openEditor(file: string): void;
|
|
21
27
|
}
|
package/lib/engine/cli/cli.js
CHANGED
|
@@ -10,6 +10,11 @@ const console_1 = __importDefault(require("../util/console"));
|
|
|
10
10
|
const daemon_1 = require("../daemon");
|
|
11
11
|
const log_1 = require("../util/log");
|
|
12
12
|
const cli_input_1 = require("./cli_input");
|
|
13
|
+
const shell_1 = __importDefault(require("../util/shell"));
|
|
14
|
+
/**
|
|
15
|
+
* @category Engine
|
|
16
|
+
* @subcategory CLI
|
|
17
|
+
*/
|
|
13
18
|
class CLI {
|
|
14
19
|
constructor(daemon, config) {
|
|
15
20
|
this.daemon = daemon;
|
|
@@ -20,7 +25,7 @@ class CLI {
|
|
|
20
25
|
// Build adapters
|
|
21
26
|
this.adapters = {};
|
|
22
27
|
Object.entries(config?.adapters || {}).forEach(([key, val]) => {
|
|
23
|
-
this.adapters[key] = val(daemon_1.Daemon.get(daemon, 'providers'));
|
|
28
|
+
this.adapters[key] = val(this, daemon_1.Daemon.get(daemon, 'providers'));
|
|
24
29
|
this.adapters[key].name = key;
|
|
25
30
|
});
|
|
26
31
|
this.input = new cli_input_1.CLIInputHandler(this.getCmds());
|
|
@@ -103,5 +108,9 @@ class CLI {
|
|
|
103
108
|
}
|
|
104
109
|
return cmds;
|
|
105
110
|
}
|
|
111
|
+
openEditor(file) {
|
|
112
|
+
const editor = this.config?.editor || 'code';
|
|
113
|
+
shell_1.default.cmd(process.cwd(), `${editor} ${file}`);
|
|
114
|
+
}
|
|
106
115
|
}
|
|
107
116
|
exports.CLI = CLI;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { AnyDaemon } from '../daemon';
|
|
2
|
+
import { CLI } from './cli';
|
|
3
|
+
/**
|
|
4
|
+
* @category Engine
|
|
5
|
+
* @subcategory CLI
|
|
6
|
+
*/
|
|
2
7
|
export declare abstract class CLICommand<T extends Record<string, any> = Record<string, any>> {
|
|
3
8
|
scope: 'dev' | 'prod' | 'any';
|
|
4
9
|
name: string;
|
|
@@ -10,10 +15,15 @@ export declare abstract class CLICommand<T extends Record<string, any> = Record<
|
|
|
10
15
|
input(payload: string): Record<string, any>;
|
|
11
16
|
abstract run(daemon: AnyDaemon, input: T): Promise<void>;
|
|
12
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* @category Engine
|
|
20
|
+
* @subcategory CLI
|
|
21
|
+
*/
|
|
13
22
|
export declare abstract class CLIAdapter {
|
|
23
|
+
protected cli: CLI;
|
|
14
24
|
name?: string;
|
|
15
25
|
commands: Record<string, CLICommand>;
|
|
16
|
-
constructor();
|
|
26
|
+
constructor(cli: CLI);
|
|
17
27
|
runCmd(daemon: AnyDaemon, payload: string): Promise<boolean>;
|
|
18
28
|
help(): string;
|
|
19
29
|
}
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CLIAdapter = exports.CLICommand = void 0;
|
|
4
4
|
const string_1 = require("../util/string");
|
|
5
|
+
/**
|
|
6
|
+
* @category Engine
|
|
7
|
+
* @subcategory CLI
|
|
8
|
+
*/
|
|
5
9
|
class CLICommand {
|
|
6
10
|
constructor(scope, name, syntax, description, regex, groups) {
|
|
7
11
|
this.scope = scope;
|
|
@@ -30,8 +34,13 @@ class CLICommand {
|
|
|
30
34
|
}
|
|
31
35
|
}
|
|
32
36
|
exports.CLICommand = CLICommand;
|
|
37
|
+
/**
|
|
38
|
+
* @category Engine
|
|
39
|
+
* @subcategory CLI
|
|
40
|
+
*/
|
|
33
41
|
class CLIAdapter {
|
|
34
|
-
constructor() {
|
|
42
|
+
constructor(cli) {
|
|
43
|
+
this.cli = cli;
|
|
35
44
|
this.commands = {};
|
|
36
45
|
}
|
|
37
46
|
async runCmd(daemon, payload) {
|
|
@@ -36,6 +36,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.CLIInputHandler = void 0;
|
|
37
37
|
const stream_1 = require("stream");
|
|
38
38
|
const readline = __importStar(require("readline"));
|
|
39
|
+
/**
|
|
40
|
+
* @category Engine
|
|
41
|
+
* @subcategory CLI
|
|
42
|
+
*/
|
|
39
43
|
class CLIInputHandler {
|
|
40
44
|
constructor(suggestions = []) {
|
|
41
45
|
this.suggestions = suggestions;
|
package/lib/engine/cli/ui.d.ts
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @category Engine
|
|
3
|
+
* @subcategory CLI
|
|
4
|
+
*/
|
|
1
5
|
export default class UI {
|
|
2
6
|
/**
|
|
3
7
|
* Show a list of options and let the user pick with up/down + enter
|
|
4
8
|
*/
|
|
5
|
-
static select<T>(title: string, options: T[], val?: NoInfer<(o: T) => string>, defaul?: number): Promise<
|
|
9
|
+
static select<T>(title: string, options: T[], val?: NoInfer<(o: T) => string>, defaul?: number): Promise<{
|
|
10
|
+
i: number;
|
|
11
|
+
value: T;
|
|
12
|
+
}>;
|
|
6
13
|
/**
|
|
7
14
|
* Ask a question and wait for the answer
|
|
8
15
|
*/
|
|
@@ -10,7 +17,12 @@ export default class UI {
|
|
|
10
17
|
/**
|
|
11
18
|
* Show a message and wait for the user to press any key
|
|
12
19
|
*/
|
|
13
|
-
static waitForAnyKey(title?: string): Promise<
|
|
20
|
+
static waitForAnyKey(title?: string): Promise<{
|
|
21
|
+
sequence: string;
|
|
22
|
+
name: string;
|
|
23
|
+
ctrl: boolean;
|
|
24
|
+
shift: boolean;
|
|
25
|
+
}>;
|
|
14
26
|
/**
|
|
15
27
|
* Ask a yes or no question and wait for the answer
|
|
16
28
|
*/
|
package/lib/engine/cli/ui.js
CHANGED
|
@@ -36,6 +36,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
const readline = __importStar(require("readline"));
|
|
37
37
|
const stream_1 = require("stream");
|
|
38
38
|
const string_1 = require("../util/string");
|
|
39
|
+
/**
|
|
40
|
+
* @category Engine
|
|
41
|
+
* @subcategory CLI
|
|
42
|
+
*/
|
|
39
43
|
class UI {
|
|
40
44
|
/**
|
|
41
45
|
* Show a list of options and let the user pick with up/down + enter
|
|
@@ -85,7 +89,7 @@ class UI {
|
|
|
85
89
|
else if (key.name === 'return') {
|
|
86
90
|
rl.close();
|
|
87
91
|
process.stdin.off('keypress', onKeypress);
|
|
88
|
-
resolve(options[selected]);
|
|
92
|
+
resolve({ i: selected, value: options[selected] });
|
|
89
93
|
}
|
|
90
94
|
clear();
|
|
91
95
|
print();
|
|
@@ -115,7 +119,7 @@ class UI {
|
|
|
115
119
|
*/
|
|
116
120
|
static waitForAnyKey(title = 'Press any key to continue...') {
|
|
117
121
|
return new Promise(resolve => {
|
|
118
|
-
|
|
122
|
+
process.stdin.write(title + ' ');
|
|
119
123
|
const mutableStdout = new stream_1.Writable({
|
|
120
124
|
write: function (chunk, encoding, callback) {
|
|
121
125
|
}
|
|
@@ -127,8 +131,9 @@ class UI {
|
|
|
127
131
|
});
|
|
128
132
|
const onKeypress = function (ch, key) {
|
|
129
133
|
rl.close();
|
|
134
|
+
console.log(`${(0, string_1.colored)(ch, 'lightcyan')}\n`);
|
|
130
135
|
process.stdin.off('keypress', onKeypress);
|
|
131
|
-
resolve();
|
|
136
|
+
resolve(key);
|
|
132
137
|
};
|
|
133
138
|
process.stdin.on('keypress', onKeypress);
|
|
134
139
|
});
|
|
@@ -137,9 +142,8 @@ class UI {
|
|
|
137
142
|
* Ask a yes or no question and wait for the answer
|
|
138
143
|
*/
|
|
139
144
|
static async yesOrNo(text, defaul = 'n') {
|
|
140
|
-
|
|
141
|
-
answer
|
|
142
|
-
if (answer === 'y' || answer === 'yes')
|
|
145
|
+
const answer = await this.waitForAnyKey('\n\t» ' + (0, string_1.colored)(text, 'lightblue') + (0, string_1.colored)(' [y|n]', 'lightgray'));
|
|
146
|
+
if (answer.name === 'y')
|
|
143
147
|
return true;
|
|
144
148
|
return false;
|
|
145
149
|
}
|
package/lib/engine/daemon.d.ts
CHANGED
|
@@ -6,31 +6,118 @@ import { AnyUsers, AuthnRequest } from './auth/authn';
|
|
|
6
6
|
import { TrxNode } from './transaction/trx_node';
|
|
7
7
|
import { TrxStatus } from './transaction/trx';
|
|
8
8
|
import { AnyModule } from './module';
|
|
9
|
+
import { AnyAppProvider } from './apps/app';
|
|
10
|
+
/**
|
|
11
|
+
* A background process running one or more modules,
|
|
12
|
+
* which runs _Transactions_ for the available elements.
|
|
13
|
+
*
|
|
14
|
+
* A `Daemon` is spawn by an `App`.
|
|
15
|
+
*
|
|
16
|
+
* @category Engine
|
|
17
|
+
*/
|
|
9
18
|
export declare abstract class Daemon<S extends $Space, Modules extends ModuleName<S>> {
|
|
10
19
|
protected name: string;
|
|
11
20
|
protected trxEngines: Record<Modules, AnyTrxEngine>;
|
|
12
|
-
protected providers: Record<string,
|
|
13
|
-
protected
|
|
14
|
-
|
|
15
|
-
|
|
21
|
+
protected providers: Record<string, AnyAppProvider>;
|
|
22
|
+
protected config?: AnyAppConfig | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* @param name Name of the daemon (taken from App)
|
|
25
|
+
* @param trxEngines A dictionary of Transaction Engine by module name
|
|
26
|
+
* @param providers A dictionary of App Provider by name
|
|
27
|
+
* @param config Optional `AppConfig`
|
|
28
|
+
*/
|
|
29
|
+
constructor(name: string, trxEngines: Record<Modules, AnyTrxEngine>, providers: Record<string, AnyAppProvider>, config?: AnyAppConfig | undefined);
|
|
30
|
+
/**
|
|
31
|
+
* Prepare a transaction to be run by the Daemon.
|
|
32
|
+
*
|
|
33
|
+
* @param moduleName Name of the module where to run the transactoin
|
|
34
|
+
* @returns A `DaemonTrx` instance, which can be run
|
|
35
|
+
*/
|
|
16
36
|
trx<K extends Modules & keyof S['modules']>(moduleName: K): DaemonTrx<S, S["modules"][K], {}>;
|
|
37
|
+
/**
|
|
38
|
+
* Run the Nesoi CLI for this Daemon.
|
|
39
|
+
*/
|
|
17
40
|
cli(cmd?: string): Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* Bind the controller of each module to this Daemon.
|
|
43
|
+
* This allows the registered `Controller Adapters` to run
|
|
44
|
+
* transactions on the daemon.
|
|
45
|
+
*/
|
|
18
46
|
private bindControllers;
|
|
47
|
+
/**
|
|
48
|
+
* Destroy the providers and transaction engines of this daemon
|
|
49
|
+
*
|
|
50
|
+
* @param A `Daemon` instance
|
|
51
|
+
*/
|
|
19
52
|
static destroy(daemon: AnyDaemon): Promise<void>;
|
|
53
|
+
/**
|
|
54
|
+
* Replace the providers and transaction engines of this daemon
|
|
55
|
+
* and rebind the controllers
|
|
56
|
+
*
|
|
57
|
+
* @param daemon A `Daemon` instance
|
|
58
|
+
* @param trxEngines A dictionary of Transaction Engine by module name
|
|
59
|
+
* @param providers A dictionary of App Provider by name
|
|
60
|
+
*/
|
|
20
61
|
static reload(daemon: AnyDaemon, trxEngines: Record<string, AnyTrxEngine>, providers: Record<string, any>): void;
|
|
62
|
+
/**
|
|
63
|
+
* Return a `Daemon` property.
|
|
64
|
+
* This is used to read private properties.
|
|
65
|
+
*
|
|
66
|
+
* @param daemon A `Daemon` instance
|
|
67
|
+
* @param key A `Daemon` property `'name'|'providers'|'app'`
|
|
68
|
+
* @returns The selected property
|
|
69
|
+
*/
|
|
21
70
|
static get<T extends {
|
|
22
71
|
name: string;
|
|
23
72
|
providers: Record<string, any>;
|
|
24
73
|
app: AnyAppConfig;
|
|
25
74
|
}, K extends keyof T>(daemon: AnyDaemon | undefined, key: K): T[K];
|
|
26
|
-
|
|
75
|
+
/**
|
|
76
|
+
* Return one module of the `Daemon` by name.
|
|
77
|
+
*
|
|
78
|
+
* @param daemon A `Daemon` instance
|
|
79
|
+
* @param module A module name
|
|
80
|
+
* @returns The `Module` instance
|
|
81
|
+
*/
|
|
82
|
+
static getModule<Module extends ModuleName<any>, D extends Daemon<any, Module>>(daemon: D, module: Module): import("./module").Module<any, any>;
|
|
83
|
+
/**
|
|
84
|
+
* Return all modules of the `Daemon`.
|
|
85
|
+
*
|
|
86
|
+
* @param daemon A `Daemon` instance
|
|
87
|
+
* @returns The `Module` instances
|
|
88
|
+
*/
|
|
27
89
|
static getModules(daemon: AnyDaemon): AnyModule[];
|
|
28
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* A helper class for preparing a transaction to be run.
|
|
93
|
+
* It allows declaring authentication data before running
|
|
94
|
+
* the transaction.
|
|
95
|
+
*
|
|
96
|
+
* @category Engine
|
|
97
|
+
*/
|
|
29
98
|
export declare class DaemonTrx<S extends $Space, M extends $Module, Authn extends AnyUsers = {}> {
|
|
30
99
|
private trxEngine;
|
|
31
|
-
|
|
100
|
+
/**
|
|
101
|
+
* The authentication request which will be used to
|
|
102
|
+
* authenticate this transaction prior to running.
|
|
103
|
+
*/
|
|
104
|
+
private authnRequest?;
|
|
105
|
+
/**
|
|
106
|
+
* @param trxEngine The transaction engine where to run the transaction.
|
|
107
|
+
*/
|
|
32
108
|
constructor(trxEngine: AnyTrxEngine);
|
|
109
|
+
/**
|
|
110
|
+
* Authenticate the transaction with the given credentials.
|
|
111
|
+
* You can specify one or more credentials, so the transaction
|
|
112
|
+
* is able to access elements with different authn providers.
|
|
113
|
+
*/
|
|
33
114
|
authn<Authn extends AuthnRequest<keyof S['authnUsers']>>(authn?: Authn): DaemonTrx<S, M, { [K in keyof Authn]: S["authnUsers"][K & keyof S["authnUsers"]]; }>;
|
|
115
|
+
/**
|
|
116
|
+
* Run a method inside the transaction.
|
|
117
|
+
*
|
|
118
|
+
* @param fn A function to execute inside the transaction
|
|
119
|
+
* @returns A `TrxStatus` containing metadata about the transaction and the function response
|
|
120
|
+
*/
|
|
34
121
|
run<Output>(fn: (trx: TrxNode<S, M, Authn>) => Promise<Output>): Promise<TrxStatus<Output>>;
|
|
35
122
|
}
|
|
36
123
|
export type AnyDaemon = Daemon<any, any>;
|