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
@@ -10,13 +10,10 @@ const console_1 = __importDefault(require("../../engine/util/console"));
10
10
  const log_1 = require("../../engine/util/log");
11
11
  const _8_replace_nesoi_for_browser_stage_1 = require("./stages/8_replace_nesoi_for_browser_stage");
12
12
  class BrowserBundler extends monolyth_bundler_1.MonolythBundler {
13
- constructor() {
14
- super(...arguments);
15
- this.tsconfig = {
16
- module: typescript_1.default.ModuleKind.ESNext,
17
- moduleResolution: typescript_1.default.ModuleResolutionKind.Bundler,
18
- };
19
- }
13
+ tsconfig = {
14
+ module: typescript_1.default.ModuleKind.ESNext,
15
+ moduleResolution: typescript_1.default.ModuleResolutionKind.Bundler,
16
+ };
20
17
  async run() {
21
18
  await super.run();
22
19
  console_1.default.header('Browser Bundler');
@@ -45,6 +45,7 @@ const path_1 = require("../../../engine/util/path");
45
45
  * @subcategory Stages
46
46
  */
47
47
  class ReplaceNesoiForBrowserStage {
48
+ bundler;
48
49
  constructor(bundler) {
49
50
  this.bundler = bundler;
50
51
  }
@@ -53,6 +53,10 @@ const app_1 = require("../../engine/app/app");
53
53
  const distributed_app_1 = require("../../engine/app/native/distributed.app");
54
54
  const path_1 = require("../../engine/util/path");
55
55
  class DistributedBundler {
56
+ compiler;
57
+ appPath;
58
+ config;
59
+ dirs;
56
60
  constructor(compiler, appPath, config = {}) {
57
61
  this.compiler = compiler;
58
62
  this.appPath = appPath;
@@ -82,20 +86,18 @@ class DistributedBundler {
82
86
  }
83
87
  }
84
88
  mergeServicePaths(app) {
85
- var _a;
86
89
  const services = app_1.App.getServices(app);
87
90
  for (const name in services) {
88
91
  const service = services[name];
89
92
  if (!service.libPaths)
90
93
  continue;
91
- (_a = this.config).libPaths ?? (_a.libPaths = []);
94
+ this.config.libPaths ??= [];
92
95
  this.config.libPaths.push(...service.libPaths);
93
96
  }
94
97
  }
95
98
  expandLibPaths() {
96
- var _a;
97
99
  const expandedPaths = [];
98
- (_a = this.config).libPaths ?? (_a.libPaths = []);
100
+ this.config.libPaths ??= [];
99
101
  for (const path of this.config.libPaths) {
100
102
  const expanded = path_1.Path.expandWildcard(path);
101
103
  expandedPaths.push(...expanded);
@@ -46,6 +46,8 @@ const log_1 = require("../../../engine/util/log");
46
46
  * @subcategory Stages
47
47
  */
48
48
  class MkdirStage {
49
+ bundler;
50
+ app;
49
51
  constructor(bundler, app) {
50
52
  this.bundler = bundler;
51
53
  this.app = app;
@@ -48,6 +48,8 @@ const app_1 = require("../../../engine/app/app");
48
48
  * @subcategory Stages
49
49
  */
50
50
  class BuildTypescriptStage {
51
+ bundler;
52
+ app;
51
53
  constructor(bundler, app) {
52
54
  this.bundler = bundler;
53
55
  this.app = app;
@@ -149,7 +151,7 @@ class BuildTypescriptStage {
149
151
  ...binFiles,
150
152
  ...moduleFiles
151
153
  ], {
152
- target: ts.ScriptTarget.ES2020,
154
+ target: ts.ScriptTarget.ES2022,
153
155
  module: ts.ModuleKind.CommonJS,
154
156
  moduleResolution: ts.ModuleResolutionKind.Node10,
155
157
  noEmitOnError: true,
@@ -48,6 +48,8 @@ const app_1 = require("../../../engine/app/app");
48
48
  * @subcategory Stages
49
49
  */
50
50
  class CopyTypesStage {
51
+ bundler;
52
+ app;
51
53
  constructor(bundler, app) {
52
54
  this.bundler = bundler;
53
55
  this.app = app;
@@ -46,6 +46,8 @@ const app_1 = require("../../../engine/app/app");
46
46
  * @subcategory Stages
47
47
  */
48
48
  class DumpModulesStage {
49
+ bundler;
50
+ app;
49
51
  constructor(bundler, app) {
50
52
  this.bundler = bundler;
51
53
  this.app = app;
@@ -53,11 +53,15 @@ const app_1 = require("../../engine/app/app");
53
53
  const monolyth_app_1 = require("../../engine/app/native/monolyth.app");
54
54
  const path_1 = require("../../engine/util/path");
55
55
  class MonolythBundler {
56
+ compiler;
57
+ appPath;
58
+ config;
59
+ tsconfig = {};
60
+ dirs;
56
61
  constructor(compiler, appPath, config = {}) {
57
62
  this.compiler = compiler;
58
63
  this.appPath = appPath;
59
64
  this.config = config;
60
- this.tsconfig = {};
61
65
  this.dirs = {};
62
66
  }
63
67
  async run() {
@@ -83,20 +87,18 @@ class MonolythBundler {
83
87
  }
84
88
  }
85
89
  mergeServicePaths(app) {
86
- var _a;
87
90
  const services = app_1.App.getServices(app);
88
91
  for (const name in services) {
89
92
  const service = services[name];
90
93
  if (!service.libPaths)
91
94
  continue;
92
- (_a = this.config).libPaths ?? (_a.libPaths = []);
95
+ this.config.libPaths ??= [];
93
96
  this.config.libPaths.push(...service.libPaths);
94
97
  }
95
98
  }
96
99
  expandLibPaths() {
97
- var _a;
98
100
  const expandedPaths = [];
99
- (_a = this.config).libPaths ?? (_a.libPaths = []);
101
+ this.config.libPaths ??= [];
100
102
  for (const path of this.config.libPaths) {
101
103
  const expanded = path_1.Path.expandWildcard(path);
102
104
  expandedPaths.push(...expanded);
@@ -46,6 +46,8 @@ const log_1 = require("../../../engine/util/log");
46
46
  * @subcategory Stages
47
47
  */
48
48
  class MkdirStage {
49
+ bundler;
50
+ app;
49
51
  constructor(bundler, app) {
50
52
  this.bundler = bundler;
51
53
  this.app = app;
@@ -48,6 +48,8 @@ const app_1 = require("../../../engine/app/app");
48
48
  * @subcategory Stages
49
49
  */
50
50
  class BuildTypescriptStage {
51
+ bundler;
52
+ app;
51
53
  constructor(bundler, app) {
52
54
  this.bundler = bundler;
53
55
  this.app = app;
@@ -146,7 +148,7 @@ class BuildTypescriptStage {
146
148
  ...binFiles,
147
149
  ...moduleFiles
148
150
  ], {
149
- target: ts.ScriptTarget.ES2020,
151
+ target: ts.ScriptTarget.ES2022,
150
152
  module: ts.ModuleKind.CommonJS,
151
153
  moduleResolution: ts.ModuleResolutionKind.Node10,
152
154
  noEmitOnError: true,
@@ -48,6 +48,8 @@ const app_1 = require("../../../engine/app/app");
48
48
  * @subcategory Stages
49
49
  */
50
50
  class CopyTypesStage {
51
+ bundler;
52
+ app;
51
53
  constructor(bundler, app) {
52
54
  this.bundler = bundler;
53
55
  this.app = app;
@@ -50,6 +50,8 @@ const typescript_1 = __importDefault(require("typescript"));
50
50
  * @subcategory Stages
51
51
  */
52
52
  class DumpModulesStage {
53
+ bundler;
54
+ app;
53
55
  constructor(bundler, app) {
54
56
  this.bundler = bundler;
55
57
  this.app = app;
@@ -47,6 +47,8 @@ const space_1 = require("../../../engine/space");
47
47
  * @subcategory Stages
48
48
  */
49
49
  class CopyStaticStage {
50
+ bundler;
51
+ app;
50
52
  constructor(bundler, app) {
51
53
  this.bundler = bundler;
52
54
  this.app = app;
@@ -45,6 +45,8 @@ const log_1 = require("../../../engine/util/log");
45
45
  * @subcategory Stages
46
46
  */
47
47
  class DumpCLIStage {
48
+ bundler;
49
+ app;
48
50
  constructor(bundler, app) {
49
51
  this.bundler = bundler;
50
52
  this.app = app;
@@ -48,6 +48,8 @@ const app_1 = require("../../../engine/app/app");
48
48
  * @subcategory Stages
49
49
  */
50
50
  class DumpPackageJsonStage {
51
+ bundler;
52
+ app;
51
53
  constructor(bundler, app) {
52
54
  this.bundler = bundler;
53
55
  this.app = app;
@@ -19,13 +19,18 @@ const console_1 = __importDefault(require("../engine/util/console"));
19
19
  const log_1 = require("../engine/util/log");
20
20
  const fs_1 = __importDefault(require("fs"));
21
21
  class Compiler {
22
+ space;
23
+ config;
24
+ modules = {};
25
+ tree;
26
+ tsCompiler;
27
+ logFn;
22
28
  constructor(space, config) {
23
29
  this.space = space;
24
30
  this.config = config;
25
- this.modules = {};
26
- this.tree = new tree_1.ModuleTree({}, this.config);
27
31
  console_1.default.header('Compiler');
28
32
  log_1.Log.info('compiler', 'ts', 'Loading TypeScript...');
33
+ this.tree = new tree_1.ModuleTree({}, this.config);
29
34
  this.tsCompiler = new typescript_compiler_1.TypeScriptCompiler(space, config?.nesoiPath);
30
35
  }
31
36
  async run() {
@@ -5,6 +5,7 @@ const bucket_model_schema_1 = require("../../elements/entities/bucket/model/buck
5
5
  const element_1 = require("./element");
6
6
  const dump_helpers_1 = require("../helpers/dump_helpers");
7
7
  const name_helpers_1 = require("../../engine/util/name_helpers");
8
+ const regex_1 = require("../../engine/util/regex");
8
9
  class BucketElement extends element_1.Element {
9
10
  // Prepare
10
11
  prepare() {
@@ -97,11 +98,8 @@ class BucketElement extends element_1.Element {
97
98
  type = 'string';
98
99
  }
99
100
  else if (field.type === 'literal') {
100
- const regex = field.meta.literal.template;
101
- const rtype = regex
102
- .replace(/[.][*+]/g, '${string}')
103
- .replace(/\\d[*+]?/g, '${number}')
104
- .replace(/\\(.)/g, '$1');
101
+ const regex = field.meta.literal.template.toString();
102
+ const rtype = regex_1.NesoiRegex.toTemplateString(regex);
105
103
  type = `\`${rtype}\``;
106
104
  }
107
105
  else if (field.type === 'obj') {
@@ -54,10 +54,10 @@ class ConstantsElement extends element_1.Element {
54
54
  let node = enumTree;
55
55
  split.forEach((part, i) => {
56
56
  key += key.length ? `.${part}` : part;
57
- node[part] ?? (node[part] = {
57
+ node[part] ??= {
58
58
  _enum: `${this.typeName}['enums']['${key}']`,
59
59
  _subs: []
60
- });
60
+ };
61
61
  if (i < split.length - 1) {
62
62
  if (!node[part]._subs.includes(split[i + 1])) {
63
63
  node[part]._subs.push(split[i + 1]);
@@ -13,9 +13,9 @@ class ControllerElement extends element_1.Element {
13
13
  const type = dump_helpers_1.DumpHelpers.dumpValueToType(this.schema);
14
14
  const input = this.schema.input.map(tag => name_helpers_1.NameHelpers.tagType(tag, this.module)).join(' | ');
15
15
  return {
16
+ ...type,
16
17
  '#authn': element_1.Element.makeAuthnType(this.schema.auth),
17
18
  '#input': input,
18
- ...type
19
19
  };
20
20
  }
21
21
  }
@@ -6,6 +6,21 @@ const name_helpers_1 = require("../../engine/util/name_helpers");
6
6
  const dump_helpers_1 = require("../helpers/dump_helpers");
7
7
  /* @nesoi:browser ignore-end */
8
8
  class Element {
9
+ compiler;
10
+ module;
11
+ $t;
12
+ files;
13
+ schema;
14
+ dependencies;
15
+ inlineRoot;
16
+ bridge;
17
+ static Any = Symbol('undefined as any');
18
+ static Never = Symbol('undefined as never');
19
+ type;
20
+ tag;
21
+ lowName;
22
+ highName;
23
+ typeName;
9
24
  constructor(compiler, module, $t, files, schema, dependencies, inlineRoot, bridge) {
10
25
  this.compiler = compiler;
11
26
  this.module = module;
@@ -108,5 +123,3 @@ class Element {
108
123
  }
109
124
  }
110
125
  exports.Element = Element;
111
- Element.Any = Symbol('undefined as any');
112
- Element.Never = Symbol('undefined as never');
@@ -4,6 +4,18 @@ exports.ExternalsElement = void 0;
4
4
  const element_1 = require("./element");
5
5
  const dump_helpers_1 = require("../helpers/dump_helpers");
6
6
  class ExternalsElement extends element_1.Element {
7
+ compiler;
8
+ module;
9
+ $t;
10
+ files;
11
+ schema;
12
+ dependencies;
13
+ inlineRoot;
14
+ bridge;
15
+ elements = {
16
+ bucket: {},
17
+ job: {}
18
+ };
7
19
  constructor(compiler, module, $t, files, schema, dependencies, inlineRoot, bridge) {
8
20
  super(compiler, module, $t, files, schema, dependencies, inlineRoot, bridge);
9
21
  this.compiler = compiler;
@@ -14,10 +26,6 @@ class ExternalsElement extends element_1.Element {
14
26
  this.dependencies = dependencies;
15
27
  this.inlineRoot = inlineRoot;
16
28
  this.bridge = bridge;
17
- this.elements = {
18
- bucket: {},
19
- job: {}
20
- };
21
29
  }
22
30
  buildType() {
23
31
  return {};
@@ -4,6 +4,7 @@ exports.MessageElement = void 0;
4
4
  const element_1 = require("./element");
5
5
  const dump_helpers_1 = require("../helpers/dump_helpers");
6
6
  const name_helpers_1 = require("../../engine/util/name_helpers");
7
+ const regex_1 = require("../../engine/util/regex");
7
8
  class MessageElement extends element_1.Element {
8
9
  prepare() {
9
10
  this.schema['#raw'] = element_1.Element.Any;
@@ -152,6 +153,12 @@ class MessageElement extends element_1.Element {
152
153
  input[key] = '(' + Object.values(child.input).map(t => dump_helpers_1.DumpHelpers.dumpType(t)).join(' | ') + ')';
153
154
  output[key] = '(' + Object.values(child.output).map(t => dump_helpers_1.DumpHelpers.dumpType(t)).join(' | ') + ')';
154
155
  }
156
+ else if (field.type === 'literal') {
157
+ const regex = field.meta.literal.template;
158
+ const rtype = regex_1.NesoiRegex.toTemplateString(regex);
159
+ input[key] = `\`${rtype}\``;
160
+ output[key] = `\`${rtype}\``;
161
+ }
155
162
  else if (field.type === 'msg') {
156
163
  input[key] = 'any';
157
164
  output[key] = 'any';
@@ -14,10 +14,10 @@ class QueueElement extends element_1.Element {
14
14
  const type = dump_helpers_1.DumpHelpers.dumpValueToType(this.schema);
15
15
  delete type['output'];
16
16
  return {
17
+ ...type,
17
18
  '#authn': element_1.Element.makeAuthnType(this.schema.auth),
18
19
  '#input': input,
19
20
  '#output': output,
20
- ...type,
21
21
  };
22
22
  }
23
23
  }
@@ -14,10 +14,10 @@ class TopicElement extends element_1.Element {
14
14
  const type = dump_helpers_1.DumpHelpers.dumpValueToType(this.schema);
15
15
  delete type['output'];
16
16
  return {
17
+ ...type,
17
18
  '#authn': element_1.Element.makeAuthnType(this.schema.auth),
18
19
  '#input': input,
19
20
  '#output': input,
20
- ...type,
21
21
  };
22
22
  }
23
23
  }
@@ -51,9 +51,14 @@ const queue_element_1 = require("./elements/queue.element");
51
51
  const cached_element_1 = require("./elements/cached.element");
52
52
  const topic_element_1 = require("./elements/topic.element");
53
53
  class CompilerModule {
54
+ compiler;
55
+ lowName;
56
+ highName;
57
+ typeName;
58
+ module;
59
+ elements = [];
54
60
  constructor(compiler, name, path, subdir = []) {
55
61
  this.compiler = compiler;
56
- this.elements = [];
57
62
  this.lowName = name;
58
63
  this.highName = name_helpers_1.NameHelpers.nameLowToHigh(this.lowName);
59
64
  this.typeName = this.highName + 'Module';
@@ -12,6 +12,7 @@ const log_1 = require("../../engine/util/log");
12
12
  * @subcategory Stages
13
13
  */
14
14
  class ScanStage {
15
+ compiler;
15
16
  constructor(compiler) {
16
17
  this.compiler = compiler;
17
18
  }
@@ -14,6 +14,7 @@ const progressive_1 = require("../progressive");
14
14
  * @subcategory Stages
15
15
  */
16
16
  class TreeshakeStage {
17
+ compiler;
17
18
  constructor(compiler) {
18
19
  this.compiler = compiler;
19
20
  }
@@ -12,6 +12,7 @@ const organize_1 = require("../typescript/bridge/organize");
12
12
  * @subcategory Stages
13
13
  */
14
14
  class ExtractTSStage {
15
+ compiler;
15
16
  constructor(compiler) {
16
17
  this.compiler = compiler;
17
18
  }
@@ -11,6 +11,7 @@ const builder_1 = require("../../engine/builder");
11
11
  * @subcategory Stages
12
12
  */
13
13
  class BuildSchemasStage {
14
+ compiler;
14
15
  constructor(compiler) {
15
16
  this.compiler = compiler;
16
17
  }
@@ -18,7 +19,6 @@ class BuildSchemasStage {
18
19
  log_1.Log.info('compiler', 'stage.build_schemas', 'Building schemas...');
19
20
  const t0 = new Date().getTime();
20
21
  await this.compiler.tree.traverse('Building schemas ', async (node) => {
21
- var _a;
22
22
  const module = this.compiler.modules[node.tag.module].module;
23
23
  if (node.progressive) {
24
24
  await module.inject({
@@ -28,8 +28,8 @@ class BuildSchemasStage {
28
28
  }
29
29
  // Accummulate imports from depencies
30
30
  // (Given that dependencies are built in order)
31
- node.bridge ?? (node.bridge = { imports: [] });
32
- (_a = node.bridge).imports ?? (_a.imports = []);
31
+ node.bridge ??= { imports: [] };
32
+ node.bridge.imports ??= [];
33
33
  for (const dep of node.dependencies) {
34
34
  // If a dependency is inline and the node is it's root,
35
35
  // they already share imports.
@@ -11,6 +11,7 @@ const inject_1 = require("../typescript/bridge/inject");
11
11
  * @subcategory Stages
12
12
  */
13
13
  class InjectTSStage {
14
+ compiler;
14
15
  constructor(compiler) {
15
16
  this.compiler = compiler;
16
17
  }
@@ -11,6 +11,7 @@ const log_1 = require("../../engine/util/log");
11
11
  * @subcategory Stages
12
12
  */
13
13
  class BuildElementsStage {
14
+ compiler;
14
15
  constructor(compiler) {
15
16
  this.compiler = compiler;
16
17
  }
@@ -55,6 +55,9 @@ const progressive_1 = require("../progressive");
55
55
  * @subcategory Stages
56
56
  */
57
57
  class DumpStage {
58
+ compiler;
59
+ cache;
60
+ hash;
58
61
  constructor(compiler) {
59
62
  this.compiler = compiler;
60
63
  }
@@ -156,7 +159,6 @@ class DumpStage {
156
159
  });
157
160
  }
158
161
  dumpModuleType(module, spaceType, dumpDir) {
159
- var _a, _b;
160
162
  const nesoiPath = this.compiler.config?.nesoiPath ?? 'nesoi';
161
163
  const moduleFile = [];
162
164
  moduleFile.push(`import { $Module, $Constants, $Bucket, $Message, $Job, $Resource, $Machine, $Controller, $Queue, $Topic } from '${nesoiPath}/lib/elements';`);
@@ -186,11 +188,11 @@ class DumpStage {
186
188
  // Dump external imports
187
189
  moduleFile.push(...Array.from(moduleDependencies)
188
190
  .map(module => `import ${name_helpers_1.NameHelpers.nameLowToHigh(module)}Module from './${module}.module'`));
189
- (_a = this.cache.modules)[_b = module.lowName] ?? (_a[_b] = {
191
+ this.cache.modules[module.lowName] ??= {
190
192
  dependencies: {
191
193
  modules: []
192
194
  }
193
- });
195
+ };
194
196
  this.cache.modules[module.lowName].dependencies.modules = Array.from(moduleDependencies);
195
197
  // Build module type (with all elements)
196
198
  const type = this.makeModuleType(module);
@@ -16,6 +16,7 @@ const log_1 = require("../../engine/util/log");
16
16
  * @subcategory Stages
17
17
  */
18
18
  class DiagnoseStage {
19
+ compiler;
19
20
  constructor(compiler) {
20
21
  this.compiler = compiler;
21
22
  }
@@ -158,7 +158,7 @@ class TSBridgeInject {
158
158
  };
159
159
  }
160
160
  if (extract.outputRaw) {
161
- schema.output ?? (schema.output = {});
161
+ schema.output ??= {};
162
162
  schema.output.raw = extract.outputRaw;
163
163
  schema['#output'] = undefined; // Will be recalculated by element based on output
164
164
  }