blendsdk 5.33.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 (538) hide show
  1. package/README.md +125 -0
  2. package/dist/cmdline/cmdline.d.ts +144 -0
  3. package/dist/cmdline/cmdline.d.ts.map +1 -0
  4. package/dist/cmdline/cmdline.js +683 -0
  5. package/dist/cmdline/cmdline.js.map +1 -0
  6. package/dist/cmdline/errors.d.ts +105 -0
  7. package/dist/cmdline/errors.d.ts.map +1 -0
  8. package/dist/cmdline/errors.js +153 -0
  9. package/dist/cmdline/errors.js.map +1 -0
  10. package/dist/cmdline/index.d.ts +5 -0
  11. package/dist/cmdline/index.d.ts.map +1 -0
  12. package/dist/cmdline/index.js +5 -0
  13. package/dist/cmdline/index.js.map +1 -0
  14. package/dist/cmdline/types.d.ts +260 -0
  15. package/dist/cmdline/types.d.ts.map +1 -0
  16. package/dist/cmdline/types.js +9 -0
  17. package/dist/cmdline/types.js.map +1 -0
  18. package/dist/cmdline/validators.d.ts +28 -0
  19. package/dist/cmdline/validators.d.ts.map +1 -0
  20. package/dist/cmdline/validators.js +211 -0
  21. package/dist/cmdline/validators.js.map +1 -0
  22. package/dist/codegen/database/index.d.ts +3 -0
  23. package/dist/codegen/database/index.d.ts.map +1 -0
  24. package/dist/codegen/database/index.js +3 -0
  25. package/dist/codegen/database/index.js.map +1 -0
  26. package/dist/codegen/database/introspect/index.d.ts +3 -0
  27. package/dist/codegen/database/introspect/index.d.ts.map +1 -0
  28. package/dist/codegen/database/introspect/index.js +3 -0
  29. package/dist/codegen/database/introspect/index.js.map +1 -0
  30. package/dist/codegen/database/introspect/introspect-query.d.ts +2 -0
  31. package/dist/codegen/database/introspect/introspect-query.d.ts.map +1 -0
  32. package/dist/codegen/database/introspect/introspect-query.js +416 -0
  33. package/dist/codegen/database/introspect/introspect-query.js.map +1 -0
  34. package/dist/codegen/database/introspect/introspect-types.d.ts +45 -0
  35. package/dist/codegen/database/introspect/introspect-types.d.ts.map +1 -0
  36. package/dist/codegen/database/introspect/introspect-types.js +2 -0
  37. package/dist/codegen/database/introspect/introspect-types.js.map +1 -0
  38. package/dist/codegen/database/introspect/introspect.d.ts +21 -0
  39. package/dist/codegen/database/introspect/introspect.d.ts.map +1 -0
  40. package/dist/codegen/database/introspect/introspect.js +223 -0
  41. package/dist/codegen/database/introspect/introspect.js.map +1 -0
  42. package/dist/codegen/database/schema/check-constraint.d.ts +8 -0
  43. package/dist/codegen/database/schema/check-constraint.d.ts.map +1 -0
  44. package/dist/codegen/database/schema/check-constraint.js +12 -0
  45. package/dist/codegen/database/schema/check-constraint.js.map +1 -0
  46. package/dist/codegen/database/schema/column-schema.d.ts +7 -0
  47. package/dist/codegen/database/schema/column-schema.d.ts.map +1 -0
  48. package/dist/codegen/database/schema/column-schema.js +9 -0
  49. package/dist/codegen/database/schema/column-schema.js.map +1 -0
  50. package/dist/codegen/database/schema/constraint-base.d.ts +13 -0
  51. package/dist/codegen/database/schema/constraint-base.d.ts.map +1 -0
  52. package/dist/codegen/database/schema/constraint-base.js +32 -0
  53. package/dist/codegen/database/schema/constraint-base.js.map +1 -0
  54. package/dist/codegen/database/schema/database-schema.d.ts +19 -0
  55. package/dist/codegen/database/schema/database-schema.d.ts.map +1 -0
  56. package/dist/codegen/database/schema/database-schema.js +48 -0
  57. package/dist/codegen/database/schema/database-schema.js.map +1 -0
  58. package/dist/codegen/database/schema/dataobject-schema.d.ts +9 -0
  59. package/dist/codegen/database/schema/dataobject-schema.d.ts.map +1 -0
  60. package/dist/codegen/database/schema/dataobject-schema.js +18 -0
  61. package/dist/codegen/database/schema/dataobject-schema.js.map +1 -0
  62. package/dist/codegen/database/schema/fkey-constraints.d.ts +21 -0
  63. package/dist/codegen/database/schema/fkey-constraints.d.ts.map +1 -0
  64. package/dist/codegen/database/schema/fkey-constraints.js +58 -0
  65. package/dist/codegen/database/schema/fkey-constraints.js.map +1 -0
  66. package/dist/codegen/database/schema/index-constraint.d.ts +34 -0
  67. package/dist/codegen/database/schema/index-constraint.d.ts.map +1 -0
  68. package/dist/codegen/database/schema/index-constraint.js +79 -0
  69. package/dist/codegen/database/schema/index-constraint.js.map +1 -0
  70. package/dist/codegen/database/schema/index.d.ts +5 -0
  71. package/dist/codegen/database/schema/index.d.ts.map +1 -0
  72. package/dist/codegen/database/schema/index.js +5 -0
  73. package/dist/codegen/database/schema/index.js.map +1 -0
  74. package/dist/codegen/database/schema/primarykey-constraint.d.ts +4 -0
  75. package/dist/codegen/database/schema/primarykey-constraint.d.ts.map +1 -0
  76. package/dist/codegen/database/schema/primarykey-constraint.js +4 -0
  77. package/dist/codegen/database/schema/primarykey-constraint.js.map +1 -0
  78. package/dist/codegen/database/schema/relation-schema.d.ts +16 -0
  79. package/dist/codegen/database/schema/relation-schema.d.ts.map +1 -0
  80. package/dist/codegen/database/schema/relation-schema.js +32 -0
  81. package/dist/codegen/database/schema/relation-schema.js.map +1 -0
  82. package/dist/codegen/database/schema/table-column-schema.d.ts +59 -0
  83. package/dist/codegen/database/schema/table-column-schema.d.ts.map +1 -0
  84. package/dist/codegen/database/schema/table-column-schema.js +137 -0
  85. package/dist/codegen/database/schema/table-column-schema.js.map +1 -0
  86. package/dist/codegen/database/schema/table-schema.d.ts +48 -0
  87. package/dist/codegen/database/schema/table-schema.d.ts.map +1 -0
  88. package/dist/codegen/database/schema/table-schema.js +219 -0
  89. package/dist/codegen/database/schema/table-schema.js.map +1 -0
  90. package/dist/codegen/database/schema/types.d.ts +13 -0
  91. package/dist/codegen/database/schema/types.d.ts.map +1 -0
  92. package/dist/codegen/database/schema/types.js +175 -0
  93. package/dist/codegen/database/schema/types.js.map +1 -0
  94. package/dist/codegen/database/schema/unique-constraint.d.ts +4 -0
  95. package/dist/codegen/database/schema/unique-constraint.d.ts.map +1 -0
  96. package/dist/codegen/database/schema/unique-constraint.js +4 -0
  97. package/dist/codegen/database/schema/unique-constraint.js.map +1 -0
  98. package/dist/codegen/database/schema/view-schema.d.ts +14 -0
  99. package/dist/codegen/database/schema/view-schema.d.ts.map +1 -0
  100. package/dist/codegen/database/schema/view-schema.js +32 -0
  101. package/dist/codegen/database/schema/view-schema.js.map +1 -0
  102. package/dist/codegen/generator/ctype-generator.d.ts +5 -0
  103. package/dist/codegen/generator/ctype-generator.d.ts.map +1 -0
  104. package/dist/codegen/generator/ctype-generator.js +26 -0
  105. package/dist/codegen/generator/ctype-generator.js.map +1 -0
  106. package/dist/codegen/generator/generator.d.ts +17 -0
  107. package/dist/codegen/generator/generator.d.ts.map +1 -0
  108. package/dist/codegen/generator/generator.js +57 -0
  109. package/dist/codegen/generator/generator.js.map +1 -0
  110. package/dist/codegen/generator/index.d.ts +8 -0
  111. package/dist/codegen/generator/index.d.ts.map +1 -0
  112. package/dist/codegen/generator/index.js +8 -0
  113. package/dist/codegen/generator/index.js.map +1 -0
  114. package/dist/codegen/generator/openapi-generator.d.ts +239 -0
  115. package/dist/codegen/generator/openapi-generator.d.ts.map +1 -0
  116. package/dist/codegen/generator/openapi-generator.js +434 -0
  117. package/dist/codegen/generator/openapi-generator.js.map +1 -0
  118. package/dist/codegen/generator/openapi-types.d.ts +263 -0
  119. package/dist/codegen/generator/openapi-types.d.ts.map +1 -0
  120. package/dist/codegen/generator/openapi-types.js +11 -0
  121. package/dist/codegen/generator/openapi-types.js.map +1 -0
  122. package/dist/codegen/generator/postgres-schema-generator.d.ts +48 -0
  123. package/dist/codegen/generator/postgres-schema-generator.d.ts.map +1 -0
  124. package/dist/codegen/generator/postgres-schema-generator.js +339 -0
  125. package/dist/codegen/generator/postgres-schema-generator.js.map +1 -0
  126. package/dist/codegen/generator/type-generator.d.ts +113 -0
  127. package/dist/codegen/generator/type-generator.d.ts.map +1 -0
  128. package/dist/codegen/generator/type-generator.js +249 -0
  129. package/dist/codegen/generator/type-generator.js.map +1 -0
  130. package/dist/codegen/generator/zod-generator.d.ts +15 -0
  131. package/dist/codegen/generator/zod-generator.d.ts.map +1 -0
  132. package/dist/codegen/generator/zod-generator.js +86 -0
  133. package/dist/codegen/generator/zod-generator.js.map +1 -0
  134. package/dist/codegen/generator/zod-to-openapi.d.ts +69 -0
  135. package/dist/codegen/generator/zod-to-openapi.d.ts.map +1 -0
  136. package/dist/codegen/generator/zod-to-openapi.js +480 -0
  137. package/dist/codegen/generator/zod-to-openapi.js.map +1 -0
  138. package/dist/codegen/index.d.ts +4 -0
  139. package/dist/codegen/index.d.ts.map +1 -0
  140. package/dist/codegen/index.js +4 -0
  141. package/dist/codegen/index.js.map +1 -0
  142. package/dist/codegen/schema/any-schema.d.ts +6 -0
  143. package/dist/codegen/schema/any-schema.d.ts.map +1 -0
  144. package/dist/codegen/schema/any-schema.js +12 -0
  145. package/dist/codegen/schema/any-schema.js.map +1 -0
  146. package/dist/codegen/schema/boolean-schema.d.ts +6 -0
  147. package/dist/codegen/schema/boolean-schema.d.ts.map +1 -0
  148. package/dist/codegen/schema/boolean-schema.js +12 -0
  149. package/dist/codegen/schema/boolean-schema.js.map +1 -0
  150. package/dist/codegen/schema/date-schema.d.ts +6 -0
  151. package/dist/codegen/schema/date-schema.d.ts.map +1 -0
  152. package/dist/codegen/schema/date-schema.js +12 -0
  153. package/dist/codegen/schema/date-schema.js.map +1 -0
  154. package/dist/codegen/schema/index.d.ts +10 -0
  155. package/dist/codegen/schema/index.d.ts.map +1 -0
  156. package/dist/codegen/schema/index.js +10 -0
  157. package/dist/codegen/schema/index.js.map +1 -0
  158. package/dist/codegen/schema/object-schema.d.ts +10 -0
  159. package/dist/codegen/schema/object-schema.d.ts.map +1 -0
  160. package/dist/codegen/schema/object-schema.js +21 -0
  161. package/dist/codegen/schema/object-schema.js.map +1 -0
  162. package/dist/codegen/schema/primitive-schema.d.ts +20 -0
  163. package/dist/codegen/schema/primitive-schema.d.ts.map +1 -0
  164. package/dist/codegen/schema/primitive-schema.js +48 -0
  165. package/dist/codegen/schema/primitive-schema.js.map +1 -0
  166. package/dist/codegen/schema/ref-schema.d.ts +6 -0
  167. package/dist/codegen/schema/ref-schema.d.ts.map +1 -0
  168. package/dist/codegen/schema/ref-schema.js +11 -0
  169. package/dist/codegen/schema/ref-schema.js.map +1 -0
  170. package/dist/codegen/schema/schema-container.d.ts +14 -0
  171. package/dist/codegen/schema/schema-container.d.ts.map +1 -0
  172. package/dist/codegen/schema/schema-container.js +38 -0
  173. package/dist/codegen/schema/schema-container.js.map +1 -0
  174. package/dist/codegen/schema/schema-object.d.ts +42 -0
  175. package/dist/codegen/schema/schema-object.d.ts.map +1 -0
  176. package/dist/codegen/schema/schema-object.js +90 -0
  177. package/dist/codegen/schema/schema-object.js.map +1 -0
  178. package/dist/codegen/schema/schema-scope.d.ts +23 -0
  179. package/dist/codegen/schema/schema-scope.d.ts.map +1 -0
  180. package/dist/codegen/schema/schema-scope.js +67 -0
  181. package/dist/codegen/schema/schema-scope.js.map +1 -0
  182. package/dist/codegen/schema/utils.d.ts +17 -0
  183. package/dist/codegen/schema/utils.d.ts.map +1 -0
  184. package/dist/codegen/schema/utils.js +47 -0
  185. package/dist/codegen/schema/utils.js.map +1 -0
  186. package/dist/dbcore/crud-statement.d.ts +67 -0
  187. package/dist/dbcore/crud-statement.d.ts.map +1 -0
  188. package/dist/dbcore/crud-statement.js +75 -0
  189. package/dist/dbcore/crud-statement.js.map +1 -0
  190. package/dist/dbcore/database.d.ts +272 -0
  191. package/dist/dbcore/database.d.ts.map +1 -0
  192. package/dist/dbcore/database.js +53 -0
  193. package/dist/dbcore/database.js.map +1 -0
  194. package/dist/dbcore/dataservice-base.d.ts +18 -0
  195. package/dist/dbcore/dataservice-base.d.ts.map +1 -0
  196. package/dist/dbcore/dataservice-base.js +19 -0
  197. package/dist/dbcore/dataservice-base.js.map +1 -0
  198. package/dist/dbcore/delete-statement.d.ts +29 -0
  199. package/dist/dbcore/delete-statement.d.ts.map +1 -0
  200. package/dist/dbcore/delete-statement.js +30 -0
  201. package/dist/dbcore/delete-statement.js.map +1 -0
  202. package/dist/dbcore/filterable-statement.d.ts +126 -0
  203. package/dist/dbcore/filterable-statement.d.ts.map +1 -0
  204. package/dist/dbcore/filterable-statement.js +178 -0
  205. package/dist/dbcore/filterable-statement.js.map +1 -0
  206. package/dist/dbcore/from-statement.d.ts +120 -0
  207. package/dist/dbcore/from-statement.d.ts.map +1 -0
  208. package/dist/dbcore/from-statement.js +150 -0
  209. package/dist/dbcore/from-statement.js.map +1 -0
  210. package/dist/dbcore/index.d.ts +21 -0
  211. package/dist/dbcore/index.d.ts.map +1 -0
  212. package/dist/dbcore/index.js +21 -0
  213. package/dist/dbcore/index.js.map +1 -0
  214. package/dist/dbcore/insert-statement.d.ts +48 -0
  215. package/dist/dbcore/insert-statement.d.ts.map +1 -0
  216. package/dist/dbcore/insert-statement.js +52 -0
  217. package/dist/dbcore/insert-statement.js.map +1 -0
  218. package/dist/dbcore/query-dataservice.d.ts +144 -0
  219. package/dist/dbcore/query-dataservice.d.ts.map +1 -0
  220. package/dist/dbcore/query-dataservice.js +144 -0
  221. package/dist/dbcore/query-dataservice.js.map +1 -0
  222. package/dist/dbcore/statement.d.ts +133 -0
  223. package/dist/dbcore/statement.d.ts.map +1 -0
  224. package/dist/dbcore/statement.js +138 -0
  225. package/dist/dbcore/statement.js.map +1 -0
  226. package/dist/dbcore/update-statement.d.ts +48 -0
  227. package/dist/dbcore/update-statement.d.ts.map +1 -0
  228. package/dist/dbcore/update-statement.js +52 -0
  229. package/dist/dbcore/update-statement.js.map +1 -0
  230. package/dist/expression/builders/comparison-builder.d.ts +47 -0
  231. package/dist/expression/builders/comparison-builder.d.ts.map +1 -0
  232. package/dist/expression/builders/comparison-builder.js +197 -0
  233. package/dist/expression/builders/comparison-builder.js.map +1 -0
  234. package/dist/expression/builders/query-builder.d.ts +80 -0
  235. package/dist/expression/builders/query-builder.d.ts.map +1 -0
  236. package/dist/expression/builders/query-builder.js +229 -0
  237. package/dist/expression/builders/query-builder.js.map +1 -0
  238. package/dist/expression/compiler/postgresql-compiler.d.ts +56 -0
  239. package/dist/expression/compiler/postgresql-compiler.d.ts.map +1 -0
  240. package/dist/expression/compiler/postgresql-compiler.js +217 -0
  241. package/dist/expression/compiler/postgresql-compiler.js.map +1 -0
  242. package/dist/expression/core/ast-node.d.ts +47 -0
  243. package/dist/expression/core/ast-node.d.ts.map +1 -0
  244. package/dist/expression/core/ast-node.js +154 -0
  245. package/dist/expression/core/ast-node.js.map +1 -0
  246. package/dist/expression/core/parameter-manager.d.ts +84 -0
  247. package/dist/expression/core/parameter-manager.d.ts.map +1 -0
  248. package/dist/expression/core/parameter-manager.js +164 -0
  249. package/dist/expression/core/parameter-manager.js.map +1 -0
  250. package/dist/expression/core/query-builder-interfaces.d.ts +188 -0
  251. package/dist/expression/core/query-builder-interfaces.d.ts.map +1 -0
  252. package/dist/expression/core/query-builder-interfaces.js +6 -0
  253. package/dist/expression/core/query-builder-interfaces.js.map +1 -0
  254. package/dist/expression/core/types.d.ts +239 -0
  255. package/dist/expression/core/types.d.ts.map +1 -0
  256. package/dist/expression/core/types.js +121 -0
  257. package/dist/expression/core/types.js.map +1 -0
  258. package/dist/expression/index.d.ts +11 -0
  259. package/dist/expression/index.d.ts.map +1 -0
  260. package/dist/expression/index.js +11 -0
  261. package/dist/expression/index.js.map +1 -0
  262. package/dist/i18n/content-file-source.d.ts +109 -0
  263. package/dist/i18n/content-file-source.d.ts.map +1 -0
  264. package/dist/i18n/content-file-source.js +218 -0
  265. package/dist/i18n/content-file-source.js.map +1 -0
  266. package/dist/i18n/index.d.ts +19 -0
  267. package/dist/i18n/index.d.ts.map +1 -0
  268. package/dist/i18n/index.js +21 -0
  269. package/dist/i18n/index.js.map +1 -0
  270. package/dist/i18n/json-file-source.d.ts +96 -0
  271. package/dist/i18n/json-file-source.d.ts.map +1 -0
  272. package/dist/i18n/json-file-source.js +258 -0
  273. package/dist/i18n/json-file-source.js.map +1 -0
  274. package/dist/i18n/merge-catalogs.d.ts +20 -0
  275. package/dist/i18n/merge-catalogs.d.ts.map +1 -0
  276. package/dist/i18n/merge-catalogs.js +34 -0
  277. package/dist/i18n/merge-catalogs.js.map +1 -0
  278. package/dist/i18n/node.d.ts +20 -0
  279. package/dist/i18n/node.d.ts.map +1 -0
  280. package/dist/i18n/node.js +19 -0
  281. package/dist/i18n/node.js.map +1 -0
  282. package/dist/i18n/translation-source.d.ts +35 -0
  283. package/dist/i18n/translation-source.d.ts.map +1 -0
  284. package/dist/i18n/translation-source.js +2 -0
  285. package/dist/i18n/translation-source.js.map +1 -0
  286. package/dist/i18n/translator.d.ts +162 -0
  287. package/dist/i18n/translator.d.ts.map +1 -0
  288. package/dist/i18n/translator.js +259 -0
  289. package/dist/i18n/translator.js.map +1 -0
  290. package/dist/i18n/types.d.ts +80 -0
  291. package/dist/i18n/types.d.ts.map +1 -0
  292. package/dist/i18n/types.js +2 -0
  293. package/dist/i18n/types.js.map +1 -0
  294. package/dist/postgresql/database.d.ts +204 -0
  295. package/dist/postgresql/database.d.ts.map +1 -0
  296. package/dist/postgresql/database.js +321 -0
  297. package/dist/postgresql/database.js.map +1 -0
  298. package/dist/postgresql/delete-statement.d.ts +36 -0
  299. package/dist/postgresql/delete-statement.d.ts.map +1 -0
  300. package/dist/postgresql/delete-statement.js +54 -0
  301. package/dist/postgresql/delete-statement.js.map +1 -0
  302. package/dist/postgresql/index.d.ts +12 -0
  303. package/dist/postgresql/index.d.ts.map +1 -0
  304. package/dist/postgresql/index.js +12 -0
  305. package/dist/postgresql/index.js.map +1 -0
  306. package/dist/postgresql/insert-statement.d.ts +34 -0
  307. package/dist/postgresql/insert-statement.d.ts.map +1 -0
  308. package/dist/postgresql/insert-statement.js +48 -0
  309. package/dist/postgresql/insert-statement.js.map +1 -0
  310. package/dist/postgresql/update-statement.d.ts +38 -0
  311. package/dist/postgresql/update-statement.d.ts.map +1 -0
  312. package/dist/postgresql/update-statement.js +75 -0
  313. package/dist/postgresql/update-statement.js.map +1 -0
  314. package/dist/stdlib/formatString.d.ts +52 -0
  315. package/dist/stdlib/formatString.d.ts.map +1 -0
  316. package/dist/stdlib/formatString.js +118 -0
  317. package/dist/stdlib/formatString.js.map +1 -0
  318. package/dist/stdlib/index.d.ts +8 -0
  319. package/dist/stdlib/index.d.ts.map +1 -0
  320. package/dist/stdlib/index.js +8 -0
  321. package/dist/stdlib/index.js.map +1 -0
  322. package/dist/stdlib/isBoolean.d.ts +15 -0
  323. package/dist/stdlib/isBoolean.d.ts.map +1 -0
  324. package/dist/stdlib/isBoolean.js +17 -0
  325. package/dist/stdlib/isBoolean.js.map +1 -0
  326. package/dist/stdlib/isNullOrUndef.d.ts +24 -0
  327. package/dist/stdlib/isNullOrUndef.d.ts.map +1 -0
  328. package/dist/stdlib/isNullOrUndef.js +28 -0
  329. package/dist/stdlib/isNullOrUndef.js.map +1 -0
  330. package/dist/stdlib/isNumeric.d.ts +20 -0
  331. package/dist/stdlib/isNumeric.d.ts.map +1 -0
  332. package/dist/stdlib/isNumeric.js +39 -0
  333. package/dist/stdlib/isNumeric.js.map +1 -0
  334. package/dist/stdlib/isString.d.ts +15 -0
  335. package/dist/stdlib/isString.d.ts.map +1 -0
  336. package/dist/stdlib/isString.js +17 -0
  337. package/dist/stdlib/isString.js.map +1 -0
  338. package/dist/stdlib/isTemplateString.d.ts +18 -0
  339. package/dist/stdlib/isTemplateString.d.ts.map +1 -0
  340. package/dist/stdlib/isTemplateString.js +38 -0
  341. package/dist/stdlib/isTemplateString.js.map +1 -0
  342. package/dist/stdlib/wrapInArray.d.ts +14 -0
  343. package/dist/stdlib/wrapInArray.d.ts.map +1 -0
  344. package/dist/stdlib/wrapInArray.js +17 -0
  345. package/dist/stdlib/wrapInArray.js.map +1 -0
  346. package/dist/webafx/application/application-settings.d.ts +129 -0
  347. package/dist/webafx/application/application-settings.d.ts.map +1 -0
  348. package/dist/webafx/application/application-settings.js +162 -0
  349. package/dist/webafx/application/application-settings.js.map +1 -0
  350. package/dist/webafx/application/base-controller.d.ts +128 -0
  351. package/dist/webafx/application/base-controller.d.ts.map +1 -0
  352. package/dist/webafx/application/base-controller.js +122 -0
  353. package/dist/webafx/application/base-controller.js.map +1 -0
  354. package/dist/webafx/application/console-logger.d.ts +81 -0
  355. package/dist/webafx/application/console-logger.d.ts.map +1 -0
  356. package/dist/webafx/application/console-logger.js +111 -0
  357. package/dist/webafx/application/console-logger.js.map +1 -0
  358. package/dist/webafx/application/controller-registry.d.ts +34 -0
  359. package/dist/webafx/application/controller-registry.d.ts.map +1 -0
  360. package/dist/webafx/application/controller-registry.js +32 -0
  361. package/dist/webafx/application/controller-registry.js.map +1 -0
  362. package/dist/webafx/application/error-handler-middleware.d.ts +22 -0
  363. package/dist/webafx/application/error-handler-middleware.d.ts.map +1 -0
  364. package/dist/webafx/application/error-handler-middleware.js +70 -0
  365. package/dist/webafx/application/error-handler-middleware.js.map +1 -0
  366. package/dist/webafx/application/index.d.ts +13 -0
  367. package/dist/webafx/application/index.d.ts.map +1 -0
  368. package/dist/webafx/application/index.js +13 -0
  369. package/dist/webafx/application/index.js.map +1 -0
  370. package/dist/webafx/application/logger.d.ts +2 -0
  371. package/dist/webafx/application/logger.d.ts.map +1 -0
  372. package/dist/webafx/application/logger.js +2 -0
  373. package/dist/webafx/application/logger.js.map +1 -0
  374. package/dist/webafx/application/plugin.d.ts +73 -0
  375. package/dist/webafx/application/plugin.d.ts.map +1 -0
  376. package/dist/webafx/application/plugin.js +90 -0
  377. package/dist/webafx/application/plugin.js.map +1 -0
  378. package/dist/webafx/application/rate-limiter.d.ts +35 -0
  379. package/dist/webafx/application/rate-limiter.d.ts.map +1 -0
  380. package/dist/webafx/application/rate-limiter.js +74 -0
  381. package/dist/webafx/application/rate-limiter.js.map +1 -0
  382. package/dist/webafx/application/request-context.d.ts +62 -0
  383. package/dist/webafx/application/request-context.d.ts.map +1 -0
  384. package/dist/webafx/application/request-context.js +54 -0
  385. package/dist/webafx/application/request-context.js.map +1 -0
  386. package/dist/webafx/application/request-id-middleware.d.ts +30 -0
  387. package/dist/webafx/application/request-id-middleware.d.ts.map +1 -0
  388. package/dist/webafx/application/request-id-middleware.js +57 -0
  389. package/dist/webafx/application/request-id-middleware.js.map +1 -0
  390. package/dist/webafx/application/route-builder.d.ts +231 -0
  391. package/dist/webafx/application/route-builder.d.ts.map +1 -0
  392. package/dist/webafx/application/route-builder.js +182 -0
  393. package/dist/webafx/application/route-builder.js.map +1 -0
  394. package/dist/webafx/application/service-container.d.ts +144 -0
  395. package/dist/webafx/application/service-container.d.ts.map +1 -0
  396. package/dist/webafx/application/service-container.js +192 -0
  397. package/dist/webafx/application/service-container.js.map +1 -0
  398. package/dist/webafx/application/services.d.ts +27 -0
  399. package/dist/webafx/application/services.d.ts.map +1 -0
  400. package/dist/webafx/application/services.js +33 -0
  401. package/dist/webafx/application/services.js.map +1 -0
  402. package/dist/webafx/application/structured-logger.d.ts +99 -0
  403. package/dist/webafx/application/structured-logger.d.ts.map +1 -0
  404. package/dist/webafx/application/structured-logger.js +132 -0
  405. package/dist/webafx/application/structured-logger.js.map +1 -0
  406. package/dist/webafx/application/type.d.ts +29 -0
  407. package/dist/webafx/application/type.d.ts.map +1 -0
  408. package/dist/webafx/application/type.js +2 -0
  409. package/dist/webafx/application/type.js.map +1 -0
  410. package/dist/webafx/application/web-application.d.ts +257 -0
  411. package/dist/webafx/application/web-application.d.ts.map +1 -0
  412. package/dist/webafx/application/web-application.js +611 -0
  413. package/dist/webafx/application/web-application.js.map +1 -0
  414. package/dist/webafx/errors/api-error.d.ts +21 -0
  415. package/dist/webafx/errors/api-error.d.ts.map +1 -0
  416. package/dist/webafx/errors/api-error.js +38 -0
  417. package/dist/webafx/errors/api-error.js.map +1 -0
  418. package/dist/webafx/errors/http-errors.d.ts +56 -0
  419. package/dist/webafx/errors/http-errors.d.ts.map +1 -0
  420. package/dist/webafx/errors/http-errors.js +74 -0
  421. package/dist/webafx/errors/http-errors.js.map +1 -0
  422. package/dist/webafx/errors/index.d.ts +4 -0
  423. package/dist/webafx/errors/index.d.ts.map +1 -0
  424. package/dist/webafx/errors/index.js +4 -0
  425. package/dist/webafx/errors/index.js.map +1 -0
  426. package/dist/webafx/errors/types.d.ts +42 -0
  427. package/dist/webafx/errors/types.d.ts.map +1 -0
  428. package/dist/webafx/errors/types.js +2 -0
  429. package/dist/webafx/errors/types.js.map +1 -0
  430. package/dist/webafx/index.d.ts +3 -0
  431. package/dist/webafx/index.d.ts.map +1 -0
  432. package/dist/webafx/index.js +3 -0
  433. package/dist/webafx/index.js.map +1 -0
  434. package/dist/webafx-auth/abstract-auth-provider.d.ts +178 -0
  435. package/dist/webafx-auth/abstract-auth-provider.d.ts.map +1 -0
  436. package/dist/webafx-auth/abstract-auth-provider.js +240 -0
  437. package/dist/webafx-auth/abstract-auth-provider.js.map +1 -0
  438. package/dist/webafx-auth/index.d.ts +27 -0
  439. package/dist/webafx-auth/index.d.ts.map +1 -0
  440. package/dist/webafx-auth/index.js +32 -0
  441. package/dist/webafx-auth/index.js.map +1 -0
  442. package/dist/webafx-auth/jwt-auth-provider.d.ts +100 -0
  443. package/dist/webafx-auth/jwt-auth-provider.d.ts.map +1 -0
  444. package/dist/webafx-auth/jwt-auth-provider.js +154 -0
  445. package/dist/webafx-auth/jwt-auth-provider.js.map +1 -0
  446. package/dist/webafx-auth/memory-auth-provider.d.ts +100 -0
  447. package/dist/webafx-auth/memory-auth-provider.d.ts.map +1 -0
  448. package/dist/webafx-auth/memory-auth-provider.js +122 -0
  449. package/dist/webafx-auth/memory-auth-provider.js.map +1 -0
  450. package/dist/webafx-auth/types.d.ts +333 -0
  451. package/dist/webafx-auth/types.d.ts.map +1 -0
  452. package/dist/webafx-auth/types.js +24 -0
  453. package/dist/webafx-auth/types.js.map +1 -0
  454. package/dist/webafx-cache/abstract-cache-provider.d.ts +185 -0
  455. package/dist/webafx-cache/abstract-cache-provider.d.ts.map +1 -0
  456. package/dist/webafx-cache/abstract-cache-provider.js +133 -0
  457. package/dist/webafx-cache/abstract-cache-provider.js.map +1 -0
  458. package/dist/webafx-cache/abstract-pubsub-provider.d.ts +170 -0
  459. package/dist/webafx-cache/abstract-pubsub-provider.d.ts.map +1 -0
  460. package/dist/webafx-cache/abstract-pubsub-provider.js +132 -0
  461. package/dist/webafx-cache/abstract-pubsub-provider.js.map +1 -0
  462. package/dist/webafx-cache/cache-plugin.d.ts +114 -0
  463. package/dist/webafx-cache/cache-plugin.d.ts.map +1 -0
  464. package/dist/webafx-cache/cache-plugin.js +176 -0
  465. package/dist/webafx-cache/cache-plugin.js.map +1 -0
  466. package/dist/webafx-cache/index.d.ts +33 -0
  467. package/dist/webafx-cache/index.d.ts.map +1 -0
  468. package/dist/webafx-cache/index.js +44 -0
  469. package/dist/webafx-cache/index.js.map +1 -0
  470. package/dist/webafx-cache/memory-cache-provider.d.ts +99 -0
  471. package/dist/webafx-cache/memory-cache-provider.d.ts.map +1 -0
  472. package/dist/webafx-cache/memory-cache-provider.js +251 -0
  473. package/dist/webafx-cache/memory-cache-provider.js.map +1 -0
  474. package/dist/webafx-cache/memory-pubsub-provider.d.ts +124 -0
  475. package/dist/webafx-cache/memory-pubsub-provider.d.ts.map +1 -0
  476. package/dist/webafx-cache/memory-pubsub-provider.js +195 -0
  477. package/dist/webafx-cache/memory-pubsub-provider.js.map +1 -0
  478. package/dist/webafx-cache/pubsub-plugin.d.ts +128 -0
  479. package/dist/webafx-cache/pubsub-plugin.d.ts.map +1 -0
  480. package/dist/webafx-cache/pubsub-plugin.js +182 -0
  481. package/dist/webafx-cache/pubsub-plugin.js.map +1 -0
  482. package/dist/webafx-cache/redis-cache-provider.d.ts +81 -0
  483. package/dist/webafx-cache/redis-cache-provider.d.ts.map +1 -0
  484. package/dist/webafx-cache/redis-cache-provider.js +209 -0
  485. package/dist/webafx-cache/redis-cache-provider.js.map +1 -0
  486. package/dist/webafx-cache/redis-pubsub-provider.d.ts +164 -0
  487. package/dist/webafx-cache/redis-pubsub-provider.d.ts.map +1 -0
  488. package/dist/webafx-cache/redis-pubsub-provider.js +329 -0
  489. package/dist/webafx-cache/redis-pubsub-provider.js.map +1 -0
  490. package/dist/webafx-cache/types.d.ts +206 -0
  491. package/dist/webafx-cache/types.d.ts.map +1 -0
  492. package/dist/webafx-cache/types.js +27 -0
  493. package/dist/webafx-cache/types.js.map +1 -0
  494. package/dist/webafx-i18n/i18n-plugin.d.ts +29 -0
  495. package/dist/webafx-i18n/i18n-plugin.d.ts.map +1 -0
  496. package/dist/webafx-i18n/i18n-plugin.js +145 -0
  497. package/dist/webafx-i18n/i18n-plugin.js.map +1 -0
  498. package/dist/webafx-i18n/index.d.ts +12 -0
  499. package/dist/webafx-i18n/index.d.ts.map +1 -0
  500. package/dist/webafx-i18n/index.js +12 -0
  501. package/dist/webafx-i18n/index.js.map +1 -0
  502. package/dist/webafx-i18n/locale-resolver.d.ts +33 -0
  503. package/dist/webafx-i18n/locale-resolver.d.ts.map +1 -0
  504. package/dist/webafx-i18n/locale-resolver.js +67 -0
  505. package/dist/webafx-i18n/locale-resolver.js.map +1 -0
  506. package/dist/webafx-i18n/postgresql-source.d.ts +101 -0
  507. package/dist/webafx-i18n/postgresql-source.d.ts.map +1 -0
  508. package/dist/webafx-i18n/postgresql-source.js +101 -0
  509. package/dist/webafx-i18n/postgresql-source.js.map +1 -0
  510. package/dist/webafx-i18n/types.d.ts +70 -0
  511. package/dist/webafx-i18n/types.d.ts.map +1 -0
  512. package/dist/webafx-i18n/types.js +2 -0
  513. package/dist/webafx-i18n/types.js.map +1 -0
  514. package/dist/webafx-mailer/abstract-mail-provider.d.ts +55 -0
  515. package/dist/webafx-mailer/abstract-mail-provider.d.ts.map +1 -0
  516. package/dist/webafx-mailer/abstract-mail-provider.js +37 -0
  517. package/dist/webafx-mailer/abstract-mail-provider.js.map +1 -0
  518. package/dist/webafx-mailer/index.d.ts +24 -0
  519. package/dist/webafx-mailer/index.d.ts.map +1 -0
  520. package/dist/webafx-mailer/index.js +34 -0
  521. package/dist/webafx-mailer/index.js.map +1 -0
  522. package/dist/webafx-mailer/mail-plugin.d.ts +98 -0
  523. package/dist/webafx-mailer/mail-plugin.d.ts.map +1 -0
  524. package/dist/webafx-mailer/mail-plugin.js +155 -0
  525. package/dist/webafx-mailer/mail-plugin.js.map +1 -0
  526. package/dist/webafx-mailer/memory-mail-provider.d.ts +85 -0
  527. package/dist/webafx-mailer/memory-mail-provider.d.ts.map +1 -0
  528. package/dist/webafx-mailer/memory-mail-provider.js +111 -0
  529. package/dist/webafx-mailer/memory-mail-provider.js.map +1 -0
  530. package/dist/webafx-mailer/smtp-mail-provider.d.ts +65 -0
  531. package/dist/webafx-mailer/smtp-mail-provider.d.ts.map +1 -0
  532. package/dist/webafx-mailer/smtp-mail-provider.js +113 -0
  533. package/dist/webafx-mailer/smtp-mail-provider.js.map +1 -0
  534. package/dist/webafx-mailer/types.d.ts +136 -0
  535. package/dist/webafx-mailer/types.d.ts.map +1 -0
  536. package/dist/webafx-mailer/types.js +13 -0
  537. package/dist/webafx-mailer/types.js.map +1 -0
  538. package/package.json +159 -0
