sonamu 0.6.0 → 0.7.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 (406) hide show
  1. package/.swcrc.project-default +18 -0
  2. package/bin/cli.js +24 -0
  3. package/dist/ai/agents/agent.d.ts +11 -0
  4. package/dist/ai/agents/agent.d.ts.map +1 -0
  5. package/dist/ai/agents/agent.js +65 -0
  6. package/dist/ai/agents/index.d.ts +3 -0
  7. package/dist/ai/agents/index.d.ts.map +1 -0
  8. package/dist/ai/agents/index.js +4 -0
  9. package/dist/ai/agents/types.d.ts +43 -0
  10. package/dist/ai/agents/types.d.ts.map +1 -0
  11. package/dist/ai/agents/types.js +3 -0
  12. package/dist/ai/index.d.ts +2 -0
  13. package/dist/ai/index.d.ts.map +1 -0
  14. package/dist/ai/index.js +3 -0
  15. package/dist/ai/providers/rtzr/api.d.ts +22 -0
  16. package/dist/ai/providers/rtzr/api.d.ts.map +1 -0
  17. package/dist/ai/providers/rtzr/api.js +28 -0
  18. package/dist/ai/providers/rtzr/error.d.ts +18 -0
  19. package/dist/ai/providers/rtzr/error.d.ts.map +1 -0
  20. package/dist/ai/providers/rtzr/error.js +29 -0
  21. package/dist/ai/providers/rtzr/index.d.ts +5 -0
  22. package/dist/ai/providers/rtzr/index.d.ts.map +1 -0
  23. package/dist/ai/providers/rtzr/index.js +6 -0
  24. package/dist/ai/providers/rtzr/model.d.ts +52 -0
  25. package/dist/ai/providers/rtzr/model.d.ts.map +1 -0
  26. package/dist/ai/providers/rtzr/model.js +137 -0
  27. package/dist/ai/providers/rtzr/options.d.ts +7 -0
  28. package/dist/ai/providers/rtzr/options.d.ts.map +1 -0
  29. package/dist/ai/providers/rtzr/options.js +47 -0
  30. package/dist/ai/providers/rtzr/provider.d.ts +18 -0
  31. package/dist/ai/providers/rtzr/provider.d.ts.map +1 -0
  32. package/dist/ai/providers/rtzr/provider.js +54 -0
  33. package/dist/ai/providers/rtzr/utils.d.ts +19 -0
  34. package/dist/ai/providers/rtzr/utils.d.ts.map +1 -0
  35. package/dist/ai/providers/rtzr/utils.js +88 -0
  36. package/dist/api/base-frame.d.ts +2 -2
  37. package/dist/api/base-frame.d.ts.map +1 -1
  38. package/dist/api/base-frame.js +2 -1
  39. package/dist/api/caster.d.ts.map +1 -1
  40. package/dist/api/caster.js +6 -1
  41. package/dist/api/code-converters.d.ts +58 -14
  42. package/dist/api/code-converters.d.ts.map +1 -1
  43. package/dist/api/code-converters.js +178 -409
  44. package/dist/api/config.d.ts +27 -13
  45. package/dist/api/config.d.ts.map +1 -1
  46. package/dist/api/config.js +19 -26
  47. package/dist/api/context.d.ts +4 -3
  48. package/dist/api/context.d.ts.map +1 -1
  49. package/dist/api/context.js +1 -1
  50. package/dist/api/decorators.d.ts +20 -6
  51. package/dist/api/decorators.d.ts.map +1 -1
  52. package/dist/api/decorators.js +111 -18
  53. package/dist/api/index.d.ts +2 -2
  54. package/dist/api/index.d.ts.map +1 -1
  55. package/dist/api/index.js +3 -3
  56. package/dist/api/sonamu.d.ts +7 -7
  57. package/dist/api/sonamu.d.ts.map +1 -1
  58. package/dist/api/sonamu.js +83 -51
  59. package/dist/api/validator.d.ts +6 -0
  60. package/dist/api/validator.d.ts.map +1 -0
  61. package/dist/api/validator.js +81 -0
  62. package/dist/bin/build-config.d.ts +5 -1
  63. package/dist/bin/build-config.d.ts.map +1 -1
  64. package/dist/bin/build-config.js +5 -2
  65. package/dist/bin/cli.js +165 -64
  66. package/dist/bin/loader-register.d.ts +2 -0
  67. package/dist/bin/loader-register.d.ts.map +1 -0
  68. package/dist/bin/loader-register.js +34 -0
  69. package/dist/database/_batch_update.d.ts +5 -3
  70. package/dist/database/_batch_update.d.ts.map +1 -1
  71. package/dist/database/_batch_update.js +30 -13
  72. package/dist/database/base-model.d.ts +96 -10
  73. package/dist/database/base-model.d.ts.map +1 -1
  74. package/dist/database/base-model.js +232 -89
  75. package/dist/database/base-model.types.d.ts +93 -0
  76. package/dist/database/base-model.types.d.ts.map +1 -0
  77. package/dist/database/base-model.types.js +10 -0
  78. package/dist/database/code-generator.d.ts +1 -1
  79. package/dist/database/code-generator.d.ts.map +1 -1
  80. package/dist/database/code-generator.js +11 -10
  81. package/dist/database/db.d.ts +5 -6
  82. package/dist/database/db.d.ts.map +1 -1
  83. package/dist/database/db.js +22 -25
  84. package/dist/database/puri-subset.test-d.js +81 -0
  85. package/dist/database/puri-subset.types.d.ts +123 -0
  86. package/dist/database/puri-subset.types.d.ts.map +1 -0
  87. package/dist/database/puri-subset.types.js +16 -0
  88. package/dist/database/puri-wrapper.d.ts +13 -11
  89. package/dist/database/puri-wrapper.d.ts.map +1 -1
  90. package/dist/database/puri-wrapper.js +2 -2
  91. package/dist/database/puri.d.ts +25 -14
  92. package/dist/database/puri.d.ts.map +1 -1
  93. package/dist/database/puri.js +83 -21
  94. package/dist/database/puri.types.d.ts +21 -7
  95. package/dist/database/puri.types.d.ts.map +1 -1
  96. package/dist/database/puri.types.js +4 -1
  97. package/dist/database/transaction-context.d.ts +1 -1
  98. package/dist/database/transaction-context.d.ts.map +1 -1
  99. package/dist/database/transaction-context.js +1 -1
  100. package/dist/database/upsert-builder.d.ts +9 -3
  101. package/dist/database/upsert-builder.d.ts.map +1 -1
  102. package/dist/database/upsert-builder.js +228 -78
  103. package/dist/entity/entity-manager.d.ts +165 -2
  104. package/dist/entity/entity-manager.d.ts.map +1 -1
  105. package/dist/entity/entity-manager.js +26 -10
  106. package/dist/entity/entity.d.ts +5 -3
  107. package/dist/entity/entity.d.ts.map +1 -1
  108. package/dist/entity/entity.js +153 -54
  109. package/dist/exceptions/error-handler.d.ts +1 -1
  110. package/dist/exceptions/error-handler.d.ts.map +1 -1
  111. package/dist/exceptions/error-handler.js +1 -1
  112. package/dist/exceptions/so-exceptions.d.ts +1 -1
  113. package/dist/exceptions/so-exceptions.d.ts.map +1 -1
  114. package/dist/exceptions/so-exceptions.js +1 -1
  115. package/dist/file-storage/driver.d.ts +1 -1
  116. package/dist/file-storage/driver.d.ts.map +1 -1
  117. package/dist/file-storage/driver.js +1 -1
  118. package/dist/file-storage/file-storage.js +2 -2
  119. package/dist/index.d.ts +18 -11
  120. package/dist/index.d.ts.map +1 -1
  121. package/dist/index.js +19 -13
  122. package/dist/migration/code-generation.d.ts +1 -1
  123. package/dist/migration/code-generation.d.ts.map +1 -1
  124. package/dist/migration/code-generation.js +123 -67
  125. package/dist/migration/migration-set.d.ts +2 -10
  126. package/dist/migration/migration-set.d.ts.map +1 -1
  127. package/dist/migration/migration-set.js +67 -218
  128. package/dist/migration/migrator.d.ts +24 -73
  129. package/dist/migration/migrator.d.ts.map +1 -1
  130. package/dist/migration/migrator.js +121 -301
  131. package/dist/migration/postgresql-schema-reader.d.ts +51 -0
  132. package/dist/migration/postgresql-schema-reader.d.ts.map +1 -0
  133. package/dist/migration/postgresql-schema-reader.js +245 -0
  134. package/dist/migration/types.d.ts +6 -38
  135. package/dist/migration/types.d.ts.map +1 -1
  136. package/dist/migration/types.js +1 -1
  137. package/dist/naite/messaging-types.d.ts +43 -0
  138. package/dist/naite/messaging-types.d.ts.map +1 -0
  139. package/dist/naite/messaging-types.js +7 -0
  140. package/dist/naite/naite-reporter.d.ts +41 -0
  141. package/dist/naite/naite-reporter.d.ts.map +1 -0
  142. package/dist/naite/naite-reporter.js +102 -0
  143. package/dist/naite/naite.d.ts +91 -8
  144. package/dist/naite/naite.d.ts.map +1 -1
  145. package/dist/naite/naite.js +285 -41
  146. package/dist/stream/sse.d.ts +2 -2
  147. package/dist/stream/sse.d.ts.map +1 -1
  148. package/dist/stream/sse.js +1 -1
  149. package/dist/syncer/api-parser.d.ts +3 -13
  150. package/dist/syncer/api-parser.d.ts.map +1 -1
  151. package/dist/syncer/api-parser.js +67 -56
  152. package/dist/syncer/checksum.d.ts +2 -2
  153. package/dist/syncer/checksum.d.ts.map +1 -1
  154. package/dist/syncer/checksum.js +11 -11
  155. package/dist/syncer/code-generator.d.ts +3 -3
  156. package/dist/syncer/code-generator.d.ts.map +1 -1
  157. package/dist/syncer/code-generator.js +37 -17
  158. package/dist/syncer/entity-operations.d.ts +2 -2
  159. package/dist/syncer/entity-operations.d.ts.map +1 -1
  160. package/dist/syncer/entity-operations.js +9 -8
  161. package/dist/syncer/file-patterns.d.ts +1 -1
  162. package/dist/syncer/file-patterns.d.ts.map +1 -1
  163. package/dist/syncer/file-patterns.js +1 -1
  164. package/dist/syncer/index.d.ts +4 -4
  165. package/dist/syncer/index.d.ts.map +1 -1
  166. package/dist/syncer/index.js +5 -5
  167. package/dist/syncer/module-loader.d.ts +4 -4
  168. package/dist/syncer/module-loader.d.ts.map +1 -1
  169. package/dist/syncer/module-loader.js +17 -12
  170. package/dist/syncer/syncer.d.ts +31 -24
  171. package/dist/syncer/syncer.d.ts.map +1 -1
  172. package/dist/syncer/syncer.js +92 -45
  173. package/dist/template/entity-converter.d.ts +1 -1
  174. package/dist/template/entity-converter.d.ts.map +1 -1
  175. package/dist/template/entity-converter.js +15 -8
  176. package/dist/template/helpers.d.ts +2 -2
  177. package/dist/template/helpers.d.ts.map +1 -1
  178. package/dist/template/helpers.js +3 -3
  179. package/dist/template/implementations/entity.template.d.ts +2 -2
  180. package/dist/template/implementations/entity.template.d.ts.map +1 -1
  181. package/dist/template/implementations/entity.template.js +4 -5
  182. package/dist/template/implementations/generated.template.d.ts +2 -3
  183. package/dist/template/implementations/generated.template.d.ts.map +1 -1
  184. package/dist/template/implementations/generated.template.js +46 -29
  185. package/dist/template/implementations/generated_http.template.d.ts +2 -3
  186. package/dist/template/implementations/generated_http.template.d.ts.map +1 -1
  187. package/dist/template/implementations/generated_http.template.js +9 -9
  188. package/dist/template/implementations/generated_sso.template.d.ts +3 -4
  189. package/dist/template/implementations/generated_sso.template.d.ts.map +1 -1
  190. package/dist/template/implementations/generated_sso.template.js +54 -25
  191. package/dist/template/implementations/init_types.template.d.ts +2 -2
  192. package/dist/template/implementations/init_types.template.d.ts.map +1 -1
  193. package/dist/template/implementations/init_types.template.js +2 -2
  194. package/dist/template/implementations/model.template.d.ts +2 -2
  195. package/dist/template/implementations/model.template.d.ts.map +1 -1
  196. package/dist/template/implementations/model.template.js +47 -37
  197. package/dist/template/implementations/model_test.template.d.ts +2 -2
  198. package/dist/template/implementations/model_test.template.d.ts.map +1 -1
  199. package/dist/template/implementations/model_test.template.js +2 -2
  200. package/dist/template/implementations/service.template.d.ts +4 -4
  201. package/dist/template/implementations/service.template.d.ts.map +1 -1
  202. package/dist/template/implementations/service.template.js +24 -16
  203. package/dist/template/implementations/view_enums_buttonset.template.d.ts +2 -2
  204. package/dist/template/implementations/view_enums_buttonset.template.d.ts.map +1 -1
  205. package/dist/template/implementations/view_enums_buttonset.template.js +1 -1
  206. package/dist/template/implementations/view_enums_dropdown.template.d.ts +2 -2
  207. package/dist/template/implementations/view_enums_dropdown.template.d.ts.map +1 -1
  208. package/dist/template/implementations/view_enums_dropdown.template.js +2 -2
  209. package/dist/template/implementations/view_enums_select.template.d.ts +2 -2
  210. package/dist/template/implementations/view_enums_select.template.d.ts.map +1 -1
  211. package/dist/template/implementations/view_enums_select.template.js +2 -2
  212. package/dist/template/implementations/view_form.template.d.ts +2 -2
  213. package/dist/template/implementations/view_form.template.d.ts.map +1 -1
  214. package/dist/template/implementations/view_form.template.js +4 -4
  215. package/dist/template/implementations/view_id_all_select.template.d.ts +2 -2
  216. package/dist/template/implementations/view_id_all_select.template.d.ts.map +1 -1
  217. package/dist/template/implementations/view_id_all_select.template.js +1 -1
  218. package/dist/template/implementations/view_id_async_select.template.d.ts +2 -2
  219. package/dist/template/implementations/view_id_async_select.template.d.ts.map +1 -1
  220. package/dist/template/implementations/view_id_async_select.template.js +1 -1
  221. package/dist/template/implementations/view_list.template.d.ts +2 -2
  222. package/dist/template/implementations/view_list.template.d.ts.map +1 -1
  223. package/dist/template/implementations/view_list.template.js +29 -19
  224. package/dist/template/implementations/view_list_columns.template.d.ts +3 -3
  225. package/dist/template/implementations/view_list_columns.template.d.ts.map +1 -1
  226. package/dist/template/implementations/view_list_columns.template.js +1 -1
  227. package/dist/template/implementations/view_search_input.template.d.ts +2 -2
  228. package/dist/template/implementations/view_search_input.template.d.ts.map +1 -1
  229. package/dist/template/implementations/view_search_input.template.js +1 -1
  230. package/dist/template/index.d.ts +4 -2
  231. package/dist/template/index.d.ts.map +1 -1
  232. package/dist/template/index.js +5 -3
  233. package/dist/template/template-manager.d.ts +56 -0
  234. package/dist/template/template-manager.d.ts.map +1 -0
  235. package/dist/template/template-manager.js +125 -0
  236. package/dist/template/template-types.d.ts +16 -0
  237. package/dist/template/template-types.d.ts.map +1 -0
  238. package/dist/template/template-types.js +7 -0
  239. package/dist/template/template.d.ts +12 -2
  240. package/dist/template/template.d.ts.map +1 -1
  241. package/dist/template/template.js +19 -6
  242. package/dist/template/zod-converter.d.ts +40 -7
  243. package/dist/template/zod-converter.d.ts.map +1 -1
  244. package/dist/template/zod-converter.js +341 -58
  245. package/dist/testing/_relation-graph.d.ts +1 -1
  246. package/dist/testing/_relation-graph.d.ts.map +1 -1
  247. package/dist/testing/_relation-graph.js +12 -3
  248. package/dist/testing/fixture-manager.d.ts +42 -11
  249. package/dist/testing/fixture-manager.d.ts.map +1 -1
  250. package/dist/testing/fixture-manager.js +338 -236
  251. package/dist/types/types.d.ts +709 -104
  252. package/dist/types/types.d.ts.map +1 -1
  253. package/dist/types/types.js +309 -52
  254. package/dist/typings/knex.d.js +2 -2
  255. package/dist/utils/async-utils.d.ts.map +1 -1
  256. package/dist/utils/async-utils.js +3 -3
  257. package/dist/utils/console-util.js +1 -1
  258. package/dist/utils/controller.d.ts +1 -0
  259. package/dist/utils/controller.d.ts.map +1 -1
  260. package/dist/utils/controller.js +4 -1
  261. package/dist/utils/esm-utils.d.ts +0 -6
  262. package/dist/utils/esm-utils.d.ts.map +1 -1
  263. package/dist/utils/esm-utils.js +2 -9
  264. package/dist/utils/formatter.d.ts +3 -0
  265. package/dist/utils/formatter.d.ts.map +1 -0
  266. package/dist/utils/formatter.js +110 -0
  267. package/dist/utils/fs-utils.d.ts +1 -1
  268. package/dist/utils/fs-utils.d.ts.map +1 -1
  269. package/dist/utils/fs-utils.js +1 -1
  270. package/dist/utils/lodash-able.d.ts.map +1 -1
  271. package/dist/utils/lodash-able.js +1 -1
  272. package/dist/utils/object-utils.d.ts +44 -0
  273. package/dist/utils/object-utils.d.ts.map +1 -0
  274. package/dist/utils/object-utils.js +191 -0
  275. package/dist/utils/path-utils.d.ts +1 -1
  276. package/dist/utils/path-utils.d.ts.map +1 -1
  277. package/dist/utils/path-utils.js +3 -3
  278. package/dist/utils/process-utils.js +1 -1
  279. package/dist/utils/sql-parser.d.ts +5 -1
  280. package/dist/utils/sql-parser.d.ts.map +1 -1
  281. package/dist/utils/sql-parser.js +14 -3
  282. package/dist/utils/type-utils.d.ts +23 -0
  283. package/dist/utils/type-utils.d.ts.map +1 -0
  284. package/dist/utils/type-utils.js +45 -0
  285. package/dist/utils/utils.d.ts +7 -1
  286. package/dist/utils/utils.d.ts.map +1 -1
  287. package/dist/utils/utils.js +44 -5
  288. package/dist/utils/zod-error.d.ts +1 -1
  289. package/dist/utils/zod-error.d.ts.map +1 -1
  290. package/dist/utils/zod-error.js +1 -1
  291. package/package.json +54 -29
  292. package/src/ai/agents/agent.ts +87 -0
  293. package/src/ai/agents/index.ts +2 -0
  294. package/src/ai/agents/types.ts +47 -0
  295. package/src/ai/index.ts +1 -0
  296. package/src/ai/providers/rtzr/api.ts +37 -0
  297. package/src/ai/providers/rtzr/error.ts +34 -0
  298. package/src/ai/providers/rtzr/index.ts +4 -0
  299. package/src/ai/providers/rtzr/model.ts +201 -0
  300. package/src/ai/providers/rtzr/options.ts +49 -0
  301. package/src/ai/providers/rtzr/provider.ts +91 -0
  302. package/src/ai/providers/rtzr/utils.ts +127 -0
  303. package/src/api/base-frame.ts +4 -2
  304. package/src/api/caster.ts +17 -23
  305. package/src/api/code-converters.ts +176 -533
  306. package/src/api/config.ts +39 -56
  307. package/src/api/context.ts +7 -18
  308. package/src/api/decorators.ts +175 -46
  309. package/src/api/index.ts +2 -2
  310. package/src/api/sonamu.ts +133 -124
  311. package/src/api/validator.ts +83 -0
  312. package/src/bin/build-config.ts +7 -1
  313. package/src/bin/cli.ts +192 -110
  314. package/src/bin/loader-register.ts +38 -0
  315. package/src/database/_batch_update.ts +46 -31
  316. package/src/database/base-model.ts +390 -182
  317. package/src/database/base-model.types.ts +155 -0
  318. package/src/database/code-generator.ts +13 -32
  319. package/src/database/db.ts +36 -50
  320. package/src/database/puri-subset.test-d.ts +471 -0
  321. package/src/database/puri-subset.types.ts +195 -0
  322. package/src/database/puri-wrapper.ts +58 -67
  323. package/src/database/puri.ts +182 -126
  324. package/src/database/puri.types.ts +64 -31
  325. package/src/database/transaction-context.ts +1 -1
  326. package/src/database/upsert-builder.ts +262 -132
  327. package/src/entity/entity-manager.ts +36 -28
  328. package/src/entity/entity.ts +330 -249
  329. package/src/exceptions/error-handler.ts +3 -3
  330. package/src/exceptions/so-exceptions.ts +11 -11
  331. package/src/file-storage/driver.ts +5 -5
  332. package/src/file-storage/file-storage.ts +2 -2
  333. package/src/index.ts +18 -12
  334. package/src/migration/code-generation.ts +185 -172
  335. package/src/migration/migration-set.ts +80 -293
  336. package/src/migration/migrator.ts +182 -425
  337. package/src/migration/mysql-schema-reader.ts.txt +272 -0
  338. package/src/migration/postgresql-schema-reader.ts +310 -0
  339. package/src/migration/types.ts +6 -39
  340. package/src/naite/messaging-types.ts +51 -0
  341. package/src/naite/naite-reporter.ts +128 -0
  342. package/src/naite/naite.ts +378 -33
  343. package/src/shared/web.shared.ts.txt +20 -24
  344. package/src/stream/sse.ts +5 -5
  345. package/src/syncer/api-parser.ts +52 -69
  346. package/src/syncer/checksum.ts +25 -37
  347. package/src/syncer/code-generator.ts +58 -62
  348. package/src/syncer/entity-operations.ts +12 -15
  349. package/src/syncer/file-patterns.ts +2 -2
  350. package/src/syncer/index.ts +4 -4
  351. package/src/syncer/module-loader.ts +28 -25
  352. package/src/syncer/syncer.ts +155 -162
  353. package/src/template/entity-converter.ts +18 -27
  354. package/src/template/helpers.ts +8 -11
  355. package/src/template/implementations/entity.template.ts +6 -6
  356. package/src/template/implementations/generated.template.ts +99 -99
  357. package/src/template/implementations/generated_http.template.ts +21 -54
  358. package/src/template/implementations/generated_sso.template.ts +78 -65
  359. package/src/template/implementations/init_types.template.ts +4 -6
  360. package/src/template/implementations/model.template.ts +47 -38
  361. package/src/template/implementations/model_test.template.ts +3 -3
  362. package/src/template/implementations/service.template.ts +56 -80
  363. package/src/template/implementations/view_enums_buttonset.template.ts +2 -2
  364. package/src/template/implementations/view_enums_dropdown.template.ts +4 -4
  365. package/src/template/implementations/view_enums_select.template.ts +3 -3
  366. package/src/template/implementations/view_form.template.ts +34 -75
  367. package/src/template/implementations/view_id_all_select.template.ts +2 -2
  368. package/src/template/implementations/view_id_async_select.template.ts +9 -23
  369. package/src/template/implementations/view_list.template.ts +54 -95
  370. package/src/template/implementations/view_list_columns.template.ts +4 -10
  371. package/src/template/implementations/view_search_input.template.ts +2 -2
  372. package/src/template/index.ts +4 -2
  373. package/src/template/template-manager.ts +166 -0
  374. package/src/template/template-types.ts +16 -0
  375. package/src/template/template.ts +29 -10
  376. package/src/template/zod-converter.ts +407 -101
  377. package/src/testing/_relation-graph.ts +18 -11
  378. package/src/testing/fixture-manager.ts +468 -362
  379. package/src/types/types.ts +516 -248
  380. package/src/typings/knex.d.ts +7 -9
  381. package/src/utils/async-utils.ts +8 -12
  382. package/src/utils/console-util.ts +1 -1
  383. package/src/utils/controller.ts +3 -0
  384. package/src/utils/esm-utils.ts +8 -18
  385. package/src/utils/formatter.ts +109 -0
  386. package/src/utils/fs-utils.ts +1 -1
  387. package/src/utils/lodash-able.ts +1 -4
  388. package/src/utils/object-utils.ts +217 -0
  389. package/src/utils/path-utils.ts +3 -6
  390. package/src/utils/process-utils.ts +1 -1
  391. package/src/utils/sql-parser.ts +23 -5
  392. package/src/utils/type-utils.ts +83 -0
  393. package/src/utils/utils.ts +58 -9
  394. package/src/utils/zod-error.ts +3 -3
  395. package/dist/bin/cli-wrapper.d.ts +0 -3
  396. package/dist/bin/cli-wrapper.d.ts.map +0 -1
  397. package/dist/bin/cli-wrapper.js +0 -72
  398. package/dist/database/knex-plugins/knex-on-duplicate-update.d.ts +0 -2
  399. package/dist/database/knex-plugins/knex-on-duplicate-update.d.ts.map +0 -1
  400. package/dist/database/knex-plugins/knex-on-duplicate-update.js +0 -39
  401. package/dist/entity/entity-utils.d.ts +0 -61
  402. package/dist/entity/entity-utils.d.ts.map +0 -1
  403. package/dist/entity/entity-utils.js +0 -210
  404. package/src/bin/cli-wrapper.ts +0 -82
  405. package/src/database/knex-plugins/knex-on-duplicate-update.ts +0 -45
  406. package/src/entity/entity-utils.ts +0 -291
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Puri Subset 타입 시스템
3
+ *
4
+ * SubsetQuery와 LoaderQuery를 기반으로 최종 결과 타입을 추론하는 타입 유틸리티들.
5
+ * 핵심 개념:
6
+ * - SubsetQuery: 기본 쿼리 (join, select)
7
+ * - LoaderQuery: 1:N, N:M 관계 데이터 로딩
8
+ * - Hydrate: flat한 결과를 중첩 객체로 변환 (예: user__name → { user: { name } })
9
+ */
10
+ import type { DatabaseSchemaExtend } from "../types/types";
11
+ import type { Puri } from "./puri";
12
+ import type { Expand } from "./puri.types";
13
+ import type { PuriWrapper } from "./puri-wrapper";
14
+ /**
15
+ * SubsetQuery 함수 시그니처
16
+ * PuriWrapper를 받아 Puri 쿼리 빌더를 반환
17
+ */
18
+ export type PuriSubsetFn = (qbWrapper: PuriWrapper<DatabaseSchemaExtend>) => Puri<any, any, any>;
19
+ /**
20
+ * Puri 인스턴스에서 TResult 타입 추출
21
+ */
22
+ export type ExtractPuriResult<T> = T extends Puri<any, any, infer R> ? R : never;
23
+ /**
24
+ * Loader 쿼리 빌더 함수 시그니처
25
+ * @param qbWrapper - Puri 래퍼
26
+ * @param fromIds - 부모 레코드 ID 배열
27
+ */
28
+ export type PuriLoaderQbFn = (qbWrapper: PuriWrapper<DatabaseSchemaExtend>, fromIds: number[]) => Puri<any, any, any>;
29
+ /**
30
+ * 단일 Loader 정의
31
+ * 1:N 또는 N:M 관계 데이터를 로드하는 설정
32
+ */
33
+ export type GenericPuriLoader = {
34
+ /** 결과 객체에서 사용할 필드명 */
35
+ as: string;
36
+ /** 부모 레코드와 연결할 참조 필드명 */
37
+ refId: string;
38
+ /** 데이터 로딩 쿼리 빌더 */
39
+ qb: PuriLoaderQbFn;
40
+ /** 중첩 로더 (재귀적 로딩 지원) */
41
+ loaders?: GenericPuriLoader[];
42
+ };
43
+ /**
44
+ * 모델별 Loader 쿼리 컬렉션
45
+ * 각 SubsetKey에 대해 Loader 배열을 정의
46
+ */
47
+ export type PuriLoaderQueries<TSubsetKey extends string> = Record<TSubsetKey, GenericPuriLoader[]>;
48
+ /**
49
+ * 구분자(__) 앞부분 추출
50
+ * @example ExtractHead<"user__name"> = "user"
51
+ */
52
+ type ExtractHead<K extends string> = K extends `${infer Head}__${string}` ? Head : never;
53
+ /**
54
+ * 구분자(__) 뒷부분 추출
55
+ * @example ExtractTail<"user__profile__name", "user"> = "profile__name"
56
+ */
57
+ type ExtractTail<K extends string, Head extends string> = K extends `${Head}__${infer Tail}` ? Tail : never;
58
+ /**
59
+ * Flat 객체를 중첩 객체로 변환
60
+ *
61
+ * 런타임 hydrate 함수와 동일한 동작을 타입 레벨에서 구현.
62
+ * `__`로 구분된 키를 중첩 객체 구조로 변환.
63
+ *
64
+ * @example
65
+ * type Input = { id: number; user__name: string; user__profile__bio: string }
66
+ * type Output = Hydrate<Input>
67
+ * // { id: number; user: { name: string; profile: { bio: string } } }
68
+ */
69
+ export type Hydrate<T> = Expand<HydrateInner<T>>;
70
+ type HydrateInner<T> = {
71
+ [K in keyof T as K extends `${string}__${string}` ? never : K]: T[K];
72
+ } & {
73
+ [K in ExtractHead<keyof T & string>]: Expand<HydrateInner<{
74
+ [P in keyof T as P extends `${K}__${string}` ? ExtractTail<P & string, K> : never]: T[P];
75
+ }>>;
76
+ };
77
+ /**
78
+ * Loader 쿼리 함수에서 결과 타입 추출 (refId 제외, Hydrate 적용)
79
+ */
80
+ type ExtractLoaderResult<TLoaderQb> = TLoaderQb extends PuriLoaderQbFn ? Expand<Hydrate<Omit<ExtractPuriResult<ReturnType<TLoaderQb>>, "refId">>> : never;
81
+ /**
82
+ * Loader 배열에서 결과 객체 타입 빌드 (재귀적으로 중첩 loader 처리)
83
+ *
84
+ * @example
85
+ * type Loaders = [
86
+ * { as: "employees"; refId: "id"; qb: ...; loaders: [{ as: "projects"; ... }] }
87
+ * ]
88
+ * type Result = LoadersResult<Loaders>
89
+ * // { employees: Array<{ ...employee fields; projects: Array<...> }> }
90
+ */
91
+ export type LoadersResult<TLoaders extends GenericPuriLoader[]> = Expand<{
92
+ [L in TLoaders[number] as L["as"]]: WithLoaders<ExtractLoaderResult<L["qb"]>, L["loaders"]>[];
93
+ }>;
94
+ /**
95
+ * 기본 결과와 Loader 결과 병합
96
+ */
97
+ type WithLoaders<TBase, TLoaders> = TLoaders extends GenericPuriLoader[] ? Expand<TBase & LoadersResult<TLoaders>> : TBase;
98
+ /**
99
+ * 단일 Subset 함수 + Loader에서 최종 결과 타입 추론
100
+ */
101
+ type InferSubsetWithLoaders<TSubsetFn extends (...args: any) => Puri<any, any, any>, TLoaders extends GenericPuriLoader[] | undefined = undefined> = Expand<Hydrate<WithLoaders<ExtractPuriResult<ReturnType<TSubsetFn>>, TLoaders>>>;
102
+ /**
103
+ * 전체 SubsetQueries + LoaderQueries 객체에서 전체 결과 맵 생성
104
+ *
105
+ * @template TSubsetMap - Subset 함수들의 모음 객체
106
+ * @template TLoaderMap - Loader 배열들의 모음 객체
107
+ *
108
+ * @example
109
+ * type Result = InferAllSubsets<
110
+ * { A: () => Puri<...>, P: () => Puri<...> },
111
+ * { A: [...loaders], P: [] }
112
+ * >
113
+ * // { A: InferredTypeA; P: InferredTypeP }
114
+ */
115
+ export type InferAllSubsets<TSubsetMap extends Record<string, (...args: any) => any>, TLoaderMap extends Partial<Record<string, GenericPuriLoader[]>>> = {
116
+ [K in keyof TSubsetMap]: InferSubsetWithLoaders<TSubsetMap[K], K extends keyof TLoaderMap ? TLoaderMap[K] : undefined>;
117
+ };
118
+ /**
119
+ * Knex QueryBuilder에서 clear 가능한 statement 목록
120
+ */
121
+ export type ClearStatements = "with" | "select" | "columns" | "hintComments" | "where" | "union" | "using" | "join" | "group" | "order" | "having" | "limit" | "offset" | "counter" | "counters";
122
+ export {};
123
+ //# sourceMappingURL=puri-subset.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"puri-subset.types.d.ts","sourceRoot":"","sources":["../../src/database/puri-subset.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Puri Subset 타입 시스템
3
+ *
4
+ * SubsetQuery와 LoaderQuery를 기반으로 최종 결과 타입을 추론하는 타입 유틸리티들.
5
+ * 핵심 개념:
6
+ * - SubsetQuery: 기본 쿼리 (join, select)
7
+ * - LoaderQuery: 1:N, N:M 관계 데이터 로딩
8
+ * - Hydrate: flat한 결과를 중첩 객체로 변환 (예: user__name → { user: { name } })
9
+ */ // ============================================================================
10
+ // Clear 문
11
+ // ============================================================================
12
+ /**
13
+ * Knex QueryBuilder에서 clear 가능한 statement 목록
14
+ */ export { };
15
+
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhYmFzZS9wdXJpLXN1YnNldC50eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFB1cmkgU3Vic2V0IO2DgOyehSDsi5zsiqTthZxcbiAqXG4gKiBTdWJzZXRRdWVyeeyZgCBMb2FkZXJRdWVyeeulvCDquLDrsJjsnLzroZwg7LWc7KKFIOqysOqzvCDtg4DsnoXsnYQg7LaU66Gg7ZWY64qUIO2DgOyehSDsnKDti7jrpqzti7Drk6QuXG4gKiDtlbXsi6wg6rCc64WQOlxuICogLSBTdWJzZXRRdWVyeTog6riw67O4IOy/vOumrCAoam9pbiwgc2VsZWN0KVxuICogLSBMb2FkZXJRdWVyeTogMTpOLCBOOk0g6rSA6rOEIOuNsOydtO2EsCDroZzrlKlcbiAqIC0gSHlkcmF0ZTogZmxhdO2VnCDqsrDqs7zrpbwg7KSR7LKpIOqwneyytOuhnCDrs4DtmZggKOyYiDogdXNlcl9fbmFtZSDihpIgeyB1c2VyOiB7IG5hbWUgfSB9KVxuICovXG5cbmltcG9ydCB0eXBlIHsgRGF0YWJhc2VTY2hlbWFFeHRlbmQgfSBmcm9tIFwiLi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgUHVyaSB9IGZyb20gXCIuL3B1cmlcIjtcbmltcG9ydCB0eXBlIHsgRXhwYW5kIH0gZnJvbSBcIi4vcHVyaS50eXBlc1wiO1xuaW1wb3J0IHR5cGUgeyBQdXJpV3JhcHBlciB9IGZyb20gXCIuL3B1cmktd3JhcHBlclwiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyDquLDrs7gg7YOA7J6FIOygleydmFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFN1YnNldFF1ZXJ5IO2VqOyImCDsi5zqt7jri4jssphcbiAqIFB1cmlXcmFwcGVy66W8IOuwm+yVhCBQdXJpIOy/vOumrCDruYzrjZTrpbwg67CY7ZmYXG4gKi9cbmV4cG9ydCB0eXBlIFB1cmlTdWJzZXRGbiA9IChxYldyYXBwZXI6IFB1cmlXcmFwcGVyPERhdGFiYXNlU2NoZW1hRXh0ZW5kPikgPT4gUHVyaTxhbnksIGFueSwgYW55PjtcblxuLyoqXG4gKiBQdXJpIOyduOyKpO2EtOyKpOyXkOyEnCBUUmVzdWx0IO2DgOyehSDstpTstpxcbiAqL1xuZXhwb3J0IHR5cGUgRXh0cmFjdFB1cmlSZXN1bHQ8VD4gPSBUIGV4dGVuZHMgUHVyaTxhbnksIGFueSwgaW5mZXIgUj4gPyBSIDogbmV2ZXI7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIExvYWRlciDqtIDroKgg7YOA7J6FXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogTG9hZGVyIOy/vOumrCDruYzrjZQg7ZWo7IiYIOyLnOq3uOuLiOyymFxuICogQHBhcmFtIHFiV3JhcHBlciAtIFB1cmkg656Y7Y28XG4gKiBAcGFyYW0gZnJvbUlkcyAtIOu2gOuqqCDroIjsvZTrk5wgSUQg67Cw7Je0XG4gKi9cbmV4cG9ydCB0eXBlIFB1cmlMb2FkZXJRYkZuID0gKFxuICBxYldyYXBwZXI6IFB1cmlXcmFwcGVyPERhdGFiYXNlU2NoZW1hRXh0ZW5kPixcbiAgZnJvbUlkczogbnVtYmVyW10sXG4pID0+IFB1cmk8YW55LCBhbnksIGFueT47XG5cbi8qKlxuICog64uo7J28IExvYWRlciDsoJXsnZhcbiAqIDE6TiDrmJDripQgTjpNIOq0gOqzhCDrjbDsnbTthLDrpbwg66Gc65Oc7ZWY64qUIOyEpOyglVxuICovXG5leHBvcnQgdHlwZSBHZW5lcmljUHVyaUxvYWRlciA9IHtcbiAgLyoqIOqysOqzvCDqsJ3ssrTsl5DshJwg7IKs7Jqp7ZWgIO2VhOuTnOuqhSAqL1xuICBhczogc3RyaW5nO1xuICAvKiog67aA66qoIOugiOy9lOuTnOyZgCDsl7DqsrDtlaAg7LC47KGwIO2VhOuTnOuqhSAqL1xuICByZWZJZDogc3RyaW5nO1xuICAvKiog642w7J207YSwIOuhnOuUqSDsv7zrpqwg67mM642UICovXG4gIHFiOiBQdXJpTG9hZGVyUWJGbjtcbiAgLyoqIOykkeyyqSDroZzrjZQgKOyerOq3gOyggSDroZzrlKkg7KeA7JuQKSAqL1xuICBsb2FkZXJzPzogR2VuZXJpY1B1cmlMb2FkZXJbXTtcbn07XG5cbi8qKlxuICog66qo642467OEIExvYWRlciDsv7zrpqwg7Lus66CJ7IWYXG4gKiDqsIEgU3Vic2V0S2V57JeQIOuMgO2VtCBMb2FkZXIg67Cw7Je07J2EIOygleydmFxuICovXG5leHBvcnQgdHlwZSBQdXJpTG9hZGVyUXVlcmllczxUU3Vic2V0S2V5IGV4dGVuZHMgc3RyaW5nPiA9IFJlY29yZDxUU3Vic2V0S2V5LCBHZW5lcmljUHVyaUxvYWRlcltdPjtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSHlkcmF0ZSDtg4DsnoUg7Iuc7Iqk7YWcXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICog6rWs67aE7J6QKF9fKSDslZ7rtoDrtoQg7LaU7LacXG4gKiBAZXhhbXBsZSBFeHRyYWN0SGVhZDxcInVzZXJfX25hbWVcIj4gPSBcInVzZXJcIlxuICovXG50eXBlIEV4dHJhY3RIZWFkPEsgZXh0ZW5kcyBzdHJpbmc+ID0gSyBleHRlbmRzIGAke2luZmVyIEhlYWR9X18ke3N0cmluZ31gID8gSGVhZCA6IG5ldmVyO1xuXG4vKipcbiAqIOq1rOu2hOyekChfXykg65K367aA67aEIOy2lOy2nFxuICogQGV4YW1wbGUgRXh0cmFjdFRhaWw8XCJ1c2VyX19wcm9maWxlX19uYW1lXCIsIFwidXNlclwiPiA9IFwicHJvZmlsZV9fbmFtZVwiXG4gKi9cbnR5cGUgRXh0cmFjdFRhaWw8SyBleHRlbmRzIHN0cmluZywgSGVhZCBleHRlbmRzIHN0cmluZz4gPSBLIGV4dGVuZHMgYCR7SGVhZH1fXyR7aW5mZXIgVGFpbH1gXG4gID8gVGFpbFxuICA6IG5ldmVyO1xuXG4vKipcbiAqIEZsYXQg6rCd7LK066W8IOykkeyyqSDqsJ3ssrTroZwg67OA7ZmYXG4gKlxuICog65+w7YOA7J6EIGh5ZHJhdGUg7ZWo7IiY7JmAIOuPmeydvO2VnCDrj5nsnpHsnYQg7YOA7J6FIOugiOuyqOyXkOyEnCDqtaztmIQuXG4gKiBgX19g66GcIOq1rOu2hOuQnCDtgqTrpbwg7KSR7LKpIOqwneyytCDqtazsobDroZwg67OA7ZmYLlxuICpcbiAqIEBleGFtcGxlXG4gKiB0eXBlIElucHV0ID0geyBpZDogbnVtYmVyOyB1c2VyX19uYW1lOiBzdHJpbmc7IHVzZXJfX3Byb2ZpbGVfX2Jpbzogc3RyaW5nIH1cbiAqIHR5cGUgT3V0cHV0ID0gSHlkcmF0ZTxJbnB1dD5cbiAqIC8vIHsgaWQ6IG51bWJlcjsgdXNlcjogeyBuYW1lOiBzdHJpbmc7IHByb2ZpbGU6IHsgYmlvOiBzdHJpbmcgfSB9IH1cbiAqL1xuZXhwb3J0IHR5cGUgSHlkcmF0ZTxUPiA9IEV4cGFuZDxIeWRyYXRlSW5uZXI8VD4+O1xudHlwZSBIeWRyYXRlSW5uZXI8VD4gPSB7XG4gIFtLIGluIGtleW9mIFQgYXMgSyBleHRlbmRzIGAke3N0cmluZ31fXyR7c3RyaW5nfWAgPyBuZXZlciA6IEtdOiBUW0tdO1xufSAmIHtcbiAgW0sgaW4gRXh0cmFjdEhlYWQ8a2V5b2YgVCAmIHN0cmluZz5dOiBFeHBhbmQ8XG4gICAgSHlkcmF0ZUlubmVyPHtcbiAgICAgIFtQIGluIGtleW9mIFQgYXMgUCBleHRlbmRzIGAke0t9X18ke3N0cmluZ31gID8gRXh0cmFjdFRhaWw8UCAmIHN0cmluZywgSz4gOiBuZXZlcl06IFRbUF07XG4gICAgfT5cbiAgPjtcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIExvYWRlciDqsrDqs7wg7YOA7J6FIOy2lOuhoFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIExvYWRlciDsv7zrpqwg7ZWo7IiY7JeQ7IScIOqysOqzvCDtg4DsnoUg7LaU7LacIChyZWZJZCDsoJzsmbgsIEh5ZHJhdGUg7KCB7JqpKVxuICovXG50eXBlIEV4dHJhY3RMb2FkZXJSZXN1bHQ8VExvYWRlclFiPiA9IFRMb2FkZXJRYiBleHRlbmRzIFB1cmlMb2FkZXJRYkZuXG4gID8gRXhwYW5kPEh5ZHJhdGU8T21pdDxFeHRyYWN0UHVyaVJlc3VsdDxSZXR1cm5UeXBlPFRMb2FkZXJRYj4+LCBcInJlZklkXCI+Pj5cbiAgOiBuZXZlcjtcblxuLyoqXG4gKiBMb2FkZXIg67Cw7Je07JeQ7IScIOqysOqzvCDqsJ3ssrQg7YOA7J6FIOu5jOuTnCAo7J6s6reA7KCB7Jy866GcIOykkeyyqSBsb2FkZXIg7LKY66asKVxuICpcbiAqIEBleGFtcGxlXG4gKiB0eXBlIExvYWRlcnMgPSBbXG4gKiAgIHsgYXM6IFwiZW1wbG95ZWVzXCI7IHJlZklkOiBcImlkXCI7IHFiOiAuLi47IGxvYWRlcnM6IFt7IGFzOiBcInByb2plY3RzXCI7IC4uLiB9XSB9XG4gKiBdXG4gKiB0eXBlIFJlc3VsdCA9IExvYWRlcnNSZXN1bHQ8TG9hZGVycz5cbiAqIC8vIHsgZW1wbG95ZWVzOiBBcnJheTx7IC4uLmVtcGxveWVlIGZpZWxkczsgcHJvamVjdHM6IEFycmF5PC4uLj4gfT4gfVxuICovXG5leHBvcnQgdHlwZSBMb2FkZXJzUmVzdWx0PFRMb2FkZXJzIGV4dGVuZHMgR2VuZXJpY1B1cmlMb2FkZXJbXT4gPSBFeHBhbmQ8e1xuICBbTCBpbiBUTG9hZGVyc1tudW1iZXJdIGFzIExbXCJhc1wiXV06IFdpdGhMb2FkZXJzPEV4dHJhY3RMb2FkZXJSZXN1bHQ8TFtcInFiXCJdPiwgTFtcImxvYWRlcnNcIl0+W107XG59PjtcblxuLyoqXG4gKiDquLDrs7gg6rKw6rO87JmAIExvYWRlciDqsrDqs7wg67OR7ZWpXG4gKi9cbnR5cGUgV2l0aExvYWRlcnM8VEJhc2UsIFRMb2FkZXJzPiA9IFRMb2FkZXJzIGV4dGVuZHMgR2VuZXJpY1B1cmlMb2FkZXJbXVxuICA/IEV4cGFuZDxUQmFzZSAmIExvYWRlcnNSZXN1bHQ8VExvYWRlcnM+PlxuICA6IFRCYXNlO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTdWJzZXQg6rKw6rO8IO2DgOyehSDstpTroaBcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiDri6jsnbwgU3Vic2V0IO2VqOyImCArIExvYWRlcuyXkOyEnCDstZzsooUg6rKw6rO8IO2DgOyehSDstpTroaBcbiAqL1xudHlwZSBJbmZlclN1YnNldFdpdGhMb2FkZXJzPFxuICBUU3Vic2V0Rm4gZXh0ZW5kcyAoLi4uYXJnczogYW55KSA9PiBQdXJpPGFueSwgYW55LCBhbnk+LFxuICBUTG9hZGVycyBleHRlbmRzIEdlbmVyaWNQdXJpTG9hZGVyW10gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4+ID0gRXhwYW5kPEh5ZHJhdGU8V2l0aExvYWRlcnM8RXh0cmFjdFB1cmlSZXN1bHQ8UmV0dXJuVHlwZTxUU3Vic2V0Rm4+PiwgVExvYWRlcnM+Pj47XG5cbi8qKlxuICog7KCE7LK0IFN1YnNldFF1ZXJpZXMgKyBMb2FkZXJRdWVyaWVzIOqwneyytOyXkOyEnCDsoITssrQg6rKw6rO8IOuntSDsg53shLFcbiAqXG4gKiBAdGVtcGxhdGUgVFN1YnNldE1hcCAtIFN1YnNldCDtlajsiJjrk6TsnZgg66qo7J2MIOqwneyytFxuICogQHRlbXBsYXRlIFRMb2FkZXJNYXAgLSBMb2FkZXIg67Cw7Je065Ok7J2YIOuqqOydjCDqsJ3ssrRcbiAqXG4gKiBAZXhhbXBsZVxuICogdHlwZSBSZXN1bHQgPSBJbmZlckFsbFN1YnNldHM8XG4gKiAgIHsgQTogKCkgPT4gUHVyaTwuLi4+LCBQOiAoKSA9PiBQdXJpPC4uLj4gfSxcbiAqICAgeyBBOiBbLi4ubG9hZGVyc10sIFA6IFtdIH1cbiAqID5cbiAqIC8vIHsgQTogSW5mZXJyZWRUeXBlQTsgUDogSW5mZXJyZWRUeXBlUCB9XG4gKi9cbmV4cG9ydCB0eXBlIEluZmVyQWxsU3Vic2V0czxcbiAgVFN1YnNldE1hcCBleHRlbmRzIFJlY29yZDxzdHJpbmcsICguLi5hcmdzOiBhbnkpID0+IGFueT4sXG4gIFRMb2FkZXJNYXAgZXh0ZW5kcyBQYXJ0aWFsPFJlY29yZDxzdHJpbmcsIEdlbmVyaWNQdXJpTG9hZGVyW10+Pixcbj4gPSB7XG4gIFtLIGluIGtleW9mIFRTdWJzZXRNYXBdOiBJbmZlclN1YnNldFdpdGhMb2FkZXJzPFxuICAgIFRTdWJzZXRNYXBbS10sXG4gICAgSyBleHRlbmRzIGtleW9mIFRMb2FkZXJNYXAgPyBUTG9hZGVyTWFwW0tdIDogdW5kZWZpbmVkXG4gID47XG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDbGVhciDrrLhcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBLbmV4IFF1ZXJ5QnVpbGRlcuyXkOyEnCBjbGVhciDqsIDriqXtlZwgc3RhdGVtZW50IOuqqeuhnVxuICovXG5leHBvcnQgdHlwZSBDbGVhclN0YXRlbWVudHMgPVxuICB8IFwid2l0aFwiXG4gIHwgXCJzZWxlY3RcIlxuICB8IFwiY29sdW1uc1wiXG4gIHwgXCJoaW50Q29tbWVudHNcIlxuICB8IFwid2hlcmVcIlxuICB8IFwidW5pb25cIlxuICB8IFwidXNpbmdcIlxuICB8IFwiam9pblwiXG4gIHwgXCJncm91cFwiXG4gIHwgXCJvcmRlclwiXG4gIHwgXCJoYXZpbmdcIlxuICB8IFwibGltaXRcIlxuICB8IFwib2Zmc2V0XCJcbiAgfCBcImNvdW50ZXJcIlxuICB8IFwiY291bnRlcnNcIjtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Q0FRQyxHQW9LRCwrRUFBK0U7QUFDL0UsVUFBVTtBQUNWLCtFQUErRTtBQUUvRTs7Q0FFQyxHQUNELFdBZWUifQ==
@@ -1,8 +1,10 @@
1
- import { Knex } from "knex";
1
+ /** biome-ignore-all lint/suspicious/noExplicitAny: PuriWrapper는 다양한 타입을 사용하고 있습니다. */
2
+ import type { Knex } from "knex";
3
+ import type { DatabaseSchemaExtend } from "../types/types";
4
+ import type { DBPreset } from "./db";
2
5
  import { Puri } from "./puri";
