@danielfgray/pg-sourcerer 0.3.0 → 0.4.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 (307) hide show
  1. package/bin/pgsourcerer +2 -0
  2. package/dist/__tests__/fixtures/index.d.ts +15 -0
  3. package/dist/__tests__/fixtures/index.d.ts.map +1 -0
  4. package/dist/__tests__/fixtures/index.js +19 -0
  5. package/dist/__tests__/fixtures/index.js.map +1 -0
  6. package/dist/__tests__/fixtures/introspection.json +40522 -0
  7. package/dist/cli.d.ts +0 -1
  8. package/dist/cli.js +7 -46
  9. package/dist/cli.js.map +1 -1
  10. package/dist/config.d.ts +38 -5
  11. package/dist/config.d.ts.map +1 -1
  12. package/dist/config.js +13 -2
  13. package/dist/config.js.map +1 -1
  14. package/dist/{lib/conjure.d.ts → conjure/index.d.ts} +62 -3
  15. package/dist/conjure/index.d.ts.map +1 -0
  16. package/dist/{lib/conjure.js → conjure/index.js} +124 -3
  17. package/dist/conjure/index.js.map +1 -0
  18. package/dist/conjure/signature.d.ts +85 -0
  19. package/dist/conjure/signature.d.ts.map +1 -0
  20. package/dist/conjure/signature.js +130 -0
  21. package/dist/conjure/signature.js.map +1 -0
  22. package/dist/conjure/types.d.ts +97 -0
  23. package/dist/conjure/types.d.ts.map +1 -0
  24. package/dist/conjure/types.js +206 -0
  25. package/dist/conjure/types.js.map +1 -0
  26. package/dist/errors.d.ts +114 -139
  27. package/dist/errors.d.ts.map +1 -1
  28. package/dist/errors.js +82 -36
  29. package/dist/errors.js.map +1 -1
  30. package/dist/generate.d.ts +45 -46
  31. package/dist/generate.d.ts.map +1 -1
  32. package/dist/generate.js +86 -59
  33. package/dist/generate.js.map +1 -1
  34. package/dist/hex/builder.d.ts +12 -0
  35. package/dist/hex/builder.d.ts.map +1 -0
  36. package/dist/hex/builder.js +64 -0
  37. package/dist/hex/builder.js.map +1 -0
  38. package/dist/hex/ddl.d.ts +53 -0
  39. package/dist/hex/ddl.d.ts.map +1 -0
  40. package/dist/hex/ddl.js +306 -0
  41. package/dist/hex/ddl.js.map +1 -0
  42. package/dist/hex/index.d.ts +105 -0
  43. package/dist/hex/index.d.ts.map +1 -0
  44. package/dist/hex/index.js +81 -0
  45. package/dist/hex/index.js.map +1 -0
  46. package/dist/hex/primitives.d.ts +23 -0
  47. package/dist/hex/primitives.d.ts.map +1 -0
  48. package/dist/hex/primitives.js +38 -0
  49. package/dist/hex/primitives.js.map +1 -0
  50. package/dist/hex/query.d.ts +116 -0
  51. package/dist/hex/query.d.ts.map +1 -0
  52. package/dist/hex/query.js +219 -0
  53. package/dist/hex/query.js.map +1 -0
  54. package/dist/hex/types.d.ts +287 -0
  55. package/dist/hex/types.d.ts.map +1 -0
  56. package/dist/hex/types.js +431 -0
  57. package/dist/hex/types.js.map +1 -0
  58. package/dist/index.d.ts +17 -25
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +33 -44
  61. package/dist/index.js.map +1 -1
  62. package/dist/init.d.ts.map +1 -1
  63. package/dist/init.js +76 -140
  64. package/dist/init.js.map +1 -1
  65. package/dist/ir/extensions/queries.d.ts +6 -6
  66. package/dist/ir/extensions/queries.d.ts.map +1 -1
  67. package/dist/ir/extensions/queries.js +6 -4
  68. package/dist/ir/extensions/queries.js.map +1 -1
  69. package/dist/ir/extensions/schema-builder.d.ts.map +1 -1
  70. package/dist/ir/extensions/schema-builder.js.map +1 -1
  71. package/dist/ir/index.d.ts.map +1 -1
  72. package/dist/ir/index.js.map +1 -1
  73. package/dist/ir/relation-graph.d.ts.map +1 -1
  74. package/dist/ir/relation-graph.js +8 -8
  75. package/dist/ir/relation-graph.js.map +1 -1
  76. package/dist/ir/semantic-ir.d.ts +38 -0
  77. package/dist/ir/semantic-ir.d.ts.map +1 -1
  78. package/dist/ir/semantic-ir.js +50 -2
  79. package/dist/ir/semantic-ir.js.map +1 -1
  80. package/dist/ir/smart-tags.d.ts.map +1 -1
  81. package/dist/ir/smart-tags.js.map +1 -1
  82. package/dist/lib/field-utils.d.ts.map +1 -1
  83. package/dist/lib/field-utils.js +7 -7
  84. package/dist/lib/field-utils.js.map +1 -1
  85. package/dist/lib/join-graph.d.ts +95 -0
  86. package/dist/lib/join-graph.d.ts.map +1 -0
  87. package/dist/lib/join-graph.js +305 -0
  88. package/dist/lib/join-graph.js.map +1 -0
  89. package/dist/lib/picker.d.ts +60 -0
  90. package/dist/lib/picker.d.ts.map +1 -0
  91. package/dist/lib/picker.js +325 -0
  92. package/dist/lib/picker.js.map +1 -0
  93. package/dist/plugins/arktype.d.ts +20 -24
  94. package/dist/plugins/arktype.d.ts.map +1 -1
  95. package/dist/plugins/arktype.js +462 -386
  96. package/dist/plugins/arktype.js.map +1 -1
  97. package/dist/plugins/effect/http.d.ts +7 -0
  98. package/dist/plugins/effect/http.d.ts.map +1 -0
  99. package/dist/plugins/effect/http.js +460 -0
  100. package/dist/plugins/effect/http.js.map +1 -0
  101. package/dist/plugins/effect/index.d.ts +22 -0
  102. package/dist/plugins/effect/index.d.ts.map +1 -0
  103. package/dist/plugins/effect/index.js +65 -0
  104. package/dist/plugins/effect/index.js.map +1 -0
  105. package/dist/plugins/effect/models.d.ts +6 -0
  106. package/dist/plugins/effect/models.d.ts.map +1 -0
  107. package/dist/plugins/effect/models.js +116 -0
  108. package/dist/plugins/effect/models.js.map +1 -0
  109. package/dist/plugins/effect/repos.d.ts +21 -0
  110. package/dist/plugins/effect/repos.d.ts.map +1 -0
  111. package/dist/plugins/effect/repos.js +131 -0
  112. package/dist/plugins/effect/repos.js.map +1 -0
  113. package/dist/plugins/effect/schemas.d.ts +7 -0
  114. package/dist/plugins/effect/schemas.d.ts.map +1 -0
  115. package/dist/plugins/effect/schemas.js +75 -0
  116. package/dist/plugins/effect/schemas.js.map +1 -0
  117. package/dist/plugins/effect/shared.d.ts +116 -0
  118. package/dist/plugins/effect/shared.d.ts.map +1 -0
  119. package/dist/plugins/effect/shared.js +164 -0
  120. package/dist/plugins/effect/shared.js.map +1 -0
  121. package/dist/plugins/http-elysia.d.ts +20 -27
  122. package/dist/plugins/http-elysia.d.ts.map +1 -1
  123. package/dist/plugins/http-elysia.js +350 -475
  124. package/dist/plugins/http-elysia.js.map +1 -1
  125. package/dist/plugins/http-express.d.ts +20 -31
  126. package/dist/plugins/http-express.d.ts.map +1 -1
  127. package/dist/plugins/http-express.js +281 -268
  128. package/dist/plugins/http-express.js.map +1 -1
  129. package/dist/plugins/http-hono.d.ts +17 -33
  130. package/dist/plugins/http-hono.d.ts.map +1 -1
  131. package/dist/plugins/http-hono.js +317 -341
  132. package/dist/plugins/http-hono.js.map +1 -1
  133. package/dist/plugins/http-orpc.d.ts +34 -33
  134. package/dist/plugins/http-orpc.d.ts.map +1 -1
  135. package/dist/plugins/http-orpc.js +345 -257
  136. package/dist/plugins/http-orpc.js.map +1 -1
  137. package/dist/plugins/http-trpc.d.ts +33 -35
  138. package/dist/plugins/http-trpc.d.ts.map +1 -1
  139. package/dist/plugins/http-trpc.js +337 -241
  140. package/dist/plugins/http-trpc.js.map +1 -1
  141. package/dist/plugins/kysely.d.ts +54 -59
  142. package/dist/plugins/kysely.d.ts.map +1 -1
  143. package/dist/plugins/kysely.js +826 -687
  144. package/dist/plugins/kysely.js.map +1 -1
  145. package/dist/plugins/sql-queries.d.ts +38 -44
  146. package/dist/plugins/sql-queries.d.ts.map +1 -1
  147. package/dist/plugins/sql-queries.js +497 -897
  148. package/dist/plugins/sql-queries.js.map +1 -1
  149. package/dist/plugins/types.d.ts +12 -20
  150. package/dist/plugins/types.d.ts.map +1 -1
  151. package/dist/plugins/types.js +84 -227
  152. package/dist/plugins/types.js.map +1 -1
  153. package/dist/plugins/valibot.d.ts +7 -44
  154. package/dist/plugins/valibot.d.ts.map +1 -1
  155. package/dist/plugins/valibot.js +376 -382
  156. package/dist/plugins/valibot.js.map +1 -1
  157. package/dist/plugins/zod.d.ts +20 -24
  158. package/dist/plugins/zod.d.ts.map +1 -1
  159. package/dist/plugins/zod.js +370 -367
  160. package/dist/plugins/zod.js.map +1 -1
  161. package/dist/runtime/emit.d.ts +64 -0
  162. package/dist/runtime/emit.d.ts.map +1 -0
  163. package/dist/runtime/emit.js +445 -0
  164. package/dist/runtime/emit.js.map +1 -0
  165. package/dist/runtime/errors.d.ts +36 -0
  166. package/dist/runtime/errors.d.ts.map +1 -0
  167. package/dist/runtime/errors.js +29 -0
  168. package/dist/runtime/errors.js.map +1 -0
  169. package/dist/runtime/file-assignment.d.ts +161 -0
  170. package/dist/runtime/file-assignment.d.ts.map +1 -0
  171. package/dist/runtime/file-assignment.js +195 -0
  172. package/dist/runtime/file-assignment.js.map +1 -0
  173. package/dist/runtime/orchestrator.d.ts +62 -0
  174. package/dist/runtime/orchestrator.d.ts.map +1 -0
  175. package/dist/runtime/orchestrator.js +99 -0
  176. package/dist/runtime/orchestrator.js.map +1 -0
  177. package/dist/runtime/registry.d.ts +268 -0
  178. package/dist/runtime/registry.d.ts.map +1 -0
  179. package/dist/runtime/registry.js +436 -0
  180. package/dist/runtime/registry.js.map +1 -0
  181. package/dist/runtime/types.d.ts +182 -0
  182. package/dist/runtime/types.d.ts.map +1 -0
  183. package/dist/runtime/types.js +2 -0
  184. package/dist/runtime/types.js.map +1 -0
  185. package/dist/runtime/validation.d.ts +41 -0
  186. package/dist/runtime/validation.d.ts.map +1 -0
  187. package/dist/runtime/validation.js +70 -0
  188. package/dist/runtime/validation.js.map +1 -0
  189. package/dist/services/config-loader.d.ts.map +1 -1
  190. package/dist/services/config-loader.js +15 -6
  191. package/dist/services/config-loader.js.map +1 -1
  192. package/dist/services/config.d.ts +55 -25
  193. package/dist/services/config.d.ts.map +1 -1
  194. package/dist/services/config.js +60 -34
  195. package/dist/services/config.js.map +1 -1
  196. package/dist/services/file-writer.d.ts +3 -3
  197. package/dist/services/file-writer.d.ts.map +1 -1
  198. package/dist/services/file-writer.js +6 -8
  199. package/dist/services/file-writer.js.map +1 -1
  200. package/dist/services/inflection.d.ts +126 -27
  201. package/dist/services/inflection.d.ts.map +1 -1
  202. package/dist/services/inflection.js +300 -72
  203. package/dist/services/inflection.js.map +1 -1
  204. package/dist/services/introspection.d.ts.map +1 -1
  205. package/dist/services/introspection.js +6 -6
  206. package/dist/services/introspection.js.map +1 -1
  207. package/dist/services/ir-builder.d.ts.map +1 -1
  208. package/dist/services/ir-builder.js +73 -77
  209. package/dist/services/ir-builder.js.map +1 -1
  210. package/dist/services/ir.d.ts.map +1 -1
  211. package/dist/services/ir.js.map +1 -1
  212. package/dist/services/pg-types.d.ts.map +1 -1
  213. package/dist/services/pg-types.js +3 -3
  214. package/dist/services/pg-types.js.map +1 -1
  215. package/dist/services/smart-tags-parser.d.ts.map +1 -1
  216. package/dist/services/smart-tags-parser.js +4 -4
  217. package/dist/services/smart-tags-parser.js.map +1 -1
  218. package/dist/services/type-hints.d.ts.map +1 -1
  219. package/dist/services/type-hints.js +1 -1
  220. package/dist/services/type-hints.js.map +1 -1
  221. package/dist/services/user-module-parser.d.ts +46 -0
  222. package/dist/services/user-module-parser.d.ts.map +1 -0
  223. package/dist/services/user-module-parser.js +181 -0
  224. package/dist/services/user-module-parser.js.map +1 -0
  225. package/dist/shared/converters.d.ts +60 -0
  226. package/dist/shared/converters.d.ts.map +1 -0
  227. package/dist/shared/converters.js +168 -0
  228. package/dist/shared/converters.js.map +1 -0
  229. package/dist/shared/query-types.d.ts +95 -0
  230. package/dist/shared/query-types.d.ts.map +1 -0
  231. package/dist/shared/query-types.js +9 -0
  232. package/dist/shared/query-types.js.map +1 -0
  233. package/dist/testing.d.ts +125 -37
  234. package/dist/testing.d.ts.map +1 -1
  235. package/dist/testing.js +134 -42
  236. package/dist/testing.js.map +1 -1
  237. package/dist/user-module.d.ts +86 -0
  238. package/dist/user-module.d.ts.map +1 -0
  239. package/dist/user-module.js +55 -0
  240. package/dist/user-module.js.map +1 -0
  241. package/package.json +10 -6
  242. package/dist/lib/conjure.d.ts.map +0 -1
  243. package/dist/lib/conjure.js.map +0 -1
  244. package/dist/lib/hex.d.ts +0 -119
  245. package/dist/lib/hex.d.ts.map +0 -1
  246. package/dist/lib/hex.js +0 -188
  247. package/dist/lib/hex.js.map +0 -1
  248. package/dist/plugins/effect.d.ts +0 -53
  249. package/dist/plugins/effect.d.ts.map +0 -1
  250. package/dist/plugins/effect.js +0 -1074
  251. package/dist/plugins/effect.js.map +0 -1
  252. package/dist/plugins/kysely/queries.d.ts +0 -92
  253. package/dist/plugins/kysely/queries.d.ts.map +0 -1
  254. package/dist/plugins/kysely/queries.js +0 -1169
  255. package/dist/plugins/kysely/queries.js.map +0 -1
  256. package/dist/plugins/kysely/shared.d.ts +0 -59
  257. package/dist/plugins/kysely/shared.d.ts.map +0 -1
  258. package/dist/plugins/kysely/shared.js +0 -247
  259. package/dist/plugins/kysely/shared.js.map +0 -1
  260. package/dist/plugins/kysely/types.d.ts +0 -22
  261. package/dist/plugins/kysely/types.d.ts.map +0 -1
  262. package/dist/plugins/kysely/types.js +0 -428
  263. package/dist/plugins/kysely/types.js.map +0 -1
  264. package/dist/services/artifact-store.d.ts +0 -65
  265. package/dist/services/artifact-store.d.ts.map +0 -1
  266. package/dist/services/artifact-store.js +0 -57
  267. package/dist/services/artifact-store.js.map +0 -1
  268. package/dist/services/core-providers.d.ts +0 -15
  269. package/dist/services/core-providers.d.ts.map +0 -1
  270. package/dist/services/core-providers.js +0 -23
  271. package/dist/services/core-providers.js.map +0 -1
  272. package/dist/services/emissions.d.ts +0 -103
  273. package/dist/services/emissions.d.ts.map +0 -1
  274. package/dist/services/emissions.js +0 -241
  275. package/dist/services/emissions.js.map +0 -1
  276. package/dist/services/execution.d.ts +0 -35
  277. package/dist/services/execution.d.ts.map +0 -1
  278. package/dist/services/execution.js +0 -86
  279. package/dist/services/execution.js.map +0 -1
  280. package/dist/services/file-builder.d.ts +0 -85
  281. package/dist/services/file-builder.d.ts.map +0 -1
  282. package/dist/services/file-builder.js +0 -112
  283. package/dist/services/file-builder.js.map +0 -1
  284. package/dist/services/plugin-meta.d.ts +0 -33
  285. package/dist/services/plugin-meta.d.ts.map +0 -1
  286. package/dist/services/plugin-meta.js +0 -24
  287. package/dist/services/plugin-meta.js.map +0 -1
  288. package/dist/services/plugin-runner.d.ts +0 -42
  289. package/dist/services/plugin-runner.d.ts.map +0 -1
  290. package/dist/services/plugin-runner.js +0 -84
  291. package/dist/services/plugin-runner.js.map +0 -1
  292. package/dist/services/plugin.d.ts +0 -421
  293. package/dist/services/plugin.d.ts.map +0 -1
  294. package/dist/services/plugin.js +0 -197
  295. package/dist/services/plugin.js.map +0 -1
  296. package/dist/services/resolution.d.ts +0 -38
  297. package/dist/services/resolution.d.ts.map +0 -1
  298. package/dist/services/resolution.js +0 -242
  299. package/dist/services/resolution.js.map +0 -1
  300. package/dist/services/service-registry.d.ts +0 -74
  301. package/dist/services/service-registry.d.ts.map +0 -1
  302. package/dist/services/service-registry.js +0 -61
  303. package/dist/services/service-registry.js.map +0 -1
  304. package/dist/services/symbols.d.ts +0 -144
  305. package/dist/services/symbols.d.ts.map +0 -1
  306. package/dist/services/symbols.js +0 -144
  307. package/dist/services/symbols.js.map +0 -1
