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
@@ -14,6 +14,23 @@ const crypto = (window.crypto || window.msCrypto);
14
14
  */
15
15
  const random_1 = require("./random");
16
16
  class NesoiCrypto {
17
+ static C = {
18
+ /**
19
+ * NIST recommends 96 bits or 12 bytes IV for GCM
20
+ * to promote interoperability, efficiency, and
21
+ * simplicity of design
22
+ */
23
+ iv_bytes: 12,
24
+ /**
25
+ * Note: 256 (in algorithm name) is key size.
26
+ * Block size for AES is always 128
27
+ */
28
+ key_bytes: 32,
29
+ /**
30
+ * To prevent rainbow table attacks
31
+ * */
32
+ salt_bytes: 16
33
+ };
17
34
  /**
18
35
  *
19
36
  * @param {string} password - The password to be used for generating key
@@ -69,20 +86,3 @@ class NesoiCrypto {
69
86
  }
70
87
  }
71
88
  exports.NesoiCrypto = NesoiCrypto;
72
- NesoiCrypto.C = {
73
- /**
74
- * NIST recommends 96 bits or 12 bytes IV for GCM
75
- * to promote interoperability, efficiency, and
76
- * simplicity of design
77
- */
78
- iv_bytes: 12,
79
- /**
80
- * Note: 256 (in algorithm name) is key size.
81
- * Block size for AES is always 128
82
- */
83
- key_bytes: 32,
84
- /**
85
- * To prevent rainbow table attacks
86
- * */
87
- salt_bytes: 16
88
- };
@@ -36,6 +36,15 @@ function anyScopeTag(scopeWithId) {
36
36
  return (module ? module : '') + scopeTag(type, name || '');
37
37
  }