3
- import { UBRef, UpsertBuilder } from "./upsert-builder";
4
- import { DatabaseSchemaExtend } from "../types/types";
5
- import { DBPreset } from "./db";
6
+ import type { ColumnKeys, OmitMetadataColumns, PuriTable } from "./puri.types";
7
+ import type { UBRef, UpsertBuilder } from "./upsert-builder";
6
8
  type TableName<TSchema extends DatabaseSchemaExtend> = Extract<keyof TSchema, string>;
7
9
  export type TransactionalOptions = {
8
10
  isolation?: Exclude<Knex.IsolationLevels, "snapshot">;
@@ -14,23 +16,23 @@ export declare class PuriWrapper<TSchema extends DatabaseSchemaExtend = Database
14
16
  upsertBuilder: UpsertBuilder;
15
17
  constructor(knex: Knex, upsertBuilder: UpsertBuilder);
16
18
  raw(sql: string): Knex.Raw;
17
- from<TTable extends keyof TSchema>(tableName: TTable): Puri<TSchema, Record<TTable, TSchema[TTable]>, Omit<TSchema[TTable], "__fulltext__">>;
19
+ from<TTable extends keyof TSchema>(tableName: TTable): Puri<TSchema, Record<TTable, PuriTable<TSchema[TTable]>>, OmitMetadataColumns<PuriTable<TSchema[TTable]>>>;
18
20
  from<TTable extends keyof TSchema, TAlias extends string>(spec: {
19
21
  [K in TAlias]: TTable;
20
- }): Puri<TSchema, Record<TAlias, TSchema[TTable]>, Omit<TSchema[TTable], "__fulltext__">>;
22
+ }): Puri<TSchema, Record<TAlias, PuriTable<TSchema[TTable]>>, OmitMetadataColumns<PuriTable<TSchema[TTable]>>>;
21
23
  from<TAlias extends string, TSubResult>(spec: {
22
24
  [K in TAlias]: Puri<TSchema, any, TSubResult>;
23
- }): Puri<TSchema, Record<TAlias, TSubResult>, Omit<TSubResult, "__fulltext__">>;
24
- table<TTable extends keyof TSchema>(tableName: TTable): Puri<TSchema, Record<TTable, TSchema[TTable]>, Omit<TSchema[TTable], "__fulltext__">>;
25
+ }): Puri<TSchema, Record<TAlias, PuriTable<TSubResult>>, OmitMetadataColumns<PuriTable<TSubResult>>>;
26
+ table<TTable extends keyof TSchema>(tableName: TTable): Puri<TSchema, Record<TTable, PuriTable<TSchema[TTable]>>, OmitMetadataColumns<PuriTable<TSchema[TTable]>>>;
25
27
  table<TTable extends keyof TSchema, TAlias extends string>(spec: {
26
28
  [K in TAlias]: TTable;
27
- }): Puri<TSchema, Record<TAlias, TSchema[TTable]>, Omit<TSchema[TTable], "__fulltext__">>;
29
+ }): Puri<TSchema, Record<TAlias, PuriTable<TSchema[TTable]>>, OmitMetadataColumns<PuriTable<TSchema[TTable]>>>;
28
30
  table<TAlias extends string, TSubResult>(spec: {
29
31
  [K in TAlias]: Puri<TSchema, any, TSubResult>;
30
- }): Puri<TSchema, Record<TAlias, TSubResult>, Omit<TSubResult, "__fulltext__">>;
32
+ }): Puri<TSchema, Record<TAlias, PuriTable<TSubResult>>, OmitMetadataColumns<PuriTable<TSubResult>>>;
31
33
  transaction<T>(callback: (trx: PuriTransactionWrapper) => Promise<T>, options?: TransactionalOptions): Promise<T>;
