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,416 @@
1
+ export const INTROSPECTION_SQL = `
2
+ -- ===========================================================
3
+ -- Enhanced introspect.sql
4
+ -- Includes user-defined types (UDTs) and
5
+ -- FILTERS composite types to ONLY those created by hand
6
+ -- (standalone composites: pg_class.relkind = 'c').
7
+ -- ===========================================================
8
+
9
+ WITH base AS (
10
+ SELECT
11
+ current_database() AS database_name,
12
+ n.nspname AS schema_name,
13
+ c.relname AS relation_name,
14
+ CASE c.relkind
15
+ WHEN 'r' THEN 'table'
16
+ WHEN 'p' THEN 'partitioned table'
17
+ WHEN 'v' THEN 'view'
18
+ WHEN 'm' THEN 'materialized view'
19
+ WHEN 'f' THEN 'foreign table'
20
+ ELSE c.relkind::text
21
+ END AS relation_kind,
22
+
23
+ obj_description(c.oid, 'pg_class') AS table_comment,
24
+
25
+ a.attname AS column_name,
26
+ col_description(a.attrelid, a.attnum) AS column_comment,
27
+
28
+ (NOT a.attnotnull) AS is_nullable,
29
+
30
+ (ad.adbin IS NOT NULL) AS has_default,
31
+ CASE
32
+ WHEN ad.adbin IS NOT NULL THEN pg_get_expr(ad.adbin, ad.adrelid)
33
+ ELSE NULL
34
+ END AS column_default,
35
+
36
+ COALESCE(bt.typname, t.typname) AS pg_type,
37
+
38
+ format_type(a.atttypid, a.atttypmod) AS formatted_type,
39
+
40
+ (et.typcategory = 'A') AS is_array,
41
+
42
+ CASE WHEN et.typcategory = 'A'
43
+ THEN COALESCE(elem_bt.typname, elem.typname)
44
+ END AS array_element_pg_type,
45
+ CASE WHEN et.typcategory = 'A'
46
+ THEN format_type(COALESCE(elem_bt.oid, elem.oid), a.atttypmod)
47
+ END AS array_element_formatted_type,
48
+
49
+ CASE
50
+ WHEN (
51
+ (et.typcategory = 'A' AND COALESCE(elem_bt.typname, elem.typname) IN ('varchar','bpchar'))
52
+ OR (et.typcategory <> 'A' AND COALESCE(bt.typname, t.typname) IN ('varchar','bpchar'))
53
+ ) THEN NULLIF(a.atttypmod - 4, -1)
54
+ ELSE NULL
55
+ END AS length,
56
+
57
+ CASE
58
+ WHEN (
59
+ (et.typcategory = 'A' AND COALESCE(elem_bt.typname, elem.typname) = 'numeric')
60
+ OR (et.typcategory <> 'A' AND COALESCE(bt.typname, t.typname) = 'numeric')
61
+ ) THEN information_schema._pg_numeric_precision(COALESCE(elem_bt.oid, elem.oid, a.atttypid), a.atttypmod)
62
+ ELSE NULL
63
+ END AS precision,
64
+
65
+ CASE
66
+ WHEN (
67
+ (et.typcategory = 'A' AND COALESCE(elem_bt.typname, elem.typname) = 'numeric')
68
+ OR (et.typcategory <> 'A' AND COALESCE(bt.typname, t.typname) = 'numeric')
69
+ ) THEN information_schema._pg_numeric_scale(COALESCE(elem_bt.oid, elem.oid, a.atttypid), a.atttypmod)
70
+ ELSE NULL
71
+ END AS scale,
72
+
73
+ EXISTS (
74
+ SELECT 1
75
+ FROM pg_index i
76
+ WHERE i.indrelid = c.oid
77
+ AND i.indisprimary
78
+ AND a.attnum = ANY(i.indkey)
79
+ ) AS is_primary_key,
80
+
81
+ EXISTS (
82
+ SELECT 1
83
+ FROM pg_index i
84
+ WHERE i.indrelid = c.oid
85
+ AND i.indisunique
86
+ AND a.attnum = ANY(i.indkey)
87
+ ) AS is_unique,
88
+
89
+ EXISTS (
90
+ SELECT 1
91
+ FROM pg_constraint con
92
+ WHERE con.conrelid = c.oid
93
+ AND con.contype = 'f'
94
+ AND a.attnum = ANY(con.conkey)
95
+ ) AS is_foreign_key,
96
+
97
+ (
98
+ SELECT jsonb_agg(jsonb_build_object(
99
+ 'constraint_name', con.conname,
100
+ 'schema', n2.nspname,
101
+ 'table', c2.relname,
102
+ 'columns',
103
+ (
104
+ SELECT jsonb_agg(a2.attname ORDER BY k2.ord)
105
+ FROM unnest(con.confkey) WITH ORDINALITY AS k2(attnum, ord)
106
+ JOIN pg_attribute a2 ON a2.attrelid = con.confrelid AND a2.attnum = k2.attnum
107
+ ),
108
+ 'referenced_columns',
109
+ (
110
+ SELECT jsonb_agg(a1.attname ORDER BY k1.ord)
111
+ FROM unnest(con.conkey) WITH ORDINALITY AS k1(attnum, ord)
112
+ JOIN pg_attribute a1 ON a1.attrelid = con.conrelid AND a1.attnum = k1.attnum
113
+ )
114
+ ) ORDER BY con.conname)
115
+ FROM pg_constraint con
116
+ JOIN pg_class c2 ON c2.oid = con.confrelid
117
+ JOIN pg_namespace n2 ON n2.oid = c2.relnamespace
118
+ WHERE con.conrelid = c.oid
119
+ AND con.contype = 'f'
120
+ AND a.attnum = ANY(con.conkey)
121
+ ) AS fk_info,
122
+
123
+ EXISTS (
124
+ SELECT 1
125
+ FROM pg_constraint con
126
+ WHERE con.conrelid = c.oid
127
+ AND con.contype = 'c'
128
+ AND a.attnum = ANY(con.conkey)
129
+ ) AS is_check_constrained,
130
+
131
+ (
132
+ SELECT string_agg(pg_get_constraintdef(con.oid), ' AND ')
133
+ FROM pg_constraint con
134
+ WHERE con.conrelid = c.oid
135
+ AND con.contype = 'c'
136
+ AND a.attnum = ANY(con.conkey)
137
+ ) AS check_constraints,
138
+
139
+ CASE
140
+ WHEN et.typcategory = 'A' THEN EXISTS (
141
+ SELECT 1 FROM pg_type tt
142
+ WHERE tt.oid = COALESCE(elem_bt.oid, elem.oid)
143
+ AND tt.typtype = 'e'
144
+ )
145
+ ELSE EXISTS (
146
+ SELECT 1 FROM pg_type tt
147
+ WHERE tt.oid = COALESCE(bt.oid, t.oid)
148
+ AND tt.typtype = 'e'
149
+ )
150
+ END AS is_enum,
151
+
152
+ CASE
153
+ WHEN et.typcategory = 'A' THEN (
154
+ SELECT ns.nspname || '.' || tt.typname
155
+ FROM pg_type tt
156
+ JOIN pg_namespace ns ON ns.oid = tt.typnamespace
157
+ WHERE tt.oid = COALESCE(elem_bt.oid, elem.oid)
158
+ AND tt.typtype = 'e'
159
+ )
160
+ ELSE (
161
+ SELECT ns.nspname || '.' || tt.typname
162
+ FROM pg_type tt
163
+ JOIN pg_namespace ns ON ns.oid = tt.typnamespace
164
+ WHERE tt.oid = COALESCE(bt.oid, t.oid)
165
+ AND tt.typtype = 'e'
166
+ )
167
+ END AS enum_type_name,
168
+
169
+ CASE
170
+ WHEN et.typcategory = 'A' THEN (
171
+ SELECT array_agg(e.enumlabel ORDER BY e.enumsortorder)
172
+ FROM pg_enum e
173
+ WHERE e.enumtypid = COALESCE(elem_bt.oid, elem.oid)
174
+ )
175
+ ELSE (
176
+ SELECT array_agg(e.enumlabel ORDER BY e.enumsortorder)
177
+ FROM pg_enum e
178
+ WHERE e.enumtypid = COALESCE(bt.oid, t.oid)
179
+ )
180
+ END AS enum_labels,
181
+
182
+ t.oid AS type_oid
183
+
184
+ FROM pg_attribute a
185
+ JOIN pg_class c ON c.oid = a.attrelid
186
+ JOIN pg_namespace n ON n.oid = c.relnamespace
187
+ JOIN pg_type t ON t.oid = a.atttypid
188
+ LEFT JOIN pg_type bt ON t.typtype = 'd' AND bt.oid = t.typbasetype
189
+ LEFT JOIN pg_type et ON et.oid = COALESCE(bt.oid, t.oid)
190
+ LEFT JOIN pg_type elem ON elem.oid = CASE WHEN et.typcategory = 'A' THEN et.typelem END
191
+ LEFT JOIN pg_type elem_bt ON elem.typtype = 'd' AND elem_bt.oid = elem.typbasetype
192
+ LEFT JOIN pg_attrdef ad ON ad.adrelid = a.attrelid AND ad.adnum = a.attnum
193
+ WHERE
194
+ a.attnum > 0
195
+ AND NOT a.attisdropped
196
+ AND c.relkind IN ('r','p','v','m','f')
197
+ AND n.nspname NOT IN ('pg_catalog','information_schema')
198
+ )
199
+
200
+ -- 1) Standalone composite types only (created by hand)
201
+ , composite AS (
202
+ SELECT
203
+ current_database() AS database_name,
204
+ n.nspname AS schema_name,
205
+ t.typname AS relation_name,
206
+ 'composite type' AS relation_kind,
207
+ obj_description(t.oid, 'pg_type') AS table_comment,
208
+
209
+ a.attname AS column_name,
210
+ col_description(c.oid, a.attnum) AS column_comment,
211
+
212
+ NOT a.attnotnull AS is_nullable,
213
+ FALSE AS has_default,
214
+ NULL::text AS column_default,
215
+
216
+ COALESCE(bt.typname, ty.typname) AS pg_type,
217
+ format_type(a.atttypid, a.atttypmod) AS formatted_type,
218
+
219
+ (et.typcategory = 'A') AS is_array,
220
+ CASE WHEN et.typcategory = 'A' THEN COALESCE(elem_bt.typname, elem.typname) END AS array_element_pg_type,
221
+ CASE WHEN et.typcategory = 'A' THEN format_type(COALESCE(elem_bt.oid, elem.oid), a.atttypmod) END AS array_element_formatted_type,
222
+
223
+ CASE
224
+ WHEN et.typcategory IN ('S','E','P','R') THEN NULL
225
+ WHEN et.typcategory = 'A' THEN NULL
226
+ ELSE information_schema._pg_char_max_length(a.atttypid, a.atttypmod)
227
+ END AS length,
228
+
229
+ information_schema._pg_numeric_precision(COALESCE(elem_bt.oid, elem.oid, a.atttypid), a.atttypmod) AS precision,
230
+ information_schema._pg_numeric_scale(COALESCE(elem_bt.oid, elem.oid, a.atttypid), a.atttypmod) AS scale,
231
+
232
+ FALSE AS is_primary_key,
233
+ FALSE AS is_unique,
234
+ FALSE AS is_foreign_key,
235
+ NULL::jsonb AS fk_info,
236
+
237
+ FALSE AS is_check_constrained,
238
+ NULL::text AS check_constraints,
239
+
240
+ EXISTS (
241
+ SELECT 1 FROM pg_type tt
242
+ WHERE tt.oid = COALESCE(elem_bt.oid, elem.oid, bt.oid, ty.oid) AND tt.typtype = 'e'
243
+ ) AS is_enum,
244
+
245
+ CASE
246
+ WHEN EXISTS (
247
+ SELECT 1 FROM pg_type tt
248
+ WHERE tt.oid = COALESCE(elem_bt.oid, elem.oid) AND tt.typtype = 'e'
249
+ ) THEN (
250
+ SELECT ns.nspname || '.' || tt.typname
251
+ FROM pg_type tt JOIN pg_namespace ns ON ns.oid = tt.typnamespace
252
+ WHERE tt.oid = COALESCE(elem_bt.oid, elem.oid)
253
+ )
254
+ WHEN EXISTS (
255
+ SELECT 1 FROM pg_type tt
256
+ WHERE tt.oid = COALESCE(bt.oid, ty.oid) AND tt.typtype = 'e'
257
+ ) THEN (
258
+ SELECT ns.nspname || '.' || tt.typname
259
+ FROM pg_type tt JOIN pg_namespace ns ON ns.oid = tt.typnamespace
260
+ WHERE tt.oid = COALESCE(bt.oid, ty.oid)
261
+ )
262
+ ELSE NULL
263
+ END AS enum_type_name,
264
+
265
+ CASE
266
+ WHEN EXISTS (
267
+ SELECT 1 FROM pg_type tt
268
+ WHERE tt.oid = COALESCE(elem_bt.oid, elem.oid) AND tt.typtype = 'e'
269
+ ) THEN (
270
+ SELECT array_agg(e.enumlabel ORDER BY e.enumsortorder)
271
+ FROM pg_enum e WHERE e.enumtypid = COALESCE(elem_bt.oid, elem.oid)
272
+ )
273
+ WHEN EXISTS (
274
+ SELECT 1 FROM pg_type tt
275
+ WHERE tt.oid = COALESCE(bt.oid, ty.oid) AND tt.typtype = 'e'
276
+ ) THEN (
277
+ SELECT array_agg(e.enumlabel ORDER BY e.enumsortorder)
278
+ FROM pg_enum e WHERE e.enumtypid = COALESCE(bt.oid, ty.oid)
279
+ )
280
+ ELSE NULL
281
+ END AS enum_labels,
282
+
283
+ a.atttypid AS type_oid
284
+
285
+ FROM pg_type t
286
+ JOIN pg_namespace n ON n.oid = t.typnamespace
287
+ JOIN pg_class c ON c.oid = t.typrelid
288
+ JOIN pg_attribute a ON a.attrelid = c.oid
289
+ JOIN pg_type ty ON ty.oid = a.atttypid
290
+ LEFT JOIN pg_type bt ON ty.typtype = 'd' AND bt.oid = ty.typbasetype
291
+ LEFT JOIN pg_type et ON et.oid = COALESCE(bt.oid, ty.oid)
292
+ LEFT JOIN pg_type elem ON elem.oid = CASE WHEN et.typcategory = 'A' THEN et.typelem END
293
+ LEFT JOIN pg_type elem_bt ON elem.typtype = 'd' AND elem_bt.oid = elem.typbasetype
294
+ WHERE t.typtype = 'c'
295
+ AND c.relkind = 'c' -- <<< filter to standalone composites created by hand
296
+ AND a.attnum > 0 AND NOT a.attisdropped
297
+ AND n.nspname NOT IN ('pg_catalog','information_schema')
298
+ )
299
+
300
+ -- 2) Enum types: one row per label
301
+ , enum_rows AS (
302
+ SELECT
303
+ current_database() AS database_name,
304
+ n.nspname AS schema_name,
305
+ t.typname AS relation_name,
306
+ 'enum type' AS relation_kind,
307
+ obj_description(t.oid, 'pg_type') AS table_comment,
308
+
309
+ e.enumlabel AS column_name,
310
+ NULL::text AS column_comment,
311
+
312
+ NULL::boolean AS is_nullable,
313
+ FALSE AS has_default,
314
+ NULL::text AS column_default,
315
+
316
+ 'text' AS pg_type,
317
+ 'text' AS formatted_type,
318
+
319
+ FALSE AS is_array,
320
+ NULL::text AS array_element_pg_type,
321
+ NULL::text AS array_element_formatted_type,
322
+
323
+ NULL::integer AS length,
324
+ NULL::integer AS precision,
325
+ NULL::integer AS scale,
326
+
327
+ FALSE AS is_primary_key,
328
+ FALSE AS is_unique,
329
+ FALSE AS is_foreign_key,
330
+ NULL::jsonb AS fk_info,
331
+
332
+ TRUE AS is_check_constrained,
333
+ NULL::text AS check_constraints,
334
+
335
+ TRUE AS is_enum,
336
+ n.nspname || '.' || t.typname AS enum_type_name,
337
+ NULL::text[] AS enum_labels,
338
+
339
+ t.oid AS type_oid
340
+ FROM pg_type t
341
+ JOIN pg_namespace n ON n.oid = t.typnamespace
342
+ JOIN pg_enum e ON e.enumtypid = t.oid
343
+ WHERE t.typtype = 'e'
344
+ AND n.nspname NOT IN ('pg_catalog','information_schema')
345
+ )
346
+
347
+ -- 3) Domain types: one synthetic "(base)" row with CHECKs
348
+ , domain_rows AS (
349
+ SELECT
350
+ current_database() AS database_name,
351
+ n.nspname AS schema_name,
352
+ t.typname AS relation_name,
353
+ 'domain type' AS relation_kind,
354
+ obj_description(t.oid, 'pg_type') AS table_comment,
355
+
356
+ '(base)' AS column_name,
357
+ NULL::text AS column_comment,
358
+
359
+ NULL::boolean AS is_nullable,
360
+ FALSE AS has_default,
361
+ NULL::text AS column_default,
362
+
363
+ COALESCE(bt.typname, baset.typname) AS pg_type,
364
+ format_type(t.typbasetype, t.typtypmod) AS formatted_type,
365
+
366
+ FALSE AS is_array,
367
+ NULL::text AS array_element_pg_type,
368
+ NULL::text AS array_element_formatted_type,
369
+
370
+ information_schema._pg_char_max_length(t.typbasetype, t.typtypmod) AS length,
371
+ information_schema._pg_numeric_precision(t.typbasetype, t.typtypmod) AS precision,
372
+ information_schema._pg_numeric_scale(t.typbasetype, t.typtypmod) AS scale,
373
+
374
+ FALSE AS is_primary_key,
375
+ FALSE AS is_unique,
376
+ FALSE AS is_foreign_key,
377
+ NULL::jsonb AS fk_info,
378
+
379
+ (EXISTS (SELECT 1 FROM pg_constraint con WHERE con.contypid = t.oid AND con.contype = 'c')) AS is_check_constrained,
380
+ (
381
+ SELECT string_agg(pg_get_constraintdef(con.oid), ' AND ')
382
+ FROM pg_constraint con
383
+ WHERE con.contypid = t.oid AND con.contype = 'c'
384
+ ) AS check_constraints,
385
+
386
+ EXISTS (SELECT 1 FROM pg_type tt WHERE tt.oid = t.typbasetype AND tt.typtype = 'e') AS is_enum,
387
+ CASE
388
+ WHEN EXISTS (SELECT 1 FROM pg_type tt WHERE tt.oid = t.typbasetype AND tt.typtype = 'e')
389
+ THEN (
390
+ SELECT ns.nspname || '.' || tt.typname
391
+ FROM pg_type tt JOIN pg_namespace ns ON ns.oid = tt.typnamespace
392
+ WHERE tt.oid = t.typbasetype
393
+ )
394
+ ELSE NULL
395
+ END AS enum_type_name,
396
+ NULL::text[] AS enum_labels,
397
+
398
+ t.oid AS type_oid
399
+ FROM pg_type t
400
+ JOIN pg_namespace n ON n.oid = t.typnamespace
401
+ LEFT JOIN pg_type baset ON baset.oid = t.typbasetype
402
+ LEFT JOIN pg_type bt ON baset.typtype = 'd' AND bt.oid = baset.typbasetype
403
+ WHERE t.typtype = 'd'
404
+ AND n.nspname NOT IN ('pg_catalog','information_schema')
405
+ )
406
+
407
+ SELECT * FROM base
408
+ UNION ALL
409
+ SELECT * FROM composite
410
+ UNION ALL
411
+ SELECT * FROM enum_rows
412
+ UNION ALL
413
+ SELECT * FROM domain_rows
414
+ ORDER BY schema_name, relation_name, column_name;
415
+ `;
416
+ //# sourceMappingURL=introspect-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"introspect-query.js","sourceRoot":"","sources":["../../../src/database/introspect/introspect-query.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8ZhC,CAAC"}
@@ -0,0 +1,45 @@
1
+ export interface ColumnIntrospection {
2
+ database_name: string;
3
+ schema_name: string;
4
+ relation_name: string;
5
+ relation_kind: 'table' | 'view' | 'materialized view' | 'partitioned table' | 'foreign table' | 'enum type' | 'composite type';
6
+ table_comment: string | null;
7
+ column_name: string;
8
+ column_comment: string | null;
9
+ is_nullable: boolean;
10
+ has_default: boolean;
11
+ column_default: string | null;
12
+ pg_type: string;
13
+ formatted_type: string;
14
+ is_array: boolean;
15
+ array_element_pg_type: string | null;
16
+ array_element_formatted_type: string | null;
17
+ length: number | null;
18
+ precision: number | null;
19
+ scale: number | null;
20
+ is_primary_key: boolean;
21
+ is_unique: boolean;
22
+ is_foreign_key: boolean;
23
+ fk_info: ForeignKeyInfo[] | null;
24
+ is_check_constrained: boolean;
25
+ check_constraints: CheckConstraintInfo[] | null;
26
+ is_enum: boolean;
27
+ enum_type_name: string | null;
28
+ enum_labels: string[] | string | null;
29
+ type_oid: number;
30
+ }
31
+ export interface ForeignKeyInfo {
32
+ constraint_name: string;
33
+ ref_schema: string;
34
+ ref_table: string;
35
+ ref_columns: string[];
36
+ column_positions: number[];
37
+ update_action: 'NO ACTION' | 'RESTRICT' | 'CASCADE' | 'SET NULL' | 'SET DEFAULT';
38
+ delete_action: 'NO ACTION' | 'RESTRICT' | 'CASCADE' | 'SET NULL' | 'SET DEFAULT';
39
+ match_type: 'SIMPLE' | 'FULL' | 'PARTIAL';
40
+ }
41
+ export interface CheckConstraintInfo {
42
+ constraint_name: string;
43
+ definition: string;
44
+ }
45
+ //# sourceMappingURL=introspect-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"introspect-types.d.ts","sourceRoot":"","sources":["../../../src/database/introspect/introspect-types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EACT,OAAO,GACP,MAAM,GACN,mBAAmB,GACnB,mBAAmB,GACnB,eAAe,GACf,WAAW,GACX,gBAAgB,CAAC;IACrB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,4BAA4B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IACjC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,iBAAiB,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,EAAE,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,aAAa,CAAC;IACjF,aAAa,EAAE,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,aAAa,CAAC;IACjF,UAAU,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;CAC3C;AAED,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=introspect-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"introspect-types.js","sourceRoot":"","sources":["../../../src/database/introspect/introspect-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ import { PostgreSQLDatabase } from '../../../postgresql/index.js';
2
+ import { SchemaContainer } from '../../schema/schema-container.js';
3
+ import { SchemaObject } from '../../schema/schema-object.js';
4
+ import { SchemaScope } from '../../schema/schema-scope.js';
5
+ import { ColumnIntrospection } from './introspect-types.js';
6
+ export type ColumnMapper = (r: ColumnIntrospection, s: SchemaScope) => SchemaObject | unknown;
7
+ type TypesIndex = Record<string, SchemaObject>;
8
+ export interface ConstantType {
9
+ [name: string]: string[];
10
+ }
11
+ export declare class PostgreSQLIntrospector {
12
+ protected db: PostgreSQLDatabase;
13
+ constructor(db: PostgreSQLDatabase);
14
+ protected createTypes(schema: SchemaContainer, records: ColumnIntrospection[], mapper: ColumnMapper | undefined, index: TypesIndex): void;
15
+ protected createEnumTypes(schema: SchemaContainer, records: ColumnIntrospection[]): void;
16
+ introstectConstantTypes(): Promise<ConstantType>;
17
+ introspect(schema: SchemaContainer, mapper?: ColumnMapper): Promise<void>;
18
+ protected mapPgTypeToTypescript(data: ColumnIntrospection, s: SchemaScope): SchemaObject | null;
19
+ }
20
+ export {};
21
+ //# sourceMappingURL=introspect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"introspect.d.ts","sourceRoot":"","sources":["../../../src/database/introspect/introspect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,WAAW,KAAK,YAAY,GAAG,OAAO,CAAC;AAE9F,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAE/C,MAAM,WAAW,YAAY;IAC3B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC1B;AAED,qBAAa,sBAAsB;IACjC,SAAS,CAAC,EAAE,EAAE,kBAAkB,CAAC;gBAErB,EAAE,EAAE,kBAAkB;IAIlC,SAAS,CAAC,WAAW,CACnB,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,mBAAmB,EAAE,EAC9B,MAAM,EAAE,YAAY,GAAG,SAAS,EAChC,KAAK,EAAE,UAAU;IAiFnB,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,mBAAmB,EAAE;IAe3E,uBAAuB;IA6BvB,UAAU,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,YAAY;IA4B/D,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,EAAE,CAAC,EAAE,WAAW,GAAG,YAAY,GAAG,IAAI;CAmIhG"}