38
38
  class Log {
39
+ static level = 'warn';
40
+ static l = {
41
+ off: (0, string_1.colored)('', 'black'),
42
+ error: (0, string_1.colored)('ERROR', 'lightred'),
43
+ warn: (0, string_1.colored)('WARN', 'yellow'),
44
+ info: (0, string_1.colored)('INFO', 'lightblue'),
45
+ debug: (0, string_1.colored)('DEBUG', 'lightgreen'),
46
+ trace: (0, string_1.colored)('TRACE', 'lightpurple'),
47
+ };
39
48
  static error(scope, scope_id, message, obj) {
40
49
  if (LogLevel.indexOf(Log.level) < 1) {
41
50
  return;
@@ -86,12 +95,3 @@ class Log {
86
95
  }
87
96
  }
88
97
  exports.Log = Log;
89
- Log.level = 'warn';
90
- Log.l = {
91
- off: (0, string_1.colored)('', 'black'),
92
- error: (0, string_1.colored)('ERROR', 'lightred'),
93
- warn: (0, string_1.colored)('WARN', 'yellow'),
94
- info: (0, string_1.colored)('INFO', 'lightblue'),
95
- debug: (0, string_1.colored)('DEBUG', 'lightgreen'),
96
- trace: (0, string_1.colored)('TRACE', 'lightpurple'),
97
- };
@@ -90,7 +90,7 @@ class Path {
90
90
  }
91
91
  static allFiles(dir, filelist = []) {
92
92
  const files = fs.readdirSync(dir);
93
- filelist ?? (filelist = []);
93
+ filelist ??= [];
94
94
  files.forEach(file => {
95
95
  const p = path.join(dir, file);
96
96
  if (fs.statSync(p).isDirectory()) {
@@ -1,4 +1,4 @@
1
1
  export declare class Random {
2
2
  static uuid(): `${string}-${string}-${string}-${string}-${string}`;
3
- static bytes(n: number): Buffer;
3
+ static bytes(n: number): Buffer<ArrayBufferLike>;
4
4
  }
@@ -0,0 +1,3 @@
1
+ export declare class NesoiRegex {
2
+ static toTemplateString(regex: string): string;
3
+ }
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NesoiRegex = void 0;
4
+ class NesoiRegex {
5
+ static toTemplateString(regex) {
6
+ const str = regex;
7
+ // eslint-disable-next-line no-useless-escape
8
+ if (str.match(/[\[\]\{\}]/)) {
9
+ // Not supported syntax
10
+ return 'string';
11
+ }
12
+ let template = '';
13
+ let state = [];
14
+ const special_char = false;
15
+ const v = (t) => {
16
+ const v = [];
17
+ for (let tt of t.split('|')) {
18
+ if (tt === '.')
19
+ tt = 'string';
20
+ else
21
+ tt = `'${tt}'`;
22
+ v.push(tt);
23
+ }
24
+ return v.join('|');
25
+ };
26
+ const g = (t) => {
27
+ const par = t.match(/(.*?)\((.+)\)/);
28
+ if (par) {
29
+ return [par[1], v(par[2])];
30
+ }
31
+ else {
32
+ return [t.slice(0, -1), v(t[t.length - 1])];
33
+ }
34
+ };
35
+ const m = (state, opt = false) => {
36
+ const t = state.join('');
37
+ const [t0, t1] = g(t);
38
+ return t0 + `\${${t1}${opt ? '|\'\'' : ''}}`;
39
+ };
40
+ for (const c of str) {
41
+ if (c === '^')
42
+ continue;
43
+ if (c === '$')
44
+ continue;
45
+ if (c === '\\')
46
+ continue;
47
+ if (c === '?') {
48
+ template += m(state, true);
49
+ state = [];
50
+ }
51
+ else if (c === '+') {
52
+ template += m(state);
53
+ state = [];
54
+ }
55
+ else if (c === '*') {
56
+ template += m(state);
57
+ state = [];
58
+ }
59
+ else {
60
+ if (state[state.length - 1] === '.') {
61
+ template += state.slice(0, -1);
62
+ state = ['.'];
63
+ }
64
+ else {
65
+ state.push(c);
66
+ }
67
+ }
68
+ }
69
+ if (state.length) {
70
+ const is_g = [')'].includes(state[state.length - 1]);
71
+ if (is_g) {
72
+ const t = state.join('');
73
+ const [t0, t1] = g(t);
74
+ template += t0 + `\${${t1}}`;
75
+ }
76
+ else
77
+ template += state.join('');
78
+ }
79
+ return template;
80
+ }
81
+ }
82
+ exports.NesoiRegex = NesoiRegex;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nesoi",
3
- "version": "3.3.11",
3
+ "version": "3.3.13",
4
4
  "description": "Declarative framework for data-driven applications",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,8 +17,5 @@
17
17
  "homepage": "https://github.com/nesoi-org/nesoi#readme",
18
18
  "peerDependencies": {
19
19
  "@types/node": ">=20"
20
- },
21
- "dependencies": {
22
- "@types/web": "^0.0.262"
23
20
  }
24
21
  }
@@ -6,6 +6,11 @@ const date_1 = require("../../lib/engine/data/date");
6
6
  const datetime_1 = require("../../lib/engine/data/datetime");
7
7
  const decimal_1 = require("../../lib/engine/data/decimal");
8
8
  class BucketMockObj {
9
+ module;
10
+ bucketName;
11
+ overrides;
12
+ bucket;
13
+ obj;
9
14
  constructor(module, bucketName, overrides) {
10
15
  this.module = module;
11
16
  this.bucketName = bucketName;
@@ -116,6 +121,8 @@ class BucketMockObj {
116
121
  }
117
122
  exports.BucketMockObj = BucketMockObj;
118
123
  class BucketMock {
124
+ module;
125
+ bucket;
119
126
  constructor(module, bucket) {
120
127
  this.module = module;
121
128
  this.bucket = bucket;
@@ -125,6 +132,9 @@ class BucketMock {
125
132
  }
126
133
  }
127
134
  class MessageMock {
135
+ module;
136
+ messageName;
137
+ message;
128
138
  constructor(module, messageName) {
129
139
  this.module = module;
130
140
  this.messageName = messageName;