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.
Files changed (160) hide show
  1. package/lib/bundler/browser/browser.bundler.js +4 -7
  2. package/lib/bundler/browser/stages/8_replace_nesoi_for_browser_stage.js +1 -0
  3. package/lib/bundler/distributed/distributed.bundler.js +6 -4
  4. package/lib/bundler/distributed/stages/1_mkdir_stage.js +2 -0
  5. package/lib/bundler/distributed/stages/2_build_typescript_stage.js +3 -1
  6. package/lib/bundler/distributed/stages/3_copy_types_stage.js +2 -0
  7. package/lib/bundler/distributed/stages/4_dump_modules_stage.js +2 -0
  8. package/lib/bundler/monolyth/monolyth.bundler.js +7 -5
  9. package/lib/bundler/monolyth/stages/1_mkdir_stage.js +2 -0
  10. package/lib/bundler/monolyth/stages/2_build_typescript_stage.js +3 -1
  11. package/lib/bundler/monolyth/stages/3_copy_types_stage.js +2 -0
  12. package/lib/bundler/monolyth/stages/4_dump_modules_stage.js +2 -0
  13. package/lib/bundler/monolyth/stages/5_copy_static_stage.js +2 -0
  14. package/lib/bundler/monolyth/stages/6_dump_cli_stage.js +2 -0
  15. package/lib/bundler/monolyth/stages/7_dump_package_json_stage.js +2 -0
  16. package/lib/compiler/compiler.js +7 -2
  17. package/lib/compiler/elements/bucket.element.js +3 -5
  18. package/lib/compiler/elements/constants.element.js +2 -2
  19. package/lib/compiler/elements/controller.element.js +1 -1
  20. package/lib/compiler/elements/element.js +15 -2
  21. package/lib/compiler/elements/externals.element.js +12 -4
  22. package/lib/compiler/elements/message.element.js +7 -0
  23. package/lib/compiler/elements/queue.element.js +1 -1
  24. package/lib/compiler/elements/topic.element.js +1 -1
  25. package/lib/compiler/module.js +6 -1
  26. package/lib/compiler/stages/1_scan_stage.js +1 -0
  27. package/lib/compiler/stages/2_treeshake_stage.js +1 -0
  28. package/lib/compiler/stages/3_extract_ts_stage.js +1 -0
  29. package/lib/compiler/stages/4_build_schemas_stage.js +3 -3
  30. package/lib/compiler/stages/5_inject_ts_stage.js +1 -0
  31. package/lib/compiler/stages/6_build_elements_stage.js +1 -0
  32. package/lib/compiler/stages/7_dump_stage.js +5 -3
  33. package/lib/compiler/stages/8_diagnose_stage.js +1 -0
  34. package/lib/compiler/typescript/bridge/inject.js +1 -1
  35. package/lib/compiler/typescript/bridge/organize.js +25 -32
  36. package/lib/compiler/typescript/parser.js +10 -0
  37. package/lib/compiler/typescript/source.js +6 -4
  38. package/lib/compiler/typescript/typescript_compiler.js +8 -3
  39. package/lib/elements/blocks/block.builder.js +16 -14
  40. package/lib/elements/blocks/block.js +3 -0
  41. package/lib/elements/blocks/block.schema.js +10 -1
  42. package/lib/elements/blocks/job/internal/machine_job.builder.js +10 -3
  43. package/lib/elements/blocks/job/internal/machine_job.schema.js +2 -0
  44. package/lib/elements/blocks/job/internal/resource_job.builder.js +16 -4
  45. package/lib/elements/blocks/job/internal/resource_job.schema.js +7 -0
  46. package/lib/elements/blocks/job/job.builder.js +5 -3
  47. package/lib/elements/blocks/job/job.js +2 -0
  48. package/lib/elements/blocks/job/job.schema.js +11 -1
  49. package/lib/elements/blocks/machine/machine.builder.js +6 -3
  50. package/lib/elements/blocks/machine/machine.js +7 -0
  51. package/lib/elements/blocks/machine/machine.schema.js +38 -3
  52. package/lib/elements/blocks/machine/machine_state.builder.js +6 -4
  53. package/lib/elements/blocks/machine/machine_transition.builder.js +8 -1
  54. package/lib/elements/blocks/queue/adapters/bucket.queue_adapter.js +1 -0
  55. package/lib/elements/blocks/queue/queue.builder.js +1 -1
  56. package/lib/elements/blocks/queue/queue.js +2 -0
  57. package/lib/elements/blocks/queue/queue.schema.js +7 -2
  58. package/lib/elements/blocks/resource/resource.builder.js +4 -3
  59. package/lib/elements/blocks/resource/resource.js +2 -0
  60. package/lib/elements/blocks/resource/resource.schema.js +13 -1
  61. package/lib/elements/blocks/topic/topic.builder.js +1 -1
  62. package/lib/elements/blocks/topic/topic.js +3 -1
  63. package/lib/elements/blocks/topic/topic.schema.js +8 -2
  64. package/lib/elements/edge/controller/adapters/cli.controller_adapter.js +2 -5
  65. package/lib/elements/edge/controller/adapters/controller_adapter.js +3 -0
  66. package/lib/elements/edge/controller/controller.builder.js +32 -17
  67. package/lib/elements/edge/controller/controller.js +10 -0
  68. package/lib/elements/edge/controller/controller.schema.js +38 -5
  69. package/lib/elements/edge/externals/externals.builder.js +9 -8
  70. package/lib/elements/edge/externals/externals.schema.js +9 -1
  71. package/lib/elements/entities/bucket/adapters/browserdb.bucket_adapter.js +7 -6
  72. package/lib/elements/entities/bucket/adapters/browserdb.service.d.ts +1 -1
  73. package/lib/elements/entities/bucket/adapters/browserdb.service.js +9 -10
  74. package/lib/elements/entities/bucket/adapters/bucket_adapter.js +3 -0
  75. package/lib/elements/entities/bucket/adapters/json.bucket_adapter.js +4 -2
  76. package/lib/elements/entities/bucket/adapters/memory.bucket_adapter.js +3 -0
  77. package/lib/elements/entities/bucket/adapters/memory.nql.js +1 -0
  78. package/lib/elements/entities/bucket/bucket.builder.js +9 -3
  79. package/lib/elements/entities/bucket/bucket.js +15 -8
  80. package/lib/elements/entities/bucket/bucket.schema.js +14 -1
  81. package/lib/elements/entities/bucket/cache/bucket_cache.js +10 -0
  82. package/lib/elements/entities/bucket/graph/bucket_graph.builder.js +1 -3
  83. package/lib/elements/entities/bucket/graph/bucket_graph.js +3 -0
  84. package/lib/elements/entities/bucket/graph/bucket_graph.schema.js +13 -2
  85. package/lib/elements/entities/bucket/graph/bucket_graph_link.builder.js +11 -2
  86. package/lib/elements/entities/bucket/model/bucket_model.builder.js +2 -1
  87. package/lib/elements/entities/bucket/model/bucket_model.convert.js +2 -1
  88. package/lib/elements/entities/bucket/model/bucket_model.js +3 -0
  89. package/lib/elements/entities/bucket/model/bucket_model.schema.js +15 -2
  90. package/lib/elements/entities/bucket/model/bucket_model_field.builder.js +17 -4
  91. package/lib/elements/entities/bucket/query/nql_compiler.js +28 -21
  92. package/lib/elements/entities/bucket/query/nql_engine.js +2 -1
  93. package/lib/elements/entities/bucket/view/bucket_view.builder.js +2 -1
  94. package/lib/elements/entities/bucket/view/bucket_view.js +4 -3
  95. package/lib/elements/entities/bucket/view/bucket_view.schema.js +13 -2
  96. package/lib/elements/entities/bucket/view/bucket_view_field.builder.js +8 -1
  97. package/lib/elements/entities/constants/constants.builder.js +12 -5
  98. package/lib/elements/entities/constants/constants.js +1 -0
  99. package/lib/elements/entities/constants/constants.schema.js +19 -3
  100. package/lib/elements/entities/drive/drive_adapter.js +1 -0
  101. package/lib/elements/entities/drive/local.drive_adapter.d.ts +1 -1
  102. package/lib/elements/entities/drive/local.drive_adapter.js +1 -0
  103. package/lib/elements/entities/message/message.builder.js +5 -2
  104. package/lib/elements/entities/message/message.js +2 -0
  105. package/lib/elements/entities/message/message.schema.js +7 -1
  106. package/lib/elements/entities/message/message_parser.js +1 -0
  107. package/lib/elements/entities/message/template/message_template.builder.js +2 -3
  108. package/lib/elements/entities/message/template/message_template.schema.js +16 -2
  109. package/lib/elements/entities/message/template/message_template_field.builder.js +14 -4
  110. package/lib/engine/app/app.config.js +3 -2
  111. package/lib/engine/app/app.js +21 -14
  112. package/lib/engine/app/inc/inc.client.d.ts +1 -1
  113. package/lib/engine/app/inc/inc.client.js +2 -0
  114. package/lib/engine/app/inc/inc.server.d.ts +1 -1
  115. package/lib/engine/app/inc/inc.server.js +3 -1
  116. package/lib/engine/app/inline.app.js +4 -1
  117. package/lib/engine/app/native/browser.app.js +2 -1
  118. package/lib/engine/app/native/distributed.app.config.js +1 -0
  119. package/lib/engine/app/native/distributed.app.js +2 -2
  120. package/lib/engine/app/native/distributed_node.app.js +6 -1
  121. package/lib/engine/app/native/monolyth.app.js +2 -0
  122. package/lib/engine/app/service.js +8 -0
  123. package/lib/engine/auth/zero.authn_provider.js +1 -4
  124. package/lib/engine/cli/cli.js +6 -2
  125. package/lib/engine/cli/cli_adapter.js +9 -1
  126. package/lib/engine/cli/cli_input.js +6 -4
  127. package/lib/engine/cli/script.js +8 -6
  128. package/lib/engine/daemon.js +14 -0
  129. package/lib/engine/data/date.js +3 -0
  130. package/lib/engine/data/datetime.js +34 -26
  131. package/lib/engine/data/decimal.js +6 -1
  132. package/lib/engine/data/duration.js +28 -26
  133. package/lib/engine/data/error.js +3 -0
  134. package/lib/engine/data/file.js +21 -6
  135. package/lib/engine/data/tree.js +3 -1
  136. package/lib/engine/dependency.js +17 -0
  137. package/lib/engine/module.js +35 -12
  138. package/lib/engine/space.js +3 -2
  139. package/lib/engine/transaction/nodes/bucket.trx_node.d.ts +1 -1
  140. package/lib/engine/transaction/nodes/bucket.trx_node.js +10 -1
  141. package/lib/engine/transaction/nodes/bucket_query.trx_node.js +9 -2
  142. package/lib/engine/transaction/nodes/external.trx_node.js +3 -0
  143. package/lib/engine/transaction/nodes/job.trx_node.js +5 -0
  144. package/lib/engine/transaction/nodes/machine.trx_node.js +4 -0
  145. package/lib/engine/transaction/nodes/queue.trx_node.js +4 -0
  146. package/lib/engine/transaction/nodes/resource.trx_node.js +4 -0
  147. package/lib/engine/transaction/nodes/topic.trx_node.js +4 -0
  148. package/lib/engine/transaction/trx.js +18 -3
  149. package/lib/engine/transaction/trx_engine.js +12 -1
  150. package/lib/engine/transaction/trx_node.js +23 -11
  151. package/lib/engine/tree.js +6 -5
  152. package/lib/engine/util/crypto.js +17 -17
  153. package/lib/engine/util/log.js +9 -9
  154. package/lib/engine/util/path.js +1 -1
  155. package/lib/engine/util/random.d.ts +1 -1
  156. package/lib/engine/util/regex.d.ts +3 -0
  157. package/lib/engine/util/regex.js +82 -0
  158. package/package.json +1 -4
  159. package/tools/joaquin/mock.js +10 -0
  160. 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
