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,175 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TrxNode = void 0;
4
+ const error_1 = require("../data/error");
5
+ const module_1 = require("../module");
6
+ const bucket_trx_node_1 = require("./nodes/bucket.trx_node");
7
+ const job_trx_node_1 = require("./nodes/job.trx_node");
8
+ const queue_trx_node_1 = require("./nodes/queue.trx_node");
9
+ const resource_trx_node_1 = require("./nodes/resource.trx_node");
10
+ const message_parser_1 = require("../../elements/entities/message/message_parser");
11
+ const machine_trx_node_1 = require("./nodes/machine.trx_node");
12
+ const constants_1 = require("../../elements/entities/constants/constants");
13
+ const i18n_1 = require("../util/i18n");
14
+ const datetime_1 = require("../data/datetime");
15
+ /*
16
+ Transaction Node
17
+ */
18
+ class TrxNode {
19
+ constructor(scope, trx, parent, module, users, id) {
20
+ this.scope = scope;
21
+ this.trx = trx;
22
+ this.parent = parent;
23
+ this.module = module;
24
+ this.users = users;
25
+ this.children = [];
26
+ this.time = {
27
+ start: datetime_1.NesoiDatetime.now(),
28
+ end: undefined
29
+ };
30
+ if (parent) {
31
+ this.id = id || (Math.random() + 1).toString(36).substring(7);
32
+ }
33
+ else {
34
+ this.id = '#';
35
+ }
36
+ this.globalId = `${this.trx.id}.${this.id}`;
37
+ }
38
+ static async open(node, action, input) {
39
+ node.state = 'open';
40
+ node.action = action;
41
+ node.input = input;
42
+ }
43
+ static async ok(node, output) {
44
+ node.state = 'ok';
45
+ node.output = output;
46
+ node.time.end = datetime_1.NesoiDatetime.now();
47
+ }
48
+ static async error(node, error) {
49
+ node.state = 'error';
50
+ node.error = i18n_1.i18n.error(error, node.trx.root.module.daemon);
51
+ node.time.end = datetime_1.NesoiDatetime.now();
52
+ }
53
+ // Entities
54
+ async message(raw) {
55
+ const node = TrxNode.makeChildNode(this, this.module.name, 'message', raw.$);
56
+ await TrxNode.open(node, 'parse', raw);
57
+ try {
58
+ const parsed = await message_parser_1.MessageParser.parseWithTrxModule(node, raw);
59
+ await TrxNode.ok(node);
60
+ return parsed;
61
+ }
62
+ catch (e) {
63
+ await TrxNode.error(node, e);
64
+ throw e;
65
+ }
66
+ }
67
+ value(key) {
68
+ return this.module.schema.constants.values[key].value;
69
+ }
70
+ enum(name) {
71
+ const schema = this.module.schema.constants.enums[name];
72
+ if (!schema) {
73
+ throw error_1.NesoiError.Module.EnumNotFound(this.module, name);
74
+ }
75
+ return new constants_1.Enum(this.module.schema.constants.enums[name]);
76
+ }
77
+ // Blocks
78
+ bucket(name) {
79
+ return new bucket_trx_node_1.BucketTrxNode(this, this.module.buckets[name]);
80
+ }
81
+ job(name) {
82
+ const job = this.module.jobs[name];
83
+ if (!job) {
84
+ throw error_1.NesoiError.Module.JobNotIncluded(this.module, name);
85
+ }
86
+ return new job_trx_node_1.JobTrxNode(this, job);
87
+ }
88
+ // Method for internal use, which allows running a job with a custom context.
89
+ // This is used by composite blocks to pass things such as an object
90
+ // or the previous/next machine states along with the message.
91
+ static jobWithCustomCtx(node, name, ctx) {
92
+ const job = node.module.jobs[name];
93
+ if (!job) {
94
+ throw error_1.NesoiError.Module.JobNotIncluded(node.module, name);
95
+ }
96
+ return new job_trx_node_1.JobTrxNode(node, job, ctx);
97
+ }
98
+ resource(name) {
99
+ const resource = this.module.resources[name];
100
+ if (!resource) {
101
+ throw error_1.NesoiError.Module.ResourceNotIncluded(this.module, name);
102
+ }
103
+ return new resource_trx_node_1.ResourceTrxNode(this, resource);
104
+ }
105
+ machine(name) {
106
+ const machine = this.module.machines[name];
107
+ if (!machine) {
108
+ throw error_1.NesoiError.Module.MachineNotIncluded(this.module, name);
109
+ }
110
+ return new machine_trx_node_1.MachineTrxNode(this, machine);
111
+ }
112
+ queue(name) {
113
+ const queue = this.module.queues[name];
114
+ if (!queue) {
115
+ throw error_1.NesoiError.Module.QueueNotIncluded(this.module, name);
116
+ }
117
+ return new queue_trx_node_1.QueueTrxNode(this, queue);
118
+ }
119
+ // Authentication
120
+ user(provider) {
121
+ if (!this.users) {
122
+ throw error_1.NesoiError.Authn.NoUsersAuthenticatedForTrxNode(this.globalId);
123
+ }
124
+ return this.users[provider];
125
+ }
126
+ // Virtual Module Transaction
127
+ async virtual(def, fn) {
128
+ // Build virtual module
129
+ const module = TrxNode.getModule(this);
130
+ const virtualModule = await module_1.Module.virtual(module, def);
131
+ // Create trx node of virtual module
132
+ const node = TrxNode.makeVirtualChildNode(this, virtualModule);
133
+ await TrxNode.open(node, 'run', {});
134
+ try {
135
+ const result = await fn(node);
136
+ await TrxNode.ok(node);
137
+ return result;
138
+ }
139
+ catch (e) {
140
+ await TrxNode.error(node, e);
141
+ throw e;
142
+ }
143
+ }
144
+ // Status
145
+ status() {
146
+ return {
147
+ id: this.id,
148
+ scope: this.scope,
149
+ state: this.state,
150
+ action: this.action,
151
+ input: this.input,
152
+ output: this.output,
153
+ error: this.error,
154
+ nodes: this.children.map(child => child.status()),
155
+ app: this.time.end ? (this.time.end.epoch - this.time.start.epoch) : -1
156
+ };
157
+ }
158
+ //
159
+ static makeChildNode(node, module, block, name) {
160
+ const child = new TrxNode(`${module}::${block}:${name}`, node.trx, node, node.module);
161
+ node.children.push(child);
162
+ node.trx.addNode(child);
163
+ return child;
164
+ }
165
+ static makeVirtualChildNode(node, module) {
166
+ const child = new TrxNode(`${module.name}::virtual`, node.trx, node, module);
167
+ node.children.push(child);
168
+ node.trx.addNode(child);
169
+ return child;
170
+ }
171
+ static getModule(node) {
172
+ return node.module;
173
+ }
174
+ }
175
+ exports.TrxNode = TrxNode;
@@ -0,0 +1,34 @@
1
+ import { BuilderType } from "../schema";
2
+ import { ResolvedBuilderNode } from './dependency';
3
+ import { AnyModule } from './module';
4
+ import { TreeshakeConfig } from "../compiler/treeshake";
5
+ type TraverseCallback = (node: ResolvedBuilderNode) => Promise<void>;
6
+ export declare class ModuleTree {
7
+ modules: Record<string, AnyModule>;
8
+ config?: TreeshakeConfig | undefined;
9
+ private layers;
10
+ constructor(modules: Record<string, AnyModule>, config?: TreeshakeConfig | undefined);
11
+ resolve(): Promise<void>;
12
+ private treeshake;
13
+ /**
14
+ * Each node declares it's dependencies as a `$Dependency`.
15
+ * In order to assemble the build layers, it's necessary to
16
+ * resolve them into a graph of `ResolvedBuilderNode`s.
17
+ * This also resolves the inline nodes, to allow merging the schemas
18
+ * of inline nodes on build.
19
+ */
20
+ private resolveDependencies;
21
+ private getAllInlineNodes;
22
+ /**
23
+ * In order to build nodes on the proper order, a set of layers must be stablished
24
+ */
25
+ private resolveLayers;
26
+ traverse(actionAlias: string, fn: TraverseCallback): Promise<void>;
27
+ getSchema(node: {
28
+ module: string;
29
+ type: BuilderType;
30
+ name: string;
31
+ }): import("../elements").$Message | import("../elements").$Bucket | import("../elements").$Constants | import("../elements").$Externals | import("../elements").$Job | import("../elements").$Resource | import("../elements").$Machine | import("../elements").$Controller;
32
+ allNodes(): ResolvedBuilderNode[];
33
+ }
34
+ export {};
@@ -0,0 +1,237 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ModuleTree = void 0;
4
+ const error_1 = require("../compiler/error");
5
+ const log_1 = require("./util/log");
6
+ const string_1 = require("./util/string");
7
+ const treeshake_1 = require("../compiler/treeshake");
8
+ class ModuleTree {
9
+ constructor(modules, config) {
10
+ this.modules = modules;
11
+ this.config = config;
12
+ this.layers = [];
13
+ }
14
+ async resolve() {
15
+ const nodesByModule = await this.treeshake();
16
+ const resolvedNodes = await this.resolveDependencies(nodesByModule);
17
+ this.layers = this.resolveLayers(resolvedNodes);
18
+ }
19
+ async treeshake() {
20
+ log_1.Log.debug('compiler', 'tree', 'Treeshaking');
21
+ const nodesByModule = {};
22
+ for (const m in this.modules) {
23
+ const module = this.modules[m];
24
+ const nodes = await treeshake_1.Treeshake.module(module, this.config);
25
+ nodesByModule[module.name] = nodes;
26
+ }
27
+ return nodesByModule;
28
+ }
29
+ /**
30
+ * Each node declares it's dependencies as a `$Dependency`.
31
+ * In order to assemble the build layers, it's necessary to
32
+ * resolve them into a graph of `ResolvedBuilderNode`s.
33
+ * This also resolves the inline nodes, to allow merging the schemas
34
+ * of inline nodes on build.
35
+ */
36
+ async resolveDependencies(nodesByModule) {
37
+ log_1.Log.debug('compiler', 'tree', 'Resolving dependencies');
38
+ const resolved = {};
39
+ Object.entries(nodesByModule).forEach(([module, nodes]) => {
40
+ log_1.Log.debug('compiler', 'tree', `Resolving dependencies of ${(0, log_1.scopeTag)('module', module)}`);
41
+ nodes.forEach(node => {
42
+ log_1.Log.trace('compiler', 'tree', ` └ ${(0, log_1.scopeTag)(node.type, node.name)}`);
43
+ const dependencies = node.dependencies.map(dep => {
44
+ // Find dependency module
45
+ const depModuleNodes = nodesByModule[dep.module || module];
46
+ if (!depModuleNodes) {
47
+ throw error_1.CompilerError.UnmetModuleDependency(node.name + '.' + node.type, dep.module || module);
48
+ }
49
+ // Find dependency node
50
+ const depNode = depModuleNodes.find(mNode => mNode.tag === dep.tag);
51
+ if (!depNode) {
52
+ throw error_1.CompilerError.UnmetDependency(node.tag, dep.tag);
53
+ }
54
+ log_1.Log.trace('compiler', 'tree', ` ~ ${(0, string_1.colored)('OK', 'green')} ${(0, string_1.colored)(dep.module + '::' + dep.type + ':' + dep.name, 'purple')}`);
55
+ // If dependency node was not resolved yet, create a shared reference
56
+ // on which the `dependencies` and `inlines` will be populated on future iterations.
57
+ if (!(dep.tag in resolved)) {
58
+ resolved[dep.tag] = {
59
+ ...depNode,
60
+ dependencies: [],
61
+ inlines: {}
62
+ };
63
+ }
64
+ return { node: resolved[dep.tag], soft: dep.soft };
65
+ });
66
+ const inlines = {};
67
+ if ('_inlineNodes' in node.builder) {
68
+ const inlineNodes = node.builder._inlineNodes;
69
+ inlineNodes.forEach((inline) => {
70
+ log_1.Log.trace('compiler', 'tree', ` └ ${(0, string_1.colored)('OK', 'green')} ${(0, string_1.colored)(inline.module + '::' + inline.type + ':' + inline.name, 'lightcyan')}`);
71
+ // If inline node was not resolved yet, create a shared reference
72
+ // on which the `dependencies` and `inlines` will be populated on future iterations.
73
+ if (!(inline.tag in resolved)) {
74
+ resolved[inline.tag] = {
75
+ ...inline,
76
+ dependencies: [],
77
+ inlines: {}
78
+ };
79
+ }
80
+ const type = inline.type;
81
+ if (!(type in inlines)) {
82
+ inlines[type] = {
83
+ [inline.name]: resolved[inline.tag]
84
+ };
85
+ }
86
+ inlines[type][inline.name] = resolved[inline.tag];
87
+ });
88
+ }
89
+ // If node was already created when resolving a dependendant,
90
+ // just fill the dependencies and inlines.
91
+ if (node.tag in resolved) {
92
+ resolved[node.tag].dependencies = dependencies;
93
+ resolved[node.tag].inlines = inlines;
94
+ }
95
+ // If not, create the resolved node
96
+ else {
97
+ resolved[node.tag] = {
98
+ ...node,
99
+ dependencies,
100
+ inlines
101
+ };
102
+ }
103
+ });
104
+ });
105
+ const resolvedNodes = Object.values(resolved);
106
+ // After building all nodes, resolve roots of inline nodes
107
+ // (the non-inline builder which contains the node)
108
+ resolvedNodes.forEach(node => {
109
+ if (node.isInline) {
110
+ return;
111
+ }
112
+ const inlines = this.getAllInlineNodes(node);
113
+ inlines.forEach(inline => {
114
+ inline.root = node;
115
+ });
116
+ });
117
+ // Remove from nodes the dependencies which are rooted on the node,
118
+ // but are not the node itself. (Inner dependencies)
119
+ // This is done because these dependencies should be correctly built by
120
+ // the node's builder.
121
+ resolvedNodes.forEach(node => {
122
+ node.dependencies = node.dependencies.filter(dep => dep.node.root != node);
123
+ });
124
+ return resolvedNodes;
125
+ }
126
+ getAllInlineNodes(node) {
127
+ const inlineNodes = [];
128
+ if (node.inlines.message) {
129
+ inlineNodes.push(...Object.values(node.inlines.message));
130
+ }
131
+ if (node.inlines.job) {
132
+ inlineNodes.push(...Object.values(node.inlines.job));
133
+ }
134
+ if (inlineNodes.length) {
135
+ Object.assign([], inlineNodes).forEach(inline => {
136
+ inlineNodes.push(...this.getAllInlineNodes(inline));
137
+ });
138
+ }
139
+ return inlineNodes;
140
+ }
141
+ /**
142
+ * In order to build nodes on the proper order, a set of layers must be stablished
143
+ */
144
+ resolveLayers(nodes) {
145
+ log_1.Log.debug('compiler', 'tree', 'Resolving Layers');
146
+ nodes.forEach(node => {
147
+ node._dependencies = [...(node.dependencies || [])]
148
+ .filter(dep => !dep.soft)
149
+ .map(dep => dep.node);
150
+ });
151
+ const layers = [];
152
+ while (nodes.length) {
153
+ log_1.Log.trace('compiler', 'tree', ` └ ${(0, string_1.colored)(`layer.${layers.length}`, 'lightblue')}`);
154
+ let layer = [];
155
+ const future = [];
156
+ nodes.forEach(node => {
157
+ // Node has no dependency, it belongs to the current list
158
+ // and can be flagged as seen.
159
+ if (node._dependencies.length == 0) {
160
+ layer.push(node);
161
+ node.layered = true;
162
+ log_1.Log.trace('compiler', 'tree', ` └ ${node.module}::${(0, log_1.scopeTag)(node.type, node.name)}` + (node.root ? (0, string_1.colored)(` @ ${node.root?.tag}`, 'purple') : ''));
163
+ }
164
+ // Node has dependencies, so it must be on future layers.
165
+ else {
166
+ future.push(node);
167
+ }
168
+ });
169
+ // Remove from future dependencies those who were already seen
170
+ future.forEach(node => {
171
+ node._dependencies = node._dependencies.filter(dep => !dep.layered);
172
+ });
173
+ // If all nodes have a dependency, this means there's at least 1 circular dependency
174
+ // Nesoi doesn't support partial building (yet?), so circular dependencies between blocks
175
+ // are not permitted.
176
+ if (future.length === nodes.length) {
177
+ nodes.forEach(node => {
178
+ log_1.Log.trace('compiler', 'tree', ` └ ${(0, string_1.colored)('(future)', 'lightred')} ${node.module}::${(0, log_1.scopeTag)(node.type, node.name)}` + (node.root ? (0, string_1.colored)(` @ ${node.root?.tag}`, 'purple') : ''));
179
+ log_1.Log.trace('compiler', 'tree', (0, string_1.colored)(` depends on: ${node._dependencies.map(dep => dep.module + '::' + dep.type + ':' + dep.name + (dep.layered ? '(OK)' : '')).join(', ')}`, 'purple'));
180
+ });
181
+ throw error_1.CompilerError.CircularDependency();
182
+ }
183
+ nodes = future;
184
+ // Reorder layer so that externals are built first
185
+ const externals = layer.filter(node => node.type === 'externals');
186
+ const internals = layer.filter(node => node.type !== 'externals');
187
+ layer = [...externals, ...internals];
188
+ layers.push(layer);
189
+ }
190
+ layers.forEach(layer => {
191
+ layer.forEach(node => {
192
+ delete node.layered;
193
+ delete node._dependencies;
194
+ });
195
+ });
196
+ return layers;
197
+ }
198
+ async traverse(actionAlias, fn) {
199
+ for (let i = 0; i < this.layers.length; i++) {
200
+ const layer = this.layers[i];
201
+ log_1.Log.debug('compiler', 'tree', `${actionAlias} ${(0, log_1.scopeTag)('layer', i.toString())}`);
202
+ for (const node of layer) {
203
+ await fn(node);
204
+ }
205
+ }
206
+ }
207
+ getSchema(node) {
208
+ const mod = this.modules[node.module];
209
+ if (node.type === 'constants')
210
+ return mod.schema.constants;
211
+ if (node.type === 'externals')
212
+ return mod.schema.externals;
213
+ if (node.type === 'bucket')
214
+ return mod.schema.buckets[node.name];
215
+ if (node.type === 'message')
216
+ return mod.schema.messages[node.name];
217
+ if (node.type === 'job')
218
+ return mod.schema.jobs[node.name];
219
+ if (node.type === 'resource')
220
+ return mod.schema.resources[node.name];
221
+ if (node.type === 'machine')
222
+ return mod.schema.machines[node.name];
223
+ if (node.type === 'controller')
224
+ return mod.schema.controllers[node.name];
225
+ throw error_1.CompilerError.UnmetDependency('tree', node.name);
226
+ }
227
+ allNodes() {
228
+ const nodes = [];
229
+ for (const layer of this.layers) {
230
+ for (const node of layer) {
231
+ nodes.push(node);
232
+ }
233
+ }
234
+ return nodes;
235
+ }
236
+ }
237
+ exports.ModuleTree = ModuleTree;
@@ -0,0 +1,6 @@
1
+ export default class Cache<T> {
2
+ private data;
3
+ constructor(data?: Record<string, T>);
4
+ set(key: string, val: T): void;
5
+ get(key: string, set: () => T | undefined): T;
6
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class Cache {
4
+ constructor(data = {}) {
5
+ this.data = data;
6
+ }
7
+ set(key, val) {
8
+ this.data[key] = val;
9
+ }
10
+ get(key, set) {
11
+ if (!(key in this.data)) {
12
+ const val = set();
13
+ if (val) {
14
+ this.data[key] = val;
15
+ }
16
+ }
17
+ return this.data[key];
18
+ }
19
+ }
20
+ exports.default = Cache;
@@ -0,0 +1,4 @@
1
+ export default class Console {
2
+ static step(msg: string): void;
3
+ static header(module: string): void;
4
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const package_json_1 = __importDefault(require("../../../package.json"));
7
+ const string_1 = require("./string");
8
+ class Console {
9
+ // Prints a step message to the terminal
10
+ static step(msg) {
11
+ console.log((0, string_1.colored)('- ' + msg, 'green'));
12
+ }
13
+ // Prints the header
14
+ static header(module) {
15
+ console.log((0, string_1.colored)('┏ ┓', 'lightcyan'));
16
+ console.log((0, string_1.colored)(' ┏┓┳┓┏┏┓┏', 'lightblue'));
17
+ console.log((0, string_1.colored)(' ┛╹┗ ┛┗┛╹', 'lightblue'));
18
+ console.log((0, string_1.colored)('┗ ┛', 'lightcyan'));
19
+ console.log((0, string_1.colored)(' ' + package_json_1.default.version, 'lightblue'));
20
+ console.log((0, string_1.colored)('\n[ ' + module + ' ]', 'lightpurple'));
21
+ console.log();
22
+ }
23
+ }
24
+ exports.default = Console;
@@ -0,0 +1,7 @@
1
+ import { UndefinedToOptional } from '../data/obj';
2
+ export type DeepPartial<T> = T extends object ? {
3
+ [P in keyof T]?: DeepPartial<T[P]>;
4
+ } : T;
5
+ export type DeepPartialNullable<T> = UndefinedToOptional<T extends object ? {
6
+ [P in keyof T]?: DeepPartial<T[P]> | null;
7
+ } : T>;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,15 @@
1
+ export type DotEnvFile = Record<string, string>;
2
+ export declare class DotEnv {
3
+ static path: string;
4
+ static load(): DotEnvFile;
5
+ static save(dotenv: DotEnvFile): void;
6
+ static get(key: string): string;
7
+ static set(key: string, value: string): void;
8
+ }
9
+ export type DotEnvValidatorFile = Record<string, string>;
10
+ export declare class DotEnvValidator {
11
+ static path: string;
12
+ static load(): DotEnvValidatorFile;
13
+ static save(validator: DotEnvValidatorFile): void;
14
+ static set(key: string, type: 'string' | 'number' | 'enum', args?: any): void;
15
+ }
@@ -0,0 +1,94 @@
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.DotEnvValidator = exports.DotEnv = void 0;
37
+ const fs = __importStar(require("fs"));
38
+ class DotEnv {
39
+ static load() {
40
+ const file = fs.readFileSync(this.path, 'utf-8');
41
+ return file.split('\n').reduce((a, line) => {
42
+ const p = line.split('=');
43
+ if (p.length > 1)
44
+ a[p[0]] = line.split('=')[1];
45
+ return a;
46
+ }, {});
47
+ }
48
+ static save(dotenv) {
49
+ const file = Object.keys(dotenv).map(p => p + '=' + dotenv[p]).join('\n');
50
+ fs.writeFileSync(this.path, file);
51
+ }
52
+ static get(key) {
53
+ const dotenv = this.load();
54
+ return dotenv[key];
55
+ }
56
+ static set(key, value) {
57
+ const dotenv = this.load();
58
+ dotenv[key] = value;
59
+ this.save(dotenv);
60
+ }
61
+ }
62
+ exports.DotEnv = DotEnv;
63
+ DotEnv.path = '.env';
64
+ class DotEnvValidator {
65
+ static load() {
66
+ const file = fs.readFileSync(this.path, 'utf-8');
67
+ const regex = new RegExp(/(\S*?): (.*)\)[, $\n]/gm);
68
+ const validator = {};
69
+ let entry = regex.exec(file);
70
+ while (entry) {
71
+ validator[entry[1]] = entry[2] + ')';
72
+ entry = regex.exec(file);
73
+ }
74
+ return validator;
75
+ }
76
+ static save(validator) {
77
+ let file = 'import Env from \'@ioc:Adonis/Core/Env\'\n\n';
78
+ file += 'export default Env.rules({\n';
79
+ file += Object.keys(validator).map(p => '\t' + p + ': ' + validator[p]).join(',\n');
80
+ file += '\n})';
81
+ fs.writeFileSync(this.path, file);
82
+ }
83
+ static set(key, type, args) {
84
+ const validator = this.load();
85
+ if (args)
86
+ args = JSON.stringify(args) + ' as const';
87
+ else
88
+ args = '';
89
+ validator[key] = `Env.schema.${type}(${args})`;
90
+ this.save(validator);
91
+ }
92
+ }
93
+ exports.DotEnvValidator = DotEnvValidator;
94
+ DotEnvValidator.path = 'env.ts';
@@ -0,0 +1,5 @@
1
+ import { AnyDaemon } from '../daemon';
2
+ import { NesoiError } from '../data/error';
3
+ export declare class i18n {
4
+ static error(error: NesoiError.BaseError, daemon?: AnyDaemon): string;
5
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.i18n = void 0;
4
+ const daemon_1 = require("../daemon");
5
+ class i18n {
6
+ static error(error, daemon) {
7
+ if (!daemon) {
8
+ return error.toString();
9
+ }
10
+ const strings = daemon_1.Daemon.get(daemon, 'app')?.i18n || {};
11
+ if (error.name in strings) {
12
+ const msg = strings[error.name](error.data || {});
13
+ error.message = msg;
14
+ return msg;
15
+ }
16
+ return error.toString();
17
+ }
18
+ }
19
+ exports.i18n = i18n;
@@ -0,0 +1,17 @@
1
+ import { $BlockType } from "../../elements/blocks/block.schema";
2
+ declare const LogLevel: readonly ["off", "error", "warn", "info", "debug", "trace"];
3
+ export type LogLevel = typeof LogLevel[number];
4
+ export type LogScope = $BlockType | 'compiler' | 'trx' | 'daemon' | 'app' | 'module' | 'layer' | 'message' | 'bucket' | 'job' | 'resource' | 'controller' | 'queue' | 'constants' | 'externals';
5
+ export declare function scopeTag(scope: LogScope, scope_id: string): string;
6
+ export declare function anyScopeTag(scopeWithId: string): string;
7
+ export declare class Log {
8
+ static level: LogLevel;
9
+ private static l;
10
+ static error(scope: LogScope, scope_id: string, message: string, obj?: Record<string, any>): void;
11
+ static warn(scope: LogScope, scope_id: string, message: string, obj?: Record<string, any>): void;
12
+ static info(scope: LogScope, scope_id: string, message: string, obj?: Record<string, any>): void;
13
+ static debug(scope: LogScope, scope_id: string, message: string, obj?: Record<string, any>): void;
14
+ static trace(scope: LogScope, scope_id: string, message: string, obj?: Record<string, any>): void;
15
+ private static push;
16
+ }
17
+ export {};