32
34
  ubRegister<TTable extends TableName<TSchema>>(tableName: TTable, row: Partial<{
33
- [K in keyof TSchema[TTable]]: TSchema[TTable][K] | UBRef;
35
+ [K in ColumnKeys<TSchema[TTable]>]: TSchema[TTable][K] | UBRef;
34
36
  }>): UBRef;
35
37
  ubUpsert(tableName: TableName<TSchema>, chunkSize?: number): Promise<number[]>;
36
38
  ubInsertOnly(tableName: TableName<TSchema>, chunkSize?: number): Promise<number[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"puri-wrapper.d.ts","sourceRoot":"","sources":["../../src/database/puri-wrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"puri-wrapper.d.ts","sourceRoot":"","sources":["../../src/database/puri-wrapper.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
+ /** biome-ignore-all lint/suspicious/noExplicitAny: PuriWrapper는 다양한 타입을 사용하고 있습니다. */ import chalk from "chalk";
1
2
  import { Puri } from "./puri.js";
2
- import chalk from "chalk";
3
3
  export class PuriWrapper {
4
4
  knex;
5
5
  upsertBuilder;
@@ -106,4 +106,4 @@ export class PuriTransactionWrapper extends PuriWrapper {
106
106
  }
107
107
  }
108
108
 
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhYmFzZS9wdXJpLXdyYXBwZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgS25leCB9IGZyb20gXCJrbmV4XCI7XG5pbXBvcnQgeyBQdXJpIH0gZnJvbSBcIi4vcHVyaVwiO1xuaW1wb3J0IHsgVUJSZWYsIFVwc2VydEJ1aWxkZXIgfSBmcm9tIFwiLi91cHNlcnQtYnVpbGRlclwiO1xuaW1wb3J0IHsgRGF0YWJhc2VTY2hlbWFFeHRlbmQgfSBmcm9tIFwiLi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCBjaGFsayBmcm9tIFwiY2hhbGtcIjtcbmltcG9ydCB7IERCUHJlc2V0IH0gZnJvbSBcIi4vZGJcIjtcblxudHlwZSBUYWJsZU5hbWU8VFNjaGVtYSBleHRlbmRzIERhdGFiYXNlU2NoZW1hRXh0ZW5kPiA9IEV4dHJhY3Q8XG4gIGtleW9mIFRTY2hlbWEsXG4gIHN0cmluZ1xuPjtcblxuZXhwb3J0IHR5cGUgVHJhbnNhY3Rpb25hbE9wdGlvbnMgPSB7XG4gIGlzb2xhdGlvbj86IEV4Y2x1ZGU8S25leC5Jc29sYXRpb25MZXZlbHMsIFwic25hcHNob3RcIj47IC8vIHNuYXBzaG90OiBtc3NxbCBvbmx5XG4gIGRiUHJlc2V0PzogREJQcmVzZXQ7XG4gIHJlYWRPbmx5PzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBjbGFzcyBQdXJpV3JhcHBlcjxcbiAgVFNjaGVtYSBleHRlbmRzIERhdGFiYXNlU2NoZW1hRXh0ZW5kID0gRGF0YWJhc2VTY2hlbWFFeHRlbmQsXG4+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGtuZXg6IEtuZXgsXG4gICAgcHVibGljIHVwc2VydEJ1aWxkZXI6IFVwc2VydEJ1aWxkZXJcbiAgKSB7fVxuXG4gIHJhdyhzcWw6IHN0cmluZyk6IEtuZXguUmF3IHtcbiAgICByZXR1cm4gdGhpcy5rbmV4LnJhdyhzcWwpO1xuICB9XG5cbiAgLy8g7YWM7J2067iU66qF7Jy866GcIOyLnOyekVxuICBmcm9tPFRUYWJsZSBleHRlbmRzIGtleW9mIFRTY2hlbWE+KFxuICAgIHRhYmxlTmFtZTogVFRhYmxlXG4gICk6IFB1cmk8XG4gICAgVFNjaGVtYSxcbiAgICBSZWNvcmQ8VFRhYmxlLCBUU2NoZW1hW1RUYWJsZV0+LFxuICAgIE9taXQ8VFNjaGVtYVtUVGFibGVdLCBcIl9fZnVsbHRleHRfX1wiPlxuICA+O1xuICAvLyDthYzsnbTruJTrqoUgKyBBbGlhc+uhnCDsi5zsnpFcbiAgZnJvbTxUVGFibGUgZXh0ZW5kcyBrZXlvZiBUU2NoZW1hLCBUQWxpYXMgZXh0ZW5kcyBzdHJpbmc+KHNwZWM6IHtcbiAgICBbSyBpbiBUQWxpYXNdOiBUVGFibGU7XG4gIH0pOiBQdXJpPFxuICAgIFRTY2hlbWEsXG4gICAgUmVjb3JkPFRBbGlhcywgVFNjaGVtYVtUVGFibGVdPixcbiAgICBPbWl0PFRTY2hlbWFbVFRhYmxlXSwgXCJfX2Z1bGx0ZXh0X19cIj5cbiAgPjtcbiAgLy8g7ISc67iM7L+866as66GcIOyLnOyekVxuICBmcm9tPFRBbGlhcyBleHRlbmRzIHN0cmluZywgVFN1YlJlc3VsdD4oc3BlYzoge1xuICAgIFtLIGluIFRBbGlhc106IFB1cmk8VFNjaGVtYSwgYW55LCBUU3ViUmVzdWx0PjtcbiAgfSk6IFB1cmk8XG4gICAgVFNjaGVtYSxcbiAgICBSZWNvcmQ8VEFsaWFzLCBUU3ViUmVzdWx0PixcbiAgICBPbWl0PFRTdWJSZXN1bHQsIFwiX19mdWxsdGV4dF9fXCI+XG4gID47XG4gIGZyb20oc3BlYzogYW55KTogYW55IHtcbiAgICByZXR1cm4gbmV3IFB1cmkodGhpcy5rbmV4LCBzcGVjKTtcbiAgfVxuXG4gIC8vIO2FjOydtOu4lOuqheycvOuhnCDsi5zsnpFcbiAgdGFibGU8VFRhYmxlIGV4dGVuZHMga2V5b2YgVFNjaGVtYT4oXG4gICAgdGFibGVOYW1lOiBUVGFibGVcbiAgKTogUHVyaTxcbiAgICBUU2NoZW1hLFxuICAgIFJlY29yZDxUVGFibGUsIFRTY2hlbWFbVFRhYmxlXT4sXG4gICAgT21pdDxUU2NoZW1hW1RUYWJsZV0sIFwiX19mdWxsdGV4dF9fXCI+XG4gID47XG4gIC8vIO2FjOydtOu4lOuqhSArIEFsaWFz66GcIOyLnOyekVxuICB0YWJsZTxUVGFibGUgZXh0ZW5kcyBrZXlvZiBUU2NoZW1hLCBUQWxpYXMgZXh0ZW5kcyBzdHJpbmc+KHNwZWM6IHtcbiAgICBbSyBpbiBUQWxpYXNdOiBUVGFibGU7XG4gIH0pOiBQdXJpPFxuICAgIFRTY2hlbWEsXG4gICAgUmVjb3JkPFRBbGlhcywgVFNjaGVtYVtUVGFibGVdPixcbiAgICBPbWl0PFRTY2hlbWFbVFRhYmxlXSwgXCJfX2Z1bGx0ZXh0X19cIj5cbiAgPjtcbiAgLy8g7ISc67iM7L+866as66GcIOyLnOyekVxuICB0YWJsZTxUQWxpYXMgZXh0ZW5kcyBzdHJpbmcsIFRTdWJSZXN1bHQ+KHNwZWM6IHtcbiAgICBbSyBpbiBUQWxpYXNdOiBQdXJpPFRTY2hlbWEsIGFueSwgVFN1YlJlc3VsdD47XG4gIH0pOiBQdXJpPFxuICAgIFRTY2hlbWEsXG4gICAgUmVjb3JkPFRBbGlhcywgVFN1YlJlc3VsdD4sXG4gICAgT21pdDxUU3ViUmVzdWx0LCBcIl9fZnVsbHRleHRfX1wiPlxuICA+O1xuICB0YWJsZShzcGVjOiBhbnkpOiBhbnkge1xuICAgIHJldHVybiBuZXcgUHVyaSh0aGlzLmtuZXgsIHNwZWMpO1xuICB9XG5cbiAgYXN5bmMgdHJhbnNhY3Rpb248VD4oXG4gICAgY2FsbGJhY2s6ICh0cng6IFB1cmlUcmFuc2FjdGlvbldyYXBwZXIpID0+IFByb21pc2U8VD4sXG4gICAgb3B0aW9uczogVHJhbnNhY3Rpb25hbE9wdGlvbnMgPSB7fVxuICApOiBQcm9taXNlPFQ+IHtcbiAgICBjb25zdCB7IGlzb2xhdGlvbiwgcmVhZE9ubHksIGRiUHJlc2V0ID0gXCJ3XCIgfSA9IG9wdGlvbnM7XG5cbiAgICAvLyBAdHJhbnNhY3Rpb25hbCDrjbDsvZTroIjsnbTthLDsmYAg64+Z7J287ZWcIOuhnOyngTog7J2066+4IO2KuOuenOyereyFmCDsu6jthY3siqTtirjqsIAg7J6I64qU7KeAIO2ZleyduFxuICAgIGNvbnN0IHsgREIgfSA9IGF3YWl0IGltcG9ydChcIi4vZGJcIik7XG4gICAgY29uc3QgZXhpc3RpbmdDb250ZXh0ID0gREIudHJhbnNhY3Rpb25TdG9yYWdlLmdldFN0b3JlKCk7XG5cbiAgICAvLyBBc3luY0xvY2FsU3RvcmFnZSDsu6jthY3siqTtirjqsIAg7JeG6rGw64KYIO2VtOuLuSBwcmVzZXTsnZgg7Yq4656c7J6t7IWY7J20IOyXhuycvOuptCDsg4jroZwg7Iuc7J6RXG4gICAgY29uc3Qgc3RhcnRUcmFuc2FjdGlvbiA9IGFzeW5jIChcbiAgICAgIGtuZXg6IEtuZXggfCBLbmV4LlRyYW5zYWN0aW9uLFxuICAgICAgdXBzZXJ0QnVpbGRlcjogVXBzZXJ0QnVpbGRlclxuICAgICkgPT4ge1xuICAgICAgcmV0dXJuIGtuZXgudHJhbnNhY3Rpb24oXG4gICAgICAgIGFzeW5jICh0cngpID0+IHtcbiAgICAgICAgICBjb25zdCB0cnhXcmFwcGVyID0gbmV3IFB1cmlUcmFuc2FjdGlvbldyYXBwZXIodHJ4LCB1cHNlcnRCdWlsZGVyKTtcblxuICAgICAgICAgIC8vIFRyYW5zYWN0aW9uQ29udGV4dOyXkCDtirjrnpzsnq3shZgg7KCA7J6lXG4gICAgICAgICAgREIuZ2V0VHJhbnNhY3Rpb25Db250ZXh0KCkuc2V0VHJhbnNhY3Rpb24oZGJQcmVzZXQsIHRyeFdyYXBwZXIpO1xuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCBjYWxsYmFjayh0cnhXcmFwcGVyKTtcbiAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgLy8g7Yq4656c7J6t7IWYIOygnOqxsFxuICAgICAgICAgICAgREIuZ2V0VHJhbnNhY3Rpb25Db250ZXh0KCkuZGVsZXRlVHJhbnNhY3Rpb24oZGJQcmVzZXQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgeyBpc29sYXRpb25MZXZlbDogaXNvbGF0aW9uLCByZWFkT25seSB9XG4gICAgICApO1xuICAgIH07XG5cbiAgICAvLyBBc3luY0xvY2FsU3RvcmFnZSDsu6jthY3siqTtirjqsIAg7JeG7Jy866m0IOyDiOuhnCDsg53shLFcbiAgICBpZiAoIWV4aXN0aW5nQ29udGV4dCkge1xuICAgICAgcmV0dXJuIERCLnJ1bldpdGhUcmFuc2FjdGlvbigoKSA9PlxuICAgICAgICBzdGFydFRyYW5zYWN0aW9uKHRoaXMua25leCwgdGhpcy51cHNlcnRCdWlsZGVyKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyDtlbTri7kgcHJlc2V07J2YIO2KuOuenOyereyFmOydtCDsnbTrr7gg7J6I7Jy866m0IFNBVkVQT0lOVOuhnCDspJHssqkg7Yq4656c7J6t7IWYIOyDneyEsVxuICAgIGNvbnN0IGV4aXN0aW5nVHJ4ID0gZXhpc3RpbmdDb250ZXh0LmdldFRyYW5zYWN0aW9uKGRiUHJlc2V0KTtcbiAgICBpZiAoZXhpc3RpbmdUcngpIHtcbiAgICAgIHJldHVybiBzdGFydFRyYW5zYWN0aW9uKGV4aXN0aW5nVHJ4LnRyeCwgZXhpc3RpbmdUcngudXBzZXJ0QnVpbGRlcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIOy7qO2FjeyKpO2KuOuKlCDsnojsp4Drp4wg7J20IHByZXNldOydmCDtirjrnpzsnq3shZjsnYAg7JeG64qUIOqyveyasCAo6rCZ7J2AIOy7qO2FjeyKpO2KuCDrgrTsl5DshJwg7Iuk7ZaJKVxuICAgICAgcmV0dXJuIHN0YXJ0VHJhbnNhY3Rpb24odGhpcy5rbmV4LCB0aGlzLnVwc2VydEJ1aWxkZXIpO1xuICAgIH1cbiAgfVxuXG4gIHViUmVnaXN0ZXI8VFRhYmxlIGV4dGVuZHMgVGFibGVOYW1lPFRTY2hlbWE+PihcbiAgICB0YWJsZU5hbWU6IFRUYWJsZSxcbiAgICByb3c6IFBhcnRpYWw8e1xuICAgICAgW0sgaW4ga2V5b2YgVFNjaGVtYVtUVGFibGVdXTogVFNjaGVtYVtUVGFibGVdW0tdIHwgVUJSZWY7XG4gICAgfT5cbiAgKTogVUJSZWYge1xuICAgIHJldHVybiB0aGlzLnVwc2VydEJ1aWxkZXIucmVnaXN0ZXIodGFibGVOYW1lLCByb3cpO1xuICB9XG5cbiAgdWJVcHNlcnQoXG4gICAgdGFibGVOYW1lOiBUYWJsZU5hbWU8VFNjaGVtYT4sXG4gICAgY2h1bmtTaXplPzogbnVtYmVyXG4gICk6IFByb21pc2U8bnVtYmVyW10+IHtcbiAgICByZXR1cm4gdGhpcy51cHNlcnRCdWlsZGVyLnVwc2VydCh0aGlzLmtuZXgsIHRhYmxlTmFtZSwgY2h1bmtTaXplKTtcbiAgfVxuXG4gIHViSW5zZXJ0T25seShcbiAgICB0YWJsZU5hbWU6IFRhYmxlTmFtZTxUU2NoZW1hPixcbiAgICBjaHVua1NpemU/OiBudW1iZXJcbiAgKTogUHJvbWlzZTxudW1iZXJbXT4ge1xuICAgIHJldHVybiB0aGlzLnVwc2VydEJ1aWxkZXIuaW5zZXJ0T25seSh0aGlzLmtuZXgsIHRhYmxlTmFtZSwgY2h1bmtTaXplKTtcbiAgfVxuXG4gIHViVXBzZXJ0T3JJbnNlcnQoXG4gICAgdGFibGVOYW1lOiBUYWJsZU5hbWU8VFNjaGVtYT4sXG4gICAgbW9kZTogXCJ1cHNlcnRcIiB8IFwiaW5zZXJ0XCIsXG4gICAgY2h1bmtTaXplPzogbnVtYmVyXG4gICk6IFByb21pc2U8bnVtYmVyW10+IHtcbiAgICByZXR1cm4gdGhpcy51cHNlcnRCdWlsZGVyLnVwc2VydE9ySW5zZXJ0KFxuICAgICAgdGhpcy5rbmV4LFxuICAgICAgdGFibGVOYW1lLFxuICAgICAgbW9kZSxcbiAgICAgIGNodW5rU2l6ZVxuICAgICk7XG4gIH1cblxuICB1YlVwZGF0ZUJhdGNoKFxuICAgIHRhYmxlTmFtZTogVGFibGVOYW1lPFRTY2hlbWE+LFxuICAgIG9wdGlvbnM/OiB7IGNodW5rU2l6ZT86IG51bWJlcjsgd2hlcmU/OiBzdHJpbmcgfCBzdHJpbmdbXSB9XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnVwc2VydEJ1aWxkZXIudXBkYXRlQmF0Y2godGhpcy5rbmV4LCB0YWJsZU5hbWUsIG9wdGlvbnMpO1xuICB9XG5cbiAgLy8g7Yq4656c7J6t7IWYIOyXsOqysCDthYzsiqTtirjsmqlcbiAgYXN5bmMgZGVidWdUcmFuc2FjdGlvbigpIHtcbiAgICBjb25zdCBpbmZvID0gYXdhaXQgdGhpcy5nZXRUcmFuc2FjdGlvbkluZm8oKTtcbiAgICBjb25zb2xlLmxvZyhgJHtjaGFsay5jeWFuKFwiW1B1cmkgVHJhbnNhY3Rpb25dXCIpfSAke2NoYWxrLm1hZ2VudGEoaW5mbyl9YCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldFRyYW5zYWN0aW9uSW5mbygpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIC8vIOyXsOqysCBJRCDsobDtmoxcbiAgICBjb25zdCBbY29ubmVjdGlvbklkUm93c10gPSBhd2FpdCB0aGlzLmtuZXgucmF3KFxuICAgICAgYFNFTEVDVCBDT05ORUNUSU9OX0lEKCkgYXMgY29ubmVjdGlvbl9pZGBcbiAgICApO1xuICAgIGNvbnN0IGNvbm5lY3Rpb25JZCA9IGNvbm5lY3Rpb25JZFJvd3NbMF0uY29ubmVjdGlvbl9pZDtcblxuICAgIC8vIO2KuOuenOyereyFmCDsoJXrs7Qg7KGw7ZqMXG4gICAgY29uc3QgW3RyeFJvd3NdID0gYXdhaXQgdGhpcy5rbmV4LnJhdyhgXG4gICAgICAgIFNFTEVDVCBTVEFURSwgSVNPTEFUSU9OX0xFVkVMLCBUSFJFQURfSUQsIEVWRU5UX0lEXG4gICAgICAgIEZST00gcGVyZm9ybWFuY2Vfc2NoZW1hLmV2ZW50c190cmFuc2FjdGlvbnNfY3VycmVudFxuICAgICAgICBXSEVSRSBUSFJFQURfSUQgPSBcbiAgICAgICAgICAoU0VMRUNUIFRIUkVBRF9JRFxuICAgICAgICAgIEZST00gcGVyZm9ybWFuY2Vfc2NoZW1hLnRocmVhZHMgXG4gICAgICAgICAgV0hFUkUgUFJPQ0VTU0xJU1RfSUQgPSBDT05ORUNUSU9OX0lEKCkpXG4gICAgICBgKTtcblxuICAgIGlmICh0cnhSb3dzLmxlbmd0aCA+IDAgJiYgdHJ4Um93c1swXS5TVEFURSAhPT0gXCJDT01NSVRURURcIikge1xuICAgICAgY29uc3QgdHJ4ID0gdHJ4Um93c1swXTtcbiAgICAgIHJldHVybiBgSW4gVHJhbnNhY3Rpb24sIENvbm5JRDogJHtjb25uZWN0aW9uSWR9LCBUaHJlYWRJRDogJHt0cnguVEhSRUFEX0lEfSwgRXZlbnRJRDogJHt0cnguRVZFTlRfSUR9LCBJbm5vREIgVFJYOiAke3RyeC5TVEFURX0oJHt0cnguSVNPTEFUSU9OX0xFVkVMfSlgO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYE5vdCBpbiBUcmFuc2FjdGlvbiwgQ29ubklEOiAke2Nvbm5lY3Rpb25JZH1gO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUHVyaVRyYW5zYWN0aW9uV3JhcHBlciBleHRlbmRzIFB1cmlXcmFwcGVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRyeDogS25leC5UcmFuc2FjdGlvbixcbiAgICBwdWJsaWMgdXBzZXJ0QnVpbGRlcjogVXBzZXJ0QnVpbGRlclxuICApIHtcbiAgICBzdXBlcih0cngsIHVwc2VydEJ1aWxkZXIpO1xuICB9XG5cbiAgYXN5bmMgcm9sbGJhY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy50cngucm9sbGJhY2soKTtcbiAgfVxuXG4gIGFzeW5jIGNvbW1pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnRyeC5jb21taXQoKTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlB1cmkiLCJjaGFsayIsIlB1cmlXcmFwcGVyIiwia25leCIsInVwc2VydEJ1aWxkZXIiLCJyYXciLCJzcWwiLCJmcm9tIiwic3BlYyIsInRhYmxlIiwidHJhbnNhY3Rpb24iLCJjYWxsYmFjayIsIm9wdGlvbnMiLCJpc29sYXRpb24iLCJyZWFkT25seSIsImRiUHJlc2V0IiwiREIiLCJleGlzdGluZ0NvbnRleHQiLCJ0cmFuc2FjdGlvblN0b3JhZ2UiLCJnZXRTdG9yZSIsInN0YXJ0VHJhbnNhY3Rpb24iLCJ0cngiLCJ0cnhXcmFwcGVyIiwiUHVyaVRyYW5zYWN0aW9uV3JhcHBlciIsImdldFRyYW5zYWN0aW9uQ29udGV4dCIsInNldFRyYW5zYWN0aW9uIiwiZGVsZXRlVHJhbnNhY3Rpb24iLCJpc29sYXRpb25MZXZlbCIsInJ1bldpdGhUcmFuc2FjdGlvbiIsImV4aXN0aW5nVHJ4IiwiZ2V0VHJhbnNhY3Rpb24iLCJ1YlJlZ2lzdGVyIiwidGFibGVOYW1lIiwicm93IiwicmVnaXN0ZXIiLCJ1YlVwc2VydCIsImNodW5rU2l6ZSIsInVwc2VydCIsInViSW5zZXJ0T25seSIsImluc2VydE9ubHkiLCJ1YlVwc2VydE9ySW5zZXJ0IiwibW9kZSIsInVwc2VydE9ySW5zZXJ0IiwidWJVcGRhdGVCYXRjaCIsInVwZGF0ZUJhdGNoIiwiZGVidWdUcmFuc2FjdGlvbiIsImluZm8iLCJnZXRUcmFuc2FjdGlvbkluZm8iLCJjb25zb2xlIiwibG9nIiwiY3lhbiIsIm1hZ2VudGEiLCJjb25uZWN0aW9uSWRSb3dzIiwiY29ubmVjdGlvbklkIiwiY29ubmVjdGlvbl9pZCIsInRyeFJvd3MiLCJsZW5ndGgiLCJTVEFURSIsIlRIUkVBRF9JRCIsIkVWRU5UX0lEIiwiSVNPTEFUSU9OX0xFVkVMIiwicm9sbGJhY2siLCJjb21taXQiXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLElBQUksUUFBUSxZQUFTO0FBRzlCLE9BQU9DLFdBQVcsUUFBUTtBQWMxQixPQUFPLE1BQU1DOzs7SUFHWCxZQUNFLEFBQU9DLElBQVUsRUFDakIsQUFBT0MsYUFBNEIsQ0FDbkM7YUFGT0QsT0FBQUE7YUFDQUMsZ0JBQUFBO0lBQ047SUFFSEMsSUFBSUMsR0FBVyxFQUFZO1FBQ3pCLE9BQU8sSUFBSSxDQUFDSCxJQUFJLENBQUNFLEdBQUcsQ0FBQ0M7SUFDdkI7SUEwQkFDLEtBQUtDLElBQVMsRUFBTztRQUNuQixPQUFPLElBQUlSLEtBQUssSUFBSSxDQUFDRyxJQUFJLEVBQUVLO0lBQzdCO0lBMEJBQyxNQUFNRCxJQUFTLEVBQU87UUFDcEIsT0FBTyxJQUFJUixL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
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhYmFzZS9wdXJpLXdyYXBwZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIGJpb21lLWlnbm9yZS1hbGwgbGludC9zdXNwaWNpb3VzL25vRXhwbGljaXRBbnk6IFB1cmlXcmFwcGVy64qUIOuLpOyWke2VnCDtg4DsnoXsnYQg7IKs7Jqp7ZWY6rOgIOyeiOyKteuLiOuLpC4gKi9cblxuaW1wb3J0IGNoYWxrIGZyb20gXCJjaGFsa1wiO1xuaW1wb3J0IHR5cGUgeyBLbmV4IH0gZnJvbSBcImtuZXhcIjtcbmltcG9ydCB0eXBlIHsgRGF0YWJhc2VTY2hlbWFFeHRlbmQgfSBmcm9tIFwiLi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgREJQcmVzZXQgfSBmcm9tIFwiLi9kYlwiO1xuaW1wb3J0IHsgUHVyaSB9IGZyb20gXCIuL3B1cmlcIjtcbmltcG9ydCB0eXBlIHsgQ29sdW1uS2V5cywgT21pdE1ldGFkYXRhQ29sdW1ucywgUHVyaVRhYmxlIH0gZnJvbSBcIi4vcHVyaS50eXBlc1wiO1xuaW1wb3J0IHR5cGUgeyBVQlJlZiwgVXBzZXJ0QnVpbGRlciB9IGZyb20gXCIuL3Vwc2VydC1idWlsZGVyXCI7XG5cbnR5cGUgVGFibGVOYW1lPFRTY2hlbWEgZXh0ZW5kcyBEYXRhYmFzZVNjaGVtYUV4dGVuZD4gPSBFeHRyYWN0PGtleW9mIFRTY2hlbWEsIHN0cmluZz47XG5cbmV4cG9ydCB0eXBlIFRyYW5zYWN0aW9uYWxPcHRpb25zID0ge1xuICBpc29sYXRpb24/OiBFeGNsdWRlPEtuZXguSXNvbGF0aW9uTGV2ZWxzLCBcInNuYXBzaG90XCI+OyAvLyBzbmFwc2hvdDogbXNzcWwgb25seVxuICBkYlByZXNldD86IERCUHJlc2V0O1xuICByZWFkT25seT86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgY2xhc3MgUHVyaVdyYXBwZXI8VFNjaGVtYSBleHRlbmRzIERhdGFiYXNlU2NoZW1hRXh0ZW5kID0gRGF0YWJhc2VTY2hlbWFFeHRlbmQ+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGtuZXg6IEtuZXgsXG4gICAgcHVibGljIHVwc2VydEJ1aWxkZXI6IFVwc2VydEJ1aWxkZXIsXG4gICkge31cblxuICByYXcoc3FsOiBzdHJpbmcpOiBLbmV4LlJhdyB7XG4gICAgcmV0dXJuIHRoaXMua25leC5yYXcoc3FsKTtcbiAgfVxuXG4gIC8vIO2FjOydtOu4lOuqheycvOuhnCDsi5zsnpFcbiAgZnJvbTxUVGFibGUgZXh0ZW5kcyBrZXlvZiBUU2NoZW1hPihcbiAgICB0YWJsZU5hbWU6IFRUYWJsZSxcbiAgKTogUHVyaTxcbiAgICBUU2NoZW1hLFxuICAgIFJlY29yZDxUVGFibGUsIFB1cmlUYWJsZTxUU2NoZW1hW1RUYWJsZV0+PixcbiAgICBPbWl0TWV0YWRhdGFDb2x1bW5zPFB1cmlUYWJsZTxUU2NoZW1hW1RUYWJsZV0+PlxuICA+O1xuICAvLyDthYzsnbTruJTrqoUgKyBBbGlhc+uhnCDsi5zsnpFcbiAgZnJvbTxUVGFibGUgZXh0ZW5kcyBrZXlvZiBUU2NoZW1hLCBUQWxpYXMgZXh0ZW5kcyBzdHJpbmc+KFxuICAgIHNwZWM6IHtcbiAgICAgIFtLIGluIFRBbGlhc106IFRUYWJsZTtcbiAgICB9LFxuICApOiBQdXJpPFxuICAgIFRTY2hlbWEsXG4gICAgUmVjb3JkPFRBbGlhcywgUHVyaVRhYmxlPFRTY2hlbWFbVFRhYmxlXT4+LFxuICAgIE9taXRNZXRhZGF0YUNvbHVtbnM8UHVyaVRhYmxlPFRTY2hlbWFbVFRhYmxlXT4+XG4gID47XG4gIC8vIOyEnOu4jOy/vOumrOuhnCDsi5zsnpFcbiAgZnJvbTxUQWxpYXMgZXh0ZW5kcyBzdHJpbmcsIFRTdWJSZXN1bHQ+KFxuICAgIHNwZWM6IHtcbiAgICAgIFtLIGluIFRBbGlhc106IFB1cmk8VFNjaGVtYSwgYW55LCBUU3ViUmVzdWx0PjtcbiAgICB9LFxuICApOiBQdXJpPFxuICAgIFRTY2hlbWEsXG4gICAgUmVjb3JkPFRBbGlhcywgUHVyaVRhYmxlPFRTdWJSZXN1bHQ+PixcbiAgICBPbWl0TWV0YWRhdGFDb2x1bW5zPFB1cmlUYWJsZTxUU3ViUmVzdWx0Pj5cbiAgPjtcbiAgZnJvbShzcGVjOiBhbnkpOiBhbnkge1xuICAgIHJldHVybiBuZXcgUHVyaSh0aGlzLmtuZXgsIHNwZWMpO1xuICB9XG5cbiAgLy8g7YWM7J2067iU66qF7Jy866GcIOyLnOyekVxuICB0YWJsZTxUVGFibGUgZXh0ZW5kcyBrZXlvZiBUU2NoZW1hPihcbiAgICB0YWJsZU5hbWU6IFRUYWJsZSxcbiAgKTogUHVyaTxcbiAgICBUU2NoZW1hLFxuICAgIFJlY29yZDxUVGFibGUsIFB1cmlUYWJsZTxUU2NoZW1hW1RUYWJsZV0+PixcbiAgICBPbWl0TWV0YWRhdGFDb2x1bW5zPFB1cmlUYWJsZTxUU2NoZW1hW1RUYWJsZV0+PlxuICA+O1xuICAvLyDthYzsnbTruJTrqoUgKyBBbGlhc+uhnCDsi5zsnpFcbiAgdGFibGU8VFRhYmxlIGV4dGVuZHMga2V5b2YgVFNjaGVtYSwgVEFsaWFzIGV4dGVuZHMgc3RyaW5nPihcbiAgICBzcGVjOiB7XG4gICAgICBbSyBpbiBUQWxpYXNdOiBUVGFibGU7XG4gICAgfSxcbiAgKTogUHVyaTxcbiAgICBUU2NoZW1hLFxuICAgIFJlY29yZDxUQWxpYXMsIFB1cmlUYWJsZTxUU2NoZW1hW1RUYWJsZV0+PixcbiAgICBPbWl0TWV0YWRhdGFDb2x1bW5zPFB1cmlUYWJsZTxUU2NoZW1hW1RUYWJsZV0+PlxuICA+O1xuICAvLyDshJzruIzsv7zrpqzroZwg7Iuc7J6RXG4gIHRhYmxlPFRBbGlhcyBleHRlbmRzIHN0cmluZywgVFN1YlJlc3VsdD4oXG4gICAgc3BlYzoge1xuICAgICAgW0sgaW4gVEFsaWFzXTogUHVyaTxUU2NoZW1hLCBhbnksIFRTdWJSZXN1bHQ+O1xuICAgIH0sXG4gICk6IFB1cmk8XG4gICAgVFNjaGVtYSxcbiAgICBSZWNvcmQ8VEFsaWFzLCBQdXJpVGFibGU8VFN1YlJlc3VsdD4+LFxuICAgIE9taXRNZXRhZGF0YUNvbHVtbnM8UHVyaVRhYmxlPFRTdWJSZXN1bHQ+PlxuICA+O1xuICB0YWJsZShzcGVjOiBhbnkpOiBhbnkge1xuICAgIHJldHVybiBuZXcgUHVyaSh0aGlzLmtuZXgsIHNwZWMpO1xuICB9XG5cbiAgYXN5bmMgdHJhbnNhY3Rpb248VD4oXG4gICAgY2FsbGJhY2s6ICh0cng6IFB1cmlUcmFuc2FjdGlvbldyYXBwZXIpID0+IFByb21pc2U8VD4sXG4gICAgb3B0aW9uczogVHJhbnNhY3Rpb25hbE9wdGlvbnMgPSB7fSxcbiAgKTogUHJvbWlzZTxUPiB7XG4gICAgY29uc3QgeyBpc29sYXRpb24sIHJlYWRPbmx5LCBkYlByZXNldCA9IFwid1wiIH0gPSBvcHRpb25zO1xuXG4gICAgLy8gQHRyYW5zYWN0aW9uYWwg642w7L2U66CI7J207YSw7JmAIOuPmeydvO2VnCDroZzsp4E6IOydtOuvuCDtirjrnpzsnq3shZgg7Luo7YWN7Iqk7Yq46rCAIOyeiOuKlOyngCDtmZXsnbhcbiAgICBjb25zdCB7IERCIH0gPSBhd2FpdCBpbXBvcnQoXCIuL2RiXCIpO1xuICAgIGNvbnN0IGV4aXN0aW5nQ29udGV4dCA9IERCLnRyYW5zYWN0aW9uU3RvcmFnZS5nZXRTdG9yZSgpO1xuXG4gICAgLy8gQXN5bmNMb2NhbFN0b3JhZ2Ug7Luo7YWN7Iqk7Yq46rCAIOyXhuqxsOuCmCDtlbTri7kgcHJlc2V07J2YIO2KuOuenOyereyFmOydtCDsl4bsnLzrqbQg7IOI66GcIOyLnOyekVxuICAgIGNvbnN0IHN0YXJ0VHJhbnNhY3Rpb24gPSBhc3luYyAoXG4gICAgICBrbmV4OiBLbmV4IHwgS25leC5UcmFuc2FjdGlvbixcbiAgICAgIHVwc2VydEJ1aWxkZXI6IFVwc2VydEJ1aWxkZXIsXG4gICAgKSA9PiB7XG4gICAgICByZXR1cm4ga25leC50cmFuc2FjdGlvbihcbiAgICAgICAgYXN5bmMgKHRyeCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHRyeFdyYXBwZXIgPSBuZXcgUHVyaVRyYW5zYWN0aW9uV3JhcHBlcih0cngsIHVwc2VydEJ1aWxkZXIpO1xuXG4gICAgICAgICAgLy8gVHJhbnNhY3Rpb25Db250ZXh07JeQIO2KuOuenOyereyFmCDsoIDsnqVcbiAgICAgICAgICBEQi5nZXRUcmFuc2FjdGlvbkNvbnRleHQoKS5zZXRUcmFuc2FjdGlvbihkYlByZXNldCwgdHJ4V3JhcHBlcik7XG5cbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IGNhbGxiYWNrKHRyeFdyYXBwZXIpO1xuICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICAvLyDtirjrnpzsnq3shZgg7KCc6rGwXG4gICAgICAgICAgICBEQi5nZXRUcmFuc2FjdGlvbkNvbnRleHQoKS5kZWxldGVUcmFuc2FjdGlvbihkYlByZXNldCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7IGlzb2xhdGlvbkxldmVsOiBpc29sYXRpb24sIHJlYWRPbmx5IH0sXG4gICAgICApO1xuICAgIH07XG5cbiAgICAvLyBBc3luY0xvY2FsU3RvcmFnZSDsu6jthY3siqTtirjqsIAg7JeG7Jy866m0IOyDiOuhnCDsg53shLFcbiAgICBpZiAoIWV4aXN0aW5nQ29udGV4dCkge1xuICAgICAgcmV0dXJuIERCLnJ1bldpdGhUcmFuc2FjdGlvbigoKSA9PiBzdGFydFRyYW5zYWN0aW9uKHRoaXMua25leCwgdGhpcy51cHNlcnRCdWlsZGVyKSk7XG4gICAgfVxuXG4gICAgLy8g7ZW064u5IHByZXNldOydmCDtirjrnpzsnq3shZjsnbQg7J2066+4IOyeiOycvOuptCBTQVZFUE9JTlTroZwg7KSR7LKpIO2KuOuenOyereyFmCDsg53shLFcbiAgICBjb25zdCBleGlzdGluZ1RyeCA9IGV4aXN0aW5nQ29udGV4dC5nZXRUcmFuc2FjdGlvbihkYlByZXNldCk7XG4gICAgaWYgKGV4aXN0aW5nVHJ4KSB7XG4gICAgICByZXR1cm4gc3RhcnRUcmFuc2FjdGlvbihleGlzdGluZ1RyeC50cngsIGV4aXN0aW5nVHJ4LnVwc2VydEJ1aWxkZXIpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyDsu6jthY3siqTtirjripQg7J6I7KeA66eMIOydtCBwcmVzZXTsnZgg7Yq4656c7J6t7IWY7J2AIOyXhuuKlCDqsr3smrAgKOqwmeydgCDsu6jthY3siqTtirgg64K07JeQ7IScIOyLpO2WiSlcbiAgICAgIHJldHVybiBzdGFydFRyYW5zYWN0aW9uKHRoaXMua25leCwgdGhpcy51cHNlcnRCdWlsZGVyKTtcbiAgICB9XG4gIH1cblxuICB1YlJlZ2lzdGVyPFRUYWJsZSBleHRlbmRzIFRhYmxlTmFtZTxUU2NoZW1hPj4oXG4gICAgdGFibGVOYW1lOiBUVGFibGUsXG4gICAgcm93OiBQYXJ0aWFsPHtcbiAgICAgIFtLIGluIENvbHVtbktleXM8VFNjaGVtYVtUVGFibGVdPl06IFRTY2hlbWFbVFRhYmxlXVtLXSB8IFVCUmVmO1xuICAgIH0+LFxuICApOiBVQlJlZiB7XG4gICAgcmV0dXJuIHRoaXMudXBzZXJ0QnVpbGRlci5yZWdpc3Rlcih0YWJsZU5hbWUsIHJvdyk7XG4gIH1cblxuICB1YlVwc2VydCh0YWJsZU5hbWU6IFRhYmxlTmFtZTxUU2NoZW1hPiwgY2h1bmtTaXplPzogbnVtYmVyKTogUHJvbWlzZTxudW1iZXJbXT4ge1xuICAgIHJldHVybiB0aGlzLnVwc2VydEJ1aWxkZXIudXBzZXJ0KHRoaXMua25leCwgdGFibGVOYW1lLCBjaHVua1NpemUpO1xuICB9XG5cbiAgdWJJbnNlcnRPbmx5KHRhYmxlTmFtZTogVGFibGVOYW1lPFRTY2hlbWE+LCBjaHVua1NpemU/OiBudW1iZXIpOiBQcm9taXNlPG51bWJlcltdPiB7XG4gICAgcmV0dXJuIHRoaXMudXBzZXJ0QnVpbGRlci5pbnNlcnRPbmx5KHRoaXMua25leCwgdGFibGVOYW1lLCBjaHVua1NpemUpO1xuICB9XG5cbiAgdWJVcHNlcnRPckluc2VydChcbiAgICB0YWJsZU5hbWU6IFRhYmxlTmFtZTxUU2NoZW1hPixcbiAgICBtb2RlOiBcInVwc2VydFwiIHwgXCJpbnNlcnRcIixcbiAgICBjaHVua1NpemU/OiBudW1iZXIsXG4gICk6IFByb21pc2U8bnVtYmVyW10+IHtcbiAgICByZXR1cm4gdGhpcy51cHNlcnRCdWlsZGVyLnVwc2VydE9ySW5zZXJ0KHRoaXMua25leCwgdGFibGVOYW1lLCBtb2RlLCBjaHVua1NpemUpO1xuICB9XG5cbiAgdWJVcGRhdGVCYXRjaChcbiAgICB0YWJsZU5hbWU6IFRhYmxlTmFtZTxUU2NoZW1hPixcbiAgICBvcHRpb25zPzogeyBjaHVua1NpemU/OiBudW1iZXI7IHdoZXJlPzogc3RyaW5nIHwgc3RyaW5nW10gfSxcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMudXBzZXJ0QnVpbGRlci51cGRhdGVCYXRjaCh0aGlzLmtuZXgsIHRhYmxlTmFtZSwgb3B0aW9ucyk7XG4gIH1cblxuICAvLyDtirjrnpzsnq3shZgg7Jew6rKwIO2FjOyKpO2KuOyaqVxuICBhc3luYyBkZWJ1Z1RyYW5zYWN0aW9uKCkge1xuICAgIGNvbnN0IGluZm8gPSBhd2FpdCB0aGlzLmdldFRyYW5zYWN0aW9uSW5mbygpO1xuICAgIGNvbnNvbGUubG9nKGAke2NoYWxrLmN5YW4oXCJbUHVyaSBUcmFuc2FjdGlvbl1cIil9ICR7Y2hhbGsubWFnZW50YShpbmZvKX1gKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0VHJhbnNhY3Rpb25JbmZvKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgLy8g7Jew6rKwIElEIOyhsO2ajFxuICAgIGNvbnN0IFtjb25uZWN0aW9uSWRSb3dzXSA9IGF3YWl0IHRoaXMua25leC5yYXcoYFNFTEVDVCBDT05ORUNUSU9OX0lEKCkgYXMgY29ubmVjdGlvbl9pZGApO1xuICAgIGNvbnN0IGNvbm5lY3Rpb25JZCA9IGNvbm5lY3Rpb25JZFJvd3NbMF0uY29ubmVjdGlvbl9pZDtcblxuICAgIC8vIO2KuOuenOyereyFmCDsoJXrs7Qg7KGw7ZqMXG4gICAgY29uc3QgW3RyeFJvd3NdID0gYXdhaXQgdGhpcy5rbmV4LnJhdyhgXG4gICAgICAgIFNFTEVDVCBTVEFURSwgSVNPTEFUSU9OX0xFVkVMLCBUSFJFQURfSUQsIEVWRU5UX0lEXG4gICAgICAgIEZST00gcGVyZm9ybWFuY2Vfc2NoZW1hLmV2ZW50c190cmFuc2FjdGlvbnNfY3VycmVudFxuICAgICAgICBXSEVSRSBUSFJFQURfSUQgPSBcbiAgICAgICAgICAoU0VMRUNUIFRIUkVBRF9JRFxuICAgICAgICAgIEZST00gcGVyZm9ybWFuY2Vfc2NoZW1hLnRocmVhZHMgXG4gICAgICAgICAgV0hFUkUgUFJPQ0VTU0xJU1RfSUQgPSBDT05ORUNUSU9OX0lEKCkpXG4gICAgICBgKTtcblxuICAgIGlmICh0cnhSb3dzLmxlbmd0aCA+IDAgJiYgdHJ4Um93c1swXS5TVEFURSAhPT0gXCJDT01NSVRURURcIikge1xuICAgICAgY29uc3QgdHJ4ID0gdHJ4Um93c1swXTtcbiAgICAgIHJldHVybiBgSW4gVHJhbnNhY3Rpb24sIENvbm5JRDogJHtjb25uZWN0aW9uSWR9LCBUaHJlYWRJRDogJHt0cnguVEhSRUFEX0lEfSwgRXZlbnRJRDogJHt0cnguRVZFTlRfSUR9LCBJbm5vREIgVFJYOiAke3RyeC5TVEFURX0oJHt0cnguSVNPTEFUSU9OX0xFVkVMfSlgO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYE5vdCBpbiBUcmFuc2FjdGlvbiwgQ29ubklEOiAke2Nvbm5lY3Rpb25JZH1gO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUHVyaVRyYW5zYWN0aW9uV3JhcHBlciBleHRlbmRzIFB1cmlXcmFwcGVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRyeDogS25leC5UcmFuc2FjdGlvbixcbiAgICBwdWJsaWMgdXBzZXJ0QnVpbGRlcjogVXBzZXJ0QnVpbGRlcixcbiAgKSB7XG4gICAgc3VwZXIodHJ4LCB1cHNlcnRCdWlsZGVyKTtcbiAgfVxuXG4gIGFzeW5jIHJvbGxiYWNrKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMudHJ4LnJvbGxiYWNrKCk7XG4gIH1cblxuICBhc3luYyBjb21taXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy50cnguY29tbWl0KCk7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJjaGFsayIsIlB1cmkiLCJQdXJpV3JhcHBlciIsImtuZXgiLCJ1cHNlcnRCdWlsZGVyIiwicmF3Iiwic3FsIiwiZnJvbSIsInNwZWMiLCJ0YWJsZSIsInRyYW5zYWN0aW9uIiwiY2FsbGJhY2siLCJvcHRpb25zIiwiaXNvbGF0aW9uIiwicmVhZE9ubHkiLCJkYlByZXNldCIsIkRCIiwiZXhpc3RpbmdDb250ZXh0IiwidHJhbnNhY3Rpb25TdG9yYWdlIiwiZ2V0U3RvcmUiLCJzdGFydFRyYW5zYWN0aW9uIiwidHJ4IiwidHJ4V3JhcHBlciIsIlB1cmlUcmFuc2FjdGlvbldyYXBwZXIiLCJnZXRUcmFuc2FjdGlvbkNvbnRleHQiLCJzZXRUcmFuc2FjdGlvbiIsImRlbGV0ZVRyYW5zYWN0aW9uIiwiaXNvbGF0aW9uTGV2ZWwiLCJydW5XaXRoVHJhbnNhY3Rpb24iLCJleGlzdGluZ1RyeCIsImdldFRyYW5zYWN0aW9uIiwidWJSZWdpc3RlciIsInRhYmxlTmFtZSIsInJvdyIsInJlZ2lzdGVyIiwidWJVcHNlcnQiLCJjaHVua1NpemUiLCJ1cHNlcnQiLCJ1Ykluc2VydE9ubHkiLCJpbnNlcnRPbmx5IiwidWJVcHNlcnRPckluc2VydCIsIm1vZGUiLCJ1cHNlcnRPckluc2VydCIsInViVXBkYXRlQmF0Y2giLCJ1cGRhdGVCYXRjaCIsImRlYnVnVHJhbnNhY3Rpb24iLCJpbmZvIiwiZ2V0VHJhbnNhY3Rpb25JbmZvIiwiY29uc29sZSIsImxvZyIsImN5YW4iLCJtYWdlbnRhIiwiY29ubmVjdGlvbklkUm93cyIsImNvbm5lY3Rpb25JZCIsImNvbm5lY3Rpb25faWQiLCJ0cnhSb3dzIiwibGVuZ3RoIiwiU1RBVEUiLCJUSFJFQURfSUQiLCJFVkVOVF9JRCIsIklTT0xBVElPTl9MRVZFTCIsInJvbGxiYWNrIiwiY29tbWl0Il0sIm1hcHBpbmdzIjoiQUFBQSxvRkFBb0YsR0FFcEYsT0FBT0EsV0FB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
@@ -1,5 +1,8 @@
1
+ /** biome-ignore-all lint/suspicious/noThenProperty: Puri는 thenable 인터페이스를 구현하고 있습니다. */
2
+ /** biome-ignore-all lint/suspicious/noExplicitAny: Puri는 다양한 타입을 사용하고 있습니다. */
1
3
  import type { Knex } from "knex";
2
- import type { AvailableColumns, SelectObject, ParseSelectObject, WhereCondition, ComparisonOperator, ExtractColumnType, SqlExpression, Expand, FulltextColumns, ResultAvailableColumns, InsertData, SingleTableValue } from "./puri.types";
4
+ import type { AvailableColumns, ColumnKeys, ComparisonOperator, Expand, ExtractColumnType, FulltextColumns, InsertData, InsertResult, OnConflictAction, ParseSelectObject, ResultAvailableColumns, SelectObject, SingleTableValue, SqlExpression, WhereCondition } from "./puri.types";
5
+ import type { ClearStatements } from "./puri-subset.types";
3
6
  export declare class Puri<TSchema, TTables extends Record<string, any>, TResult> {
4
7
  knex: Knex;
5
8
  private knexQuery;
@@ -20,15 +23,17 @@ export declare class Puri<TSchema, TTables extends Record<string, any>, TResult>
20
23
  select<TSelect extends SelectObject<TTables>>(selectObj: TSelect): Puri<TSchema, TTables, ParseSelectObject<TTables, TSelect>>;
21
24
  appendSelect<TSelect extends SelectObject<TTables>>(selectObj: TSelect): Puri<TSchema, TTables, TResult & ParseSelectObject<TTables, TSelect>>;
22
25
  selectAll(): this;
26
+ clear(statement: ClearStatements): this;
27
+ clearJoin(alias: string): this;
23
28
  join<TJoinAlias extends string, TSubResult>(tableSpec: {
24
29
  [K in TJoinAlias]: Puri<TSchema, any, TSubResult>;
25
- }, left: AvailableColumns<TTables>, right: `${TJoinAlias}.${keyof TSubResult & string}`): Puri<TSchema, TTables & Record<TJoinAlias, TSubResult>, // 서브쿼리의 TResult
30
+ }, left: AvailableColumns<TTables>, right: `${TJoinAlias}.${ColumnKeys<TSubResult>}`): Puri<TSchema, TTables & Record<TJoinAlias, TSubResult>, // 서브쿼리의 TResult
26
31
  TResult>;
27
32
  join<TJoinTable extends keyof TSchema, TJoinAlias extends string>(tableSpec: {
28
33
  [K in TJoinAlias]: TJoinTable;
29
- }, left: AvailableColumns<TTables>, right: `${TJoinAlias}.${keyof TSchema[TJoinTable] & string}`): Puri<TSchema, TTables & Record<TJoinAlias, TSchema[TJoinTable]>, // TTables 확장!
34
+ }, left: AvailableColumns<TTables>, right: `${TJoinAlias}.${ColumnKeys<TSchema[TJoinTable]>}`): Puri<TSchema, TTables & Record<TJoinAlias, TSchema[TJoinTable]>, // TTables 확장!
30
35
  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]>, // 테이블명이 키