- (_a = organized.buckets)[tag] ?? (_a[tag] = { views: {}, tenancy: {} });
53
- (_b = organized.buckets[tag].views)[view] ?? (_b[view] = { computed: {} });
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
- (_c = organized.buckets)[tag] ?? (_c[tag] = { views: {}, tenancy: {} });
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
- (_a = organized.messages)[tag] ?? (_a[tag] = { rules: {} });
75
- (_b = organized.messages[tag].rules)[path] ?? (_b[path] = []);
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
- (_a = organized.jobs)[tag] ?? (_a[tag] = {});
109
- (_b = organized.jobs[tag]).authResolver ?? (_b.authResolver = []);
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
- (_c = organized.jobs)[tag] ?? (_c[tag] = {});
115
- (_d = organized.jobs[tag]).extrasAndAsserts ?? (_d.extrasAndAsserts = []);
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
- (_e = organized.jobs)[tag] ?? (_e[tag] = {});
122
- (_f = organized.jobs[tag]).extrasAndAsserts ?? (_f.extrasAndAsserts = []);
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
- (_g = organized.jobs)[tag] ?? (_g[tag] = {});
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
- (_a = organized.jobs)[tag] ?? (_a[tag] = {});
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
- (_a = organized.jobs)[tag] ?? (_a[tag] = {});
148
- (_b = organized.jobs[tag]).authResolver ?? (_b.authResolver = []);
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
- (_c = organized.jobs)[tag] ?? (_c[tag] = {});
154
- (_d = organized.jobs[tag]).extrasAndAsserts ?? (_d.extrasAndAsserts = []);
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
- (_e = organized.jobs)[tag] ?? (_e[tag] = { extrasAndAsserts: [] });
161
- (_f = organized.jobs[tag]).extrasAndAsserts ?? (_f.extrasAndAsserts = []);
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
- (_g = organized.jobs)[tag] ?? (_g[tag] = { extrasAndAsserts: [] });
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
- (_h = organized.jobs)[tag] ?? (_h[tag] = { extrasAndAsserts: [] });
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
- (_a = organized.machines)[machineTag] ?? (_a[machineTag] = { states: {} });
248
- (_b = organized.machines[machineTag].states)[stateName] ?? (_b[stateName] = {});
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 ?? (extract.transitions = {});
264
- (_a = extract.transitions)[msg] ?? (_a[msg] = []);
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.ES2020,
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] ?? (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.ES2020,
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 ?? (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
- var _a;
75
- this._output ?? (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
- var _a;
86
- this._output ?? (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
- var _a;
100
- this._output ?? (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 });
@@ -4,6 +4,9 @@ exports.Block = void 0;
4
4
  const log_1 = require("../../engine/util/log");
5
5
  const error_1 = require("../../engine/data/error");
6
6
  class Block {
7
+ type;
8
+ module;
9
+ schema;
7
10
  constructor(type, module, schema) {
8
11
  this.type = type;
9
12
  this.module = module;
@@ -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
  /*
@@ -6,6 +6,8 @@ exports.$MachineJobScope = void 0;
6
6
  * @subcategory Block
7
7
  */
8
8
  class $MachineJobScope {
9
+ module;
10
+ machine;
9
11
  constructor(module, machine) {
10
12
  this.module = module;
11
13
  this.machine = machine;
@@ -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) {
@@ -14,6 +14,8 @@ const error_1 = require("../../../engine/data/error");
14
14
  * @subcategory Block
15
15
  */
16
16
  class Job extends block_1.Block {
17
+ module;
18
+ schema;
17
19
  constructor(module, schema) {
18
20
  super('job', module, schema);
19
21
  this.module = module;
@@ -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;
@@ -7,6 +7,7 @@ const queue_adapter_1 = require("./queue_adapter");
7
7
  * @subcategory Block
8
8
  */
9
9
  class BucketQueueAdapter extends queue_adapter_1.QueueAdapter {
10
+ bucket;
10
11
  constructor(bucket) {
11
12
  super();
12
13
  this.bucket = bucket;