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,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ResourceElement = 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 ResourceElement extends element_1.Element {
9
+ prepare() {
10
+ this.schema['#authn'] = element_1.Element.Any;
11
+ this.schema['#input'] = this.schema.input.length ? element_1.Element.Any : element_1.Element.Never;
12
+ this.schema['#output'] = element_1.Element.Never;
13
+ this.schema['#bucket'] = element_1.Element.Any;
14
+ this.schema['#input.view'] = this.schema.jobs.view ? element_1.Element.Any : element_1.Element.Never;
15
+ this.schema['#input.query'] = this.schema.jobs.query ? element_1.Element.Any : element_1.Element.Never;
16
+ this.schema['#input.create'] = this.schema.jobs.create ? element_1.Element.Any : element_1.Element.Never;
17
+ this.schema['#input.update'] = this.schema.jobs.update ? element_1.Element.Any : element_1.Element.Never;
18
+ this.schema['#input.delete'] = this.schema.jobs.delete ? element_1.Element.Any : element_1.Element.Never;
19
+ }
20
+ buildType() {
21
+ const bucketName = dependency_1.$Dependency.typeName(this.schema.bucket, this.module);
22
+ const input = {};
23
+ if (this.schema.jobs.view) {
24
+ const msg = this.compiler.tree.getSchema(this.schema.jobs.view);
25
+ const msgName = name_helpers_1.NameHelpers.names({ $t: 'message', name: msg.name });
26
+ input.view = msgName.type;
27
+ }
28
+ if (this.schema.jobs.query) {
29
+ const msg = this.compiler.tree.getSchema(this.schema.jobs.query);
30
+ const msgName = name_helpers_1.NameHelpers.names({ $t: 'message', name: msg.name });
31
+ input.query = msgName.type;
32
+ }
33
+ if (this.schema.jobs.create) {
34
+ const msg = this.compiler.tree.getSchema(this.schema.jobs.create);
35
+ const msgName = name_helpers_1.NameHelpers.names({ $t: 'message', name: msg.name });
36
+ input.create = msgName.type;
37
+ }
38
+ if (this.schema.jobs.update) {
39
+ const msg = this.compiler.tree.getSchema(this.schema.jobs.update);
40
+ const msgName = name_helpers_1.NameHelpers.names({ $t: 'message', name: msg.name });
41
+ input.update = msgName.type;
42
+ }
43
+ if (this.schema.jobs.delete) {
44
+ const msg = this.compiler.tree.getSchema(this.schema.jobs.delete);
45
+ const msgName = name_helpers_1.NameHelpers.names({ $t: 'message', name: msg.name });
46
+ input.delete = msgName.type;
47
+ }
48
+ const allInputs = Object.values(input);
49
+ return dump_helpers_1.DumpHelpers.dumpValueToType(this.schema, {
50
+ '#authn': () => element_1.Element.makeAuthnType(this.schema.authn),
51
+ '#input': () => allInputs.length ? allInputs.join(' | ') : 'never',
52
+ '#output': () => 'never',
53
+ '#bucket': () => bucketName,
54
+ '#input.view': () => input.view ?? 'never',
55
+ '#input.query': () => input.query ?? 'never',
56
+ '#input.create': () => input.create ?? 'never',
57
+ '#input.update': () => input.update ?? 'never',
58
+ '#input.delete': () => input.delete ?? 'never'
59
+ });
60
+ }
61
+ buildCreate() {
62
+ }
63
+ }
64
+ exports.ResourceElement = ResourceElement;
@@ -0,0 +1,21 @@
1
+ export declare class CompilerError extends Error {
2
+ constructor(message: string);
3
+ static DirectoryDoesntExists(dir: string): CompilerError;
4
+ static FileDoesntExist(path: string): CompilerError;
5
+ static NoModulesFolder(): CompilerError;
6
+ static UnmetModuleDependency(from: string, name: string): CompilerError;
7
+ static UnmetDependency(from: string, name: string): CompilerError;
8
+ static CircularDependency(): CompilerError;
9
+ }
10
+ export declare class HelperError extends Error {
11
+ constructor(message: string);
12
+ static ArrayElementIsNotString(kind: string): void;
13
+ static NotAStringOrArray(kind: string): void;
14
+ static StringIsUndefined(): void;
15
+ static NotAString(kind: string): void;
16
+ }
17
+ export declare class TypegenError extends Error {
18
+ constructor(message: string);
19
+ static BuildMethodNotCalled(context: string): CompilerError;
20
+ static Resource_BucketRequired(context: string): CompilerError;
21
+ }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TypegenError = exports.HelperError = exports.CompilerError = void 0;
4
+ class CompilerError extends Error {
5
+ constructor(message) {
6
+ super(message);
7
+ }
8
+ static DirectoryDoesntExists(dir) {
9
+ return new CompilerError(`Directory doesn't exists: ${dir}.`);
10
+ }
11
+ static FileDoesntExist(path) {
12
+ return new CompilerError(`File doesn't exist: ${path}`);
13
+ }
14
+ static NoModulesFolder() {
15
+ return new CompilerError('No modules folder found on project root.');
16
+ }
17
+ static UnmetModuleDependency(from, name) {
18
+ return new CompilerError(`Unment module dependency '${name}' while building '${from}'.`);
19
+ }
20
+ static UnmetDependency(from, name) {
21
+ return new CompilerError(`Unment dependency '${name}' while building '${from}'.`);
22
+ }
23
+ static CircularDependency() {
24
+ return new CompilerError('Circular dependency found while building.');
25
+ }
26
+ }
27
+ exports.CompilerError = CompilerError;
28
+ class HelperError extends Error {
29
+ constructor(message) {
30
+ super(message);
31
+ }
32
+ static ArrayElementIsNotString(kind) {
33
+ throw new CompilerError(`Array element is not a string (${kind})`);
34
+ }
35
+ static NotAStringOrArray(kind) {
36
+ throw new CompilerError(`Not a string or array (${kind})`);
37
+ }
38
+ static StringIsUndefined() {
39
+ throw new CompilerError('String is undefined');
40
+ }
41
+ static NotAString(kind) {
42
+ throw new CompilerError(`Not a string (${kind})`);
43
+ }
44
+ }
45
+ exports.HelperError = HelperError;
46
+ class TypegenError extends Error {
47
+ constructor(message) {
48
+ super(message);
49
+ }
50
+ static BuildMethodNotCalled(context) {
51
+ return new CompilerError(`Build method not called on ${context}.`);
52
+ }
53
+ static Resource_BucketRequired(context) {
54
+ return new CompilerError(`Resource ${context} should specify a bucket.`);
55
+ }
56
+ }
57
+ exports.TypegenError = TypegenError;
@@ -0,0 +1,11 @@
1
+ import { TypeAsObj } from '../elements/element';
2
+ type TransformTypes = {
3
+ [x: string]: TransformTypes | ((v?: any) => TypeAsObj);
4
+ };
5
+ export declare class DumpHelpers {
6
+ static dumpType(type: TypeAsObj, d?: number): string;
7
+ static dumpSchema(val: any, d?: number): string;
8
+ private static dumpFunction;
9
+ static dumpValueToType(value: any, transform?: TransformTypes, d?: number): TypeAsObj;
10
+ }
11
+ export {};
@@ -0,0 +1,157 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DumpHelpers = void 0;
4
+ class DumpHelpers {
5
+ static dumpType(type, d = 0) {
6
+ const pad0 = ' '.repeat(d);
7
+ const pad1 = ' '.repeat(d + 1);
8
+ let str = '';
9
+ if (typeof type === 'undefined') {
10
+ str = 'never';
11
+ }
12
+ else if (typeof type === 'string') {
13
+ str = type;
14
+ }
15
+ else if (typeof type === 'number') {
16
+ str = type;
17
+ }
18
+ else if (Array.isArray(type)) {
19
+ if (type.length) {
20
+ str = '(' + type.map(t => this.dumpType(t)).join(' | ') + ')';
21
+ }
22
+ else {
23
+ str = 'never';
24
+ }
25
+ }
26
+ else {
27
+ str = '{\n' +
28
+ Object.entries(type)
29
+ .filter(([key]) => key !== '__array' && key !== '__optional')
30
+ .map(([key, value]) => {
31
+ let k = key;
32
+ // If key is not a special [],
33
+ if (!(k.startsWith('[') && k.endsWith(']'))
34
+ && !(k.startsWith('`') && k.endsWith('`'))) {
35
+ // Put single quotes around non-alphanumeric keys
36
+ k = /[^\w]/.exec(key) ? `'${key}'` : key;
37
+ }
38
+ // Put ? on possibly undefined keys
39
+ if (typeof value === 'string' && value.includes('| undefined') && !k.startsWith('\'#')) {
40
+ k += '?';
41
+ value = value.replace('| undefined', '');
42
+ }
43
+ else if (typeof value === 'object' && value.__optional) {
44
+ k += '?';
45
+ delete value.__optional;
46
+ }
47
+ else if (value === 'undefined') {
48
+ k += '?';
49
+ }
50
+ // Dump element type
51
+ const t = this.dumpType(value, d + 1);
52
+ return `${pad1}${k}: ${t}`;
53
+ }).join(',\n')
54
+ + `\n${pad0}}`;
55
+ }
56
+ if (typeof type === 'object') {
57
+ if (type.__array) {
58
+ str += '[]';
59
+ }
60
+ if (type.__optional) {
61
+ str += ' | undefined';
62
+ }
63
+ }
64
+ return str;
65
+ }
66
+ static dumpSchema(val, d = 0) {
67
+ const pad0 = ' '.repeat(d);
68
+ const pad1 = ' '.repeat(d + 1);
69
+ if (typeof val === 'undefined') {
70
+ return 'undefined';
71
+ }
72
+ if (typeof val === 'number') {
73
+ return val.toString();
74
+ }
75
+ if (typeof val === 'boolean') {
76
+ return val.toString();
77
+ }
78
+ if (typeof val === 'string') {
79
+ return `'${val}'`;
80
+ }
81
+ if (typeof val === 'symbol') {
82
+ return val.description || 'undefined';
83
+ }
84
+ else if (Array.isArray(val)) {
85
+ return '[\n' +
86
+ val.map(child => {
87
+ return `${pad1}${this.dumpSchema(child, d + 1)}`;
88
+ }).join(',\n')
89
+ + `\n${pad0}]`;
90
+ }
91
+ else if (typeof val === 'object') {
92
+ if ('__fn' in val) {
93
+ return val.__fn;
94
+ }
95
+ return '{\n' +
96
+ Object.entries(val).map(([key, child]) => {
97
+ const _key = key.match(/\W/) ? `'${key}'` : key;
98
+ return `${pad1}${_key}: ${this.dumpSchema(child, d + 1)}`;
99
+ }).join(',\n')
100
+ + `\n${pad0}}`;
101
+ }
102
+ else if (typeof val === 'function') {
103
+ return this.dumpFunction(val, pad0);
104
+ }
105
+ return val;
106
+ }
107
+ static dumpFunction(fn, padding = '') {
108
+ // Functions should have been replaced by { __fn: ... } by the Compiler,
109
+ // if any is missed, this flag causes a typescript error when compiling.
110
+ return `/* TS BRIDGE ERROR: function not properly extracted from source. Function: ${fn.toString()} */`;
111
+ }
112
+ static dumpValueToType(value, transform = {}, d = 2) {
113
+ if (value === undefined) {
114
+ return 'undefined';
115
+ }
116
+ if (typeof value == 'boolean') {
117
+ return value.toString();
118
+ }
119
+ if (typeof value === 'string') {
120
+ return `'${value}'`;
121
+ }
122
+ if (typeof value === 'function') {
123
+ return 'any // TODO: TypesScript API';
124
+ }
125
+ if (typeof value === 'object') {
126
+ if ('__fn' in value) {
127
+ return value.__fn_type || 'any /* WARN: non-compiled function */';
128
+ }
129
+ if (Array.isArray(value)) {
130
+ if (value.length === 0) {
131
+ return 'never[]';
132
+ }
133
+ return '[' + value.map((v) => DumpHelpers.dumpType(this.dumpValueToType(v, transform, d + 1), d)).join(', ') + ']';
134
+ }
135
+ else {
136
+ const obj = {};
137
+ // Type-only keys (#something)
138
+ Object.entries(transform).forEach(([key, trf]) => {
139
+ if (key.startsWith('#') && typeof trf === 'function') {
140
+ obj[key] = trf();
141
+ }
142
+ });
143
+ Object.entries(value).forEach(([key, value]) => {
144
+ if (typeof transform[key] === 'function') {
145
+ obj[key] = transform[key](value);
146
+ }
147
+ else {
148
+ obj[key] = this.dumpValueToType(value, transform[key], d + 1);
149
+ }
150
+ });
151
+ return obj;
152
+ }
153
+ }
154
+ return value;
155
+ }
156
+ }
157
+ exports.DumpHelpers = DumpHelpers;
@@ -0,0 +1,20 @@
1
+ import { BuilderType } from "../../schema";
2
+ export type ParsedType = string | ({
3
+ [x: string]: ParsedType;
4
+ } & {
5
+ __array?: boolean;
6
+ __optional?: boolean;
7
+ });
8
+ export declare class NameHelpers {
9
+ static nameLowToHigh(low: string): string;
10
+ static nameHighToLow(high: string): string;
11
+ static unabbrevName(name: string, context: string): string;
12
+ static names(schema: {
13
+ $t: BuilderType;
14
+ name: string;
15
+ }): {
16
+ low: string;
17
+ high: string;
18
+ type: string;
19
+ };
20
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NameHelpers = void 0;
4
+ class NameHelpers {
5
+ static nameLowToHigh(low) {
6
+ const words = low.split(/[\W_]/).filter(c => c);
7
+ return words.map(word => word[0].toUpperCase() + word.slice(1)).join('');
8
+ }
9
+ static nameHighToLow(high) {
10
+ return high.replace(/([a-zA-Z])(?=[A-Z])/g, '$1_').toLowerCase();
11
+ }
12
+ static unabbrevName(name, context) {
13
+ if (name === '@') {
14
+ return context;
15
+ }
16
+ const abbrev = name.match(/@\.(.*)/);
17
+ if (abbrev) {
18
+ return `${context}${abbrev[1].length ? ('.' + abbrev[1]) : abbrev[1]}`;
19
+ }
20
+ return name;
21
+ }
22
+ static names(schema) {
23
+ const lowName = schema.name;
24
+ const highName = this.nameLowToHigh(lowName);
25
+ const suffix = {
26
+ 'constants': 'Constants',
27
+ 'externals': 'Externals',
28
+ 'bucket': 'Bucket',
29
+ 'message': 'Message',
30
+ 'job': 'Job',
31
+ 'resource': 'Resource',
32
+ 'machine': 'Machine',
33
+ 'controller': 'Controller',
34
+ 'queue': 'Queue'
35
+ }[schema.$t];
36
+ const typeName = highName + suffix;
37
+ return {
38
+ low: lowName,
39
+ high: highName,
40
+ type: typeName
41
+ };
42
+ }
43
+ }
44
+ exports.NameHelpers = NameHelpers;
@@ -0,0 +1,2 @@
1
+ export { Compiler } from './compiler';
2
+ export { MonolythCompiler } from './apps/monolyth/monolyth_compiler';
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MonolythCompiler = exports.Compiler = void 0;
4
+ var compiler_1 = require("./compiler");
5
+ Object.defineProperty(exports, "Compiler", { enumerable: true, get: function () { return compiler_1.Compiler; } });
6
+ var monolyth_compiler_1 = require("./apps/monolyth/monolyth_compiler");
7
+ Object.defineProperty(exports, "MonolythCompiler", { enumerable: true, get: function () { return monolyth_compiler_1.MonolythCompiler; } });
@@ -0,0 +1,24 @@
1
+ import { Compiler } from './compiler';
2
+ import { Module } from "../engine/module";
3
+ import { MessageElement } from './elements/message.element';
4
+ import { BucketElement } from './elements/bucket.element';
5
+ import { JobElement } from './elements/job.element';
6
+ import { ResourceElement } from './elements/resource.element';
7
+ import { MachineElement } from './elements/machine.element';
8
+ import { ControllerElement } from './elements/controller.element';
9
+ import { ConstantsElement } from './elements/constants.element';
10
+ import { ExternalsElement } from './elements/externals.element';
11
+ import { ResolvedBuilderNode } from "../engine/dependency";
12
+ import { $Module } from "../schema";
13
+ import { QueueElement } from './elements/queue.element';
14
+ import { Element } from './elements/element';
15
+ export declare class CompilerModule {
16
+ compiler: Compiler;
17
+ lowName: string;
18
+ highName: string;
19
+ typeName: string;
20
+ module: Module<any, $Module>;
21
+ elements: Element<any>[];
22
+ constructor(compiler: Compiler, name: string, path: string);
23
+ buildElementNode(node: ResolvedBuilderNode): Promise<MessageElement | BucketElement | JobElement | ResourceElement | MachineElement | ControllerElement | ConstantsElement | ExternalsElement | QueueElement | undefined>;
24
+ }
@@ -0,0 +1,122 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.CompilerModule = void 0;
37
+ const fs = __importStar(require("fs"));
38
+ const error_1 = require("./error");
39
+ const module_1 = require("../engine/module");
40
+ const name_helpers_1 = require("./helpers/name_helpers");
41
+ const message_element_1 = require("./elements/message.element");
42
+ const bucket_element_1 = require("./elements/bucket.element");
43
+ const job_element_1 = require("./elements/job.element");
44
+ const resource_element_1 = require("./elements/resource.element");
45
+ const machine_element_1 = require("./elements/machine.element");
46
+ const controller_element_1 = require("./elements/controller.element");
47
+ const constants_element_1 = require("./elements/constants.element");
48
+ const externals_element_1 = require("./elements/externals.element");
49
+ const log_1 = require("../engine/util/log");
50
+ const queue_element_1 = require("./elements/queue.element");
51
+ class CompilerModule {
52
+ constructor(compiler, name, path) {
53
+ this.compiler = compiler;
54
+ this.elements = [];
55
+ this.lowName = name;
56
+ this.highName = name_helpers_1.NameHelpers.nameLowToHigh(this.lowName);
57
+ this.typeName = this.highName + 'Module';
58
+ if (path && !fs.existsSync(path)) {
59
+ throw error_1.CompilerError.DirectoryDoesntExists(path);
60
+ }
61
+ this.module = new module_1.Module(name, { path });
62
+ }
63
+ async buildElementNode(node) {
64
+ log_1.Log.trace('compiler', 'module', `${this.lowName}::${(0, log_1.scopeTag)(node.type, node.name)} Compiling${node.isInline ? ' (inline)' : ''}`);
65
+ // Entities
66
+ if (node.type === 'constants') {
67
+ const el = new constants_element_1.ConstantsElement(this.compiler, this.lowName, 'constants', node.filepath, node.schema, node.dependencies.map(dep => dep.node), undefined, node.bridge);
68
+ this.elements.push(el);
69
+ return el;
70
+ }
71
+ if (node.type === 'externals') {
72
+ const el = new externals_element_1.ExternalsElement(this.compiler, this.lowName, 'externals', node.filepath, node.schema, node.dependencies.map(dep => dep.node), undefined, node.bridge);
73
+ this.elements.push(el);
74
+ return el;
75
+ }
76
+ if (node.type === 'message') {
77
+ const schema = node.schema;
78
+ const el = new message_element_1.MessageElement(this.compiler, this.lowName, 'message', [node.filepath], schema, node.dependencies.map(dep => dep.node), node.root, node.bridge);
79
+ this.elements.push(el);
80
+ return el;
81
+ }
82
+ if (node.type === 'bucket') {
83
+ const schema = node.schema;
84
+ const el = new bucket_element_1.BucketElement(this.compiler, this.lowName, 'bucket', [node.filepath], schema, node.dependencies.map(dep => dep.node), undefined, node.bridge);
85
+ this.elements.push(el);
86
+ return el;
87
+ }
88
+ // Blocks
89
+ if (node.type === 'job') {
90
+ const schema = node.schema;
91
+ const el = new job_element_1.JobElement(this.compiler, this.lowName, 'job', [node.filepath], schema, node.dependencies.map(dep => dep.node), node.root, node.bridge);
92
+ this.elements.push(el);
93
+ return el;
94
+ }
95
+ if (node.type === 'resource') {
96
+ const schema = node.schema;
97
+ const el = new resource_element_1.ResourceElement(this.compiler, this.lowName, 'resource', [node.filepath], schema, node.dependencies.map(dep => dep.node), undefined, node.bridge);
98
+ this.elements.push(el);
99
+ return el;
100
+ }
101
+ if (node.type === 'machine') {
102
+ const schema = node.schema;
103
+ const el = new machine_element_1.MachineElement(this.compiler, this.lowName, 'machine', [node.filepath], schema, node.dependencies.map(dep => dep.node), undefined, node.bridge);
104
+ this.elements.push(el);
105
+ return el;
106
+ }
107
+ // Edge
108
+ if (node.type === 'controller') {
109
+ const schema = node.schema;
110
+ const el = new controller_element_1.ControllerElement(this.compiler, this.lowName, 'controller', [node.filepath], schema, node.dependencies.map(dep => dep.node), undefined, node.bridge);
111
+ this.elements.push(el);
112
+ return el;
113
+ }
114
+ if (node.type === 'queue') {
115
+ const schema = node.schema;
116
+ const el = new queue_element_1.QueueElement(this.compiler, this.lowName, 'queue', [node.filepath], schema, node.dependencies.map(dep => dep.node), undefined, node.bridge);
117
+ this.elements.push(el);
118
+ return el;
119
+ }
120
+ }
121
+ }
122
+ exports.CompilerModule = CompilerModule;
@@ -0,0 +1,10 @@
1
+ import { Compiler } from '../compiler';
2
+ /**
3
+ * [Compiler Stage #1]
4
+ * Scan the space path looking for modules in the /modules folder.
5
+ */
6
+ export declare class ScanStage {
7
+ compiler: Compiler;
8
+ constructor(compiler: Compiler);
9
+ run(): Promise<void>;
10
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ScanStage = void 0;
4
+ const space_1 = require("../../engine/space");
5
+ const module_1 = require("../module");
6
+ const log_1 = require("../../engine/util/log");
7
+ /**
8
+ * [Compiler Stage #1]
9
+ * Scan the space path looking for modules in the /modules folder.
10
+ */
11
+ class ScanStage {
12
+ constructor(compiler) {
13
+ this.compiler = compiler;
14
+ }
15
+ async run() {
16
+ log_1.Log.info('compiler', 'stage.scan', 'Scanning module folders...');
17
+ space_1.Space.scan(this.compiler.space, (name, path) => {
18
+ this.compiler.modules[name] = new module_1.CompilerModule(this.compiler, name, path);
19
+ });
20
+ log_1.Log.debug('compiler', 'stage.scan', `Modules (${Object.keys(this.compiler.modules).length}): ${Object.keys(this.compiler.modules)}`);
21
+ }
22
+ }
23
+ exports.ScanStage = ScanStage;
@@ -0,0 +1,11 @@
1
+ import { Compiler } from '../compiler';
2
+ /**
3
+ * [Compiler Stage #2]
4
+ * Treeshake each module to finds it's nodes, inline nodes and dependencies,
5
+ * then resolve a graph of such dependencies.
6
+ */
7
+ export declare class TreeshakeStage {
8
+ compiler: Compiler;
9
+ constructor(compiler: Compiler);
10
+ run(): Promise<void>;
11
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TreeshakeStage = void 0;
4
+ const log_1 = require("../../engine/util/log");
5
+ /**
6
+ * [Compiler Stage #2]
7
+ * Treeshake each module to finds it's nodes, inline nodes and dependencies,
8
+ * then resolve a graph of such dependencies.
9
+ */
10
+ class TreeshakeStage {
11
+ constructor(compiler) {
12
+ this.compiler = compiler;
13
+ }
14
+ async run() {
15
+ log_1.Log.info('compiler', 'stage.treeshake', 'Treeshaking Nodes and Resolving Dependencies...');
16
+ const modules = {};
17
+ Object.entries(this.compiler.modules).forEach(([name, module]) => {
18
+ modules[name] = module.module;
19
+ });
20
+ this.compiler.tree.modules = modules;
21
+ await this.compiler.tree.resolve();
22
+ }
23
+ }
24
+ exports.TreeshakeStage = TreeshakeStage;
@@ -0,0 +1,10 @@
1
+ import { Compiler } from '../compiler';
2
+ /**
3
+ * [Compiler Stage #3]
4
+ * Extract TypeScript sources (methods and imports) from builders
5
+ */
6
+ export declare class ExtractTSStage {
7
+ compiler: Compiler;
8
+ constructor(compiler: Compiler);
9
+ run(): void;
10
+ }