joist-codegen 2.3.0-next.5 → 2.3.0-next.50

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 (420) hide show
  1. package/build/EntityDbMetadata.cjs +608 -0
  2. package/build/EntityDbMetadata.cjs.map +1 -0
  3. package/build/EntityDbMetadata.d.cts +274 -0
  4. package/build/EntityDbMetadata.d.cts.map +1 -0
  5. package/build/EntityDbMetadata.d.mts +274 -0
  6. package/build/EntityDbMetadata.d.mts.map +1 -0
  7. package/build/EntityDbMetadata.js +485 -661
  8. package/build/EntityDbMetadata.js.map +1 -1
  9. package/build/_virtual/_rolldown/runtime.cjs +23 -0
  10. package/build/_virtual/_rolldown/runtime.js +5 -0
  11. package/build/assignTags.cjs +45 -0
  12. package/build/assignTags.cjs.map +1 -0
  13. package/build/{assignTags.d.ts → assignTags.d.cts} +8 -4
  14. package/build/assignTags.d.cts.map +1 -0
  15. package/build/assignTags.d.mts +16 -0
  16. package/build/assignTags.d.mts.map +1 -0
  17. package/build/assignTags.js +37 -59
  18. package/build/assignTags.js.map +1 -1
  19. package/build/codemods/Codemod.cjs +2 -0
  20. package/build/codemods/Codemod.d.cts +17 -0
  21. package/build/codemods/Codemod.d.cts.map +1 -0
  22. package/build/codemods/Codemod.d.mts +17 -0
  23. package/build/codemods/Codemod.d.mts.map +1 -0
  24. package/build/codemods/Codemod.js +2 -3
  25. package/build/codemods/JscodeshiftMod.cjs +42 -0
  26. package/build/codemods/JscodeshiftMod.cjs.map +1 -0
  27. package/build/codemods/JscodeshiftMod.d.cts +14 -0
  28. package/build/codemods/JscodeshiftMod.d.cts.map +1 -0
  29. package/build/codemods/JscodeshiftMod.d.mts +14 -0
  30. package/build/codemods/JscodeshiftMod.d.mts.map +1 -0
  31. package/build/codemods/JscodeshiftMod.js +33 -33
  32. package/build/codemods/JscodeshiftMod.js.map +1 -1
  33. package/build/codemods/codemod_0001-rename_has_async_property.cjs +30 -0
  34. package/build/codemods/codemod_0001-rename_has_async_property.cjs.map +1 -0
  35. package/build/codemods/codemod_0001-rename_has_async_property.d.cts +9 -0
  36. package/build/codemods/codemod_0001-rename_has_async_property.d.cts.map +1 -0
  37. package/build/codemods/codemod_0001-rename_has_async_property.d.mts +9 -0
  38. package/build/codemods/codemod_0001-rename_has_async_property.d.mts.map +1 -0
  39. package/build/codemods/codemod_0001-rename_has_async_property.js +21 -25
  40. package/build/codemods/codemod_0001-rename_has_async_property.js.map +1 -1
  41. package/build/codemods/codemod_0002-rename_async_query_fields.cjs +50 -0
  42. package/build/codemods/codemod_0002-rename_async_query_fields.cjs.map +1 -0
  43. package/build/codemods/codemod_0002-rename_async_query_fields.d.cts +9 -0
  44. package/build/codemods/codemod_0002-rename_async_query_fields.d.cts.map +1 -0
  45. package/build/codemods/codemod_0002-rename_async_query_fields.d.mts +9 -0
  46. package/build/codemods/codemod_0002-rename_async_query_fields.d.mts.map +1 -0
  47. package/build/codemods/codemod_0002-rename_async_query_fields.js +38 -52
  48. package/build/codemods/codemod_0002-rename_async_query_fields.js.map +1 -1
  49. package/build/codemods/codemod_0003-rename_find_paginated.cjs +25 -0
  50. package/build/codemods/codemod_0003-rename_find_paginated.cjs.map +1 -0
  51. package/build/codemods/codemod_0003-rename_find_paginated.d.cts +9 -0
  52. package/build/codemods/codemod_0003-rename_find_paginated.d.cts.map +1 -0
  53. package/build/codemods/codemod_0003-rename_find_paginated.d.mts +9 -0
  54. package/build/codemods/codemod_0003-rename_find_paginated.d.mts.map +1 -0
  55. package/build/codemods/codemod_0003-rename_find_paginated.js +17 -26
  56. package/build/codemods/codemod_0003-rename_find_paginated.js.map +1 -1
  57. package/build/codemods/index.cjs +49 -0
  58. package/build/codemods/index.cjs.map +1 -0
  59. package/build/codemods/index.d.cts +12 -0
  60. package/build/codemods/index.d.cts.map +1 -0
  61. package/build/codemods/index.d.mts +12 -0
  62. package/build/codemods/index.d.mts.map +1 -0
  63. package/build/codemods/index.js +34 -42
  64. package/build/codemods/index.js.map +1 -1
  65. package/build/config.cjs +377 -0
  66. package/build/config.cjs.map +1 -0
  67. package/build/config.d.cts +181 -0
  68. package/build/config.d.cts.map +1 -0
  69. package/build/config.d.mts +181 -0
  70. package/build/config.d.mts.map +1 -0
  71. package/build/config.js +309 -347
  72. package/build/config.js.map +1 -1
  73. package/build/docs/cache.cjs +62 -0
  74. package/build/docs/cache.cjs.map +1 -0
  75. package/build/docs/cache.d.cts +17 -0
  76. package/build/docs/cache.d.cts.map +1 -0
  77. package/build/docs/cache.d.mts +17 -0
  78. package/build/docs/cache.d.mts.map +1 -0
  79. package/build/docs/cache.js +52 -53
  80. package/build/docs/cache.js.map +1 -1
  81. package/build/docs/generate-metadata-docs.cjs +32 -0
  82. package/build/docs/generate-metadata-docs.cjs.map +1 -0
  83. package/build/docs/generate-metadata-docs.d.cts +9 -0
  84. package/build/docs/generate-metadata-docs.d.cts.map +1 -0
  85. package/build/docs/generate-metadata-docs.d.mts +9 -0
  86. package/build/docs/generate-metadata-docs.d.mts.map +1 -0
  87. package/build/docs/generate-metadata-docs.js +19 -24
  88. package/build/docs/generate-metadata-docs.js.map +1 -1
  89. package/build/docs/index.cjs +90 -0
  90. package/build/docs/index.cjs.map +1 -0
  91. package/build/docs/index.d.cts +16 -0
  92. package/build/docs/index.d.cts.map +1 -0
  93. package/build/docs/index.d.mts +16 -0
  94. package/build/docs/index.d.mts.map +1 -0
  95. package/build/docs/index.js +75 -80
  96. package/build/docs/index.js.map +1 -1
  97. package/build/docs/markdown.cjs +181 -0
  98. package/build/docs/markdown.cjs.map +1 -0
  99. package/build/docs/{markdown.d.ts → markdown.d.cts} +14 -12
  100. package/build/docs/markdown.d.cts.map +1 -0
  101. package/build/docs/markdown.d.mts +32 -0
  102. package/build/docs/markdown.d.mts.map +1 -0
  103. package/build/docs/markdown.js +152 -220
  104. package/build/docs/markdown.js.map +1 -1
  105. package/build/docs/parsing.cjs +117 -0
  106. package/build/docs/parsing.cjs.map +1 -0
  107. package/build/docs/parsing.d.cts +48 -0
  108. package/build/docs/parsing.d.cts.map +1 -0
  109. package/build/docs/parsing.d.mts +48 -0
  110. package/build/docs/parsing.d.mts.map +1 -0
  111. package/build/docs/parsing.js +89 -88
  112. package/build/docs/parsing.js.map +1 -1
  113. package/build/findEntityScopes.cjs +119 -0
  114. package/build/findEntityScopes.cjs.map +1 -0
  115. package/build/findEntityScopes.d.cts +14 -0
  116. package/build/findEntityScopes.d.cts.map +1 -0
  117. package/build/findEntityScopes.d.mts +14 -0
  118. package/build/findEntityScopes.d.mts.map +1 -0
  119. package/build/findEntityScopes.js +83 -111
  120. package/build/findEntityScopes.js.map +1 -1
  121. package/build/foreignKeyOrdering.cjs +52 -0
  122. package/build/foreignKeyOrdering.cjs.map +1 -0
  123. package/build/foreignKeyOrdering.d.cts +8 -0
  124. package/build/foreignKeyOrdering.d.cts.map +1 -0
  125. package/build/foreignKeyOrdering.d.mts +8 -0
  126. package/build/foreignKeyOrdering.d.mts.map +1 -0
  127. package/build/foreignKeyOrdering.js +46 -55
  128. package/build/foreignKeyOrdering.js.map +1 -1
  129. package/build/generate.cjs +127 -0
  130. package/build/generate.cjs.map +1 -0
  131. package/build/generate.d.cts +17 -0
  132. package/build/generate.d.cts.map +1 -0
  133. package/build/generate.d.mts +17 -0
  134. package/build/generate.d.mts.map +1 -0
  135. package/build/generate.js +110 -124
  136. package/build/generate.js.map +1 -1
  137. package/build/generateEntitiesFile.cjs +46 -0
  138. package/build/generateEntitiesFile.cjs.map +1 -0
  139. package/build/generateEntitiesFile.d.cts +11 -0
  140. package/build/generateEntitiesFile.d.cts.map +1 -0
  141. package/build/generateEntitiesFile.d.mts +11 -0
  142. package/build/generateEntitiesFile.d.mts.map +1 -0
  143. package/build/generateEntitiesFile.js +28 -25
  144. package/build/generateEntitiesFile.js.map +1 -1
  145. package/build/generateEntityCodegenFile.cjs +936 -0
  146. package/build/generateEntityCodegenFile.cjs.map +1 -0
  147. package/build/generateEntityCodegenFile.d.cts +16 -0
  148. package/build/generateEntityCodegenFile.d.cts.map +1 -0
  149. package/build/generateEntityCodegenFile.d.mts +16 -0
  150. package/build/generateEntityCodegenFile.d.mts.map +1 -0
  151. package/build/generateEntityCodegenFile.js +718 -826
  152. package/build/generateEntityCodegenFile.js.map +1 -1
  153. package/build/generateEntityFile.cjs +23 -0
  154. package/build/generateEntityFile.cjs.map +1 -0
  155. package/build/generateEntityFile.d.cts +9 -0
  156. package/build/generateEntityFile.d.cts.map +1 -0
  157. package/build/generateEntityFile.d.mts +9 -0
  158. package/build/generateEntityFile.d.mts.map +1 -0
  159. package/build/generateEntityFile.js +11 -8
  160. package/build/generateEntityFile.js.map +1 -1
  161. package/build/generateEntityTestFile.cjs +25 -0
  162. package/build/generateEntityTestFile.cjs.map +1 -0
  163. package/build/generateEntityTestFile.d.cts +9 -0
  164. package/build/generateEntityTestFile.d.cts.map +1 -0
  165. package/build/generateEntityTestFile.d.mts +9 -0
  166. package/build/generateEntityTestFile.d.mts.map +1 -0
  167. package/build/generateEntityTestFile.js +10 -7
  168. package/build/generateEntityTestFile.js.map +1 -1
  169. package/build/generateEnumFile.cjs +73 -0
  170. package/build/generateEnumFile.cjs.map +1 -0
  171. package/build/generateEnumFile.d.cts +9 -0
  172. package/build/generateEnumFile.d.cts.map +1 -0
  173. package/build/generateEnumFile.d.mts +9 -0
  174. package/build/generateEnumFile.d.mts.map +1 -0
  175. package/build/generateEnumFile.js +33 -43
  176. package/build/generateEnumFile.js.map +1 -1
  177. package/build/generateFactoriesFiles.cjs +28 -0
  178. package/build/generateFactoriesFiles.cjs.map +1 -0
  179. package/build/generateFactoriesFiles.d.cts +7 -0
  180. package/build/generateFactoriesFiles.d.cts.map +1 -0
  181. package/build/generateFactoriesFiles.d.mts +7 -0
  182. package/build/generateFactoriesFiles.d.mts.map +1 -0
  183. package/build/generateFactoriesFiles.js +21 -16
  184. package/build/generateFactoriesFiles.js.map +1 -1
  185. package/build/generateFlushFunction.cjs +61 -0
  186. package/build/generateFlushFunction.cjs.map +1 -0
  187. package/build/{generateFlushFunction.d.ts → generateFlushFunction.d.cts} +8 -5
  188. package/build/generateFlushFunction.d.cts.map +1 -0
  189. package/build/generateFlushFunction.d.mts +23 -0
  190. package/build/generateFlushFunction.d.mts.map +1 -0
  191. package/build/generateFlushFunction.js +32 -78
  192. package/build/generateFlushFunction.js.map +1 -1
  193. package/build/generateMetadataFile.cjs +290 -0
  194. package/build/generateMetadataFile.cjs.map +1 -0
  195. package/build/generateMetadataFile.d.cts +8 -0
  196. package/build/generateMetadataFile.d.cts.map +1 -0
  197. package/build/generateMetadataFile.d.mts +8 -0
  198. package/build/generateMetadataFile.d.mts.map +1 -0
  199. package/build/generateMetadataFile.js +116 -140
  200. package/build/generateMetadataFile.js.map +1 -1
  201. package/build/generatePgEnumFile.cjs +21 -0
  202. package/build/generatePgEnumFile.cjs.map +1 -0
  203. package/build/generatePgEnumFile.d.cts +9 -0
  204. package/build/generatePgEnumFile.d.cts.map +1 -0
  205. package/build/generatePgEnumFile.d.mts +9 -0
  206. package/build/generatePgEnumFile.d.mts.map +1 -0
  207. package/build/generatePgEnumFile.js +12 -9
  208. package/build/generatePgEnumFile.js.map +1 -1
  209. package/build/index.cjs +135 -0
  210. package/build/index.cjs.map +1 -0
  211. package/build/index.d.cts +12 -0
  212. package/build/index.d.cts.map +1 -0
  213. package/build/index.d.mts +12 -0
  214. package/build/index.d.mts.map +1 -0
  215. package/build/index.js +108 -127
  216. package/build/index.js.map +1 -1
  217. package/build/inheritance.cjs +213 -0
  218. package/build/inheritance.cjs.map +1 -0
  219. package/build/inheritance.d.cts +12 -0
  220. package/build/inheritance.d.cts.map +1 -0
  221. package/build/inheritance.d.mts +12 -0
  222. package/build/inheritance.d.mts.map +1 -0
  223. package/build/inheritance.js +193 -247
  224. package/build/inheritance.js.map +1 -1
  225. package/build/installSkills.cjs +68 -0
  226. package/build/installSkills.cjs.map +1 -0
  227. package/build/installSkills.d.cts +16 -0
  228. package/build/installSkills.d.cts.map +1 -0
  229. package/build/installSkills.d.mts +16 -0
  230. package/build/installSkills.d.mts.map +1 -0
  231. package/build/installSkills.js +67 -0
  232. package/build/installSkills.js.map +1 -0
  233. package/build/keywords.cjs +7 -0
  234. package/build/keywords.cjs.map +1 -0
  235. package/build/keywords.d.cts +5 -0
  236. package/build/keywords.d.cts.map +1 -0
  237. package/build/keywords.d.mts +5 -0
  238. package/build/keywords.d.mts.map +1 -0
  239. package/build/keywords.js +5 -4
  240. package/build/keywords.js.map +1 -1
  241. package/build/loadMetadata.cjs +39 -0
  242. package/build/loadMetadata.cjs.map +1 -0
  243. package/build/loadMetadata.d.cts +31 -0
  244. package/build/loadMetadata.d.cts.map +1 -0
  245. package/build/loadMetadata.d.mts +31 -0
  246. package/build/loadMetadata.d.mts.map +1 -0
  247. package/build/loadMetadata.js +32 -39
  248. package/build/loadMetadata.js.map +1 -1
  249. package/build/logger.cjs +28 -0
  250. package/build/logger.cjs.map +1 -0
  251. package/build/logger.d.cts +13 -0
  252. package/build/logger.d.cts.map +1 -0
  253. package/build/logger.d.mts +13 -0
  254. package/build/logger.d.mts.map +1 -0
  255. package/build/logger.js +17 -16
  256. package/build/logger.js.map +1 -1
  257. package/build/scanEntityFiles.cjs +46 -0
  258. package/build/scanEntityFiles.cjs.map +1 -0
  259. package/build/scanEntityFiles.d.cts +8 -0
  260. package/build/scanEntityFiles.d.cts.map +1 -0
  261. package/build/scanEntityFiles.d.mts +8 -0
  262. package/build/scanEntityFiles.d.mts.map +1 -0
  263. package/build/scanEntityFiles.js +37 -42
  264. package/build/scanEntityFiles.js.map +1 -1
  265. package/build/sortForeignKeys.cjs +99 -0
  266. package/build/sortForeignKeys.cjs.map +1 -0
  267. package/build/{sortForeignKeys.d.ts → sortForeignKeys.d.cts} +8 -5
  268. package/build/sortForeignKeys.d.cts.map +1 -0
  269. package/build/sortForeignKeys.d.mts +35 -0
  270. package/build/sortForeignKeys.d.mts.map +1 -0
  271. package/build/sortForeignKeys.js +88 -117
  272. package/build/sortForeignKeys.js.map +1 -1
  273. package/build/symbols.cjs +226 -0
  274. package/build/symbols.cjs.map +1 -0
  275. package/build/symbols.d.cts +114 -0
  276. package/build/symbols.d.cts.map +1 -0
  277. package/build/symbols.d.mts +114 -0
  278. package/build/symbols.d.mts.map +1 -0
  279. package/build/symbols.js +115 -113
  280. package/build/symbols.js.map +1 -1
  281. package/build/tsdoc.cjs +22 -0
  282. package/build/tsdoc.cjs.map +1 -0
  283. package/build/tsdoc.d.cts +15 -0
  284. package/build/tsdoc.d.cts.map +1 -0
  285. package/build/tsdoc.d.mts +15 -0
  286. package/build/tsdoc.d.mts.map +1 -0
  287. package/build/tsdoc.js +18 -15
  288. package/build/tsdoc.js.map +1 -1
  289. package/build/utils.cjs +173 -0
  290. package/build/utils.cjs.map +1 -0
  291. package/build/utils.d.cts +34 -0
  292. package/build/utils.d.cts.map +1 -0
  293. package/build/utils.d.mts +34 -0
  294. package/build/utils.d.mts.map +1 -0
  295. package/build/utils.js +112 -166
  296. package/build/utils.js.map +1 -1
  297. package/build/write-json-schema.cjs +23 -0
  298. package/build/write-json-schema.cjs.map +1 -0
  299. package/build/write-json-schema.d.cts +1 -0
  300. package/build/write-json-schema.d.mts +1 -0
  301. package/build/write-json-schema.js +19 -13
  302. package/build/write-json-schema.js.map +1 -1
  303. package/package.json +37 -17
  304. package/skills/joist-docs/SKILL.md +133 -0
  305. package/skills/joist-em-basics/SKILL.md +114 -0
  306. package/skills/joist-partial-updates/SKILL.md +352 -0
  307. package/skills/joist-reactive-hints/SKILL.md +150 -0
  308. package/skills/joist-test-factories/SKILL.md +397 -0
  309. package/skills/joist-upsert/SKILL.md +95 -0
  310. package/build/EntityDbMetadata.d.ts +0 -269
  311. package/build/EntityDbMetadata.d.ts.map +0 -1
  312. package/build/EntityDbMetadata.test.d.ts +0 -2
  313. package/build/EntityDbMetadata.test.d.ts.map +0 -1
  314. package/build/EntityDbMetadata.test.js +0 -211
  315. package/build/EntityDbMetadata.test.js.map +0 -1
  316. package/build/assignTags.d.ts.map +0 -1
  317. package/build/codemods/Codemod.d.ts +0 -14
  318. package/build/codemods/Codemod.d.ts.map +0 -1
  319. package/build/codemods/Codemod.js.map +0 -1
  320. package/build/codemods/JscodeshiftMod.d.ts +0 -11
  321. package/build/codemods/JscodeshiftMod.d.ts.map +0 -1
  322. package/build/codemods/__tests__/codemod_0001-rename_has_async_property.test.d.ts +0 -2
  323. package/build/codemods/__tests__/codemod_0001-rename_has_async_property.test.d.ts.map +0 -1
  324. package/build/codemods/__tests__/codemod_0001-rename_has_async_property.test.js +0 -9
  325. package/build/codemods/__tests__/codemod_0001-rename_has_async_property.test.js.map +0 -1
  326. package/build/codemods/__tests__/codemod_0002-rename_async_query_fields.test.d.ts +0 -2
  327. package/build/codemods/__tests__/codemod_0002-rename_async_query_fields.test.d.ts.map +0 -1
  328. package/build/codemods/__tests__/codemod_0002-rename_async_query_fields.test.js +0 -9
  329. package/build/codemods/__tests__/codemod_0002-rename_async_query_fields.test.js.map +0 -1
  330. package/build/codemods/__tests__/codemod_0003-rename_find_paginated.test.d.ts +0 -2
  331. package/build/codemods/__tests__/codemod_0003-rename_find_paginated.test.d.ts.map +0 -1
  332. package/build/codemods/__tests__/codemod_0003-rename_find_paginated.test.js +0 -9
  333. package/build/codemods/__tests__/codemod_0003-rename_find_paginated.test.js.map +0 -1
  334. package/build/codemods/codemod_0001-rename_has_async_property.d.ts +0 -7
  335. package/build/codemods/codemod_0001-rename_has_async_property.d.ts.map +0 -1
  336. package/build/codemods/codemod_0002-rename_async_query_fields.d.ts +0 -7
  337. package/build/codemods/codemod_0002-rename_async_query_fields.d.ts.map +0 -1
  338. package/build/codemods/codemod_0003-rename_find_paginated.d.ts +0 -7
  339. package/build/codemods/codemod_0003-rename_find_paginated.d.ts.map +0 -1
  340. package/build/codemods/index.d.ts +0 -9
  341. package/build/codemods/index.d.ts.map +0 -1
  342. package/build/codemods/index.test.d.ts +0 -2
  343. package/build/codemods/index.test.d.ts.map +0 -1
  344. package/build/codemods/index.test.js +0 -24
  345. package/build/codemods/index.test.js.map +0 -1
  346. package/build/config.d.ts +0 -167
  347. package/build/config.d.ts.map +0 -1
  348. package/build/config.test.d.ts +0 -2
  349. package/build/config.test.d.ts.map +0 -1
  350. package/build/config.test.js +0 -78
  351. package/build/config.test.js.map +0 -1
  352. package/build/docs/cache.d.ts +0 -14
  353. package/build/docs/cache.d.ts.map +0 -1
  354. package/build/docs/cache.test.d.ts +0 -2
  355. package/build/docs/cache.test.d.ts.map +0 -1
  356. package/build/docs/cache.test.js +0 -47
  357. package/build/docs/cache.test.js.map +0 -1
  358. package/build/docs/generate-metadata-docs.d.ts +0 -6
  359. package/build/docs/generate-metadata-docs.d.ts.map +0 -1
  360. package/build/docs/index.d.ts +0 -9
  361. package/build/docs/index.d.ts.map +0 -1
  362. package/build/docs/index.test.d.ts +0 -2
  363. package/build/docs/index.test.d.ts.map +0 -1
  364. package/build/docs/index.test.js +0 -100
  365. package/build/docs/index.test.js.map +0 -1
  366. package/build/docs/markdown.d.ts.map +0 -1
  367. package/build/docs/markdown.test.d.ts +0 -2
  368. package/build/docs/markdown.test.d.ts.map +0 -1
  369. package/build/docs/markdown.test.js +0 -280
  370. package/build/docs/markdown.test.js.map +0 -1
  371. package/build/docs/parsing.d.ts +0 -42
  372. package/build/docs/parsing.d.ts.map +0 -1
  373. package/build/docs/parsing.test.d.ts +0 -2
  374. package/build/docs/parsing.test.d.ts.map +0 -1
  375. package/build/docs/parsing.test.js +0 -190
  376. package/build/docs/parsing.test.js.map +0 -1
  377. package/build/findEntityScopes.d.ts +0 -11
  378. package/build/findEntityScopes.d.ts.map +0 -1
  379. package/build/foreignKeyOrdering.d.ts +0 -3
  380. package/build/foreignKeyOrdering.d.ts.map +0 -1
  381. package/build/generate.d.ts +0 -12
  382. package/build/generate.d.ts.map +0 -1
  383. package/build/generateEntitiesFile.d.ts +0 -7
  384. package/build/generateEntitiesFile.d.ts.map +0 -1
  385. package/build/generateEntityCodegenFile.d.ts +0 -11
  386. package/build/generateEntityCodegenFile.d.ts.map +0 -1
  387. package/build/generateEntityFile.d.ts +0 -6
  388. package/build/generateEntityFile.d.ts.map +0 -1
  389. package/build/generateEntityTestFile.d.ts +0 -6
  390. package/build/generateEntityTestFile.d.ts.map +0 -1
  391. package/build/generateEnumFile.d.ts +0 -5
  392. package/build/generateEnumFile.d.ts.map +0 -1
  393. package/build/generateFactoriesFiles.d.ts +0 -4
  394. package/build/generateFactoriesFiles.d.ts.map +0 -1
  395. package/build/generateFlushFunction.d.ts.map +0 -1
  396. package/build/generateMetadataFile.d.ts +0 -5
  397. package/build/generateMetadataFile.d.ts.map +0 -1
  398. package/build/generatePgEnumFile.d.ts +0 -5
  399. package/build/generatePgEnumFile.d.ts.map +0 -1
  400. package/build/index.d.ts +0 -11
  401. package/build/index.d.ts.map +0 -1
  402. package/build/inheritance.d.ts +0 -10
  403. package/build/inheritance.d.ts.map +0 -1
  404. package/build/keywords.d.ts +0 -2
  405. package/build/keywords.d.ts.map +0 -1
  406. package/build/loadMetadata.d.ts +0 -26
  407. package/build/loadMetadata.d.ts.map +0 -1
  408. package/build/logger.d.ts +0 -10
  409. package/build/logger.d.ts.map +0 -1
  410. package/build/scanEntityFiles.d.ts +0 -5
  411. package/build/scanEntityFiles.d.ts.map +0 -1
  412. package/build/sortForeignKeys.d.ts.map +0 -1
  413. package/build/symbols.d.ts +0 -108
  414. package/build/symbols.d.ts.map +0 -1
  415. package/build/tsdoc.d.ts +0 -12
  416. package/build/tsdoc.d.ts.map +0 -1
  417. package/build/utils.d.ts +0 -31
  418. package/build/utils.d.ts.map +0 -1
  419. package/build/write-json-schema.d.ts +0 -2
  420. package/build/write-json-schema.d.ts.map +0 -1
