nesoi 3.2.9 → 3.3.1

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 (291) hide show
  1. package/README.md +33 -2
  2. package/lib/bundler/browser/browser.app.d.ts +32 -0
  3. package/lib/bundler/browser/browser.app.js +51 -0
  4. package/lib/bundler/browser/browser.bundler.d.ts +5 -0
  5. package/lib/bundler/browser/browser.bundler.js +27 -0
  6. package/lib/bundler/browser/stages/8_replace_nesoi_for_browser_stage.d.ts +13 -0
  7. package/lib/bundler/browser/stages/8_replace_nesoi_for_browser_stage.js +74 -0
  8. package/lib/bundler/distributed/distributed.app.config.d.ts +43 -0
  9. package/lib/{engine/apps → bundler}/distributed/distributed.app.config.js +1 -1
  10. package/lib/{engine/apps → bundler}/distributed/distributed.app.d.ts +14 -14
  11. package/lib/{engine/apps → bundler}/distributed/distributed.app.js +8 -3
  12. package/lib/{compiler/apps/distributed/distributed_compiler.d.ts → bundler/distributed/distributed.bundler.d.ts} +7 -7
  13. package/lib/{compiler/apps/distributed/distributed_compiler.js → bundler/distributed/distributed.bundler.js} +11 -11
  14. package/lib/{engine/apps → bundler}/distributed/distributed_node.app.d.ts +14 -20
  15. package/lib/{engine/apps → bundler}/distributed/distributed_node.app.js +18 -50
  16. package/lib/bundler/distributed/stages/1_mkdir_stage.d.ts +15 -0
  17. package/lib/{compiler/apps → bundler}/distributed/stages/1_mkdir_stage.js +6 -6
  18. package/lib/bundler/distributed/stages/2_build_typescript_stage.d.ts +15 -0
  19. package/lib/{compiler/apps → bundler}/distributed/stages/2_build_typescript_stage.js +7 -7
  20. package/lib/bundler/distributed/stages/3_copy_types_stage.d.ts +15 -0
  21. package/lib/{compiler/apps → bundler}/distributed/stages/3_copy_types_stage.js +7 -7
  22. package/lib/bundler/distributed/stages/4_dump_modules_stage.d.ts +16 -0
  23. package/lib/{compiler/apps → bundler}/distributed/stages/4_dump_modules_stage.js +5 -5
  24. package/lib/{compiler/apps → bundler}/distributed/stages/5_copy_static_stage.js +3 -3
  25. package/lib/{compiler/apps → bundler}/distributed/stages/6_dump_cli_stage.js +3 -3
  26. package/lib/{compiler/apps → bundler}/distributed/stages/7_dump_package_json_stage.js +3 -3
  27. package/lib/{engine/apps → bundler}/monolyth/monolyth.app.d.ts +13 -13
  28. package/lib/{engine/apps → bundler}/monolyth/monolyth.app.js +13 -10
  29. package/lib/{compiler/apps/monolyth/monolyth_compiler.d.ts → bundler/monolyth/monolyth.bundler.d.ts} +9 -7
  30. package/lib/{compiler/apps/monolyth/monolyth_compiler.js → bundler/monolyth/monolyth.bundler.js} +13 -12
  31. package/lib/bundler/monolyth/stages/1_mkdir_stage.d.ts +15 -0
  32. package/lib/{compiler/apps → bundler}/monolyth/stages/1_mkdir_stage.js +6 -6
  33. package/lib/bundler/monolyth/stages/2_build_typescript_stage.d.ts +15 -0
  34. package/lib/{compiler/apps → bundler}/monolyth/stages/2_build_typescript_stage.js +8 -7
  35. package/lib/bundler/monolyth/stages/3_copy_types_stage.d.ts +15 -0
  36. package/lib/{compiler/apps → bundler}/monolyth/stages/3_copy_types_stage.js +7 -7
  37. package/lib/{compiler/apps → bundler}/monolyth/stages/4_dump_modules_stage.d.ts +4 -4
  38. package/lib/{compiler/apps → bundler}/monolyth/stages/4_dump_modules_stage.js +29 -16
  39. package/lib/{compiler/apps → bundler}/monolyth/stages/5_copy_static_stage.d.ts +4 -4
  40. package/lib/{compiler/apps → bundler}/monolyth/stages/5_copy_static_stage.js +7 -7
  41. package/lib/bundler/monolyth/stages/6_dump_cli_stage.d.ts +15 -0
  42. package/lib/{compiler/apps → bundler}/monolyth/stages/6_dump_cli_stage.js +4 -4
  43. package/lib/{compiler/apps → bundler}/monolyth/stages/7_dump_package_json_stage.d.ts +4 -4
  44. package/lib/{compiler/apps → bundler}/monolyth/stages/7_dump_package_json_stage.js +14 -11
  45. package/lib/compiler/compiler.d.ts +1 -6
  46. package/lib/compiler/compiler.js +1 -1
  47. package/lib/compiler/elements/bucket.element.d.ts +2 -1
  48. package/lib/compiler/elements/bucket.element.js +16 -21
  49. package/lib/compiler/elements/cached.element.d.ts +1 -1
  50. package/lib/compiler/elements/cached.element.js +2 -2
  51. package/lib/compiler/elements/constants.element.d.ts +1 -1
  52. package/lib/compiler/elements/constants.element.js +2 -0
  53. package/lib/compiler/elements/controller.element.js +3 -3
  54. package/lib/compiler/elements/element.d.ts +6 -13
  55. package/lib/compiler/elements/element.js +11 -9
  56. package/lib/compiler/elements/externals.element.js +2 -2
  57. package/lib/compiler/elements/job.element.d.ts +1 -1
  58. package/lib/compiler/elements/job.element.js +1 -1
  59. package/lib/compiler/elements/machine.element.d.ts +2 -2
  60. package/lib/compiler/elements/machine.element.js +7 -7
  61. package/lib/compiler/elements/message.element.d.ts +1 -1
  62. package/lib/compiler/elements/message.element.js +26 -26
  63. package/lib/compiler/elements/queue.element.js +1 -1
  64. package/lib/compiler/elements/resource.element.d.ts +1 -1
  65. package/lib/compiler/elements/resource.element.js +9 -9
  66. package/lib/compiler/elements/topic.element.js +1 -1
  67. package/lib/compiler/error.d.ts +1 -5
  68. package/lib/compiler/error.js +3 -15
  69. package/lib/compiler/helpers/dump_helpers.d.ts +1 -1
  70. package/lib/compiler/helpers/dump_helpers.js +1 -1
  71. package/lib/compiler/index.d.ts +1 -3
  72. package/lib/compiler/index.js +15 -7
  73. package/lib/compiler/module.js +12 -12
  74. package/lib/compiler/progressive.d.ts +3 -4
  75. package/lib/compiler/progressive.js +3 -4
  76. package/lib/compiler/stages/2_treeshake_stage.js +4 -0
  77. package/lib/compiler/stages/3_extract_ts_stage.js +7 -7
  78. package/lib/compiler/stages/4_build_schemas_stage.js +3 -16
  79. package/lib/compiler/stages/6_build_elements_stage.js +1 -1
  80. package/lib/compiler/stages/7_dump_stage.js +35 -10
  81. package/lib/compiler/typescript/bridge/extract.js +24 -0
  82. package/lib/compiler/typescript/bridge/inject.js +18 -3
  83. package/lib/compiler/typescript/bridge/organize.d.ts +4 -0
  84. package/lib/compiler/typescript/bridge/organize.js +41 -22
  85. package/lib/compiler/typescript/error.d.ts +2 -83
  86. package/lib/compiler/typescript/error.js +6 -219
  87. package/lib/compiler/typescript/parser.js +3 -3
  88. package/lib/compiler/typescript/source.d.ts +2 -2
  89. package/lib/compiler/typescript/transformers/app_inject.transformer.js +13 -4
  90. package/lib/compiler/typescript/typescript_compiler.d.ts +3 -3
  91. package/lib/compiler/typescript/typescript_compiler.js +2 -2
  92. package/lib/elements/blocks/block.builder.d.ts +7 -4
  93. package/lib/elements/blocks/block.builder.js +24 -13
  94. package/lib/elements/blocks/block.js +2 -2
  95. package/lib/elements/blocks/block.schema.d.ts +12 -9
  96. package/lib/elements/blocks/block.schema.js +2 -2
  97. package/lib/elements/blocks/job/internal/machine_job.builder.d.ts +6 -5
  98. package/lib/elements/blocks/job/internal/machine_job.builder.js +3 -3
  99. package/lib/elements/blocks/job/internal/resource_job.builder.d.ts +11 -10
  100. package/lib/elements/blocks/job/internal/resource_job.builder.js +9 -6
  101. package/lib/elements/blocks/job/internal/resource_job.js +3 -6
  102. package/lib/elements/blocks/job/job.builder.d.ts +5 -5
  103. package/lib/elements/blocks/job/job.builder.js +7 -7
  104. package/lib/elements/blocks/job/job.js +1 -1
  105. package/lib/elements/blocks/job/job.schema.d.ts +5 -5
  106. package/lib/elements/blocks/job/job.schema.js +3 -3
  107. package/lib/elements/blocks/machine/machine.builder.d.ts +2 -2
  108. package/lib/elements/blocks/machine/machine.builder.js +12 -9
  109. package/lib/elements/blocks/machine/machine.js +7 -7
  110. package/lib/elements/blocks/machine/machine.schema.d.ts +23 -23
  111. package/lib/elements/blocks/machine/machine.schema.js +9 -9
  112. package/lib/elements/blocks/machine/machine_state.builder.d.ts +1 -0
  113. package/lib/elements/blocks/machine/machine_state.builder.js +31 -29
  114. package/lib/elements/blocks/machine/machine_transition.builder.d.ts +2 -2
  115. package/lib/elements/blocks/machine/machine_transition.builder.js +8 -8
  116. package/lib/elements/blocks/queue/queue.builder.d.ts +3 -3
  117. package/lib/elements/blocks/queue/queue.builder.js +3 -3
  118. package/lib/elements/blocks/queue/queue.schema.d.ts +6 -6
  119. package/lib/elements/blocks/queue/queue.schema.js +3 -3
  120. package/lib/elements/blocks/resource/resource.builder.d.ts +2 -2
  121. package/lib/elements/blocks/resource/resource.builder.js +37 -40
  122. package/lib/elements/blocks/resource/resource.d.ts +2 -2
  123. package/lib/elements/blocks/resource/resource.js +10 -18
  124. package/lib/elements/blocks/resource/resource.schema.d.ts +15 -15
  125. package/lib/elements/blocks/resource/resource.schema.js +8 -8
  126. package/lib/elements/blocks/topic/topic.builder.d.ts +2 -2
  127. package/lib/elements/blocks/topic/topic.builder.js +4 -4
  128. package/lib/elements/blocks/topic/topic.d.ts +2 -2
  129. package/lib/elements/blocks/topic/topic.js +7 -7
  130. package/lib/elements/blocks/topic/topic.schema.d.ts +6 -6
  131. package/lib/elements/blocks/topic/topic.schema.js +3 -3
  132. package/lib/elements/edge/controller/adapters/cli.controller_adapter.js +1 -1
  133. package/lib/elements/edge/controller/adapters/controller_adapter.d.ts +2 -2
  134. package/lib/elements/edge/controller/adapters/controller_adapter.js +2 -2
  135. package/lib/elements/edge/controller/controller.builder.d.ts +14 -13
  136. package/lib/elements/edge/controller/controller.builder.js +52 -42
  137. package/lib/elements/edge/controller/controller.d.ts +3 -3
  138. package/lib/elements/edge/controller/controller.js +12 -12
  139. package/lib/elements/edge/controller/controller.schema.d.ts +17 -16
  140. package/lib/elements/edge/controller/controller.schema.js +11 -11
  141. package/lib/elements/edge/externals/externals.builder.d.ts +8 -13
  142. package/lib/elements/edge/externals/externals.builder.js +43 -11
  143. package/lib/elements/edge/externals/externals.schema.d.ts +8 -7
  144. package/lib/elements/edge/externals/externals.schema.js +5 -3
  145. package/lib/elements/entities/bucket/adapters/browserdb.bucket_adapter.d.ts +45 -0
  146. package/lib/elements/entities/bucket/adapters/browserdb.bucket_adapter.js +164 -0
  147. package/lib/elements/entities/bucket/adapters/browserdb.service.d.ts +30 -0
  148. package/lib/elements/entities/bucket/adapters/browserdb.service.js +97 -0
  149. package/lib/elements/entities/bucket/adapters/bucket_adapter.d.ts +6 -1
  150. package/lib/elements/entities/bucket/adapters/bucket_adapter.js +7 -6
  151. package/lib/elements/entities/bucket/adapters/json.bucket_adapter.d.ts +1 -1
  152. package/lib/elements/entities/bucket/adapters/json.bucket_adapter.js +1 -0
  153. package/lib/elements/entities/bucket/adapters/memory.bucket_adapter.d.ts +1 -0
  154. package/lib/elements/entities/bucket/adapters/memory.bucket_adapter.js +14 -13
  155. package/lib/elements/entities/bucket/adapters/memory.nql.js +41 -35
  156. package/lib/elements/entities/bucket/bucket.builder.d.ts +6 -8
  157. package/lib/elements/entities/bucket/bucket.builder.js +19 -34
  158. package/lib/elements/entities/bucket/bucket.d.ts +2 -2
  159. package/lib/elements/entities/bucket/bucket.infer.d.ts +5 -5
  160. package/lib/elements/entities/bucket/bucket.js +19 -17
  161. package/lib/elements/entities/bucket/bucket.schema.d.ts +3 -3
  162. package/lib/elements/entities/bucket/bucket.schema.js +2 -2
  163. package/lib/elements/entities/bucket/cache/bucket_cache.js +14 -2
  164. package/lib/elements/entities/bucket/graph/bucket_graph.d.ts +3 -3
  165. package/lib/elements/entities/bucket/graph/bucket_graph.js +101 -29
  166. package/lib/elements/entities/bucket/graph/bucket_graph.schema.d.ts +3 -3
  167. package/lib/elements/entities/bucket/graph/bucket_graph_link.builder.d.ts +2 -2
  168. package/lib/elements/entities/bucket/graph/bucket_graph_link.builder.js +5 -3
  169. package/lib/elements/entities/bucket/model/bucket_model.builder.d.ts +2 -1
  170. package/lib/elements/entities/bucket/model/bucket_model.builder.js +2 -2
  171. package/lib/elements/entities/bucket/model/bucket_model.convert.js +3 -6
  172. package/lib/elements/entities/bucket/model/bucket_model.d.ts +13 -0
  173. package/lib/elements/entities/bucket/model/bucket_model.js +93 -0
  174. package/lib/elements/entities/bucket/model/bucket_model.schema.d.ts +4 -8
  175. package/lib/elements/entities/bucket/model/bucket_model.schema.js +0 -68
  176. package/lib/elements/entities/bucket/model/bucket_model_field.builder.d.ts +12 -4
  177. package/lib/elements/entities/bucket/model/bucket_model_field.builder.js +30 -33
  178. package/lib/elements/entities/bucket/query/nql.schema.d.ts +1 -1
  179. package/lib/elements/entities/bucket/query/nql_compiler.d.ts +8 -4
  180. package/lib/elements/entities/bucket/query/nql_compiler.js +44 -38
  181. package/lib/elements/entities/bucket/query/nql_engine.d.ts +1 -1
  182. package/lib/elements/entities/bucket/query/nql_engine.js +5 -2
  183. package/lib/elements/entities/bucket/view/bucket_view.builder.d.ts +2 -2
  184. package/lib/elements/entities/bucket/view/bucket_view.js +113 -81
  185. package/lib/elements/entities/bucket/view/bucket_view_field.builder.d.ts +9 -8
  186. package/lib/elements/entities/bucket/view/bucket_view_field.builder.js +8 -10
  187. package/lib/elements/entities/constants/constants.builder.d.ts +3 -3
  188. package/lib/elements/entities/constants/constants.builder.js +8 -8
  189. package/lib/elements/entities/constants/constants.schema.d.ts +8 -3
  190. package/lib/elements/entities/constants/constants.schema.js +7 -2
  191. package/lib/elements/entities/message/message.infer.d.ts +1 -5
  192. package/lib/elements/entities/message/message.js +2 -7
  193. package/lib/elements/entities/message/message.schema.js +1 -1
  194. package/lib/elements/entities/message/template/message_template.schema.d.ts +7 -5
  195. package/lib/elements/entities/message/template/message_template_field.builder.d.ts +18 -3
  196. package/lib/elements/entities/message/template/message_template_field.builder.js +49 -30
  197. package/lib/elements/entities/message/template/message_template_parser.js +2 -2
  198. package/lib/engine/{apps → app}/app.config.d.ts +11 -5
  199. package/lib/engine/{apps → app}/app.config.js +2 -2
  200. package/lib/engine/{apps → app}/app.d.ts +3 -2
  201. package/lib/engine/{apps → app}/app.js +3 -1
  202. package/lib/engine/{apps/distributed → app}/inc/inc.client.js +1 -1
  203. package/lib/engine/{apps/distributed → app}/inc/inc.server.js +3 -3
  204. package/lib/engine/{apps/distributed → app}/inc/sandbox.js +1 -1
  205. package/lib/engine/{apps → app}/inline.app.d.ts +2 -12
  206. package/lib/engine/{apps → app}/inline.app.js +37 -34
  207. package/lib/engine/auth/authn.d.ts +10 -12
  208. package/lib/engine/auth/zero.authn_provider.d.ts +3 -4
  209. package/lib/engine/auth/zero.authn_provider.js +0 -1
  210. package/lib/engine/builder.d.ts +28 -0
  211. package/lib/engine/builder.js +99 -0
  212. package/lib/engine/cli/cli.js +3 -2
  213. package/lib/engine/cli/ui.js +1 -0
  214. package/lib/engine/daemon.d.ts +28 -25
  215. package/lib/engine/daemon.js +37 -8
  216. package/lib/engine/data/error.d.ts +37 -3
  217. package/lib/engine/data/error.js +58 -16
  218. package/lib/engine/data/file.d.ts +1 -0
  219. package/lib/engine/data/file.js +4 -0
  220. package/lib/engine/dependency.d.ts +53 -81
  221. package/lib/engine/dependency.js +246 -120
  222. package/lib/engine/module.d.ts +18 -48
  223. package/lib/engine/module.js +78 -158
  224. package/lib/engine/space.d.ts +2 -2
  225. package/lib/engine/space.js +6 -6
  226. package/lib/engine/transaction/nodes/bucket.trx_node.d.ts +7 -4
  227. package/lib/engine/transaction/nodes/bucket.trx_node.js +66 -43
  228. package/lib/engine/transaction/nodes/bucket_query.trx_node.d.ts +10 -4
  229. package/lib/engine/transaction/nodes/bucket_query.trx_node.js +56 -45
  230. package/lib/engine/transaction/nodes/external.trx_node.d.ts +15 -0
  231. package/lib/engine/transaction/nodes/external.trx_node.js +53 -0
  232. package/lib/engine/transaction/nodes/job.trx_node.d.ts +7 -3
  233. package/lib/engine/transaction/nodes/job.trx_node.js +49 -29
  234. package/lib/engine/transaction/nodes/machine.trx_node.js +6 -6
  235. package/lib/engine/transaction/nodes/queue.trx_node.js +3 -3
  236. package/lib/engine/transaction/nodes/resource.trx_node.d.ts +7 -4
  237. package/lib/engine/transaction/nodes/resource.trx_node.js +68 -51
  238. package/lib/engine/transaction/nodes/topic.trx_node.js +9 -9
  239. package/lib/engine/transaction/trx.d.ts +15 -12
  240. package/lib/engine/transaction/trx.js +19 -3
  241. package/lib/engine/transaction/trx_engine.config.d.ts +4 -4
  242. package/lib/engine/transaction/trx_engine.d.ts +25 -7
  243. package/lib/engine/transaction/trx_engine.js +67 -16
  244. package/lib/engine/transaction/trx_node.d.ts +25 -21
  245. package/lib/engine/transaction/trx_node.js +99 -57
  246. package/lib/engine/tree.d.ts +4 -16
  247. package/lib/engine/tree.js +87 -57
  248. package/lib/{compiler → engine}/treeshake.d.ts +32 -32
  249. package/lib/{compiler → engine}/treeshake.js +272 -242
  250. package/lib/engine/util/console.js +3 -0
  251. package/lib/engine/util/crypto.d.ts +4 -3
  252. package/lib/engine/util/crypto.js +15 -5
  253. package/lib/engine/util/hash.js +5 -0
  254. package/lib/engine/util/log.d.ts +6 -8
  255. package/lib/engine/util/log.js +1 -1
  256. package/lib/engine/util/name_helpers.d.ts +37 -0
  257. package/lib/{compiler/helpers → engine/util}/name_helpers.js +33 -0
  258. package/lib/engine/util/parse.d.ts +4 -3
  259. package/lib/engine/util/parse.js +13 -28
  260. package/lib/engine/util/path.d.ts +1 -0
  261. package/lib/engine/util/path.js +14 -0
  262. package/lib/engine/util/random.d.ts +4 -0
  263. package/lib/engine/util/random.js +31 -0
  264. package/lib/engine/util/type.d.ts +8 -0
  265. package/lib/schema.d.ts +1 -1
  266. package/package.json +4 -1
  267. package/tools/joaquin/bucket.js +1 -1
  268. package/tools/joaquin/job.js +1 -1
  269. package/tools/joaquin/message.js +1 -1
  270. package/tools/joaquin/mock.js +2 -1
  271. package/tsconfig.build.tsbuildinfo +1 -1
  272. package/lib/compiler/apps/distributed/stages/1_mkdir_stage.d.ts +0 -15
  273. package/lib/compiler/apps/distributed/stages/2_build_typescript_stage.d.ts +0 -15
  274. package/lib/compiler/apps/distributed/stages/3_copy_types_stage.d.ts +0 -15
  275. package/lib/compiler/apps/distributed/stages/4_dump_modules_stage.d.ts +0 -16
  276. package/lib/compiler/apps/monolyth/stages/1_mkdir_stage.d.ts +0 -15
  277. package/lib/compiler/apps/monolyth/stages/2_build_typescript_stage.d.ts +0 -15
  278. package/lib/compiler/apps/monolyth/stages/3_copy_types_stage.d.ts +0 -15
  279. package/lib/compiler/apps/monolyth/stages/6_dump_cli_stage.d.ts +0 -15
  280. package/lib/compiler/helpers/name_helpers.d.ts +0 -20
  281. package/lib/engine/apps/distributed/distributed.app.config.d.ts +0 -44
  282. package/lib/engine/apps/distributed/elements/distributed_job.d.ts +0 -7
  283. package/lib/engine/apps/distributed/elements/distributed_job.js +0 -11
  284. /package/lib/{compiler/apps → bundler}/distributed/stages/5_copy_static_stage.d.ts +0 -0
  285. /package/lib/{compiler/apps → bundler}/distributed/stages/6_dump_cli_stage.d.ts +0 -0
  286. /package/lib/{compiler/apps → bundler}/distributed/stages/7_dump_package_json_stage.d.ts +0 -0
  287. /package/lib/engine/{apps/distributed → app}/inc/inc.client.d.ts +0 -0
  288. /package/lib/engine/{apps/distributed → app}/inc/inc.server.d.ts +0 -0
  289. /package/lib/engine/{apps/distributed → app}/inc/sandbox.d.ts +0 -0
  290. /package/lib/engine/{apps → app}/service.d.ts +0 -0
  291. /package/lib/engine/{apps → app}/service.js +0 -0