@@ -0,0 +1,55 @@
1
+ /**
2
+ * User Module Reference
3
+ *
4
+ * Provides a structured way to import user-defined modules in generated code.
5
+ * Paths are relative to the config file, and the system computes correct
6
+ * relative imports for each output file at emit time.
7
+ */
8
+ /**
9
+ * Create a reference to a user module for import in generated code.
10
+ *
11
+ * The path is relative to the config file location. At emit time, the system
12
+ * computes the correct relative import path for each generated file.
13
+ *
14
+ * @param path - Path to the module, relative to the config file
15
+ * @param options - Import options (what to import from the module)
16
+ * @returns A UserModuleRef that can be passed to plugin config
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * // Named imports
21
+ * userModule("./db.ts", { named: ["db", "Kysely"] })
22
+ * // Generates: import { db, Kysely } from "../db.js"
23
+ *
24
+ * // Default import
25
+ * userModule("./db.ts", { default: "db" })
26
+ * // Generates: import db from "../db.js"
27
+ *
28
+ * // Namespace import
29
+ * userModule("./db.ts", { namespace: "Db" })
30
+ * // Generates: import * as Db from "../db.js"
31
+ *
32
+ * // Skip validation (not recommended)
33
+ * userModule("./db.ts", { named: ["db"], validate: false })
34
+ * ```
35
+ */
36
+ export function userModule(path, options) {
37
+ return {
38
+ _tag: "UserModuleRef",
39
+ path,
40
+ named: options.named,
41
+ default: options.default,
42
+ namespace: options.namespace,
43
+ validate: options.validate ?? true,
44
+ };
45
+ }
46
+ /**
47
+ * Type guard to check if a value is a UserModuleRef.
48
+ */
49
+ export function isUserModuleRef(value) {
50
+ return (typeof value === "object" &&
51
+ value !== null &&
52
+ "_tag" in value &&
53
+ value._tag === "UserModuleRef");
54
+ }
55
+ //# sourceMappingURL=user-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-module.js","sourceRoot":"","sources":["../src/user-module.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiDH;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,OAA0B;IACjE,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,IAAI;QACJ,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;KACnC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,KAAK,CAAC,IAAI,KAAK,eAAe,CAC/B,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@danielfgray/pg-sourcerer",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "PostgreSQL code generation framework with a plugin ecosystem",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -16,15 +16,17 @@
16
16
  }