36
+ join<TJoinTable extends keyof TSchema>(tableName: TJoinTable, left: AvailableColumns<TTables>, right: `${TJoinTable & string}.${ColumnKeys<TSchema[TJoinTable]>}`): Puri<TSchema, TTables & Record<TJoinTable, TSchema[TJoinTable]>, // 테이블명이 키
32
37
  TResult>;
33
38
  join<TJoinAlias extends string, TSubResult>(tableSpec: {
34
39
  [K in TJoinAlias]: Puri<TSchema, any, TSubResult>;
@@ -39,13 +44,13 @@ export declare class Puri<TSchema, TTables extends Record<string, any>, TResult>
39
44
  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
45
  leftJoin<TJoinAlias extends string, TSubResult>(tableSpec: {
41
46
  [K in TJoinAlias]: Puri<TSchema, any, TSubResult>;
42
- }, left: AvailableColumns<TTables>, right: `${TJoinAlias}.${keyof TSubResult & string}`): Puri<TSchema, TTables & Record<TJoinAlias, TSubResult>, // 서브쿼리의 TResult
47
+ }, left: AvailableColumns<TTables>, right: `${TJoinAlias}.${ColumnKeys<TSubResult>}`): Puri<TSchema, TTables & Record<TJoinAlias, TSubResult>, // 서브쿼리의 TResult
43
48
  TResult>;
