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,83 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.Compiler = void 0;
40
+ const fs = __importStar(require("fs"));
41
+ const tree_1 = require("../engine/tree");
42
+ const space_1 = require("../engine/space");
43
+ const typescript_compiler_1 = require("./typescript/typescript_compiler");
44
+ const _1_scan_stage_1 = require("./stages/1_scan_stage");
45
+ const _2_treeshake_stage_1 = require("./stages/2_treeshake_stage");
46
+ const _3_extract_ts_stage_1 = require("./stages/3_extract_ts_stage");
47
+ const _4_build_schemas_stage_1 = require("./stages/4_build_schemas_stage");
48
+ const _5_inject_ts_stage_1 = require("./stages/5_inject_ts_stage");
49
+ const _6_build_elements_stage_1 = require("./stages/6_build_elements_stage");
50
+ const _7_dump_stage_1 = require("./stages/7_dump_stage");
51
+ const console_1 = __importDefault(require("../engine/util/console"));
52
+ const log_1 = require("../engine/util/log");
53
+ const _8_diagnose_stage_1 = require("./stages/8_diagnose_stage");
54
+ class Compiler {
55
+ constructor(space, config) {
56
+ this.space = space;
57
+ this.config = config;
58
+ this.modules = {};
59
+ this.tree = new tree_1.ModuleTree({}, this.config);
60
+ this.tsCompiler = new typescript_compiler_1.TypeScriptCompiler(space, config?.nesoiPath);
61
+ }
62
+ async run() {
63
+ console_1.default.header('Elements Compiler');
64
+ // Cleanup .nesoi folder
65
+ fs.rmSync(space_1.Space.path(this.space, '.nesoi'), { recursive: true, force: true });
66
+ try {
67
+ await new _1_scan_stage_1.ScanStage(this).run();
68
+ await new _2_treeshake_stage_1.TreeshakeStage(this).run();
69
+ await new _3_extract_ts_stage_1.ExtractTSStage(this).run();
70
+ await new _4_build_schemas_stage_1.BuildSchemasStage(this).run();
71
+ await new _5_inject_ts_stage_1.InjectTSStage(this).run();
72
+ await new _6_build_elements_stage_1.BuildElementsStage(this).run();
73
+ await new _7_dump_stage_1.DumpStage(this).run();
74
+ await new _8_diagnose_stage_1.DiagnoseStage(this).run();
75
+ }
76
+ catch (e) {
77
+ log_1.Log.error('compiler', 'nesoi', e.toString(), { stack: e.stack });
78
+ process.exit();
79
+ }
80
+ return this;
81
+ }
82
+ }
83
+ exports.Compiler = Compiler;
@@ -0,0 +1,23 @@
1
+ import { $BucketModel, $BucketModelFields } from "../../elements/entities/bucket/model/bucket_model.schema";
2
+ import { Element, ObjTypeAsObj, TypeAsObj } from './element';
3
+ import { $Bucket } from "../../elements/entities/bucket/bucket.schema";
4
+ export declare class BucketElement extends Element<$Bucket> {
5
+ protected prepare(): void;
6
+ private prepareGraph;
7
+ private prepareViews;
8
+ private prepareViewFields;
9
+ protected customImports(nesoiPath: string): string;
10
+ protected buildType(): {
11
+ model: ObjTypeAsObj;
12
+ bucket: TypeAsObj;
13
+ };
14
+ private buildModelFieldType;
15
+ private buildCompositionType;
16
+ buildModelType(fields?: $BucketModelFields): ObjTypeAsObj;
17
+ buildModelFieldNamesType(model: ObjTypeAsObj, fields?: $BucketModelFields, path?: string): Record<string, TypeAsObj>;
18
+ private buildGraphType;
19
+ private buildViewsType;
20
+ private buildViewType;
21
+ dumpTypeSchema(): string;
22
+ static buildModelTypeFromSchema(model: $BucketModel): any;
23
+ }
@@ -0,0 +1,304 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BucketElement = 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 tree_1 = require("../../engine/data/tree");
8
+ const dump_helpers_1 = require("../helpers/dump_helpers");
9
+ class BucketElement extends element_1.Element {
10
+ // Prepare
11
+ prepare() {
12
+ this.schema['#data'] = element_1.Element.Any;
13
+ this.schema['#fieldpath'] = element_1.Element.Any;
14
+ this.schema['#composition'] = element_1.Element.Any;
15
+ this.schema['#defaults'] = element_1.Element.Any;
16
+ this.prepareGraph(this.schema.graph.links);
17
+ this.prepareViews(this.schema.views);
18
+ }
19
+ prepareGraph(links) {
20
+ Object.values(links).forEach(field => {
21
+ field['#bucket'] = element_1.Element.Any;
22
+ field['#many'] = element_1.Element.Any;
23
+ });
24
+ }
25
+ prepareViews(views) {
26
+ Object.values(views).forEach(view => {
27
+ view['#data'] = element_1.Element.Any;
28
+ this.prepareViewFields(view.fields);
29
+ });
30
+ }
31
+ prepareViewFields(fields) {
32
+ Object.values(fields).forEach(field => {
33
+ field['#data'] = element_1.Element.Any;
34
+ if (field.children) {
35
+ this.prepareViewFields(field.children);
36
+ }
37
+ else {
38
+ field.children = element_1.Element.Never;
39
+ }
40
+ });
41
+ }
42
+ // Imports
43
+ customImports(nesoiPath) {
44
+ // TODO: only include this import if there are computed fields
45
+ return `import { $BucketViewFieldFn } from '${nesoiPath}/lib/elements/entities/bucket/view/bucket_view.schema';\n`;
46
+ }
47
+ // Build Type
48
+ buildType() {
49
+ const model = this.buildModelType();
50
+ const bucket = dump_helpers_1.DumpHelpers.dumpValueToType(this.schema, {
51
+ graph: () => this.buildGraphType(),
52
+ views: () => this.buildViewsType(model)
53
+ });
54
+ const fieldpaths = this.buildModelFieldNamesType(model);
55
+ const composition = this.buildCompositionType();
56
+ Object.assign(bucket, {
57
+ '#fieldpath': fieldpaths,
58
+ '#composition': composition,
59
+ '#defaults': bucket.defaults || '{}',
60
+ '#data': this.highName
61
+ });
62
+ return {
63
+ model,
64
+ bucket
65
+ };
66
+ }
67
+ buildModelFieldType(field) {
68
+ let type = 'unknown';
69
+ if (field.type === 'boolean') {
70
+ type = 'boolean';
71
+ }
72
+ else if (field.type === 'date') {
73
+ type = 'NesoiDate';
74
+ }
75
+ else if (field.type === 'datetime') {
76
+ type = 'NesoiDatetime';
77
+ }
78
+ else if (field.type === 'enum') {
79
+ const options = field._enum.options;
80
+ if (typeof options === 'string') {
81
+ const constants = this.compiler.tree.getSchema(field._enum.dep);
82
+ const constName = name_helpers_1.NameHelpers.names(constants);
83
+ const tag = dependency_1.$Tag.parseOrFail(options);
84
+ if (tag.module || constants.module !== this.module) {
85
+ const moduleName = constName.high + 'Module';
86
+ type = `keyof ${moduleName}['constants']['enums']['${tag.name || options}']['options']`;
87
+ }
88
+ else {
89
+ type = `keyof ${constName.type}['enums']['${options}']['options']`;
90
+ }
91
+ }
92
+ else if (Array.isArray(options)) {
93
+ type = options.map(v => dump_helpers_1.DumpHelpers.dumpValueToType(v));
94
+ }
95
+ else if (typeof options === 'object') {
96
+ type = Object.values(options || []).map(v => dump_helpers_1.DumpHelpers.dumpValueToType(v));
97
+ }
98
+ }
99
+ else if (field.type === 'file') {
100
+ type = 'File';
101
+ }
102
+ else if (field.type === 'float') {
103
+ type = 'number';
104
+ }
105
+ else if (field.type === 'int') {
106
+ type = 'number';
107
+ }
108
+ else if (field.type === 'string') {
109
+ type = 'string';
110
+ }
111
+ else if (field.type === 'obj') {
112
+ type = this.buildModelType(field.children);
113
+ }
114
+ else if (field.type === 'unknown') {
115
+ type = 'unknown';
116
+ }
117
+ else if (field.type === 'dict') {
118
+ type = this.buildModelType({
119
+ '[x: string]': field.children.__dict
120
+ });
121
+ }
122
+ if (!field.required && !field.defaultValue) {
123
+ if (typeof type === 'object') {
124
+ type.__optional = true;
125
+ }
126
+ else {
127
+ type += ' | undefined';
128
+ }
129
+ }
130
+ if (field.array) {
131
+ if (typeof type === 'object') {
132
+ type.__array = true;
133
+ }
134
+ else {
135
+ type += '[]';
136
+ }
137
+ }
138
+ if (field.or) {
139
+ type = dump_helpers_1.DumpHelpers.dumpType(type, 4)
140
+ + ' | '
141
+ + dump_helpers_1.DumpHelpers.dumpType(this.buildModelFieldType(field.or), 4);
142
+ }
143
+ return type;
144
+ }
145
+ buildCompositionType() {
146
+ const composition = {};
147
+ Object.values(this.schema.graph.links).forEach(link => {
148
+ if (link.rel === 'composition') {
149
+ const bucket = dependency_1.$Dependency.typeName(link.bucket, this.module);
150
+ composition[link.name] = {
151
+ bucket,
152
+ many: link.many.toString(),
153
+ optional: link.optional.toString()
154
+ };
155
+ }
156
+ });
157
+ return composition;
158
+ }
159
+ buildModelType(fields = this.schema.model.fields) {
160
+ const model = {};
161
+ Object.entries(fields).forEach(([key, field]) => {
162
+ model[key] = this.buildModelFieldType(field);
163
+ });
164
+ return model;
165
+ }
166
+ buildModelFieldNamesType(model, fields = this.schema.model.fields, path) {
167
+ const fieldPaths = {};
168
+ Object.entries(fields).forEach(([key, field]) => {
169
+ if (key === '__dict') {
170
+ return;
171
+ }
172
+ const keyPath = (path ? path + '.' : '') + key;
173
+ fieldPaths[keyPath] = model[key];
174
+ if (field.children) {
175
+ let nextFields = field.children;
176
+ let nextKey = keyPath;
177
+ if ('__dict' in field.children) {
178
+ nextFields = field.children.__dict.children;
179
+ nextKey += '.*';
180
+ }
181
+ if (field.array)
182
+ nextKey += '.*';
183
+ if (nextFields) {
184
+ Object.assign(fieldPaths, this.buildModelFieldNamesType(model[key], nextFields, nextKey));
185
+ }
186
+ }
187
+ });
188
+ return fieldPaths;
189
+ }
190
+ buildGraphType() {
191
+ const links = {};
192
+ Object.entries(this.schema.graph.links).forEach(([key, link]) => {
193
+ links[key] = dump_helpers_1.DumpHelpers.dumpValueToType(link);
194
+ const bucket = dependency_1.$Dependency.typeName(link.bucket, this.module);
195
+ Object.assign(links[key], {
196
+ '#bucket': bucket,
197
+ '#many': link.many.toString()
198
+ });
199
+ });
200
+ return {
201
+ $t: dump_helpers_1.DumpHelpers.dumpValueToType('bucket.graph'),
202
+ links
203
+ };
204
+ }
205
+ buildViewsType(model) {
206
+ const views = {};
207
+ Object.entries(this.schema.views).forEach(([key, view]) => {
208
+ views[key] = this.buildViewType(model, view.fields, key);
209
+ });
210
+ return views;
211
+ }
212
+ buildViewType(model, schema, name) {
213
+ if (!schema) {
214
+ return;
215
+ }
216
+ const fields = {};
217
+ const data = {};
218
+ Object.entries(schema).forEach(([key, field]) => {
219
+ if (field.scope === 'model' && 'model' in field.value) {
220
+ data[key] = tree_1.Tree.get(model, field.value.model.key, 0) || {};
221
+ let children;
222
+ if (field.type === 'obj') {
223
+ children = field.children &&
224
+ this.buildViewType(model, field.children, field.name);
225
+ data[key] = Object.assign({}, data[key], children?.['#data']);
226
+ }
227
+ fields[key] = {
228
+ '#data': data[key],
229
+ children: children?.fields
230
+ };
231
+ }
232
+ else if (field.scope === 'graph' && 'graph' in field.value) {
233
+ const link = this.schema.graph.links[field.value.graph.link];
234
+ const bucket = dependency_1.$Dependency.typeName(link.bucket, this.module);
235
+ if (field.value.graph.view) {
236
+ data[key] = `${bucket}['views']['${field.value.graph.view}']['#data']${link.many ? '[]' : ''}${link.optional ? ' | undefined' : ''}`;
237
+ }
238
+ else {
239
+ data[key] = `${bucket}['#data']${link.many ? '[]' : ''}${link.optional ? ' | undefined' : ''}`;
240
+ }
241
+ fields[key] = {
242
+ '#data': data[key],
243
+ children: 'undefined'
244
+ };
245
+ }
246
+ else if (field.scope === 'computed') {
247
+ data[key] = field['#data'];
248
+ fields[key] = {
249
+ '#data': data[key],
250
+ children: 'undefined'
251
+ };
252
+ }
253
+ else if (field.scope === 'view' || field.scope === 'group') {
254
+ const children = this.buildViewType(model, field.children, field.name);
255
+ data[key] = children['#data'];
256
+ fields[key] = {
257
+ '#data': data[key],
258
+ children: children.fields
259
+ };
260
+ }
261
+ const { children, ...f } = field;
262
+ const type = dump_helpers_1.DumpHelpers.dumpValueToType(f, {
263
+ $t: () => dump_helpers_1.DumpHelpers.dumpValueToType('bucket.view.field'),
264
+ value: {
265
+ model: v => ({
266
+ key: dump_helpers_1.DumpHelpers.dumpValueToType(v.key),
267
+ enumOptions: v.enumOptions ? dump_helpers_1.DumpHelpers.dumpValueToType(v.enumOptions) : 'undefined'
268
+ }),
269
+ graph: v => ({
270
+ link: dump_helpers_1.DumpHelpers.dumpValueToType(v.link),
271
+ view: v.view ? dump_helpers_1.DumpHelpers.dumpValueToType(v.view) : 'undefined'
272
+ })
273
+ }
274
+ });
275
+ Object.assign(fields[key], type);
276
+ });
277
+ return {
278
+ $t: dump_helpers_1.DumpHelpers.dumpValueToType('bucket.view'),
279
+ '#data': data,
280
+ name: dump_helpers_1.DumpHelpers.dumpValueToType(name),
281
+ fields: 'any' // TODO: review if this might be needed
282
+ };
283
+ }
284
+ // Dump
285
+ dumpTypeSchema() {
286
+ this.type = this.buildType();
287
+ this.prepare();
288
+ const type = this.type;
289
+ const obj = `export type ${this.highName} = ${dump_helpers_1.DumpHelpers.dumpType(type.model)};\n`;
290
+ const bucket = `export interface ${this.typeName} extends $Bucket ${dump_helpers_1.DumpHelpers.dumpType(type.bucket)};\n`;
291
+ return obj + '\n' + bucket;
292
+ }
293
+ //
294
+ static buildModelTypeFromSchema(model) {
295
+ // This currently breaks with enum, which are module-level
296
+ // Since this method is used to build space-level models
297
+ const el = {
298
+ buildModel: BucketElement.prototype.buildModelType,
299
+ buildModelFieldType: BucketElement.prototype.buildModelFieldType
300
+ };
301
+ return el.buildModel.bind(el)(model.fields);
302
+ }
303
+ }
304
+ exports.BucketElement = BucketElement;
@@ -0,0 +1,9 @@
1
+ import { Element } from './element';
2
+ import { $Constants } from "../../elements/entities/constants/constants.schema";
3
+ export declare class ConstantsElement extends Element<$Constants> {
4
+ protected prepare(): void;
5
+ protected buildType(): import("./element").TypeAsObj;
6
+ private buildEnums;
7
+ private buildEnumTree;
8
+ private buildEnumPaths;
9
+ }
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConstantsElement = void 0;
4
+ const element_1 = require("./element");
5
+ const dump_helpers_1 = require("../helpers/dump_helpers");
6
+ class ConstantsElement extends element_1.Element {
7
+ prepare() {
8
+ // Enums
9
+ this.schema['#enumpath'] = element_1.Element.Any;
10
+ Object.values(this.schema.enums).forEach(enu => {
11
+ enu['#data'] = element_1.Element.Any;
12
+ });
13
+ }
14
+ buildType() {
15
+ const enums = this.buildEnums();
16
+ // Make a tree of subenums, to generate enumpaths
17
+ // These are paths that can be used to refer to an enum
18
+ // on a message, to allow for dynamically scoped enums
19
+ const enumTree = this.buildEnumTree(enums);
20
+ const enumPaths = this.buildEnumPaths(enumTree);
21
+ return dump_helpers_1.DumpHelpers.dumpValueToType(this.schema, {
22
+ '#enumpath': v => enumPaths,
23
+ enums: v => enums
24
+ });
25
+ }
26
+ buildEnums() {
27
+ const enums = {};
28
+ Object.entries(this.schema.enums).forEach(([key, val]) => {
29
+ const type = {};
30
+ const data = {};
31
+ Object.entries(val.options).forEach(([optKey, optVal]) => {
32
+ const value = dump_helpers_1.DumpHelpers.dumpValueToType(optVal.value);
33
+ type[optKey] = {
34
+ key: dump_helpers_1.DumpHelpers.dumpValueToType(optKey),
35
+ value
36
+ };
37
+ data[optKey] = value;
38
+ });
39
+ enums[key] = {
40
+ '#data': data,
41
+ name: dump_helpers_1.DumpHelpers.dumpValueToType(key),
42
+ options: type
43
+ };
44
+ });
45
+ return enums;
46
+ }
47
+ buildEnumTree(enums) {
48
+ const enumTree = {};
49
+ Object.keys(enums).forEach(name => {
50
+ const split = name.split('.');
51
+ let key = '';
52
+ let node = enumTree;
53
+ split.forEach((part, i) => {
54
+ key += key.length ? `.${part}` : part;
55
+ node[part] ?? (node[part] = {
56
+ _enum: `${this.typeName}['enums']['${key}']`,
57
+ _subs: []
58
+ });
59
+ if (i < split.length - 1) {
60
+ if (!node[part]._subs.includes(split[i + 1])) {
61
+ node[part]._subs.push(split[i + 1]);
62
+ }
63
+ }
64
+ node = node[part];
65
+ });
66
+ });
67
+ return enumTree;
68
+ }
69
+ buildEnumPaths(enumTree, path = '') {
70
+ const paths = {};
71
+ Object.entries(enumTree).forEach(([key, val]) => {
72
+ const { _enum, _subs, ...next } = val;
73
+ paths[path + key] = {
74
+ _enum: _enum,
75
+ _subs: 'never'
76
+ };
77
+ if (_subs.length) {
78
+ paths[path + key + '.*'] = {
79
+ _enum: _enum,
80
+ _subs: _subs.map(v => `'${v}'`).join(' | ')
81
+ };
82
+ }
83
+ Object.assign(paths, this.buildEnumPaths(next, path + key + '.'));
84
+ });
85
+ return paths;
86
+ }
87
+ }
88
+ exports.ConstantsElement = ConstantsElement;
@@ -0,0 +1,6 @@
1
+ import { Element } from './element';
2
+ import { $Controller } from "../../elements/edge/controller/controller.schema";
3
+ export declare class ControllerElement extends Element<$Controller> {
4
+ protected prepare(): void;
5
+ protected buildType(): any;
6
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ControllerElement = void 0;
4
+ const dependency_1 = require("../../engine/dependency");
5
+ const element_1 = require("./element");
6
+ const dump_helpers_1 = require("../helpers/dump_helpers");
7
+ class ControllerElement extends element_1.Element {
8
+ prepare() {
9
+ this.schema['#authn'] = element_1.Element.Any;
10
+ this.schema['#input'] = element_1.Element.Any;
11
+ }
12
+ buildType() {
13
+ const type = dump_helpers_1.DumpHelpers.dumpValueToType(this.schema);
14
+ const input = this.schema.input.map(dep => dependency_1.$Dependency.typeName(dep, this.module)).join(' | ');
15
+ return {
16
+ '#authn': element_1.Element.makeAuthnType(this.schema.authn),
17
+ '#input': input,
18
+ ...type
19
+ };
20
+ }
21
+ }
22
+ exports.ControllerElement = ControllerElement;
@@ -0,0 +1,49 @@
1
+ import { ResolvedBuilderNode } from "../../engine/dependency";
2
+ import { AnyElementSchema } from "../../engine/module";
3
+ import { $Machine, $MachineState, $MachineTransition } from "../../elements/blocks/machine/machine.schema";
4
+ import { $Job } from "../../elements/blocks/job/job.schema";
5
+ import { $Queue } from "../../elements/blocks/queue/queue.schema";
6
+ import { Compiler } from '../compiler';
7
+ import { $Block } from "../../elements/blocks/block.schema";
8
+ export type TypeAsObj = string | ({
9
+ [x: string]: TypeAsObj;
10
+ } & {
11
+ __array?: boolean;
12
+ __optional?: boolean;
13
+ });
14
+ export type ObjTypeAsObj = TypeAsObj & Record<string, any>;
15
+ export declare abstract class Element<T extends AnyElementSchema> {
16
+ protected compiler: Compiler;
17
+ protected module: string;
18
+ $t: string;
19
+ files: string[];
20
+ schema: T;
21
+ dependencies: ResolvedBuilderNode[];
22
+ inlineRoot?: ResolvedBuilderNode | undefined;
23
+ bridge?: ResolvedBuilderNode['bridge'];
24
+ static Any: any;
25
+ static Never: any;
26
+ type: TypeAsObj;
27
+ lowName: string;
28
+ highName: string;
29
+ typeName: string;
30
+ constructor(compiler: Compiler, module: string, $t: string, files: string[], schema: T, dependencies: ResolvedBuilderNode[], inlineRoot?: ResolvedBuilderNode | undefined, bridge?: ResolvedBuilderNode['bridge']);
31
+ protected prepare(): void;
32
+ protected abstract buildType(): TypeAsObj;
33
+ filepath(): string;
34
+ private bridgeImports;
35
+ protected customImports(nesoiPath: string): string;
36
+ dumpFileSchema(nesoiPath: string): string;
37
+ dumpTypeSchema(): string;
38
+ static makeAuthnType(authn: string[]): ({
39
+ [x: string]: TypeAsObj;
40
+ } & {
41
+ __array?: boolean;
42
+ __optional?: boolean;
43
+ } & Record<string, any>) | "{}";
44
+ static makeIOType(compiler: Compiler, schema: $Job | $Machine | $MachineState | $MachineTransition | $Queue): {
45
+ input: string;
46
+ output: {};
47
+ };
48
+ static makeOutputType(compiler: Compiler, schema: $Block): string;
49
+ }