@@ -0,0 +1,321 @@
1
+ import { Database, } from '../dbcore/index.js';
2
+ import { Pool } from 'pg';
3
+ import { pg as named } from 'yesql';
4
+ import { PostgreSQLDeleteStatement } from './delete-statement.js';
5
+ import { PostgreSQLInsertStatement } from './insert-statement.js';
6
+ import { PostgreSQLUpdateStatement } from './update-statement.js';
7
+ /**
8
+ * Provides PostgreSQL database connectivity and query execution capabilities.
9
+ * Manages connection pooling, transactions, and statement creation for PostgreSQL databases.
10
+ * Extends the base Database class with PostgreSQL-specific implementations.
11
+ *
12
+ * @export
13
+ * @class PostgreSQLDatabase
14
+ * @extends {Database}
15
+ */
16
+ export class PostgreSQLDatabase extends Database {
17
+ /**
18
+ * The PostgreSQL connection pool for managing database connections
19
+ * @protected
20
+ * @type {Pool}
21
+ * @memberof PostgreSQLDatabase
22
+ */
23
+ pool;
24
+ /**
25
+ * The current transaction client, null when no transaction is active
26
+ * @protected
27
+ * @type {(PoolClient | null)}
28
+ * @memberof PostgreSQLDatabase
29
+ */
30
+ transactionClient = null;
31
+ /**
32
+ * Flag to prevent new connections during shutdown
33
+ * @protected
34
+ * @type {boolean}
35
+ * @memberof PostgreSQLDatabase
36
+ */
37
+ isShuttingDown = false;
38
+ /**
39
+ * Creates an instance of PostgreSQLDatabase.
40
+ * Initializes the connection pool with the provided configuration settings.
41
+ *
42
+ * @param {PostgreSQLConfig} config - The database configuration including host, port, credentials, and database name
43
+ * @memberof PostgreSQLDatabase
44
+ */
45
+ constructor(config) {
46
+ super(config);
47
+ const { database, host, pass, port, user, poolConfig } = this.config;
48
+ // Initialize the PostgreSQL connection pool with configuration parameters
49
+ this.pool = new Pool({
50
+ database,
51
+ host,
52
+ password: pass,
53
+ port: port ? Number(port) : undefined,
54
+ user,
55
+ // Apply optional pool configuration with sensible defaults
56
+ max: poolConfig?.max,
57
+ idleTimeoutMillis: poolConfig?.idleTimeoutMillis,
58
+ connectionTimeoutMillis: poolConfig?.connectionTimeoutMillis,
59
+ });
60
+ // Register graceful shutdown handlers if enabled
61
+ if (config.enableGracefulShutdown) {
62
+ this.registerShutdownHandlers();
63
+ }
64
+ }
65
+ /**
66
+ * Executes a function within a database transaction context.
67
+ * Automatically handles BEGIN, COMMIT, and ROLLBACK operations.
68
+ * Ensures proper cleanup of transaction resources in all scenarios.
69
+ *
70
+ * @template T - The return type of the transaction function
71
+ * @param {(db: this) => Promise<T>} fn - The function to execute within the transaction context
72
+ * @return {Promise<T>} Promise resolving to the result of the transaction function
73
+ * @throws {Error} When the transaction function fails, triggers automatic ROLLBACK
74
+ * @memberof PostgreSQLDatabase
75
+ */
76
+ async withTransaction(fn) {
77
+ // Prevent new transactions during shutdown
78
+ if (this.isShuttingDown) {
79
+ throw new Error('Cannot start transaction: database is shutting down');
80
+ }
81
+ // Acquire a client connection if not already in a transaction
82
+ if (!this.transactionClient) {
83
+ this.transactionClient = await this.connect();
84
+ }
85
+ let committed = false;
86
+ try {
87
+ // Begin the transaction
88
+ await this.transactionClient?.query('BEGIN');
89
+ // Execute the provided function within the transaction context
90
+ const result = await fn(this);
91
+ // Commit the transaction if successful
92
+ await this.transactionClient?.query('COMMIT');
93
+ committed = true;
94
+ return result;
95
+ }
96
+ catch (error) {
97
+ // Rollback the transaction on any error (only if not yet committed)
98
+ if (this.transactionClient && !committed) {
99
+ try {
100
+ await this.transactionClient.query('ROLLBACK');
101
+ }
102
+ catch (rollbackError) {
103
+ console.error('Error during transaction rollback:', rollbackError);
104
+ }
105
+ }
106
+ throw error;
107
+ }
108
+ finally {
109
+ // Always release the client connection and reset transaction state
110
+ if (this.transactionClient) {
111
+ try {
112
+ this.transactionClient.release();
113
+ }
114
+ catch (releaseError) {
115
+ console.error('Error releasing transaction client:', releaseError);
116
+ }
117
+ this.transactionClient = null;
118
+ }
119
+ }
120
+ }
121
+ /**
122
+ * Acquires a client connection from the connection pool.
123
+ * Used internally for transaction management and query execution.
124
+ *
125
+ * @return {Promise<PoolClient>} Promise resolving to a PostgreSQL client connection
126
+ * @memberof PostgreSQLDatabase
127
+ */
128
+ connect() {
129
+ return this.pool.connect();
130
+ }
131
+ /**
132
+ * Closes all connections in the pool and terminates the database connection.
133
+ * Implements timeout protection to prevent hanging on unreleased connections.
134
+ * Should be called when the application is shutting down to ensure clean resource cleanup.
135
+ *
136
+ * @param {number} [timeoutMs=10000] - Maximum time to wait for graceful shutdown in milliseconds
137
+ * @return {Promise<void>} Promise that resolves when all connections are closed
138
+ * @throws {Error} When disconnect times out, after forcing connection closure
139
+ * @memberof PostgreSQLDatabase
140
+ */
141
+ async disconnect(timeoutMs = 10000) {
142
+ this.isShuttingDown = true;
143
+ let timeoutHandle;
144
+ const timeoutPromise = new Promise((resolve) => {
145
+ timeoutHandle = setTimeout(async () => {
146
+ try {
147
+ await this.forceDisconnect();
148
+ resolve();
149
+ }
150
+ catch (err) {
151
+ resolve(); // Still resolve to prevent hanging
152
+ }
153
+ }, timeoutMs);
154
+ });
155
+ try {
156
+ await Promise.race([
157
+ this.pool.end().then(() => clearTimeout(timeoutHandle)),
158
+ timeoutPromise,
159
+ ]);
160
+ }
161
+ catch (error) {
162
+ throw error;
163
+ }
164
+ }
165
+ /**
166
+ * Forcefully closes all connections in the pool without waiting for graceful shutdown.
167
+ * This is a last resort method used when normal disconnect times out.
168
+ * Warning: This may interrupt active queries and transactions.
169
+ *
170
+ * @protected
171
+ * @return {Promise<void>} Promise that resolves when all connections are forcefully closed
172
+ * @memberof PostgreSQLDatabase
173
+ */
174
+ async forceDisconnect() {
175
+ try {
176
+ // Read existing clients (not assign empty array)
177
+ const clients = this.pool._clients || [];
178
+ for (const client of clients) {
179
+ try {
180
+ client.release(true); // Force release even if in transaction
181
+ }
182
+ catch {
183
+ // Silently ignore release errors
184
+ }
185
+ }
186
+ // Clear the clients array after releasing
187
+ this.pool._clients = [];
188
+ }
189
+ catch {
190
+ // Silently ignore any errors
191
+ }
192
+ }
193
+ /**
194
+ * Registers signal handlers for graceful shutdown on SIGINT and SIGTERM.
195
+ * Automatically calls disconnect() when these signals are received.
196
+ * Only registered if enableGracefulShutdown is true in config.
197
+ *
198
+ * @protected
199
+ * @memberof PostgreSQLDatabase
200
+ */
201
+ registerShutdownHandlers() {
202
+ const shutdownHandler = async (signal) => {
203
+ console.log(`Received ${signal}. Closing database connections...`);
204
+ try {
205
+ await this.disconnect();
206
+ console.log('Database connections closed successfully.');
207
+ process.exit(0);
208
+ }
209
+ catch (error) {
210
+ console.error('Error during graceful shutdown:', error);
211
+ process.exit(1);
212
+ }
213
+ };
214
+ process.on('SIGINT', () => shutdownHandler('SIGINT'));
215
+ process.on('SIGTERM', () => shutdownHandler('SIGTERM'));
216
+ }
217
+ /**
218
+ * Executes a parameterized SQL query against the PostgreSQL database.
219
+ * Handles named parameter substitution, transaction management, and query hooks.
220
+ * Automatically manages connection acquisition and release for non-transactional queries.
221
+ *
222
+ * @template R - The type of records returned by the query
223
+ * @param {string} query - The SQL query string with named parameters (e.g., :paramName)
224
+ * @param {Record<string, any>} [params] - Object containing named parameter values
225
+ * @param {ExecuteQueryOptions} [options] - Optional query execution options including beforeQuery and afterQuery hooks
226
+ * @return {Promise<PostgreSQLQueryResult<R>>} Promise resolving to query results including records, row count, and field definitions
227
+ * @throws {Error} When no database connection is available
228
+ * @memberof PostgreSQLDatabase
229
+ */
230
+ async executeQuery(query, params, options) {
231
+ let atomic = false;
232
+ options = options || {};
233
+ params = params || {};
234
+ // Prevent new queries during shutdown
235
+ if (this.isShuttingDown) {
236
+ throw new Error('Cannot execute query: database is shutting down');
237
+ }
238
+ try {
239
+ // Acquire a connection if not in a transaction (atomic operation)
240
+ if (!this.transactionClient) {
241
+ this.transactionClient = await this.connect();
242
+ atomic = true;
243
+ }
244
+ const client = this.transactionClient;
245
+ if (!client) {
246
+ throw new Error('No database connection available.');
247
+ }
248
+ // Apply beforeQuery hook if provided to transform parameters
249
+ if (options.beforeQuery) {
250
+ params = options.beforeQuery(params);
251
+ }
252
+ // Convert named parameters to positional parameters for PostgreSQL
253
+ const { text, values } = named(query)(params);
254
+ // Execute the query with positional parameters
255
+ const res = await client.query(text, values);
256
+ // Return empty result set if no rows were affected
257
+ if (res.rowCount === 0) {
258
+ return { records: [], rowCount: 0, fields: [] };
259
+ }
260
+ // Apply afterQuery hook if provided to transform result rows
261
+ if (options.afterQuery) {
262
+ res.rows = options.afterQuery(res.rows);
263
+ }
264
+ return {
265
+ records: res.rows || [],
266
+ rowCount: res.rowCount || 0,
267
+ fields: res?.fields || [],
268
+ };
269
+ }
270
+ finally {
271
+ // Release connection if this was an atomic operation
272
+ if (atomic && this.transactionClient) {
273
+ try {
274
+ this.transactionClient.release();
275
+ }
276
+ catch (releaseError) {
277
+ console.error('Error releasing query client:', releaseError);
278
+ }
279
+ this.transactionClient = null;
280
+ }
281
+ }
282
+ }
283
+ /**
284
+ * Creates a new INSERT statement builder for the specified table.
285
+ * Provides a fluent interface for constructing INSERT queries.
286
+ *
287
+ * @template T - The type representing the table structure
288
+ * @param {string} tableName - The name of the table to insert into
289
+ * @return {InsertStatement<T>} A new INSERT statement builder instance
290
+ * @memberof PostgreSQLDatabase
291
+ */
292
+ insert(tableName) {
293
+ return new PostgreSQLInsertStatement(tableName, this);
294
+ }
295
+ /**
296
+ * Creates a new UPDATE statement builder for the specified table.
297
+ * Provides a fluent interface for constructing UPDATE queries with filtering.
298
+ *
299
+ * @template T - The type representing the table structure
300
+ * @template F - The type representing the filter criteria
301
+ * @param {string} tableName - The name of the table to update
302
+ * @return {UpdateStatement<T, F>} A new UPDATE statement builder instance
303
+ * @memberof PostgreSQLDatabase
304
+ */
305
+ update(tableName) {
306
+ return new PostgreSQLUpdateStatement(tableName, this);
307
+ }
308
+ /**
309
+ * Creates a new DELETE statement builder for the specified table.
310
+ * Provides a fluent interface for constructing DELETE queries with filtering.
311
+ *
312
+ * @template F - The type representing the filter criteria
313
+ * @param {string} tableName - The name of the table to delete from
314
+ * @return {DeleteStatement<F>} A new DELETE statement builder instance
315
+ * @memberof PostgreSQLDatabase
316
+ */
317
+ delete(tableName) {
318
+ return new PostgreSQLDeleteStatement(tableName, this);
319
+ }
320
+ }
321
+ //# sourceMappingURL=database.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { DeleteStatement } from '../dbcore/index.js';
2
+ /**
3
+ * Provides PostgreSQL-specific implementation for DELETE statement construction.
4
+ * Builds parameterized DELETE queries with WHERE clauses and RETURNING support.
5
+ * Extends the base DeleteStatement class with PostgreSQL syntax.
6
+ *
7
+ * @export
8
+ * @class PostgreSQLDeleteStatement
9
+ * @template FilterType - The type representing the filter criteria for the WHERE clause
10
+ * @extends {DeleteStatement<FilterType>}
11
+ */
12
+ export declare class PostgreSQLDeleteStatement<FilterType> extends DeleteStatement<FilterType> {
13
+ /**
14
+ * Constructs the PostgreSQL DELETE query string with WHERE and RETURNING clauses.
15
+ * Uses cached compiled expression for complex WHERE conditions with parameterized queries.
16
+ * Supports optional RETURNING clause to retrieve deleted row data.
17
+ *
18
+ * @protected
19
+ * @return {string} The complete DELETE query string
20
+ * @memberof PostgreSQLDeleteStatement
21
+ */
22
+ protected buildQuery(): string;
23
+ /**
24
+ * Builds the parameter object for the DELETE query.
25
+ * Uses cached compiled expression to generate parameters with proper naming.
26
+ * Returns an object mapping parameter names to their values for query execution.
27
+ *
28
+ * @protected
29
+ * @return {Object} Object containing named parameters for the WHERE clause
30
+ * @memberof PostgreSQLDeleteStatement
31
+ */
32
+ protected buildParameters(): {
33
+ [key: string]: any;
34
+ };
35
+ }
36
+ //# sourceMappingURL=delete-statement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-statement.d.ts","sourceRoot":"","sources":["../src/delete-statement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;;;;;GASG;AACH,qBAAa,yBAAyB,CAAC,UAAU,CAAE,SAAQ,eAAe,CAAC,UAAU,CAAC;IACpF;;;;;;;;OAQG;IACH,SAAS,CAAC,UAAU,IAAI,MAAM;IAiB9B;;;;;;;;OAQG;IACH,SAAS,CAAC,eAAe;;;CAW1B"}
@@ -0,0 +1,54 @@
1
+ import { DeleteStatement } from '../dbcore/index.js';
2
+ /**
3
+ * Provides PostgreSQL-specific implementation for DELETE statement construction.
4
+ * Builds parameterized DELETE queries with WHERE clauses and RETURNING support.
5
+ * Extends the base DeleteStatement class with PostgreSQL syntax.
6
+ *
7
+ * @export
8
+ * @class PostgreSQLDeleteStatement
9
+ * @template FilterType - The type representing the filter criteria for the WHERE clause
10
+ * @extends {DeleteStatement<FilterType>}
11
+ */
12
+ export class PostgreSQLDeleteStatement extends DeleteStatement {
13
+ /**
14
+ * Constructs the PostgreSQL DELETE query string with WHERE and RETURNING clauses.
15
+ * Uses cached compiled expression for complex WHERE conditions with parameterized queries.
16
+ * Supports optional RETURNING clause to retrieve deleted row data.
17
+ *
18
+ * @protected
19
+ * @return {string} The complete DELETE query string
20
+ * @memberof PostgreSQLDeleteStatement
21
+ */
22
+ buildQuery() {
23
+ let queryStr = `DELETE FROM ${this.tableName}`;
24
+ // Build WHERE clause from cached compiled expression
25
+ const compiled = this.getCompiledExpression();
26
+ if (compiled?.sql) {
27
+ queryStr += ` WHERE ${compiled.sql}`;
28
+ }
29
+ // Add RETURNING clause if specified to retrieve deleted row data
30
+ if (this._returning.length > 0) {
31
+ queryStr += ` RETURNING ${this._returning.join(', ')}`;
32
+ }
33
+ return queryStr.trim();
34
+ }
35
+ /**
36
+ * Builds the parameter object for the DELETE query.
37
+ * Uses cached compiled expression to generate parameters with proper naming.
38
+ * Returns an object mapping parameter names to their values for query execution.
39
+ *
40
+ * @protected
41
+ * @return {Object} Object containing named parameters for the WHERE clause
42
+ * @memberof PostgreSQLDeleteStatement
43
+ */
44
+ buildParameters() {
45
+ const params = {};
46
+ // Get parameters from cached compiled expression
47
+ const compiled = this.getCompiledExpression();
48
+ if (compiled) {
49
+ Object.assign(params, compiled.params);
50
+ }
51
+ return params;
52
+ }
53
+ }
54
+ //# sourceMappingURL=delete-statement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-statement.js","sourceRoot":"","sources":["../src/delete-statement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;;;;;GASG;AACH,MAAM,OAAO,yBAAsC,SAAQ,eAA2B;IACpF;;;;;;;;OAQG;IACO,UAAU;QAClB,IAAI,QAAQ,GAAG,eAAe,IAAI,CAAC,SAAS,EAAE,CAAC;QAE/C,qDAAqD;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC9C,IAAI,QAAQ,EAAE,GAAG,EAAE,CAAC;YAClB,QAAQ,IAAI,UAAU,QAAQ,CAAC,GAAG,EAAE,CAAC;QACvC,CAAC;QAED,iEAAiE;QACjE,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,QAAQ,IAAI,cAAc,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzD,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAED;;;;;;;;OAQG;IACO,eAAe;QACvB,MAAM,MAAM,GAA2B,EAAE,CAAC;QAE1C,iDAAiD;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC9C,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * PostgreSQL database adapter for BlendSDK.
3
+ * Provides PostgreSQL-specific implementations for database operations including
4
+ * connection management, query execution, and statement builders.
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+ export * from './database.js';
9
+ export * from './insert-statement.js';
10
+ export * from './update-statement.js';
11
+ export * from './delete-statement.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * PostgreSQL database adapter for BlendSDK.
3
+ * Provides PostgreSQL-specific implementations for database operations including
4
+ * connection management, query execution, and statement builders.
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+ export * from './database.js';
9
+ export * from './insert-statement.js';
10
+ export * from './update-statement.js';
11
+ export * from './delete-statement.js';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { InsertStatement } from '../dbcore/index.js';
2
+ /**
3
+ * Provides PostgreSQL-specific implementation for INSERT statement construction.
4
+ * Builds parameterized INSERT queries with VALUES and optional RETURNING clauses.
5
+ * Extends the base InsertStatement class with PostgreSQL syntax.
6
+ *
7
+ * @export
8
+ * @class PostgreSQLInsertStatement
9
+ * @template TableType - The type representing the table structure for type-safe insertions
10
+ * @extends {InsertStatement<TableType>}
11
+ */
12
+ export declare class PostgreSQLInsertStatement<TableType> extends InsertStatement<TableType> {
13
+ /**
14
+ * Constructs the PostgreSQL INSERT query string with VALUES and RETURNING clauses.
15
+ * Generates parameterized query with named parameters matching column names.
16
+ * Supports optional RETURNING clause to retrieve inserted row data.
17
+ *
18
+ * @protected
19
+ * @return {string} The complete INSERT query string
20
+ * @memberof PostgreSQLInsertStatement
21
+ */
22
+ protected buildQuery(): string;
23
+ /**
24
+ * Builds the parameter object for the INSERT query.
25
+ * Returns the values object directly as parameters are already properly named.
26
+ * Each key in the values object corresponds to a column name and parameter.
27
+ *
28
+ * @protected
29
+ * @return {Object} Object containing named parameters matching the values to insert
30
+ * @memberof PostgreSQLInsertStatement
31
+ */
32
+ protected buildParameters(): Partial<TableType>;
33
+ }
34
+ //# sourceMappingURL=insert-statement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insert-statement.d.ts","sourceRoot":"","sources":["../src/insert-statement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;;;;;GASG;AACH,qBAAa,yBAAyB,CAAC,SAAS,CAAE,SAAQ,eAAe,CAAC,SAAS,CAAC;IAClF;;;;;;;;OAQG;IACH,SAAS,CAAC,UAAU,IAAI,MAAM;IAkB9B;;;;;;;;OAQG;IACH,SAAS,CAAC,eAAe;CAG1B"}
@@ -0,0 +1,48 @@
1
+ import { InsertStatement } from '../dbcore/index.js';
2
+ /**
3
+ * Provides PostgreSQL-specific implementation for INSERT statement construction.
4
+ * Builds parameterized INSERT queries with VALUES and optional RETURNING clauses.
5
+ * Extends the base InsertStatement class with PostgreSQL syntax.
6
+ *
7
+ * @export
8
+ * @class PostgreSQLInsertStatement
9
+ * @template TableType - The type representing the table structure for type-safe insertions
10
+ * @extends {InsertStatement<TableType>}
11
+ */
12
+ export class PostgreSQLInsertStatement extends InsertStatement {
13
+ /**
14
+ * Constructs the PostgreSQL INSERT query string with VALUES and RETURNING clauses.
15
+ * Generates parameterized query with named parameters matching column names.
16
+ * Supports optional RETURNING clause to retrieve inserted row data.
17
+ *
18
+ * @protected
19
+ * @return {string} The complete INSERT query string
20
+ * @memberof PostgreSQLInsertStatement
21
+ */
22
+ buildQuery() {
23
+ const keys = Object.keys(this._values);
24
+ // Validate that values are provided — empty INSERT is invalid SQL
25
+ if (keys.length === 0) {
26
+ throw new Error(`Cannot build INSERT statement for table "${this.tableName}": no values provided. ` +
27
+ 'Call .values() with at least one column before executing.');
28
+ }
29
+ // Build the INSERT query with column names and parameterized values
30
+ // Format: INSERT INTO table (col1, col2) VALUES (:col1, :col2) RETURNING col1, col2
31
+ return `INSERT INTO ${this.tableName} (${keys.join(', ')}) VALUES (${keys
32
+ .map(key => `:${key}`)
33
+ .join(', ')}) ${this._returning.length ? `RETURNING ${this._returning.join(', ')}` : ''}`.trim();
34
+ }
35
+ /**
36
+ * Builds the parameter object for the INSERT query.
37
+ * Returns the values object directly as parameters are already properly named.
38
+ * Each key in the values object corresponds to a column name and parameter.
39
+ *
40
+ * @protected
41
+ * @return {Object} Object containing named parameters matching the values to insert
42
+ * @memberof PostgreSQLInsertStatement
43
+ */
44
+ buildParameters() {
45
+ return this._values;
46
+ }
47
+ }
48
+ //# sourceMappingURL=insert-statement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insert-statement.js","sourceRoot":"","sources":["../src/insert-statement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;;;;;GASG;AACH,MAAM,OAAO,yBAAqC,SAAQ,eAA0B;IAClF;;;;;;;;OAQG;IACO,UAAU;QAClB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEvC,kEAAkE;QAClE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,4CAA4C,IAAI,CAAC,SAAS,yBAAyB;gBACjF,2DAA2D,CAC9D,CAAC;QACJ,CAAC;QAED,oEAAoE;QACpE,oFAAoF;QACpF,OAAO,eAAe,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI;aACtE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC;aACrB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;IACrG,CAAC;IAED;;;;;;;;OAQG;IACO,eAAe;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"}
@@ -0,0 +1,38 @@
1
+ import { UpdateStatement } from '../dbcore/index.js';
2
+ /**
3
+ * Provides PostgreSQL-specific implementation for UPDATE statement construction.
4
+ * Builds parameterized UPDATE queries with SET, WHERE, and RETURNING clauses.
5
+ * Extends the base UpdateStatement class with PostgreSQL syntax.
6
+ *
7
+ * @export
8
+ * @class PostgreSQLUpdateStatement
9
+ * @template TableType - The type representing the table structure for type-safe updates
10
+ * @template FilterType - The type representing the filter criteria for the WHERE clause
11
+ * @extends {UpdateStatement<TableType, FilterType>}
12
+ */
13
+ export declare class PostgreSQLUpdateStatement<TableType, FilterType> extends UpdateStatement<TableType, FilterType> {
14
+ /**
15
+ * Constructs the PostgreSQL UPDATE query string with SET, WHERE, and RETURNING clauses.
16
+ * Generates parameterized query with named parameters for values (prefixed with 'v_')
17
+ * and uses expression builder for complex WHERE conditions.
18
+ * Supports optional RETURNING clause to retrieve updated row data.
19
+ *
20
+ * @protected
21
+ * @return {string} The complete UPDATE query string
22
+ * @memberof PostgreSQLUpdateStatement
23
+ */
24
+ protected buildQuery(): string;
25
+ /**
26
+ * Builds the parameter object for the UPDATE query.
27
+ * Combines value parameters (prefixed with 'v_') and expression parameters.
28
+ * Returns an object mapping parameter names to their values for query execution.
29
+ *
30
+ * @protected
31
+ * @return {Object} Object containing named parameters for both values and WHERE clause
32
+ * @memberof PostgreSQLUpdateStatement
33
+ */
34
+ protected buildParameters(): {
35
+ [key: string]: any;
36
+ };
37
+ }
38
+ //# sourceMappingURL=update-statement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-statement.d.ts","sourceRoot":"","sources":["../src/update-statement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;;;;;;GAUG;AACH,qBAAa,yBAAyB,CAAC,SAAS,EAAE,UAAU,CAAE,SAAQ,eAAe,CACnF,SAAS,EACT,UAAU,CACX;IACC;;;;;;;;;OASG;IACH,SAAS,CAAC,UAAU,IAAI,MAAM;IAqC9B;;;;;;;;OAQG;IACH,SAAS,CAAC,eAAe;;;CAiB1B"}