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,211 @@
1
+ /**
2
+ * Validation utilities for command line option types
3
+ */
4
+ /**
5
+ * Validates if a string is a valid email address
6
+ * @param value The value to validate
7
+ * @returns true if valid email, false otherwise
8
+ */
9
+ export function isValidEmail(value) {
10
+ if (typeof value !== "string") {
11
+ return false;
12
+ }
13
+ // Basic email regex that covers most common cases
14
+ // This follows RFC 5322 specification loosely but is practical for command line usage
15
+ // Allow underscores in domain names for practical usage
16
+ const emailRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9_-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9_-]{0,61}[a-zA-Z0-9])?)*$/;
17
+ // Check basic format
18
+ if (!emailRegex.test(value)) {
19
+ return false;
20
+ }
21
+ // Additional checks
22
+ const parts = value.split("@");
23
+ if (parts.length !== 2) {
24
+ return false;
25
+ }
26
+ const [localPart, domainPart] = parts;
27
+ // Check local part length (before @)
28
+ if (!localPart || localPart.length > 64) {
29
+ return false;
30
+ }
31
+ // Check domain part length (after @)
32
+ if (!domainPart || domainPart.length > 253) {
33
+ return false;
34
+ }
35
+ // Check for consecutive dots
36
+ if (value.includes("..")) {
37
+ return false;
38
+ }
39
+ // Check that it doesn't start or end with a dot
40
+ if (localPart.startsWith(".") || localPart.endsWith(".")) {
41
+ return false;
42
+ }
43
+ // Validate the domain part using our domain validator
44
+ if (!isValidDomain(domainPart)) {
45
+ return false;
46
+ }
47
+ // For emails, require at least one dot in the domain (no single-label domains)
48
+ if (!domainPart.includes(".")) {
49
+ return false;
50
+ }
51
+ // For emails, require TLD to be at least 2 characters
52
+ const domainLabels = domainPart.split(".");
53
+ const tld = domainLabels[domainLabels.length - 1];
54
+ if (tld && tld.length < 2) {
55
+ return false;
56
+ }
57
+ return true;
58
+ }
59
+ /**
60
+ * Validates if a string is a valid domain name (including subdomains)
61
+ * @param value The value to validate
62
+ * @returns true if valid domain, false otherwise
63
+ */
64
+ export function isValidDomain(value) {
65
+ if (typeof value !== "string") {
66
+ return false;
67
+ }
68
+ // Remove leading/trailing whitespace
69
+ const domain = value.trim();
70
+ // Check length constraints
71
+ if (domain.length === 0 || domain.length > 253) {
72
+ return false;
73
+ }
74
+ // Domain cannot start or end with a dot or hyphen
75
+ if (domain.startsWith(".") || domain.endsWith(".") || domain.startsWith("-") || domain.endsWith("-")) {
76
+ return false;
77
+ }
78
+ // Split into labels (parts separated by dots)
79
+ const labels = domain.split(".");
80
+ // Must have at least one label
81
+ if (labels.length === 0) {
82
+ return false;
83
+ }
84
+ // Validate each label
85
+ for (let i = 0; i < labels.length; i++) {
86
+ const label = labels[i];
87
+ // Label cannot be empty or undefined
88
+ if (!label || label.length === 0) {
89
+ return false;
90
+ }
91
+ // Label cannot be longer than 63 characters
92
+ if (label.length > 63) {
93
+ return false;
94
+ }
95
+ // Label cannot start or end with hyphen
96
+ if (label.startsWith("-") || label.endsWith("-")) {
97
+ return false;
98
+ }
99
+ // For non-TLD labels, allow alphanumeric characters, hyphens, and underscores
100
+ // For TLD (last label), be more restrictive
101
+ if (i === labels.length - 1) {
102
+ // TLD validation: only letters and numbers, no hyphens or underscores
103
+ // Must contain at least one letter and be at least 2 characters
104
+ // Exception: single-label domains like "localhost" are allowed
105
+ if (labels.length === 1) {
106
+ // Single label domain (like localhost) - allow alphanumeric, hyphens, underscores
107
+ if (!/^[a-zA-Z0-9_-]+$/.test(label)) {
108
+ return false;
109
+ }
110
+ }
111
+ else {
112
+ // Multi-label domain TLD - must contain at least one letter
113
+ if (!/^[a-zA-Z0-9]+$/.test(label) || !/[a-zA-Z]/.test(label)) {
114
+ return false;
115
+ }
116
+ }
117
+ }
118
+ else {
119
+ // Non-TLD labels can contain alphanumeric characters, hyphens, and underscores
120
+ if (!/^[a-zA-Z0-9_-]+$/.test(label)) {
121
+ return false;
122
+ }
123
+ }
124
+ }
125
+ return true;
126
+ }
127
+ /**
128
+ * Get a human-readable error message for invalid email
129
+ * @param value The invalid email value
130
+ * @returns Error message string
131
+ */
132
+ export function getEmailValidationError(value) {
133
+ if (typeof value !== "string") {
134
+ return "Email must be a string";
135
+ }
136
+ if (value.length === 0) {
137
+ return "Email cannot be empty";
138
+ }
139
+ if (!value.includes("@")) {
140
+ return "Email must contain @ symbol";
141
+ }
142
+ const parts = value.split("@");
143
+ if (parts.length !== 2) {
144
+ return "Email must contain exactly one @ symbol";
145
+ }
146
+ const [localPart, domainPart] = parts;
147
+ if (!localPart) {
148
+ return "Email must have a local part before @";
149
+ }
150
+ if (localPart.length > 64) {
151
+ return "Email local part cannot exceed 64 characters";
152
+ }
153
+ if (!domainPart) {
154
+ return "Email must have a domain part after @";
155
+ }
156
+ if (domainPart.length > 253) {
157
+ return "Email domain part cannot exceed 253 characters";
158
+ }
159
+ if (value.includes("..")) {
160
+ return "Email cannot contain consecutive dots";
161
+ }
162
+ if (localPart.startsWith(".") || localPart.endsWith(".")) {
163
+ return "Email local part cannot start or end with a dot";
164
+ }
165
+ return "Invalid email format";
166
+ }
167
+ /**
168
+ * Get a human-readable error message for invalid domain
169
+ * @param value The invalid domain value
170
+ * @returns Error message string
171
+ */
172
+ export function getDomainValidationError(value) {
173
+ if (typeof value !== "string") {
174
+ return "Domain must be a string";
175
+ }
176
+ const domain = value.trim();
177
+ if (domain.length === 0) {
178
+ return "Domain cannot be empty";
179
+ }
180
+ if (domain.length > 253) {
181
+ return "Domain cannot exceed 253 characters";
182
+ }
183
+ if (domain.startsWith(".") || domain.endsWith(".")) {
184
+ return "Domain cannot start or end with a dot";
185
+ }
186
+ if (domain.startsWith("-") || domain.endsWith("-")) {
187
+ return "Domain cannot start or end with a hyphen";
188
+ }
189
+ const labels = domain.split(".");
190
+ for (let i = 0; i < labels.length; i++) {
191
+ const label = labels[i];
192
+ if (!label || label.length === 0) {
193
+ return "Domain labels cannot be empty";
194
+ }
195
+ if (label.length > 63) {
196
+ return `Domain label "${label}" cannot exceed 63 characters`;
197
+ }
198
+ if (label.startsWith("-") || label.endsWith("-")) {
199
+ return `Domain label "${label}" cannot start or end with a hyphen`;
200
+ }
201
+ if (!/^[a-zA-Z0-9-]+$/.test(label)) {
202
+ return `Domain label "${label}" contains invalid characters (only letters, numbers, and hyphens allowed)`;
203
+ }
204
+ }
205
+ const tld = labels[labels.length - 1];
206
+ if (tld && !/[a-zA-Z]/.test(tld)) {
207
+ return "Top-level domain must contain at least one letter";
208
+ }
209
+ return "Invalid domain format";
210
+ }
211
+ //# sourceMappingURL=validators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../src/validators.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,kDAAkD;IAClD,sFAAsF;IACtF,wDAAwD;IACxD,MAAM,UAAU,GACZ,wIAAwI,CAAC;IAE7I,qBAAqB;IACrB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,oBAAoB;IACpB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC;IAEtC,qCAAqC;IACrC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,qCAAqC;IACrC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,6BAA6B;IAC7B,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,gDAAgD;IAChD,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,sDAAsD;IACtD,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,+EAA+E;IAC/E,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,sDAAsD;IACtD,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClD,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,qCAAqC;IACrC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAE5B,2BAA2B;IAC3B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QAC7C,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,kDAAkD;IAClD,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACnG,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,8CAA8C;IAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEjC,+BAA+B;IAC/B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,sBAAsB;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAExB,qCAAqC;QACrC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,4CAA4C;QAC5C,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,wCAAwC;QACxC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,8EAA8E;QAC9E,4CAA4C;QAC5C,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,sEAAsE;YACtE,gEAAgE;YAChE,+DAA+D;YAC/D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,kFAAkF;gBAClF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClC,OAAO,KAAK,CAAC;gBACjB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,4DAA4D;gBAC5D,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC3D,OAAO,KAAK,CAAC;gBACjB,CAAC;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,+EAA+E;YAC/E,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClC,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,wBAAwB,CAAC;IACpC,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,uBAAuB,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,6BAA6B,CAAC;IACzC,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,yCAAyC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC;IAEtC,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO,uCAAuC,CAAC;IACnD,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACxB,OAAO,8CAA8C,CAAC;IAC1D,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO,uCAAuC,CAAC;IACnD,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QAC1B,OAAO,gDAAgD,CAAC;IAC5D,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,uCAAuC,CAAC;IACnD,CAAC;IAED,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,OAAO,iDAAiD,CAAC;IAC7D,CAAC;IAED,OAAO,sBAAsB,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAa;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,yBAAyB,CAAC;IACrC,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAE5B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,wBAAwB,CAAC;IACpC,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACtB,OAAO,qCAAqC,CAAC;IACjD,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACjD,OAAO,uCAAuC,CAAC;IACnD,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACjD,OAAO,0CAA0C,CAAC;IACtD,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAExB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,+BAA+B,CAAC;QAC3C,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACpB,OAAO,iBAAiB,KAAK,+BAA+B,CAAC;QACjE,CAAC;QAED,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,OAAO,iBAAiB,KAAK,qCAAqC,CAAC;QACvE,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,iBAAiB,KAAK,4EAA4E,CAAC;QAC9G,CAAC;IACL,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACtC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,mDAAmD,CAAC;IAC/D,CAAC;IAED,OAAO,uBAAuB,CAAC;AACnC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './introspect/index.js';
2
+ export * from './schema/index.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './introspect/index.js';
2
+ export * from './schema/index.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './introspect-types.js';
2
+ export * from './introspect.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/database/introspect/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './introspect-types.js';
2
+ export * from './introspect.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/database/introspect/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const INTROSPECTION_SQL = "\n-- ===========================================================\n-- Enhanced introspect.sql\n-- Includes user-defined types (UDTs) and\n-- FILTERS composite types to ONLY those created by hand\n-- (standalone composites: pg_class.relkind = 'c').\n-- ===========================================================\n\nWITH base AS (\nSELECT\n current_database() AS database_name,\n n.nspname AS schema_name,\n c.relname AS relation_name,\n CASE c.relkind\n WHEN 'r' THEN 'table'\n WHEN 'p' THEN 'partitioned table'\n WHEN 'v' THEN 'view'\n WHEN 'm' THEN 'materialized view'\n WHEN 'f' THEN 'foreign table'\n ELSE c.relkind::text\n END AS relation_kind,\n\n obj_description(c.oid, 'pg_class') AS table_comment,\n\n a.attname AS column_name,\n col_description(a.attrelid, a.attnum) AS column_comment,\n\n (NOT a.attnotnull) AS is_nullable,\n\n (ad.adbin IS NOT NULL) AS has_default,\n CASE\n WHEN ad.adbin IS NOT NULL THEN pg_get_expr(ad.adbin, ad.adrelid)\n ELSE NULL\n END AS column_default,\n\n COALESCE(bt.typname, t.typname) AS pg_type,\n\n format_type(a.atttypid, a.atttypmod) AS formatted_type,\n\n (et.typcategory = 'A') AS is_array,\n\n CASE WHEN et.typcategory = 'A'\n THEN COALESCE(elem_bt.typname, elem.typname)\n END AS array_element_pg_type,\n CASE WHEN et.typcategory = 'A'\n THEN format_type(COALESCE(elem_bt.oid, elem.oid), a.atttypmod)\n END AS array_element_formatted_type,\n\n CASE\n WHEN (\n (et.typcategory = 'A' AND COALESCE(elem_bt.typname, elem.typname) IN ('varchar','bpchar'))\n OR (et.typcategory <> 'A' AND COALESCE(bt.typname, t.typname) IN ('varchar','bpchar'))\n ) THEN NULLIF(a.atttypmod - 4, -1)\n ELSE NULL\n END AS length,\n\n CASE\n WHEN (\n (et.typcategory = 'A' AND COALESCE(elem_bt.typname, elem.typname) = 'numeric')\n OR (et.typcategory <> 'A' AND COALESCE(bt.typname, t.typname) = 'numeric')\n ) THEN information_schema._pg_numeric_precision(COALESCE(elem_bt.oid, elem.oid, a.atttypid), a.atttypmod)\n ELSE NULL\n END AS precision,\n\n CASE\n WHEN (\n (et.typcategory = 'A' AND COALESCE(elem_bt.typname, elem.typname) = 'numeric')\n OR (et.typcategory <> 'A' AND COALESCE(bt.typname, t.typname) = 'numeric')\n ) THEN information_schema._pg_numeric_scale(COALESCE(elem_bt.oid, elem.oid, a.atttypid), a.atttypmod)\n ELSE NULL\n END AS scale,\n\n EXISTS (\n SELECT 1\n FROM pg_index i\n WHERE i.indrelid = c.oid\n AND i.indisprimary\n AND a.attnum = ANY(i.indkey)\n ) AS is_primary_key,\n\n EXISTS (\n SELECT 1\n FROM pg_index i\n WHERE i.indrelid = c.oid\n AND i.indisunique\n AND a.attnum = ANY(i.indkey)\n ) AS is_unique,\n\n EXISTS (\n SELECT 1\n FROM pg_constraint con\n WHERE con.conrelid = c.oid\n AND con.contype = 'f'\n AND a.attnum = ANY(con.conkey)\n ) AS is_foreign_key,\n\n (\n SELECT jsonb_agg(jsonb_build_object(\n 'constraint_name', con.conname,\n 'schema', n2.nspname,\n 'table', c2.relname,\n 'columns',\n (\n SELECT jsonb_agg(a2.attname ORDER BY k2.ord)\n FROM unnest(con.confkey) WITH ORDINALITY AS k2(attnum, ord)\n JOIN pg_attribute a2 ON a2.attrelid = con.confrelid AND a2.attnum = k2.attnum\n ),\n 'referenced_columns',\n (\n SELECT jsonb_agg(a1.attname ORDER BY k1.ord)\n FROM unnest(con.conkey) WITH ORDINALITY AS k1(attnum, ord)\n JOIN pg_attribute a1 ON a1.attrelid = con.conrelid AND a1.attnum = k1.attnum\n )\n ) ORDER BY con.conname)\n FROM pg_constraint con\n JOIN pg_class c2 ON c2.oid = con.confrelid\n JOIN pg_namespace n2 ON n2.oid = c2.relnamespace\n WHERE con.conrelid = c.oid\n AND con.contype = 'f'\n AND a.attnum = ANY(con.conkey)\n ) AS fk_info,\n\n EXISTS (\n SELECT 1\n FROM pg_constraint con\n WHERE con.conrelid = c.oid\n AND con.contype = 'c'\n AND a.attnum = ANY(con.conkey)\n ) AS is_check_constrained,\n\n (\n SELECT string_agg(pg_get_constraintdef(con.oid), ' AND ')\n FROM pg_constraint con\n WHERE con.conrelid = c.oid\n AND con.contype = 'c'\n AND a.attnum = ANY(con.conkey)\n ) AS check_constraints,\n\n CASE\n WHEN et.typcategory = 'A' THEN EXISTS (\n SELECT 1 FROM pg_type tt\n WHERE tt.oid = COALESCE(elem_bt.oid, elem.oid)\n AND tt.typtype = 'e'\n )\n ELSE EXISTS (\n SELECT 1 FROM pg_type tt\n WHERE tt.oid = COALESCE(bt.oid, t.oid)\n AND tt.typtype = 'e'\n )\n END AS is_enum,\n\n CASE\n WHEN et.typcategory = 'A' THEN (\n SELECT ns.nspname || '.' || tt.typname\n FROM pg_type tt\n JOIN pg_namespace ns ON ns.oid = tt.typnamespace\n WHERE tt.oid = COALESCE(elem_bt.oid, elem.oid)\n AND tt.typtype = 'e'\n )\n ELSE (\n SELECT ns.nspname || '.' || tt.typname\n FROM pg_type tt\n JOIN pg_namespace ns ON ns.oid = tt.typnamespace\n WHERE tt.oid = COALESCE(bt.oid, t.oid)\n AND tt.typtype = 'e'\n )\n END AS enum_type_name,\n\n CASE\n WHEN et.typcategory = 'A' THEN (\n SELECT array_agg(e.enumlabel ORDER BY e.enumsortorder)\n FROM pg_enum e\n WHERE e.enumtypid = COALESCE(elem_bt.oid, elem.oid)\n )\n ELSE (\n SELECT array_agg(e.enumlabel ORDER BY e.enumsortorder)\n FROM pg_enum e\n WHERE e.enumtypid = COALESCE(bt.oid, t.oid)\n )\n END AS enum_labels,\n\n t.oid AS type_oid\n\nFROM pg_attribute a\nJOIN pg_class c ON c.oid = a.attrelid\nJOIN pg_namespace n ON n.oid = c.relnamespace\nJOIN pg_type t ON t.oid = a.atttypid\nLEFT JOIN pg_type bt ON t.typtype = 'd' AND bt.oid = t.typbasetype\nLEFT JOIN pg_type et ON et.oid = COALESCE(bt.oid, t.oid)\nLEFT JOIN pg_type elem ON elem.oid = CASE WHEN et.typcategory = 'A' THEN et.typelem END\nLEFT JOIN pg_type elem_bt ON elem.typtype = 'd' AND elem_bt.oid = elem.typbasetype\nLEFT JOIN pg_attrdef ad ON ad.adrelid = a.attrelid AND ad.adnum = a.attnum\nWHERE\n a.attnum > 0\n AND NOT a.attisdropped\n AND c.relkind IN ('r','p','v','m','f')\n AND n.nspname NOT IN ('pg_catalog','information_schema')\n)\n\n-- 1) Standalone composite types only (created by hand)\n, composite AS (\n SELECT\n current_database() AS database_name,\n n.nspname AS schema_name,\n t.typname AS relation_name,\n 'composite type' AS relation_kind,\n obj_description(t.oid, 'pg_type') AS table_comment,\n\n a.attname AS column_name,\n col_description(c.oid, a.attnum) AS column_comment,\n\n NOT a.attnotnull AS is_nullable,\n FALSE AS has_default,\n NULL::text AS column_default,\n\n COALESCE(bt.typname, ty.typname) AS pg_type,\n format_type(a.atttypid, a.atttypmod) AS formatted_type,\n\n (et.typcategory = 'A') AS is_array,\n CASE WHEN et.typcategory = 'A' THEN COALESCE(elem_bt.typname, elem.typname) END AS array_element_pg_type,\n CASE WHEN et.typcategory = 'A' THEN format_type(COALESCE(elem_bt.oid, elem.oid), a.atttypmod) END AS array_element_formatted_type,\n\n CASE\n WHEN et.typcategory IN ('S','E','P','R') THEN NULL\n WHEN et.typcategory = 'A' THEN NULL\n ELSE information_schema._pg_char_max_length(a.atttypid, a.atttypmod)\n END AS length,\n\n information_schema._pg_numeric_precision(COALESCE(elem_bt.oid, elem.oid, a.atttypid), a.atttypmod) AS precision,\n information_schema._pg_numeric_scale(COALESCE(elem_bt.oid, elem.oid, a.atttypid), a.atttypmod) AS scale,\n\n FALSE AS is_primary_key,\n FALSE AS is_unique,\n FALSE AS is_foreign_key,\n NULL::jsonb AS fk_info,\n\n FALSE AS is_check_constrained,\n NULL::text AS check_constraints,\n\n EXISTS (\n SELECT 1 FROM pg_type tt\n WHERE tt.oid = COALESCE(elem_bt.oid, elem.oid, bt.oid, ty.oid) AND tt.typtype = 'e'\n ) AS is_enum,\n\n CASE\n WHEN EXISTS (\n SELECT 1 FROM pg_type tt\n WHERE tt.oid = COALESCE(elem_bt.oid, elem.oid) AND tt.typtype = 'e'\n ) THEN (\n SELECT ns.nspname || '.' || tt.typname\n FROM pg_type tt JOIN pg_namespace ns ON ns.oid = tt.typnamespace\n WHERE tt.oid = COALESCE(elem_bt.oid, elem.oid)\n )\n WHEN EXISTS (\n SELECT 1 FROM pg_type tt\n WHERE tt.oid = COALESCE(bt.oid, ty.oid) AND tt.typtype = 'e'\n ) THEN (\n SELECT ns.nspname || '.' || tt.typname\n FROM pg_type tt JOIN pg_namespace ns ON ns.oid = tt.typnamespace\n WHERE tt.oid = COALESCE(bt.oid, ty.oid)\n )\n ELSE NULL\n END AS enum_type_name,\n\n CASE\n WHEN EXISTS (\n SELECT 1 FROM pg_type tt\n WHERE tt.oid = COALESCE(elem_bt.oid, elem.oid) AND tt.typtype = 'e'\n ) THEN (\n SELECT array_agg(e.enumlabel ORDER BY e.enumsortorder)\n FROM pg_enum e WHERE e.enumtypid = COALESCE(elem_bt.oid, elem.oid)\n )\n WHEN EXISTS (\n SELECT 1 FROM pg_type tt\n WHERE tt.oid = COALESCE(bt.oid, ty.oid) AND tt.typtype = 'e'\n ) THEN (\n SELECT array_agg(e.enumlabel ORDER BY e.enumsortorder)\n FROM pg_enum e WHERE e.enumtypid = COALESCE(bt.oid, ty.oid)\n )\n ELSE NULL\n END AS enum_labels,\n\n a.atttypid AS type_oid\n\n FROM pg_type t\n JOIN pg_namespace n ON n.oid = t.typnamespace\n JOIN pg_class c ON c.oid = t.typrelid\n JOIN pg_attribute a ON a.attrelid = c.oid\n JOIN pg_type ty ON ty.oid = a.atttypid\n LEFT JOIN pg_type bt ON ty.typtype = 'd' AND bt.oid = ty.typbasetype\n LEFT JOIN pg_type et ON et.oid = COALESCE(bt.oid, ty.oid)\n LEFT JOIN pg_type elem ON elem.oid = CASE WHEN et.typcategory = 'A' THEN et.typelem END\n LEFT JOIN pg_type elem_bt ON elem.typtype = 'd' AND elem_bt.oid = elem.typbasetype\n WHERE t.typtype = 'c'\n AND c.relkind = 'c' -- <<< filter to standalone composites created by hand\n AND a.attnum > 0 AND NOT a.attisdropped\n AND n.nspname NOT IN ('pg_catalog','information_schema')\n)\n\n-- 2) Enum types: one row per label\n, enum_rows AS (\n SELECT\n current_database() AS database_name,\n n.nspname AS schema_name,\n t.typname AS relation_name,\n 'enum type' AS relation_kind,\n obj_description(t.oid, 'pg_type') AS table_comment,\n\n e.enumlabel AS column_name,\n NULL::text AS column_comment,\n\n NULL::boolean AS is_nullable,\n FALSE AS has_default,\n NULL::text AS column_default,\n\n 'text' AS pg_type,\n 'text' AS formatted_type,\n\n FALSE AS is_array,\n NULL::text AS array_element_pg_type,\n NULL::text AS array_element_formatted_type,\n\n NULL::integer AS length,\n NULL::integer AS precision,\n NULL::integer AS scale,\n\n FALSE AS is_primary_key,\n FALSE AS is_unique,\n FALSE AS is_foreign_key,\n NULL::jsonb AS fk_info,\n\n TRUE AS is_check_constrained,\n NULL::text AS check_constraints,\n\n TRUE AS is_enum,\n n.nspname || '.' || t.typname AS enum_type_name,\n NULL::text[] AS enum_labels,\n\n t.oid AS type_oid\n FROM pg_type t\n JOIN pg_namespace n ON n.oid = t.typnamespace\n JOIN pg_enum e ON e.enumtypid = t.oid\n WHERE t.typtype = 'e'\n AND n.nspname NOT IN ('pg_catalog','information_schema')\n)\n\n-- 3) Domain types: one synthetic \"(base)\" row with CHECKs\n, domain_rows AS (\n SELECT\n current_database() AS database_name,\n n.nspname AS schema_name,\n t.typname AS relation_name,\n 'domain type' AS relation_kind,\n obj_description(t.oid, 'pg_type') AS table_comment,\n\n '(base)' AS column_name,\n NULL::text AS column_comment,\n\n NULL::boolean AS is_nullable,\n FALSE AS has_default,\n NULL::text AS column_default,\n\n COALESCE(bt.typname, baset.typname) AS pg_type,\n format_type(t.typbasetype, t.typtypmod) AS formatted_type,\n\n FALSE AS is_array,\n NULL::text AS array_element_pg_type,\n NULL::text AS array_element_formatted_type,\n\n information_schema._pg_char_max_length(t.typbasetype, t.typtypmod) AS length,\n information_schema._pg_numeric_precision(t.typbasetype, t.typtypmod) AS precision,\n information_schema._pg_numeric_scale(t.typbasetype, t.typtypmod) AS scale,\n\n FALSE AS is_primary_key,\n FALSE AS is_unique,\n FALSE AS is_foreign_key,\n NULL::jsonb AS fk_info,\n\n (EXISTS (SELECT 1 FROM pg_constraint con WHERE con.contypid = t.oid AND con.contype = 'c')) AS is_check_constrained,\n (\n SELECT string_agg(pg_get_constraintdef(con.oid), ' AND ')\n FROM pg_constraint con\n WHERE con.contypid = t.oid AND con.contype = 'c'\n ) AS check_constraints,\n\n EXISTS (SELECT 1 FROM pg_type tt WHERE tt.oid = t.typbasetype AND tt.typtype = 'e') AS is_enum,\n CASE\n WHEN EXISTS (SELECT 1 FROM pg_type tt WHERE tt.oid = t.typbasetype AND tt.typtype = 'e')\n THEN (\n SELECT ns.nspname || '.' || tt.typname\n FROM pg_type tt JOIN pg_namespace ns ON ns.oid = tt.typnamespace\n WHERE tt.oid = t.typbasetype\n )\n ELSE NULL\n END AS enum_type_name,\n NULL::text[] AS enum_labels,\n\n t.oid AS type_oid\n FROM pg_type t\n JOIN pg_namespace n ON n.oid = t.typnamespace\n LEFT JOIN pg_type baset ON baset.oid = t.typbasetype\n LEFT JOIN pg_type bt ON baset.typtype = 'd' AND bt.oid = baset.typbasetype\n WHERE t.typtype = 'd'\n AND n.nspname NOT IN ('pg_catalog','information_schema')\n)\n\nSELECT * FROM base\nUNION ALL\nSELECT * FROM composite\nUNION ALL\nSELECT * FROM enum_rows\nUNION ALL\nSELECT * FROM domain_rows\nORDER BY schema_name, relation_name, column_name;\n";
2
+ //# sourceMappingURL=introspect-query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"introspect-query.d.ts","sourceRoot":"","sources":["../../../src/database/introspect/introspect-query.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,4niBA8Z7B,CAAC"}