@@ -1,35 +1,30 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateMetadataFile = generateMetadataFile;
4
- const ts_poet_1 = require("ts-poet");
5
- const symbols_1 = require("./symbols");
6
- const utils_1 = require("./utils");
1
+ import { mapSimpleDbTypeToTypescriptType, q } from "./utils.js";
2
+ import "./config.js";
3
+ import { BigIntSerde, CustomSerdeAdapter, DateSerde, DecimalToNumberSerde, EntityMetadata, EnumArrayFieldSerde, EnumFieldSerde, JsonSerde, KeySerde, PlainDateSerde, PlainDateTimeSerde, PlainTimeSerde, PolymorphicKeySerde, PrimitiveSerde, SuperstructSerde, ZodSerde, ZonedDateTimeSerde } from "./symbols.js";
4
+ import "./EntityDbMetadata.js";
5
+ import { code, imp } from "ts-poet";
6
+ //#region src/generateMetadataFile.ts
7
7
  function generateMetadataFile(config, dbMeta, meta) {
8
- const { entity, createdAt, updatedAt, deletedAt } = meta;
9
- const fields = generateFields(config, meta);
10
- Object.values(fields).forEach((code) => code.asOneline());
11
- const maybeBaseType = meta.baseClassName ? `"${meta.baseClassName}"` : undefined;
12
- // We want to put inheritanceType: sti/cti onto base classes as well
13
- const maybeInheritanceType = meta.inheritanceType ? `inheritanceType: "${meta.inheritanceType}",` : "";
14
- const maybeStiColumn = meta.stiDiscriminatorField ? `stiDiscriminatorField: "${meta.stiDiscriminatorField}",` : "";
15
- const maybeStiValue = meta.stiDiscriminatorValue ? `stiDiscriminatorValue: ${meta.stiDiscriminatorValue},` : "";
16
- const maybeCtiAbstract = meta.abstract ? `ctiAbstract: ${meta.abstract},` : "";
17
- // Force subtype `timestampFields` to be `undefined` to ensure all runtime code is reading from the baseMeta values.
18
- // Force subtype `timestampFields` to be `undefined` to ensure all runtime code is reading from the baseMeta values.
19
- const maybeTimestampConfig = meta.baseClassName
20
- ? (0, ts_poet_1.code) `undefined`
21
- : (0, ts_poet_1.code) `
8
+ const { entity, createdAt, updatedAt, deletedAt } = meta;
9
+ const fields = generateFields(config, meta);
10
+ Object.values(fields).forEach((code) => code.asOneline());
11
+ const maybeBaseType = meta.baseClassName ? `"${meta.baseClassName}"` : void 0;
12
+ const maybeInheritanceType = meta.inheritanceType ? `inheritanceType: "${meta.inheritanceType}",` : "";
13
+ const maybeStiColumn = meta.stiDiscriminatorField ? `stiDiscriminatorField: "${meta.stiDiscriminatorField}",` : "";
14
+ const maybeStiValue = meta.stiDiscriminatorValue ? `stiDiscriminatorValue: ${meta.stiDiscriminatorValue},` : "";
15
+ const maybeCtiAbstract = meta.abstract ? `ctiAbstract: ${meta.abstract},` : "";
16
+ const maybeTimestampConfig = meta.baseClassName ? code`undefined` : code`
22
17
  {
23
- createdAt: ${(0, utils_1.q)(createdAt?.fieldName)},
24
- updatedAt: ${(0, utils_1.q)(updatedAt?.fieldName)},
25
- deletedAt: ${(0, utils_1.q)(deletedAt?.fieldName)},
18
+ createdAt: ${q(createdAt?.fieldName)},
19
+ updatedAt: ${q(updatedAt?.fieldName)},
20
+ deletedAt: ${q(deletedAt?.fieldName)},
26
21
  }
27
22
  `;
28
- const maybeInsertionOrder = meta.nonDeferredFkOrder !== 0 ? `nonDeferredFkOrder: ${meta.nonDeferredFkOrder},` : ``;
29
- const uniqueBy = getUniqueBy(config, meta);
30
- const maybeUniqueBy = uniqueBy.length > 0 ? (0, ts_poet_1.code) `uniqueBy: ${JSON.stringify(uniqueBy)},` : (0, ts_poet_1.code) ``;
31
- return (0, ts_poet_1.code) `
32
- export const ${entity.metaName}: ${symbols_1.EntityMetadata}<${entity.name}> = {
23
+ const maybeInsertionOrder = meta.nonDeferredFkOrder !== 0 ? `nonDeferredFkOrder: ${meta.nonDeferredFkOrder},` : ``;
24
+ const uniqueBy = getUniqueBy(config, meta);
25
+ const maybeUniqueBy = uniqueBy.length > 0 ? code`uniqueBy: ${JSON.stringify(uniqueBy)},` : code``;
26
+ return code`
27
+ export const ${entity.metaName}: ${EntityMetadata}<${entity.name}> = {
33
28
  cstr: ${entity.typeForMetadataFile},
34
29
  type: "${entity.name}",
35
30
  baseType: ${maybeBaseType}, ${maybeInheritanceType} ${maybeStiColumn} ${maybeStiValue} ${maybeCtiAbstract}
@@ -39,10 +34,10 @@ function generateMetadataFile(config, dbMeta, meta) {
39
34
  tableName: "${meta.tableName}",
40
35
  fields: ${fields},
41
36
  allFields: {},
42
- orderBy: ${(0, utils_1.q)(config.entities[meta.name]?.orderBy)},
37
+ orderBy: ${q(config.entities[meta.name]?.orderBy)},
43
38
  timestampFields: ${maybeTimestampConfig},
44
39
  config: ${entity.configConst},
45
- factory: ${(0, ts_poet_1.imp)(`new${entity.name}@./entities.ts`)},
40
+ factory: ${imp(`new${entity.name}@./entities.ts`)},
46
41
  baseTypes: [],
47
42
  subTypes: [], ${maybeInsertionOrder} ${maybeUniqueBy}
48
43
  };
@@ -52,72 +47,47 @@ function generateMetadataFile(config, dbMeta, meta) {
52
47
  }
53
48
  /** Returns configured identities plus conservative database-backed unique identities. */
54
49
  function getUniqueBy(config, meta) {
55
- const uniqueBy = config.entities[meta.name]?.uniqueBy ?? [];
56
- const seen = new Set();
57
- return [...uniqueBy, ...(meta.uniqueConstraints ?? [])].filter((fields) => {
58
- const key = fields.join("\u0000");
59
- if (seen.has(key))
60
- return false;
61
- seen.add(key);
62
- return true;
63
- });
50
+ const uniqueBy = config.entities[meta.name]?.uniqueBy ?? [];
51
+ const seen = /* @__PURE__ */ new Set();
52
+ return [...uniqueBy, ...meta.uniqueConstraints ?? []].filter((fields) => {
53
+ const key = fields.join("\0");
54
+ if (seen.has(key)) return false;
55
+ seen.add(key);
56
+ return true;
57
+ });
64
58
  }
65
59
  function generateFields(config, dbMetadata) {
66
- const fields = {};
67
- fields["id"] = (0, ts_poet_1.code) `
60
+ const fields = {};
61
+ fields["id"] = code`
68
62
  {
69
63
  kind: "primaryKey",
70
64
  fieldName: "id",
71
65
  fieldIdName: undefined,
72
66
  required: true,
73
- serde: new ${symbols_1.KeySerde}("${dbMetadata.tagName}", "id", "id", "${dbMetadata.primaryKey.columnType}"),
67
+ serde: new ${KeySerde}("${dbMetadata.tagName}", "id", "id", "${dbMetadata.primaryKey.columnType}"),
74
68
  immutable: true,
75
69
  }
76
70
  `;
77
- dbMetadata.primitives.forEach((p) => {
78
- const { fieldName, derived, columnName, columnType, fieldType, superstruct, zodSchema, customSerde, isArray } = p;
79
- let serde;
80
- if (customSerde) {
81
- serde = (0, ts_poet_1.code) `new ${symbols_1.CustomSerdeAdapter}("${fieldName}", "${columnName}", "${columnType}", ${customSerde})`;
82
- }
83
- else if (superstruct) {
84
- serde = (0, ts_poet_1.code) `new ${symbols_1.SuperstructSerde}("${fieldName}", "${columnName}", ${superstruct})`;
85
- }
86
- else if (zodSchema) {
87
- serde = (0, ts_poet_1.code) `new ${symbols_1.ZodSerde}("${fieldName}", "${columnName}", ${zodSchema})`;
88
- }
89
- else if (columnType === "numeric") {
90
- serde = (0, ts_poet_1.code) `new ${symbols_1.DecimalToNumberSerde}("${fieldName}", "${columnName}")`;
91
- }
92
- else if (columnType === "jsonb") {
93
- serde = (0, ts_poet_1.code) `new ${symbols_1.JsonSerde}("${fieldName}", "${columnName}")`;
94
- }
95
- else if (fieldType === "bigint") {
96
- serde = (0, ts_poet_1.code) `new ${symbols_1.BigIntSerde}("${fieldName}", "${columnName}")`;
97
- }
98
- else {
99
- let serdeType;
100
- if (columnType === "date") {
101
- serdeType = config.temporal ? symbols_1.PlainDateSerde : symbols_1.DateSerde;
102
- }
103
- else if (columnType === "timestamp without time zone") {
104
- serdeType = config.temporal ? symbols_1.PlainDateTimeSerde : symbols_1.DateSerde;
105
- }
106
- else if (columnType === "timestamp with time zone") {
107
- serdeType = config.temporal ? symbols_1.ZonedDateTimeSerde : symbols_1.DateSerde;
108
- }
109
- else if (columnType === "time without time zone") {
110
- serdeType = config.temporal ? symbols_1.PlainTimeSerde : symbols_1.PrimitiveSerde;
111
- }
112
- else {
113
- serdeType = symbols_1.PrimitiveSerde;
114
- }
115
- serde = isArray
116
- ? (0, ts_poet_1.code) `new ${serdeType}("${fieldName}", "${columnName}", "${columnType}[]", true, ${!p.notNull})`
117
- : (0, ts_poet_1.code) `new ${serdeType}("${fieldName}", "${columnName}", "${columnType}")`;
118
- }
119
- const extras = columnType === "citext" ? (0, ts_poet_1.code) `citext: true,` : "";
120
- fields[fieldName] = (0, ts_poet_1.code) `
71
+ dbMetadata.primitives.forEach((p) => {
72
+ const { fieldName, derived, columnName, columnType, fieldType, superstruct, zodSchema, customSerde, isArray } = p;
73
+ let serde;
74
+ if (customSerde) serde = code`new ${CustomSerdeAdapter}("${fieldName}", "${columnName}", "${columnType}", ${customSerde})`;
75
+ else if (superstruct) serde = code`new ${SuperstructSerde}("${fieldName}", "${columnName}", ${superstruct})`;
76
+ else if (zodSchema) serde = code`new ${ZodSerde}("${fieldName}", "${columnName}", ${zodSchema})`;
77
+ else if (columnType === "numeric") serde = code`new ${DecimalToNumberSerde}("${fieldName}", "${columnName}")`;
78
+ else if (columnType === "jsonb") serde = code`new ${JsonSerde}("${fieldName}", "${columnName}")`;
79
+ else if (fieldType === "bigint") serde = code`new ${BigIntSerde}("${fieldName}", "${columnName}")`;
80
+ else {
81
+ let serdeType;
82
+ if (columnType === "date") serdeType = config.temporal ? PlainDateSerde : DateSerde;
83
+ else if (columnType === "timestamp without time zone") serdeType = config.temporal ? PlainDateTimeSerde : DateSerde;
84
+ else if (columnType === "timestamp with time zone") serdeType = config.temporal ? ZonedDateTimeSerde : DateSerde;
85
+ else if (columnType === "time without time zone") serdeType = config.temporal ? PlainTimeSerde : PrimitiveSerde;
86
+ else serdeType = PrimitiveSerde;
87
+ serde = isArray ? code`new ${serdeType}("${fieldName}", "${columnName}", "${columnType}[]", true, ${!p.notNull})` : code`new ${serdeType}("${fieldName}", "${columnName}", "${columnType}")`;
88
+ }
89
+ const extras = columnType === "citext" ? code`citext: true,` : "";
90
+ fields[fieldName] = code`
121
91
  {
122
92
  kind: "primitive",
123
93
  fieldName: "${fieldName}",
@@ -128,15 +98,15 @@ function generateFields(config, dbMetadata) {
128
98
  type: ${typeof p.rawFieldType === "string" ? `"${p.rawFieldType}"` : p.rawFieldType},
129
99
  serde: ${serde},
130
100
  immutable: false,
101
+ ${p.lazy ? code`lazy: true,` : ""}
131
102
  ${extras}
132
103
  ${maybeDefault(p)}
133
104
  ${maybeSanitize(config, p)}
134
105
  }`;
135
- });
136
- // Treat native enums as primitives
137
- dbMetadata.pgEnums.forEach((p) => {
138
- const { columnName, fieldName, notNull, dbType } = p;
139
- fields[fieldName] = (0, ts_poet_1.code) `
106
+ });
107
+ dbMetadata.pgEnums.forEach((p) => {
108
+ const { columnName, fieldName, notNull, dbType } = p;
109
+ fields[fieldName] = code`
140
110
  {
141
111
  kind: "primitive",
142
112
  fieldName: "${fieldName}",
@@ -145,17 +115,17 @@ function generateFields(config, dbMetadata) {
145
115
  required: ${notNull},
146
116
  protected: false,
147
117
  type: "string",
148
- serde: new ${symbols_1.PrimitiveSerde}("${fieldName}", "${columnName}", "${dbType}"),
118
+ serde: new ${PrimitiveSerde}("${fieldName}", "${columnName}", "${dbType}"),
149
119
  immutable: false,
150
120
  ${maybeDefault(p)}
151
121
  }`;
152
- });
153
- dbMetadata.enums.forEach((field) => {
154
- const { fieldName, enumDetailType, notNull, isArray, columnName, columnType, derived } = field;
155
- const serdeType = isArray ? symbols_1.EnumArrayFieldSerde : symbols_1.EnumFieldSerde;
156
- const columnTypeWithArray = `${columnType}${isArray ? "[]" : ""}`;
157
- const maybeIsNullable = isArray ? `, ${!notNull}` : "";
158
- fields[fieldName] = (0, ts_poet_1.code) `
122
+ });
123
+ dbMetadata.enums.forEach((field) => {
124
+ const { fieldName, enumDetailType, notNull, isArray, columnName, columnType, derived } = field;
125
+ const serdeType = isArray ? EnumArrayFieldSerde : EnumFieldSerde;
126
+ const columnTypeWithArray = `${columnType}${isArray ? "[]" : ""}`;
127
+ const maybeIsNullable = isArray ? `, ${!notNull}` : "";
128
+ fields[fieldName] = code`
159
129
  {
160
130
  kind: "enum",
161
131
  fieldName: "${fieldName}",
@@ -168,11 +138,11 @@ function generateFields(config, dbMetadata) {
168
138
  ${maybeDefault(field)}
169
139
  }
170
140
  `;
171
- });
172
- dbMetadata.manyToOnes.forEach((m2o) => {
173
- const { fieldName, columnName, notNull, otherEntity, otherFieldName, derived, dbType } = m2o;
174
- const otherTagName = config.entities[otherEntity.name].tag;
175
- fields[fieldName] = (0, ts_poet_1.code) `
141
+ });
142
+ dbMetadata.manyToOnes.forEach((m2o) => {
143
+ const { fieldName, columnName, notNull, otherEntity, otherFieldName, derived, dbType } = m2o;
144
+ const otherTagName = config.entities[otherEntity.name].tag;
145
+ fields[fieldName] = code`
176
146
  {
177
147
  kind: "m2o",
178
148
  fieldName: "${fieldName}",
@@ -181,15 +151,15 @@ function generateFields(config, dbMetadata) {
181
151
  required: ${notNull},
182
152
  otherMetadata: () => ${otherEntity.metaName},
183
153
  otherFieldName: "${otherFieldName}",
184
- serde: new ${symbols_1.KeySerde}("${otherTagName}", "${fieldName}", "${columnName}", "${dbType}"),
154
+ serde: new ${KeySerde}("${otherTagName}", "${fieldName}", "${columnName}", "${dbType}"),
185
155
  immutable: false,
186
156
  ${maybeDefault(m2o)}
187
157
  }
188
158
  `;
189
- });
190
- dbMetadata.oneToManys.forEach((o2m) => {
191
- const { fieldName, singularName, otherEntity, otherFieldName, otherColumnName } = o2m;
192
- fields[fieldName] = (0, ts_poet_1.code) `
159
+ });
160
+ dbMetadata.oneToManys.forEach((o2m) => {
161
+ const { fieldName, singularName, otherEntity, otherFieldName, otherColumnName } = o2m;
162
+ fields[fieldName] = code`
193
163
  {
194
164
  kind: "o2m",
195
165
  fieldName: "${fieldName}",
@@ -201,12 +171,13 @@ function generateFields(config, dbMetadata) {
201
171
  serde: undefined,
202
172
  immutable: false,
203
173
  ${maybeOrderBy(o2m)}
174
+ ${maybeSoftDeletes(o2m)}
204
175
  }
205
176
  `;
206
- });
207
- dbMetadata.largeOneToManys.forEach((o2m) => {
208
- const { fieldName, singularName, otherEntity, otherFieldName, otherColumnName } = o2m;
209
- fields[fieldName] = (0, ts_poet_1.code) `
177
+ });
178
+ dbMetadata.largeOneToManys.forEach((o2m) => {
179
+ const { fieldName, singularName, otherEntity, otherFieldName, otherColumnName } = o2m;
180
+ fields[fieldName] = code`
210
181
  {
211
182
  kind: "lo2m",
212
183
  fieldName: "${fieldName}",
@@ -219,10 +190,10 @@ function generateFields(config, dbMetadata) {
219
190
  immutable: false,
220
191
  }
221
192
  `;
222
- });
223
- dbMetadata.manyToManys.forEach((m2m) => {
224
- const { fieldName, singularName, otherEntity, otherFieldName, derived } = m2m;
225
- fields[fieldName] = (0, ts_poet_1.code) `
193
+ });
194
+ dbMetadata.manyToManys.forEach((m2m) => {
195
+ const { fieldName, singularName, otherEntity, otherFieldName, derived } = m2m;
196
+ fields[fieldName] = code`
226
197
  {
227
198
  kind: "m2m",
228
199
  fieldName: "${fieldName}",
@@ -236,12 +207,13 @@ function generateFields(config, dbMetadata) {
236
207
  joinTableName: "${m2m.joinTableName}",
237
208
  columnNames: ["${m2m.columnName}", "${m2m.otherColumnName}"],
238
209
  hasJoinTableId: ${m2m.hasJoinTableId},
210
+ ${maybeSoftDeletes(m2m)}
239
211
  }
240
212
  `;
241
- });
242
- dbMetadata.manyToManyEnums.forEach((m2m) => {
243
- const { fieldName, enumDetailType } = m2m;
244
- fields[fieldName] = (0, ts_poet_1.code) `
213
+ });
214
+ dbMetadata.manyToManyEnums.forEach((m2m) => {
215
+ const { fieldName, enumDetailType } = m2m;
216
+ fields[fieldName] = code`
245
217
  {
246
218
  kind: "m2mEnum",
247
219
  fieldName: "${fieldName}",
@@ -256,10 +228,10 @@ function generateFields(config, dbMetadata) {
256
228
  hasJoinTableId: ${m2m.hasJoinTableId},
257
229
  }
258
230
  `;
259
- });
260
- dbMetadata.oneToOnes.forEach((o2o) => {
261
- const { fieldName, otherEntity, otherFieldName, otherColumnName } = o2o;
262
- fields[fieldName] = (0, ts_poet_1.code) `
231
+ });
232
+ dbMetadata.oneToOnes.forEach((o2o) => {
233
+ const { fieldName, otherEntity, otherFieldName, otherColumnName } = o2o;
234
+ fields[fieldName] = code`
263
235
  {
264
236
  kind: "o2o",
265
237
  fieldName: "${fieldName}",
@@ -272,42 +244,46 @@ function generateFields(config, dbMetadata) {
272
244
  immutable: false,
273
245
  }
274
246
  `;
275
- });
276
- dbMetadata.polymorphics.forEach((p) => {
277
- const { fieldName, notNull, components } = p;
278
- fields[fieldName] = (0, ts_poet_1.code) `
247
+ });
248
+ dbMetadata.polymorphics.forEach((p) => {
249
+ const { fieldName, notNull, components } = p;
250
+ fields[fieldName] = code`
279
251
  {
280
252
  kind: "poly",
281
253
  fieldName: "${fieldName}",
282
254
  fieldIdName: "${fieldName}Id",
283
255
  required: ${notNull},
284
- components: [${components.map(({ otherFieldName, otherEntity, columnName }) => (0, ts_poet_1.code) `
256
+ components: [${components.map(({ otherFieldName, otherEntity, columnName }) => code`
285
257
  {
286
258
  otherMetadata: () => ${otherEntity.metaName},
287
259
  otherFieldName: "${otherFieldName}",
288
260
  columnName: "${columnName}",
289
261
  },`)}],
290
- serde: new ${symbols_1.PolymorphicKeySerde}(() => ${dbMetadata.entity.metaName}, "${fieldName}"),
262
+ serde: new ${PolymorphicKeySerde}(() => ${dbMetadata.entity.metaName}, "${fieldName}"),
291
263
  immutable: false,
292
264
  }
293
265
  `;
294
- });
295
- return fields;
266
+ });
267
+ return fields;
296
268
  }
297
269
  function maybeDefault(f) {
298
- return f.hasConfigDefault ? (0, ts_poet_1.code) `default: "config",` : f.columnDefault ? (0, ts_poet_1.code) `default: "schema",` : "";
270
+ return f.hasConfigDefault ? code`default: "config",` : f.columnDefault ? code`default: "schema",` : "";
299
271
  }
300
272
  function maybeOrderBy(f) {
301
- return f.orderBy ? (0, ts_poet_1.code) `orderBy: { field: "${f.orderBy.field}", direction: "${f.orderBy.direction}" },` : "";
273
+ return f.orderBy ? code`orderBy: { field: "${f.orderBy.field}", direction: "${f.orderBy.direction}" },` : "";
274
+ }
275
+ /** Emits the `softDeletes` config, i.e. `softDeletes: "include",`, for relations that opt out of hiding soft-deletes. */
276
+ function maybeSoftDeletes(f) {
277
+ return f.softDeletes ? code`softDeletes: "${f.softDeletes}",` : "";
302
278
  }
303
279
  /** We sanitize/cleanStringValue all varchars, unless opted out by the column default/arrays/custom serdes. */
304
280
  function maybeSanitize(config, f) {
305
- // Only strings need to maybe turn off their cleanStringValue sanitization, if the default="" or its an array
306
- return isString(config, f.columnType) && (f.columnDefault === "''" || f.isArray || f.customSerde)
307
- ? (0, ts_poet_1.code) `sanitize: false,`
308
- : "";
281
+ return isString(config, f.columnType) && (f.columnDefault === "''" || f.isArray || f.customSerde) ? code`sanitize: false,` : "";
309
282
  }
310
283
  function isString(config, columnType) {
311
- return (0, utils_1.mapSimpleDbTypeToTypescriptType)(config, columnType) === "string";
284
+ return mapSimpleDbTypeToTypescriptType(config, columnType) === "string";
312
285
  }
286
+ //#endregion
287
+ export { generateMetadataFile };
288
+
313
289
  //# sourceMappingURL=generateMetadataFile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateMetadataFile.js","sourceRoot":"","sources":["../src/generateMetadataFile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateMetadataFile.js","names":[],"sources":["../src/generateMetadataFile.ts"],"sourcesContent":["import { type Code, type Import, code, imp } from \"ts-poet\";\n\nimport { type Config } from \"./config.ts\";\nimport {\n type DatabaseColumnType,\n type DbMetadata,\n type EntityDbMetadata,\n type OneToManyField,\n} from \"./EntityDbMetadata.ts\";\nimport {\n BigIntSerde,\n CustomSerdeAdapter,\n DateSerde,\n DecimalToNumberSerde,\n EntityMetadata,\n EnumArrayFieldSerde,\n EnumFieldSerde,\n JsonSerde,\n KeySerde,\n PlainDateSerde,\n PlainDateTimeSerde,\n PlainTimeSerde,\n PolymorphicKeySerde,\n PrimitiveSerde,\n SuperstructSerde,\n ZodSerde,\n ZonedDateTimeSerde,\n} from \"./symbols.ts\";\nimport { mapSimpleDbTypeToTypescriptType, q } from \"./utils.ts\";\n\nexport function generateMetadataFile(config: Config, dbMeta: DbMetadata, meta: EntityDbMetadata): Code {\n const { entity, createdAt, updatedAt, deletedAt } = meta;\n\n const fields = generateFields(config, meta);\n\n Object.values(fields).forEach((code) => code.asOneline());\n\n const maybeBaseType = meta.baseClassName ? `\"${meta.baseClassName}\"` : undefined;\n // We want to put inheritanceType: sti/cti onto base classes as well\n const maybeInheritanceType = meta.inheritanceType ? `inheritanceType: \"${meta.inheritanceType}\",` : \"\";\n const maybeStiColumn = meta.stiDiscriminatorField ? `stiDiscriminatorField: \"${meta.stiDiscriminatorField}\",` : \"\";\n const maybeStiValue = meta.stiDiscriminatorValue ? `stiDiscriminatorValue: ${meta.stiDiscriminatorValue},` : \"\";\n const maybeCtiAbstract = meta.abstract ? `ctiAbstract: ${meta.abstract},` : \"\";\n // Force subtype `timestampFields` to be `undefined` to ensure all runtime code is reading from the baseMeta values.\n // Force subtype `timestampFields` to be `undefined` to ensure all runtime code is reading from the baseMeta values.\n const maybeTimestampConfig = meta.baseClassName\n ? code`undefined`\n : code`\n {\n createdAt: ${q(createdAt?.fieldName)},\n updatedAt: ${q(updatedAt?.fieldName)},\n deletedAt: ${q(deletedAt?.fieldName)},\n }\n `;\n const maybeInsertionOrder = meta.nonDeferredFkOrder !== 0 ? `nonDeferredFkOrder: ${meta.nonDeferredFkOrder},` : ``;\n const uniqueBy = getUniqueBy(config, meta);\n const maybeUniqueBy = uniqueBy.length > 0 ? code`uniqueBy: ${JSON.stringify(uniqueBy)},` : code``;\n\n return code`\n export const ${entity.metaName}: ${EntityMetadata}<${entity.name}> = {\n cstr: ${entity.typeForMetadataFile},\n type: \"${entity.name}\",\n baseType: ${maybeBaseType}, ${maybeInheritanceType} ${maybeStiColumn} ${maybeStiValue} ${maybeCtiAbstract}\n idType: \"${config.idType ?? \"tagged-string\"}\",\n idDbType: \"${meta.primaryKey.columnType}\",\n tagName: \"${meta.tagName}\",\n tableName: \"${meta.tableName}\",\n fields: ${fields},\n allFields: {},\n orderBy: ${q(config.entities[meta.name]?.orderBy)},\n timestampFields: ${maybeTimestampConfig},\n config: ${entity.configConst},\n factory: ${imp(`new${entity.name}@./entities.ts`)},\n baseTypes: [],\n subTypes: [], ${maybeInsertionOrder} ${maybeUniqueBy}\n };\n\n (${entity.typeForMetadataFile} as any).metadata = ${entity.metaName};\n `;\n}\n\n/** Returns configured identities plus conservative database-backed unique identities. */\nfunction getUniqueBy(config: Config, meta: EntityDbMetadata): string[][] {\n const uniqueBy = config.entities[meta.name]?.uniqueBy ?? [];\n const seen = new Set<string>();\n return [...uniqueBy, ...(meta.uniqueConstraints ?? [])].filter((fields) => {\n const key = fields.join(\"\\u0000\");\n if (seen.has(key)) return false;\n seen.add(key);\n return true;\n });\n}\n\nfunction generateFields(config: Config, dbMetadata: EntityDbMetadata): Record<string, Code> {\n const fields: Record<string, Code> = {};\n\n fields[\"id\"] = code`\n {\n kind: \"primaryKey\",\n fieldName: \"id\",\n fieldIdName: undefined,\n required: true,\n serde: new ${KeySerde}(\"${dbMetadata.tagName}\", \"id\", \"id\", \"${dbMetadata.primaryKey.columnType}\"),\n immutable: true,\n }\n `;\n\n dbMetadata.primitives.forEach((p) => {\n const { fieldName, derived, columnName, columnType, fieldType, superstruct, zodSchema, customSerde, isArray } = p;\n let serde: Code;\n if (customSerde) {\n serde = code`new ${CustomSerdeAdapter}(\"${fieldName}\", \"${columnName}\", \"${columnType}\", ${customSerde})`;\n } else if (superstruct) {\n serde = code`new ${SuperstructSerde}(\"${fieldName}\", \"${columnName}\", ${superstruct})`;\n } else if (zodSchema) {\n serde = code`new ${ZodSerde}(\"${fieldName}\", \"${columnName}\", ${zodSchema})`;\n } else if (columnType === \"numeric\") {\n serde = code`new ${DecimalToNumberSerde}(\"${fieldName}\", \"${columnName}\")`;\n } else if (columnType === \"jsonb\") {\n serde = code`new ${JsonSerde}(\"${fieldName}\", \"${columnName}\")`;\n } else if (fieldType === \"bigint\") {\n serde = code`new ${BigIntSerde}(\"${fieldName}\", \"${columnName}\")`;\n } else {\n let serdeType: Import;\n if (columnType === \"date\") {\n serdeType = config.temporal ? PlainDateSerde : DateSerde;\n } else if (columnType === \"timestamp without time zone\") {\n serdeType = config.temporal ? PlainDateTimeSerde : DateSerde;\n } else if (columnType === \"timestamp with time zone\") {\n serdeType = config.temporal ? ZonedDateTimeSerde : DateSerde;\n } else if (columnType === \"time without time zone\") {\n serdeType = config.temporal ? PlainTimeSerde : PrimitiveSerde;\n } else {\n serdeType = PrimitiveSerde;\n }\n serde = isArray\n ? code`new ${serdeType}(\"${fieldName}\", \"${columnName}\", \"${columnType}[]\", true, ${!p.notNull})`\n : code`new ${serdeType}(\"${fieldName}\", \"${columnName}\", \"${columnType}\")`;\n }\n const extras = columnType === \"citext\" ? code`citext: true,` : \"\";\n fields[fieldName] = code`\n {\n kind: \"primitive\",\n fieldName: \"${fieldName}\",\n fieldIdName: undefined,\n derived: ${!derived ? false : `\"${derived}\"`},\n required: ${!derived && p.notNull},\n protected: ${p.protected},\n type: ${typeof p.rawFieldType === \"string\" ? `\"${p.rawFieldType}\"` : p.rawFieldType},\n serde: ${serde},\n immutable: false,\n ${p.lazy ? code`lazy: true,` : \"\"}\n ${extras}\n ${maybeDefault(p)}\n ${maybeSanitize(config, p)}\n }`;\n });\n\n // Treat native enums as primitives\n dbMetadata.pgEnums.forEach((p) => {\n const { columnName, fieldName, notNull, dbType } = p;\n fields[fieldName] = code`\n {\n kind: \"primitive\",\n fieldName: \"${fieldName}\",\n fieldIdName: undefined,\n derived: false,\n required: ${notNull},\n protected: false,\n type: \"string\",\n serde: new ${PrimitiveSerde}(\"${fieldName}\", \"${columnName}\", \"${dbType}\"),\n immutable: false,\n ${maybeDefault(p)}\n }`;\n });\n\n dbMetadata.enums.forEach((field) => {\n const { fieldName, enumDetailType, notNull, isArray, columnName, columnType, derived } = field;\n const serdeType = isArray ? EnumArrayFieldSerde : EnumFieldSerde;\n const columnTypeWithArray = `${columnType}${isArray ? \"[]\" : \"\"}`;\n const maybeIsNullable = isArray ? `, ${!notNull}` : \"\";\n fields[fieldName] = code`\n {\n kind: \"enum\",\n fieldName: \"${fieldName}\",\n fieldIdName: undefined,\n required: ${notNull},\n derived: ${!derived ? false : `\"${derived}\"`},\n enumDetailType: ${enumDetailType},\n serde: new ${serdeType}(\"${fieldName}\", \"${columnName}\", \"${columnTypeWithArray}\"${maybeIsNullable}, ${enumDetailType}),\n immutable: false,\n ${maybeDefault(field)}\n }\n `;\n });\n\n dbMetadata.manyToOnes.forEach((m2o) => {\n const { fieldName, columnName, notNull, otherEntity, otherFieldName, derived, dbType } = m2o;\n const otherTagName = config.entities[otherEntity.name].tag;\n fields[fieldName] = code`\n {\n kind: \"m2o\",\n fieldName: \"${fieldName}\",\n fieldIdName: \"${fieldName}Id\",\n derived: ${!derived ? false : `\"${derived}\"`},\n required: ${notNull},\n otherMetadata: () => ${otherEntity.metaName},\n otherFieldName: \"${otherFieldName}\",\n serde: new ${KeySerde}(\"${otherTagName}\", \"${fieldName}\", \"${columnName}\", \"${dbType}\"),\n immutable: false,\n ${maybeDefault(m2o)}\n }\n `;\n });\n\n dbMetadata.oneToManys.forEach((o2m) => {\n const { fieldName, singularName, otherEntity, otherFieldName, otherColumnName } = o2m;\n fields[fieldName] = code`\n {\n kind: \"o2m\",\n fieldName: \"${fieldName}\",\n fieldIdName: \"${singularName}Ids\",\n required: false,\n otherMetadata: () => ${otherEntity.metaName},\n otherFieldName: \"${otherFieldName}\",\n otherColumnName: \"${otherColumnName}\",\n serde: undefined,\n immutable: false,\n ${maybeOrderBy(o2m)}\n ${maybeSoftDeletes(o2m)}\n }\n `;\n });\n\n dbMetadata.largeOneToManys.forEach((o2m) => {\n const { fieldName, singularName, otherEntity, otherFieldName, otherColumnName } = o2m;\n fields[fieldName] = code`\n {\n kind: \"lo2m\",\n fieldName: \"${fieldName}\",\n fieldIdName: \"${singularName}Ids\",\n required: false,\n otherMetadata: () => ${otherEntity.metaName},\n otherFieldName: \"${otherFieldName}\",\n otherColumnName: \"${otherColumnName}\",\n serde: undefined,\n immutable: false,\n }\n `;\n });\n\n dbMetadata.manyToManys.forEach((m2m) => {\n const { fieldName, singularName, otherEntity, otherFieldName, derived } = m2m;\n fields[fieldName] = code`\n {\n kind: \"m2m\",\n fieldName: \"${fieldName}\",\n fieldIdName: \"${singularName}Ids\",\n required: false,\n derived: ${derived === \"async\" ? `\"async\"` : derived === \"otherSide\" ? `\"otherSide\"` : \"false\"},\n otherMetadata: () => ${otherEntity.metaName},\n otherFieldName: \"${otherFieldName}\",\n serde: undefined,\n immutable: false,\n joinTableName: \"${m2m.joinTableName}\",\n columnNames: [\"${m2m.columnName}\", \"${m2m.otherColumnName}\"],\n hasJoinTableId: ${m2m.hasJoinTableId},\n ${maybeSoftDeletes(m2m)}\n }\n `;\n });\n\n dbMetadata.manyToManyEnums.forEach((m2m) => {\n const { fieldName, enumDetailType } = m2m;\n fields[fieldName] = code`\n {\n kind: \"m2mEnum\",\n fieldName: \"${fieldName}\",\n fieldIdName: undefined,\n required: false,\n derived: false,\n enumDetailType: ${enumDetailType},\n serde: undefined,\n immutable: false,\n joinTableName: \"${m2m.joinTableName}\",\n columnNames: [\"${m2m.columnName}\", \"${m2m.otherColumnName}\"],\n hasJoinTableId: ${m2m.hasJoinTableId},\n }\n `;\n });\n\n dbMetadata.oneToOnes.forEach((o2o) => {\n const { fieldName, otherEntity, otherFieldName, otherColumnName } = o2o;\n fields[fieldName] = code`\n {\n kind: \"o2o\",\n fieldName: \"${fieldName}\",\n fieldIdName: \"${fieldName}Id\",\n required: false,\n otherMetadata: () => ${otherEntity.metaName},\n otherFieldName: \"${otherFieldName}\",\n otherColumnName: \"${otherColumnName}\",\n serde: undefined,\n immutable: false,\n }\n `;\n });\n\n dbMetadata.polymorphics.forEach((p) => {\n const { fieldName, notNull, components } = p;\n fields[fieldName] = code`\n {\n kind: \"poly\",\n fieldName: \"${fieldName}\",\n fieldIdName: \"${fieldName}Id\",\n required: ${notNull},\n components: [${components.map(\n ({ otherFieldName, otherEntity, columnName }) => code`\n {\n otherMetadata: () => ${otherEntity.metaName},\n otherFieldName: \"${otherFieldName}\",\n columnName: \"${columnName}\",\n },`,\n )}],\n serde: new ${PolymorphicKeySerde}(() => ${dbMetadata.entity.metaName}, \"${fieldName}\"),\n immutable: false,\n }\n `;\n });\n\n return fields;\n}\n\nfunction maybeDefault(f: { hasConfigDefault: boolean; columnDefault?: any }): Code | \"\" {\n return f.hasConfigDefault ? code`default: \"config\",` : f.columnDefault ? code`default: \"schema\",` : \"\";\n}\n\nfunction maybeOrderBy(f: OneToManyField): Code | \"\" {\n return f.orderBy ? code`orderBy: { field: \"${f.orderBy.field}\", direction: \"${f.orderBy.direction}\" },` : \"\";\n}\n\n/** Emits the `softDeletes` config, i.e. `softDeletes: \"include\",`, for relations that opt out of hiding soft-deletes. */\nfunction maybeSoftDeletes(f: { softDeletes: \"include\" | \"exclude\" | undefined }): Code | \"\" {\n return f.softDeletes ? code`softDeletes: \"${f.softDeletes}\",` : \"\";\n}\n\n/** We sanitize/cleanStringValue all varchars, unless opted out by the column default/arrays/custom serdes. */\nfunction maybeSanitize(\n config: Config,\n f: { columnType: DatabaseColumnType; columnDefault?: any; isArray: boolean; customSerde: any },\n): Code | \"\" {\n // Only strings need to maybe turn off their cleanStringValue sanitization, if the default=\"\" or its an array\n return isString(config, f.columnType) && (f.columnDefault === \"''\" || f.isArray || f.customSerde)\n ? code`sanitize: false,`\n : \"\";\n}\n\nfunction isString(config: Config, columnType: DatabaseColumnType): boolean {\n return mapSimpleDbTypeToTypescriptType(config, columnType) === \"string\";\n}\n"],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ require("./config.cjs");
3
+ require("./index.cjs");
4
+ let change_case = require("change-case");
5
+ let ts_poet = require("ts-poet");
6
+ //#region src/generatePgEnumFile.ts
7
+ function generatePgEnumFile(config, enumData) {
8
+ const { name, values } = enumData;
9
+ `${name}`;
10
+ return ts_poet.code`
11
+ export enum ${name} {
12
+ ${values.map((value) => `${(0, change_case.pascalCase)(value)} = '${value}'`).join(",\n")}
13
+ }
14
+
15
+
16
+ `;
17
+ }
18
+ //#endregion
19
+ exports.generatePgEnumFile = generatePgEnumFile;
20
+
21
+ //# sourceMappingURL=generatePgEnumFile.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generatePgEnumFile.cjs","names":["pascalCase"],"sources":["../src/generatePgEnumFile.ts"],"sourcesContent":["import { pascalCase } from \"change-case\";\nimport { type Code, code } from \"ts-poet\";\n\nimport { type Config } from \"./config.ts\";\nimport { type PgEnumData } from \"./index.ts\";\n\nexport function generatePgEnumFile(config: Config, enumData: PgEnumData): Code {\n const { name, values } = enumData;\n const detailsName = `${name}Details`;\n return code`\n export enum ${name} {\n ${values.map((value) => `${pascalCase(value)} = '${value}'`).join(\",\\n\")}\n }\n\n\n `;\n}\n"],"mappings":";;;;;;AAMA,SAAgB,mBAAmB,QAAgB,UAA4B;CAC7E,MAAM,EAAE,MAAM,WAAW;CACL,GAAG;CACvB,OAAO,QAAA,IAAI;kBACK,KAAK;QACf,OAAO,KAAK,UAAU,IAAA,GAAGA,YAAAA,WAAAA,CAAW,KAAK,EAAE,MAAM,MAAM,EAAE,CAAC,CAAC,KAAK,KAAK,EAAE;;;;;AAK/E"}
@@ -0,0 +1,9 @@
1
+ import { Config } from "./config.cjs";
2
+ import "./index.cjs";
3
+ import { PgEnumData } from "./loadMetadata.cjs";
4
+ import { Code } from "ts-poet";
5
+ //#region src/generatePgEnumFile.d.ts
6
+ declare function generatePgEnumFile(config: Config, enumData: PgEnumData): Code;
7
+ //#endregion
8
+ export { generatePgEnumFile };
9
+ //# sourceMappingURL=generatePgEnumFile.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generatePgEnumFile.d.cts","names":[],"sources":["../src/generatePgEnumFile.ts"],"mappings":";;;;;iBAMgB,mBAAmB,QAAQ,QAAQ,UAAU,aAAa"}
@@ -0,0 +1,9 @@
1
+ import { Config } from "./config.mjs";
2
+ import "./index.mjs";
3
+ import { PgEnumData } from "./loadMetadata.mjs";
4
+ import { Code } from "ts-poet";
5
+ //#region src/generatePgEnumFile.d.ts
6
+ declare function generatePgEnumFile(config: Config, enumData: PgEnumData): Code;
7
+ //#endregion
8
+ export { generatePgEnumFile };
9
+ //# sourceMappingURL=generatePgEnumFile.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generatePgEnumFile.d.mts","names":[],"sources":["../src/generatePgEnumFile.ts"],"mappings":";;;;;iBAMgB,mBAAmB,QAAQ,QAAQ,UAAU,aAAa"}
@@ -1,17 +1,20 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generatePgEnumFile = generatePgEnumFile;
4
- const change_case_1 = require("change-case");
5
- const ts_poet_1 = require("ts-poet");
1
+ import "./config.js";
2
+ import "./index.js";
3
+ import { pascalCase } from "change-case";
4
+ import { code } from "ts-poet";
5
+ //#region src/generatePgEnumFile.ts
6
6
  function generatePgEnumFile(config, enumData) {
7
- const { name, values } = enumData;
8
- const detailsName = `${name}Details`;
9
- return (0, ts_poet_1.code) `
7
+ const { name, values } = enumData;
8
+ `${name}`;
9
+ return code`
10
10
  export enum ${name} {
11
- ${values.map((value) => `${(0, change_case_1.pascalCase)(value)} = '${value}'`).join(",\n")}
11
+ ${values.map((value) => `${pascalCase(value)} = '${value}'`).join(",\n")}
12
12
  }
13
13
 
14
14
 
15
15
  `;
16
16
  }
17
+ //#endregion
18
+ export { generatePgEnumFile };
19
+
17
20
  //# sourceMappingURL=generatePgEnumFile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generatePgEnumFile.js","sourceRoot":"","sources":["../src/generatePgEnumFile.ts"],"names":[],"mappings":";;AAKA,gDAUC;AAfD,6CAAyC;AACzC,qCAAqC;AAIrC,SAAgB,kBAAkB,CAAC,MAAc,EAAE,QAAoB;IACrE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;IAClC,MAAM,WAAW,GAAG,GAAG,IAAI,SAAS,CAAC;IACrC,OAAO,IAAA,cAAI,EAAA;kBACK,IAAI;QACd,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,IAAA,wBAAU,EAAC,KAAK,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;;;;GAI3E,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"generatePgEnumFile.js","names":[],"sources":["../src/generatePgEnumFile.ts"],"sourcesContent":["import { pascalCase } from \"change-case\";\nimport { type Code, code } from \"ts-poet\";\n\nimport { type Config } from \"./config.ts\";\nimport { type PgEnumData } from \"./index.ts\";\n\nexport function generatePgEnumFile(config: Config, enumData: PgEnumData): Code {\n const { name, values } = enumData;\n const detailsName = `${name}Details`;\n return code`\n export enum ${name} {\n ${values.map((value) => `${pascalCase(value)} = '${value}'`).join(\",\\n\")}\n }\n\n\n `;\n}\n"],"mappings":";;;;;AAMA,SAAgB,mBAAmB,QAAgB,UAA4B;CAC7E,MAAM,EAAE,MAAM,WAAW;CACL,GAAG;CACvB,OAAO,IAAI;kBACK,KAAK;QACf,OAAO,KAAK,UAAU,GAAG,WAAW,KAAK,EAAE,MAAM,MAAM,EAAE,CAAC,CAAC,KAAK,KAAK,EAAE;;;;;AAK/E"}