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
@@ -16,12 +16,18 @@ const error_1 = require("../../../engine/data/error");
16
16
  * @subcategory Entity
17
17
  * */
18
18
  class BucketBuilder {
19
+ module;
20
+ name;
21
+ $b = 'bucket';
22
+ _extend;
23
+ _alias;
24
+ _model;
25
+ _graph = {};
26
+ _views = {};
27
+ _tenancy;
19
28
  constructor(module, name) {
20
29
  this.module = module;
21
30
  this.name = name;
22
- this.$b = 'bucket';
23
- this._graph = {};
24
- this._views = {};
25
31
  }
26
32
  as(alias) {
27
33
  this._alias = alias;
@@ -28,6 +28,15 @@ exports.$id = Symbol('FUTURE ID OF CREATE');
28
28
  * @subcategory Entity
29
29
  * */
30
30
  class Bucket {
31
+ module;
32
+ schema;
33
+ config;
34
+ services;
35
+ adapter;
36
+ cache;
37
+ graph;
38
+ views;
39
+ drive;
31
40
  constructor(module, schema, config, services = {}) {
32
41
  this.module = module;
33
42
  this.schema = schema;
@@ -314,7 +323,6 @@ class Bucket {
314
323
  * Create an entity
315
324
  */
316
325
  async create(trx, obj) {
317
- var _a, _b;
318
326
  log_1.Log.debug('bucket', this.schema.name, `Create id=${obj['id'] || 'new'}`, obj);
319
327
  // Separate composition
320
328
  let composition = obj['#composition'];
@@ -351,8 +359,8 @@ class Bucket {
351
359
  if (!Array.isArray(linkObj)) {
352
360
  throw error_1.NesoiError.Bucket.CompositionValueShouldBeArray({ method: 'create', bucket: this.schema.name, link: link.name });
353
361
  }
354
- _obj['#composition'] ?? (_obj['#composition'] = {});
355
- (_a = _obj['#composition'])[_b = link.name] ?? (_a[_b] = []);
362
+ _obj['#composition'] ??= {};
363
+ _obj['#composition'][link.name] ??= [];
356
364
  for (const linkObjItem of linkObj) {
357
365
  const child = await trx.bucket(link.bucket.short).create(linkObjItem);
358
366
  _obj['#composition'][link.name].push(child);
@@ -360,7 +368,7 @@ class Bucket {
360
368
  }
361
369
  else {
362
370
  const child = await trx.bucket(link.bucket.short).create(linkObj);
363
- _obj['#composition'] ?? (_obj['#composition'] = {});
371
+ _obj['#composition'] ??= {};
364
372
  _obj['#composition'][link.name] = child;
365
373
  }
366
374
  }
@@ -487,7 +495,6 @@ class Bucket {
487
495
  * **WARNING** Tenancy not checked
488
496
  */
489
497
  async put(trx, obj) {
490
- var _a, _b;
491
498
  log_1.Log.debug('bucket', this.schema.name, `Put id=${obj['id']}`, obj);
492
499
  // Separate composition
493
500
  let composition = obj['#composition'];
@@ -522,8 +529,8 @@ class Bucket {
522
529
  if (!Array.isArray(linkObj)) {
523
530
  throw error_1.NesoiError.Bucket.CompositionValueShouldBeArray({ method: 'replace', bucket: this.schema.name, link: link.name });
524
531
  }
525
- _obj['#composition'] ?? (_obj['#composition'] = {});
526
- (_a = _obj['#composition'])[_b = link.name] ?? (_a[_b] = []);
532
+ _obj['#composition'] ??= {};
533
+ _obj['#composition'][link.name] ??= [];
527
534
  for (const linkObjItem of linkObj) {
528
535
  const child = await trx.bucket(link.bucket.short).put(linkObjItem);
529
536
  _obj['#composition'][link.name].push(child);
@@ -531,7 +538,7 @@ class Bucket {
531
538
  }
532
539
  else {
533
540
  const child = await trx.bucket(link.bucket.short).put(linkObj);
534
- _obj['#composition'] ?? (_obj['#composition'] = {});
541
+ _obj['#composition'] ??= {};
535
542
  _obj['#composition'][link.name] = child;
536
543
  }
537
544
  }
@@ -6,6 +6,20 @@ exports.$Bucket = void 0;
6
6
  * @subcategory Entity
7
7
  * */
8
8
  class $Bucket {
9
+ module;
10
+ name;
11
+ alias;
12
+ model;
13
+ graph;
14
+ views;
15
+ tenancy;
16
+ extendsFrom;
17
+ $t = 'bucket';
18
+ '#data';
19
+ '#composition';
20
+ '#modelpath';
21
+ '#querypath';
22
+ '#defaults';
9
23
  constructor(module, name, alias, model, graph, views, tenancy, extendsFrom) {
10
24
  this.module = module;
11
25
  this.name = name;
@@ -15,7 +29,6 @@ class $Bucket {
15
29
  this.views = views;
16
30
  this.tenancy = tenancy;
17
31
  this.extendsFrom = extendsFrom;
18
- this.$t = 'bucket';
19
32
  }
20
33
  }
21
34
  exports.$Bucket = $Bucket;
@@ -12,6 +12,9 @@ const bucket_graph_schema_1 = require("../graph/bucket_graph.schema");
12
12
  * @subcategory Entity
13
13
  * */
14
14
  class BucketCacheEntry {
15
+ __update_epoch;
16
+ __sync_epoch;
17
+ id;
15
18
  constructor(obj, __update_epoch, __sync_epoch) {
16
19
  this.__update_epoch = __update_epoch;
17
20
  this.__sync_epoch = __sync_epoch;
@@ -24,6 +27,13 @@ exports.BucketCacheEntry = BucketCacheEntry;
24
27
  * @subcategory Entity
25
28
  * */
26
29
  class BucketCache {
30
+ bucket;
31
+ config;
32
+ lastUpdateEpoch;
33
+ lastSyncEpoch;
34
+ lastHash;
35
+ innerAdapter;
36
+ outerAdapter;
27
37
  constructor(bucket, config) {
28
38
  this.bucket = bucket;
29
39
  this.config = config;
@@ -11,9 +11,7 @@ const bucket_graph_link_builder_1 = require("./bucket_graph_link.builder");
11
11
  * @subcategory Entity
12
12
  * */
13
13
  class BucketGraphBuilder {
14
- constructor() {
15
- this._links = {};
16
- }
14
+ _links = {};
17
15
  links(builders) {
18
16
  this._links = builders;
19
17
  return this;
@@ -13,6 +13,9 @@ const dependency_1 = require("../../../../engine/dependency");
13
13
  * @subcategory Entity
14
14
  * */
15
15
  class BucketGraph {
16
+ bucket;
17
+ bucketName;
18
+ schema;
16
19
  constructor(bucket) {
17
20
  this.bucket = bucket;
18
21
  this.bucketName = bucket.schema.name;
@@ -6,6 +6,17 @@ exports.$BucketGraph = exports.$BucketGraphLink = void 0;
6
6
  * @subcategory Entity
7
7
  * */
8
8
  class $BucketGraphLink {
9
+ name;
10
+ alias;
11
+ bucket;
12
+ rel;
13
+ many;
14
+ optional;
15
+ keyOwner;
16
+ query;
17
+ $t = 'bucket.graph.link';
18
+ '#bucket';
19
+ '#many';
9
20
  constructor(name, alias, bucket, rel, many, optional, keyOwner, query) {
10
21
  this.name = name;
11
22
  this.alias = alias;
@@ -15,7 +26,6 @@ class $BucketGraphLink {
15
26
  this.optional = optional;
16
27
  this.keyOwner = keyOwner;
17
28
  this.query = query;
18
- this.$t = 'bucket.graph.link';
19
29
  }
20
30
  }
21
31
  exports.$BucketGraphLink = $BucketGraphLink;
@@ -24,9 +34,10 @@ exports.$BucketGraphLink = $BucketGraphLink;
24
34
  * @subcategory Entity
25
35
  * */
26
36
  class $BucketGraph {
37
+ links;
38
+ $t = 'bucket.graph';
27
39
  constructor(links = {}) {
28
40
  this.links = links;
29
- this.$t = 'bucket.graph';
30
41
  }
31
42
  }
32
43
  exports.$BucketGraph = $BucketGraph;
@@ -11,9 +11,11 @@ const dependency_1 = require("../../../../engine/dependency");
11
11
  * @subcategory Entity
12
12
  * */
13
13
  class BucketGraphLinkFactory {
14
+ module;
15
+ alias;
16
+ type = 'aggregation';
14
17
  constructor(module) {
15
18
  this.module = module;
16
- this.type = 'aggregation';
17
19
  }
18
20
  as(alias) {
19
21
  this.alias = alias;
@@ -42,13 +44,20 @@ exports.BucketGraphLinkFactory = BucketGraphLinkFactory;
42
44
  * @subcategory Entity
43
45
  * */
44
46
  class BucketGraphLinkBuilder {
47
+ bucket;
48
+ rel;
49
+ query;
50
+ many;
51
+ alias;
52
+ '#other';
53
+ '#many';
54
+ _optional = false;
45
55
  constructor(bucket, rel, query, many, alias) {
46
56
  this.bucket = bucket;
47
57
  this.rel = rel;
48
58
  this.query = query;
49
59
  this.many = many;
50
60
  this.alias = alias;
51
- this._optional = false;
52
61
  }
53
62
  as(alias) {
54
63
  this.alias = alias;
@@ -11,10 +11,11 @@ const bucket_model_field_builder_1 = require("./bucket_model_field.builder");
11
11
  * @subcategory Entity
12
12
  */
13
13
  class BucketModelBuilder {
14
+ module;
14
15
  constructor(module) {
15
16
  this.module = module;
16
- this.builders = {};
17
17
  }
18
+ builders = {};
18
19
  fields(builders) {
19
20
  this.builders = builders;
20
21
  return this;
@@ -37,7 +37,8 @@ function convertToView(model, name, fields = model.fields, path, depth = 0) {
37
37
  function convertToMessage(module, model, name, alias, include = [], exclude = [], optional = []) {
38
38
  const convertField = (field) => {
39
39
  return new message_template_schema_1.$MessageTemplateField(field.type, field.name, field.alias, field.path, field.path, optional.includes(field.path) ? false : field.required, undefined, false, [], {
40
- enum: field.meta?.enum
40
+ enum: field.meta?.enum,
41
+ literal: field.meta?.literal
41
42
  }, field.children ? convertFields(field.children) : undefined);
42
43
  };
43
44
  const convertFields = (fields) => {
@@ -9,6 +9,9 @@ const datetime_1 = require("../../../../engine/data/datetime");
9
9
  * @subcategory Entity
10
10
  * */
11
11
  class BucketModel {
12
+ config;
13
+ alias;
14
+ schema;
12
15
  constructor(bucket, config) {
13
16
  this.config = config;
14
17
  this.alias = bucket.alias;
@@ -6,6 +6,16 @@ exports.$BucketModel = exports.$BucketModelField = void 0;
6
6
  * @subcategory Entity
7
7
  * */
8
8
  class $BucketModelField {
9
+ name;
10
+ path;
11
+ type;
12
+ alias;
13
+ required;
14
+ meta;
15
+ defaultValue;
16
+ children;
17
+ crypto;
18
+ $t = 'bucket.model.field';
9
19
  constructor(name, path, type, alias, required, meta, defaultValue, children, crypto) {
10
20
  this.name = name;
11
21
  this.path = path;
@@ -16,7 +26,6 @@ class $BucketModelField {
16
26
  this.defaultValue = defaultValue;
17
27
  this.children = children;
18
28
  this.crypto = crypto;
19
- this.$t = 'bucket.model.field';
20
29
  }
21
30
  }
22
31
  exports.$BucketModelField = $BucketModelField;
@@ -25,12 +34,16 @@ exports.$BucketModelField = $BucketModelField;
25
34
  * @subcategory Entity
26
35
  * */
27
36
  class $BucketModel {
37
+ fields;
38
+ defaults;
39
+ hasFileField;
40
+ hasEncryptedField;
41
+ $t = 'bucket.model';
28
42
  constructor(fields, defaults = {}, hasFileField = false, hasEncryptedField = false) {
29
43
  this.fields = fields;
30
44
  this.defaults = defaults;
31
45
  this.hasFileField = hasFileField;
32
46
  this.hasEncryptedField = hasEncryptedField;
33
- this.$t = 'bucket.model';
34
47
  }
35
48
  static getField(model, modelpath) {
36
49
  const paths = modelpath.split('.');
@@ -11,9 +11,11 @@ const dependency_1 = require("../../../../engine/dependency");
11
11
  * @subcategory Entity
12
12
  * */
13
13
  class BucketModelFieldFactory {
14
+ module;
14
15
  constructor(module) {
15
16
  this.module = module;
16
17
  }
18
+ alias;
17
19
  as(alias) {
18
20
  this.alias = alias;
19
21
  return this;
@@ -112,14 +114,25 @@ exports.BucketModelFieldFactory = BucketModelFieldFactory;
112
114
  * @subcategory Entity
113
115
  * */
114
116
  class BucketModelFieldBuilder {
117
+ module;
118
+ type;
119
+ alias;
120
+ meta;
121
+ children;
122
+ '#input';
123
+ '#output';
124
+ '#optional';
125
+ '#modelpath';
126
+ '#querypath';
127
+ _required = true;
128
+ _defaultValue = undefined;
129
+ crypto;
115
130
  constructor(module, type, alias, meta, children) {
116
131
  this.module = module;
117
132
  this.type = type;
118
133
  this.alias = alias;
119
134
  this.meta = meta;
120
135
  this.children = children;
121
- this._required = true;
122
- this._defaultValue = undefined;
123
136
  }
124
137
  as(alias) {
125
138
  this.alias = alias;
@@ -198,8 +211,8 @@ class BucketModelFieldBuilder {
198
211
  const child = children[c];
199
212
  const out = BucketModelFieldBuilder.build(tree, child, c, path);
200
213
  schema[c] = out.schema;
201
- hasFileField || (hasFileField = out.hasFile);
202
- hasEncryptedField || (hasEncryptedField = out.hasEncrypted);
214
+ hasFileField ||= out.hasFile;
215
+ hasEncryptedField ||= out.hasEncrypted;
203
216
  defaults[c] = schema[c].defaultValue;
204
217
  }
205
218
  return { schema, defaults, hasFileField, hasEncryptedField };
@@ -9,6 +9,31 @@ const dependency_1 = require("../../../../engine/dependency");
9
9
  * @category NQL
10
10
  * */
11
11
  class NQL_RuleTree {
12
+ daemon;
13
+ module;
14
+ bucketName;
15
+ query;
16
+ customMetadata;
17
+ debug;
18
+ static OpByType = {
19
+ 'boolean': ['==', 'in', 'present'],
20
+ 'date': ['<', '<=', '==', '>', '>=', 'in', 'present'],
21
+ 'datetime': ['<', '<=', '==', '>', '>=', 'in', 'present'],
22
+ 'duration': ['<', '<=', '==', '>', '>=', 'in', 'present'],
23
+ 'decimal': ['<', '<=', '==', '>', '>=', 'in', 'present'],
24
+ 'dict': ['==', 'contains', 'contains_any', 'in', 'present'],
25
+ 'enum': ['==', 'contains', 'contains_any', 'in', 'present'],
26
+ 'file': [],
27
+ 'float': ['<', '<=', '==', '>', '>=', 'in', 'present'],
28
+ 'int': ['<', '<=', '==', '>', '>=', 'in', 'present'],
29
+ 'string': ['==', 'contains', 'contains_any', 'in', 'present'],
30
+ 'literal': ['==', 'contains', 'contains_any', 'in', 'present'],
31
+ 'obj': ['contains_any', 'in', 'present'],
32
+ 'list': ['contains', 'contains_any', 'present'],
33
+ 'union': [],
34
+ 'unknown': ['==', 'contains', 'contains_any', 'in', 'present']
35
+ };
36
+ root;
12
37
  constructor(daemon, module, bucketName, query, customMetadata, debug = false) {
13
38
  this.daemon = daemon;
14
39
  this.module = module;
@@ -189,7 +214,7 @@ class NQL_RuleTree {
189
214
  .flat(1);
190
215
  const dict = {};
191
216
  for (const op of opsUnion) {
192
- dict[op] ?? (dict[op] = 0);
217
+ dict[op] ??= 0;
193
218
  dict[op]++;
194
219
  }
195
220
  allowedOps = Object.entries(dict)
@@ -480,24 +505,6 @@ class NQL_RuleTree {
480
505
  }
481
506
  }
482
507
  exports.NQL_RuleTree = NQL_RuleTree;
483
- NQL_RuleTree.OpByType = {
484
- 'boolean': ['==', 'in', 'present'],
485
- 'date': ['<', '<=', '==', '>', '>=', 'in', 'present'],
486
- 'datetime': ['<', '<=', '==', '>', '>=', 'in', 'present'],
487
- 'duration': ['<', '<=', '==', '>', '>=', 'in', 'present'],
488
- 'decimal': ['<', '<=', '==', '>', '>=', 'in', 'present'],
489
- 'dict': ['==', 'contains', 'contains_any', 'in', 'present'],
490
- 'enum': ['==', 'contains', 'contains_any', 'in', 'present'],
491
- 'file': [],
492
- 'float': ['<', '<=', '==', '>', '>=', 'in', 'present'],
493
- 'int': ['<', '<=', '==', '>', '>=', 'in', 'present'],
494
- 'string': ['==', 'contains', 'contains_any', 'in', 'present'],
495
- 'literal': ['==', 'contains', 'contains_any', 'in', 'present'],
496
- 'obj': ['contains_any', 'in', 'present'],
497
- 'list': ['contains', 'contains_any', 'present'],
498
- 'union': [],
499
- 'unknown': ['==', 'contains', 'contains_any', 'in', 'present']
500
- };
501
508
  /**
502
509
  * Builds a NQL_CompiledQuery by splitting it into multiple parts
503
510
  */
@@ -677,9 +684,9 @@ exports.NQL_Compiler = NQL_Compiler;
677
684
  * @category NQL
678
685
  * */
679
686
  class NQL_CompiledQuery {
687
+ parts = {};
688
+ execOrder = [];
680
689
  constructor(parts) {
681
- this.parts = {};
682
- this.execOrder = [];
683
690
  for (let i = 0; i < parts.length; i++) {
684
691
  const part = parts[i];
685
692
  this.execOrder.push(part.i);
@@ -11,9 +11,10 @@ exports.NQLRunner = NQLRunner;
11
11
  * @category NQL
12
12
  * */
13
13
  class NQL_Engine {
14
+ module;
15
+ runners = {};
14
16
  constructor(module) {
15
17
  this.module = module;
16
- this.runners = {};
17
18
  for (const b in module.buckets) {
18
19
  const bucket = module.buckets[b];
19
20
  const meta = bucket.getQueryMeta();
@@ -8,9 +8,10 @@ const bucket_view_field_builder_1 = require("./bucket_view_field.builder");
8
8
  * @subcategory Entity
9
9
  * */
10
10
  class BucketViewBuilder {
11
+ name;
12
+ _fields = {};
11
13
  constructor(name) {
12
14
  this.name = name;
13
- this._fields = {};
14
15
  }
15
16
  fields($) {
16
17
  const fieldBuilder = new bucket_view_field_builder_1.BucketViewFieldFactory();
@@ -11,15 +11,16 @@ const tree_1 = require("../../../../engine/data/tree");
11
11
  const daemon_1 = require("../../../../engine/daemon");
12
12
  const dependency_1 = require("../../../../engine/dependency");
13
13
  class ViewValue {
14
- constructor() {
15
- this.value = undefined;
16
- }
14
+ value = undefined;
15
+ constructor() { }
17
16
  }
18
17
  /**
19
18
  * @category Elements
20
19
  * @subcategory Entity
21
20
  * */
22
21
  class BucketView {
22
+ bucket;
23
+ schema;
23
24
  constructor(bucket, schema) {
24
25
  this.bucket = bucket;
25
26
  this.schema = schema;
@@ -6,6 +6,15 @@ exports.$BucketView = exports.$BucketViewField = void 0;
6
6
  * @subcategory Entity
7
7
  * */
8
8
  class $BucketViewField {
9
+ name;
10
+ scope;
11
+ alias;
12
+ meta;
13
+ prop;
14
+ children;
15
+ chain;
16
+ $t = 'bucket.view.field';
17
+ '#data';
9
18
  constructor(name, scope, alias, meta, prop, children, chain) {
10
19
  this.name = name;
11
20
  this.scope = scope;
@@ -14,7 +23,6 @@ class $BucketViewField {
14
23
  this.prop = prop;
15
24
  this.children = children;
16
25
  this.chain = chain;
17
- this.$t = 'bucket.view.field';
18
26
  }
19
27
  }
20
28
  exports.$BucketViewField = $BucketViewField;
@@ -23,10 +31,13 @@ exports.$BucketViewField = $BucketViewField;
23
31
  * @subcategory Entity
24
32
  * */
25
33
  class $BucketView {
34
+ name;
35
+ fields;
36
+ $t = 'bucket.view';
37
+ '#data';
26
38
  constructor(name, fields = {}) {
27
39
  this.name = name;
28
40
  this.fields = fields;
29
- this.$t = 'bucket.view';
30
41
  }
31
42
  static getField(schema, path) {
32
43
  const find = (fields, path) => {
@@ -12,6 +12,8 @@ const bucket_model_schema_1 = require("../model/bucket_model.schema");
12
12
  * @subcategory Entity
13
13
  * */
14
14
  class BucketViewFieldFactory {
15
+ scope;
16
+ meta;
15
17
  raw() {
16
18
  return {
17
19
  __raw: {}
@@ -84,11 +86,16 @@ exports.BucketViewFieldFactory = BucketViewFieldFactory;
84
86
  * @subcategory Entity
85
87
  * */
86
88
  class BucketViewFieldBuilder {
89
+ scope;
90
+ meta;
91
+ subview;
92
+ $b = 'view.field';
93
+ _prop;
94
+ _chain;
87
95
  constructor(scope, meta, subview) {
88
96
  this.scope = scope;
89
97
  this.meta = meta;
90
98
  this.subview = subview;
91
- this.$b = 'view.field';
92
99
  }
93
100
  prop(prop) {
94
101
  if (this.subview) {
@@ -7,6 +7,9 @@ const constants_schema_1 = require("./constants.schema");
7
7
  * @subcategory Entity
8
8
  * */
9
9
  class ConstantValueBuilder {
10
+ scope;
11
+ key;
12
+ value;
10
13
  constructor(scope, key, value) {
11
14
  this.scope = scope;
12
15
  this.key = key;
@@ -36,6 +39,7 @@ exports.ConstantValueFactory = ConstantValueFactory;
36
39
  * @subcategory Entity
37
40
  * */
38
41
  class ConstantEnumOptionBuilder {
42
+ value;
39
43
  constructor(value) {
40
44
  this.value = value;
41
45
  }
@@ -60,6 +64,8 @@ exports.ConstantEnumOptionFactory = ConstantEnumOptionFactory;
60
64
  * @subcategory Entity
61
65
  * */
62
66
  class ConstantEnumBuilder {
67
+ name;
68
+ options;
63
69
  constructor(name, options) {
64
70
  this.name = name;
65
71
  this.options = options;
@@ -82,12 +88,13 @@ exports.ConstantEnumBuilder = ConstantEnumBuilder;
82
88
  * @subcategory Entity
83
89
  * */
84
90
  class ConstantsBuilder {
91
+ module;
92
+ $b = 'constants';
93
+ name = '*';
94
+ _values = {};
95
+ enums = {};
85
96
  constructor(module) {
86
97
  this.module = module;
87
- this.$b = 'constants';
88
- this.name = '*';
89
- this._values = {};
90
- this.enums = {};
91
98
  }
92
99
  values($) {
93
100
  const factory = new ConstantValueFactory();
@@ -119,7 +126,7 @@ class ConstantsBuilder {
119
126
  let parent = '';
120
127
  for (let i = 0; i < split.length - 1; i++) {
121
128
  parent = parent.length ? (`${parent}.${split[i]}`) : split[i];
122
- enums[parent] ?? (enums[parent] = new constants_schema_1.$ConstantEnum(node.tag.module, parent, {}));
129
+ enums[parent] ??= new constants_schema_1.$ConstantEnum(node.tag.module, parent, {});
123
130
  Object.assign(enums[parent].options, enums[k].options);
124
131
  }
125
132
  }
@@ -6,6 +6,7 @@ exports.Enum = void 0;
6
6
  * @subcategory Entity
7
7
  * */
8
8
  class Enum {
9
+ schema;
9
10
  constructor(schema) {
10
11
  this.schema = schema;
11
12
  }