44
49
  leftJoin<TJoinTable extends keyof TSchema, TJoinAlias extends string>(tableSpec: {
45
50
  [K in TJoinAlias]: TJoinTable;
46
- }, left: AvailableColumns<TTables>, right: `${TJoinAlias}.${keyof TSchema[TJoinTable] & string}`): Puri<TSchema, TTables & Record<TJoinAlias, TSchema[TJoinTable]>, // TTables 확장!
51
+ }, left: AvailableColumns<TTables>, right: `${TJoinAlias}.${ColumnKeys<TSchema[TJoinTable]>}`): Puri<TSchema, TTables & Record<TJoinAlias, TSchema[TJoinTable]>, // TTables 확장!
47
52
  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]>, // 테이블명이 키
53
+ leftJoin<TJoinTable extends keyof TSchema>(tableName: TJoinTable, left: AvailableColumns<TTables>, right: `${TJoinTable & string}.${ColumnKeys<TSchema[TJoinTable]>}`): Puri<TSchema, TTables & Record<TJoinTable, TSchema[TJoinTable]>, // 테이블명이 키
49
54
  TResult>;
50
55
  leftJoin<TJoinAlias extends string, TSubResult>(tableSpec: {
51
56
  [K in TJoinAlias]: Puri<TSchema, any, TSubResult>;
@@ -74,13 +79,14 @@ export declare class Puri<TSchema, TTables extends Record<string, any>, TResult>
74
79
  finally(onfinally?: (() => void) | null): Promise<TResult>;
75
80
  first(): ResolvedPuri<Expand<TResult>, never>;
76
81
  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>;
82
+ insert(data: InsertData<SingleTableValue<TTables>>): ResolvedPuri<InsertResult, SingleTableValue<TTables>>;
83
+ update(data: WhereCondition<TTables>): ResolvedPuri<number, SingleTableValue<TTables>>;
84
+ increment<TColumn extends AvailableColumns<TTables>>(column: TColumn, value: number): ResolvedPuri<number, SingleTableValue<TTables>>;
85
+ decrement<TColumn extends AvailableColumns<TTables>>(column: TColumn, value: number): ResolvedPuri<number, SingleTableValue<TTables>>;
86
+ delete(): ResolvedPuri<number, SingleTableValue<TTables>>;
82
87
  toQuery(): string;
83
88
  debug(): this;
89
+ clone(): Puri<TSchema, TTables, TResult>;
84
90
  formatSQL(unformatted: string): string;
85
91
  raw(): Knex.QueryBuilder;
86
92
  }
@@ -106,13 +112,18 @@ export declare class JoinClauseGroup<TLeft extends Record<string, any>, TRight e
106
112
  orOn(left: AvailableColumns<TLeft>, operator: ComparisonOperator, right: AvailableColumns<TRight>): this;
107
113
  orOn(callback: (nested: JoinClauseGroup<TLeft, TRight>) => void): this;
108
114
  }