17
17
  },
18
18
  "bin": {
19
- "pgsourcerer": "dist/cli.js"
19
+ "pgsourcerer": "bin/pgsourcerer"
20
20
  },
21
21
  "files": [
22
22
  "dist",
23
+ "bin",
23
24
  "README.md",
24
25
  "LICENSE"
25
26
  ],
26
27
  "scripts": {
27
- "build": "tsc && chmod +x dist/cli.js",
28
+ "prebuild": "bun run clean",
29
+ "build": "tsc",
28
30
  "build:watch": "tsc --watch",
29
31
  "clean": "rm -rf dist",
30
32
  "prepublishOnly": "bun run clean && bun run build",
@@ -41,8 +43,6 @@
41
43
  "codegen",
42
44
  "code-generation",
43
45
  "typescript",
44
- "effect",
45
- "zod",
46
46
  "introspection"
47
47
  ],
48
48
  "repository": {
@@ -53,6 +53,7 @@
53
53
  "license": "MIT",
54
54
  "author": "Daniel Gray",
55
55
  "dependencies": {
56
+ "@babel/parser": "^7.28.6",
56
57
  "@danielfgray/pg-introspection": "1.0.0",
57
58
  "@effect/cli": "^0.73.0",
58
59
  "@effect/platform": "^0.94.1",
@@ -66,9 +67,12 @@
66
67
  },
67
68
  "devDependencies": {
68
69
  "@effect/vitest": "^0.27.0",
69
- "@types/bun": "^1.1.14",
70
+ "@opentui/core": "^0.1.73",
71
+ "@types/bun": "^1.3.6",
70
72
  "@types/pg": "^8.15.4",
71
73
  "@vitest/coverage-v8": "3.2.4",
74
+ "ast-types": "^0.16.1",
75
+ "bun-types": "^1.3.6",
72
76
  "typescript": "^5.7.2",
73
77
  "vitest": "^3.2.4"
74
78
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"conjure.d.ts","sourceRoot":"","sources":["../../src/lib/conjure.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"conjure.js","sourceRoot":"","sources":["../../src/lib/conjure.ts"],"names":[],"mappings":"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"}
package/dist/lib/hex.d.ts DELETED
@@ -1,119 +0,0 @@
1
- /**
2
- * Hex - SQL Query Building Primitives
3
- *
4
- * Provides AST builders for generating SQL query code in two styles:
5
- * - "tag": Tagged template literals (postgres.js, @effect/sql style)
6
- * - "string": Parameterized queries (node-postgres, mysql2 style)
7
- *
8
- * @example
9
- * ```typescript
10
- * import { hex } from "../lib/hex.js"
11
- *
12
- * // Tag style: sql<User[]>`select * from users where id = ${id}`
13
- * const query = hex.query("tag", {
14
- * templateParts: ["select * from users where id = ", ""],
15
- * params: [b.identifier("id")],
16
- * }, ts.array(ts.ref("User")))
17
- *
18
- * // String style: pool.query<User[]>("select * from users where id = $1", [id])
19
- * const query = hex.query("string", { ... })
20
- * ```
21
- */
22
- import type { namedTypes as n } from "ast-types";
23
- /**
24
- * SQL query style:
25
- * - "tag": Tagged template literals (e.g., postgres.js, @effect/sql)
26
- * Generates: sql<Type[]>`select * from users where id = ${id}`
27
- * - "string": Parameterized query strings (e.g., pg, mysql2, better-sqlite3)
28
- * Generates: pool.query<Type[]>("select * from users where id = $1", [id])
29
- */
30
- export type SqlStyle = "tag" | "string";
31
- /**
32
- * Query template parts and parameters.
33
- */
34
- export interface QueryParts {
35
- /** SQL template parts (for tag) or joined with $N placeholders (for string) */
36
- readonly templateParts: readonly string[];
37
- /** Parameter expressions to interpolate */
38
- readonly params: readonly n.Expression[];
39
- }
40
- /**
41
- * Build a template literal AST node from parts and expressions.
42
- *
43
- * @example
44
- * buildTemplateLiteral(["select * from users where id = ", ""], [idExpr])
45
- * // `select * from users where id = ${id}`
46
- */
47
- export declare function buildTemplateLiteral(parts: readonly string[], exprs: readonly n.Expression[]): n.TemplateLiteral;
48
- /**
49
- * Build await expression for sql tagged template with optional type parameter.
50
- *
51
- * Generates: await sql<Type[]>`select * from users`
52
- */
53
- export declare function buildAwaitSqlTag(sqlTemplate: n.TemplateLiteral, typeParam?: n.TSType): n.AwaitExpression;
54
- /**
55
- * Build await expression for pool.query() with parameterized query.
56
- *
57
- * Generates: await pool.query<Type>("SELECT ... WHERE id = $1", [id])
58
- */
59
- export declare function buildAwaitSqlString(sqlText: string, params: readonly n.Expression[], typeParam?: n.TSType): n.AwaitExpression;
60
- /**
61
- * Build a SQL query expression for the given style.
62
- *
63
- * For tag style: uses template literals with interpolated values
64
- * For string style: uses parameterized queries with $1, $2, ... placeholders
65
- */
66
- export declare function buildQuery(sqlStyle: SqlStyle, parts: QueryParts, typeParam?: n.TSType): n.AwaitExpression;
67
- /**
68
- * Build a variable declaration that extracts the first row from query result.
69
- *
70
- * tag style: const [result] = await sql<Type[]>`...`
71
- * string style: const { rows: [result] } = await pool.query<Type>(...)
72
- */
73
- export declare function buildFirstRowDecl(sqlStyle: SqlStyle, varName: string, queryExpr: n.AwaitExpression): n.VariableDeclaration;
74
- /**
75
- * Build a variable declaration that gets all rows from query result.
76
- *
77
- * tag style: const result = await sql<Type[]>`...` (returns array directly)
78
- * string style: const { rows: result } = await pool.query<Type>(...)
79
- */
80
- export declare function buildAllRowsDecl(sqlStyle: SqlStyle, varName: string, queryExpr: n.AwaitExpression): n.VariableDeclaration;
81
- /**
82
- * Build a return statement that returns query results.
83
- *
84
- * tag style: return await sql<Type[]>`...` (returns array directly)
85
- * string style: extracts .rows and returns
86
- */
87
- export declare function buildReturnQuery(sqlStyle: SqlStyle, parts: QueryParts, typeParam: n.TSType): n.Statement[];
88
- /**
89
- * Build an expression that uses DEFAULT when the field is undefined.
90
- *
91
- * For tag style: `field !== undefined ? field : sql\`default\``
92
- * For string style: Uses COALESCE in SQL (handled differently at query level)
93
- *
94
- * @example
95
- * buildDefaultIfUndefined("title")
96
- * // title !== undefined ? title : sql`default`
97
- */
98
- export declare function buildDefaultIfUndefined(fieldName: string): n.ConditionalExpression;
99
- /**
100
- * Hex - SQL Query Building Primitives
101
- *
102
- * A collection of AST builders for generating SQL query code.
103
- */
104
- export declare const hex: {
105
- readonly query: typeof buildQuery;
106
- readonly templateLiteral: typeof buildTemplateLiteral;
107
- readonly tag: {
108
- readonly awaitSql: typeof buildAwaitSqlTag;
109
- };
110
- readonly string: {
111
- readonly awaitSql: typeof buildAwaitSqlString;
112
- };
113
- readonly firstRowDecl: typeof buildFirstRowDecl;
114
- readonly allRowsDecl: typeof buildAllRowsDecl;
115
- readonly returnQuery: typeof buildReturnQuery;
116
- readonly defaultIfUndefined: typeof buildDefaultIfUndefined;
117
- };
118
- export default hex;
119
- //# sourceMappingURL=hex.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hex.d.ts","sourceRoot":"","sources":["../../src/lib/hex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAAE,UAAU,IAAI,CAAC,EAAE,MAAM,WAAW,CAAA;AAUhD;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAA;AAEvC;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,+EAA+E;IAC/E,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAA;IACzC,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,UAAU,EAAE,CAAA;CACzC;AAMD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,KAAK,EAAE,SAAS,CAAC,CAAC,UAAU,EAAE,GAC7B,CAAC,CAAC,eAAe,CAOnB;AAMD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,CAAC,CAAC,eAAe,EAC9B,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,GACnB,CAAC,CAAC,eAAe,CAUnB;AAMD;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,SAAS,CAAC,CAAC,UAAU,EAAE,EAC/B,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,GACnB,CAAC,CAAC,eAAe,CAkBnB;AAMD;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,UAAU,EACjB,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,GACnB,CAAC,CAAC,eAAe,CAWnB;AAMD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,CAAC,CAAC,eAAe,GAC3B,CAAC,CAAC,mBAAmB,CAgBvB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,CAAC,CAAC,eAAe,GAC3B,CAAC,CAAC,mBAAmB,CAcvB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,CAAC,CAAC,MAAM,GAClB,CAAC,CAAC,SAAS,EAAE,CAWf;AAMD;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,GAChB,CAAC,CAAC,qBAAqB,CAuBzB;AAMD;;;;GAIG;AACH,eAAO,MAAM,GAAG;;;;;;;;;;;;;CAoBN,CAAA;AAEV,eAAe,GAAG,CAAA"}
package/dist/lib/hex.js DELETED
@@ -1,188 +0,0 @@
1
- import { conjure, cast } from "./conjure.js";
2
- const { ts, b } = conjure;
3
- const { toExpr, toTSType } = cast;
4
- // =============================================================================
5
- // Template Literal Builders
6
- // =============================================================================
7
- /**
8
- * Build a template literal AST node from parts and expressions.
9
- *
10
- * @example
11
- * buildTemplateLiteral(["select * from users where id = ", ""], [idExpr])
12
- * // `select * from users where id = ${id}`
13
- */
14
- export function buildTemplateLiteral(parts, exprs) {
15
- return b.templateLiteral(parts.map((raw, i) => b.templateElement({ raw, cooked: raw }, i === parts.length - 1)), exprs.map(toExpr));
16
- }
17
- // =============================================================================
18
- // Tag Style (sql`...`)
19
- // =============================================================================
20
- /**
21
- * Build await expression for sql tagged template with optional type parameter.
22
- *
23
- * Generates: await sql<Type[]>`select * from users`
24
- */
25
- export function buildAwaitSqlTag(sqlTemplate, typeParam) {
26
- const sqlId = b.identifier("sql");
27
- // If type parameter provided, wrap in TSInstantiationExpression: sql<Type>
28
- const tag = typeParam
29
- ? b.tsInstantiationExpression(sqlId, b.tsTypeParameterInstantiation([toTSType(typeParam)]))
30
- : sqlId;
31
- return b.awaitExpression(b.taggedTemplateExpression(tag, sqlTemplate));
32
- }
33
- // =============================================================================
34
- // String Style (pool.query(...))
35
- // =============================================================================
36
- /**
37
- * Build await expression for pool.query() with parameterized query.
38
- *
39
- * Generates: await pool.query<Type>("SELECT ... WHERE id = $1", [id])
40
- */
41
- export function buildAwaitSqlString(sqlText, params, typeParam) {
42
- const poolQuery = b.memberExpression(b.identifier("pool"), b.identifier("query"));
43
- // Add type parameter if provided: pool.query<Type>
44
- const callee = typeParam
45
- ? b.tsInstantiationExpression(poolQuery, b.tsTypeParameterInstantiation([toTSType(typeParam)]))
46
- : poolQuery;
47
- // Build arguments: ('sql text', [param1, param2])
48
- const args = [b.stringLiteral(sqlText)];
49
- if (params.length > 0) {
50
- args.push(b.arrayExpression(params.map(toExpr)));
51
- }
52
- return b.awaitExpression(b.callExpression(callee, args.map(toExpr)));
53
- }
54
- // =============================================================================
55
- // Unified Query Builder
56
- // =============================================================================
57
- /**
58
- * Build a SQL query expression for the given style.
59
- *
60
- * For tag style: uses template literals with interpolated values
61
- * For string style: uses parameterized queries with $1, $2, ... placeholders
62
- */
63
- export function buildQuery(sqlStyle, parts, typeParam) {
64
- if (sqlStyle === "tag") {
65
- const template = buildTemplateLiteral(parts.templateParts, parts.params);
66
- return buildAwaitSqlTag(template, typeParam);
67
- }
68
- else {
69
- // For string style, join template parts with $1, $2, ... placeholders
70
- const sqlText = parts.templateParts
71
- .map((part, i) => (i === 0 ? part : `$${i}${part}`))
72
- .join("");
73
- return buildAwaitSqlString(sqlText, parts.params, typeParam);
74
- }
75
- }
76
- // =============================================================================
77
- // Result Extraction
78
- // =============================================================================
79
- /**
80
- * Build a variable declaration that extracts the first row from query result.
81
- *
82
- * tag style: const [result] = await sql<Type[]>`...`
83
- * string style: const { rows: [result] } = await pool.query<Type>(...)
84
- */
85
- export function buildFirstRowDecl(sqlStyle, varName, queryExpr) {
86
- if (sqlStyle === "tag") {
87
- // const [result] = await sql`...`
88
- return b.variableDeclaration("const", [
89
- b.variableDeclarator(b.arrayPattern([b.identifier(varName)]), queryExpr),
90
- ]);
91
- }
92
- else {
93
- // const { rows: [result] } = await pool.query(...)
94
- const rowsProp = b.objectProperty(b.identifier("rows"), b.arrayPattern([b.identifier(varName)]));
95
- return b.variableDeclaration("const", [
96
- b.variableDeclarator(b.objectPattern([rowsProp]), queryExpr),
97
- ]);
98
- }
99
- }
100
- /**
101
- * Build a variable declaration that gets all rows from query result.
102
- *
103
- * tag style: const result = await sql<Type[]>`...` (returns array directly)
104
- * string style: const { rows: result } = await pool.query<Type>(...)
105
- */
106
- export function buildAllRowsDecl(sqlStyle, varName, queryExpr) {
107
- if (sqlStyle === "tag") {
108
- // tag style returns array directly
109
- return b.variableDeclaration("const", [
110
- b.variableDeclarator(b.identifier(varName), queryExpr),
111
- ]);
112
- }
113
- else {
114
- // string style: const { rows } = await pool.query(...)
115
- const rowsProp = b.objectProperty(b.identifier("rows"), b.identifier(varName));
116
- rowsProp.shorthand = varName === "rows";
117
- return b.variableDeclaration("const", [
118
- b.variableDeclarator(b.objectPattern([rowsProp]), queryExpr),
119
- ]);
120
- }
121
- }
122
- /**
123
- * Build a return statement that returns query results.
124
- *
125
- * tag style: return await sql<Type[]>`...` (returns array directly)
126
- * string style: extracts .rows and returns
127
- */
128
- export function buildReturnQuery(sqlStyle, parts, typeParam) {
129
- const queryExpr = buildQuery(sqlStyle, parts, typeParam);
130
- if (sqlStyle === "tag") {
131
- // tag style returns array directly
132
- return [b.returnStatement(queryExpr)];
133
- }
134
- else {
135
- // string style: const { rows } = await pool.query(...); return rows
136
- const decl = buildAllRowsDecl(sqlStyle, "rows", queryExpr);
137
- return [decl, b.returnStatement(b.identifier("rows"))];
138
- }
139
- }
140
- // =============================================================================
141
- // Optional Field Helpers
142
- // =============================================================================
143
- /**
144
- * Build an expression that uses DEFAULT when the field is undefined.
145
- *
146
- * For tag style: `field !== undefined ? field : sql\`default\``
147
- * For string style: Uses COALESCE in SQL (handled differently at query level)
148
- *
149
- * @example
150
- * buildDefaultIfUndefined("title")
151
- * // title !== undefined ? title : sql`default`
152
- */
153
- export function buildDefaultIfUndefined(fieldName) {
154
- // field !== undefined
155
- const test = b.binaryExpression("!==", b.identifier(fieldName), b.identifier("undefined"));
156
- // sql`default`
157
- const sqlDefault = b.taggedTemplateExpression(b.identifier("sql"), b.templateLiteral([b.templateElement({ raw: "default", cooked: "default" }, true)], []));
158
- // field !== undefined ? field : sql`default`
159
- return b.conditionalExpression(test, b.identifier(fieldName), sqlDefault);
160
- }
161
- // =============================================================================
162
- // Main API
163
- // =============================================================================
164
- /**
165
- * Hex - SQL Query Building Primitives
166
- *
167
- * A collection of AST builders for generating SQL query code.
168
- */
169
- export const hex = {
170
- // Query building
171
- query: buildQuery,
172
- templateLiteral: buildTemplateLiteral,
173
- // Style-specific
174
- tag: {
175
- awaitSql: buildAwaitSqlTag,
176
- },
177
- string: {
178
- awaitSql: buildAwaitSqlString,
179
- },
180
- // Result extraction
181
- firstRowDecl: buildFirstRowDecl,
182
- allRowsDecl: buildAllRowsDecl,
183
- returnQuery: buildReturnQuery,
184
- // Optional field handling
185
- defaultIfUndefined: buildDefaultIfUndefined,
186
- };
187
- export default hex;
188
- //# sourceMappingURL=hex.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hex.js","sourceRoot":"","sources":["../../src/lib/hex.ts"],"names":[],"mappings":"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"}
@@ -1,53 +0,0 @@
1
- import { definePlugin } from "../services/plugin.js";
2
- /**
3
- * Configuration for the effect plugin
4
- */
5
- export interface EffectConfig {
6
- /** Output directory relative to main outputDir. Default: "effect". Use "." for flat (no subfolder). */
7
- readonly outputDir?: string;
8
- /** Subdirectory for models/enums within outputDir. Default: undefined (flat). Example: "schema" */
9
- readonly schemaDir?: string;
10
- /** How to represent enum values: 'strings' uses S.Union(S.Literal(...)), 'enum' uses S.Enums(TsEnum) */
11
- readonly enumStyle?: "strings" | "enum";
12
- /** Where to define enum types: 'inline' embeds at usage, 'separate' generates enum files */
13
- readonly typeReferences?: "inline" | "separate";
14
- /** Export inferred types for composite schemas. Default: true */
15
- readonly exportTypes?: boolean;
16
- /** Query generation mode: 'repository' uses Model.makeRepository, 'resolvers' uses SqlSchema functions */
17
- readonly queryMode?: "repository" | "resolvers";
18
- /** HTTP API generation config. Set to false to disable. */
19
- readonly http?: false | {
20
- readonly enabled?: boolean;
21
- /** Output subdirectory for API files. Default: "api" */
22
- readonly outputDir?: string;
23
- readonly basePath?: string;
24
- readonly swagger?: boolean;
25
- };
26
- }
27
- /**
28
- * Effect Plugin
29
- *
30
- * Generates @effect/sql Model classes, repositories, and HTTP APIs.
31
- *
32
- * @example
33
- * ```typescript
34
- * import { effect } from "pg-sourcerer"
35
- *
36
- * export default defineConfig({
37
- * plugins: [
38
- * effect(),
39
- * effect({
40
- * outputDir: "generated/effect",
41
- * queryMode: "resolvers",
42
- * http: { basePath: "/api/v1" },
43
- * }),
44
- * ],
45
- * })
46
- * ```
47
- */
48
- export declare function effect(config?: EffectConfig): ReturnType<typeof definePlugin>;
49
- /**
50
- * @deprecated Use `effect()` instead. This alias is provided for backward compatibility.
51
- */
52
- export declare const effectPlugin: typeof effect;
53
- //# sourceMappingURL=effect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"effect.d.ts","sourceRoot":"","sources":["../../src/plugins/effect.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,YAAY,EAAsB,MAAM,uBAAuB,CAAC;AAgDzE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,uGAAuG;IACvG,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,mGAAmG;IACnG,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,wGAAwG;IACxG,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IACxC,4FAA4F;IAC5F,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAChD,iEAAiE;IACjE,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,0GAA0G;IAC1G,QAAQ,CAAC,SAAS,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;IAChD,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG;QACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAC3B,wDAAwD;QACxD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;KAC5B,CAAC;CACH;AA8oDD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,MAAM,CAAC,MAAM,GAAE,YAAiB,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAkCjF;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,eAAS,CAAC"}