@@ -9,6 +9,7 @@ const promise_1 = __importDefault(require("../../../../engine/util/promise"));
9
9
  const error_1 = require("../../../../engine/data/error");
10
10
  const tree_1 = require("../../../../engine/data/tree");
11
11
  const daemon_1 = require("../../../../engine/daemon");
12
+ const dependency_1 = require("../../../../engine/dependency");
12
13
  class ViewValue {
13
14
  constructor() {
14
15
  this.value = undefined;
@@ -24,12 +25,15 @@ class BucketView {
24
25
  this.schema = schema;
25
26
  }
26
27
  async parse(trx, raw) {
28
+ const module = trx_node_1.TrxNode.getModule(trx);
29
+ const tag = new dependency_1.Tag(this.bucket.module.name, 'bucket', this.bucket.schema.name);
30
+ const meta = await daemon_1.Daemon.getBucketMetadata(module.daemon, tag);
27
31
  const parsed = {};
28
32
  if ('__raw' in this.schema.fields) {
29
33
  Object.assign(parsed, raw);
30
34
  }
31
35
  let layer = Object.values(this.schema.fields).map(field => ({
32
- bucket: this.bucket,
36
+ bucket: meta,
33
37
  field,
34
38
  data: [{
35
39
  raw,
@@ -48,6 +52,9 @@ class BucketView {
48
52
  };
49
53
  }
50
54
  async parseMany(trx, raws) {
55
+ const module = trx_node_1.TrxNode.getModule(trx);
56
+ const tag = new dependency_1.Tag(this.bucket.module.name, 'bucket', this.bucket.schema.name);
57
+ const meta = await daemon_1.Daemon.getBucketMetadata(module.daemon, tag);
51
58
  const parseds = [];
52
59
  for (const raw of raws) {
53
60
  const parsed = {};
@@ -57,7 +64,7 @@ class BucketView {
57
64
  parseds.push(parsed);
58
65
  }
59
66
  let layer = Object.values(this.schema.fields).map(field => ({
60
- bucket: this.bucket,
67
+ bucket: meta,
61
68
  field,
62
69
  data: raws.map((raw, i) => ({
63
70
  raw,
@@ -159,77 +166,85 @@ class BucketView {
159
166
  }
160
167
  doParseModelProp(node, initAs, rawChild) {
161
168
  const modelpath = node.field.meta.model.path;
162
- const paths = modelpath.split('.');
169
+ const isValueModel = modelpath === '.';
163
170
  const name = node.field.name;
164
171
  let poll = node.data.map(d => ({
165
172
  ...d,
166
- value: d.raw,
173
+ value: isValueModel ? d.value : d.raw,
167
174
  key: name
168
175
  }));
169
- for (const path of paths) {
170
- // *
171
- if (path === '*') {
172
- // Expand each value of the poll (assumed to be a dict or list)
173
- poll = poll.map(item => {
174
- if (typeof item.value !== 'object') {
175
- throw new Error(`Failed to parse ${paths}, intermediate value ${item.value} is not a list or object`);
176
- }
177
- if (Array.isArray(item.value)) {
178
- item.target[item.key] = initAs === 'value'
179
- ? [...item.value]
180
- : item.value.map(() => ({}));
181
- return item.value.map((v, i) => ({
182
- index: [...item.index, i],
183
- raw: item.raw,
184
- value: v,
185
- target: item.target[item.key],
186
- key: i
187
- }));
188
- }
189
- else {
190
- item.target[item.key] = initAs === 'value'
191
- ? { ...item.value }
192
- : Object.fromEntries(Object.entries(item.value).map(([k]) => [k, {}]));
193
- return Object.entries(item.value).map(([k, v]) => ({
194
- index: [...item.index, k],
195
- raw: item.raw,
196
- value: v,
197
- target: item.target[item.key],
198
- key: k
199
- }));
200
- }
201
- }).flat(1);
202
- continue;
176
+ if (isValueModel) {
177
+ for (const data of poll) {
178
+ data.target[data.key] = data.value;
203
179
  }
204
- // $1, $2.. or string|number
205
- else {
206
- // Walk each node
207
- const next = [];
208
- for (const item of poll) {
209
- // $0, $1.. -> string
210
- const idx = path.match(/^\$(\d+)/)?.[1];
211
- let _path = path;
212
- if (idx !== undefined) {
213
- // Replace by index key
214
- _path = item.index[parseInt(idx)];
215
- }
216
- const n = typeof item.value === 'object'
217
- ? item.value[_path]
218
- : undefined;
219
- item.target[item.key] = initAs === 'value'
220
- ? n
221
- : {};
222
- if (n !== undefined) {
223
- next.push({
224
- index: item.index,
225
- raw: item.raw,
226
- value: n,
227
- target: item.target,
228
- key: item.key
229
- });
180
+ }
181
+ else {
182
+ const paths = modelpath.split('.');
183
+ for (const path of paths) {
184
+ // *
185
+ if (path === '*') {
186
+ // Expand each value of the poll (assumed to be a dict or list)
187
+ poll = poll.map(item => {
188
+ if (typeof item.value !== 'object') {
189
+ throw new Error(`Failed to parse ${paths}, intermediate value ${item.value} is not a list or object`);
190
+ }
191
+ if (Array.isArray(item.value)) {
192
+ item.target[item.key] = initAs === 'value'
193
+ ? [...item.value]
194
+ : item.value.map(() => ({}));
195
+ return item.value.map((v, i) => ({
196
+ index: [...item.index, i],
197
+ raw: item.raw,
198
+ value: v,
199
+ target: item.target[item.key],
200
+ key: i
201
+ }));
202
+ }
203
+ else {
204
+ item.target[item.key] = initAs === 'value'
205
+ ? { ...item.value }
206
+ : Object.fromEntries(Object.entries(item.value).map(([k]) => [k, {}]));
207
+ return Object.entries(item.value).map(([k, v]) => ({
208
+ index: [...item.index, k],
209
+ raw: item.raw,
210
+ value: v,
211
+ target: item.target[item.key],
212
+ key: k
213
+ }));
214
+ }
215
+ }).flat(1);
216
+ continue;
217
+ }
218
+ // $1, $2.. or string|number
219
+ else {
220
+ // Walk each node
221
+ const next = [];
222
+ for (const item of poll) {
223
+ // $0, $1.. -> string
224
+ const idx = path.match(/^\$(\d+)/)?.[1];
225
+ let _path = path;
226
+ if (idx !== undefined) {
227
+ // Replace by index key
228
+ _path = item.index[parseInt(idx)];
229
+ }
230
+ const n = typeof item.value === 'object'
231
+ ? item.value[_path]
232
+ : undefined;
233
+ item.target[item.key] = initAs === 'value'
234
+ ? n
235
+ : {};
236
+ if (n !== undefined) {
237
+ next.push({
238
+ index: item.index,
239
+ raw: item.raw,
240
+ value: n,
241
+ target: item.target,
242
+ key: item.key
243
+ });
244
+ }
230
245
  }
246
+ poll = next;
231
247
  }
232
- poll = next;
233
248
  }
234
249
  }
235
250
  // For each leaf, if it's an object (not an array),
@@ -264,7 +279,17 @@ class BucketView {
264
279
  */
265
280
  async parseGraphProp(trx, node) {
266
281
  const meta = node.field.meta.graph;
267
- const links = await node.bucket.graph.readManyLinks(trx, node.data.map(entry => entry.raw), meta.link, { silent: true });
282
+ let links;
283
+ const module = trx_node_1.TrxNode.getModule(trx);
284
+ // External
285
+ if (node.bucket.tag.module !== module.name) {
286
+ links = await trx.bucket(node.bucket.tag.short).readManyLinks(node.data.map(entry => entry.raw.id), meta.link);
287
+ }
288
+ // Internal
289
+ else {
290
+ const bucket = module.buckets[node.bucket.tag.name];
291
+ links = await bucket.graph.readManyLinks(trx, node.data.map(entry => entry.raw), meta.link, { silent: true });
292
+ }
268
293
  for (let i = 0; i < links.length; i++) {
269
294
  if (meta.view) {
270
295
  const link = node.bucket.schema.graph.links[meta.link];
@@ -282,8 +307,8 @@ class BucketView {
282
307
  const otherBucketDep = schema.graph.links[meta.link].bucket;
283
308
  const module = trx_node_1.TrxNode.getModule(trx);
284
309
  const daemon = module.daemon;
285
- const otherBucket = await daemon_1.Daemon.getSchema(daemon, otherBucketDep);
286
- const view = otherBucket.views[meta.view];
310
+ const otherBucket = await daemon_1.Daemon.getBucketMetadata(daemon, otherBucketDep);
311
+ const view = otherBucket.schema.views[meta.view];
287
312
  const { __raw, ...v } = view.fields;
288
313
  const link = node.bucket.schema.graph.links[meta.link];
289
314
  let nextData;
@@ -314,16 +339,21 @@ class BucketView {
314
339
  });
315
340
  }
316
341
  }
317
- next = Object.values(v).map(field => ({
318
- bucket: module.buckets[otherBucketDep.refName],
319
- field,
320
- data: nextData.map($ => ({
321
- raw: $.value,
322
- value: $.value,
323
- index: [],
324
- target: $.target
325
- }))
326
- }));
342
+ // TODODO: support external bucket on transitive graph
343
+ next = [];
344
+ for (const field of Object.values(v)) {
345
+ const bucket = await daemon_1.Daemon.getBucketMetadata(module.daemon, otherBucketDep);
346
+ next.push({
347
+ bucket,
348
+ field,
349
+ data: nextData.map($ => ({
350
+ raw: $.value,
351
+ value: $.value,
352
+ index: [],
353
+ target: $.target
354
+ }))
355
+ });
356
+ }
327
357
  }
328
358
  return next;
329
359
  }
@@ -331,7 +361,9 @@ class BucketView {
331
361
  * [drive]
332
362
  */
333
363
  async parseDriveProp(trx, node) {
334
- if (!node.bucket.drive) {
364
+ const module = trx_node_1.TrxNode.getModule(trx);
365
+ const drive = await daemon_1.Daemon.getBucketDrive(module.daemon, node.bucket.tag);
366
+ if (!drive) {
335
367
  throw error_1.NesoiError.Bucket.Drive.NoAdapter({ bucket: node.bucket.schema.alias });
336
368
  }
337
369
  const meta = node.field.meta.drive;
@@ -340,12 +372,12 @@ class BucketView {
340
372
  if (Array.isArray(value)) {
341
373
  const public_urls = [];
342
374
  for (const obj of value) {
343
- public_urls.push(await node.bucket.drive.public(obj));
375
+ public_urls.push(await drive.public(obj));
344
376
  }
345
377
  entry.target[node.field.name] = public_urls;
346
378
  }
347
379
  else {
348
- entry.target[node.field.name] = await node.bucket.drive.public(value);
380
+ entry.target[node.field.name] = await drive.public(value);
349
381
  }
350
382
  }
351
383
  }
@@ -19,17 +19,18 @@ type ComputedData<Fn extends $BucketViewFieldFn<any, any>, R = ReturnType<Fn>> =
19
19
  export declare class BucketViewFieldFactory<Space extends $Space, Module extends $Module, Bucket extends $Bucket> {
20
20
  private _view;
21
21
  protected scope: $BucketViewField['scope'];
22
- protected value: $BucketViewField['meta'];
22
+ protected meta: $BucketViewField['meta'];
23
23
  constructor(_view: BucketViewBuilder<any, any, any>);
24
24
  raw(): {
25
25
  [K in keyof Bucket['#data']]: BucketViewFieldBuilder<Bucket['#data'][K], 'model'>;
26
26
  };
27
- model<K extends keyof Bucket['#modelpath'], SubModel extends BucketViewFieldBuilderTree>(path: K, submodel?: SubModel): BucketViewFieldBuilder<Bucket["#modelpath"][K], "model", never>;
27
+ model<K extends keyof Bucket['#modelpath'], SubModel extends BucketViewFieldBuilders>(path: K, submodel?: SubModel): BucketViewFieldBuilder<Bucket["#modelpath"][K], "model", never>;
28
+ value(): BucketViewFieldBuilder<any, "model", never>;
28
29
  computed<Fn extends $BucketViewFieldFn<TrxNode<Space, Module, Space['authnUsers']>, Bucket>>(fn: Fn): BucketViewFieldBuilder<ComputedData<Fn, ReturnType<Fn>>, "computed", never>;
29
30
  graph<L extends keyof Bucket['graph']['links'], LinkBucket extends GraphLinkBucket<Bucket, L>, V extends (keyof LinkBucket['views']) | undefined>(link: L, view?: V): BucketViewFieldBuilder<undefined extends V ? LinkBucket["#data"] : ViewObj<LinkBucket, NonNullable<V>>, "graph", `${LinkBucket["name"]}.${V & string}`>;
30
31
  drive<F extends DriveFieldpath<Bucket>>(path: F): BucketViewFieldBuilder<string, "drive", never>;
31
32
  view<ViewName extends keyof Bucket['views'], View extends Bucket['views'][ViewName]>(view: ViewName): BucketViewFieldBuilder<View["#data"], "view", never>;
32
- extend<ViewName extends keyof Bucket['views'], Builders extends BucketViewFieldBuilderTree>(view: ViewName, fields: Builders): $BucketViewFieldBuilderInfer<Bucket["views"][ViewName]["#data"]> & Builders;
33
+ extend<ViewName extends keyof Bucket['views'], Builders extends BucketViewFieldBuilders>(view: ViewName, fields: Builders): $BucketViewFieldBuilderInfer<Bucket["views"][ViewName]["#data"]> & Builders;
33
34
  static group(name: string, children: $BucketViewFields): $BucketViewField;
34
35
  }
35
36
  /**
@@ -39,15 +40,15 @@ export declare class BucketViewFieldFactory<Space extends $Space, Module extends
39
40
  export declare class BucketViewFieldBuilder<Data, Scope extends $BucketViewField['scope'], GraphLink extends string = never> {
40
41
  protected scope: $BucketViewField['scope'];
41
42
  protected meta: $BucketViewFieldMeta;
42
- protected submodel?: BucketViewFieldBuilderTree | undefined;
43
+ protected submodel?: BucketViewFieldBuilders | undefined;
43
44
  $b: "view.field";
44
45
  protected _chain?: BucketViewFieldBuilder<any, any, any>;
45
- constructor(scope: $BucketViewField['scope'], meta: $BucketViewFieldMeta, submodel?: BucketViewFieldBuilderTree | undefined);
46
+ constructor(scope: $BucketViewField['scope'], meta: $BucketViewFieldMeta, submodel?: BucketViewFieldBuilders | undefined);
46
47
  chain<Fn extends $BucketViewFieldFn<any, any>>(fn: Fn): void;
47
48
  static build(builder: BucketViewFieldBuilder<any, any>, model: $BucketModel, graph: $BucketGraph, views: $BucketViews, name: string, n_indexes: number): $BucketViewField;
48
- static buildFields(fields: BucketViewFieldBuilderTree, model: $BucketModel, graph: $BucketGraph, views: $BucketViews, n_indexes?: number): $BucketViewFields;
49
+ static buildFields(fields: BucketViewFieldBuilders, model: $BucketModel, graph: $BucketGraph, views: $BucketViews, n_indexes?: number): $BucketViewFields;
49
50
  }
50
- export type BucketViewFieldBuilderTree = {
51
- [x: string]: BucketViewFieldBuilder<any, any, any> | BucketViewFieldBuilderTree;
51
+ export type BucketViewFieldBuilders = {
52
+ [x: string]: BucketViewFieldBuilder<any, any, any>;
52
53
  };
53
54
  export {};
@@ -27,6 +27,13 @@ class BucketViewFieldFactory {
27
27
  }
28
28
  }, submodel);
29
29
  }
30
+ value() {
31
+ return new BucketViewFieldBuilder('model', {
32
+ model: {
33
+ path: '.'
34
+ }
35
+ });
36
+ }
30
37
  computed(fn) {
31
38
  return new BucketViewFieldBuilder('computed', {
32
39
  computed: {
@@ -150,16 +157,7 @@ class BucketViewFieldBuilder {
150
157
  schema['__raw'] = {};
151
158
  }
152
159
  const field = fields[f];
153
- // Normal fields are built here
154
- if (field instanceof BucketViewFieldBuilder) {
155
- schema[f] = BucketViewFieldBuilder.build(field, model, graph, views, f, n_indexes);
156
- }
157
- // Builders are allowed to implicitly declare nested fields.
158
- // The code below transforms these groups into fields of the scope 'group'.
159
- else {
160
- const children = BucketViewFieldBuilder.buildFields(field, model, graph, views, n_indexes);
161
- schema[f] = BucketViewFieldFactory.group(f, children);
162
- }
160
+ schema[f] = BucketViewFieldBuilder.build(field, model, graph, views, f, n_indexes);
163
161
  }
164
162
  return schema;
165
163
  }
@@ -9,7 +9,7 @@ export declare class ConstantValueBuilder {
9
9
  private key?;
10
10
  private value?;
11
11
  constructor(scope: string, key?: string | undefined, value?: any | undefined);
12
- static build(key: string, builder: ConstantValueBuilder): $ConstantValue;
12
+ static build(module: string, name: string, builder: ConstantValueBuilder): $ConstantValue;
13
13
  }
14
14
  /**
15
15
  * @category Builders
@@ -46,7 +46,7 @@ export declare class ConstantEnumBuilder {
46
46
  name: string;
47
47
  options: ConstantEnumOptionBuilders;
48
48
  constructor(name: string, options: ConstantEnumOptionBuilders);
49
- static build(builder: ConstantEnumBuilder): $ConstantEnum;
49
+ static build(module: string, builder: ConstantEnumBuilder): $ConstantEnum;
50
50
  private static buildOptions;
51
51
  }
52
52
  /**
@@ -65,7 +65,7 @@ export declare class ConstantsBuilder {
65
65
  static merge(to: ConstantsBuilder, from: ConstantsBuilder): void;
66
66
  static build(node: ConstantsBuilderNode): $Constants;
67
67
  }
68
- export type ConstantsBuilderNode = ResolvedBuilderNode & {
68
+ export type ConstantsBuilderNode = Omit<ResolvedBuilderNode, 'schema'> & {
69
69
  builder: ConstantsBuilder;
70
70
  schema?: $Constants;
71
71
  };
@@ -13,8 +13,8 @@ class ConstantValueBuilder {
13
13
  this.value = value;
14
14
  }
15
15
  // Build
16
- static build(key, builder) {
17
- return new constants_schema_1.$ConstantValue(builder.scope, builder.key || key, builder.value);
16
+ static build(module, name, builder) {
17
+ return new constants_schema_1.$ConstantValue(module, name, builder.scope, builder.key, builder.value);
18
18
  }
19
19
  }
20
20
  exports.ConstantValueBuilder = ConstantValueBuilder;
@@ -65,8 +65,8 @@ class ConstantEnumBuilder {
65
65
  this.options = options;
66
66
  }
67
67
  // Build
68
- static build(builder) {
69
- return new constants_schema_1.$ConstantEnum(builder.name, this.buildOptions(builder.options));
68
+ static build(module, builder) {
69
+ return new constants_schema_1.$ConstantEnum(module, builder.name, this.buildOptions(builder.options));
70
70
  }
71
71
  static buildOptions(builders) {
72
72
  const options = {};
@@ -109,22 +109,22 @@ class ConstantsBuilder {
109
109
  const values = {};
110
110
  const enums = {};
111
111
  for (const k in node.builder._values) {
112
- values[k] = ConstantValueBuilder.build(k, node.builder._values[k]);
112
+ values[k] = ConstantValueBuilder.build(node.tag.module, k, node.builder._values[k]);
113
113
  }
114
114
  for (const k in node.builder.enums) {
115
- enums[k] = ConstantEnumBuilder.build(node.builder.enums[k]);
115
+ enums[k] = ConstantEnumBuilder.build(node.tag.module, node.builder.enums[k]);
116
116
  // Spread enum into multiple enums if it has one or more "." on it's name
117
117
  const split = k.split('.');
118
118
  if (split.length > 1) {
119
119
  let parent = '';
120
120
  for (let i = 0; i < split.length - 1; i++) {
121
121
  parent = parent.length ? (`${parent}.${split[i]}`) : split[i];
122
- enums[parent] ?? (enums[parent] = new constants_schema_1.$ConstantEnum(parent, {}));
122
+ enums[parent] ?? (enums[parent] = new constants_schema_1.$ConstantEnum(node.tag.module, parent, {}));
123
123
  Object.assign(enums[parent].options, enums[k].options);
124
124
  }
125
125
  }
126
126
  }
127
- node.schema = new constants_schema_1.$Constants(node.module, values, enums);
127
+ node.schema = new constants_schema_1.$Constants(node.tag.module, values, enums);
128
128
  return node.schema;
129
129
  }
130
130
  }
@@ -6,10 +6,13 @@ import { MergeUnion } from "../../../engine/util/type";
6
6
  * @subcategory Entity
7
7
  * */
8
8
  export declare class $ConstantValue {
9
+ module: string;
10
+ name: string;
9
11
  scope: string;
10
- key: string;
12
+ key?: string | undefined;
11
13
  value?: any | undefined;
12
- constructor(scope: string, key: string, value?: any | undefined);
14
+ $t: "constants.value";
15
+ constructor(module: string, name: string, scope: string, key?: string | undefined, value?: any | undefined);
13
16
  }
14
17
  /**
15
18
  * @category Schemas
@@ -25,10 +28,12 @@ export declare class $ConstantEnumOption {
25
28
  * @subcategory Entity
26
29
  * */
27
30
  export declare class $ConstantEnum {
31
+ module: string;
28
32
  name: string;
29
33
  options: Record<string, $ConstantEnumOption>;
34
+ $t: "constants.enum";
30
35
  '#data': any;
31
- constructor(name: string, options: Record<string, $ConstantEnumOption>);
36
+ constructor(module: string, name: string, options: Record<string, $ConstantEnumOption>);
32
37
  static keys(schema: $ConstantEnum): string[];
33
38
  static get(schema: $ConstantEnum, key: string): unknown;
34
39
  }
@@ -6,10 +6,13 @@ exports.$Constants = exports.$ConstantEnum = exports.$ConstantEnumOption = expor
6
6
  * @subcategory Entity
7
7
  * */
8
8
  class $ConstantValue {
9
- constructor(scope, key, value) {
9
+ constructor(module, name, scope, key, value) {
10
+ this.module = module;
11
+ this.name = name;
10
12
  this.scope = scope;
11
13
  this.key = key;
12
14
  this.value = value;
15
+ this.$t = 'constants.value';
13
16
  }
14
17
  }
15
18
  exports.$ConstantValue = $ConstantValue;
@@ -29,9 +32,11 @@ exports.$ConstantEnumOption = $ConstantEnumOption;
29
32
  * @subcategory Entity
30
33
  * */
31
34
  class $ConstantEnum {
32
- constructor(name, options) {
35
+ constructor(module, name, options) {
36
+ this.module = module;
33
37
  this.name = name;
34
38
  this.options = options;
39
+ this.$t = 'constants.enum';
35
40
  }
36
41
  static keys(schema) {
37
42
  return Object.keys(schema.options);
@@ -31,9 +31,5 @@ export interface $MessageInferFromData<Name extends string, Data> extends $Messa
31
31
  } & Data;
32
32
  }
33
33
  export type $MessageTemplateBuilderInfer<Module extends $Module, Message extends $Message, Input, Output> = {
34
- [K in Exclude<keyof Output, '$'>]: MessageTemplateFieldBuilder<Module, Message, {
35
- '': Input[K & keyof Input];
36
- }, {
37
- '': Output[(K extends `${infer X}_id` ? X : K) & keyof Output];
38
- }, {}>;
34
+ [K in Exclude<keyof Output, '$'>]: MessageTemplateFieldBuilder<Module, Message, Input[K & keyof Input], Output[(K extends `${infer X}_id` ? X : K) & keyof Output], {}>;
39
35
  };
@@ -1,10 +1,7 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.Message = void 0;
7
- const crypto_1 = __importDefault(require("crypto"));
4
+ const crypto_1 = require("../../../engine/util/crypto");
8
5
  /**
9
6
  * @category Elements
10
7
  * @subcategory Entity
@@ -36,9 +33,7 @@ class Message {
36
33
  return str;
37
34
  }
38
35
  const text = atob(dump(data));
39
- return crypto_1.default.createHmac('sha1', sigKey)
40
- .update(text)
41
- .digest('hex');
36
+ return crypto_1.NesoiCrypto.createHmac(text, sigKey);
42
37
  }
43
38
  getData() {
44
39
  const { $, __meta__, ...data } = this;
@@ -23,7 +23,7 @@ class $Message {
23
23
  const field = _fields[key];
24
24
  str += `${' '.repeat(d)}- ${(0, string_1.colored)(key, 'green')}${field.required ? '' : '?'}: ${field.type}`;
25
25
  if (field.type === 'id') {
26
- str += `(${field.meta.id.bucket.refName})`;
26
+ str += `(${field.meta.id.bucket.short})`;
27
27
  }
28
28
  else if (field.type === 'enum') {
29
29
  const options = field.meta.enum.options;
@@ -1,6 +1,6 @@
1
1
  import { $Message } from "../../..";
2
2
  import { $BucketModelFieldType } from "../../bucket/model/bucket_model.schema";
3
- import { $Dependency } from "../../../../engine/dependency";
3
+ import { Tag } from "../../../../engine/dependency";
4
4
  export type $MessageTemplateRule = (def: {
5
5
  field: $MessageTemplateField;
6
6
  path: string;
@@ -21,19 +21,21 @@ export type $MessageTemplateFieldMeta = {
21
21
  right?: number;
22
22
  };
23
23
  enum?: {
24
- options: string | string[] | Record<string, any>;
25
- dep?: $Dependency;
24
+ enumpath?: [string, string];
25
+ options: Record<string, any>;
26
26
  };
27
27
  file?: {
28
28
  maxsize?: number;
29
29
  extnames?: string[];
30
30
  };
31
31
  id?: {
32
- bucket: $Dependency;
32
+ bucket: Tag;
33
33
  type?: 'int' | 'string';
34
34
  view?: string;
35
35
  };
36
- msg?: $Dependency;
36
+ msg?: {
37
+ tag: Tag;
38
+ };
37
39
  };
38
40
  export type $MessageTemplateFieldType = $BucketModelFieldType | 'string_or_number' | 'id' | 'msg';
39
41
  /**
@@ -4,6 +4,7 @@ import { $MessageInputInfer, $MessageOutputInfer, $MessageTemplateBuilderInfer }
4
4
  import { NesoiDate } from "../../../../engine/data/date";
5
5
  import { $Message } from '../message.schema';
6
6
  import { ModuleTree } from "../../../../engine/tree";
7
+ import { Dependency } from "../../../../engine/dependency";
7
8
  import { MessageEnumpath } from '../../constants/constants.schema';
8
9
  import { NesoiDecimal } from "../../../../engine/data/decimal";
9
10
  import { NesoiDatetime } from "../../../../engine/data/datetime";
@@ -46,7 +47,7 @@ export declare class MessageTemplateFieldFactory<Space extends $Space, Module ex
46
47
  union<Builders extends AnyMessageTemplateFieldBuilder[]>(...children: Builders): MessageTemplateFieldBuilder<Module, Message, Builders[number]["#input"], Builders[number]["#output"], {
47
48
  [x: number]: Builders[number];
48
49
  }, [false, false], "">;
49
- msg<MessageName extends keyof Module['messages'], Message extends Module['messages'][MessageName], Builders extends MessageTemplateFieldBuilders>(msg: MessageName, extra?: Builders): MessageTemplateFieldBuilder<Module, Message, Omit<Message["#raw"], "$"> & {
50
+ msg<MessageName extends keyof Module['messages'], Message extends Module['messages'][MessageName], Builders extends MessageTemplateFieldBuilders>(msg: MessageName, extra?: Builders): MessageTemplateFieldBuilder<Module, NoInfer<Message>, Omit<Message["#raw"], "$"> & {
50
51
  $: any;
51
52
  } & { [K in keyof Builders as Builders[K]["#optional"][0] extends true ? never : `${K & string}${Builders[K]["#input_suffix"]}`]: Builders[K]["#input"]; } & { [K_1 in keyof Builders as Builders[K_1]["#optional"][0] extends true ? `${K_1 & string}${Builders[K_1]["#input_suffix"]}` : never]?: Builders[K_1]["#input"] | undefined; }, Omit<Message["#parsed"], "$"> & {
52
53
  $: any;
@@ -59,7 +60,7 @@ export declare class MessageTemplateFieldFactory<Space extends $Space, Module ex
59
60
  * */
60
61
  export declare class MessageTemplateFieldBuilder<Module extends $Module, Message extends $Message, Input, Output, Children extends MessageTemplateFieldBuilders, Optional = [false, false], InputSuffix extends string = ''> {
61
62
  private type;
62
- private value;
63
+ private meta;
63
64
  private alias?;
64
65
  private children?;
65
66
  '#input': Input;
@@ -70,7 +71,21 @@ export declare class MessageTemplateFieldBuilder<Module extends $Module, Message
70
71
  private _defaultValue?;
71
72
  private _nullable;
72
73
  private _rules;
73
- constructor(type: $MessageTemplateFieldType, value: $MessageTemplateFieldMeta, alias?: string | undefined, children?: Children | undefined);
74
+ constructor(type: $MessageTemplateFieldType, meta: Omit<$MessageTemplateFieldMeta, 'enum' | 'msg' | 'id'> & {
75
+ enum?: {
76
+ options: Record<string, any>;
77
+ } | {
78
+ dep: Dependency;
79
+ } | {
80
+ enumpath: [string, string];
81
+ };
82
+ msg?: Dependency;
83
+ id?: {
84
+ bucket: Dependency;
85
+ type?: 'int' | 'string';
86
+ view?: string;
87
+ };
88
+ }, alias?: string | undefined, children?: Children | undefined);
74
89
  as(alias: string): this;
75
90
  get optional(): MessageTemplateFieldBuilder<Module, Message, Input | undefined, Output | undefined, Children, [
76
91
  true,