nesoi 3.2.9 → 3.3.1
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/README.md +33 -2
- package/lib/bundler/browser/browser.app.d.ts +32 -0
- package/lib/bundler/browser/browser.app.js +51 -0
- package/lib/bundler/browser/browser.bundler.d.ts +5 -0
- package/lib/bundler/browser/browser.bundler.js +27 -0
- package/lib/bundler/browser/stages/8_replace_nesoi_for_browser_stage.d.ts +13 -0
- package/lib/bundler/browser/stages/8_replace_nesoi_for_browser_stage.js +74 -0
- package/lib/bundler/distributed/distributed.app.config.d.ts +43 -0
- package/lib/{engine/apps → bundler}/distributed/distributed.app.config.js +1 -1
- package/lib/{engine/apps → bundler}/distributed/distributed.app.d.ts +14 -14
- package/lib/{engine/apps → bundler}/distributed/distributed.app.js +8 -3
- package/lib/{compiler/apps/distributed/distributed_compiler.d.ts → bundler/distributed/distributed.bundler.d.ts} +7 -7
- package/lib/{compiler/apps/distributed/distributed_compiler.js → bundler/distributed/distributed.bundler.js} +11 -11
- package/lib/{engine/apps → bundler}/distributed/distributed_node.app.d.ts +14 -20
- package/lib/{engine/apps → bundler}/distributed/distributed_node.app.js +18 -50
- package/lib/bundler/distributed/stages/1_mkdir_stage.d.ts +15 -0
- package/lib/{compiler/apps → bundler}/distributed/stages/1_mkdir_stage.js +6 -6
- package/lib/bundler/distributed/stages/2_build_typescript_stage.d.ts +15 -0
- package/lib/{compiler/apps → bundler}/distributed/stages/2_build_typescript_stage.js +7 -7
- package/lib/bundler/distributed/stages/3_copy_types_stage.d.ts +15 -0
- package/lib/{compiler/apps → bundler}/distributed/stages/3_copy_types_stage.js +7 -7
- package/lib/bundler/distributed/stages/4_dump_modules_stage.d.ts +16 -0
- package/lib/{compiler/apps → bundler}/distributed/stages/4_dump_modules_stage.js +5 -5
- package/lib/{compiler/apps → bundler}/distributed/stages/5_copy_static_stage.js +3 -3
- package/lib/{compiler/apps → bundler}/distributed/stages/6_dump_cli_stage.js +3 -3
- package/lib/{compiler/apps → bundler}/distributed/stages/7_dump_package_json_stage.js +3 -3
- package/lib/{engine/apps → bundler}/monolyth/monolyth.app.d.ts +13 -13
- package/lib/{engine/apps → bundler}/monolyth/monolyth.app.js +13 -10
- package/lib/{compiler/apps/monolyth/monolyth_compiler.d.ts → bundler/monolyth/monolyth.bundler.d.ts} +9 -7
- package/lib/{compiler/apps/monolyth/monolyth_compiler.js → bundler/monolyth/monolyth.bundler.js} +13 -12
- package/lib/bundler/monolyth/stages/1_mkdir_stage.d.ts +15 -0
- package/lib/{compiler/apps → bundler}/monolyth/stages/1_mkdir_stage.js +6 -6
- package/lib/bundler/monolyth/stages/2_build_typescript_stage.d.ts +15 -0
- package/lib/{compiler/apps → bundler}/monolyth/stages/2_build_typescript_stage.js +8 -7
- package/lib/bundler/monolyth/stages/3_copy_types_stage.d.ts +15 -0
- package/lib/{compiler/apps → bundler}/monolyth/stages/3_copy_types_stage.js +7 -7
- package/lib/{compiler/apps → bundler}/monolyth/stages/4_dump_modules_stage.d.ts +4 -4
- package/lib/{compiler/apps → bundler}/monolyth/stages/4_dump_modules_stage.js +29 -16
- package/lib/{compiler/apps → bundler}/monolyth/stages/5_copy_static_stage.d.ts +4 -4
- package/lib/{compiler/apps → bundler}/monolyth/stages/5_copy_static_stage.js +7 -7
- package/lib/bundler/monolyth/stages/6_dump_cli_stage.d.ts +15 -0
- package/lib/{compiler/apps → bundler}/monolyth/stages/6_dump_cli_stage.js +4 -4
- package/lib/{compiler/apps → bundler}/monolyth/stages/7_dump_package_json_stage.d.ts +4 -4
- package/lib/{compiler/apps → bundler}/monolyth/stages/7_dump_package_json_stage.js +14 -11
- package/lib/compiler/compiler.d.ts +1 -6
- package/lib/compiler/compiler.js +1 -1
- package/lib/compiler/elements/bucket.element.d.ts +2 -1
- package/lib/compiler/elements/bucket.element.js +16 -21
- package/lib/compiler/elements/cached.element.d.ts +1 -1
- package/lib/compiler/elements/cached.element.js +2 -2
- package/lib/compiler/elements/constants.element.d.ts +1 -1
- package/lib/compiler/elements/constants.element.js +2 -0
- package/lib/compiler/elements/controller.element.js +3 -3
- package/lib/compiler/elements/element.d.ts +6 -13
- package/lib/compiler/elements/element.js +11 -9
- package/lib/compiler/elements/externals.element.js +2 -2
- package/lib/compiler/elements/job.element.d.ts +1 -1
- package/lib/compiler/elements/job.element.js +1 -1
- package/lib/compiler/elements/machine.element.d.ts +2 -2
- package/lib/compiler/elements/machine.element.js +7 -7
- package/lib/compiler/elements/message.element.d.ts +1 -1
- package/lib/compiler/elements/message.element.js +26 -26
- package/lib/compiler/elements/queue.element.js +1 -1
- package/lib/compiler/elements/resource.element.d.ts +1 -1
- package/lib/compiler/elements/resource.element.js +9 -9
- package/lib/compiler/elements/topic.element.js +1 -1
- package/lib/compiler/error.d.ts +1 -5
- package/lib/compiler/error.js +3 -15
- package/lib/compiler/helpers/dump_helpers.d.ts +1 -1
- package/lib/compiler/helpers/dump_helpers.js +1 -1
- package/lib/compiler/index.d.ts +1 -3
- package/lib/compiler/index.js +15 -7
- package/lib/compiler/module.js +12 -12
- package/lib/compiler/progressive.d.ts +3 -4
- package/lib/compiler/progressive.js +3 -4
- package/lib/compiler/stages/2_treeshake_stage.js +4 -0
- package/lib/compiler/stages/3_extract_ts_stage.js +7 -7
- package/lib/compiler/stages/4_build_schemas_stage.js +3 -16
- package/lib/compiler/stages/6_build_elements_stage.js +1 -1
- package/lib/compiler/stages/7_dump_stage.js +35 -10
- package/lib/compiler/typescript/bridge/extract.js +24 -0
- package/lib/compiler/typescript/bridge/inject.js +18 -3
- package/lib/compiler/typescript/bridge/organize.d.ts +4 -0
- package/lib/compiler/typescript/bridge/organize.js +41 -22
- package/lib/compiler/typescript/error.d.ts +2 -83
- package/lib/compiler/typescript/error.js +6 -219
- package/lib/compiler/typescript/parser.js +3 -3
- package/lib/compiler/typescript/source.d.ts +2 -2
- package/lib/compiler/typescript/transformers/app_inject.transformer.js +13 -4
- package/lib/compiler/typescript/typescript_compiler.d.ts +3 -3
- package/lib/compiler/typescript/typescript_compiler.js +2 -2
- package/lib/elements/blocks/block.builder.d.ts +7 -4
- package/lib/elements/blocks/block.builder.js +24 -13
- package/lib/elements/blocks/block.js +2 -2
- package/lib/elements/blocks/block.schema.d.ts +12 -9
- package/lib/elements/blocks/block.schema.js +2 -2
- package/lib/elements/blocks/job/internal/machine_job.builder.d.ts +6 -5
- package/lib/elements/blocks/job/internal/machine_job.builder.js +3 -3
- package/lib/elements/blocks/job/internal/resource_job.builder.d.ts +11 -10
- package/lib/elements/blocks/job/internal/resource_job.builder.js +9 -6
- package/lib/elements/blocks/job/internal/resource_job.js +3 -6
- package/lib/elements/blocks/job/job.builder.d.ts +5 -5
- package/lib/elements/blocks/job/job.builder.js +7 -7
- package/lib/elements/blocks/job/job.js +1 -1
- package/lib/elements/blocks/job/job.schema.d.ts +5 -5
- package/lib/elements/blocks/job/job.schema.js +3 -3
- package/lib/elements/blocks/machine/machine.builder.d.ts +2 -2
- package/lib/elements/blocks/machine/machine.builder.js +12 -9
- package/lib/elements/blocks/machine/machine.js +7 -7
- package/lib/elements/blocks/machine/machine.schema.d.ts +23 -23
- package/lib/elements/blocks/machine/machine.schema.js +9 -9
- package/lib/elements/blocks/machine/machine_state.builder.d.ts +1 -0
- package/lib/elements/blocks/machine/machine_state.builder.js +31 -29
- package/lib/elements/blocks/machine/machine_transition.builder.d.ts +2 -2
- package/lib/elements/blocks/machine/machine_transition.builder.js +8 -8
- package/lib/elements/blocks/queue/queue.builder.d.ts +3 -3
- package/lib/elements/blocks/queue/queue.builder.js +3 -3
- package/lib/elements/blocks/queue/queue.schema.d.ts +6 -6
- package/lib/elements/blocks/queue/queue.schema.js +3 -3
- package/lib/elements/blocks/resource/resource.builder.d.ts +2 -2
- package/lib/elements/blocks/resource/resource.builder.js +37 -40
- package/lib/elements/blocks/resource/resource.d.ts +2 -2
- package/lib/elements/blocks/resource/resource.js +10 -18
- package/lib/elements/blocks/resource/resource.schema.d.ts +15 -15
- package/lib/elements/blocks/resource/resource.schema.js +8 -8
- package/lib/elements/blocks/topic/topic.builder.d.ts +2 -2
- package/lib/elements/blocks/topic/topic.builder.js +4 -4
- package/lib/elements/blocks/topic/topic.d.ts +2 -2
- package/lib/elements/blocks/topic/topic.js +7 -7
- package/lib/elements/blocks/topic/topic.schema.d.ts +6 -6
- package/lib/elements/blocks/topic/topic.schema.js +3 -3
- package/lib/elements/edge/controller/adapters/cli.controller_adapter.js +1 -1
- package/lib/elements/edge/controller/adapters/controller_adapter.d.ts +2 -2
- package/lib/elements/edge/controller/adapters/controller_adapter.js +2 -2
- package/lib/elements/edge/controller/controller.builder.d.ts +14 -13
- package/lib/elements/edge/controller/controller.builder.js +52 -42
- package/lib/elements/edge/controller/controller.d.ts +3 -3
- package/lib/elements/edge/controller/controller.js +12 -12
- package/lib/elements/edge/controller/controller.schema.d.ts +17 -16
- package/lib/elements/edge/controller/controller.schema.js +11 -11
- package/lib/elements/edge/externals/externals.builder.d.ts +8 -13
- package/lib/elements/edge/externals/externals.builder.js +43 -11
- package/lib/elements/edge/externals/externals.schema.d.ts +8 -7
- package/lib/elements/edge/externals/externals.schema.js +5 -3
- package/lib/elements/entities/bucket/adapters/browserdb.bucket_adapter.d.ts +45 -0
- package/lib/elements/entities/bucket/adapters/browserdb.bucket_adapter.js +164 -0
- package/lib/elements/entities/bucket/adapters/browserdb.service.d.ts +30 -0
- package/lib/elements/entities/bucket/adapters/browserdb.service.js +97 -0
- package/lib/elements/entities/bucket/adapters/bucket_adapter.d.ts +6 -1
- package/lib/elements/entities/bucket/adapters/bucket_adapter.js +7 -6
- package/lib/elements/entities/bucket/adapters/json.bucket_adapter.d.ts +1 -1
- package/lib/elements/entities/bucket/adapters/json.bucket_adapter.js +1 -0
- package/lib/elements/entities/bucket/adapters/memory.bucket_adapter.d.ts +1 -0
- package/lib/elements/entities/bucket/adapters/memory.bucket_adapter.js +14 -13
- package/lib/elements/entities/bucket/adapters/memory.nql.js +41 -35
- package/lib/elements/entities/bucket/bucket.builder.d.ts +6 -8
- package/lib/elements/entities/bucket/bucket.builder.js +19 -34
- package/lib/elements/entities/bucket/bucket.d.ts +2 -2
- package/lib/elements/entities/bucket/bucket.infer.d.ts +5 -5
- package/lib/elements/entities/bucket/bucket.js +19 -17
- package/lib/elements/entities/bucket/bucket.schema.d.ts +3 -3
- package/lib/elements/entities/bucket/bucket.schema.js +2 -2
- package/lib/elements/entities/bucket/cache/bucket_cache.js +14 -2
- package/lib/elements/entities/bucket/graph/bucket_graph.d.ts +3 -3
- package/lib/elements/entities/bucket/graph/bucket_graph.js +101 -29
- package/lib/elements/entities/bucket/graph/bucket_graph.schema.d.ts +3 -3
- package/lib/elements/entities/bucket/graph/bucket_graph_link.builder.d.ts +2 -2
- package/lib/elements/entities/bucket/graph/bucket_graph_link.builder.js +5 -3
- package/lib/elements/entities/bucket/model/bucket_model.builder.d.ts +2 -1
- package/lib/elements/entities/bucket/model/bucket_model.builder.js +2 -2
- package/lib/elements/entities/bucket/model/bucket_model.convert.js +3 -6
- package/lib/elements/entities/bucket/model/bucket_model.d.ts +13 -0
- package/lib/elements/entities/bucket/model/bucket_model.js +93 -0
- package/lib/elements/entities/bucket/model/bucket_model.schema.d.ts +4 -8
- package/lib/elements/entities/bucket/model/bucket_model.schema.js +0 -68
- package/lib/elements/entities/bucket/model/bucket_model_field.builder.d.ts +12 -4
- package/lib/elements/entities/bucket/model/bucket_model_field.builder.js +30 -33
- package/lib/elements/entities/bucket/query/nql.schema.d.ts +1 -1
- package/lib/elements/entities/bucket/query/nql_compiler.d.ts +8 -4
- package/lib/elements/entities/bucket/query/nql_compiler.js +44 -38
- package/lib/elements/entities/bucket/query/nql_engine.d.ts +1 -1
- package/lib/elements/entities/bucket/query/nql_engine.js +5 -2
- package/lib/elements/entities/bucket/view/bucket_view.builder.d.ts +2 -2
- package/lib/elements/entities/bucket/view/bucket_view.js +113 -81
- package/lib/elements/entities/bucket/view/bucket_view_field.builder.d.ts +9 -8
- package/lib/elements/entities/bucket/view/bucket_view_field.builder.js +8 -10
- package/lib/elements/entities/constants/constants.builder.d.ts +3 -3
- package/lib/elements/entities/constants/constants.builder.js +8 -8
- package/lib/elements/entities/constants/constants.schema.d.ts +8 -3
- package/lib/elements/entities/constants/constants.schema.js +7 -2
- package/lib/elements/entities/message/message.infer.d.ts +1 -5
- package/lib/elements/entities/message/message.js +2 -7
- package/lib/elements/entities/message/message.schema.js +1 -1
- package/lib/elements/entities/message/template/message_template.schema.d.ts +7 -5
- package/lib/elements/entities/message/template/message_template_field.builder.d.ts +18 -3
- package/lib/elements/entities/message/template/message_template_field.builder.js +49 -30
- package/lib/elements/entities/message/template/message_template_parser.js +2 -2
- package/lib/engine/{apps → app}/app.config.d.ts +11 -5
- package/lib/engine/{apps → app}/app.config.js +2 -2
- package/lib/engine/{apps → app}/app.d.ts +3 -2
- package/lib/engine/{apps → app}/app.js +3 -1
- package/lib/engine/{apps/distributed → app}/inc/inc.client.js +1 -1
- package/lib/engine/{apps/distributed → app}/inc/inc.server.js +3 -3
- package/lib/engine/{apps/distributed → app}/inc/sandbox.js +1 -1
- package/lib/engine/{apps → app}/inline.app.d.ts +2 -12
- package/lib/engine/{apps → app}/inline.app.js +37 -34
- package/lib/engine/auth/authn.d.ts +10 -12
- package/lib/engine/auth/zero.authn_provider.d.ts +3 -4
- package/lib/engine/auth/zero.authn_provider.js +0 -1
- package/lib/engine/builder.d.ts +28 -0
- package/lib/engine/builder.js +99 -0
- package/lib/engine/cli/cli.js +3 -2
- package/lib/engine/cli/ui.js +1 -0
- package/lib/engine/daemon.d.ts +28 -25
- package/lib/engine/daemon.js +37 -8
- package/lib/engine/data/error.d.ts +37 -3
- package/lib/engine/data/error.js +58 -16
- package/lib/engine/data/file.d.ts +1 -0
- package/lib/engine/data/file.js +4 -0
- package/lib/engine/dependency.d.ts +53 -81
- package/lib/engine/dependency.js +246 -120
- package/lib/engine/module.d.ts +18 -48
- package/lib/engine/module.js +78 -158
- package/lib/engine/space.d.ts +2 -2
- package/lib/engine/space.js +6 -6
- package/lib/engine/transaction/nodes/bucket.trx_node.d.ts +7 -4
- package/lib/engine/transaction/nodes/bucket.trx_node.js +66 -43
- package/lib/engine/transaction/nodes/bucket_query.trx_node.d.ts +10 -4
- package/lib/engine/transaction/nodes/bucket_query.trx_node.js +56 -45
- package/lib/engine/transaction/nodes/external.trx_node.d.ts +15 -0
- package/lib/engine/transaction/nodes/external.trx_node.js +53 -0
- package/lib/engine/transaction/nodes/job.trx_node.d.ts +7 -3
- package/lib/engine/transaction/nodes/job.trx_node.js +49 -29
- package/lib/engine/transaction/nodes/machine.trx_node.js +6 -6
- package/lib/engine/transaction/nodes/queue.trx_node.js +3 -3
- package/lib/engine/transaction/nodes/resource.trx_node.d.ts +7 -4
- package/lib/engine/transaction/nodes/resource.trx_node.js +68 -51
- package/lib/engine/transaction/nodes/topic.trx_node.js +9 -9
- package/lib/engine/transaction/trx.d.ts +15 -12
- package/lib/engine/transaction/trx.js +19 -3
- package/lib/engine/transaction/trx_engine.config.d.ts +4 -4
- package/lib/engine/transaction/trx_engine.d.ts +25 -7
- package/lib/engine/transaction/trx_engine.js +67 -16
- package/lib/engine/transaction/trx_node.d.ts +25 -21
- package/lib/engine/transaction/trx_node.js +99 -57
- package/lib/engine/tree.d.ts +4 -16
- package/lib/engine/tree.js +87 -57
- package/lib/{compiler → engine}/treeshake.d.ts +32 -32
- package/lib/{compiler → engine}/treeshake.js +272 -242
- package/lib/engine/util/console.js +3 -0
- package/lib/engine/util/crypto.d.ts +4 -3
- package/lib/engine/util/crypto.js +15 -5
- package/lib/engine/util/hash.js +5 -0
- package/lib/engine/util/log.d.ts +6 -8
- package/lib/engine/util/log.js +1 -1
- package/lib/engine/util/name_helpers.d.ts +37 -0
- package/lib/{compiler/helpers → engine/util}/name_helpers.js +33 -0
- package/lib/engine/util/parse.d.ts +4 -3
- package/lib/engine/util/parse.js +13 -28
- package/lib/engine/util/path.d.ts +1 -0
- package/lib/engine/util/path.js +14 -0
- package/lib/engine/util/random.d.ts +4 -0
- package/lib/engine/util/random.js +31 -0
- package/lib/engine/util/type.d.ts +8 -0
- package/lib/schema.d.ts +1 -1
- package/package.json +4 -1
- package/tools/joaquin/bucket.js +1 -1
- package/tools/joaquin/job.js +1 -1
- package/tools/joaquin/message.js +1 -1
- package/tools/joaquin/mock.js +2 -1
- package/tsconfig.build.tsbuildinfo +1 -1
- package/lib/compiler/apps/distributed/stages/1_mkdir_stage.d.ts +0 -15
- package/lib/compiler/apps/distributed/stages/2_build_typescript_stage.d.ts +0 -15
- package/lib/compiler/apps/distributed/stages/3_copy_types_stage.d.ts +0 -15
- package/lib/compiler/apps/distributed/stages/4_dump_modules_stage.d.ts +0 -16
- package/lib/compiler/apps/monolyth/stages/1_mkdir_stage.d.ts +0 -15
- package/lib/compiler/apps/monolyth/stages/2_build_typescript_stage.d.ts +0 -15
- package/lib/compiler/apps/monolyth/stages/3_copy_types_stage.d.ts +0 -15
- package/lib/compiler/apps/monolyth/stages/6_dump_cli_stage.d.ts +0 -15
- package/lib/compiler/helpers/name_helpers.d.ts +0 -20
- package/lib/engine/apps/distributed/distributed.app.config.d.ts +0 -44
- package/lib/engine/apps/distributed/elements/distributed_job.d.ts +0 -7
- package/lib/engine/apps/distributed/elements/distributed_job.js +0 -11
- /package/lib/{compiler/apps → bundler}/distributed/stages/5_copy_static_stage.d.ts +0 -0
- /package/lib/{compiler/apps → bundler}/distributed/stages/6_dump_cli_stage.d.ts +0 -0
- /package/lib/{compiler/apps → bundler}/distributed/stages/7_dump_package_json_stage.d.ts +0 -0
- /package/lib/engine/{apps/distributed → app}/inc/inc.client.d.ts +0 -0
- /package/lib/engine/{apps/distributed → app}/inc/inc.server.d.ts +0 -0
- /package/lib/engine/{apps/distributed → app}/inc/sandbox.d.ts +0 -0
- /package/lib/engine/{apps → app}/service.d.ts +0 -0
- /package/lib/engine/{apps → app}/service.js +0 -0
|
@@ -9,6 +9,7 @@ const promise_1 = __importDefault(require("../../../../engine/util/promise"));
|
|
|
9
9
|
const error_1 = require("../../../../engine/data/error");
|
|
10
10
|
const tree_1 = require("../../../../engine/data/tree");
|
|
11
11
|
const daemon_1 = require("../../../../engine/daemon");
|
|
12
|
+
const dependency_1 = require("../../../../engine/dependency");
|
|
12
13
|
class ViewValue {
|
|
13
14
|
constructor() {
|
|
14
15
|
this.value = undefined;
|
|
@@ -24,12 +25,15 @@ class BucketView {
|
|
|
24
25
|
this.schema = schema;
|
|
25
26
|
}
|
|
26
27
|
async parse(trx, raw) {
|
|
28
|
+
const module = trx_node_1.TrxNode.getModule(trx);
|
|
29
|
+
const tag = new dependency_1.Tag(this.bucket.module.name, 'bucket', this.bucket.schema.name);
|
|
30
|
+
const meta = await daemon_1.Daemon.getBucketMetadata(module.daemon, tag);
|
|
27
31
|
const parsed = {};
|
|
28
32
|
if ('__raw' in this.schema.fields) {
|
|
29
33
|
Object.assign(parsed, raw);
|
|
30
34
|
}
|
|
31
35
|
let layer = Object.values(this.schema.fields).map(field => ({
|
|
32
|
-
bucket:
|
|
36
|
+
bucket: meta,
|
|
33
37
|
field,
|
|
34
38
|
data: [{
|
|
35
39
|
raw,
|
|
@@ -48,6 +52,9 @@ class BucketView {
|
|
|
48
52
|
};
|
|
49
53
|
}
|
|
50
54
|
async parseMany(trx, raws) {
|
|
55
|
+
const module = trx_node_1.TrxNode.getModule(trx);
|
|
56
|
+
const tag = new dependency_1.Tag(this.bucket.module.name, 'bucket', this.bucket.schema.name);
|
|
57
|
+
const meta = await daemon_1.Daemon.getBucketMetadata(module.daemon, tag);
|
|
51
58
|
const parseds = [];
|
|
52
59
|
for (const raw of raws) {
|
|
53
60
|
const parsed = {};
|
|
@@ -57,7 +64,7 @@ class BucketView {
|
|
|
57
64
|
parseds.push(parsed);
|
|
58
65
|
}
|
|
59
66
|
let layer = Object.values(this.schema.fields).map(field => ({
|
|
60
|
-
bucket:
|
|
67
|
+
bucket: meta,
|
|
61
68
|
field,
|
|
62
69
|
data: raws.map((raw, i) => ({
|
|
63
70
|
raw,
|
|
@@ -159,77 +166,85 @@ class BucketView {
|
|
|
159
166
|
}
|
|
160
167
|
doParseModelProp(node, initAs, rawChild) {
|
|
161
168
|
const modelpath = node.field.meta.model.path;
|
|
162
|
-
const
|
|
169
|
+
const isValueModel = modelpath === '.';
|
|
163
170
|
const name = node.field.name;
|
|
164
171
|
let poll = node.data.map(d => ({
|
|
165
172
|
...d,
|
|
166
|
-
value: d.raw,
|
|
173
|
+
value: isValueModel ? d.value : d.raw,
|
|
167
174
|
key: name
|
|
168
175
|
}));
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
// Expand each value of the poll (assumed to be a dict or list)
|
|
173
|
-
poll = poll.map(item => {
|
|
174
|
-
if (typeof item.value !== 'object') {
|
|
175
|
-
throw new Error(`Failed to parse ${paths}, intermediate value ${item.value} is not a list or object`);
|
|
176
|
-
}
|
|
177
|
-
if (Array.isArray(item.value)) {
|
|
178
|
-
item.target[item.key] = initAs === 'value'
|
|
179
|
-
? [...item.value]
|
|
180
|
-
: item.value.map(() => ({}));
|
|
181
|
-
return item.value.map((v, i) => ({
|
|
182
|
-
index: [...item.index, i],
|
|
183
|
-
raw: item.raw,
|
|
184
|
-
value: v,
|
|
185
|
-
target: item.target[item.key],
|
|
186
|
-
key: i
|
|
187
|
-
}));
|
|
188
|
-
}
|
|
189
|
-
else {
|
|
190
|
-
item.target[item.key] = initAs === 'value'
|
|
191
|
-
? { ...item.value }
|
|
192
|
-
: Object.fromEntries(Object.entries(item.value).map(([k]) => [k, {}]));
|
|
193
|
-
return Object.entries(item.value).map(([k, v]) => ({
|
|
194
|
-
index: [...item.index, k],
|
|
195
|
-
raw: item.raw,
|
|
196
|
-
value: v,
|
|
197
|
-
target: item.target[item.key],
|
|
198
|
-
key: k
|
|
199
|
-
}));
|
|
200
|
-
}
|
|
201
|
-
}).flat(1);
|
|
202
|
-
continue;
|
|
176
|
+
if (isValueModel) {
|
|
177
|
+
for (const data of poll) {
|
|
178
|
+
data.target[data.key] = data.value;
|
|
203
179
|
}
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
const paths = modelpath.split('.');
|
|
183
|
+
for (const path of paths) {
|
|
184
|
+
// *
|
|
185
|
+
if (path === '*') {
|
|
186
|
+
// Expand each value of the poll (assumed to be a dict or list)
|
|
187
|
+
poll = poll.map(item => {
|
|
188
|
+
if (typeof item.value !== 'object') {
|
|
189
|
+
throw new Error(`Failed to parse ${paths}, intermediate value ${item.value} is not a list or object`);
|
|
190
|
+
}
|
|
191
|
+
if (Array.isArray(item.value)) {
|
|
192
|
+
item.target[item.key] = initAs === 'value'
|
|
193
|
+
? [...item.value]
|
|
194
|
+
: item.value.map(() => ({}));
|
|
195
|
+
return item.value.map((v, i) => ({
|
|
196
|
+
index: [...item.index, i],
|
|
197
|
+
raw: item.raw,
|
|
198
|
+
value: v,
|
|
199
|
+
target: item.target[item.key],
|
|
200
|
+
key: i
|
|
201
|
+
}));
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
item.target[item.key] = initAs === 'value'
|
|
205
|
+
? { ...item.value }
|
|
206
|
+
: Object.fromEntries(Object.entries(item.value).map(([k]) => [k, {}]));
|
|
207
|
+
return Object.entries(item.value).map(([k, v]) => ({
|
|
208
|
+
index: [...item.index, k],
|
|
209
|
+
raw: item.raw,
|
|
210
|
+
value: v,
|
|
211
|
+
target: item.target[item.key],
|
|
212
|
+
key: k
|
|
213
|
+
}));
|
|
214
|
+
}
|
|
215
|
+
}).flat(1);
|
|
216
|
+
continue;
|
|
217
|
+
}
|
|
218
|
+
// $1, $2.. or string|number
|
|
219
|
+
else {
|
|
220
|
+
// Walk each node
|
|
221
|
+
const next = [];
|
|
222
|
+
for (const item of poll) {
|
|
223
|
+
// $0, $1.. -> string
|
|
224
|
+
const idx = path.match(/^\$(\d+)/)?.[1];
|
|
225
|
+
let _path = path;
|
|
226
|
+
if (idx !== undefined) {
|
|
227
|
+
// Replace by index key
|
|
228
|
+
_path = item.index[parseInt(idx)];
|
|
229
|
+
}
|
|
230
|
+
const n = typeof item.value === 'object'
|
|
231
|
+
? item.value[_path]
|
|
232
|
+
: undefined;
|
|
233
|
+
item.target[item.key] = initAs === 'value'
|
|
234
|
+
? n
|
|
235
|
+
: {};
|
|
236
|
+
if (n !== undefined) {
|
|
237
|
+
next.push({
|
|
238
|
+
index: item.index,
|
|
239
|
+
raw: item.raw,
|
|
240
|
+
value: n,
|
|
241
|
+
target: item.target,
|
|
242
|
+
key: item.key
|
|
243
|
+
});
|
|
244
|
+
}
|
|
230
245
|
}
|
|
246
|
+
poll = next;
|
|
231
247
|
}
|
|
232
|
-
poll = next;
|
|
233
248
|
}
|
|
234
249
|
}
|
|
235
250
|
// For each leaf, if it's an object (not an array),
|
|
@@ -264,7 +279,17 @@ class BucketView {
|
|
|
264
279
|
*/
|
|
265
280
|
async parseGraphProp(trx, node) {
|
|
266
281
|
const meta = node.field.meta.graph;
|
|
267
|
-
|
|
282
|
+
let links;
|
|
283
|
+
const module = trx_node_1.TrxNode.getModule(trx);
|
|
284
|
+
// External
|
|
285
|
+
if (node.bucket.tag.module !== module.name) {
|
|
286
|
+
links = await trx.bucket(node.bucket.tag.short).readManyLinks(node.data.map(entry => entry.raw.id), meta.link);
|
|
287
|
+
}
|
|
288
|
+
// Internal
|
|
289
|
+
else {
|
|
290
|
+
const bucket = module.buckets[node.bucket.tag.name];
|
|
291
|
+
links = await bucket.graph.readManyLinks(trx, node.data.map(entry => entry.raw), meta.link, { silent: true });
|
|
292
|
+
}
|
|
268
293
|
for (let i = 0; i < links.length; i++) {
|
|
269
294
|
if (meta.view) {
|
|
270
295
|
const link = node.bucket.schema.graph.links[meta.link];
|
|
@@ -282,8 +307,8 @@ class BucketView {
|
|
|
282
307
|
const otherBucketDep = schema.graph.links[meta.link].bucket;
|
|
283
308
|
const module = trx_node_1.TrxNode.getModule(trx);
|
|
284
309
|
const daemon = module.daemon;
|
|
285
|
-
const otherBucket = await daemon_1.Daemon.
|
|
286
|
-
const view = otherBucket.views[meta.view];
|
|
310
|
+
const otherBucket = await daemon_1.Daemon.getBucketMetadata(daemon, otherBucketDep);
|
|
311
|
+
const view = otherBucket.schema.views[meta.view];
|
|
287
312
|
const { __raw, ...v } = view.fields;
|
|
288
313
|
const link = node.bucket.schema.graph.links[meta.link];
|
|
289
314
|
let nextData;
|
|
@@ -314,16 +339,21 @@ class BucketView {
|
|
|
314
339
|
});
|
|
315
340
|
}
|
|
316
341
|
}
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
342
|
+
// TODODO: support external bucket on transitive graph
|
|
343
|
+
next = [];
|
|
344
|
+
for (const field of Object.values(v)) {
|
|
345
|
+
const bucket = await daemon_1.Daemon.getBucketMetadata(module.daemon, otherBucketDep);
|
|
346
|
+
next.push({
|
|
347
|
+
bucket,
|
|
348
|
+
field,
|
|
349
|
+
data: nextData.map($ => ({
|
|
350
|
+
raw: $.value,
|
|
351
|
+
value: $.value,
|
|
352
|
+
index: [],
|
|
353
|
+
target: $.target
|
|
354
|
+
}))
|
|
355
|
+
});
|
|
356
|
+
}
|
|
327
357
|
}
|
|
328
358
|
return next;
|
|
329
359
|
}
|
|
@@ -331,7 +361,9 @@ class BucketView {
|
|
|
331
361
|
* [drive]
|
|
332
362
|
*/
|
|
333
363
|
async parseDriveProp(trx, node) {
|
|
334
|
-
|
|
364
|
+
const module = trx_node_1.TrxNode.getModule(trx);
|
|
365
|
+
const drive = await daemon_1.Daemon.getBucketDrive(module.daemon, node.bucket.tag);
|
|
366
|
+
if (!drive) {
|
|
335
367
|
throw error_1.NesoiError.Bucket.Drive.NoAdapter({ bucket: node.bucket.schema.alias });
|
|
336
368
|
}
|
|
337
369
|
const meta = node.field.meta.drive;
|
|
@@ -340,12 +372,12 @@ class BucketView {
|
|
|
340
372
|
if (Array.isArray(value)) {
|
|
341
373
|
const public_urls = [];
|
|
342
374
|
for (const obj of value) {
|
|
343
|
-
public_urls.push(await
|
|
375
|
+
public_urls.push(await drive.public(obj));
|
|
344
376
|
}
|
|
345
377
|
entry.target[node.field.name] = public_urls;
|
|
346
378
|
}
|
|
347
379
|
else {
|
|
348
|
-
entry.target[node.field.name] = await
|
|
380
|
+
entry.target[node.field.name] = await drive.public(value);
|
|
349
381
|
}
|
|
350
382
|
}
|
|
351
383
|
}
|
|
@@ -19,17 +19,18 @@ type ComputedData<Fn extends $BucketViewFieldFn<any, any>, R = ReturnType<Fn>> =
|
|
|
19
19
|
export declare class BucketViewFieldFactory<Space extends $Space, Module extends $Module, Bucket extends $Bucket> {
|
|
20
20
|
private _view;
|
|
21
21
|
protected scope: $BucketViewField['scope'];
|
|
22
|
-
protected
|
|
22
|
+
protected meta: $BucketViewField['meta'];
|
|
23
23
|
constructor(_view: BucketViewBuilder<any, any, any>);
|
|
24
24
|
raw(): {
|
|
25
25
|
[K in keyof Bucket['#data']]: BucketViewFieldBuilder<Bucket['#data'][K], 'model'>;
|
|
26
26
|
};
|
|
27
|
-
model<K extends keyof Bucket['#modelpath'], SubModel extends
|
|
27
|
+
model<K extends keyof Bucket['#modelpath'], SubModel extends BucketViewFieldBuilders>(path: K, submodel?: SubModel): BucketViewFieldBuilder<Bucket["#modelpath"][K], "model", never>;
|
|
28
|
+
value(): BucketViewFieldBuilder<any, "model", never>;
|
|
28
29
|
computed<Fn extends $BucketViewFieldFn<TrxNode<Space, Module, Space['authnUsers']>, Bucket>>(fn: Fn): BucketViewFieldBuilder<ComputedData<Fn, ReturnType<Fn>>, "computed", never>;
|
|
29
30
|
graph<L extends keyof Bucket['graph']['links'], LinkBucket extends GraphLinkBucket<Bucket, L>, V extends (keyof LinkBucket['views']) | undefined>(link: L, view?: V): BucketViewFieldBuilder<undefined extends V ? LinkBucket["#data"] : ViewObj<LinkBucket, NonNullable<V>>, "graph", `${LinkBucket["name"]}.${V & string}`>;
|
|
30
31
|
drive<F extends DriveFieldpath<Bucket>>(path: F): BucketViewFieldBuilder<string, "drive", never>;
|
|
31
32
|
view<ViewName extends keyof Bucket['views'], View extends Bucket['views'][ViewName]>(view: ViewName): BucketViewFieldBuilder<View["#data"], "view", never>;
|
|
32
|
-
extend<ViewName extends keyof Bucket['views'], Builders extends
|
|
33
|
+
extend<ViewName extends keyof Bucket['views'], Builders extends BucketViewFieldBuilders>(view: ViewName, fields: Builders): $BucketViewFieldBuilderInfer<Bucket["views"][ViewName]["#data"]> & Builders;
|
|
33
34
|
static group(name: string, children: $BucketViewFields): $BucketViewField;
|
|
34
35
|
}
|
|
35
36
|
/**
|
|
@@ -39,15 +40,15 @@ export declare class BucketViewFieldFactory<Space extends $Space, Module extends
|
|
|
39
40
|
export declare class BucketViewFieldBuilder<Data, Scope extends $BucketViewField['scope'], GraphLink extends string = never> {
|
|
40
41
|
protected scope: $BucketViewField['scope'];
|
|
41
42
|
protected meta: $BucketViewFieldMeta;
|
|
42
|
-
protected submodel?:
|
|
43
|
+
protected submodel?: BucketViewFieldBuilders | undefined;
|
|
43
44
|
$b: "view.field";
|
|
44
45
|
protected _chain?: BucketViewFieldBuilder<any, any, any>;
|
|
45
|
-
constructor(scope: $BucketViewField['scope'], meta: $BucketViewFieldMeta, submodel?:
|
|
46
|
+
constructor(scope: $BucketViewField['scope'], meta: $BucketViewFieldMeta, submodel?: BucketViewFieldBuilders | undefined);
|
|
46
47
|
chain<Fn extends $BucketViewFieldFn<any, any>>(fn: Fn): void;
|
|
47
48
|
static build(builder: BucketViewFieldBuilder<any, any>, model: $BucketModel, graph: $BucketGraph, views: $BucketViews, name: string, n_indexes: number): $BucketViewField;
|
|
48
|
-
static buildFields(fields:
|
|
49
|
+
static buildFields(fields: BucketViewFieldBuilders, model: $BucketModel, graph: $BucketGraph, views: $BucketViews, n_indexes?: number): $BucketViewFields;
|
|
49
50
|
}
|
|
50
|
-
export type
|
|
51
|
-
[x: string]: BucketViewFieldBuilder<any, any, any
|
|
51
|
+
export type BucketViewFieldBuilders = {
|
|
52
|
+
[x: string]: BucketViewFieldBuilder<any, any, any>;
|
|
52
53
|
};
|
|
53
54
|
export {};
|
|
@@ -27,6 +27,13 @@ class BucketViewFieldFactory {
|
|
|
27
27
|
}
|
|
28
28
|
}, submodel);
|
|
29
29
|
}
|
|
30
|
+
value() {
|
|
31
|
+
return new BucketViewFieldBuilder('model', {
|
|
32
|
+
model: {
|
|
33
|
+
path: '.'
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
30
37
|
computed(fn) {
|
|
31
38
|
return new BucketViewFieldBuilder('computed', {
|
|
32
39
|
computed: {
|
|
@@ -150,16 +157,7 @@ class BucketViewFieldBuilder {
|
|
|
150
157
|
schema['__raw'] = {};
|
|
151
158
|
}
|
|
152
159
|
const field = fields[f];
|
|
153
|
-
|
|
154
|
-
if (field instanceof BucketViewFieldBuilder) {
|
|
155
|
-
schema[f] = BucketViewFieldBuilder.build(field, model, graph, views, f, n_indexes);
|
|
156
|
-
}
|
|
157
|
-
// Builders are allowed to implicitly declare nested fields.
|
|
158
|
-
// The code below transforms these groups into fields of the scope 'group'.
|
|
159
|
-
else {
|
|
160
|
-
const children = BucketViewFieldBuilder.buildFields(field, model, graph, views, n_indexes);
|
|
161
|
-
schema[f] = BucketViewFieldFactory.group(f, children);
|
|
162
|
-
}
|
|
160
|
+
schema[f] = BucketViewFieldBuilder.build(field, model, graph, views, f, n_indexes);
|
|
163
161
|
}
|
|
164
162
|
return schema;
|
|
165
163
|
}
|
|
@@ -9,7 +9,7 @@ export declare class ConstantValueBuilder {
|
|
|
9
9
|
private key?;
|
|
10
10
|
private value?;
|
|
11
11
|
constructor(scope: string, key?: string | undefined, value?: any | undefined);
|
|
12
|
-
static build(
|
|
12
|
+
static build(module: string, name: string, builder: ConstantValueBuilder): $ConstantValue;
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
15
|
* @category Builders
|
|
@@ -46,7 +46,7 @@ export declare class ConstantEnumBuilder {
|
|
|
46
46
|
name: string;
|
|
47
47
|
options: ConstantEnumOptionBuilders;
|
|
48
48
|
constructor(name: string, options: ConstantEnumOptionBuilders);
|
|
49
|
-
static build(builder: ConstantEnumBuilder): $ConstantEnum;
|
|
49
|
+
static build(module: string, builder: ConstantEnumBuilder): $ConstantEnum;
|
|
50
50
|
private static buildOptions;
|
|
51
51
|
}
|
|
52
52
|
/**
|
|
@@ -65,7 +65,7 @@ export declare class ConstantsBuilder {
|
|
|
65
65
|
static merge(to: ConstantsBuilder, from: ConstantsBuilder): void;
|
|
66
66
|
static build(node: ConstantsBuilderNode): $Constants;
|
|
67
67
|
}
|
|
68
|
-
export type ConstantsBuilderNode = ResolvedBuilderNode & {
|
|
68
|
+
export type ConstantsBuilderNode = Omit<ResolvedBuilderNode, 'schema'> & {
|
|
69
69
|
builder: ConstantsBuilder;
|
|
70
70
|
schema?: $Constants;
|
|
71
71
|
};
|
|
@@ -13,8 +13,8 @@ class ConstantValueBuilder {
|
|
|
13
13
|
this.value = value;
|
|
14
14
|
}
|
|
15
15
|
// Build
|
|
16
|
-
static build(
|
|
17
|
-
return new constants_schema_1.$ConstantValue(builder.scope, builder.key
|
|
16
|
+
static build(module, name, builder) {
|
|
17
|
+
return new constants_schema_1.$ConstantValue(module, name, builder.scope, builder.key, builder.value);
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
exports.ConstantValueBuilder = ConstantValueBuilder;
|
|
@@ -65,8 +65,8 @@ class ConstantEnumBuilder {
|
|
|
65
65
|
this.options = options;
|
|
66
66
|
}
|
|
67
67
|
// Build
|
|
68
|
-
static build(builder) {
|
|
69
|
-
return new constants_schema_1.$ConstantEnum(builder.name, this.buildOptions(builder.options));
|
|
68
|
+
static build(module, builder) {
|
|
69
|
+
return new constants_schema_1.$ConstantEnum(module, builder.name, this.buildOptions(builder.options));
|
|
70
70
|
}
|
|
71
71
|
static buildOptions(builders) {
|
|
72
72
|
const options = {};
|
|
@@ -109,22 +109,22 @@ class ConstantsBuilder {
|
|
|
109
109
|
const values = {};
|
|
110
110
|
const enums = {};
|
|
111
111
|
for (const k in node.builder._values) {
|
|
112
|
-
values[k] = ConstantValueBuilder.build(k, node.builder._values[k]);
|
|
112
|
+
values[k] = ConstantValueBuilder.build(node.tag.module, k, node.builder._values[k]);
|
|
113
113
|
}
|
|
114
114
|
for (const k in node.builder.enums) {
|
|
115
|
-
enums[k] = ConstantEnumBuilder.build(node.builder.enums[k]);
|
|
115
|
+
enums[k] = ConstantEnumBuilder.build(node.tag.module, node.builder.enums[k]);
|
|
116
116
|
// Spread enum into multiple enums if it has one or more "." on it's name
|
|
117
117
|
const split = k.split('.');
|
|
118
118
|
if (split.length > 1) {
|
|
119
119
|
let parent = '';
|
|
120
120
|
for (let i = 0; i < split.length - 1; i++) {
|
|
121
121
|
parent = parent.length ? (`${parent}.${split[i]}`) : split[i];
|
|
122
|
-
enums[parent] ?? (enums[parent] = new constants_schema_1.$ConstantEnum(parent, {}));
|
|
122
|
+
enums[parent] ?? (enums[parent] = new constants_schema_1.$ConstantEnum(node.tag.module, parent, {}));
|
|
123
123
|
Object.assign(enums[parent].options, enums[k].options);
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
|
-
node.schema = new constants_schema_1.$Constants(node.module, values, enums);
|
|
127
|
+
node.schema = new constants_schema_1.$Constants(node.tag.module, values, enums);
|
|
128
128
|
return node.schema;
|
|
129
129
|
}
|
|
130
130
|
}
|
|
@@ -6,10 +6,13 @@ import { MergeUnion } from "../../../engine/util/type";
|
|
|
6
6
|
* @subcategory Entity
|
|
7
7
|
* */
|
|
8
8
|
export declare class $ConstantValue {
|
|
9
|
+
module: string;
|
|
10
|
+
name: string;
|
|
9
11
|
scope: string;
|
|
10
|
-
key
|
|
12
|
+
key?: string | undefined;
|
|
11
13
|
value?: any | undefined;
|
|
12
|
-
|
|
14
|
+
$t: "constants.value";
|
|
15
|
+
constructor(module: string, name: string, scope: string, key?: string | undefined, value?: any | undefined);
|
|
13
16
|
}
|
|
14
17
|
/**
|
|
15
18
|
* @category Schemas
|
|
@@ -25,10 +28,12 @@ export declare class $ConstantEnumOption {
|
|
|
25
28
|
* @subcategory Entity
|
|
26
29
|
* */
|
|
27
30
|
export declare class $ConstantEnum {
|
|
31
|
+
module: string;
|
|
28
32
|
name: string;
|
|
29
33
|
options: Record<string, $ConstantEnumOption>;
|
|
34
|
+
$t: "constants.enum";
|
|
30
35
|
'#data': any;
|
|
31
|
-
constructor(name: string, options: Record<string, $ConstantEnumOption>);
|
|
36
|
+
constructor(module: string, name: string, options: Record<string, $ConstantEnumOption>);
|
|
32
37
|
static keys(schema: $ConstantEnum): string[];
|
|
33
38
|
static get(schema: $ConstantEnum, key: string): unknown;
|
|
34
39
|
}
|
|
@@ -6,10 +6,13 @@ exports.$Constants = exports.$ConstantEnum = exports.$ConstantEnumOption = expor
|
|
|
6
6
|
* @subcategory Entity
|
|
7
7
|
* */
|
|
8
8
|
class $ConstantValue {
|
|
9
|
-
constructor(scope, key, value) {
|
|
9
|
+
constructor(module, name, scope, key, value) {
|
|
10
|
+
this.module = module;
|
|
11
|
+
this.name = name;
|
|
10
12
|
this.scope = scope;
|
|
11
13
|
this.key = key;
|
|
12
14
|
this.value = value;
|
|
15
|
+
this.$t = 'constants.value';
|
|
13
16
|
}
|
|
14
17
|
}
|
|
15
18
|
exports.$ConstantValue = $ConstantValue;
|
|
@@ -29,9 +32,11 @@ exports.$ConstantEnumOption = $ConstantEnumOption;
|
|
|
29
32
|
* @subcategory Entity
|
|
30
33
|
* */
|
|
31
34
|
class $ConstantEnum {
|
|
32
|
-
constructor(name, options) {
|
|
35
|
+
constructor(module, name, options) {
|
|
36
|
+
this.module = module;
|
|
33
37
|
this.name = name;
|
|
34
38
|
this.options = options;
|
|
39
|
+
this.$t = 'constants.enum';
|
|
35
40
|
}
|
|
36
41
|
static keys(schema) {
|
|
37
42
|
return Object.keys(schema.options);
|
|
@@ -31,9 +31,5 @@ export interface $MessageInferFromData<Name extends string, Data> extends $Messa
|
|
|
31
31
|
} & Data;
|
|
32
32
|
}
|
|
33
33
|
export type $MessageTemplateBuilderInfer<Module extends $Module, Message extends $Message, Input, Output> = {
|
|
34
|
-
[K in Exclude<keyof Output, '$'>]: MessageTemplateFieldBuilder<Module, Message, {
|
|
35
|
-
'': Input[K & keyof Input];
|
|
36
|
-
}, {
|
|
37
|
-
'': Output[(K extends `${infer X}_id` ? X : K) & keyof Output];
|
|
38
|
-
}, {}>;
|
|
34
|
+
[K in Exclude<keyof Output, '$'>]: MessageTemplateFieldBuilder<Module, Message, Input[K & keyof Input], Output[(K extends `${infer X}_id` ? X : K) & keyof Output], {}>;
|
|
39
35
|
};
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.Message = void 0;
|
|
7
|
-
const crypto_1 =
|
|
4
|
+
const crypto_1 = require("../../../engine/util/crypto");
|
|
8
5
|
/**
|
|
9
6
|
* @category Elements
|
|
10
7
|
* @subcategory Entity
|
|
@@ -36,9 +33,7 @@ class Message {
|
|
|
36
33
|
return str;
|
|
37
34
|
}
|
|
38
35
|
const text = atob(dump(data));
|
|
39
|
-
return crypto_1.
|
|
40
|
-
.update(text)
|
|
41
|
-
.digest('hex');
|
|
36
|
+
return crypto_1.NesoiCrypto.createHmac(text, sigKey);
|
|
42
37
|
}
|
|
43
38
|
getData() {
|
|
44
39
|
const { $, __meta__, ...data } = this;
|
|
@@ -23,7 +23,7 @@ class $Message {
|
|
|
23
23
|
const field = _fields[key];
|
|
24
24
|
str += `${' '.repeat(d)}- ${(0, string_1.colored)(key, 'green')}${field.required ? '' : '?'}: ${field.type}`;
|
|
25
25
|
if (field.type === 'id') {
|
|
26
|
-
str += `(${field.meta.id.bucket.
|
|
26
|
+
str += `(${field.meta.id.bucket.short})`;
|
|
27
27
|
}
|
|
28
28
|
else if (field.type === 'enum') {
|
|
29
29
|
const options = field.meta.enum.options;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { $Message } from "../../..";
|
|
2
2
|
import { $BucketModelFieldType } from "../../bucket/model/bucket_model.schema";
|
|
3
|
-
import {
|
|
3
|
+
import { Tag } from "../../../../engine/dependency";
|
|
4
4
|
export type $MessageTemplateRule = (def: {
|
|
5
5
|
field: $MessageTemplateField;
|
|
6
6
|
path: string;
|
|
@@ -21,19 +21,21 @@ export type $MessageTemplateFieldMeta = {
|
|
|
21
21
|
right?: number;
|
|
22
22
|
};
|
|
23
23
|
enum?: {
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
enumpath?: [string, string];
|
|
25
|
+
options: Record<string, any>;
|
|
26
26
|
};
|
|
27
27
|
file?: {
|
|
28
28
|
maxsize?: number;
|
|
29
29
|
extnames?: string[];
|
|
30
30
|
};
|
|
31
31
|
id?: {
|
|
32
|
-
bucket:
|
|
32
|
+
bucket: Tag;
|
|
33
33
|
type?: 'int' | 'string';
|
|
34
34
|
view?: string;
|
|
35
35
|
};
|
|
36
|
-
msg?:
|
|
36
|
+
msg?: {
|
|
37
|
+
tag: Tag;
|
|
38
|
+
};
|
|
37
39
|
};
|
|
38
40
|
export type $MessageTemplateFieldType = $BucketModelFieldType | 'string_or_number' | 'id' | 'msg';
|
|
39
41
|
/**
|
|
@@ -4,6 +4,7 @@ import { $MessageInputInfer, $MessageOutputInfer, $MessageTemplateBuilderInfer }
|
|
|
4
4
|
import { NesoiDate } from "../../../../engine/data/date";
|
|
5
5
|
import { $Message } from '../message.schema';
|
|
6
6
|
import { ModuleTree } from "../../../../engine/tree";
|
|
7
|
+
import { Dependency } from "../../../../engine/dependency";
|
|
7
8
|
import { MessageEnumpath } from '../../constants/constants.schema';
|
|
8
9
|
import { NesoiDecimal } from "../../../../engine/data/decimal";
|
|
9
10
|
import { NesoiDatetime } from "../../../../engine/data/datetime";
|
|
@@ -46,7 +47,7 @@ export declare class MessageTemplateFieldFactory<Space extends $Space, Module ex
|
|
|
46
47
|
union<Builders extends AnyMessageTemplateFieldBuilder[]>(...children: Builders): MessageTemplateFieldBuilder<Module, Message, Builders[number]["#input"], Builders[number]["#output"], {
|
|
47
48
|
[x: number]: Builders[number];
|
|
48
49
|
}, [false, false], "">;
|
|
49
|
-
msg<MessageName extends keyof Module['messages'], Message extends Module['messages'][MessageName], Builders extends MessageTemplateFieldBuilders>(msg: MessageName, extra?: Builders): MessageTemplateFieldBuilder<Module, Message
|
|
50
|
+
msg<MessageName extends keyof Module['messages'], Message extends Module['messages'][MessageName], Builders extends MessageTemplateFieldBuilders>(msg: MessageName, extra?: Builders): MessageTemplateFieldBuilder<Module, NoInfer<Message>, Omit<Message["#raw"], "$"> & {
|
|
50
51
|
$: any;
|
|
51
52
|
} & { [K in keyof Builders as Builders[K]["#optional"][0] extends true ? never : `${K & string}${Builders[K]["#input_suffix"]}`]: Builders[K]["#input"]; } & { [K_1 in keyof Builders as Builders[K_1]["#optional"][0] extends true ? `${K_1 & string}${Builders[K_1]["#input_suffix"]}` : never]?: Builders[K_1]["#input"] | undefined; }, Omit<Message["#parsed"], "$"> & {
|
|
52
53
|
$: any;
|
|
@@ -59,7 +60,7 @@ export declare class MessageTemplateFieldFactory<Space extends $Space, Module ex
|
|
|
59
60
|
* */
|
|
60
61
|
export declare class MessageTemplateFieldBuilder<Module extends $Module, Message extends $Message, Input, Output, Children extends MessageTemplateFieldBuilders, Optional = [false, false], InputSuffix extends string = ''> {
|
|
61
62
|
private type;
|
|
62
|
-
private
|
|
63
|
+
private meta;
|
|
63
64
|
private alias?;
|
|
64
65
|
private children?;
|
|
65
66
|
'#input': Input;
|
|
@@ -70,7 +71,21 @@ export declare class MessageTemplateFieldBuilder<Module extends $Module, Message
|
|
|
70
71
|
private _defaultValue?;
|
|
71
72
|
private _nullable;
|
|
72
73
|
private _rules;
|
|
73
|
-
constructor(type: $MessageTemplateFieldType,
|
|
74
|
+
constructor(type: $MessageTemplateFieldType, meta: Omit<$MessageTemplateFieldMeta, 'enum' | 'msg' | 'id'> & {
|
|
75
|
+
enum?: {
|
|
76
|
+
options: Record<string, any>;
|
|
77
|
+
} | {
|
|
78
|
+
dep: Dependency;
|
|
79
|
+
} | {
|
|
80
|
+
enumpath: [string, string];
|
|
81
|
+
};
|
|
82
|
+
msg?: Dependency;
|
|
83
|
+
id?: {
|
|
84
|
+
bucket: Dependency;
|
|
85
|
+
type?: 'int' | 'string';
|
|
86
|
+
view?: string;
|
|
87
|
+
};
|
|
88
|
+
}, alias?: string | undefined, children?: Children | undefined);
|
|
74
89
|
as(alias: string): this;
|
|
75
90
|
get optional(): MessageTemplateFieldBuilder<Module, Message, Input | undefined, Output | undefined, Children, [
|
|
76
91
|
true,
|