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,61 @@
1
+ import postgres from 'postgres';
2
+ import { Migration } from './migration';
3
+ import { AnyDaemon, Daemon } from "../../../../engine/daemon";
4
+ type MigrationFn = (daemon: Daemon<any, any>, sql: postgres.Sql<any>) => Promise<void>;
5
+ export type MigrationRow = {
6
+ id: number;
7
+ name: string;
8
+ description?: string;
9
+ batch: number;
10
+ timestamp: string;
11
+ hash: string;
12
+ filehash: string;
13
+ };
14
+ export declare class MigrationMethod {
15
+ description?: string;
16
+ up: MigrationFn;
17
+ down: MigrationFn;
18
+ constructor($: {
19
+ description?: string;
20
+ up: MigrationFn;
21
+ down: MigrationFn;
22
+ });
23
+ }
24
+ export declare class MigrationStatus {
25
+ items: {
26
+ state: 'done' | 'pending' | 'lost';
27
+ id?: number;
28
+ name: string;
29
+ description?: string;
30
+ batch?: number;
31
+ timestamp?: string;
32
+ hash: string;
33
+ filehash?: string;
34
+ method?: MigrationMethod;
35
+ }[];
36
+ nextBatch: number;
37
+ constructor(fileMigrations: {
38
+ name: string;
39
+ hash: string;
40
+ path: string;
41
+ method: MigrationMethod;
42
+ }[], dbMigrations: MigrationRow[]);
43
+ describe(): string;
44
+ }
45
+ export declare class MigrationRunner {
46
+ dirpath: string;
47
+ private migrations;
48
+ private constructor();
49
+ static scanFiles(dirpath: string): Promise<{
50
+ name: string;
51
+ path: string;
52
+ hash: string;
53
+ method: MigrationMethod;
54
+ }[]>;
55
+ static scanDb(sql: postgres.Sql<any>): Promise<postgres.RowList<MigrationRow[]>>;
56
+ static status(sql: postgres.Sql<any>, dirpath: string): Promise<MigrationStatus>;
57
+ static up(daemon: AnyDaemon, sql: postgres.Sql<any>, mode?: 'one' | 'batch', dirpath?: string): Promise<void>;
58
+ static oneUp(daemon: AnyDaemon, sql: postgres.Sql<any>, migration: Migration, dirpath?: string): Promise<void>;
59
+ private static migrateUp;
60
+ }
61
+ export {};
@@ -0,0 +1,202 @@
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.MigrationRunner = exports.MigrationStatus = exports.MigrationMethod = void 0;
37
+ const fs = __importStar(require("fs"));
38
+ const path = __importStar(require("path"));
39
+ const migrator_1 = require("./migrator");
40
+ const crypto_1 = require("crypto");
41
+ const string_1 = require("../../../../engine/util/string");
42
+ const log_1 = require("../../../../engine/util/log");
43
+ const datetime_1 = require("../../../../engine/data/datetime");
44
+ class MigrationMethod {
45
+ constructor($) {
46
+ this.description = $.description;
47
+ this.up = $.up;
48
+ this.down = $.down;
49
+ }
50
+ }
51
+ exports.MigrationMethod = MigrationMethod;
52
+ class MigrationStatus {
53
+ constructor(fileMigrations, dbMigrations) {
54
+ this.items = dbMigrations.map(migration => ({
55
+ ...migration,
56
+ state: 'lost'
57
+ }));
58
+ fileMigrations.forEach(migration => {
59
+ const file = fs.readFileSync(migration.path).toString();
60
+ const filehash = (0, crypto_1.createHash)('md5').update(file).digest('hex');
61
+ const old = this.items.find(item => item.name === migration.name);
62
+ if (old) {
63
+ if (old.filehash === filehash) {
64
+ old.state = 'done';
65
+ }
66
+ }
67
+ else {
68
+ this.items.push({
69
+ id: undefined,
70
+ name: migration.name,
71
+ description: migration.method.description,
72
+ batch: undefined,
73
+ hash: migration.hash,
74
+ filehash,
75
+ state: 'pending',
76
+ method: migration.method
77
+ });
78
+ }
79
+ });
80
+ const lastBatch = Math.max(...this.items.map(item => item.batch || 0), 0);
81
+ this.nextBatch = lastBatch + 1;
82
+ }
83
+ describe() {
84
+ let str = '';
85
+ str += `◆ ${(0, string_1.colored)('Migration Status', 'lightblue')}\n`;
86
+ this.items.forEach(item => {
87
+ const state = {
88
+ 'done': () => (0, string_1.colored)('done', 'green'),
89
+ 'pending': () => (0, string_1.colored)('pending', 'yellow'),
90
+ 'lost': () => (0, string_1.colored)('lost', 'brown'),
91
+ }[item.state]();
92
+ str += `└ ${item.id || '*'}\t${state}\t${item.name} @ ${item.batch || '...'}\n`;
93
+ });
94
+ return str;
95
+ }
96
+ }
97
+ exports.MigrationStatus = MigrationStatus;
98
+ class MigrationRunner {
99
+ constructor(dirpath = './migrations') {
100
+ this.dirpath = dirpath;
101
+ this.migrations = [];
102
+ }
103
+ static async scanFiles(dirpath) {
104
+ const files = [];
105
+ fs.readdirSync(dirpath, { withFileTypes: true })
106
+ .forEach(node => {
107
+ const nodePath = path.resolve(dirpath, node.name);
108
+ if (!nodePath.endsWith('.ts')) {
109
+ return;
110
+ }
111
+ files.push({
112
+ name: node.name,
113
+ path: nodePath
114
+ });
115
+ });
116
+ const migrations = [];
117
+ for (const file of files) {
118
+ const contents = fs.readFileSync(file.path).toString();
119
+ const hash = contents.match(/\$hash\[(.*)\]/)?.[1];
120
+ if (!hash) {
121
+ log_1.Log.error('migrator', 'prepare', `Unable to read hash of migration at ${file.path}`);
122
+ continue;
123
+ }
124
+ const { default: method } = await Promise.resolve(`${file.path}`).then(s => __importStar(require(s)));
125
+ if (method instanceof MigrationMethod) {
126
+ migrations.push({ ...file, hash, method });
127
+ }
128
+ }
129
+ return migrations;
130
+ }
131
+ static async scanDb(sql) {
132
+ const db = await sql `
133
+ SELECT * FROM ${sql(migrator_1.Migrator.MIGRATION_TABLE_NAME)}
134
+ `;
135
+ return db;
136
+ }
137
+ static async status(sql, dirpath) {
138
+ const fileMigrations = await MigrationRunner.scanFiles(dirpath);
139
+ const dbMigrations = await MigrationRunner.scanDb(sql);
140
+ return new MigrationStatus(fileMigrations, dbMigrations);
141
+ }
142
+ static async up(daemon, sql, mode = 'one', dirpath = './migrations') {
143
+ let status = await MigrationRunner.status(sql, dirpath);
144
+ console.log(status.describe());
145
+ const pending = status.items.filter(item => item.state === 'pending');
146
+ if (!pending.length) {
147
+ log_1.Log.info('migrator', 'up', 'No migrations to run.');
148
+ return;
149
+ }
150
+ if (mode === 'one') {
151
+ const migration = pending[0];
152
+ await this.migrateUp(daemon, sql, migration, status.nextBatch);
153
+ }
154
+ else {
155
+ for (const migration of pending) {
156
+ await this.migrateUp(daemon, sql, migration, status.nextBatch);
157
+ }
158
+ }
159
+ status = await MigrationRunner.status(sql, dirpath);
160
+ console.log(status.describe());
161
+ }
162
+ static async oneUp(daemon, sql, migration, dirpath = './migrations') {
163
+ let status = await MigrationRunner.status(sql, dirpath);
164
+ console.log(status.describe());
165
+ const mig = {
166
+ ...migration,
167
+ state: 'pending',
168
+ hash: migration.hash(),
169
+ filehash: '',
170
+ method: {
171
+ up: async (_, sql) => {
172
+ await sql.unsafe(migration.sqlUp());
173
+ },
174
+ down: async (_, sql) => {
175
+ await sql.unsafe(migration.sqlDown());
176
+ }
177
+ }
178
+ };
179
+ await this.migrateUp(daemon, sql, mig, status.nextBatch);
180
+ status = await MigrationRunner.status(sql, dirpath);
181
+ console.log(status.describe());
182
+ }
183
+ static async migrateUp(daemon, sql, migration, batch) {
184
+ log_1.Log.info('migrator', 'up', `Running migration ${(0, string_1.colored)('▲ UP', 'lightgreen')} ${(0, string_1.colored)(migration.name, 'lightblue')}`);
185
+ await migration.method.up(daemon, sql);
186
+ const row = {
187
+ name: migration.name,
188
+ batch,
189
+ timestamp: datetime_1.NesoiDatetime.now(),
190
+ hash: migration.hash,
191
+ filehash: migration.filehash
192
+ };
193
+ if (migration.description) {
194
+ row.description = migration.description;
195
+ }
196
+ await sql `
197
+ INSERT INTO ${sql(migrator_1.Migrator.MIGRATION_TABLE_NAME)}
198
+ ${sql(row)}
199
+ `;
200
+ }
201
+ }
202
+ exports.MigrationRunner = MigrationRunner;
@@ -0,0 +1,45 @@
1
+ import { $Bucket } from "../../../elements";
2
+ import { BucketAdapter, BucketAdapterConfig } from "../../../elements/entities/bucket/adapters/bucket_adapter";
3
+ import { AnyTrxNode } from "../../../engine/transaction/trx_node";
4
+ import postgres from 'postgres';
5
+ import { PostgresNQLRunner } from './postgres.nql';
6
+ import { AnyTrx } from "../../../engine/transaction/trx";
7
+ import { TrxEngineWrapFn } from "../../../engine/transaction/trx_engine.config";
8
+ import { NQL_QueryMeta } from "../../../elements/entities/bucket/query/nql.schema";
9
+ export type PostgresConfig = BucketAdapterConfig & {
10
+ connection?: postgres.Options<any>;
11
+ };
12
+ export declare class PostgresProvider {
13
+ config?: PostgresConfig | undefined;
14
+ static make<Name extends string>(name: Name, config?: PostgresConfig): {
15
+ name: Name;
16
+ up: () => PostgresProvider;
17
+ down: () => void;
18
+ };
19
+ sql: postgres.Sql<any>;
20
+ nql: PostgresNQLRunner;
21
+ private constructor();
22
+ static wrap(provider: string): (trx: AnyTrx, fn: TrxEngineWrapFn<any, any>, providers: Record<string, any>) => Promise<import("../../../engine/transaction/trx_node").TrxNodeStatus>;
23
+ }
24
+ export declare class PostgresBucketAdapter<$ extends $Bucket, Obj extends $['#data']> extends BucketAdapter<$['#data']> {
25
+ schema: $;
26
+ provider: PostgresProvider;
27
+ tableName: string;
28
+ constructor(schema: $, provider: PostgresProvider, tableName: string);
29
+ private guard;
30
+ getQueryMeta(): {
31
+ scope: string;
32
+ avgTime: number;
33
+ };
34
+ protected deleteEverything(trx: AnyTrxNode): Promise<void>;
35
+ index(trx: AnyTrxNode): Promise<Obj[]>;
36
+ get(trx: AnyTrxNode, id: Obj['id']): Promise<Obj>;
37
+ put(trx: AnyTrxNode, obj: Record<string, any>): Promise<Obj>;
38
+ putMany(trx: AnyTrxNode, objs: Record<string, any>[]): Promise<Obj[]>;
39
+ delete(trx: AnyTrxNode, id: Obj['id']): Promise<void>;
40
+ deleteMany(trx: AnyTrxNode, ids: Obj['id'][]): Promise<void>;
41
+ syncOne(trx: AnyTrxNode, id: Obj['id'], lastObjUpdateEpoch: number): Promise<any>;
42
+ syncOneAndPast(trx: AnyTrxNode, id: Obj['id'], lastUpdateEpoch: number): Promise<any>;
43
+ syncAll(trx: AnyTrxNode, lastHash?: string, lastUpdateEpoch?: number): Promise<any>;
44
+ static getTableName(trx: AnyTrxNode, meta: NQL_QueryMeta): string;
45
+ }
@@ -0,0 +1,278 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PostgresBucketAdapter = exports.PostgresProvider = void 0;
4
+ const bucket_adapter_1 = require("../../../elements/entities/bucket/adapters/bucket_adapter");
5
+ const log_1 = require("../../../engine/util/log");
6
+ const trx_node_1 = require("../../../engine/transaction/trx_node");
7
+ const date_1 = require("../../../engine/data/date");
8
+ const datetime_1 = require("../../../engine/data/datetime");
9
+ const decimal_1 = require("../../../engine/data/decimal");
10
+ const postgres_nql_1 = require("./postgres.nql");
11
+ const trx_1 = require("../../../engine/transaction/trx");
12
+ const database_1 = require("./migrator/database");
13
+ class PostgresProvider {
14
+ static make(name, config) {
15
+ return {
16
+ name: name,
17
+ up: () => new PostgresProvider(config),
18
+ down: () => { }
19
+ };
20
+ }
21
+ constructor(config) {
22
+ this.config = config;
23
+ log_1.Log.info('postgres', 'provider', 'Connecting to Postgres database');
24
+ this.sql = database_1.Database.connect({
25
+ ...(config?.connection || {}),
26
+ debug: true,
27
+ types: {
28
+ char: {
29
+ to: 1042,
30
+ from: [1042],
31
+ serialize: (val) => val?.trim?.(),
32
+ parse: (val) => val?.trim?.()
33
+ },
34
+ date: {
35
+ to: 1082,
36
+ from: [1082],
37
+ serialize: (val) => val?.toISO(),
38
+ parse: (val) => val ? date_1.NesoiDate.fromISO(val) : undefined
39
+ },
40
+ datetime: {
41
+ to: 1114,
42
+ from: [1114],
43
+ serialize: (val) => val?.toISO(),
44
+ parse: (val) => datetime_1.NesoiDatetime.fromISO(val?.replace(' ', 'T') + 'Z')
45
+ },
46
+ decimal: {
47
+ to: 1700,
48
+ from: [1700],
49
+ serialize: (val) => val?.toString(),
50
+ parse: (val) => val ? new decimal_1.Decimal(val) : undefined
51
+ }
52
+ }
53
+ });
54
+ this.nql = new postgres_nql_1.PostgresNQLRunner();
55
+ }
56
+ static wrap(provider) {
57
+ return (trx, fn, providers) => {
58
+ const postgres = providers[provider].sql;
59
+ return postgres.begin(sql => {
60
+ trx_1.Trx.set(trx.root, 'sql', sql);
61
+ return fn(trx.root);
62
+ });
63
+ };
64
+ }
65
+ }
66
+ exports.PostgresProvider = PostgresProvider;
67
+ class PostgresBucketAdapter extends bucket_adapter_1.BucketAdapter {
68
+ constructor(schema, provider, tableName) {
69
+ super(schema, provider.nql, provider.config);
70
+ this.schema = schema;
71
+ this.provider = provider;
72
+ this.tableName = tableName;
73
+ }
74
+ guard(sql) {
75
+ return (template, ...params) => {
76
+ return sql.call(sql, template, ...params).catch(e => {
77
+ log_1.Log.error('bucket', 'postgres', e.toString(), e);
78
+ throw new Error('Database error.');
79
+ });
80
+ };
81
+ }
82
+ getQueryMeta() {
83
+ return {
84
+ scope: 'PG',
85
+ avgTime: 50
86
+ };
87
+ }
88
+ /* Dangerous, not implemented. */
89
+ deleteEverything(trx) {
90
+ throw new Error('Unsafe operation.');
91
+ return Promise.resolve();
92
+ }
93
+ /* Read operations */
94
+ async index(trx) {
95
+ const sql = trx_1.Trx.get(trx, 'sql');
96
+ const objs = await this.guard(sql) `
97
+ SELECT *
98
+ FROM ${sql(this.tableName)}
99
+ `;
100
+ return objs;
101
+ }
102
+ async get(trx, id) {
103
+ const sql = trx_1.Trx.get(trx, 'sql');
104
+ const objs = await this.guard(sql) `
105
+ SELECT *
106
+ FROM ${sql(this.tableName)}
107
+ WHERE id = ${id}
108
+ `;
109
+ return objs[0];
110
+ }
111
+ /* Write Operations */
112
+ async put(trx, obj) {
113
+ const sql = trx_1.Trx.get(trx, 'sql');
114
+ const keys = Object.keys(this.schema.model.fields)
115
+ .filter(key => obj[key] !== undefined);
116
+ // Create
117
+ if (!obj.id) {
118
+ const objs = await this.guard(sql) `
119
+ INSERT INTO ${sql(this.tableName)}
120
+ ${sql(obj, keys)}
121
+ RETURNING *`;
122
+ return objs[0];
123
+ }
124
+ // Update (Replace)
125
+ else {
126
+ const objs = await this.guard(sql) `
127
+ UPDATE ${sql(this.tableName)} SET
128
+ ${sql(obj, keys)}
129
+ WHERE id = ${obj.id}
130
+ RETURNING *
131
+ `;
132
+ return objs[0];
133
+ }
134
+ }
135
+ async putMany(trx, objs) {
136
+ const sql = trx_1.Trx.get(trx, 'sql');
137
+ const keys = Object.keys(this.schema.model.fields);
138
+ for (const obj of objs) {
139
+ for (const key in obj) {
140
+ if (obj[key] === undefined) {
141
+ delete obj[key];
142
+ }
143
+ }
144
+ }
145
+ const insert = objs.filter(obj => !obj.id);
146
+ const update = objs.filter(obj => !!obj.id);
147
+ let inserted = [];
148
+ if (insert.length) {
149
+ const ikeys = keys.filter(key => key !== 'id');
150
+ inserted = await this.guard(sql) `
151
+ INSERT INTO ${sql(this.tableName)}
152
+ ${sql(objs, ikeys)}
153
+ `;
154
+ }
155
+ const updated = [];
156
+ if (update.length) {
157
+ throw new Error('Not implemented yet.');
158
+ }
159
+ return [...inserted, ...updated];
160
+ }
161
+ async delete(trx, id) {
162
+ const sql = trx_1.Trx.get(trx, 'sql');
163
+ await this.guard(sql) `
164
+ DELETE FROM ${sql(this.tableName)}
165
+ WHERE id = ${id}
166
+ `;
167
+ }
168
+ async deleteMany(trx, ids) {
169
+ const sql = trx_1.Trx.get(trx, 'sql');
170
+ await this.guard(sql) `
171
+ DELETE FROM ${sql(this.tableName)}
172
+ WHERE id IN ${ids}
173
+ `;
174
+ }
175
+ /* Cache Operations */
176
+ async syncOne(trx, id, lastObjUpdateEpoch) {
177
+ throw new Error('Not implemented yet.');
178
+ return {};
179
+ // // 1. Check if object was deleted
180
+ // const obj = await this.get(trx, id);
181
+ // if (!obj) {
182
+ // return 'deleted' as const;
183
+ // }
184
+ // // 2. Check if object was updated
185
+ // const updateEpoch = this.getUpdateEpoch(obj);
186
+ // const hasObjUpdated = updateEpoch > lastObjUpdateEpoch;
187
+ // if (!hasObjUpdated) {
188
+ // return null;
189
+ // }
190
+ // // 3. Return updated object and epoch
191
+ // return {
192
+ // obj,
193
+ // updateEpoch
194
+ // };
195
+ }
196
+ async syncOneAndPast(trx, id, lastUpdateEpoch) {
197
+ throw new Error('Not implemented yet.');
198
+ return {};
199
+ // // 1. Check if object was deleted
200
+ // const obj = await this.get(trx, id);
201
+ // if (!obj) {
202
+ // return 'deleted' as const;
203
+ // }
204
+ // // 2. Check if object was updated
205
+ // const objUpdateEpoch = this.getUpdateEpoch(obj);
206
+ // const hasObjUpdated = objUpdateEpoch > lastUpdateEpoch;
207
+ // if (!hasObjUpdated) {
208
+ // return null;
209
+ // }
210
+ // // 3. Return all objects updated and the max epoch
211
+ // let updateEpoch = 0;
212
+ // const changed = (Object.values(this.data) as Obj[])
213
+ // .map(obj => {
214
+ // const epoch = this.getUpdateEpoch(obj);
215
+ // if (epoch > updateEpoch) {
216
+ // updateEpoch = epoch;
217
+ // }
218
+ // return { obj, updateEpoch: epoch };
219
+ // })
220
+ // .filter(obj => obj.updateEpoch > lastUpdateEpoch);
221
+ // if (!changed.length) {
222
+ // return null;
223
+ // }
224
+ // return changed;
225
+ }
226
+ async syncAll(trx, lastHash, lastUpdateEpoch = 0) {
227
+ throw new Error('Not implemented yet.');
228
+ return {};
229
+ // // 1. Hash the current ids
230
+ // const idStr = Object.keys(this.data).sort().join('');
231
+ // const hash = createHash('md5').update(idStr).digest('hex');
232
+ // // 2. If hash changed, return a reset sync with all objects
233
+ // if (hash !== lastHash) {
234
+ // let updateEpoch = 0;
235
+ // const sync = (await this.index(trx) as Obj[])
236
+ // .map(obj => {
237
+ // const epoch = this.getUpdateEpoch(obj);
238
+ // if (epoch > updateEpoch) {
239
+ // updateEpoch = epoch;
240
+ // }
241
+ // return { obj, updateEpoch: epoch };
242
+ // });
243
+ // return {
244
+ // sync,
245
+ // hash,
246
+ // updateEpoch,
247
+ // reset: true
248
+ // };
249
+ // }
250
+ // // 3. Find the data that changed and return it
251
+ // let updateEpoch = 0;
252
+ // const sync = (Object.values(this.data) as Obj[])
253
+ // .map(obj => {
254
+ // const epoch = this.getUpdateEpoch(obj);
255
+ // if (epoch > updateEpoch) {
256
+ // updateEpoch = epoch;
257
+ // }
258
+ // return { obj, updateEpoch: epoch };
259
+ // })
260
+ // .filter(obj => obj.updateEpoch > lastUpdateEpoch);
261
+ // if (!sync.length) {
262
+ // return null;
263
+ // }
264
+ // return {
265
+ // sync,
266
+ // hash,
267
+ // updateEpoch,
268
+ // reset: false
269
+ // };
270
+ }
271
+ static getTableName(trx, meta) {
272
+ const bucketName = meta.bucket.name;
273
+ const bucket = trx_node_1.TrxNode.getModule(trx).buckets[bucketName];
274
+ const adapter = bucket.adapter;
275
+ return adapter.tableName;
276
+ }
277
+ }
278
+ exports.PostgresBucketAdapter = PostgresBucketAdapter;
@@ -0,0 +1,46 @@
1
+ import { CLIAdapter, CLICommand } from "../../../engine/cli/cli_adapter";
2
+ import { PostgresProvider } from './postgres.bucket_adapter';
3
+ import { AnyDaemon } from "../../../engine/daemon";
4
+ export declare class cmd_check extends CLICommand {
5
+ provider: PostgresProvider;
6
+ constructor(provider: PostgresProvider);
7
+ run(): Promise<void>;
8
+ }
9
+ export declare class cmd_tables extends CLICommand {
10
+ provider: PostgresProvider;
11
+ constructor(provider: PostgresProvider);
12
+ run(): Promise<void>;
13
+ }
14
+ export declare class cmd_create_db extends CLICommand {
15
+ provider: PostgresProvider;
16
+ constructor(provider: PostgresProvider);
17
+ run(_: AnyDaemon, $: {
18
+ name: string;
19
+ }): Promise<void>;
20
+ }
21
+ export declare class cmd_status extends CLICommand {
22
+ provider: PostgresProvider;
23
+ constructor(provider: PostgresProvider);
24
+ run(daemon: AnyDaemon): Promise<void>;
25
+ }
26
+ export declare class cmd_make_migrations extends CLICommand {
27
+ provider: PostgresProvider;
28
+ constructor(provider: PostgresProvider);
29
+ run(daemon: AnyDaemon, $: {
30
+ tag: string;
31
+ }): Promise<void>;
32
+ }
33
+ export declare class cmd_migrate_up extends CLICommand {
34
+ provider: PostgresProvider;
35
+ constructor(provider: PostgresProvider);
36
+ run(daemon: AnyDaemon): Promise<void>;
37
+ }
38
+ export declare class cmd_migrate_one_up extends CLICommand {
39
+ provider: PostgresProvider;
40
+ constructor(provider: PostgresProvider);
41
+ run(daemon: AnyDaemon): Promise<void>;
42
+ }
43
+ export declare class PostgresCLI extends CLIAdapter {
44
+ provider: PostgresProvider;
45
+ constructor(provider: PostgresProvider);
46
+ }