nesoi 3.0.0

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 (348) hide show
  1. package/lib/adapters/postgres/src/migrator/database.d.ts +37 -0
  2. package/lib/adapters/postgres/src/migrator/database.js +88 -0
  3. package/lib/adapters/postgres/src/migrator/index.d.ts +1 -0
  4. package/lib/adapters/postgres/src/migrator/index.js +5 -0
  5. package/lib/adapters/postgres/src/migrator/migration.d.ts +73 -0
  6. package/lib/adapters/postgres/src/migrator/migration.js +351 -0
  7. package/lib/adapters/postgres/src/migrator/migrator.d.ts +21 -0
  8. package/lib/adapters/postgres/src/migrator/migrator.js +73 -0
  9. package/lib/adapters/postgres/src/migrator/runner.d.ts +61 -0
  10. package/lib/adapters/postgres/src/migrator/runner.js +202 -0
  11. package/lib/adapters/postgres/src/postgres.bucket_adapter.d.ts +45 -0
  12. package/lib/adapters/postgres/src/postgres.bucket_adapter.js +278 -0
  13. package/lib/adapters/postgres/src/postgres.cli.d.ts +46 -0
  14. package/lib/adapters/postgres/src/postgres.cli.js +124 -0
  15. package/lib/adapters/postgres/src/postgres.nql.d.ts +12 -0
  16. package/lib/adapters/postgres/src/postgres.nql.js +69 -0
  17. package/lib/adapters/postgres/test/postgres.bucket_adapter.test.d.ts +1 -0
  18. package/lib/adapters/postgres/test/postgres.bucket_adapter.test.js +173 -0
  19. package/lib/adapters/postgres/test/postgres.bucket_query.test.d.ts +0 -0
  20. package/lib/adapters/postgres/test/postgres.bucket_query.test.js +136 -0
  21. package/lib/compiler/apps/monolyth/monolyth_compiler.d.ts +21 -0
  22. package/lib/compiler/apps/monolyth/monolyth_compiler.js +95 -0
  23. package/lib/compiler/apps/monolyth/stages/1_mkdir_stage.d.ts +12 -0
  24. package/lib/compiler/apps/monolyth/stages/1_mkdir_stage.js +80 -0
  25. package/lib/compiler/apps/monolyth/stages/2_build_typescript_stage.d.ts +12 -0
  26. package/lib/compiler/apps/monolyth/stages/2_build_typescript_stage.js +128 -0
  27. package/lib/compiler/apps/monolyth/stages/3_copy_types_stage.d.ts +12 -0
  28. package/lib/compiler/apps/monolyth/stages/3_copy_types_stage.js +75 -0
  29. package/lib/compiler/apps/monolyth/stages/4_dump_modules_stage.d.ts +13 -0
  30. package/lib/compiler/apps/monolyth/stages/4_dump_modules_stage.js +130 -0
  31. package/lib/compiler/apps/monolyth/stages/5_dump_cli_stage.d.ts +12 -0
  32. package/lib/compiler/apps/monolyth/stages/5_dump_cli_stage.js +65 -0
  33. package/lib/compiler/apps/monolyth/stages/6_dump_package_json_stage.d.ts +12 -0
  34. package/lib/compiler/apps/monolyth/stages/6_dump_package_json_stage.js +74 -0
  35. package/lib/compiler/compiler.d.ts +19 -0
  36. package/lib/compiler/compiler.js +83 -0
  37. package/lib/compiler/elements/bucket.element.d.ts +23 -0
  38. package/lib/compiler/elements/bucket.element.js +304 -0
  39. package/lib/compiler/elements/constants.element.d.ts +9 -0
  40. package/lib/compiler/elements/constants.element.js +88 -0
  41. package/lib/compiler/elements/controller.element.d.ts +6 -0
  42. package/lib/compiler/elements/controller.element.js +22 -0
  43. package/lib/compiler/elements/element.d.ts +49 -0
  44. package/lib/compiler/elements/element.js +105 -0
  45. package/lib/compiler/elements/externals.element.d.ts +19 -0
  46. package/lib/compiler/elements/externals.element.js +83 -0
  47. package/lib/compiler/elements/job.element.d.ts +7 -0
  48. package/lib/compiler/elements/job.element.js +62 -0
  49. package/lib/compiler/elements/machine.element.d.ts +10 -0
  50. package/lib/compiler/elements/machine.element.js +98 -0
  51. package/lib/compiler/elements/message.element.d.ts +9 -0
  52. package/lib/compiler/elements/message.element.js +175 -0
  53. package/lib/compiler/elements/queue.element.d.ts +6 -0
  54. package/lib/compiler/elements/queue.element.js +24 -0
  55. package/lib/compiler/elements/resource.element.d.ts +7 -0
  56. package/lib/compiler/elements/resource.element.js +64 -0
  57. package/lib/compiler/error.d.ts +21 -0
  58. package/lib/compiler/error.js +57 -0
  59. package/lib/compiler/helpers/dump_helpers.d.ts +11 -0
  60. package/lib/compiler/helpers/dump_helpers.js +157 -0
  61. package/lib/compiler/helpers/name_helpers.d.ts +20 -0
  62. package/lib/compiler/helpers/name_helpers.js +44 -0
  63. package/lib/compiler/index.d.ts +2 -0
  64. package/lib/compiler/index.js +7 -0
  65. package/lib/compiler/module.d.ts +24 -0
  66. package/lib/compiler/module.js +122 -0
  67. package/lib/compiler/stages/1_scan_stage.d.ts +10 -0
  68. package/lib/compiler/stages/1_scan_stage.js +23 -0
  69. package/lib/compiler/stages/2_treeshake_stage.d.ts +11 -0
  70. package/lib/compiler/stages/2_treeshake_stage.js +24 -0
  71. package/lib/compiler/stages/3_extract_ts_stage.d.ts +10 -0
  72. package/lib/compiler/stages/3_extract_ts_stage.js +71 -0
  73. package/lib/compiler/stages/4_build_schemas_stage.d.ts +10 -0
  74. package/lib/compiler/stages/4_build_schemas_stage.js +25 -0
  75. package/lib/compiler/stages/5_inject_ts_stage.d.ts +10 -0
  76. package/lib/compiler/stages/5_inject_ts_stage.js +22 -0
  77. package/lib/compiler/stages/6_build_elements_stage.d.ts +11 -0
  78. package/lib/compiler/stages/6_build_elements_stage.js +22 -0
  79. package/lib/compiler/stages/7_dump_stage.d.ts +14 -0
  80. package/lib/compiler/stages/7_dump_stage.js +208 -0
  81. package/lib/compiler/stages/8_diagnose_stage.d.ts +16 -0
  82. package/lib/compiler/stages/8_diagnose_stage.js +43 -0
  83. package/lib/compiler/treeshake.d.ts +58 -0
  84. package/lib/compiler/treeshake.js +424 -0
  85. package/lib/compiler/typescript/bridge/extract.d.ts +11 -0
  86. package/lib/compiler/typescript/bridge/extract.js +270 -0
  87. package/lib/compiler/typescript/bridge/inject.d.ts +10 -0
  88. package/lib/compiler/typescript/bridge/inject.js +140 -0
  89. package/lib/compiler/typescript/bridge/organize.d.ts +61 -0
  90. package/lib/compiler/typescript/bridge/organize.js +258 -0
  91. package/lib/compiler/typescript/error.d.ts +88 -0
  92. package/lib/compiler/typescript/error.js +265 -0
  93. package/lib/compiler/typescript/parser.d.ts +48 -0
  94. package/lib/compiler/typescript/parser.js +581 -0
  95. package/lib/compiler/typescript/source.d.ts +12 -0
  96. package/lib/compiler/typescript/source.js +87 -0
  97. package/lib/compiler/typescript/transformers/app_inject.transformer.d.ts +2 -0
  98. package/lib/compiler/typescript/transformers/app_inject.transformer.js +89 -0
  99. package/lib/compiler/typescript/transformers/replace_import.transformer.d.ts +4 -0
  100. package/lib/compiler/typescript/transformers/replace_import.transformer.js +102 -0
  101. package/lib/compiler/typescript/typescript_compiler.d.ts +63 -0
  102. package/lib/compiler/typescript/typescript_compiler.js +602 -0
  103. package/lib/elements/blocks/block.builder.d.ts +29 -0
  104. package/lib/elements/blocks/block.builder.js +87 -0
  105. package/lib/elements/blocks/block.d.ts +15 -0
  106. package/lib/elements/blocks/block.js +37 -0
  107. package/lib/elements/blocks/block.schema.d.ts +23 -0
  108. package/lib/elements/blocks/block.schema.js +15 -0
  109. package/lib/elements/blocks/externals/externals.builder.d.ts +30 -0
  110. package/lib/elements/blocks/externals/externals.builder.js +37 -0
  111. package/lib/elements/blocks/externals/externals.schema.d.ts +11 -0
  112. package/lib/elements/blocks/externals/externals.schema.js +19 -0
  113. package/lib/elements/blocks/job/internal/machine_job.builder.d.ts +52 -0
  114. package/lib/elements/blocks/job/internal/machine_job.builder.js +74 -0
  115. package/lib/elements/blocks/job/internal/machine_job.schema.d.ts +5 -0
  116. package/lib/elements/blocks/job/internal/machine_job.schema.js +10 -0
  117. package/lib/elements/blocks/job/internal/resource_job.builder.d.ts +109 -0
  118. package/lib/elements/blocks/job/internal/resource_job.builder.js +146 -0
  119. package/lib/elements/blocks/job/internal/resource_job.d.ts +14 -0
  120. package/lib/elements/blocks/job/internal/resource_job.js +30 -0
  121. package/lib/elements/blocks/job/internal/resource_job.schema.d.ts +11 -0
  122. package/lib/elements/blocks/job/internal/resource_job.schema.js +15 -0
  123. package/lib/elements/blocks/job/job.builder.d.ts +118 -0
  124. package/lib/elements/blocks/job/job.builder.js +137 -0
  125. package/lib/elements/blocks/job/job.d.ts +13 -0
  126. package/lib/elements/blocks/job/job.js +40 -0
  127. package/lib/elements/blocks/job/job.schema.d.ts +26 -0
  128. package/lib/elements/blocks/job/job.schema.js +20 -0
  129. package/lib/elements/blocks/machine/machine.builder.d.ts +58 -0
  130. package/lib/elements/blocks/machine/machine.builder.js +135 -0
  131. package/lib/elements/blocks/machine/machine.d.ts +86 -0
  132. package/lib/elements/blocks/machine/machine.js +228 -0
  133. package/lib/elements/blocks/machine/machine.schema.d.ts +85 -0
  134. package/lib/elements/blocks/machine/machine.schema.js +64 -0
  135. package/lib/elements/blocks/machine/machine_state.builder.d.ts +58 -0
  136. package/lib/elements/blocks/machine/machine_state.builder.js +186 -0
  137. package/lib/elements/blocks/machine/machine_transition.builder.d.ts +48 -0
  138. package/lib/elements/blocks/machine/machine_transition.builder.js +98 -0
  139. package/lib/elements/blocks/queue/adapters/bucket.queue_adapter.d.ts +10 -0
  140. package/lib/elements/blocks/queue/adapters/bucket.queue_adapter.js +17 -0
  141. package/lib/elements/blocks/queue/adapters/queue_adapter.d.ts +6 -0
  142. package/lib/elements/blocks/queue/adapters/queue_adapter.js +6 -0
  143. package/lib/elements/blocks/queue/queue.builder.d.ts +40 -0
  144. package/lib/elements/blocks/queue/queue.builder.js +31 -0
  145. package/lib/elements/blocks/queue/queue.d.ts +9 -0
  146. package/lib/elements/blocks/queue/queue.js +11 -0
  147. package/lib/elements/blocks/queue/queue.schema.d.ts +12 -0
  148. package/lib/elements/blocks/queue/queue.schema.js +17 -0
  149. package/lib/elements/blocks/resource/resource.builder.d.ts +60 -0
  150. package/lib/elements/blocks/resource/resource.builder.js +224 -0
  151. package/lib/elements/blocks/resource/resource.d.ts +48 -0
  152. package/lib/elements/blocks/resource/resource.js +125 -0
  153. package/lib/elements/blocks/resource/resource.schema.d.ts +32 -0
  154. package/lib/elements/blocks/resource/resource.schema.js +30 -0
  155. package/lib/elements/blocks/resource/resource.types.d.ts +38 -0
  156. package/lib/elements/blocks/resource/resource.types.js +3 -0
  157. package/lib/elements/edge/controller/adapters/cli.controller_adapter.d.ts +8 -0
  158. package/lib/elements/edge/controller/adapters/cli.controller_adapter.js +17 -0
  159. package/lib/elements/edge/controller/adapters/controller_adapter.d.ts +14 -0
  160. package/lib/elements/edge/controller/adapters/controller_adapter.js +44 -0
  161. package/lib/elements/edge/controller/controller.builder.d.ts +78 -0
  162. package/lib/elements/edge/controller/controller.builder.js +178 -0
  163. package/lib/elements/edge/controller/controller.config.d.ts +6 -0
  164. package/lib/elements/edge/controller/controller.config.js +2 -0
  165. package/lib/elements/edge/controller/controller.d.ts +22 -0
  166. package/lib/elements/edge/controller/controller.js +41 -0
  167. package/lib/elements/edge/controller/controller.schema.d.ts +44 -0
  168. package/lib/elements/edge/controller/controller.schema.js +51 -0
  169. package/lib/elements/entities/bucket/adapters/bucket_adapter.d.ts +107 -0
  170. package/lib/elements/entities/bucket/adapters/bucket_adapter.js +41 -0
  171. package/lib/elements/entities/bucket/adapters/memory.bucket_adapter.d.ts +37 -0
  172. package/lib/elements/entities/bucket/adapters/memory.bucket_adapter.js +149 -0
  173. package/lib/elements/entities/bucket/adapters/memory.bucket_query copy.d.ts +0 -0
  174. package/lib/elements/entities/bucket/adapters/memory.bucket_query copy.js +218 -0
  175. package/lib/elements/entities/bucket/adapters/memory.nql.d.ts +19 -0
  176. package/lib/elements/entities/bucket/adapters/memory.nql.js +212 -0
  177. package/lib/elements/entities/bucket/adapters/slow_memory.bucket_adapter.d.ts +20 -0
  178. package/lib/elements/entities/bucket/adapters/slow_memory.bucket_adapter.js +31 -0
  179. package/lib/elements/entities/bucket/bucket.builder.d.ts +61 -0
  180. package/lib/elements/entities/bucket/bucket.builder.js +130 -0
  181. package/lib/elements/entities/bucket/bucket.config.d.ts +29 -0
  182. package/lib/elements/entities/bucket/bucket.config.js +2 -0
  183. package/lib/elements/entities/bucket/bucket.d.ts +36 -0
  184. package/lib/elements/entities/bucket/bucket.infer.d.ts +22 -0
  185. package/lib/elements/entities/bucket/bucket.infer.js +85 -0
  186. package/lib/elements/entities/bucket/bucket.js +125 -0
  187. package/lib/elements/entities/bucket/bucket.schema.d.ts +24 -0
  188. package/lib/elements/entities/bucket/bucket.schema.js +16 -0
  189. package/lib/elements/entities/bucket/bucket.types.d.ts +32 -0
  190. package/lib/elements/entities/bucket/bucket.types.js +2 -0
  191. package/lib/elements/entities/bucket/cache/bucket_cache.d.ts +35 -0
  192. package/lib/elements/entities/bucket/cache/bucket_cache.js +182 -0
  193. package/lib/elements/entities/bucket/graph/bucket_graph.builder.d.ts +11 -0
  194. package/lib/elements/entities/bucket/graph/bucket_graph.builder.js +27 -0
  195. package/lib/elements/entities/bucket/graph/bucket_graph.d.ts +16 -0
  196. package/lib/elements/entities/bucket/graph/bucket_graph.infer.d.ts +9 -0
  197. package/lib/elements/entities/bucket/graph/bucket_graph.infer.js +2 -0
  198. package/lib/elements/entities/bucket/graph/bucket_graph.js +136 -0
  199. package/lib/elements/entities/bucket/graph/bucket_graph.schema.d.ts +28 -0
  200. package/lib/elements/entities/bucket/graph/bucket_graph.schema.js +27 -0
  201. package/lib/elements/entities/bucket/graph/bucket_graph_link.builder.d.ts +36 -0
  202. package/lib/elements/entities/bucket/graph/bucket_graph_link.builder.js +56 -0
  203. package/lib/elements/entities/bucket/model/bucket_model.builder.d.ts +13 -0
  204. package/lib/elements/entities/bucket/model/bucket_model.builder.js +24 -0
  205. package/lib/elements/entities/bucket/model/bucket_model.convert.d.ts +5 -0
  206. package/lib/elements/entities/bucket/model/bucket_model.convert.js +51 -0
  207. package/lib/elements/entities/bucket/model/bucket_model.infer.d.ts +13 -0
  208. package/lib/elements/entities/bucket/model/bucket_model.infer.js +2 -0
  209. package/lib/elements/entities/bucket/model/bucket_model.schema.d.ts +35 -0
  210. package/lib/elements/entities/bucket/model/bucket_model.schema.js +47 -0
  211. package/lib/elements/entities/bucket/model/bucket_model_field.builder.d.ts +119 -0
  212. package/lib/elements/entities/bucket/model/bucket_model_field.builder.js +154 -0
  213. package/lib/elements/entities/bucket/query/nql.schema.d.ts +140 -0
  214. package/lib/elements/entities/bucket/query/nql.schema.js +2 -0
  215. package/lib/elements/entities/bucket/query/nql_compiler.d.ts +44 -0
  216. package/lib/elements/entities/bucket/query/nql_compiler.js +620 -0
  217. package/lib/elements/entities/bucket/query/nql_engine.d.ts +16 -0
  218. package/lib/elements/entities/bucket/query/nql_engine.js +42 -0
  219. package/lib/elements/entities/bucket/view/bucket_view.builder.d.ts +14 -0
  220. package/lib/elements/entities/bucket/view/bucket_view.builder.js +24 -0
  221. package/lib/elements/entities/bucket/view/bucket_view.d.ts +10 -0
  222. package/lib/elements/entities/bucket/view/bucket_view.js +102 -0
  223. package/lib/elements/entities/bucket/view/bucket_view.schema.d.ts +55 -0
  224. package/lib/elements/entities/bucket/view/bucket_view.schema.js +42 -0
  225. package/lib/elements/entities/bucket/view/bucket_view_field.builder.d.ts +37 -0
  226. package/lib/elements/entities/bucket/view/bucket_view_field.builder.js +138 -0
  227. package/lib/elements/entities/constants/constants.builder.d.ts +57 -0
  228. package/lib/elements/entities/constants/constants.builder.js +116 -0
  229. package/lib/elements/entities/constants/constants.d.ts +7 -0
  230. package/lib/elements/entities/constants/constants.js +15 -0
  231. package/lib/elements/entities/constants/constants.schema.d.ts +51 -0
  232. package/lib/elements/entities/constants/constants.schema.js +45 -0
  233. package/lib/elements/entities/message/message.builder.d.ts +33 -0
  234. package/lib/elements/entities/message/message.builder.js +41 -0
  235. package/lib/elements/entities/message/message.d.ts +11 -0
  236. package/lib/elements/entities/message/message.infer.d.ts +63 -0
  237. package/lib/elements/entities/message/message.infer.js +2 -0
  238. package/lib/elements/entities/message/message.js +52 -0
  239. package/lib/elements/entities/message/message.schema.d.ts +15 -0
  240. package/lib/elements/entities/message/message.schema.js +13 -0
  241. package/lib/elements/entities/message/message_parser.d.ts +12 -0
  242. package/lib/elements/entities/message/message_parser.js +112 -0
  243. package/lib/elements/entities/message/template/message_template.builder.d.ts +14 -0
  244. package/lib/elements/entities/message/template/message_template.builder.js +20 -0
  245. package/lib/elements/entities/message/template/message_template.schema.d.ts +57 -0
  246. package/lib/elements/entities/message/template/message_template.schema.js +28 -0
  247. package/lib/elements/entities/message/template/message_template_field.builder.d.ts +225 -0
  248. package/lib/elements/entities/message/template/message_template_field.builder.js +172 -0
  249. package/lib/elements/entities/message/template/message_template_parser.d.ts +3 -0
  250. package/lib/elements/entities/message/template/message_template_parser.js +83 -0
  251. package/lib/elements/index.d.ts +11 -0
  252. package/lib/elements/index.js +23 -0
  253. package/lib/engine/apps/app.config.d.ts +49 -0
  254. package/lib/engine/apps/app.config.js +38 -0
  255. package/lib/engine/apps/app.d.ts +70 -0
  256. package/lib/engine/apps/app.js +101 -0
  257. package/lib/engine/apps/inline.app.d.ts +48 -0
  258. package/lib/engine/apps/inline.app.js +144 -0
  259. package/lib/engine/apps/monolyth/monolyth.app.d.ts +20 -0
  260. package/lib/engine/apps/monolyth/monolyth.app.js +94 -0
  261. package/lib/engine/apps/monolyth/monolyth.cli.d.ts +45 -0
  262. package/lib/engine/apps/monolyth/monolyth.cli.js +362 -0
  263. package/lib/engine/auth/authn.d.ts +18 -0
  264. package/lib/engine/auth/authn.js +9 -0
  265. package/lib/engine/auth/zero.authn_provider.d.ts +13 -0
  266. package/lib/engine/auth/zero.authn_provider.js +13 -0
  267. package/lib/engine/cli/cli.d.ts +19 -0
  268. package/lib/engine/cli/cli.js +88 -0
  269. package/lib/engine/cli/cli_adapter.d.ts +18 -0
  270. package/lib/engine/cli/cli_adapter.js +61 -0
  271. package/lib/engine/cli/ui.d.ts +36 -0
  272. package/lib/engine/cli/ui.js +188 -0
  273. package/lib/engine/daemon.d.ts +35 -0
  274. package/lib/engine/daemon.js +66 -0
  275. package/lib/engine/data/date.d.ts +10 -0
  276. package/lib/engine/data/date.js +32 -0
  277. package/lib/engine/data/datetime.d.ts +12 -0
  278. package/lib/engine/data/datetime.js +31 -0
  279. package/lib/engine/data/decimal.d.ts +11 -0
  280. package/lib/engine/data/decimal.js +70 -0
  281. package/lib/engine/data/error.d.ts +213 -0
  282. package/lib/engine/data/error.js +386 -0
  283. package/lib/engine/data/obj.d.ts +16 -0
  284. package/lib/engine/data/obj.js +5 -0
  285. package/lib/engine/data/tree.d.ts +17 -0
  286. package/lib/engine/data/tree.js +111 -0
  287. package/lib/engine/dependency.d.ts +68 -0
  288. package/lib/engine/dependency.js +91 -0
  289. package/lib/engine/module.d.ts +97 -0
  290. package/lib/engine/module.js +335 -0
  291. package/lib/engine/space.d.ts +54 -0
  292. package/lib/engine/space.js +138 -0
  293. package/lib/engine/transaction/nodes/bucket.trx_node.d.ts +53 -0
  294. package/lib/engine/transaction/nodes/bucket.trx_node.js +522 -0
  295. package/lib/engine/transaction/nodes/bucket_query.trx_node.d.ts +17 -0
  296. package/lib/engine/transaction/nodes/bucket_query.trx_node.js +82 -0
  297. package/lib/engine/transaction/nodes/job.trx_node.d.ts +13 -0
  298. package/lib/engine/transaction/nodes/job.trx_node.js +40 -0
  299. package/lib/engine/transaction/nodes/machine.trx_node.d.ts +12 -0
  300. package/lib/engine/transaction/nodes/machine.trx_node.js +39 -0
  301. package/lib/engine/transaction/nodes/queue.trx_node.d.ts +10 -0
  302. package/lib/engine/transaction/nodes/queue.trx_node.js +24 -0
  303. package/lib/engine/transaction/nodes/resource.trx_node.d.ts +24 -0
  304. package/lib/engine/transaction/nodes/resource.trx_node.js +77 -0
  305. package/lib/engine/transaction/trx.d.ts +50 -0
  306. package/lib/engine/transaction/trx.js +94 -0
  307. package/lib/engine/transaction/trx_engine.config.d.ts +15 -0
  308. package/lib/engine/transaction/trx_engine.config.js +2 -0
  309. package/lib/engine/transaction/trx_engine.d.ts +27 -0
  310. package/lib/engine/transaction/trx_engine.js +95 -0
  311. package/lib/engine/transaction/trx_node.d.ts +61 -0
  312. package/lib/engine/transaction/trx_node.js +175 -0
  313. package/lib/engine/tree.d.ts +34 -0
  314. package/lib/engine/tree.js +237 -0
  315. package/lib/engine/util/cache.d.ts +6 -0
  316. package/lib/engine/util/cache.js +20 -0
  317. package/lib/engine/util/console.d.ts +4 -0
  318. package/lib/engine/util/console.js +24 -0
  319. package/lib/engine/util/deep.d.ts +7 -0
  320. package/lib/engine/util/deep.js +2 -0
  321. package/lib/engine/util/dotenv.d.ts +15 -0
  322. package/lib/engine/util/dotenv.js +94 -0
  323. package/lib/engine/util/i18n.d.ts +5 -0
  324. package/lib/engine/util/i18n.js +19 -0
  325. package/lib/engine/util/log.d.ts +17 -0
  326. package/lib/engine/util/log.js +93 -0
  327. package/lib/engine/util/parse.d.ts +63 -0
  328. package/lib/engine/util/parse.js +229 -0
  329. package/lib/engine/util/promise.d.ts +3 -0
  330. package/lib/engine/util/promise.js +14 -0
  331. package/lib/engine/util/shell.d.ts +6 -0
  332. package/lib/engine/util/shell.js +44 -0
  333. package/lib/engine/util/string.d.ts +18 -0
  334. package/lib/engine/util/string.js +25 -0
  335. package/lib/engine/util/type.d.ts +7 -0
  336. package/lib/engine/util/type.js +3 -0
  337. package/lib/schema.d.ts +63 -0
  338. package/lib/schema.js +2 -0
  339. package/package.json +22 -0
  340. package/tools/compile.d.ts +1 -0
  341. package/tools/compile.js +68 -0
  342. package/tools/joaquin/job.d.ts +40 -0
  343. package/tools/joaquin/job.js +47 -0
  344. package/tools/joaquin/message.d.ts +12 -0
  345. package/tools/joaquin/message.js +47 -0
  346. package/tools/joaquin/mock.d.ts +28 -0
  347. package/tools/joaquin/mock.js +128 -0
  348. package/tsconfig.build.tsbuildinfo +1 -0
