sonamu 0.5.6 → 0.6.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 (365) hide show
  1. package/dist/api/base-frame.js +12 -2
  2. package/dist/api/caster.js +66 -2
  3. package/dist/api/code-converters.js +489 -2
  4. package/dist/api/config.d.ts +76 -0
  5. package/dist/api/config.d.ts.map +1 -0
  6. package/dist/api/config.js +32 -0
  7. package/dist/api/context.d.ts +1 -0
  8. package/dist/api/context.d.ts.map +1 -1
  9. package/dist/api/context.js +3 -2
  10. package/dist/api/decorators.d.ts +1 -0
  11. package/dist/api/decorators.d.ts.map +1 -1
  12. package/dist/api/decorators.js +142 -2
  13. package/dist/api/index.js +9 -2
  14. package/dist/api/sonamu.d.ts +8 -22
  15. package/dist/api/sonamu.d.ts.map +1 -1
  16. package/dist/api/sonamu.js +482 -2
  17. package/dist/bin/build-config.d.ts +2 -1
  18. package/dist/bin/build-config.d.ts.map +1 -1
  19. package/dist/bin/build-config.js +12 -2
  20. package/dist/bin/cli-wrapper.js +71 -2
  21. package/dist/bin/cli.js +418 -2
  22. package/dist/bin/hot-hook-register.d.ts +11 -0
  23. package/dist/bin/hot-hook-register.d.ts.map +1 -0
  24. package/dist/bin/hot-hook-register.js +21 -0
  25. package/dist/database/_batch_update.js +78 -2
  26. package/dist/database/base-model.js +247 -2
  27. package/dist/database/code-generator.js +53 -2
  28. package/dist/database/db.d.ts +5 -16
  29. package/dist/database/db.d.ts.map +1 -1
  30. package/dist/database/db.js +132 -2
  31. package/dist/database/knex-plugins/knex-on-duplicate-update.js +39 -2
  32. package/dist/database/puri-wrapper.d.ts +22 -10
  33. package/dist/database/puri-wrapper.d.ts.map +1 -1
  34. package/dist/database/puri-wrapper.js +109 -2
  35. package/dist/database/puri.d.ts +105 -73
  36. package/dist/database/puri.d.ts.map +1 -1
  37. package/dist/database/puri.js +539 -2
  38. package/dist/database/puri.types.d.ts +33 -42
  39. package/dist/database/puri.types.d.ts.map +1 -1
  40. package/dist/database/puri.types.js +3 -2
  41. package/dist/database/transaction-context.d.ts +3 -3
  42. package/dist/database/transaction-context.d.ts.map +1 -1
  43. package/dist/database/transaction-context.js +14 -2
  44. package/dist/database/upsert-builder.js +215 -2
  45. package/dist/entity/entity-manager.d.ts +3 -1
  46. package/dist/entity/entity-manager.d.ts.map +1 -1
  47. package/dist/entity/entity-manager.js +114 -2
  48. package/dist/entity/entity-utils.js +210 -2
  49. package/dist/entity/entity.d.ts.map +1 -1
  50. package/dist/entity/entity.js +651 -2
  51. package/dist/exceptions/error-handler.js +29 -2
  52. package/dist/exceptions/so-exceptions.js +85 -2
  53. package/dist/file-storage/driver.js +79 -2
  54. package/dist/file-storage/file-storage.js +75 -2
  55. package/dist/index.d.ts +2 -0
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +28 -2
  58. package/dist/migration/code-generation.js +558 -2
  59. package/dist/migration/migration-set.js +364 -2
  60. package/dist/migration/migrator.d.ts +0 -9
  61. package/dist/migration/migrator.d.ts.map +1 -1
  62. package/dist/migration/migrator.js +510 -2
  63. package/dist/migration/types.js +3 -2
  64. package/dist/naite/naite.d.ts +12 -0
  65. package/dist/naite/naite.d.ts.map +1 -0
  66. package/dist/naite/naite.js +72 -0
  67. package/dist/stream/index.js +3 -2
  68. package/dist/stream/sse.js +38 -2
  69. package/dist/syncer/api-parser.d.ts +20 -0
  70. package/dist/syncer/api-parser.d.ts.map +1 -0
  71. package/dist/syncer/api-parser.js +229 -0
  72. package/dist/syncer/checksum.d.ts +21 -0
  73. package/dist/syncer/checksum.d.ts.map +1 -0
  74. package/dist/syncer/checksum.js +98 -0
  75. package/dist/syncer/code-generator.d.ts +20 -0
  76. package/dist/syncer/code-generator.d.ts.map +1 -0
  77. package/dist/syncer/code-generator.js +141 -0
  78. package/dist/syncer/entity-operations.d.ts +17 -0
  79. package/dist/syncer/entity-operations.d.ts.map +1 -0
  80. package/dist/syncer/entity-operations.js +58 -0
  81. package/dist/syncer/file-patterns.d.ts +29 -0
  82. package/dist/syncer/file-patterns.d.ts.map +1 -0
  83. package/dist/syncer/file-patterns.js +38 -0
  84. package/dist/syncer/index.d.ts +6 -0
  85. package/dist/syncer/index.d.ts.map +1 -1
  86. package/dist/syncer/index.js +9 -2
  87. package/dist/syncer/module-loader.d.ts +35 -0
  88. package/dist/syncer/module-loader.d.ts.map +1 -0
  89. package/dist/syncer/module-loader.js +82 -0
  90. package/dist/syncer/syncer.d.ts +93 -108
  91. package/dist/syncer/syncer.d.ts.map +1 -1
  92. package/dist/syncer/syncer.js +375 -2
  93. package/dist/template/entity-converter.d.ts +14 -0
  94. package/dist/template/entity-converter.d.ts.map +1 -0
  95. package/dist/template/entity-converter.js +101 -0
  96. package/dist/template/helpers.d.ts +23 -0
  97. package/dist/template/helpers.d.ts.map +1 -0
  98. package/dist/template/helpers.js +64 -0
  99. package/dist/{templates → template/implementations}/entity.template.d.ts +3 -3
  100. package/dist/template/implementations/entity.template.d.ts.map +1 -0
  101. package/dist/template/implementations/entity.template.js +87 -0
  102. package/dist/{templates → template/implementations}/generated.template.d.ts +3 -3
  103. package/dist/template/implementations/generated.template.d.ts.map +1 -0
  104. package/dist/template/implementations/generated.template.js +232 -0
  105. package/dist/{templates → template/implementations}/generated_http.template.d.ts +3 -3
  106. package/dist/template/implementations/generated_http.template.d.ts.map +1 -0
  107. package/dist/template/implementations/generated_http.template.js +131 -0
  108. package/dist/{templates → template/implementations}/generated_sso.template.d.ts +3 -3
  109. package/dist/template/implementations/generated_sso.template.d.ts.map +1 -0
  110. package/dist/template/implementations/generated_sso.template.js +105 -0
  111. package/dist/{templates → template/implementations}/init_types.template.d.ts +3 -3
  112. package/dist/template/implementations/init_types.template.d.ts.map +1 -0
  113. package/dist/template/implementations/init_types.template.js +38 -0
  114. package/dist/template/implementations/model.template.d.ts +17 -0
  115. package/dist/template/implementations/model.template.d.ts.map +1 -0
  116. package/dist/template/implementations/model.template.js +171 -0
  117. package/dist/{templates → template/implementations}/model_test.template.d.ts +3 -3
  118. package/dist/template/implementations/model_test.template.d.ts.map +1 -0
  119. package/dist/template/implementations/model_test.template.js +35 -0
  120. package/dist/{templates → template/implementations}/service.template.d.ts +6 -6
  121. package/dist/template/implementations/service.template.d.ts.map +1 -0
  122. package/dist/template/implementations/service.template.js +193 -0
  123. package/dist/{templates → template/implementations}/view_enums_buttonset.template.d.ts +3 -3
  124. package/dist/template/implementations/view_enums_buttonset.template.d.ts.map +1 -0
  125. package/dist/template/implementations/view_enums_buttonset.template.js +31 -0
  126. package/dist/{templates → template/implementations}/view_enums_dropdown.template.d.ts +3 -4
  127. package/dist/template/implementations/view_enums_dropdown.template.d.ts.map +1 -0
  128. package/dist/template/implementations/view_enums_dropdown.template.js +50 -0
  129. package/dist/{templates → template/implementations}/view_enums_select.template.d.ts +3 -3
  130. package/dist/template/implementations/view_enums_select.template.d.ts.map +1 -0
  131. package/dist/template/implementations/view_enums_select.template.js +55 -0
  132. package/dist/{templates → template/implementations}/view_form.template.d.ts +5 -5
  133. package/dist/template/implementations/view_form.template.d.ts.map +1 -0
  134. package/dist/template/implementations/view_form.template.js +337 -0
  135. package/dist/{templates → template/implementations}/view_id_all_select.template.d.ts +3 -3
  136. package/dist/template/implementations/view_id_all_select.template.d.ts.map +1 -0
  137. package/dist/template/implementations/view_id_all_select.template.js +31 -0
  138. package/dist/{templates → template/implementations}/view_id_async_select.template.d.ts +3 -3
  139. package/dist/template/implementations/view_id_async_select.template.d.ts.map +1 -0
  140. package/dist/template/implementations/view_id_async_select.template.js +105 -0
  141. package/dist/{templates → template/implementations}/view_list.template.d.ts +5 -13
  142. package/dist/template/implementations/view_list.template.d.ts.map +1 -0
  143. package/dist/template/implementations/view_list.template.js +465 -0
  144. package/dist/{templates → template/implementations}/view_list_columns.template.d.ts +3 -3
  145. package/dist/template/implementations/view_list_columns.template.d.ts.map +1 -0
  146. package/dist/template/implementations/view_list_columns.template.js +49 -0
  147. package/dist/{templates → template/implementations}/view_search_input.template.d.ts +3 -3
  148. package/dist/template/implementations/view_search_input.template.d.ts.map +1 -0
  149. package/dist/template/implementations/view_search_input.template.js +64 -0
  150. package/dist/template/index.d.ts +5 -0
  151. package/dist/template/index.d.ts.map +1 -0
  152. package/dist/template/index.js +6 -0
  153. package/dist/template/template.d.ts +39 -0
  154. package/dist/template/template.d.ts.map +1 -0
  155. package/dist/template/template.js +47 -0
  156. package/dist/template/zod-converter.d.ts +18 -0
  157. package/dist/template/zod-converter.d.ts.map +1 -0
  158. package/dist/template/zod-converter.js +166 -0
  159. package/dist/testing/_relation-graph.js +80 -2
  160. package/dist/testing/fixture-manager.d.ts.map +1 -1
  161. package/dist/testing/fixture-manager.js +521 -2
  162. package/dist/types/types.d.ts +39 -40
  163. package/dist/types/types.d.ts.map +1 -1
  164. package/dist/types/types.js +289 -2
  165. package/dist/typings/knex.d.js +3 -2
  166. package/dist/utils/async-utils.d.ts +7 -0
  167. package/dist/utils/async-utils.d.ts.map +1 -1
  168. package/dist/utils/async-utils.js +57 -2
  169. package/dist/utils/console-util.d.ts +2 -0
  170. package/dist/utils/console-util.d.ts.map +1 -0
  171. package/dist/utils/console-util.js +6 -0
  172. package/dist/utils/controller.js +26 -2
  173. package/dist/utils/esm-utils.d.ts +45 -0
  174. package/dist/utils/esm-utils.d.ts.map +1 -0
  175. package/dist/utils/esm-utils.js +56 -0
  176. package/dist/utils/fs-utils.js +17 -2
  177. package/dist/utils/lodash-able.js +6 -2
  178. package/dist/utils/model.js +22 -2
  179. package/dist/utils/path-utils.d.ts +89 -0
  180. package/dist/utils/path-utils.d.ts.map +1 -0
  181. package/dist/utils/path-utils.js +60 -0
  182. package/dist/utils/process-utils.d.ts +13 -0
  183. package/dist/utils/process-utils.d.ts.map +1 -0
  184. package/dist/utils/process-utils.js +36 -0
  185. package/dist/utils/sql-parser.js +35 -2
  186. package/dist/utils/utils.d.ts +4 -7
  187. package/dist/utils/utils.d.ts.map +1 -1
  188. package/dist/utils/utils.js +33 -2
  189. package/dist/utils/zod-error.d.ts.map +1 -1
  190. package/dist/utils/zod-error.js +19 -2
  191. package/package.json +21 -9
  192. package/src/api/code-converters.ts +2 -2
  193. package/src/api/config.ts +142 -0
  194. package/src/api/context.ts +1 -0
  195. package/src/api/decorators.ts +15 -5
  196. package/src/api/sonamu.ts +102 -87
  197. package/src/bin/build-config.ts +2 -1
  198. package/src/bin/cli-wrapper.ts +10 -3
  199. package/src/bin/cli.ts +108 -56
  200. package/src/bin/hot-hook-register.ts +22 -0
  201. package/src/database/base-model.ts +1 -1
  202. package/src/database/code-generator.ts +1 -1
  203. package/src/database/db.ts +53 -60
  204. package/src/database/puri-wrapper.ts +104 -26
  205. package/src/database/puri.ts +477 -580
  206. package/src/database/puri.types.ts +111 -201
  207. package/src/database/transaction-context.ts +4 -4
  208. package/src/database/upsert-builder.ts +1 -1
  209. package/src/entity/entity-manager.ts +19 -15
  210. package/src/entity/entity.ts +4 -3
  211. package/src/index.ts +2 -0
  212. package/src/migration/code-generation.ts +1 -1
  213. package/src/migration/migration-set.ts +1 -1
  214. package/src/migration/migrator.ts +23 -152
  215. package/src/naite/naite.ts +70 -0
  216. package/src/syncer/api-parser.ts +299 -0
  217. package/src/syncer/checksum.ts +152 -0
  218. package/src/syncer/code-generator.ts +202 -0
  219. package/src/syncer/entity-operations.ts +68 -0
  220. package/src/syncer/file-patterns.ts +56 -0
  221. package/src/syncer/index.ts +6 -0
  222. package/src/syncer/module-loader.ts +125 -0
  223. package/src/syncer/syncer.ts +363 -1420
  224. package/src/template/entity-converter.ts +123 -0
  225. package/src/template/helpers.ts +84 -0
  226. package/src/{templates → template/implementations}/entity.template.ts +4 -4
  227. package/src/{templates → template/implementations}/generated.template.ts +9 -9
  228. package/src/{templates → template/implementations}/generated_http.template.ts +9 -6
  229. package/src/{templates → template/implementations}/generated_sso.template.ts +7 -7
  230. package/src/{templates → template/implementations}/init_types.template.ts +4 -4
  231. package/src/{templates → template/implementations}/model.template.ts +9 -9
  232. package/src/{templates → template/implementations}/model_test.template.ts +5 -5
  233. package/src/{templates → template/implementations}/service.template.ts +29 -12
  234. package/src/{templates → template/implementations}/view_enums_buttonset.template.ts +3 -3
  235. package/src/{templates → template/implementations}/view_enums_dropdown.template.ts +5 -21
  236. package/src/{templates → template/implementations}/view_enums_select.template.ts +4 -4
  237. package/src/{templates → template/implementations}/view_form.template.ts +11 -13
  238. package/src/{templates → template/implementations}/view_id_all_select.template.ts +3 -3
  239. package/src/{templates → template/implementations}/view_id_async_select.template.ts +3 -3
  240. package/src/{templates → template/implementations}/view_list.template.ts +13 -64
  241. package/src/{templates → template/implementations}/view_list_columns.template.ts +3 -3
  242. package/src/{templates → template/implementations}/view_search_input.template.ts +3 -3
  243. package/src/template/index.ts +4 -0
  244. package/src/template/template.ts +86 -0
  245. package/src/template/zod-converter.ts +219 -0
  246. package/src/testing/fixture-manager.ts +8 -1
  247. package/src/types/types.ts +39 -62
  248. package/src/utils/async-utils.ts +17 -0
  249. package/src/utils/console-util.ts +4 -0
  250. package/src/utils/esm-utils.ts +69 -0
  251. package/src/utils/path-utils.ts +102 -0
  252. package/src/utils/process-utils.ts +46 -0
  253. package/src/utils/sql-parser.ts +1 -1
  254. package/src/utils/utils.ts +14 -40
  255. package/src/utils/zod-error.ts +0 -1
  256. package/dist/api/base-frame.js.map +0 -1
  257. package/dist/api/caster.js.map +0 -1
  258. package/dist/api/code-converters.js.map +0 -1
  259. package/dist/api/context.js.map +0 -1
  260. package/dist/api/decorators.js.map +0 -1
  261. package/dist/api/index.js.map +0 -1
  262. package/dist/api/sonamu.js.map +0 -1
  263. package/dist/bin/build-config.js.map +0 -1
  264. package/dist/bin/cli-wrapper.js.map +0 -1
  265. package/dist/bin/cli.js.map +0 -1
  266. package/dist/database/_batch_update.js.map +0 -1
  267. package/dist/database/base-model.js.map +0 -1
  268. package/dist/database/code-generator.js.map +0 -1
  269. package/dist/database/db.js.map +0 -1
  270. package/dist/database/knex-plugins/knex-on-duplicate-update.js.map +0 -1
  271. package/dist/database/puri-wrapper.js.map +0 -1
  272. package/dist/database/puri.js.map +0 -1
  273. package/dist/database/puri.types.js.map +0 -1
  274. package/dist/database/transaction-context.js.map +0 -1
  275. package/dist/database/upsert-builder.js.map +0 -1
  276. package/dist/entity/entity-manager.js.map +0 -1
  277. package/dist/entity/entity-utils.js.map +0 -1
  278. package/dist/entity/entity.js.map +0 -1
  279. package/dist/exceptions/error-handler.js.map +0 -1
  280. package/dist/exceptions/so-exceptions.js.map +0 -1
  281. package/dist/file-storage/driver.js.map +0 -1
  282. package/dist/file-storage/file-storage.js.map +0 -1
  283. package/dist/index.js.map +0 -1
  284. package/dist/migration/code-generation.js.map +0 -1
  285. package/dist/migration/migration-set.js.map +0 -1
  286. package/dist/migration/migrator.js.map +0 -1
  287. package/dist/migration/types.js.map +0 -1
  288. package/dist/stream/index.js.map +0 -1
  289. package/dist/stream/sse.js.map +0 -1
  290. package/dist/syncer/index.js.map +0 -1
  291. package/dist/syncer/syncer.js.map +0 -1
  292. package/dist/templates/base-template.d.ts +0 -13
  293. package/dist/templates/base-template.d.ts.map +0 -1
  294. package/dist/templates/base-template.js +0 -2
  295. package/dist/templates/base-template.js.map +0 -1
  296. package/dist/templates/entity.template.d.ts.map +0 -1
  297. package/dist/templates/entity.template.js +0 -2
  298. package/dist/templates/entity.template.js.map +0 -1
  299. package/dist/templates/generated.template.d.ts.map +0 -1
  300. package/dist/templates/generated.template.js +0 -2
  301. package/dist/templates/generated.template.js.map +0 -1
  302. package/dist/templates/generated_http.template.d.ts.map +0 -1
  303. package/dist/templates/generated_http.template.js +0 -2
  304. package/dist/templates/generated_http.template.js.map +0 -1
  305. package/dist/templates/generated_sso.template.d.ts.map +0 -1
  306. package/dist/templates/generated_sso.template.js +0 -2
  307. package/dist/templates/generated_sso.template.js.map +0 -1
  308. package/dist/templates/index.d.ts +0 -2
  309. package/dist/templates/index.d.ts.map +0 -1
  310. package/dist/templates/index.js +0 -2
  311. package/dist/templates/index.js.map +0 -1
  312. package/dist/templates/init_types.template.d.ts.map +0 -1
  313. package/dist/templates/init_types.template.js +0 -2
  314. package/dist/templates/init_types.template.js.map +0 -1
  315. package/dist/templates/model.template.d.ts +0 -17
  316. package/dist/templates/model.template.d.ts.map +0 -1
  317. package/dist/templates/model.template.js +0 -2
  318. package/dist/templates/model.template.js.map +0 -1
  319. package/dist/templates/model_test.template.d.ts.map +0 -1
  320. package/dist/templates/model_test.template.js +0 -2
  321. package/dist/templates/model_test.template.js.map +0 -1
  322. package/dist/templates/service.template.d.ts.map +0 -1
  323. package/dist/templates/service.template.js +0 -2
  324. package/dist/templates/service.template.js.map +0 -1
  325. package/dist/templates/view_enums_buttonset.template.d.ts.map +0 -1
  326. package/dist/templates/view_enums_buttonset.template.js +0 -2
  327. package/dist/templates/view_enums_buttonset.template.js.map +0 -1
  328. package/dist/templates/view_enums_dropdown.template.d.ts.map +0 -1
  329. package/dist/templates/view_enums_dropdown.template.js +0 -2
  330. package/dist/templates/view_enums_dropdown.template.js.map +0 -1
  331. package/dist/templates/view_enums_select.template.d.ts.map +0 -1
  332. package/dist/templates/view_enums_select.template.js +0 -2
  333. package/dist/templates/view_enums_select.template.js.map +0 -1
  334. package/dist/templates/view_form.template.d.ts.map +0 -1
  335. package/dist/templates/view_form.template.js +0 -2
  336. package/dist/templates/view_form.template.js.map +0 -1
  337. package/dist/templates/view_id_all_select.template.d.ts.map +0 -1
  338. package/dist/templates/view_id_all_select.template.js +0 -2
  339. package/dist/templates/view_id_all_select.template.js.map +0 -1
  340. package/dist/templates/view_id_async_select.template.d.ts.map +0 -1
  341. package/dist/templates/view_id_async_select.template.js +0 -2
  342. package/dist/templates/view_id_async_select.template.js.map +0 -1
  343. package/dist/templates/view_list.template.d.ts.map +0 -1
  344. package/dist/templates/view_list.template.js +0 -2
  345. package/dist/templates/view_list.template.js.map +0 -1
  346. package/dist/templates/view_list_columns.template.d.ts.map +0 -1
  347. package/dist/templates/view_list_columns.template.js +0 -2
  348. package/dist/templates/view_list_columns.template.js.map +0 -1
  349. package/dist/templates/view_search_input.template.d.ts.map +0 -1
  350. package/dist/templates/view_search_input.template.js +0 -2
  351. package/dist/templates/view_search_input.template.js.map +0 -1
  352. package/dist/testing/_relation-graph.js.map +0 -1
  353. package/dist/testing/fixture-manager.js.map +0 -1
  354. package/dist/types/types.js.map +0 -1
  355. package/dist/typings/knex.d.js.map +0 -1
  356. package/dist/utils/async-utils.js.map +0 -1
  357. package/dist/utils/controller.js.map +0 -1
  358. package/dist/utils/fs-utils.js.map +0 -1
  359. package/dist/utils/lodash-able.js.map +0 -1
  360. package/dist/utils/model.js.map +0 -1
  361. package/dist/utils/sql-parser.js.map +0 -1
  362. package/dist/utils/utils.js.map +0 -1
  363. package/dist/utils/zod-error.js.map +0 -1
  364. package/src/templates/base-template.ts +0 -19
  365. package/src/templates/index.ts +0 -1
