nesoi 3.3.11 → 3.3.13
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/bundler/browser/browser.bundler.js +4 -7
- package/lib/bundler/browser/stages/8_replace_nesoi_for_browser_stage.js +1 -0
- package/lib/bundler/distributed/distributed.bundler.js +6 -4
- package/lib/bundler/distributed/stages/1_mkdir_stage.js +2 -0
- package/lib/bundler/distributed/stages/2_build_typescript_stage.js +3 -1
- package/lib/bundler/distributed/stages/3_copy_types_stage.js +2 -0
- package/lib/bundler/distributed/stages/4_dump_modules_stage.js +2 -0
- package/lib/bundler/monolyth/monolyth.bundler.js +7 -5
- package/lib/bundler/monolyth/stages/1_mkdir_stage.js +2 -0
- package/lib/bundler/monolyth/stages/2_build_typescript_stage.js +3 -1
- package/lib/bundler/monolyth/stages/3_copy_types_stage.js +2 -0
- package/lib/bundler/monolyth/stages/4_dump_modules_stage.js +2 -0
- package/lib/bundler/monolyth/stages/5_copy_static_stage.js +2 -0
- package/lib/bundler/monolyth/stages/6_dump_cli_stage.js +2 -0
- package/lib/bundler/monolyth/stages/7_dump_package_json_stage.js +2 -0
- package/lib/compiler/compiler.js +7 -2
- package/lib/compiler/elements/bucket.element.js +3 -5
- package/lib/compiler/elements/constants.element.js +2 -2
- package/lib/compiler/elements/controller.element.js +1 -1
- package/lib/compiler/elements/element.js +15 -2
- package/lib/compiler/elements/externals.element.js +12 -4
- package/lib/compiler/elements/message.element.js +7 -0
- package/lib/compiler/elements/queue.element.js +1 -1
- package/lib/compiler/elements/topic.element.js +1 -1
- package/lib/compiler/module.js +6 -1
- package/lib/compiler/stages/1_scan_stage.js +1 -0
- package/lib/compiler/stages/2_treeshake_stage.js +1 -0
- package/lib/compiler/stages/3_extract_ts_stage.js +1 -0
- package/lib/compiler/stages/4_build_schemas_stage.js +3 -3
- package/lib/compiler/stages/5_inject_ts_stage.js +1 -0
- package/lib/compiler/stages/6_build_elements_stage.js +1 -0
- package/lib/compiler/stages/7_dump_stage.js +5 -3
- package/lib/compiler/stages/8_diagnose_stage.js +1 -0
- package/lib/compiler/typescript/bridge/inject.js +1 -1
- package/lib/compiler/typescript/bridge/organize.js +25 -32
- package/lib/compiler/typescript/parser.js +10 -0
- package/lib/compiler/typescript/source.js +6 -4
- package/lib/compiler/typescript/typescript_compiler.js +8 -3
- package/lib/elements/blocks/block.builder.js +16 -14
- package/lib/elements/blocks/block.js +3 -0
- package/lib/elements/blocks/block.schema.js +10 -1
- package/lib/elements/blocks/job/internal/machine_job.builder.js +10 -3
- package/lib/elements/blocks/job/internal/machine_job.schema.js +2 -0
- package/lib/elements/blocks/job/internal/resource_job.builder.js +16 -4
- package/lib/elements/blocks/job/internal/resource_job.schema.js +7 -0
- package/lib/elements/blocks/job/job.builder.js +5 -3
- package/lib/elements/blocks/job/job.js +2 -0
- package/lib/elements/blocks/job/job.schema.js +11 -1
- package/lib/elements/blocks/machine/machine.builder.js +6 -3
- package/lib/elements/blocks/machine/machine.js +7 -0
- package/lib/elements/blocks/machine/machine.schema.js +38 -3
- package/lib/elements/blocks/machine/machine_state.builder.js +6 -4
- package/lib/elements/blocks/machine/machine_transition.builder.js +8 -1
- package/lib/elements/blocks/queue/adapters/bucket.queue_adapter.js +1 -0
- package/lib/elements/blocks/queue/queue.builder.js +1 -1
- package/lib/elements/blocks/queue/queue.js +2 -0
- package/lib/elements/blocks/queue/queue.schema.js +7 -2
- package/lib/elements/blocks/resource/resource.builder.js +4 -3
- package/lib/elements/blocks/resource/resource.js +2 -0
- package/lib/elements/blocks/resource/resource.schema.js +13 -1
- package/lib/elements/blocks/topic/topic.builder.js +1 -1
- package/lib/elements/blocks/topic/topic.js +3 -1
- package/lib/elements/blocks/topic/topic.schema.js +8 -2
- package/lib/elements/edge/controller/adapters/cli.controller_adapter.js +2 -5
- package/lib/elements/edge/controller/adapters/controller_adapter.js +3 -0
- package/lib/elements/edge/controller/controller.builder.js +32 -17
- package/lib/elements/edge/controller/controller.js +10 -0
- package/lib/elements/edge/controller/controller.schema.js +38 -5
- package/lib/elements/edge/externals/externals.builder.js +9 -8
- package/lib/elements/edge/externals/externals.schema.js +9 -1
- package/lib/elements/entities/bucket/adapters/browserdb.bucket_adapter.js +7 -6
- package/lib/elements/entities/bucket/adapters/browserdb.service.d.ts +1 -1
- package/lib/elements/entities/bucket/adapters/browserdb.service.js +9 -10
- package/lib/elements/entities/bucket/adapters/bucket_adapter.js +3 -0
- package/lib/elements/entities/bucket/adapters/json.bucket_adapter.js +4 -2
- package/lib/elements/entities/bucket/adapters/memory.bucket_adapter.js +3 -0
- package/lib/elements/entities/bucket/adapters/memory.nql.js +1 -0
- package/lib/elements/entities/bucket/bucket.builder.js +9 -3
- package/lib/elements/entities/bucket/bucket.js +15 -8
- package/lib/elements/entities/bucket/bucket.schema.js +14 -1
- package/lib/elements/entities/bucket/cache/bucket_cache.js +10 -0
- package/lib/elements/entities/bucket/graph/bucket_graph.builder.js +1 -3
- package/lib/elements/entities/bucket/graph/bucket_graph.js +3 -0
- package/lib/elements/entities/bucket/graph/bucket_graph.schema.js +13 -2
- package/lib/elements/entities/bucket/graph/bucket_graph_link.builder.js +11 -2
- package/lib/elements/entities/bucket/model/bucket_model.builder.js +2 -1
- package/lib/elements/entities/bucket/model/bucket_model.convert.js +2 -1
- package/lib/elements/entities/bucket/model/bucket_model.js +3 -0
- package/lib/elements/entities/bucket/model/bucket_model.schema.js +15 -2
- package/lib/elements/entities/bucket/model/bucket_model_field.builder.js +17 -4
- package/lib/elements/entities/bucket/query/nql_compiler.js +28 -21
- package/lib/elements/entities/bucket/query/nql_engine.js +2 -1
- package/lib/elements/entities/bucket/view/bucket_view.builder.js +2 -1
- package/lib/elements/entities/bucket/view/bucket_view.js +4 -3
- package/lib/elements/entities/bucket/view/bucket_view.schema.js +13 -2
- package/lib/elements/entities/bucket/view/bucket_view_field.builder.js +8 -1
- package/lib/elements/entities/constants/constants.builder.js +12 -5
- package/lib/elements/entities/constants/constants.js +1 -0
- package/lib/elements/entities/constants/constants.schema.js +19 -3
- package/lib/elements/entities/drive/drive_adapter.js +1 -0
- package/lib/elements/entities/drive/local.drive_adapter.d.ts +1 -1
- package/lib/elements/entities/drive/local.drive_adapter.js +1 -0
- package/lib/elements/entities/message/message.builder.js +5 -2
- package/lib/elements/entities/message/message.js +2 -0
- package/lib/elements/entities/message/message.schema.js +7 -1
- package/lib/elements/entities/message/message_parser.js +1 -0
- package/lib/elements/entities/message/template/message_template.builder.js +2 -3
- package/lib/elements/entities/message/template/message_template.schema.js +16 -2
- package/lib/elements/entities/message/template/message_template_field.builder.js +14 -4
- package/lib/engine/app/app.config.js +3 -2
- package/lib/engine/app/app.js +21 -14
- package/lib/engine/app/inc/inc.client.d.ts +1 -1
- package/lib/engine/app/inc/inc.client.js +2 -0
- package/lib/engine/app/inc/inc.server.d.ts +1 -1
- package/lib/engine/app/inc/inc.server.js +3 -1
- package/lib/engine/app/inline.app.js +4 -1
- package/lib/engine/app/native/browser.app.js +2 -1
- package/lib/engine/app/native/distributed.app.config.js +1 -0
- package/lib/engine/app/native/distributed.app.js +2 -2
- package/lib/engine/app/native/distributed_node.app.js +6 -1
- package/lib/engine/app/native/monolyth.app.js +2 -0
- package/lib/engine/app/service.js +8 -0
- package/lib/engine/auth/zero.authn_provider.js +1 -4
- package/lib/engine/cli/cli.js +6 -2
- package/lib/engine/cli/cli_adapter.js +9 -1
- package/lib/engine/cli/cli_input.js +6 -4
- package/lib/engine/cli/script.js +8 -6
- package/lib/engine/daemon.js +14 -0
- package/lib/engine/data/date.js +3 -0
- package/lib/engine/data/datetime.js +34 -26
- package/lib/engine/data/decimal.js +6 -1
- package/lib/engine/data/duration.js +28 -26
- package/lib/engine/data/error.js +3 -0
- package/lib/engine/data/file.js +21 -6
- package/lib/engine/data/tree.js +3 -1
- package/lib/engine/dependency.js +17 -0
- package/lib/engine/module.js +35 -12
- package/lib/engine/space.js +3 -2
- package/lib/engine/transaction/nodes/bucket.trx_node.d.ts +1 -1
- package/lib/engine/transaction/nodes/bucket.trx_node.js +10 -1
- package/lib/engine/transaction/nodes/bucket_query.trx_node.js +9 -2
- package/lib/engine/transaction/nodes/external.trx_node.js +3 -0
- package/lib/engine/transaction/nodes/job.trx_node.js +5 -0
- package/lib/engine/transaction/nodes/machine.trx_node.js +4 -0
- package/lib/engine/transaction/nodes/queue.trx_node.js +4 -0
- package/lib/engine/transaction/nodes/resource.trx_node.js +4 -0
- package/lib/engine/transaction/nodes/topic.trx_node.js +4 -0
- package/lib/engine/transaction/trx.js +18 -3
- package/lib/engine/transaction/trx_engine.js +12 -1
- package/lib/engine/transaction/trx_node.js +23 -11
- package/lib/engine/tree.js +6 -5
- package/lib/engine/util/crypto.js +17 -17
- package/lib/engine/util/log.js +9 -9
- package/lib/engine/util/path.js +1 -1
- package/lib/engine/util/random.d.ts +1 -1
- package/lib/engine/util/regex.d.ts +3 -0
- package/lib/engine/util/regex.js +82 -0
- package/package.json +1 -4
- package/tools/joaquin/mock.js +10 -0
- package/tsconfig.build.tsbuildinfo +1 -1
|
@@ -45,25 +45,23 @@ class TSBridgeOrganize {
|
|
|
45
45
|
return organized;
|
|
46
46
|
}
|
|
47
47
|
static bucket(organized, tag, path, node) {
|
|
48
|
-
var _a, _b, _c;
|
|
49
48
|
const viewComputed = path.match(/view▹(\w+)▹1▹return▹([\w|\\.]+)▹computed▹0/);
|
|
50
49
|
if (viewComputed) {
|
|
51
50
|
const [_, view, prop] = viewComputed;
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
organized.buckets[tag] ??= { views: {}, tenancy: {} };
|
|
52
|
+
organized.buckets[tag].views[view] ??= { computed: {} };
|
|
54
53
|
organized.buckets[tag].views[view].computed[prop] = node;
|
|
55
54
|
return;
|
|
56
55
|
}
|
|
57
56
|
const tenancy = path.match(/tenancy▹0▹(\w+)/);
|
|
58
57
|
if (tenancy) {
|
|
59
58
|
const [_, provider] = tenancy;
|
|
60
|
-
|
|
59
|
+
organized.buckets[tag] ??= { views: {}, tenancy: {} };
|
|
61
60
|
organized.buckets[tag].tenancy[provider] = node;
|
|
62
61
|
return;
|
|
63
62
|
}
|
|
64
63
|
}
|
|
65
64
|
static message(organized, tag, path, node) {
|
|
66
|
-
var _a, _b;
|
|
67
65
|
const rule = path.match(/template▹0▹return▹(.+)▹rule▹0/);
|
|
68
66
|
if (rule) {
|
|
69
67
|
const [_, prop] = rule;
|
|
@@ -71,8 +69,8 @@ class TSBridgeOrganize {
|
|
|
71
69
|
path = path.replace(/▹union▹/g, '.');
|
|
72
70
|
path = path.replace(/▹list▹0/g, '.#');
|
|
73
71
|
path = path.replace(/▹dict▹0/g, '.#');
|
|
74
|
-
|
|
75
|
-
|
|
72
|
+
organized.messages[tag] ??= { rules: {} };
|
|
73
|
+
organized.messages[tag].rules[path] ??= [];
|
|
76
74
|
organized.messages[tag].rules[path].push(node);
|
|
77
75
|
return;
|
|
78
76
|
}
|
|
@@ -101,76 +99,73 @@ class TSBridgeOrganize {
|
|
|
101
99
|
}
|
|
102
100
|
}
|
|
103
101
|
static job(organized, tag, path, node) {
|
|
104
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
105
102
|
this.inlineMessage(organized, tag, path, node);
|
|
106
103
|
const authResolver = path.match(/auth▹.+▹1$/);
|
|
107
104
|
if (authResolver) {
|
|
108
|
-
|
|
109
|
-
|
|
105
|
+
organized.jobs[tag] ??= {};
|
|
106
|
+
organized.jobs[tag].authResolver ??= [];
|
|
110
107
|
organized.jobs[tag].authResolver.push(node);
|
|
111
108
|
}
|
|
112
109
|
const extra = path.match(/extra▹0/);
|
|
113
110
|
if (extra) {
|
|
114
|
-
|
|
115
|
-
|
|
111
|
+
organized.jobs[tag] ??= {};
|
|
112
|
+
organized.jobs[tag].extrasAndAsserts ??= [];
|
|
116
113
|
organized.jobs[tag].extrasAndAsserts.push({ extra: node });
|
|
117
114
|
return;
|
|
118
115
|
}
|
|
119
116
|
const assert = path.match(/assert▹0/);
|
|
120
117
|
if (assert) {
|
|
121
|
-
|
|
122
|
-
|
|
118
|
+
organized.jobs[tag] ??= {};
|
|
119
|
+
organized.jobs[tag].extrasAndAsserts ??= [];
|
|
123
120
|
organized.jobs[tag].extrasAndAsserts.push({ assert: node });
|
|
124
121
|
return;
|
|
125
122
|
}
|
|
126
123
|
const method = path.match(/method▹0/);
|
|
127
124
|
if (method) {
|
|
128
|
-
|
|
125
|
+
organized.jobs[tag] ??= {};
|
|
129
126
|
organized.jobs[tag].method = node;
|
|
130
127
|
return;
|
|
131
128
|
}
|
|
132
129
|
}
|
|
133
130
|
static type_job(organized, tag, path, type) {
|
|
134
|
-
var _a;
|
|
135
131
|
const raw = path.match(/output▹raw/);
|
|
136
132
|
if (raw) {
|
|
137
|
-
|
|
133
|
+
organized.jobs[tag] ??= {};
|
|
138
134
|
organized.jobs[tag].outputRaw = type;
|
|
139
135
|
return;
|
|
140
136
|
}
|
|
141
137
|
}
|
|
142
138
|
static resourceJob(organized, tag, path, node) {
|
|
143
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
144
139
|
this.inputMessage(organized, tag, path, node);
|
|
145
140
|
const authResolver = path.match(/auth▹.+▹1$/);
|
|
146
141
|
if (authResolver) {
|
|
147
|
-
|
|
148
|
-
|
|
142
|
+
organized.jobs[tag] ??= {};
|
|
143
|
+
organized.jobs[tag].authResolver ??= [];
|
|
149
144
|
organized.jobs[tag].authResolver.push(node);
|
|
150
145
|
}
|
|
151
146
|
const extra = path.match(/extra▹0/);
|
|
152
147
|
if (extra) {
|
|
153
|
-
|
|
154
|
-
|
|
148
|
+
organized.jobs[tag] ??= {};
|
|
149
|
+
organized.jobs[tag].extrasAndAsserts ??= [];
|
|
155
150
|
organized.jobs[tag].extrasAndAsserts.push({ extra: node });
|
|
156
151
|
return;
|
|
157
152
|
}
|
|
158
153
|
const assert = path.match(/assert▹0/);
|
|
159
154
|
if (assert) {
|
|
160
|
-
|
|
161
|
-
|
|
155
|
+
organized.jobs[tag] ??= { extrasAndAsserts: [] };
|
|
156
|
+
organized.jobs[tag].extrasAndAsserts ??= [];
|
|
162
157
|
organized.jobs[tag].extrasAndAsserts.push({ assert: node });
|
|
163
158
|
return;
|
|
164
159
|
}
|
|
165
160
|
const prepare = path.match(/prepare▹0/);
|
|
166
161
|
if (prepare) {
|
|
167
|
-
|
|
162
|
+
organized.jobs[tag] ??= { extrasAndAsserts: [] };
|
|
168
163
|
organized.jobs[tag].prepare = node;
|
|
169
164
|
return;
|
|
170
165
|
}
|
|
171
166
|
const after = path.match(/after▹0/);
|
|
172
167
|
if (after) {
|
|
173
|
-
|
|
168
|
+
organized.jobs[tag] ??= { extrasAndAsserts: [] };
|
|
174
169
|
organized.jobs[tag].after = node;
|
|
175
170
|
return;
|
|
176
171
|
}
|
|
@@ -201,7 +196,6 @@ class TSBridgeOrganize {
|
|
|
201
196
|
}
|
|
202
197
|
}
|
|
203
198
|
static machineState(organized, machineTag, stateName, path, node) {
|
|
204
|
-
var _a, _b;
|
|
205
199
|
const machine = dependency_1.Tag.from(machineTag);
|
|
206
200
|
const job = path.match(/(beforeEnter|afterEnter|beforeLeave|afterLeave)▹0▹return▹(.*)/);
|
|
207
201
|
if (job) {
|
|
@@ -244,14 +238,13 @@ class TSBridgeOrganize {
|
|
|
244
238
|
const transition = path.match(/transition▹([\w|\\.|@]+)▹1▹return▹(.*)/);
|
|
245
239
|
if (transition) {
|
|
246
240
|
const [_, msg, path] = transition;
|
|
247
|
-
|
|
248
|
-
|
|
241
|
+
organized.machines[machineTag] ??= { states: {} };
|
|
242
|
+
organized.machines[machineTag].states[stateName] ??= {};
|
|
249
243
|
const extract = organized.machines[machineTag].states[stateName];
|
|
250
244
|
this.machineTransition(organized, extract, machineTag, stateName, msg, path, node);
|
|
251
245
|
}
|
|
252
246
|
}
|
|
253
247
|
static machineTransition(organized, extract, machineTag, stateName, msg, path, node) {
|
|
254
|
-
var _a;
|
|
255
248
|
const machine = dependency_1.Tag.from(machineTag);
|
|
256
249
|
if (msg.startsWith('@.')) {
|
|
257
250
|
msg = msg.replace('@', machine.name);
|
|
@@ -260,8 +253,8 @@ class TSBridgeOrganize {
|
|
|
260
253
|
let nElses = 0;
|
|
261
254
|
for (const _ of elses)
|
|
262
255
|
nElses++;
|
|
263
|
-
extract.transitions
|
|
264
|
-
|
|
256
|
+
extract.transitions ??= {};
|
|
257
|
+
extract.transitions[msg] ??= [];
|
|
265
258
|
const trans = extract.transitions?.[msg];
|
|
266
259
|
const condition = path.match(/if▹0$/);
|
|
267
260
|
if (trans.length < nElses) {
|
|
@@ -41,6 +41,16 @@ const error_1 = require("./error");
|
|
|
41
41
|
*/
|
|
42
42
|
const DEBUG_LOG = false;
|
|
43
43
|
class ParsedNode {
|
|
44
|
+
superkind;
|
|
45
|
+
kind;
|
|
46
|
+
value;
|
|
47
|
+
type;
|
|
48
|
+
expressionOperator;
|
|
49
|
+
arrayElement;
|
|
50
|
+
arguments;
|
|
51
|
+
members;
|
|
52
|
+
return;
|
|
53
|
+
chain;
|
|
44
54
|
constructor(node, superkind, kind, value, type = 'unknown') {
|
|
45
55
|
this.superkind = superkind;
|
|
46
56
|
this.kind = kind;
|
|
@@ -37,12 +37,14 @@ exports.MetaSource = void 0;
|
|
|
37
37
|
const ts = __importStar(require("typescript"));
|
|
38
38
|
const parser_1 = require("./parser");
|
|
39
39
|
class MetaSource {
|
|
40
|
+
sourceFile;
|
|
41
|
+
filename;
|
|
42
|
+
imports = [];
|
|
43
|
+
interfaces = {};
|
|
44
|
+
newExpressions = [];
|
|
45
|
+
nesoiCallExpressions = {};
|
|
40
46
|
constructor(sourceFile) {
|
|
41
47
|
this.sourceFile = sourceFile;
|
|
42
|
-
this.imports = [];
|
|
43
|
-
this.interfaces = {};
|
|
44
|
-
this.newExpressions = [];
|
|
45
|
-
this.nesoiCallExpressions = {};
|
|
46
48
|
this.filename = this.sourceFile.fileName;
|
|
47
49
|
this.parseFile();
|
|
48
50
|
}
|
|
@@ -44,6 +44,11 @@ const app_inject_transformer_1 = require("./transformers/app_inject.transformer"
|
|
|
44
44
|
const string_1 = require("../../engine/util/string");
|
|
45
45
|
const parser_1 = require("./parser");
|
|
46
46
|
class TypeScriptCompiler {
|
|
47
|
+
space;
|
|
48
|
+
nesoiPath;
|
|
49
|
+
files;
|
|
50
|
+
program;
|
|
51
|
+
checker;
|
|
47
52
|
constructor(space, nesoiPath = 'node_modules/nesoi') {
|
|
48
53
|
this.space = space;
|
|
49
54
|
this.nesoiPath = nesoiPath;
|
|
@@ -57,7 +62,7 @@ class TypeScriptCompiler {
|
|
|
57
62
|
this.program = ts.createProgram({
|
|
58
63
|
rootNames: this.files,
|
|
59
64
|
options: {
|
|
60
|
-
target: ts.ScriptTarget.
|
|
65
|
+
target: ts.ScriptTarget.ES2022,
|
|
61
66
|
module: ts.ModuleKind.CommonJS,
|
|
62
67
|
moduleResolution: ts.ModuleResolutionKind.Node10,
|
|
63
68
|
noEmitOnError: true,
|
|
@@ -468,7 +473,7 @@ class TypeScriptCompiler {
|
|
|
468
473
|
].includes(builderType)) {
|
|
469
474
|
throw new Error(`Unknown builder type ${builderType}`);
|
|
470
475
|
}
|
|
471
|
-
builders[builderType]
|
|
476
|
+
builders[builderType] ??= {};
|
|
472
477
|
if (b.arguments.length != 1) {
|
|
473
478
|
throw new Error('A builder initial call requires a single string argument');
|
|
474
479
|
}
|
|
@@ -607,7 +612,7 @@ class TypeScriptCompiler {
|
|
|
607
612
|
*
|
|
608
613
|
*/
|
|
609
614
|
static compileFile(fileName, options = {
|
|
610
|
-
target: ts.ScriptTarget.
|
|
615
|
+
target: ts.ScriptTarget.ES2022,
|
|
611
616
|
module: ts.ModuleKind.CommonJS,
|
|
612
617
|
moduleResolution: ts.ModuleResolutionKind.Node10
|
|
613
618
|
}) {
|
|
@@ -9,14 +9,19 @@ const name_helpers_1 = require("../../engine/util/name_helpers");
|
|
|
9
9
|
* @subcategory Block
|
|
10
10
|
*/
|
|
11
11
|
class BlockBuilder {
|
|
12
|
+
module;
|
|
13
|
+
type;
|
|
14
|
+
name;
|
|
15
|
+
_alias;
|
|
16
|
+
_auth = [];
|
|
17
|
+
// References to all inline nodes, set during builder declaration (before build)
|
|
18
|
+
_inlineNodes = [];
|
|
19
|
+
_inputMsgs = [];
|
|
20
|
+
_output;
|
|
12
21
|
constructor(module, type, name) {
|
|
13
22
|
this.module = module;
|
|
14
23
|
this.type = type;
|
|
15
24
|
this.name = name;
|
|
16
|
-
this._auth = [];
|
|
17
|
-
// References to all inline nodes, set during builder declaration (before build)
|
|
18
|
-
this._inlineNodes = [];
|
|
19
|
-
this._inputMsgs = [];
|
|
20
25
|
}
|
|
21
26
|
/** Block "human" name */
|
|
22
27
|
as(alias) {
|
|
@@ -45,7 +50,7 @@ class BlockBuilder {
|
|
|
45
50
|
}
|
|
46
51
|
// Authentication
|
|
47
52
|
auth(provider, resolver) {
|
|
48
|
-
this._auth
|
|
53
|
+
this._auth ??= [];
|
|
49
54
|
// Replace by provider name
|
|
50
55
|
const match = this._auth.findIndex(opt => opt.provider === provider);
|
|
51
56
|
if (match >= 0) {
|
|
@@ -71,9 +76,8 @@ class BlockBuilder {
|
|
|
71
76
|
return this;
|
|
72
77
|
}
|
|
73
78
|
outputMsg(...msgs) {
|
|
74
|
-
|
|
75
|
-
this._output
|
|
76
|
-
(_a = this._output).msg ?? (_a.msg = []);
|
|
79
|
+
this._output ??= {};
|
|
80
|
+
this._output.msg ??= [];
|
|
77
81
|
msgs.forEach(msg => {
|
|
78
82
|
const tag = dependency_1.Tag.fromNameOrShort(this.module, 'message', msg);
|
|
79
83
|
const dep = new dependency_1.Dependency(this.module, tag, { compile: true, runtime: true });
|
|
@@ -82,9 +86,8 @@ class BlockBuilder {
|
|
|
82
86
|
return this;
|
|
83
87
|
}
|
|
84
88
|
outputObj(...objs) {
|
|
85
|
-
|
|
86
|
-
this._output
|
|
87
|
-
(_a = this._output).obj ?? (_a.obj = []);
|
|
89
|
+
this._output ??= {};
|
|
90
|
+
this._output.obj ??= [];
|
|
88
91
|
objs.forEach(obj => {
|
|
89
92
|
const tag = dependency_1.Tag.fromNameOrShort(this.module, 'bucket', obj);
|
|
90
93
|
const dep = new dependency_1.Dependency(this.module, tag, { compile: true, runtime: true });
|
|
@@ -96,9 +99,8 @@ class BlockBuilder {
|
|
|
96
99
|
return this;
|
|
97
100
|
}
|
|
98
101
|
outputObjs(...objs) {
|
|
99
|
-
|
|
100
|
-
this._output
|
|
101
|
-
(_a = this._output).obj ?? (_a.obj = []);
|
|
102
|
+
this._output ??= {};
|
|
103
|
+
this._output.obj ??= [];
|
|
102
104
|
objs.forEach(obj => {
|
|
103
105
|
const tag = dependency_1.Tag.fromNameOrShort(this.module, 'bucket', obj);
|
|
104
106
|
const dep = new dependency_1.Dependency(this.module, tag, { compile: true, runtime: true });
|
|
@@ -6,6 +6,16 @@ exports.$Block = void 0;
|
|
|
6
6
|
* @subcategory Block
|
|
7
7
|
*/
|
|
8
8
|
class $Block {
|
|
9
|
+
module;
|
|
10
|
+
name;
|
|
11
|
+
alias;
|
|
12
|
+
auth;
|
|
13
|
+
input;
|
|
14
|
+
output;
|
|
15
|
+
$t = 'block';
|
|
16
|
+
'#authn';
|
|
17
|
+
'#input';
|
|
18
|
+
'#output';
|
|
9
19
|
constructor(module, name, alias, auth, input, output) {
|
|
10
20
|
this.module = module;
|
|
11
21
|
this.name = name;
|
|
@@ -13,7 +23,6 @@ class $Block {
|
|
|
13
23
|
this.auth = auth;
|
|
14
24
|
this.input = input;
|
|
15
25
|
this.output = output;
|
|
16
|
-
this.$t = 'block';
|
|
17
26
|
}
|
|
18
27
|
}
|
|
19
28
|
exports.$Block = $Block;
|
|
@@ -12,6 +12,16 @@ const error_1 = require("../../../../engine/data/error");
|
|
|
12
12
|
* @subcategory Block
|
|
13
13
|
*/
|
|
14
14
|
class MachineJobBuilder extends block_builder_1.BlockBuilder {
|
|
15
|
+
module;
|
|
16
|
+
name;
|
|
17
|
+
alias;
|
|
18
|
+
_auth;
|
|
19
|
+
_inputMsgs;
|
|
20
|
+
$b = 'job';
|
|
21
|
+
$j = 'MachineJob';
|
|
22
|
+
_extrasAndAsserts = [];
|
|
23
|
+
_method;
|
|
24
|
+
machine;
|
|
15
25
|
constructor(module, name, alias, _auth = [], _inputMsgs = []) {
|
|
16
26
|
super(module, 'job', name);
|
|
17
27
|
this.module = module;
|
|
@@ -19,9 +29,6 @@ class MachineJobBuilder extends block_builder_1.BlockBuilder {
|
|
|
19
29
|
this.alias = alias;
|
|
20
30
|
this._auth = _auth;
|
|
21
31
|
this._inputMsgs = _inputMsgs;
|
|
22
|
-
this.$b = 'job';
|
|
23
|
-
this.$j = 'MachineJob';
|
|
24
|
-
this._extrasAndAsserts = [];
|
|
25
32
|
this.machine = name.split('@')[0];
|
|
26
33
|
}
|
|
27
34
|
/*
|
|
@@ -13,6 +13,22 @@ const resource_job_1 = require("./resource_job");
|
|
|
13
13
|
* @subcategory Block
|
|
14
14
|
*/
|
|
15
15
|
class ResourceJobBuilder extends block_builder_1.BlockBuilder {
|
|
16
|
+
module;
|
|
17
|
+
name;
|
|
18
|
+
bucket;
|
|
19
|
+
method;
|
|
20
|
+
alias;
|
|
21
|
+
execMethod;
|
|
22
|
+
_auth;
|
|
23
|
+
implicitFields;
|
|
24
|
+
$b = 'job';
|
|
25
|
+
$j = 'ResourceJob';
|
|
26
|
+
resource;
|
|
27
|
+
_msg;
|
|
28
|
+
_customInput = false;
|
|
29
|
+
_extrasAndAsserts = [];
|
|
30
|
+
_prepareMethod;
|
|
31
|
+
_afterMethod;
|
|
16
32
|
constructor(module, name, bucket, method, alias, execMethod, _auth = [], implicitFields = {}) {
|
|
17
33
|
super(module, 'job', name);
|
|
18
34
|
this.module = module;
|
|
@@ -23,10 +39,6 @@ class ResourceJobBuilder extends block_builder_1.BlockBuilder {
|
|
|
23
39
|
this.execMethod = execMethod;
|
|
24
40
|
this._auth = _auth;
|
|
25
41
|
this.implicitFields = implicitFields;
|
|
26
|
-
this.$b = 'job';
|
|
27
|
-
this.$j = 'ResourceJob';
|
|
28
|
-
this._customInput = false;
|
|
29
|
-
this._extrasAndAsserts = [];
|
|
30
42
|
this.resource = this.name.split('.')[0];
|
|
31
43
|
this._msg = new message_builder_1.MessageBuilder(module, name)
|
|
32
44
|
.as(alias);
|
|
@@ -6,6 +6,13 @@ exports.$ResourceJobScope = void 0;
|
|
|
6
6
|
* @subcategory Block
|
|
7
7
|
*/
|
|
8
8
|
class $ResourceJobScope {
|
|
9
|
+
module;
|
|
10
|
+
resource;
|
|
11
|
+
bucket;
|
|
12
|
+
method;
|
|
13
|
+
prepareMethod;
|
|
14
|
+
execMethod;
|
|
15
|
+
afterMethod;
|
|
9
16
|
constructor(module, resource, bucket, method, prepareMethod, execMethod, afterMethod) {
|
|
10
17
|
this.module = module;
|
|
11
18
|
this.resource = resource;
|
|
@@ -14,11 +14,13 @@ const name_helpers_1 = require("../../../engine/util/name_helpers");
|
|
|
14
14
|
* @subcategory Block
|
|
15
15
|
*/
|
|
16
16
|
class JobBuilder extends block_builder_1.BlockBuilder {
|
|
17
|
+
$b = 'job';
|
|
18
|
+
$j = 'Job';
|
|
19
|
+
_extrasAndAsserts = [];
|
|
20
|
+
_method;
|
|
21
|
+
_scope;
|
|
17
22
|
constructor(module, name) {
|
|
18
23
|
super(module, 'job', name);
|
|
19
|
-
this.$b = 'job';
|
|
20
|
-
this.$j = 'Job';
|
|
21
|
-
this._extrasAndAsserts = [];
|
|
22
24
|
}
|
|
23
25
|
/* [Block] */
|
|
24
26
|
auth(provider, resolver) {
|
|
@@ -7,6 +7,17 @@ const block_schema_1 = require("../block.schema");
|
|
|
7
7
|
* @subcategory Block
|
|
8
8
|
*/
|
|
9
9
|
class $Job extends block_schema_1.$Block {
|
|
10
|
+
module;
|
|
11
|
+
name;
|
|
12
|
+
alias;
|
|
13
|
+
auth;
|
|
14
|
+
input;
|
|
15
|
+
output;
|
|
16
|
+
extrasAndAsserts;
|
|
17
|
+
method;
|
|
18
|
+
scope;
|
|
19
|
+
$t = 'job';
|
|
20
|
+
'#extra';
|
|
10
21
|
constructor(module, name, alias, auth, input, output, extrasAndAsserts, method, scope) {
|
|
11
22
|
super(module, name, alias, auth, input, output);
|
|
12
23
|
this.module = module;
|
|
@@ -18,7 +29,6 @@ class $Job extends block_schema_1.$Block {
|
|
|
18
29
|
this.extrasAndAsserts = extrasAndAsserts;
|
|
19
30
|
this.method = method;
|
|
20
31
|
this.scope = scope;
|
|
21
|
-
this.$t = 'job';
|
|
22
32
|
}
|
|
23
33
|
}
|
|
24
34
|
exports.$Job = $Job;
|
|
@@ -13,11 +13,14 @@ const machine_transition_builder_1 = require("./machine_transition.builder");
|
|
|
13
13
|
* @subcategory Block
|
|
14
14
|
*/
|
|
15
15
|
class MachineBuilder extends block_builder_1.BlockBuilder {
|
|
16
|
+
$b = 'machine';
|
|
17
|
+
_buckets = [];
|
|
18
|
+
_stateField;
|
|
19
|
+
_stateAliasField;
|
|
20
|
+
_states = {};
|
|
21
|
+
_logger;
|
|
16
22
|
constructor(module, name) {
|
|
17
23
|
super(module, 'machine', name);
|
|
18
|
-
this.$b = 'machine';
|
|
19
|
-
this._buckets = [];
|
|
20
|
-
this._states = {};
|
|
21
24
|
}
|
|
22
25
|
/* [Block] */
|
|
23
26
|
auth(provider, resolver) {
|
|
@@ -26,6 +26,10 @@ exports.MachineOutputCode = {
|
|
|
26
26
|
* @subcategory Block
|
|
27
27
|
*/
|
|
28
28
|
class MachineOutputEntry {
|
|
29
|
+
type;
|
|
30
|
+
code;
|
|
31
|
+
text;
|
|
32
|
+
data;
|
|
29
33
|
constructor(type, code, text, data) {
|
|
30
34
|
this.type = type;
|
|
31
35
|
this.code = code;
|
|
@@ -66,6 +70,7 @@ exports.MachineOutputEntry = MachineOutputEntry;
|
|
|
66
70
|
* @subcategory Block
|
|
67
71
|
*/
|
|
68
72
|
class MachineOutput {
|
|
73
|
+
entries;
|
|
69
74
|
constructor(entries = []) {
|
|
70
75
|
this.entries = entries;
|
|
71
76
|
}
|
|
@@ -98,6 +103,8 @@ exports.MachineOutput = MachineOutput;
|
|
|
98
103
|
* @subcategory Block
|
|
99
104
|
*/
|
|
100
105
|
class Machine extends block_1.Block {
|
|
106
|
+
module;
|
|
107
|
+
schema;
|
|
101
108
|
constructor(module, schema) {
|
|
102
109
|
super('machine', module, schema);
|
|
103
110
|
this.module = module;
|
|
@@ -8,6 +8,16 @@ const block_schema_1 = require("../block.schema");
|
|
|
8
8
|
* @subcategory Block
|
|
9
9
|
*/
|
|
10
10
|
class $MachineTransition extends block_schema_1.$Block {
|
|
11
|
+
module;
|
|
12
|
+
name;
|
|
13
|
+
alias;
|
|
14
|
+
auth;
|
|
15
|
+
msg;
|
|
16
|
+
from;
|
|
17
|
+
to;
|
|
18
|
+
condition;
|
|
19
|
+
jobs;
|
|
20
|
+
$t = 'machine.transition';
|
|
11
21
|
constructor(module, name, alias, auth, msg, from, to, condition, jobs = []) {
|
|
12
22
|
super(module, name, alias, auth, [msg], {});
|
|
13
23
|
this.module = module;
|
|
@@ -19,7 +29,6 @@ class $MachineTransition extends block_schema_1.$Block {
|
|
|
19
29
|
this.to = to;
|
|
20
30
|
this.condition = condition;
|
|
21
31
|
this.jobs = jobs;
|
|
22
|
-
this.$t = 'machine.transition';
|
|
23
32
|
}
|
|
24
33
|
}
|
|
25
34
|
exports.$MachineTransition = $MachineTransition;
|
|
@@ -29,6 +38,18 @@ exports.$MachineTransition = $MachineTransition;
|
|
|
29
38
|
* @subcategory Block
|
|
30
39
|
*/
|
|
31
40
|
class $MachineState extends block_schema_1.$Block {
|
|
41
|
+
module;
|
|
42
|
+
name;
|
|
43
|
+
alias;
|
|
44
|
+
auth;
|
|
45
|
+
initial;
|
|
46
|
+
final;
|
|
47
|
+
inputEnter;
|
|
48
|
+
inputLeave;
|
|
49
|
+
jobs;
|
|
50
|
+
$t = 'machine.state';
|
|
51
|
+
'#input.enter';
|
|
52
|
+
'#input.leave';
|
|
32
53
|
constructor(module, name, alias, auth, initial, final, inputEnter, inputLeave, jobs) {
|
|
33
54
|
super(module, name, alias, auth, [...inputEnter, ...inputLeave], {});
|
|
34
55
|
this.module = module;
|
|
@@ -40,7 +61,6 @@ class $MachineState extends block_schema_1.$Block {
|
|
|
40
61
|
this.inputEnter = inputEnter;
|
|
41
62
|
this.inputLeave = inputLeave;
|
|
42
63
|
this.jobs = jobs;
|
|
43
|
-
this.$t = 'machine.state';
|
|
44
64
|
}
|
|
45
65
|
}
|
|
46
66
|
exports.$MachineState = $MachineState;
|
|
@@ -49,6 +69,20 @@ exports.$MachineState = $MachineState;
|
|
|
49
69
|
* @subcategory Block
|
|
50
70
|
*/
|
|
51
71
|
class $Machine extends block_schema_1.$Block {
|
|
72
|
+
module;
|
|
73
|
+
name;
|
|
74
|
+
alias;
|
|
75
|
+
auth;
|
|
76
|
+
input;
|
|
77
|
+
buckets;
|
|
78
|
+
jobs;
|
|
79
|
+
stateField;
|
|
80
|
+
states;
|
|
81
|
+
transitions;
|
|
82
|
+
stateAliasField;
|
|
83
|
+
logger;
|
|
84
|
+
$t = 'machine';
|
|
85
|
+
'#data';
|
|
52
86
|
constructor(module, name, alias, auth, input, buckets, jobs, stateField, states, transitions, stateAliasField, logger) {
|
|
53
87
|
super(module, name, alias, auth, input, {});
|
|
54
88
|
this.module = module;
|
|
@@ -63,7 +97,6 @@ class $Machine extends block_schema_1.$Block {
|
|
|
63
97
|
this.transitions = transitions;
|
|
64
98
|
this.stateAliasField = stateAliasField;
|
|
65
99
|
this.logger = logger;
|
|
66
|
-
this.$t = 'machine';
|
|
67
100
|
}
|
|
68
101
|
}
|
|
69
102
|
exports.$Machine = $Machine;
|
|
@@ -72,6 +105,8 @@ exports.$Machine = $Machine;
|
|
|
72
105
|
* @subcategory Block
|
|
73
106
|
*/
|
|
74
107
|
class $MachineJobScope {
|
|
108
|
+
module;
|
|
109
|
+
machine;
|
|
75
110
|
constructor(module, machine) {
|
|
76
111
|
this.module = module;
|
|
77
112
|
this.machine = machine;
|
|
@@ -12,15 +12,17 @@ const machine_job_builder_1 = require("../job/internal/machine_job.builder");
|
|
|
12
12
|
* @subcategory Block
|
|
13
13
|
*/
|
|
14
14
|
class MachineStateBuilder extends block_builder_1.BlockBuilder {
|
|
15
|
+
machine;
|
|
16
|
+
_initial;
|
|
17
|
+
_transitions = {};
|
|
18
|
+
_states = {};
|
|
19
|
+
_final = false;
|
|
15
20
|
constructor(machine, module, name, _initial = false) {
|
|
16
21
|
super(module, 'machine', name);
|
|
17
22
|
this.machine = machine;
|
|
18
23
|
this._initial = _initial;
|
|
19
|
-
this._transitions = {};
|
|
20
|
-
this._states = {};
|
|
21
|
-
this._final = false;
|
|
22
|
-
this._jobs = {};
|
|
23
24
|
}
|
|
25
|
+
_jobs = {};
|
|
24
26
|
as(alias) {
|
|
25
27
|
this._alias = alias;
|
|
26
28
|
return this;
|
|
@@ -10,13 +10,20 @@ const machine_job_builder_1 = require("../job/internal/machine_job.builder");
|
|
|
10
10
|
* @subcategory Block
|
|
11
11
|
*/
|
|
12
12
|
class MachineTransitionBuilder extends block_builder_1.BlockBuilder {
|
|
13
|
+
machine;
|
|
14
|
+
_from;
|
|
15
|
+
_msg;
|
|
16
|
+
index;
|
|
17
|
+
_condition;
|
|
18
|
+
_else;
|
|
19
|
+
_to;
|
|
20
|
+
_jobs = [];
|
|
13
21
|
constructor(machine, module, _from, _msg, index = 0) {
|
|
14
22
|
super(module, 'machine', `${_from}~${_msg.tag.short}`);
|
|
15
23
|
this.machine = machine;
|
|
16
24
|
this._from = _from;
|
|
17
25
|
this._msg = _msg;
|
|
18
26
|
this.index = index;
|
|
19
|
-
this._jobs = [];
|
|
20
27
|
}
|
|
21
28
|
as(alias) {
|
|
22
29
|
this._alias = alias;
|