109
- export declare class ResolvedPuri<TResolved, _TReturning> {
115
+ export declare class ResolvedPuri<TResolved, TReturning> {
110
116
  knexQuery: Knex.QueryBuilder;
111
- constructor(knexQuery: Knex.QueryBuilder);
117
+ private knex;
118
+ constructor(knexQuery: Knex.QueryBuilder, knex: Knex);
112
119
  toQuery(): string;
113
120
  debug(): this;
114
121
  then<TResult1 = TResolved, TResult2 = never>(onfulfilled?: ((value: TResolved) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResult1 | TResult2>;
115
122
  catch<TResult2 = never>(onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResolved | TResult2>;
116
123
  finally(onfinally?: (() => void) | null): Promise<TResolved>;
124
+ onConflict<TTables extends Record<string, TReturning>>(columns: string | string[], action?: OnConflictAction<TTables>): this;
125
+ returning(column: "*"): ResolvedPuri<TReturning[], never>;
126
+ returning<TColumn extends ColumnKeys<TReturning>>(column: TColumn): ResolvedPuri<Pick<TReturning, TColumn>[], never>;
127
+ returning<TColumn extends ColumnKeys<TReturning>>(columns: TColumn[]): ResolvedPuri<Pick<TReturning, TColumn>[], never>;
117
128
  }
118
129
  //# 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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"}