@@ -0,0 +1,522 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BucketTrxNode = void 0;
4
+ const error_1 = require("../../data/error");
5
+ const trx_node_1 = require("../trx_node");
6
+ const bucket_query_trx_node_1 = require("./bucket_query.trx_node");
7
+ class BucketTrxNode {
8
+ constructor(parentTrx, bucket) {
9
+ this.parentTrx = parentTrx;
10
+ this.bucket = bucket;
11
+ }
12
+ // Read/View One
13
+ async readOne(id) {
14
+ const trx = trx_node_1.TrxNode.makeChildNode(this.parentTrx, this.bucket.schema.module, 'bucket', this.bucket.schema.name);
15
+ await trx_node_1.TrxNode.open(trx, 'readOne', { id });
16
+ let obj;
17
+ try {
18
+ obj = await this.bucket.readOne(trx, id);
19
+ }
20
+ catch (e) {
21
+ await trx_node_1.TrxNode.error(trx, e); // Bucket unexpected error
22
+ throw e;
23
+ }
24
+ await trx_node_1.TrxNode.ok(trx, obj);
25
+ return obj;
26
+ }
27
+ async viewOne(id, view = 'default') {
28
+ const trx = trx_node_1.TrxNode.makeChildNode(this.parentTrx, this.bucket.schema.module, 'bucket', this.bucket.schema.name);
29
+ await trx_node_1.TrxNode.open(trx, 'viewOne', { id, view });
30
+ let obj;
31
+ try {
32
+ obj = await this.bucket.viewOne(trx, id, view);
33
+ }
34
+ catch (e) {
35
+ await trx_node_1.TrxNode.error(trx, e); // Bucket unexpected error
36
+ throw e;
37
+ }
38
+ await trx_node_1.TrxNode.ok(trx, obj);
39
+ return obj;
40
+ }
41
+ async readOneOrFail(id) {
42
+ const trx = trx_node_1.TrxNode.makeChildNode(this.parentTrx, this.bucket.schema.module, 'bucket', this.bucket.schema.name);
43
+ await trx_node_1.TrxNode.open(trx, 'readOneOrFail', { id });
44
+ let obj;
45
+ try {
46
+ obj = await this.bucket.readOne(trx, id);
47
+ }
48
+ catch (e) {
49
+ await trx_node_1.TrxNode.error(trx, e); // Bucket unexpected error
50
+ throw e;
51
+ }
52
+ if (!obj) {
53
+ const e = error_1.NesoiError.Bucket.ObjNotFound({ bucket: this.bucket.schema.alias, id: id });
54
+ await trx_node_1.TrxNode.error(trx, e);
55
+ throw e;
56
+ }
57
+ await trx_node_1.TrxNode.ok(trx, obj);
58
+ return obj;
59
+ }
60
+ async viewOneOrFail(id, view = 'default') {
61
+ const trx = trx_node_1.TrxNode.makeChildNode(this.parentTrx, this.bucket.schema.module, 'bucket', this.bucket.schema.name);
62
+ await trx_node_1.TrxNode.open(trx, 'viewOneOrFail', { id, view });
63
+ let obj;
64
+ try {
65
+ obj = await this.bucket.viewOne(trx, id, view);
66
+ }
67
+ catch (e) {
68
+ await trx_node_1.TrxNode.error(trx, e); // Bucket unexpected error
69
+ throw e;
70
+ }
71
+ if (!obj) {
72
+ const e = error_1.NesoiError.Bucket.ObjNotFound({ bucket: this.bucket.schema.alias, id: id });
73
+ await trx_node_1.TrxNode.error(trx, e);
74
+ throw e;
75
+ }
76
+ await trx_node_1.TrxNode.ok(trx, obj);
77
+ return obj;
78
+ }
79
+ // All
80
+ async readAll(pagination, order) {
81
+ const trx = trx_node_1.TrxNode.makeChildNode(this.parentTrx, this.bucket.schema.module, 'bucket', this.bucket.schema.name);
82
+ await trx_node_1.TrxNode.open(trx, 'readAll', { pagination, order });
83
+ let objs;
84
+ try {
85
+ objs = await this.bucket.readAll(trx, pagination, order);
86
+ }
87
+ catch (e) {
88
+ await trx_node_1.TrxNode.error(trx, e); // Bucket unexpected error
89
+ throw e;
90
+ }
91
+ await trx_node_1.TrxNode.ok(trx, { length: objs.length });
92
+ return objs;
93
+ }
94
+ async viewAll(view = 'default', pagination, order) {
95
+ const trx = trx_node_1.TrxNode.makeChildNode(this.parentTrx, this.bucket.schema.module, 'bucket', this.bucket.schema.name);
96
+ await trx_node_1.TrxNode.open(trx, 'viewAll', { view, pagination, order });
97
+ let objs;
98
+ try {
99
+ objs = await this.bucket.viewAll(trx, view, pagination, order);
100
+ }
101
+ catch (e) {
102
+ await trx_node_1.TrxNode.error(trx, e); // Bucket unexpected error
103
+ throw e;
104
+ }
105
+ await trx_node_1.TrxNode.ok(trx, { length: objs.length });
106
+ return objs;
107
+ }
108
+ // Query
109
+ query(query, view = 'default') {
110
+ const trx = trx_node_1.TrxNode.makeChildNode(this.parentTrx, this.bucket.schema.module, 'bucket', this.bucket.schema.name);
111
+ return new bucket_query_trx_node_1.BucketQueryTrxNode(trx, this.bucket, query, view);
112
+ }
113
+ // Graph Links
114
+ async readLink(id, link, view = 'default') {
115
+ const trx = trx_node_1.TrxNode.makeChildNode(this.parentTrx, this.bucket.schema.module, 'bucket', this.bucket.schema.name);
116
+ await trx_node_1.TrxNode.open(trx, 'readLink', { id, link });
117
+ let obj;
118
+ let linkObj;
119
+ try {
120
+ obj = await this.bucket.readOne(trx, id);
121
+ if (!obj) {
122
+ const schema = this.bucket.schema.graph.links[link];
123
+ if (schema.many) {
124
+ return [];
125
+ }
126
+ return undefined;
127
+ }
128
+ linkObj = await this.bucket.graph.readLink(trx, link, obj, view);
129
+ }
130
+ catch (e) {
131
+ await trx_node_1.TrxNode.error(trx, e); // Bucket unexpected error
132
+ throw e;
133
+ }
134
+ await trx_node_1.TrxNode.ok(trx, linkObj);
135
+ return linkObj;
136
+ }
137
+ async readLinkOrFail(id, link, view = 'default') {
138
+ const trx = trx_node_1.TrxNode.makeChildNode(this.parentTrx, this.bucket.schema.module, 'bucket', this.bucket.schema.name);
139
+ await trx_node_1.TrxNode.open(trx, 'readLinkOrFail', { id, link });
140
+ let obj;
141
+ let linkObj;
142
+ try {
143
+ obj = await this.bucket.readOne(trx, id);
144
+ if (!obj) {
145
+ const e = error_1.NesoiError.Bucket.ObjNotFound({ bucket: this.bucket.schema.alias, id: id });
146
+ await trx_node_1.TrxNode.error(trx, e);
147
+ throw e;
148
+ }
149
+ linkObj = await this.bucket.graph.readLink(trx, link, obj, view);
150
+ if (!linkObj) {
151
+ const e = error_1.NesoiError.Bucket.Graph.LinkNotFound({ bucket: this.bucket.schema.alias, link: link });
152
+ await trx_node_1.TrxNode.error(trx, e);
153
+ throw e;
154
+ }
155
+ }
156
+ catch (e) {
157
+ await trx_node_1.TrxNode.error(trx, e); // Bucket unexpected error
158
+ throw e;
159
+ }
160
+ await trx_node_1.TrxNode.ok(trx);
161
+ return linkObj;
162
+ }
163
+ async hasLink(id, link) {
164
+ const trx = trx_node_1.TrxNode.makeChildNode(this.parentTrx, this.bucket.schema.module, 'bucket', this.bucket.schema.name);
165
+ await trx_node_1.TrxNode.open(trx, 'hasLink', { id, link });
166
+ let obj;
167
+ let result;
168
+ try {
169
+ obj = await this.bucket.readOne(trx, id);
170
+ if (!obj) {
171
+ return undefined;
172
+ }
173
+ result = await this.bucket.graph.hasLink(trx, id, obj);
174
+ }
175
+ catch (e) {
176
+ await trx_node_1.TrxNode.error(trx, e); // Bucket unexpected error
177
+ throw e;
178
+ }
179
+ await trx_node_1.TrxNode.ok(trx, { result });
180
+ return result;
181
+ }
182
+ // Put / Create / Update
183
+ /**
184
+ * Updates an object by passing it directly to the bucket adapter,
185
+ * without checking if it exists. This creates an object if a new
186
+ * id is passed.
187
+ */
188
+ async put(obj) {
189
+ const trx = trx_node_1.TrxNode.makeChildNode(this.parentTrx, this.bucket.schema.module, 'bucket', this.bucket.schema.name);
190
+ await trx_node_1.TrxNode.open(trx, 'put', { obj });
191
+ let _obj;
192
+ try {
193
+ _obj = await this.bucket.put(trx, obj);
194
+ }
195
+ catch (e) {
196
+ await trx_node_1.TrxNode.error(trx, e); // Bucket unexpected error
197
+ throw e;
198
+ }
199
+ await trx_node_1.TrxNode.ok(trx);
200
+ return _obj;
201
+ }
202
+ /**
203
+ * Creates an object by passing it to the bucket adapter,
204
+ * without an ID (it's removed if passed).
205
+ * This is a safer version of `put`, which ensures no update will happen.
206
+ */
207
+ async create(obj) {
208
+ delete obj['id'];
209
+ const trx = trx_node_1.TrxNode.makeChildNode(this.parentTrx, this.bucket.schema.module, 'bucket', this.bucket.schema.name);
210
+ await trx_node_1.TrxNode.open(trx, 'create', { obj });
211
+ const composition = obj['#composition'] || {};
212
+ delete obj['#composition'];
213
+ const input = Object.assign({}, this.bucket.schema.model.defaults, obj);
214
+ let _obj;
215
+ try {
216
+ _obj = await this.bucket.put(trx, input);
217
+ // Composition
218
+ for (const link of Object.values(this.bucket.schema.graph.links)) {
219
+ if (link.rel !== 'composition')
220
+ continue;
221
+ const linkObj = composition[link.name];
222
+ if (!linkObj) {
223
+ const e = error_1.NesoiError.Bucket.MissingComposition({ method: 'create', bucket: this.bucket.schema.name, link: link.name });
224
+ await trx_node_1.TrxNode.error(trx, e);
225
+ throw e;
226
+ }
227
+ if (link.many) {
228
+ if (!Array.isArray(linkObj)) {
229
+ const e = error_1.NesoiError.Bucket.CompositionValueShouldBeArray({ method: 'create', bucket: this.bucket.schema.name, link: link.name });
230
+ await trx_node_1.TrxNode.error(trx, e);
231
+ throw e;
232
+ }
233
+ for (const linkObjItem of linkObj) {
234
+ await trx.bucket(link.bucket.refName).create(linkObjItem);
235
+ }
236
+ }
237
+ else {
238
+ await trx.bucket(link.bucket.refName).create(linkObj);
239
+ }
240
+ }
241
+ }
242
+ catch (e) {
243
+ await trx_node_1.TrxNode.error(trx, e); // Bucket unexpected error
244
+ throw e;
245
+ }
246
+ await trx_node_1.TrxNode.ok(trx);
247
+ return _obj;
248
+ }
249
+ /**
250
+ * Reads the id from the bucket adapter to ensure the object exists
251
+ * before updating.
252
+ * This is a safer version of `put`, suited for updating data.
253
+ */
254
+ async replace(obj) {
255
+ const trx = trx_node_1.TrxNode.makeChildNode(this.parentTrx, this.bucket.schema.module, 'bucket', this.bucket.schema.name);
256
+ await trx_node_1.TrxNode.open(trx, 'replace', { obj });
257
+ const composition = obj['#composition'] || {};
258
+ delete obj['#composition'];
259
+ let newObj;
260
+ try {
261
+ const oldObj = await this.bucket.readOne(trx, obj['id']);
262
+ if (!oldObj) {
263
+ const e = error_1.NesoiError.Bucket.ObjNotFound({ bucket: this.bucket.schema.alias, id: obj['id'] });
264
+ await trx_node_1.TrxNode.error(trx, e);
265
+ throw e;
266
+ }
267
+ newObj = await this.bucket.put(trx, obj);
268
+ // Composition
269
+ for (const link of Object.values(this.bucket.schema.graph.links)) {
270
+ if (link.rel !== 'composition')
271
+ continue;
272
+ const linkObj = composition[link.name];
273
+ if (!linkObj) {
274
+ const e = error_1.NesoiError.Bucket.MissingComposition({ method: 'replace', bucket: this.bucket.schema.name, link: link.name });
275
+ await trx_node_1.TrxNode.error(trx, e);
276
+ throw e;
277
+ }
278
+ if (link.many) {
279
+ if (!Array.isArray(linkObj)) {
280
+ const e = error_1.NesoiError.Bucket.CompositionValueShouldBeArray({ method: 'replace', bucket: this.bucket.schema.name, link: link.name });
281
+ await trx_node_1.TrxNode.error(trx, e);
282
+ throw e;
283
+ }
284
+ for (const linkObjItem of linkObj) {
285
+ await trx.bucket(link.bucket.refName).replace(linkObjItem);
286
+ }
287
+ }
288
+ else {
289
+ await trx.bucket(link.bucket.refName).replace(linkObj);
290
+ }
291
+ }
292
+ }
293
+ catch (e) {
294
+ await trx_node_1.TrxNode.error(trx, e); // Bucket unexpected error
295
+ throw e;
296
+ }
297
+ await trx_node_1.TrxNode.ok(trx);
298
+ return newObj;
299
+ }
300
+ /**
301
+ * Reads the id from the bucket adapter to ensure the object exists
302
+ * before updating. Applies changes to the object instead of replacing it.
303
+ */
304
+ async patch(obj) {
305
+ const trx = trx_node_1.TrxNode.makeChildNode(this.parentTrx, this.bucket.schema.module, 'bucket', this.bucket.schema.name);
306
+ await trx_node_1.TrxNode.open(trx, 'patch', { obj });
307
+ const composition = obj['#composition'] || {};
308
+ delete obj['#composition'];
309
+ let newObj;
310
+ try {
311
+ const oldObj = await this.bucket.readOne(trx, obj['id']);
312
+ if (!oldObj) {
313
+ const e = error_1.NesoiError.Bucket.ObjNotFound({ bucket: this.bucket.schema.alias, id: obj['id'] });
314
+ await trx_node_1.TrxNode.error(trx, e);
315
+ throw e;
316
+ }
317
+ // TODO: deep merge
318
+ const putObj = Object.assign({}, oldObj, obj);
319
+ newObj = await this.bucket.put(trx, putObj);
320
+ // Composition
321
+ for (const link of Object.values(this.bucket.schema.graph.links)) {
322
+ if (link.rel !== 'composition')
323
+ continue;
324
+ const linkObj = composition[link.name];
325
+ if (!linkObj) {
326
+ const e = error_1.NesoiError.Bucket.MissingComposition({ method: 'patch', bucket: this.bucket.schema.name, link: link.name });
327
+ await trx_node_1.TrxNode.error(trx, e);
328
+ throw e;
329
+ }
330
+ if (link.many) {
331
+ if (!Array.isArray(linkObj)) {
332
+ const e = error_1.NesoiError.Bucket.CompositionValueShouldBeArray({ method: 'patch', bucket: this.bucket.schema.name, link: link.name });
333
+ await trx_node_1.TrxNode.error(trx, e);
334
+ throw e;
335
+ }
336
+ for (const linkObjItem of linkObj) {
337
+ await trx.bucket(link.bucket.refName).patch(linkObjItem);
338
+ }
339
+ }
340
+ else {
341
+ await trx.bucket(link.bucket.refName).patch(linkObj);
342
+ }
343
+ }
344
+ }
345
+ catch (e) {
346
+ await trx_node_1.TrxNode.error(trx, e); // Bucket unexpected error
347
+ throw e;
348
+ }
349
+ await trx_node_1.TrxNode.ok(trx);
350
+ return newObj;
351
+ }
352
+ // Delete
353
+ async delete(id) {
354
+ const trx = trx_node_1.TrxNode.makeChildNode(this.parentTrx, this.bucket.schema.module, 'bucket', this.bucket.schema.name);
355
+ await trx_node_1.TrxNode.open(trx, 'delete', { id });
356
+ try {
357
+ // Composition (with other key)
358
+ for (const link of Object.values(this.bucket.schema.graph.links)) {
359
+ if (link.rel !== 'composition')
360
+ continue;
361
+ if (link.keyOwner !== 'other')
362
+ continue;
363
+ const linked = await this.readLink(id, link.name);
364
+ if (link.many) {
365
+ for (const linkedItem of linked) {
366
+ await trx.bucket(link.bucket.refName).delete(linkedItem.id);
367
+ }
368
+ }
369
+ else {
370
+ await trx.bucket(link.bucket.refName).delete(linked.id);
371
+ }
372
+ }
373
+ // The object itself
374
+ await this.bucket.delete(trx, id);
375
+ // Composition (with self key)
376
+ for (const link of Object.values(this.bucket.schema.graph.links)) {
377
+ if (link.rel !== 'composition')
378
+ continue;
379
+ if (link.keyOwner !== 'self')
380
+ continue;
381
+ const linked = await this.readLink(id, link.name);
382
+ if (link.many) {
383
+ await trx.bucket(link.bucket.refName).deleteMany(linked.map((l) => l.id));
384
+ }
385
+ else {
386
+ await trx.bucket(link.bucket.refName).delete(linked.id);
387
+ }
388
+ }
389
+ }
390
+ catch (e) {
391
+ await trx_node_1.TrxNode.error(trx, e); // Bucket unexpected error
392
+ throw e;
393
+ }
394
+ await trx_node_1.TrxNode.ok(trx);
395
+ }
396
+ /**
397
+ * **WARNING**: This does not currently implement composition
398
+ */
399
+ async deleteMany(ids) {
400
+ const trx = trx_node_1.TrxNode.makeChildNode(this.parentTrx, this.bucket.schema.module, 'bucket', this.bucket.schema.name);
401
+ await trx_node_1.TrxNode.open(trx, 'deleteMany', { ids });
402
+ try {
403
+ // Composition (with other key)
404
+ for (const link of Object.values(this.bucket.schema.graph.links)) {
405
+ if (link.rel !== 'composition')
406
+ continue;
407
+ if (link.keyOwner !== 'other')
408
+ continue;
409
+ for (const id of ids) {
410
+ const linked = await this.readLink(id, link.name);
411
+ if (link.many) {
412
+ await trx.bucket(link.bucket.refName).deleteMany(linked.map((l) => l.id));
413
+ }
414
+ else {
415
+ await trx.bucket(link.bucket.refName).delete(linked.id);
416
+ }
417
+ }
418
+ }
419
+ await this.bucket.deleteMany(trx, ids);
420
+ // Composition (with self key)
421
+ for (const link of Object.values(this.bucket.schema.graph.links)) {
422
+ if (link.rel !== 'composition')
423
+ continue;
424
+ if (link.keyOwner !== 'self')
425
+ continue;
426
+ for (const id of ids) {
427
+ const linked = await this.readLink(id, link.name);
428
+ if (link.many) {
429
+ await trx.bucket(link.bucket.refName).deleteMany(linked.map((l) => l.id));
430
+ }
431
+ else {
432
+ await trx.bucket(link.bucket.refName).delete(linked.id);
433
+ }
434
+ }
435
+ }
436
+ }
437
+ catch (e) {
438
+ await trx_node_1.TrxNode.error(trx, e); // Bucket unexpected error
439
+ throw e;
440
+ }
441
+ await trx_node_1.TrxNode.ok(trx);
442
+ }
443
+ async deleteOrFail(id) {
444
+ const trx = trx_node_1.TrxNode.makeChildNode(this.parentTrx, this.bucket.schema.module, 'bucket', this.bucket.schema.name);
445
+ await trx_node_1.TrxNode.open(trx, 'deleteOrFail', { id });
446
+ try {
447
+ // Composition (with other key)
448
+ for (const link of Object.values(this.bucket.schema.graph.links)) {
449
+ if (link.rel !== 'composition')
450
+ continue;
451
+ if (link.keyOwner !== 'other')
452
+ continue;
453
+ const linked = await this.readLink(id, link.name);
454
+ if (link.many) {
455
+ for (const linkedItem of linked) {
456
+ await trx.bucket(link.bucket.refName).deleteOrFail(linkedItem.id);
457
+ }
458
+ }
459
+ else {
460
+ await trx.bucket(link.bucket.refName).deleteOrFail(linked.id);
461
+ }
462
+ }
463
+ const obj = await this.bucket.readOne(trx, id);
464
+ if (!obj) {
465
+ const e = error_1.NesoiError.Bucket.ObjNotFound({ bucket: this.bucket.schema.alias, id: id });
466
+ await trx_node_1.TrxNode.error(trx, e);
467
+ throw e;
468
+ }
469
+ await this.bucket.delete(trx, id);
470
+ // Composition (with self key)
471
+ for (const link of Object.values(this.bucket.schema.graph.links)) {
472
+ if (link.rel !== 'composition')
473
+ continue;
474
+ if (link.keyOwner !== 'self')
475
+ continue;
476
+ const linked = await this.readLink(id, link.name);
477
+ if (link.many) {
478
+ for (const linkedItem of linked) {
479
+ await trx.bucket(link.bucket.refName).deleteOrFail(linkedItem.id);
480
+ }
481
+ }
482
+ else {
483
+ await trx.bucket(link.bucket.refName).deleteOrFail(linked.id);
484
+ }
485
+ }
486
+ }
487
+ catch (e) {
488
+ await trx_node_1.TrxNode.error(trx, e); // Bucket unexpected error
489
+ throw e;
490
+ }
491
+ await trx_node_1.TrxNode.ok(trx);
492
+ }
493
+ async buildOne(obj, view) {
494
+ const trx = trx_node_1.TrxNode.makeChildNode(this.parentTrx, this.bucket.schema.module, 'bucket', this.bucket.schema.name);
495
+ await trx_node_1.TrxNode.open(trx, 'buildOne', { obj });
496
+ let result;
497
+ try {
498
+ result = await this.bucket.buildOne(trx, obj, view);
499
+ }
500
+ catch (e) {
501
+ await trx_node_1.TrxNode.error(trx, e); // Bucket unexpected error
502
+ throw e;
503
+ }
504
+ await trx_node_1.TrxNode.ok(trx);
505
+ return result;
506
+ }
507
+ async buildAll(objs, view) {
508
+ const trx = trx_node_1.TrxNode.makeChildNode(this.parentTrx, this.bucket.schema.module, 'bucket', this.bucket.schema.name);
509
+ await trx_node_1.TrxNode.open(trx, 'buildAll', { objs });
510
+ let result;
511
+ try {
512
+ result = await this.bucket.buildAll(trx, objs, view);
513
+ }
514
+ catch (e) {
515
+ await trx_node_1.TrxNode.error(trx, e); // Bucket unexpected error
516
+ throw e;
517
+ }
518
+ await trx_node_1.TrxNode.ok(trx);
519
+ return result;
520
+ }
521
+ }
522
+ exports.BucketTrxNode = BucketTrxNode;
@@ -0,0 +1,17 @@
1
+ import { $Module, ViewName, ViewObj } from "../../../schema";
2
+ import { TrxNode } from '../trx_node';
3
+ import { $Bucket } from "../../../elements/entities/bucket/bucket.schema";
4
+ import { Bucket } from "../../../elements/entities/bucket/bucket";
5
+ import { NQL_AnyQuery, NQL_Pagination, NQL_Query } from "../../../elements/entities/bucket/query/nql.schema";
6
+ export declare class BucketQueryTrxNode<M extends $Module, B extends $Bucket, V extends ViewName<B>, Obj = ViewObj<B, V>> {
7
+ private trx;
8
+ private bucket;
9
+ private query;
10
+ private view;
11
+ constructor(trx: TrxNode<any, M, any>, bucket: Bucket<M, B>, query: NQL_AnyQuery, view: V);
12
+ merge($: NQL_Query<M, B>): void;
13
+ first(): Promise<Obj | undefined>;
14
+ firstOrFail(): Promise<Obj>;
15
+ all(): Promise<Obj[]>;
16
+ page(pagination: NQL_Pagination): Promise<Obj[]>;
17
+ }
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BucketQueryTrxNode = void 0;
4
+ const trx_node_1 = require("../trx_node");
5
+ const error_1 = require("../../data/error");
6
+ class BucketQueryTrxNode {
7
+ constructor(trx, bucket, query, view) {
8
+ this.trx = trx;
9
+ this.bucket = bucket;
10
+ this.query = query;
11
+ this.view = view;
12
+ }
13
+ merge($) {
14
+ const and = $['#and'];
15
+ const or = $['#or'];
16
+ delete $['#and'];
17
+ delete $['#or'];
18
+ Object.assign(this.query, $);
19
+ this.query['#and*'] = and; // TODO: make this a little better
20
+ this.query['#or*'] = or; // TODO: make this a little better
21
+ }
22
+ async first() {
23
+ await trx_node_1.TrxNode.open(this.trx, 'queryFirst', { schema: this.query, view: this.view });
24
+ let results;
25
+ try {
26
+ results = await this.bucket.query(this.trx, this.query, undefined, this.view);
27
+ }
28
+ catch (e) {
29
+ await trx_node_1.TrxNode.error(this.trx, e); // Bucket unexpected error
30
+ throw e;
31
+ }
32
+ await trx_node_1.TrxNode.ok(this.trx, { length: results.length });
33
+ return results.length
34
+ ? results[0]
35
+ : undefined;
36
+ }
37
+ async firstOrFail() {
38
+ await trx_node_1.TrxNode.open(this.trx, 'queryFirstOrFail', { schema: this.query, view: this.view });
39
+ let results;
40
+ try {
41
+ results = await this.bucket.query(this.trx, this.query, undefined, this.view);
42
+ }
43
+ catch (e) {
44
+ await trx_node_1.TrxNode.error(this.trx, e); // Bucket unexpected error
45
+ throw e;
46
+ }
47
+ if (!results.length) {
48
+ const e = error_1.NesoiError.Bucket.Query.NoResults({ bucket: this.bucket.schema.alias, query: this.query });
49
+ await trx_node_1.TrxNode.error(this.trx, e);
50
+ throw e;
51
+ }
52
+ await trx_node_1.TrxNode.ok(this.trx, { length: results.length });
53
+ return results[0];
54
+ }
55
+ async all() {
56
+ await trx_node_1.TrxNode.open(this.trx, 'queryAll', { schema: this.query, view: this.view });
57
+ let results;
58
+ try {
59
+ results = await this.bucket.query(this.trx, this.query, undefined, this.view);
60
+ }
61
+ catch (e) {
62
+ await trx_node_1.TrxNode.error(this.trx, e); // Bucket unexpected error
63
+ throw e;
64
+ }
65
+ await trx_node_1.TrxNode.ok(this.trx, { length: results.length });
66
+ return results;
67
+ }
68
+ async page(pagination) {
69
+ await trx_node_1.TrxNode.open(this.trx, 'queryPage', { schema: this.query, pagination, view: this.view });
70
+ let results;
71
+ try {
72
+ results = await this.bucket.query(this.trx, this.query, pagination, this.view);
73
+ }
74
+ catch (e) {
75
+ await trx_node_1.TrxNode.error(this.trx, e); // Bucket unexpected error
76
+ throw e;
77
+ }
78
+ await trx_node_1.TrxNode.ok(this.trx, { length: results.length });
79
+ return results;
80
+ }
81
+ }
82
+ exports.BucketQueryTrxNode = BucketQueryTrxNode;
@@ -0,0 +1,13 @@
1
+ import { $Module } from "../../../schema";
2
+ import { TrxNode } from '../trx_node';
3
+ import { $Job } from "../../../elements/blocks/job/job.schema";
4
+ import { Job } from "../../../elements/blocks/job/job";
5
+ import { Message } from "../../../elements/entities/message/message";
6
+ export declare class JobTrxNode<M extends $Module, $ extends $Job> {
7
+ private trx;
8
+ private job;
9
+ private ctx?;
10
+ constructor(trx: TrxNode<any, M, any>, job: Job<any, M, $>, ctx?: Record<string, any> | undefined);
11
+ run(message: $['#input']['#raw']): Promise<$['#output']>;
12
+ forward(message: Message<$['#input']>): Promise<$['#output']>;
13
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JobTrxNode = void 0;
4
+ const trx_node_1 = require("../trx_node");
5
+ class JobTrxNode {
6
+ constructor(trx, job, ctx) {
7
+ this.trx = trx;
8
+ this.job = job;
9
+ this.ctx = ctx;
10
+ }
11
+ async run(message) {
12
+ const trx = trx_node_1.TrxNode.makeChildNode(this.trx, this.job.schema.module, 'job', this.job.schema.name);
13
+ await trx_node_1.TrxNode.open(trx, 'run', message);
14
+ let response;
15
+ try {
16
+ response = await this.job.consumeRaw(trx, message, this.ctx);
17
+ }
18
+ catch (e) {
19
+ await trx_node_1.TrxNode.error(trx, e);
20
+ throw e;
21
+ }
22
+ await trx_node_1.TrxNode.ok(trx, response);
23
+ return response;
24
+ }
25
+ async forward(message) {
26
+ const trx = trx_node_1.TrxNode.makeChildNode(this.trx, this.job.schema.module, 'job', this.job.schema.name);
27
+ await trx_node_1.TrxNode.open(trx, 'forward', message);
28
+ let response;
29
+ try {
30
+ response = await this.job.consume(trx, message, this.ctx);
31
+ }
32
+ catch (e) {
33
+ await trx_node_1.TrxNode.error(trx, e);
34
+ throw e;
35
+ }
36
+ await trx_node_1.TrxNode.ok(trx, response);
37
+ return response;
38
+ }
39
+ }
40
+ exports.JobTrxNode = JobTrxNode;
@@ -0,0 +1,12 @@
1
+ import { $Module } from "../../../schema";
2
+ import { TrxNode } from '../trx_node';
3
+ import { $Machine } from "../../../elements/blocks/machine/machine.schema";
4
+ import { Machine, MachineOutput } from "../../../elements/blocks/machine/machine";
5
+ import { Message } from "../../../elements/entities/message/message";
6
+ export declare class MachineTrxNode<M extends $Module, $ extends $Machine> {
7
+ private trx;
8
+ private machine;
9
+ constructor(trx: TrxNode<any, M, any>, machine: Machine<any, M, $>);
10
+ run(message: $['#input']['#raw']): Promise<MachineOutput>;
11
+ forward(message: Message<$['#input']>): Promise<MachineOutput>;
12
+ }