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,105 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Element = void 0;
4
+ const name_helpers_1 = require("../helpers/name_helpers");
5
+ const dump_helpers_1 = require("../helpers/dump_helpers");
6
+ class Element {
7
+ constructor(compiler, module, $t, files, schema, dependencies, inlineRoot, bridge) {
8
+ this.compiler = compiler;
9
+ this.module = module;
10
+ this.$t = $t;
11
+ this.files = files;
12
+ this.schema = schema;
13
+ this.dependencies = dependencies;
14
+ this.inlineRoot = inlineRoot;
15
+ this.bridge = bridge;
16
+ const names = name_helpers_1.NameHelpers.names(schema);
17
+ this.lowName = names.low;
18
+ this.highName = names.high;
19
+ this.typeName = names.type;
20
+ }
21
+ prepare() {
22
+ return;
23
+ }
24
+ filepath() {
25
+ return `${this.$t}__${this.lowName}.ts`;
26
+ }
27
+ bridgeImports() {
28
+ let imports = '';
29
+ for (const imp of this.bridge?.imports || []) {
30
+ imports += imp + '\n';
31
+ }
32
+ return imports;
33
+ }
34
+ customImports(nesoiPath) {
35
+ return '';
36
+ }
37
+ dumpFileSchema(nesoiPath) {
38
+ this.prepare();
39
+ return `import { ${this.typeName} } from '../${this.module}.module'\n`
40
+ + this.bridgeImports()
41
+ + this.customImports(nesoiPath)
42
+ + '\n'
43
+ + `const ${this.typeName}: ${this.typeName} = ${dump_helpers_1.DumpHelpers.dumpSchema(this.schema)}\n`
44
+ + `export default ${this.typeName}`;
45
+ }
46
+ dumpTypeSchema() {
47
+ this.type = this.buildType();
48
+ const typeschema = {
49
+ 'constants': '$Constants',
50
+ 'externals': '$Externals',
51
+ 'message': '$Message',
52
+ 'bucket': '$Bucket',
53
+ 'job': '$Job',
54
+ 'resource': '$Resource',
55
+ 'machine': '$Machine',
56
+ 'controller': '$Controller',
57
+ 'queue': '$Queue',
58
+ }[this.$t];
59
+ return `export interface ${this.typeName} extends ${typeschema} ${dump_helpers_1.DumpHelpers.dumpType(this.type)};\n`;
60
+ }
61
+ static makeAuthnType(authn) {
62
+ if (authn.length === 0) {
63
+ return '{}';
64
+ }
65
+ const type = {};
66
+ authn.forEach(provider => {
67
+ type[provider] = `AuthnUsers['${provider}']`;
68
+ });
69
+ return type;
70
+ }
71
+ static makeIOType(compiler, schema) {
72
+ const input = schema.input.map(msg => {
73
+ const schema = compiler.tree.getSchema(msg);
74
+ const msgName = name_helpers_1.NameHelpers.names(schema);
75
+ return msgName.type;
76
+ });
77
+ const output = schema['#output'] || this.makeOutputType(compiler, schema);
78
+ return {
79
+ input: input.length ? input.join(' | ') : 'never',
80
+ output
81
+ };
82
+ }
83
+ static makeOutputType(compiler, schema) {
84
+ const raw = schema.output?.raw ? dump_helpers_1.DumpHelpers.dumpType(schema.output.raw) : undefined;
85
+ const msgs = schema.output?.msg?.map(msg => {
86
+ const schema = compiler.tree.getSchema(msg);
87
+ const msgName = name_helpers_1.NameHelpers.names(schema);
88
+ return msgName.type;
89
+ });
90
+ const objs = schema.output?.obj?.map(bucket => {
91
+ const schema = compiler.tree.getSchema(bucket);
92
+ const bucketName = name_helpers_1.NameHelpers.names(schema);
93
+ return bucketName.high;
94
+ });
95
+ const type = [
96
+ raw,
97
+ ...msgs || [],
98
+ ...objs || []
99
+ ].join(' | ');
100
+ return type || 'unknown';
101
+ }
102
+ }
103
+ exports.Element = Element;
104
+ Element.Any = Symbol('undefined as any');
105
+ Element.Never = Symbol('undefined as never');
@@ -0,0 +1,19 @@
1
+ import { $Externals } from "../../elements/blocks/externals/externals.schema";
2
+ import { Element } from './element';
3
+ import { Compiler } from '../compiler';
4
+ import { ResolvedBuilderNode } from "../../engine/dependency";
5
+ export declare class ExternalsElement extends Element<$Externals> {
6
+ protected compiler: Compiler;
7
+ protected module: string;
8
+ $t: string;
9
+ files: string[];
10
+ schema: $Externals;
11
+ dependencies: ResolvedBuilderNode[];
12
+ inlineRoot?: ResolvedBuilderNode | undefined;
13
+ bridge?: ResolvedBuilderNode['bridge'];
14
+ private elements;
15
+ constructor(compiler: Compiler, module: string, $t: string, files: string[], schema: $Externals, dependencies: ResolvedBuilderNode[], inlineRoot?: ResolvedBuilderNode | undefined, bridge?: ResolvedBuilderNode['bridge']);
16
+ protected buildType(): {};
17
+ dumpFileSchema(): string;
18
+ dumpTypeSchema(): string;
19
+ }
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExternalsElement = void 0;
4
+ const element_1 = require("./element");
5
+ const name_helpers_1 = require("../helpers/name_helpers");
6
+ const dump_helpers_1 = require("../helpers/dump_helpers");
7
+ class ExternalsElement extends element_1.Element {
8
+ constructor(compiler, module, $t, files, schema, dependencies, inlineRoot, bridge) {
9
+ super(compiler, module, $t, files, schema, dependencies, inlineRoot, bridge);
10
+ this.compiler = compiler;
11
+ this.module = module;
12
+ this.$t = $t;
13
+ this.files = files;
14
+ this.schema = schema;
15
+ this.dependencies = dependencies;
16
+ this.inlineRoot = inlineRoot;
17
+ this.bridge = bridge;
18
+ this.elements = {
19
+ bucket: {},
20
+ job: {}
21
+ };
22
+ // Object.entries(schema.buckets).forEach(([key, ref]) => {
23
+ // const element = compiler.modules[ref.module].elements
24
+ // .find(el => el.lowName === ref.name && el.$t === 'bucket')
25
+ // if (!element) {
26
+ // throw new Error(`External bucket ${ref.name} not found`)
27
+ // }
28
+ // this.elements.bucket[key] = element as BucketElement;
29
+ // })
30
+ // Object.entries(schema.jobs).forEach(([key, ref]) => {
31
+ // const element = compiler.modules[ref.module].elements
32
+ // .find(el => el.lowName === ref.name && el.$t === 'job')
33
+ // if (!element) {
34
+ // throw new Error(`External job ${ref.name} not found`)
35
+ // }
36
+ // this.elements.job[key] = element as JobElement;
37
+ // })
38
+ // this.type = this.buildType();
39
+ }
40
+ buildType() {
41
+ return {};
42
+ // if (!this.elements) {
43
+ // return {};
44
+ // }
45
+ // const type = {
46
+ // models: {},
47
+ // buckets: {},
48
+ // jobs: {}
49
+ // } as ObjTypeAsObj;
50
+ // Object.entries(this.elements.bucket).map(([tag, el]) => {
51
+ // type.models[tag] = (el.type as ObjTypeAsObj).model;
52
+ // type.buckets[tag] = (el.type as ObjTypeAsObj).bucket;
53
+ // })
54
+ // return type;
55
+ }
56
+ dumpFileSchema() {
57
+ return `const ${this.typeName} = ${dump_helpers_1.DumpHelpers.dumpSchema(this.schema)}\n`
58
+ + `export default ${this.typeName}`;
59
+ }
60
+ dumpTypeSchema() {
61
+ this.type = this.buildType();
62
+ this.prepare();
63
+ const externalModules = new Set();
64
+ Object.values(this.schema.buckets).forEach(ref => {
65
+ externalModules.add(ref.module);
66
+ });
67
+ Object.values(this.schema.jobs).forEach(ref => {
68
+ externalModules.add(ref.module);
69
+ });
70
+ // Add imports for external elements
71
+ this.compiler.modules[this.module].elements.forEach(el => {
72
+ el.dependencies.forEach(dep => {
73
+ if (dep.module !== this.module) {
74
+ externalModules.add(dep.module);
75
+ }
76
+ });
77
+ });
78
+ return Array.from(externalModules)
79
+ .map(module => `import ${name_helpers_1.NameHelpers.nameLowToHigh(module)}Module from './${module}.module'`)
80
+ .join('\n');
81
+ }
82
+ }
83
+ exports.ExternalsElement = ExternalsElement;
@@ -0,0 +1,7 @@
1
+ import { Element } from './element';
2
+ import { $Job } from "../../elements/blocks/job/job.schema";
3
+ export declare class JobElement extends Element<$Job> {
4
+ protected prepare(): void;
5
+ protected customImports(nesoiPath: string): string;
6
+ protected buildType(): import("./element").TypeAsObj;
7
+ }
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JobElement = void 0;
4
+ const element_1 = require("./element");
5
+ const dump_helpers_1 = require("../helpers/dump_helpers");
6
+ const resource_job_1 = require("../../elements/blocks/job/internal/resource_job");
7
+ class JobElement extends element_1.Element {
8
+ prepare() {
9
+ this.schema['#authn'] = element_1.Element.Any;
10
+ this.schema['#input'] = this.schema.input.length ? element_1.Element.Any : element_1.Element.Never;
11
+ this.schema['#output'] = element_1.Element.Any;
12
+ this.schema['#extra'] = element_1.Element.Any;
13
+ // ResourceJob
14
+ if (this.schema.scope && 'resource' in this.schema.scope) {
15
+ this.schema.method = {
16
+ __fn: 'ResourceJob.method as (...args: any[]) => any',
17
+ __fn_type: 'any' // TODO: evaluate
18
+ };
19
+ if (this.schema.scope.prepareMethod == resource_job_1.ResourceJob.prepareMsgData) {
20
+ this.schema.scope.prepareMethod = {
21
+ __fn: '($ => $.msg.getData()) as (...args: any[]) => any',
22
+ __fn_type: 'any' // TODO: evaluate
23
+ };
24
+ }
25
+ else if (this.schema.scope.prepareMethod == resource_job_1.ResourceJob.prepareTrue) {
26
+ this.schema.scope.prepareMethod = {
27
+ __fn: '($ => true) as (...args: any[]) => any',
28
+ __fn_type: 'boolean' // TODO: evaluate
29
+ };
30
+ }
31
+ this.schema.scope.execMethod = {
32
+ __fn: `Resource.${this.schema.scope.method} as (...args: any[]) => any`,
33
+ __fn_type: 'any' // TODO: evaluate
34
+ };
35
+ }
36
+ }
37
+ customImports(nesoiPath) {
38
+ let imports = '';
39
+ if (this.schema.scope && 'resource' in this.schema.scope) {
40
+ imports += `import { Resource } from '${nesoiPath}/lib/elements/blocks/resource/resource';\n`;
41
+ imports += `import { ResourceJob } from '${nesoiPath}/lib/elements/blocks/job/internal/resource_job';\n`;
42
+ }
43
+ return imports;
44
+ }
45
+ buildType() {
46
+ const { input, output } = element_1.Element.makeIOType(this.compiler, this.schema);
47
+ const type = dump_helpers_1.DumpHelpers.dumpValueToType(this.schema, {
48
+ extrasAndAsserts: () => 'any',
49
+ method: () => 'any',
50
+ output: () => 'any'
51
+ });
52
+ Object.assign(type, {
53
+ 'input': 'any',
54
+ '#authn': element_1.Element.makeAuthnType(this.schema.authn),
55
+ '#input': input,
56
+ '#output': output,
57
+ '#extra': 'any // TODO: Typescript API'
58
+ });
59
+ return type;
60
+ }
61
+ }
62
+ exports.JobElement = JobElement;
@@ -0,0 +1,10 @@
1
+ import { Element } from './element';
2
+ import { $Machine } from "../../elements/blocks/machine/machine.schema";
3
+ export declare class MachineElement extends Element<$Machine> {
4
+ protected prepare(): void;
5
+ private prepareStates;
6
+ private prepareTransitions;
7
+ protected buildType(): import("./element").TypeAsObj;
8
+ private buildStatesType;
9
+ private buildTransitionsType;
10
+ }
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MachineElement = void 0;
4
+ const element_1 = require("./element");
5
+ const dependency_1 = require("../../engine/dependency");
6
+ const dump_helpers_1 = require("../helpers/dump_helpers");
7
+ class MachineElement extends element_1.Element {
8
+ prepare() {
9
+ this.schema['#authn'] = element_1.Element.Any;
10
+ this.schema['#input'] = this.schema.input.length ? element_1.Element.Any : element_1.Element.Never;
11
+ this.schema['#output'] = element_1.Element.Never;
12
+ this.schema['#data'] = element_1.Element.Any;
13
+ this.prepareStates(this.schema.states);
14
+ this.prepareTransitions(this.schema.transitions.from);
15
+ this.prepareTransitions(this.schema.transitions.to);
16
+ }
17
+ prepareStates(fields) {
18
+ Object.values(fields).forEach(field => {
19
+ field['#authn'] = element_1.Element.Any;
20
+ field['#input'] = field.input.length ? element_1.Element.Any : element_1.Element.Never;
21
+ field['#input.enter'] = field.inputEnter.length ? element_1.Element.Any : element_1.Element.Never;
22
+ field['#input.leave'] = field.inputLeave.length ? element_1.Element.Any : element_1.Element.Never;
23
+ field['#output'] = element_1.Element.Never;
24
+ });
25
+ }
26
+ prepareTransitions(ofStates) {
27
+ Object.values(ofStates).forEach(ofMsgs => {
28
+ Object.values(ofMsgs).forEach(transitions => {
29
+ Object.values(transitions).forEach(transition => {
30
+ transition['#authn'] = element_1.Element.Any;
31
+ transition['#input'] = transition.input.length ? element_1.Element.Any : element_1.Element.Never;
32
+ transition['#output'] = element_1.Element.Never;
33
+ });
34
+ });
35
+ });
36
+ }
37
+ buildType() {
38
+ const type = dump_helpers_1.DumpHelpers.dumpValueToType(this.schema, {
39
+ states: v => this.buildStatesType(v),
40
+ transitions: {
41
+ from: v => this.buildTransitionsType(v),
42
+ to: v => this.buildTransitionsType(v)
43
+ }
44
+ });
45
+ const data = this.schema.buckets.map(bucket => {
46
+ const schema = this.compiler.tree.getSchema(bucket);
47
+ return dependency_1.$Dependency.typeName(bucket, this.module) + '[\'#data\']';
48
+ });
49
+ Object.assign(type, {
50
+ '#authn': element_1.Element.makeAuthnType(this.schema.authn),
51
+ '#input': element_1.Element.makeIOType(this.compiler, this.schema).input,
52
+ '#output': 'never',
53
+ '#data': data,
54
+ });
55
+ return type;
56
+ }
57
+ buildStatesType(states) {
58
+ const type = {};
59
+ Object.entries(states).forEach(([key, state]) => {
60
+ type[key] = dump_helpers_1.DumpHelpers.dumpValueToType(state);
61
+ Object.assign(type[key], {
62
+ jobs: {
63
+ beforeEnter: type[key].jobs.beforeEnter ?? 'undefined',
64
+ afterEnter: type[key].jobs.afterEnter ?? 'undefined',
65
+ beforeLeave: type[key].jobs.beforeLeave ?? 'undefined',
66
+ afterLeave: type[key].jobs.afterLeave ?? 'undefined'
67
+ },
68
+ '#authn': element_1.Element.makeAuthnType(state.authn),
69
+ '#input': element_1.Element.makeIOType(this.compiler, state).input,
70
+ '#input.enter': element_1.Element.makeIOType(this.compiler, { input: state.inputEnter, output: 'never' }).input,
71
+ '#input.leave': element_1.Element.makeIOType(this.compiler, { input: state.inputLeave, output: 'never' }).input,
72
+ '#output': 'never',
73
+ });
74
+ });
75
+ return type;
76
+ }
77
+ buildTransitionsType(transitions) {
78
+ const type = {};
79
+ Object.entries(transitions).forEach(([state, stateTransitions]) => {
80
+ type[state] = {};
81
+ Object.entries(stateTransitions).forEach(([msg, msgTransitions]) => {
82
+ type[state][msg] = [];
83
+ Object.values(msgTransitions).forEach(transition => {
84
+ const t = dump_helpers_1.DumpHelpers.dumpValueToType(transition, undefined, 4);
85
+ Object.assign(t, {
86
+ '#authn': element_1.Element.makeAuthnType(transition.authn),
87
+ '#input': element_1.Element.makeIOType(this.compiler, transition).input,
88
+ '#output': 'never',
89
+ });
90
+ type[state][msg].push(t);
91
+ });
92
+ type[state][msg] = '[' + type[state][msg].map((v) => dump_helpers_1.DumpHelpers.dumpType(v, 4)).join(', ') + ']';
93
+ });
94
+ });
95
+ return type;
96
+ }
97
+ }
98
+ exports.MachineElement = MachineElement;
@@ -0,0 +1,9 @@
1
+ import { $Message } from "../../elements/entities/message/message.schema";
2
+ import { Element } from './element';
3
+ export declare class MessageElement extends Element<$Message> {
4
+ protected prepare(): void;
5
+ private prepareFields;
6
+ protected customImports(nesoiPath: string): string;
7
+ protected buildType(): import("./element").TypeAsObj;
8
+ private buildIO;
9
+ }
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MessageElement = void 0;
4
+ const element_1 = require("./element");
5
+ const name_helpers_1 = require("../helpers/name_helpers");
6
+ const dependency_1 = require("../../engine/dependency");
7
+ const dump_helpers_1 = require("../helpers/dump_helpers");
8
+ class MessageElement extends element_1.Element {
9
+ prepare() {
10
+ this.schema['#raw'] = element_1.Element.Any;
11
+ this.schema['#parsed'] = element_1.Element.Any;
12
+ this.prepareFields(this.schema.template.fields);
13
+ }
14
+ prepareFields(fields) {
15
+ Object.values(fields).forEach(field => {
16
+ field['#raw'] = element_1.Element.Any;
17
+ field['#parsed'] = element_1.Element.Any;
18
+ if (field.children) {
19
+ this.prepareFields(field.children);
20
+ }
21
+ });
22
+ }
23
+ customImports(nesoiPath) {
24
+ // TODO: only include this import if there are computed fields
25
+ return `import { $MessageTemplateRule } from '${nesoiPath}/lib/elements/entities/message/template/message_template.schema'`;
26
+ }
27
+ buildType() {
28
+ const { input, output } = this.buildIO();
29
+ const type = dump_helpers_1.DumpHelpers.dumpValueToType(this.schema, {
30
+ template: v => 'any'
31
+ });
32
+ Object.assign(type, {
33
+ '#raw': {
34
+ $: dump_helpers_1.DumpHelpers.dumpValueToType(this.lowName),
35
+ ...input
36
+ },
37
+ '#parsed': {
38
+ $: dump_helpers_1.DumpHelpers.dumpValueToType(this.lowName),
39
+ ...output
40
+ }
41
+ });
42
+ return type;
43
+ }
44
+ buildIO(fields = this.schema.template.fields) {
45
+ const input = {};
46
+ const output = {};
47
+ Object.entries(fields).forEach(([key, field]) => {
48
+ if (field.type === 'boolean') {
49
+ input[key] = 'boolean';
50
+ output[key] = 'boolean';
51
+ }
52
+ else if (field.type === 'date') {
53
+ input[key] = 'string';
54
+ output[key] = 'NesoiDate';
55
+ }
56
+ else if (field.type === 'datetime') {
57
+ input[key] = 'string';
58
+ output[key] = 'NesoiDatetime';
59
+ }
60
+ else if (field.type === 'enum') {
61
+ const options = field.meta.enum.options;
62
+ if (typeof options === 'string') {
63
+ const constants = this.compiler.tree.getSchema(field.meta.enum.dep);
64
+ const constName = name_helpers_1.NameHelpers.names(constants);
65
+ const tag = dependency_1.$Tag.parseOrFail(options);
66
+ const moduleName = constName.high + 'Module';
67
+ let enumkeys;
68
+ if (tag.module || constants.module !== this.module) {
69
+ const key = tag.name || options;
70
+ const enumpath = key.match(/(.*)\.\{(.*)\}$/);
71
+ enumkeys = enumpath
72
+ ? `keyof ${moduleName}['constants']['enums']['${enumpath[1]}']['options']`
73
+ : `keyof ${moduleName}['constants']['enums']['${key}']['options']`;
74
+ }
75
+ else {
76
+ const enumpath = options.match(/(.*)\.\{(.*)\}$/);
77
+ enumkeys = enumpath
78
+ ? `keyof ${constName.type}['enums']['${enumpath[1]}']['options']`
79
+ : `keyof ${constName.type}['enums']['${options}']['options']`;
80
+ }
81
+ input[key] = enumkeys;
82
+ output[key] = enumkeys;
83
+ }
84
+ else if (Array.isArray(options)) {
85
+ input[key] = options.map(v => dump_helpers_1.DumpHelpers.dumpValueToType(v));
86
+ output[key] = options.map(v => dump_helpers_1.DumpHelpers.dumpValueToType(v));
87
+ }
88
+ else if (typeof options === 'object') {
89
+ input[key] = Object.keys(options || []).map(v => dump_helpers_1.DumpHelpers.dumpValueToType(v));
90
+ output[key] = Object.values(options || []).map(v => dump_helpers_1.DumpHelpers.dumpValueToType(v));
91
+ }
92
+ }
93
+ else if (field.type === 'file') {
94
+ input[key] = 'File';
95
+ output[key] = 'File';
96
+ }
97
+ else if (field.type === 'float') {
98
+ input[key] = 'number';
99
+ output[key] = 'number';
100
+ }
101
+ else if (field.type === 'id') {
102
+ const ref = field.meta.id.bucket;
103
+ const modelName = dependency_1.$Dependency.typeName(ref, this.module);
104
+ input[key + '_id'] = `${modelName}['#data']['id']`;
105
+ output[key] = `${modelName}['#data']`;
106
+ }
107
+ else if (field.type === 'int') {
108
+ input[key] = 'number';
109
+ output[key] = 'number';
110
+ }
111
+ else if (field.type === 'string') {
112
+ input[key] = 'string';
113
+ output[key] = 'string';
114
+ }
115
+ else if (field.type === 'string_or_number') {
116
+ input[key] = '(string | number)';
117
+ output[key] = '(string | number)';
118
+ }
119
+ else if (field.type === 'obj') {
120
+ const child = this.buildIO(field.children);
121
+ input[key] = child.input;
122
+ output[key] = child.output;
123
+ }
124
+ else if (field.type === 'dict') {
125
+ const child = this.buildIO(field.children);
126
+ input[key] = {
127
+ '[x: string]': child.input.__dict
128
+ };
129
+ output[key] = {
130
+ '[x: string]': child.output.__dict
131
+ };
132
+ }
133
+ else if (field.type === 'msg') {
134
+ input[key] = 'any';
135
+ output[key] = 'any';
136
+ }
137
+ else {
138
+ input[key] = 'unknown';
139
+ output[key] = 'unknown';
140
+ }
141
+ if (!field.required) {
142
+ if (typeof input[key] === 'object') {
143
+ input[key].__optional = true;
144
+ }
145
+ else {
146
+ input[key] += ' | undefined';
147
+ }
148
+ if (field.defaultValue === undefined) {
149
+ if (typeof output[key] === 'object') {
150
+ output[key].__optional = true;
151
+ }
152
+ else {
153
+ output[key] += ' | undefined';
154
+ }
155
+ }
156
+ }
157
+ if (field.array) {
158
+ if (typeof input[key] === 'object') {
159
+ input[key].__array = true;
160
+ }
161
+ else {
162
+ input[key] += '[]';
163
+ }
164
+ if (typeof output[key] === 'object') {
165
+ output[key].__array = true;
166
+ }
167
+ else {
168
+ output[key] += '[]';
169
+ }
170
+ }
171
+ });
172
+ return { input, output };
173
+ }
174
+ }
175
+ exports.MessageElement = MessageElement;
@@ -0,0 +1,6 @@
1
+ import { Element } from './element';
2
+ import { $Queue } from "../../elements/blocks/queue/queue.schema";
3
+ export declare class QueueElement extends Element<$Queue> {
4
+ protected prepare(): void;
5
+ protected buildType(): any;
6
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QueueElement = void 0;
4
+ const element_1 = require("./element");
5
+ const dump_helpers_1 = require("../helpers/dump_helpers");
6
+ class QueueElement extends element_1.Element {
7
+ prepare() {
8
+ this.schema['#authn'] = element_1.Element.Any;
9
+ this.schema['#input'] = element_1.Element.Any;
10
+ this.schema['#output'] = element_1.Element.Any;
11
+ }
12
+ buildType() {
13
+ const { input, output } = element_1.Element.makeIOType(this.compiler, this.schema);
14
+ const type = dump_helpers_1.DumpHelpers.dumpValueToType(this.schema);
15
+ delete type['output'];
16
+ return {
17
+ '#authn': element_1.Element.makeAuthnType(this.schema.authn),
18
+ '#input': input,
19
+ '#output': output,
20
+ ...type,
21
+ };
22
+ }
23
+ }
24
+ exports.QueueElement = QueueElement;
@@ -0,0 +1,7 @@
1
+ import { Element } from './element';
2
+ import { $Resource } from "../../elements/blocks/resource/resource.schema";
3
+ export declare class ResourceElement extends Element<$Resource> {
4
+ protected prepare(): void;
5
+ protected buildType(): import("./element").TypeAsObj;
6
+ protected buildCreate(): void;
7
+ }