@@ -1,86 +1,118 @@
1
1
  import type { Knex } from "knex";
2
- import type { AvailableColumns, ComparisonOperator, EmptyRecord, Expand, ExtractColumnType, FulltextColumns, InsertData, MergeJoined, ParseSelectObject, ResultAvailableColumns, SelectObject, SqlFunction, WhereCondition } from "./puri.types";
3
- export declare class Puri<TSchema, TTable extends keyof TSchema | string, TOriginal = TTable extends keyof TSchema ? TSchema[TTable] : unknown, TResult = TTable extends keyof TSchema ? TSchema[TTable] : unknown, TJoined = EmptyRecord> {
4
- private knex;
2
+ import type { AvailableColumns, SelectObject, ParseSelectObject, WhereCondition, ComparisonOperator, ExtractColumnType, SqlExpression, Expand, FulltextColumns, ResultAvailableColumns, InsertData, SingleTableValue } from "./puri.types";
3
+ export declare class Puri<TSchema, TTables extends Record<string, any>, TResult> {
4
+ knex: Knex;
5
5
  private knexQuery;
6
- constructor(knex: Knex, tableName: TTable extends keyof TSchema ? TTable : unknown);
7
- constructor(knex: Knex, subquery: Puri<TSchema, any, any, TOriginal, any>, alias: TTable extends string ? TTable : never);
8
- static count(column?: string): SqlFunction<"number">;
9
- static sum(column: string): SqlFunction<"number">;
10
- static avg(column: string): SqlFunction<"number">;
11
- static max(column: string): SqlFunction<"number">;
12
- static min(column: string): SqlFunction<"number">;
13
- static concat(...args: string[]): SqlFunction<"string">;
14
- static upper(column: string): SqlFunction<"string">;
15
- static lower(column: string): SqlFunction<"string">;
16
- static rawString(sql: string): SqlFunction<"string">;
17
- static rawNumber(sql: string): SqlFunction<"number">;
18
- static rawBoolean(sql: string): SqlFunction<"boolean">;
19
- static rawDate(sql: string): SqlFunction<"date">;
20
- select<TSelect extends SelectObject<TSchema, TTable, TOriginal, TJoined>>(selectObj: TSelect): Puri<TSchema, TTable, TOriginal, ParseSelectObject<TSchema, TTable, TSelect, TOriginal, TJoined>, TJoined>;
21
- selectAll(): Puri<TSchema, TTable, TOriginal, TTable extends keyof TSchema ? TSchema[TTable] & TJoined : TResult & TJoined, TJoined>;
22
- where(conditions: WhereCondition<TSchema, TTable, TOriginal, TJoined>): Puri<TSchema, TTable, TOriginal, TResult, TJoined>;
23
- where<TColumn extends AvailableColumns<TSchema, TTable, TOriginal, TJoined>>(column: TColumn, value: ExtractColumnType<TSchema, TTable, TColumn & string, TOriginal, TJoined>): Puri<TSchema, TTable, TOriginal, TResult, TJoined>;
24
- where<TColumn extends AvailableColumns<TSchema, TTable, TOriginal, TJoined>>(column: TColumn, operator: ComparisonOperator | "like", value: ExtractColumnType<TSchema, TTable, TColumn & string, TOriginal, TJoined>): Puri<TSchema, TTable, TOriginal, TResult, TJoined>;
25
- whereIn<TColumn extends AvailableColumns<TSchema, TTable, TOriginal, TJoined>>(column: TColumn, values: ExtractColumnType<TSchema, TTable, TColumn & string, TOriginal, TJoined>[]): Puri<TSchema, TTable, TOriginal, TResult, TJoined>;
26
- whereNotIn<TColumn extends AvailableColumns<TSchema, TTable, TOriginal, TJoined>>(column: TColumn, values: ExtractColumnType<TSchema, TTable, TColumn & string, TOriginal, TJoined>[]): Puri<TSchema, TTable, TOriginal, TResult, TJoined>;
27
- whereMatch<TColumn extends FulltextColumns<TSchema, TTable, TOriginal, TJoined>>(column: TColumn, value: string): Puri<TSchema, TTable, TOriginal, TResult, TJoined>;
28
- whereGroup(callback: (group: WhereGroup<TSchema, TTable, TOriginal, TJoined>) => WhereGroup<TSchema, TTable, TOriginal, TJoined>): Puri<TSchema, TTable, TOriginal, TResult, TJoined>;
29
- orWhereGroup(callback: (group: WhereGroup<TSchema, TTable, TOriginal, TJoined>) => WhereGroup<TSchema, TTable, TOriginal, TJoined>): Puri<TSchema, TTable, TOriginal, TResult, TJoined>;
30
- join<TJoinTable extends keyof TSchema, TLColumn extends AvailableColumns<TSchema, TTable, TOriginal, TJoined & Record<TJoinTable, TSchema[TJoinTable]>>, TRColumn extends AvailableColumns<TSchema, TTable, TOriginal, TJoined & Record<TJoinTable, TSchema[TJoinTable]>>>(table: TJoinTable, left: TLColumn, right: TRColumn): Puri<TSchema, TTable, TOriginal, TResult, MergeJoined<TJoined, Record<TJoinTable, TSchema[TJoinTable]>>>;
31
- join<TJoinTable extends keyof TSchema>(table: TJoinTable, joinCallback: (joinClause: JoinClauseGroup<TSchema, TTable, TOriginal, TJoined>) => void): Puri<TSchema, TTable, TOriginal, TResult, MergeJoined<TJoined, Record<TJoinTable, TSchema[TJoinTable]>>>;
32
- join<TSubResult, TAlias extends string>(subquery: Puri<TSchema, any, any, TSubResult, any>, alias: TAlias, left: string, right: string): Puri<TSchema, TTable, TOriginal, TResult, TJoined & Record<TAlias, TSubResult>>;
33
- join(table: string, left: string, right: string): Puri<TSchema, TTable, TOriginal, TResult, TJoined>;
34
- leftJoin<TJoinTable extends keyof TSchema, TLColumn extends AvailableColumns<TSchema, TTable, TOriginal, TJoined & Record<TJoinTable, TSchema[TJoinTable]>>, TRColumn extends AvailableColumns<TSchema, TTable, TOriginal, TJoined & Record<TJoinTable, TSchema[TJoinTable]>>>(table: TJoinTable, left: TLColumn, right: TRColumn): Puri<TSchema, TTable, TOriginal, TResult, TJoined & Record<TJoinTable, Partial<TSchema[TJoinTable]>>>;
35
- leftJoin<TSubResult, TAlias extends string>(subquery: Puri<TSchema, any, any, TSubResult, any>, alias: TAlias, left: string, right: string): Puri<TSchema, TTable, TOriginal, TResult, TJoined & Record<TAlias, Partial<TSubResult>>>;
36
- leftJoin(table: string, left: string, right: string): Puri<TSchema, TTable, TOriginal, TResult, TJoined>;
37
- orderBy<TColumn extends ResultAvailableColumns<TSchema, TTable, TOriginal, TResult, TJoined>>(column: TColumn, direction: "asc" | "desc"): Puri<TSchema, TTable, TOriginal, TResult, TJoined>;
38
- limit(count: number): Puri<TSchema, TTable, TOriginal, TResult, TJoined>;
39
- offset(count: number): Puri<TSchema, TTable, TOriginal, TResult, TJoined>;
40
- groupBy<TColumns extends ResultAvailableColumns<TSchema, TTable, TOriginal, TResult, TJoined>>(...columns: TColumns[]): Puri<TSchema, TTable, TOriginal, TResult, TJoined>;
41
- having(condition: string): Puri<TSchema, TTable, TOriginal, TResult, TJoined>;
42
- having<TColumn extends ResultAvailableColumns<TSchema, TTable, TOriginal, TResult, TJoined>>(condition: TColumn, operator: ComparisonOperator, value: any): Puri<TSchema, TTable, TOriginal, TResult, TJoined>;
43
- then<TResult1, TResult2 = never>(onfulfilled?: ((value: Expand<TResult>[]) => Expand<TResult1> | PromiseLike<Expand<TResult1>>) | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null): Promise<Expand<TResult1> | TResult2>;
44
- catch<TResult2 = never>(onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null): Promise<Expand<TResult> | TResult2>;
45
- finally(onfinally?: (() => void) | null): Promise<Expand<TResult>>;
46
- first(): Promise<Expand<TResult> | undefined>;
47
- firstOrFail(): Promise<TResult>;
48
- at(index: number): Promise<Expand<TResult> | undefined>;
49
- assertAt(index: number): Promise<Expand<TResult>>;
50
- pluck<TColumn extends ResultAvailableColumns<TSchema, TTable, TOriginal, TResult, TJoined>>(column: TColumn): Promise<ExtractColumnType<TSchema, TTable, TColumn & string, TOriginal, TJoined>[]>;
51
- insert(data: TTable extends keyof TSchema ? InsertData<TSchema[TTable]> : unknown): Promise<number[]>;
52
- update(data: Partial<TTable extends keyof TSchema ? TSchema[TTable] : unknown>): Promise<number>;
53
- delete(): Promise<number>;
6
+ constructor(knex: Knex, tableName: string);
7
+ constructor(knex: Knex, tableSpec: Record<string, string | Puri<TSchema, any, any>>);
8
+ static count(column?: string): SqlExpression<"number">;
9
+ static sum(column: string): SqlExpression<"number">;
10
+ static avg(column: string): SqlExpression<"number">;
11
+ static max(column: string): SqlExpression<"number">;
12
+ static min(column: string): SqlExpression<"number">;
13
+ static concat(...args: string[]): SqlExpression<"string">;
14
+ static upper(column: string): SqlExpression<"string">;
15
+ static lower(column: string): SqlExpression<"string">;
16
+ static rawString(sql: string): SqlExpression<"string">;
17
+ static rawNumber(sql: string): SqlExpression<"number">;
18
+ static rawBoolean(sql: string): SqlExpression<"boolean">;
19
+ static rawDate(sql: string): SqlExpression<"date">;
20
+ select<TSelect extends SelectObject<TTables>>(selectObj: TSelect): Puri<TSchema, TTables, ParseSelectObject<TTables, TSelect>>;
21
+ appendSelect<TSelect extends SelectObject<TTables>>(selectObj: TSelect): Puri<TSchema, TTables, TResult & ParseSelectObject<TTables, TSelect>>;
22
+ selectAll(): this;
23
+ join<TJoinAlias extends string, TSubResult>(tableSpec: {
24
+ [K in TJoinAlias]: Puri<TSchema, any, TSubResult>;
25
+ }, left: AvailableColumns<TTables>, right: `${TJoinAlias}.${keyof TSubResult & string}`): Puri<TSchema, TTables & Record<TJoinAlias, TSubResult>, // 서브쿼리의 TResult
26
+ TResult>;
27
+ join<TJoinTable extends keyof TSchema, TJoinAlias extends string>(tableSpec: {
28
+ [K in TJoinAlias]: TJoinTable;
29
+ }, left: AvailableColumns<TTables>, right: `${TJoinAlias}.${keyof TSchema[TJoinTable] & string}`): Puri<TSchema, TTables & Record<TJoinAlias, TSchema[TJoinTable]>, // TTables 확장!
30
+ TResult>;
31
+ join<TJoinTable extends keyof TSchema>(tableName: TJoinTable, left: AvailableColumns<TTables>, right: `${TJoinTable & string}.${keyof TSchema[TJoinTable] & string}`): Puri<TSchema, TTables & Record<TJoinTable, TSchema[TJoinTable]>, // 테이블명이 키
32
+ TResult>;
33
+ join<TJoinAlias extends string, TSubResult>(tableSpec: {
34
+ [K in TJoinAlias]: Puri<TSchema, any, TSubResult>;
35
+ }, callback: (j: JoinClauseGroup<TTables, Record<TJoinAlias, TSubResult>>) => void): Puri<TSchema, TTables & Record<TJoinAlias, TSubResult>, TResult>;
36
+ join<TJoinTable extends keyof TSchema, TJoinAlias extends string>(tableSpec: {
37
+ [K in TJoinAlias]: TJoinTable;
38
+ }, callback: (j: JoinClauseGroup<TTables, Record<TJoinAlias, TSchema[TJoinTable]>>) => void): Puri<TSchema, TTables & Record<TJoinAlias, TSchema[TJoinTable]>, TResult>;
39
+ join<TJoinTable extends keyof TSchema>(tableName: TJoinTable, callback: (j: JoinClauseGroup<TTables, Record<TJoinTable, TSchema[TJoinTable]>>) => void): Puri<TSchema, TTables & Record<TJoinTable, TSchema[TJoinTable]>, TResult>;
40
+ leftJoin<TJoinAlias extends string, TSubResult>(tableSpec: {
41
+ [K in TJoinAlias]: Puri<TSchema, any, TSubResult>;
42
+ }, left: AvailableColumns<TTables>, right: `${TJoinAlias}.${keyof TSubResult & string}`): Puri<TSchema, TTables & Record<TJoinAlias, TSubResult>, // 서브쿼리의 TResult
43
+ TResult>;
44
+ leftJoin<TJoinTable extends keyof TSchema, TJoinAlias extends string>(tableSpec: {
45
+ [K in TJoinAlias]: TJoinTable;
46
+ }, left: AvailableColumns<TTables>, right: `${TJoinAlias}.${keyof TSchema[TJoinTable] & string}`): Puri<TSchema, TTables & Record<TJoinAlias, TSchema[TJoinTable]>, // TTables 확장!
47
+ TResult>;
48
+ leftJoin<TJoinTable extends keyof TSchema>(tableName: TJoinTable, left: AvailableColumns<TTables>, right: `${TJoinTable & string}.${keyof TSchema[TJoinTable] & string}`): Puri<TSchema, TTables & Record<TJoinTable, TSchema[TJoinTable]>, // 테이블명이 키
49
+ TResult>;
50
+ leftJoin<TJoinAlias extends string, TSubResult>(tableSpec: {
51
+ [K in TJoinAlias]: Puri<TSchema, any, TSubResult>;
52
+ }, callback: (j: JoinClauseGroup<TTables, Record<TJoinAlias, TSubResult>>) => void): Puri<TSchema, TTables & Record<TJoinAlias, TSubResult>, TResult>;
53
+ leftJoin<TJoinTable extends keyof TSchema, TJoinAlias extends string>(tableSpec: {
54
+ [K in TJoinAlias]: TJoinTable;
55
+ }, callback: (j: JoinClauseGroup<TTables, Record<TJoinAlias, TSchema[TJoinTable]>>) => void): Puri<TSchema, TTables & Record<TJoinAlias, TSchema[TJoinTable]>, TResult>;
56
+ leftJoin<TJoinTable extends keyof TSchema>(tableName: TJoinTable, callback: (j: JoinClauseGroup<TTables, Record<TJoinTable, TSchema[TJoinTable]>>) => void): Puri<TSchema, TTables & Record<TJoinTable, TSchema[TJoinTable]>, TResult>;
57
+ __commonJoin(joinType: "join" | "leftJoin", tableNameOrSpec: any, ...args: any[]): this;
58
+ where(conditions: WhereCondition<TTables>): this;
59
+ where<TColumn extends AvailableColumns<TTables>>(column: TColumn, value: ExtractColumnType<TTables, TColumn & string>): this;
60
+ where<TColumn extends AvailableColumns<TTables>>(column: TColumn, operator: ComparisonOperator | "like" | "not like", value: ExtractColumnType<TTables, TColumn & string>): this;
61
+ whereIn<TColumn extends AvailableColumns<TTables>>(column: TColumn, values: ExtractColumnType<TTables, TColumn & string>[]): Puri<TSchema, TTables, TResult>;
62
+ whereNotIn<TColumn extends AvailableColumns<TTables>>(column: TColumn, values: ExtractColumnType<TTables, TColumn & string>[]): Puri<TSchema, TTables, TResult>;
63
+ whereMatch<TColumn extends FulltextColumns<TTables>>(column: TColumn, value: string): this;
64
+ whereGroup(callback: (g: WhereGroup<TTables>) => void): this;
65
+ orWhereGroup(callback: (g: WhereGroup<TTables>) => void): this;
66
+ orderBy<TColumn extends ResultAvailableColumns<TTables, TResult>>(column: TColumn, direction: "asc" | "desc"): this;
67
+ limit(count: number): this;
68
+ offset(count: number): this;
69
+ groupBy<TColumns extends ResultAvailableColumns<TTables, TResult>>(...columns: TColumns[]): this;
70
+ having(condition: string): this;
71
+ having<TColumn extends ResultAvailableColumns<TTables, TResult>>(column: TColumn, operator: ComparisonOperator, value: any): this;
72
+ then<TResult1 = Expand<TResult>[], TResult2 = never>(onfulfilled?: ((value: Expand<TResult>[]) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResult1 | TResult2>;
73
+ catch<TResult2 = never>(onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResult | TResult2>;
74
+ finally(onfinally?: (() => void) | null): Promise<TResult>;
75
+ first(): ResolvedPuri<Expand<TResult>, never>;
76
+ pluck<TColumn extends keyof TResult | ResultAvailableColumns<TTables, TResult>>(column: TColumn): ResolvedPuri<TColumn extends keyof TResult ? TResult[TColumn][] : ExtractColumnType<TTables, TColumn & string>[], never>;
77
+ insert(data: InsertData<SingleTableValue<TTables>>): ResolvedPuri<[number], never>;
78
+ update(data: WhereCondition<TTables>): ResolvedPuri<TResult, number>;
79
+ increment<TColumn extends AvailableColumns<TTables>>(column: TColumn, value: number): ResolvedPuri<number, never>;
80
+ decrement<TColumn extends AvailableColumns<TTables>>(column: TColumn, value: number): ResolvedPuri<number, never>;
81
+ delete(): ResolvedPuri<number, never>;
54
82
  toQuery(): string;
55
- debug(): Puri<TSchema, TTable, TOriginal, TResult, TJoined>;
83
+ debug(): this;
56
84
  formatSQL(unformatted: string): string;
57
85
  raw(): Knex.QueryBuilder;
58
- increment<TColumn extends AvailableColumns<TSchema, TTable, TOriginal, TJoined>>(column: TColumn, value: number): Puri<TSchema, TTable, TOriginal, TResult, TJoined>;
59
- decrement<TColumn extends AvailableColumns<TSchema, TTable, TOriginal, TJoined>>(column: TColumn, value: number): Puri<TSchema, TTable, TOriginal, TResult, TJoined>;
60
86
  }
61
- declare class WhereGroup<TSchema, TTable extends keyof TSchema | string, TOriginal = any, TJoined = EmptyRecord> {
87
+ export declare class WhereGroup<TTables extends Record<string, any>> {
62
88
  private builder;
63
89
  constructor(builder: Knex.QueryBuilder);
64
- where(conditions: WhereCondition<TSchema, TTable, TOriginal, TJoined>): WhereGroup<TSchema, TTable, TOriginal, TJoined>;
65
- where<TColumn extends AvailableColumns<TSchema, TTable, TOriginal, TJoined>>(column: TColumn, value: ExtractColumnType<TSchema, TTable, TColumn & string, TOriginal, TJoined>): WhereGroup<TSchema, TTable, TOriginal, TJoined>;
66
- where<TColumn extends AvailableColumns<TSchema, TTable, TOriginal, TJoined>>(column: TColumn, operator: ComparisonOperator | "like", value: ExtractColumnType<TSchema, TTable, TColumn & string, TOriginal, TJoined>): WhereGroup<TSchema, TTable, TOriginal, TJoined>;
67
- where(raw: string): WhereGroup<TSchema, TTable, TOriginal, TJoined>;
68
- orWhere(conditions: WhereCondition<TSchema, TTable, TOriginal, TJoined>): WhereGroup<TSchema, TTable, TOriginal, TJoined>;
69
- orWhere<TColumn extends AvailableColumns<TSchema, TTable, TOriginal, TJoined>>(column: TColumn, value: ExtractColumnType<TSchema, TTable, TColumn & string, TOriginal, TJoined>): WhereGroup<TSchema, TTable, TOriginal, TJoined>;
70
- orWhere<TColumn extends AvailableColumns<TSchema, TTable, TOriginal, TJoined>>(column: TColumn, operator: ComparisonOperator | "like", value: ExtractColumnType<TSchema, TTable, TColumn & string, TOriginal, TJoined>): WhereGroup<TSchema, TTable, TOriginal, TJoined>;
71
- orWhere(raw: string): WhereGroup<TSchema, TTable, TOriginal, TJoined>;
72
- whereIn<TColumn extends AvailableColumns<TSchema, TTable, TOriginal, TJoined>>(column: TColumn, values: ExtractColumnType<TSchema, TTable, TColumn & string, TOriginal, TJoined>[]): WhereGroup<TSchema, TTable, TOriginal, TJoined>;
73
- orWhereIn<TColumn extends AvailableColumns<TSchema, TTable, TOriginal, TJoined>>(column: TColumn, values: ExtractColumnType<TSchema, TTable, TColumn & string, TOriginal, TJoined>[]): WhereGroup<TSchema, TTable, TOriginal, TJoined>;
74
- whereGroup(callback: (group: WhereGroup<TSchema, TTable, TOriginal, TJoined>) => WhereGroup<TSchema, TTable, TOriginal, TJoined>): WhereGroup<TSchema, TTable, TOriginal, TJoined>;
75
- orWhereGroup(callback: (group: WhereGroup<TSchema, TTable, TOriginal, TJoined>) => WhereGroup<TSchema, TTable, TOriginal, TJoined>): WhereGroup<TSchema, TTable, TOriginal, TJoined>;
90
+ where(conditions: WhereCondition<TTables>): this;
91
+ where<TColumn extends AvailableColumns<TTables>>(column: TColumn, value: ExtractColumnType<TTables, TColumn & string>): this;
92
+ where<TColumn extends AvailableColumns<TTables>>(column: TColumn, operator: ComparisonOperator, value: ExtractColumnType<TTables, TColumn & string>): this;
93
+ orWhere(conditions: WhereCondition<TTables>): this;
94
+ orWhere<TColumn extends AvailableColumns<TTables>>(column: TColumn, value: ExtractColumnType<TTables, TColumn & string>): this;
95
+ orWhere<TColumn extends AvailableColumns<TTables>>(column: TColumn, operator: ComparisonOperator, value: ExtractColumnType<TTables, TColumn & string>): this;
96
+ whereGroup(callback: (g: WhereGroup<TTables>) => void): this;
97
+ orWhereGroup(callback: (g: WhereGroup<TTables>) => void): this;
76
98
  }
77
- export declare class JoinClauseGroup<TSchema, TTable extends keyof TSchema | string, TOriginal = any, TJoined = EmptyRecord> {
99
+ export declare class JoinClauseGroup<TLeft extends Record<string, any>, TRight extends Record<string, any>> {
78
100
  private callback;
79
101
  constructor(callback: Knex.JoinClause);
80
- on(callback: (joinClause: JoinClauseGroup<TSchema, TTable, TOriginal, TJoined>) => void): JoinClauseGroup<TSchema, TTable, TOriginal, TJoined>;
81
- on(column: string, value: any): JoinClauseGroup<TSchema, TTable, TOriginal, TJoined>;
82
- orOn(callback: (joinClause: JoinClauseGroup<TSchema, TTable, TOriginal, TJoined>) => void): JoinClauseGroup<TSchema, TTable, TOriginal, TJoined>;
83
- orOn(column: string, value: any): JoinClauseGroup<TSchema, TTable, TOriginal, TJoined>;
102
+ on(left: AvailableColumns<TLeft>, right: AvailableColumns<TRight>): this;
103
+ on(left: AvailableColumns<TLeft>, operator: ComparisonOperator, right: AvailableColumns<TRight>): this;
104
+ on(callback: (nested: JoinClauseGroup<TLeft, TRight>) => void): this;
105
+ orOn(left: AvailableColumns<TLeft>, right: AvailableColumns<TRight>): this;
106
+ orOn(left: AvailableColumns<TLeft>, operator: ComparisonOperator, right: AvailableColumns<TRight>): this;
107
+ orOn(callback: (nested: JoinClauseGroup<TLeft, TRight>) => void): this;
108
+ }
109
+ export declare class ResolvedPuri<TResolved, _TReturning> {
110
+ knexQuery: Knex.QueryBuilder;
111
+ constructor(knexQuery: Knex.QueryBuilder);
112
+ toQuery(): string;
113
+ debug(): this;
114
+ then<TResult1 = TResolved, TResult2 = never>(onfulfilled?: ((value: TResolved) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResult1 | TResult2>;
115
+ catch<TResult2 = never>(onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResolved | TResult2>;
116
+ finally(onfinally?: (() => void) | null): Promise<TResolved>;
84
117
  }
85
- export {};
86
118
  //# sourceMappingURL=puri.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"puri.d.ts","sourceRoot":"","sources":["../../src/database/puri.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"puri.d.ts","sourceRoot":"","sources":["../../src/database/puri.ts"],"names":[],"mappings":"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"}