sonamu 0.8.26 → 0.9.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 (684) hide show
  1. package/bin/cli.js +60 -13
  2. package/dist/_virtual/rolldown_runtime.js +39 -0
  3. package/dist/ai/agents/agent.d.ts +3 -3
  4. package/dist/ai/agents/agent.d.ts.map +1 -1
  5. package/dist/ai/agents/agent.js +76 -73
  6. package/dist/ai/agents/index.js +3 -3
  7. package/dist/ai/agents/types.d.ts +3 -3
  8. package/dist/ai/agents/types.d.ts.map +1 -1
  9. package/dist/ai/agents/types.js +1 -3
  10. package/dist/ai/index.js +3 -2
  11. package/dist/ai/providers/rtzr/api.js +25 -25
  12. package/dist/ai/providers/rtzr/error.js +25 -26
  13. package/dist/ai/providers/rtzr/index.js +5 -5
  14. package/dist/ai/providers/rtzr/model.d.ts +1 -1
  15. package/dist/ai/providers/rtzr/model.d.ts.map +1 -1
  16. package/dist/ai/providers/rtzr/model.js +117 -133
  17. package/dist/ai/providers/rtzr/options.d.ts.map +1 -1
  18. package/dist/ai/providers/rtzr/options.js +35 -41
  19. package/dist/ai/providers/rtzr/provider.d.ts +1 -1
  20. package/dist/ai/providers/rtzr/provider.d.ts.map +1 -1
  21. package/dist/ai/providers/rtzr/provider.js +53 -51
  22. package/dist/ai/providers/rtzr/utils.d.ts.map +1 -1
  23. package/dist/ai/providers/rtzr/utils.js +84 -84
  24. package/dist/api/base-frame.d.ts +2 -2
  25. package/dist/api/base-frame.d.ts.map +1 -1
  26. package/dist/api/base-frame.js +29 -19
  27. package/dist/api/caster.d.ts +1 -1
  28. package/dist/api/caster.d.ts.map +1 -1
  29. package/dist/api/caster.js +51 -61
  30. package/dist/api/code-converters.d.ts +4 -3
  31. package/dist/api/code-converters.d.ts.map +1 -1
  32. package/dist/api/code-converters.js +226 -249
  33. package/dist/api/config.d.ts +17 -17
  34. package/dist/api/config.d.ts.map +1 -1
  35. package/dist/api/config.js +37 -30
  36. package/dist/api/context.d.ts +10 -10
  37. package/dist/api/context.d.ts.map +1 -1
  38. package/dist/api/context.js +8 -2
  39. package/dist/api/decorators.d.ts +8 -8
  40. package/dist/api/decorators.d.ts.map +1 -1
  41. package/dist/api/decorators.js +245 -268
  42. package/dist/api/index.js +39 -7
  43. package/dist/api/secret.js +22 -15
  44. package/dist/api/sonamu.d.ts +15 -15
  45. package/dist/api/sonamu.d.ts.map +1 -1
  46. package/dist/api/sonamu.js +1012 -1131
  47. package/dist/api/validator.js +88 -79
  48. package/dist/auth/auth-generator.d.ts.map +1 -1
  49. package/dist/auth/auth-generator.js +203 -200
  50. package/dist/auth/better-auth-entities.d.ts +2 -2
  51. package/dist/auth/better-auth-entities.d.ts.map +1 -1
  52. package/dist/auth/better-auth-entities.js +369 -429
  53. package/dist/auth/index.js +21 -6
  54. package/dist/auth/knex-adapter.d.ts +2 -2
  55. package/dist/auth/knex-adapter.d.ts.map +1 -1
  56. package/dist/auth/knex-adapter.js +153 -157
  57. package/dist/auth/plugins/entity-definitions/admin.d.ts +1 -1
  58. package/dist/auth/plugins/entity-definitions/admin.d.ts.map +1 -1
  59. package/dist/auth/plugins/entity-definitions/admin.js +58 -56
  60. package/dist/auth/plugins/entity-definitions/anonymous.d.ts +1 -1
  61. package/dist/auth/plugins/entity-definitions/anonymous.d.ts.map +1 -1
  62. package/dist/auth/plugins/entity-definitions/anonymous.js +20 -20
  63. package/dist/auth/plugins/entity-definitions/api-key.d.ts +1 -1
  64. package/dist/auth/plugins/entity-definitions/api-key.d.ts.map +1 -1
  65. package/dist/auth/plugins/entity-definitions/api-key.js +185 -196
  66. package/dist/auth/plugins/entity-definitions/index.d.ts +1 -1
  67. package/dist/auth/plugins/entity-definitions/index.d.ts.map +1 -1
  68. package/dist/auth/plugins/entity-definitions/index.js +26 -29
  69. package/dist/auth/plugins/entity-definitions/jwt.d.ts +1 -1
  70. package/dist/auth/plugins/entity-definitions/jwt.d.ts.map +1 -1
  71. package/dist/auth/plugins/entity-definitions/jwt.js +62 -64
  72. package/dist/auth/plugins/entity-definitions/organization.d.ts +1 -1
  73. package/dist/auth/plugins/entity-definitions/organization.d.ts.map +1 -1
  74. package/dist/auth/plugins/entity-definitions/organization.js +362 -421
  75. package/dist/auth/plugins/entity-definitions/passkey.d.ts +1 -1
  76. package/dist/auth/plugins/entity-definitions/passkey.d.ts.map +1 -1
  77. package/dist/auth/plugins/entity-definitions/passkey.js +115 -126
  78. package/dist/auth/plugins/entity-definitions/phone-number.d.ts +1 -1
  79. package/dist/auth/plugins/entity-definitions/phone-number.d.ts.map +1 -1
  80. package/dist/auth/plugins/entity-definitions/phone-number.js +31 -40
  81. package/dist/auth/plugins/entity-definitions/sso.d.ts +1 -1
  82. package/dist/auth/plugins/entity-definitions/sso.d.ts.map +1 -1
  83. package/dist/auth/plugins/entity-definitions/sso.js +94 -107
  84. package/dist/auth/plugins/entity-definitions/two-factor.d.ts +1 -1
  85. package/dist/auth/plugins/entity-definitions/two-factor.d.ts.map +1 -1
  86. package/dist/auth/plugins/entity-definitions/two-factor.js +78 -92
  87. package/dist/auth/plugins/entity-definitions/types.d.ts +1 -1
  88. package/dist/auth/plugins/entity-definitions/types.d.ts.map +1 -1
  89. package/dist/auth/plugins/entity-definitions/types.js +1 -10
  90. package/dist/auth/plugins/entity-definitions/username.d.ts +1 -1
  91. package/dist/auth/plugins/entity-definitions/username.d.ts.map +1 -1
  92. package/dist/auth/plugins/entity-definitions/username.js +31 -40
  93. package/dist/auth/plugins/index.js +12 -3
  94. package/dist/auth/plugins/wrappers/admin.d.ts +2 -2
  95. package/dist/auth/plugins/wrappers/admin.d.ts.map +1 -1
  96. package/dist/auth/plugins/wrappers/admin.js +28 -29
  97. package/dist/auth/plugins/wrappers/anonymous.d.ts +2 -1
  98. package/dist/auth/plugins/wrappers/anonymous.d.ts.map +1 -1
  99. package/dist/auth/plugins/wrappers/anonymous.js +23 -22
  100. package/dist/auth/plugins/wrappers/api-key.d.ts +2 -1
  101. package/dist/auth/plugins/wrappers/api-key.d.ts.map +1 -1
  102. package/dist/auth/plugins/wrappers/api-key.js +39 -34
  103. package/dist/auth/plugins/wrappers/index.js +11 -11
  104. package/dist/auth/plugins/wrappers/jwt.d.ts +2 -1
  105. package/dist/auth/plugins/wrappers/jwt.d.ts.map +1 -1
  106. package/dist/auth/plugins/wrappers/jwt.js +31 -26
  107. package/dist/auth/plugins/wrappers/organization.d.ts +2 -1
  108. package/dist/auth/plugins/wrappers/organization.d.ts.map +1 -1
  109. package/dist/auth/plugins/wrappers/organization.js +65 -62
  110. package/dist/auth/plugins/wrappers/passkey.d.ts +2 -1
  111. package/dist/auth/plugins/wrappers/passkey.d.ts.map +1 -1
  112. package/dist/auth/plugins/wrappers/passkey.js +33 -28
  113. package/dist/auth/plugins/wrappers/phone-number.d.ts.map +1 -1
  114. package/dist/auth/plugins/wrappers/phone-number.js +26 -23
  115. package/dist/auth/plugins/wrappers/sso.d.ts.map +1 -1
  116. package/dist/auth/plugins/wrappers/sso.js +37 -31
  117. package/dist/auth/plugins/wrappers/two-factor.d.ts.map +1 -1
  118. package/dist/auth/plugins/wrappers/two-factor.js +31 -28
  119. package/dist/auth/plugins/wrappers/username.d.ts.map +1 -1
  120. package/dist/auth/plugins/wrappers/username.js +23 -23
  121. package/dist/bin/build-config.js +31 -31
  122. package/dist/bin/cli.js +1063 -1204
  123. package/dist/bin/fixture.d.ts.map +1 -1
  124. package/dist/bin/fixture.js +266 -259
  125. package/dist/bin/hmr-hook-register.d.ts.map +1 -1
  126. package/dist/bin/hmr-hook-register.js +19 -18
  127. package/dist/bin/test-command.d.ts.map +1 -1
  128. package/dist/bin/test-command.js +180 -177
  129. package/dist/bin/ts-loader-register.js +13 -6
  130. package/dist/bin/ts-loader-registration.d.ts.map +1 -1
  131. package/dist/bin/ts-loader-registration.js +28 -38
  132. package/dist/cache/cache-manager.d.ts +1 -1
  133. package/dist/cache/cache-manager.d.ts.map +1 -1
  134. package/dist/cache/cache-manager.js +20 -15
  135. package/dist/cache/decorator.d.ts +1 -1
  136. package/dist/cache/decorator.d.ts.map +1 -1
  137. package/dist/cache/decorator.js +84 -76
  138. package/dist/cache/drivers.js +21 -34
  139. package/dist/cache/index.js +10 -7
  140. package/dist/cache/types.d.ts +2 -2
  141. package/dist/cache/types.d.ts.map +1 -1
  142. package/dist/cache/types.js +1 -6
  143. package/dist/cache-control/cache-control.d.ts +2 -2
  144. package/dist/cache-control/cache-control.d.ts.map +1 -1
  145. package/dist/cache-control/cache-control.js +106 -122
  146. package/dist/cache-control/types.d.ts +2 -2
  147. package/dist/cache-control/types.d.ts.map +1 -1
  148. package/dist/cache-control/types.js +1 -19
  149. package/dist/compress/compress.d.ts +1 -1
  150. package/dist/compress/compress.d.ts.map +1 -1
  151. package/dist/compress/compress.js +58 -56
  152. package/dist/compress/index.js +7 -2
  153. package/dist/compress/types.js +1 -11
  154. package/dist/cone/cone-generator.d.ts +1 -1
  155. package/dist/cone/cone-generator.d.ts.map +1 -1
  156. package/dist/cone/cone-generator.js +216 -219
  157. package/dist/database/_batch_update.d.ts +1 -1
  158. package/dist/database/_batch_update.d.ts.map +1 -1
  159. package/dist/database/_batch_update.js +107 -102
  160. package/dist/database/base-model.d.ts +8 -9
  161. package/dist/database/base-model.d.ts.map +1 -1
  162. package/dist/database/base-model.js +371 -392
  163. package/dist/database/base-model.types.d.ts +5 -5
  164. package/dist/database/base-model.types.d.ts.map +1 -1
  165. package/dist/database/base-model.types.js +1 -20
  166. package/dist/database/db.d.ts +5 -2
  167. package/dist/database/db.d.ts.map +1 -1
  168. package/dist/database/db.js +185 -171
  169. package/dist/database/knex.d.ts +1 -1
  170. package/dist/database/knex.d.ts.map +1 -1
  171. package/dist/database/knex.js +48 -42
  172. package/dist/database/puri-subset.types.d.ts +6 -7
  173. package/dist/database/puri-subset.types.d.ts.map +1 -1
  174. package/dist/database/puri-subset.types.js +1 -16
  175. package/dist/database/puri-wrapper.d.ts +6 -6
  176. package/dist/database/puri-wrapper.d.ts.map +1 -1
  177. package/dist/database/puri-wrapper.js +99 -101
  178. package/dist/database/puri.d.ts +4 -5
  179. package/dist/database/puri.d.ts.map +1 -1
  180. package/dist/database/puri.js +1021 -1227
  181. package/dist/database/puri.types.d.ts +6 -6
  182. package/dist/database/puri.types.d.ts.map +1 -1
  183. package/dist/database/puri.types.js +15 -6
  184. package/dist/database/transaction-context.d.ts +2 -2
  185. package/dist/database/transaction-context.d.ts.map +1 -1
  186. package/dist/database/transaction-context.js +22 -13
  187. package/dist/database/upsert-builder.d.ts +3 -3
  188. package/dist/database/upsert-builder.d.ts.map +1 -1
  189. package/dist/database/upsert-builder.js +405 -465
  190. package/dist/dict/en.js +72 -74
  191. package/dist/dict/index.js +13 -13
  192. package/dist/dict/ko.js +72 -74
  193. package/dist/dict/rc-keys.js +150 -168
  194. package/dist/dict/sd.d.ts +3 -1
  195. package/dist/dict/sd.d.ts.map +1 -1
  196. package/dist/dict/sd.js +54 -40
  197. package/dist/dict/sonamu-dictionary.d.ts +1 -1
  198. package/dist/dict/sonamu-dictionary.d.ts.map +1 -1
  199. package/dist/dict/sonamu-dictionary.js +887 -955
  200. package/dist/dict/types.js +1 -7
  201. package/dist/dict/utils.js +26 -24
  202. package/dist/entity/entity-manager.d.ts +9 -9
  203. package/dist/entity/entity-manager.d.ts.map +1 -1
  204. package/dist/entity/entity-manager.js +226 -223
  205. package/dist/entity/entity-template-cone.d.ts +1 -1
  206. package/dist/entity/entity-template-cone.d.ts.map +1 -1
  207. package/dist/entity/entity-template-cone.js +152 -151
  208. package/dist/entity/entity.d.ts.map +1 -1
  209. package/dist/entity/entity.js +952 -1089
  210. package/dist/exceptions/error-handler.d.ts +1 -1
  211. package/dist/exceptions/error-handler.d.ts.map +1 -1
  212. package/dist/exceptions/error-handler.js +32 -27
  213. package/dist/exceptions/so-exceptions.d.ts +1 -1
  214. package/dist/exceptions/so-exceptions.d.ts.map +1 -1
  215. package/dist/exceptions/so-exceptions.js +61 -68
  216. package/dist/filter/index.js +9 -3
  217. package/dist/filter/types.js +92 -88
  218. package/dist/filter/utils.d.ts +1 -1
  219. package/dist/filter/utils.d.ts.map +1 -1
  220. package/dist/filter/utils.js +147 -161
  221. package/dist/index.js +87 -40
  222. package/dist/logger/category.d.ts.map +1 -1
  223. package/dist/logger/category.js +30 -29
  224. package/dist/logger/configure.d.ts.map +1 -1
  225. package/dist/logger/configure.js +83 -107
  226. package/dist/migration/code-generation.d.ts +2 -2
  227. package/dist/migration/code-generation.d.ts.map +1 -1
  228. package/dist/migration/code-generation.js +1385 -1578
  229. package/dist/migration/migration-set.d.ts +1 -1
  230. package/dist/migration/migration-set.d.ts.map +1 -1
  231. package/dist/migration/migration-set.js +177 -227
  232. package/dist/migration/migrator.d.ts +4 -3
  233. package/dist/migration/migrator.d.ts.map +1 -1
  234. package/dist/migration/migrator.js +340 -345
  235. package/dist/migration/postgresql-schema-reader.d.ts +2 -2
  236. package/dist/migration/postgresql-schema-reader.d.ts.map +1 -1
  237. package/dist/migration/postgresql-schema-reader.js +506 -564
  238. package/dist/migration/slack-confirm.d.ts +2 -2
  239. package/dist/migration/slack-confirm.d.ts.map +1 -1
  240. package/dist/migration/slack-confirm.js +205 -193
  241. package/dist/migration/types.d.ts +2 -2
  242. package/dist/migration/types.d.ts.map +1 -1
  243. package/dist/migration/types.js +1 -3
  244. package/dist/naite/messaging-types.d.ts +1 -0
  245. package/dist/naite/messaging-types.d.ts.map +1 -1
  246. package/dist/naite/messaging-types.js +1 -7
  247. package/dist/naite/naite-reporter.d.ts +2 -2
  248. package/dist/naite/naite-reporter.d.ts.map +1 -1
  249. package/dist/naite/naite-reporter.js +127 -120
  250. package/dist/naite/naite.d.ts +3 -2
  251. package/dist/naite/naite.d.ts.map +1 -1
  252. package/dist/naite/naite.js +266 -300
  253. package/dist/ssr/index.d.ts +2 -2
  254. package/dist/ssr/index.d.ts.map +1 -1
  255. package/dist/ssr/index.js +13 -3
  256. package/dist/ssr/registry.d.ts +1 -1
  257. package/dist/ssr/registry.d.ts.map +1 -1
  258. package/dist/ssr/registry.js +45 -37
  259. package/dist/ssr/renderer.d.ts +4 -4
  260. package/dist/ssr/renderer.d.ts.map +1 -1
  261. package/dist/ssr/renderer.js +84 -91
  262. package/dist/ssr/types.d.ts +2 -2
  263. package/dist/ssr/types.d.ts.map +1 -1
  264. package/dist/ssr/types.js +1 -3
  265. package/dist/storage/base-file.js +54 -41
  266. package/dist/storage/buffered-file.d.ts +2 -2
  267. package/dist/storage/buffered-file.d.ts.map +1 -1
  268. package/dist/storage/buffered-file.js +51 -44
  269. package/dist/storage/drivers.d.ts +2 -2
  270. package/dist/storage/drivers.d.ts.map +1 -1
  271. package/dist/storage/drivers.js +12 -7
  272. package/dist/storage/index.js +14 -7
  273. package/dist/storage/s3-driver.d.ts +2 -2
  274. package/dist/storage/s3-driver.d.ts.map +1 -1
  275. package/dist/storage/s3-driver.js +52 -48
  276. package/dist/storage/storage-manager.d.ts +2 -2
  277. package/dist/storage/storage-manager.d.ts.map +1 -1
  278. package/dist/storage/storage-manager.js +33 -25
  279. package/dist/storage/types.d.ts +2 -2
  280. package/dist/storage/types.d.ts.map +1 -1
  281. package/dist/storage/types.js +1 -5
  282. package/dist/storage/uploaded-file.d.ts +1 -1
  283. package/dist/storage/uploaded-file.d.ts.map +1 -1
  284. package/dist/storage/uploaded-file.js +45 -35
  285. package/dist/stream/index.js +7 -2
  286. package/dist/stream/sse.d.ts +2 -2
  287. package/dist/stream/sse.d.ts.map +1 -1
  288. package/dist/stream/sse.js +72 -67
  289. package/dist/syncer/api-parser.d.ts +1 -1
  290. package/dist/syncer/api-parser.d.ts.map +1 -1
  291. package/dist/syncer/api-parser.js +224 -245
  292. package/dist/syncer/checksum.d.ts +1 -1
  293. package/dist/syncer/checksum.d.ts.map +1 -1
  294. package/dist/syncer/checksum.js +86 -72
  295. package/dist/syncer/code-generator.d.ts +2 -2
  296. package/dist/syncer/code-generator.d.ts.map +1 -1
  297. package/dist/syncer/code-generator.js +154 -160
  298. package/dist/syncer/entity-operations.d.ts +1 -1
  299. package/dist/syncer/entity-operations.d.ts.map +1 -1
  300. package/dist/syncer/entity-operations.js +63 -54
  301. package/dist/syncer/file-patterns.d.ts +1 -1
  302. package/dist/syncer/file-patterns.d.ts.map +1 -1
  303. package/dist/syncer/file-patterns.js +38 -38
  304. package/dist/syncer/index.js +19 -8
  305. package/dist/syncer/module-loader.d.ts +5 -5
  306. package/dist/syncer/module-loader.d.ts.map +1 -1
  307. package/dist/syncer/module-loader.js +83 -78
  308. package/dist/syncer/syncer-actions.d.ts +2 -2
  309. package/dist/syncer/syncer-actions.d.ts.map +1 -1
  310. package/dist/syncer/syncer-actions.js +76 -91
  311. package/dist/syncer/syncer.d.ts +7 -6
  312. package/dist/syncer/syncer.d.ts.map +1 -1
  313. package/dist/syncer/syncer.js +426 -492
  314. package/dist/tasks/decorator.d.ts +3 -3
  315. package/dist/tasks/decorator.d.ts.map +1 -1
  316. package/dist/tasks/decorator.js +32 -28
  317. package/dist/tasks/step-wrapper.d.ts +1 -1
  318. package/dist/tasks/step-wrapper.d.ts.map +1 -1
  319. package/dist/tasks/step-wrapper.js +42 -41
  320. package/dist/tasks/workflow-manager.d.ts +2 -2
  321. package/dist/tasks/workflow-manager.d.ts.map +1 -1
  322. package/dist/tasks/workflow-manager.js +192 -221
  323. package/dist/template/entity-converter.d.ts +1 -1
  324. package/dist/template/entity-converter.d.ts.map +1 -1
  325. package/dist/template/entity-converter.js +103 -103
  326. package/dist/template/helpers.d.ts.map +1 -1
  327. package/dist/template/helpers.js +163 -163
  328. package/dist/template/implementations/entity.template.d.ts +1 -1
  329. package/dist/template/implementations/entity.template.d.ts.map +1 -1
  330. package/dist/template/implementations/entity.template.js +76 -85
  331. package/dist/template/implementations/entry-server.template.d.ts +1 -1
  332. package/dist/template/implementations/entry-server.template.d.ts.map +1 -1
  333. package/dist/template/implementations/entry-server.template.js +32 -27
  334. package/dist/template/implementations/generated.template.d.ts +1 -1
  335. package/dist/template/implementations/generated.template.d.ts.map +1 -1
  336. package/dist/template/implementations/generated.template.js +254 -275
  337. package/dist/template/implementations/generated_http.template.d.ts +2 -2
  338. package/dist/template/implementations/generated_http.template.d.ts.map +1 -1
  339. package/dist/template/implementations/generated_http.template.js +114 -133
  340. package/dist/template/implementations/generated_sso.template.d.ts.map +1 -1
  341. package/dist/template/implementations/generated_sso.template.js +249 -275
  342. package/dist/template/implementations/init_types.template.d.ts +1 -1
  343. package/dist/template/implementations/init_types.template.d.ts.map +1 -1
  344. package/dist/template/implementations/init_types.template.js +40 -34
  345. package/dist/template/implementations/model.template.d.ts +1 -1
  346. package/dist/template/implementations/model.template.d.ts.map +1 -1
  347. package/dist/template/implementations/model.template.js +56 -53
  348. package/dist/template/implementations/model_test.template.d.ts +1 -1
  349. package/dist/template/implementations/model_test.template.d.ts.map +1 -1
  350. package/dist/template/implementations/model_test.template.js +32 -24
  351. package/dist/template/implementations/queries.template.d.ts +1 -1
  352. package/dist/template/implementations/queries.template.d.ts.map +1 -1
  353. package/dist/template/implementations/queries.template.js +84 -89
  354. package/dist/template/implementations/sd.template.d.ts +1 -1
  355. package/dist/template/implementations/sd.template.d.ts.map +1 -1
  356. package/dist/template/implementations/sd.template.js +137 -144
  357. package/dist/template/implementations/services.template.d.ts +1 -1
  358. package/dist/template/implementations/services.template.d.ts.map +1 -1
  359. package/dist/template/implementations/services.template.js +164 -189
  360. package/dist/template/implementations/view_form.template.d.ts +1 -1
  361. package/dist/template/implementations/view_form.template.d.ts.map +1 -1
  362. package/dist/template/implementations/view_form.template.js +258 -285
  363. package/dist/template/implementations/view_id_all_select.template.d.ts +1 -1
  364. package/dist/template/implementations/view_id_all_select.template.d.ts.map +1 -1
  365. package/dist/template/implementations/view_id_all_select.template.js +31 -25
  366. package/dist/template/implementations/view_list.template.d.ts +1 -1
  367. package/dist/template/implementations/view_list.template.d.ts.map +1 -1
  368. package/dist/template/implementations/view_list.template.js +304 -355
  369. package/dist/template/implementations/view_search_input.template.d.ts +1 -1
  370. package/dist/template/implementations/view_search_input.template.d.ts.map +1 -1
  371. package/dist/template/implementations/view_search_input.template.js +31 -27
  372. package/dist/template/index.js +21 -7
  373. package/dist/template/template-manager.d.ts +1 -1
  374. package/dist/template/template-manager.d.ts.map +1 -1
  375. package/dist/template/template-manager.js +132 -123
  376. package/dist/template/template-types.js +8 -6
  377. package/dist/template/template.d.ts +2 -2
  378. package/dist/template/template.d.ts.map +1 -1
  379. package/dist/template/template.js +73 -68
  380. package/dist/template/zod-converter.d.ts.map +1 -1
  381. package/dist/template/zod-converter.js +603 -657
  382. package/dist/testing/_relation-graph.d.ts +1 -1
  383. package/dist/testing/_relation-graph.d.ts.map +1 -1
  384. package/dist/testing/_relation-graph.js +93 -88
  385. package/dist/testing/bootstrap.d.ts +22 -13
  386. package/dist/testing/bootstrap.d.ts.map +1 -1
  387. package/dist/testing/bootstrap.js +114 -114
  388. package/dist/testing/data-explorer.d.ts +3 -3
  389. package/dist/testing/data-explorer.d.ts.map +1 -1
  390. package/dist/testing/data-explorer.js +237 -265
  391. package/dist/testing/dev-test-routes.d.ts +2 -2
  392. package/dist/testing/dev-test-routes.d.ts.map +1 -1
  393. package/dist/testing/dev-test-routes.js +258 -249
  394. package/dist/testing/dev-vitest-manager.d.ts +1 -1
  395. package/dist/testing/dev-vitest-manager.d.ts.map +1 -1
  396. package/dist/testing/dev-vitest-manager.js +514 -539
  397. package/dist/testing/faker-mappings.js +422 -420
  398. package/dist/testing/fixture-generator.d.ts +3 -3
  399. package/dist/testing/fixture-generator.d.ts.map +1 -1
  400. package/dist/testing/fixture-generator.js +1216 -1346
  401. package/dist/testing/fixture-loader.js +26 -25
  402. package/dist/testing/fixture-manager.d.ts +3 -3
  403. package/dist/testing/fixture-manager.d.ts.map +1 -1
  404. package/dist/testing/fixture-manager.js +706 -776
  405. package/dist/testing/global-setup.js +53 -49
  406. package/dist/testing/index.js +19 -11
  407. package/dist/testing/naite-vitest-reporter.js +18 -13
  408. package/dist/testing/parallel-db-manager.d.ts +1 -1
  409. package/dist/testing/parallel-db-manager.d.ts.map +1 -1
  410. package/dist/testing/parallel-db-manager.js +63 -78
  411. package/dist/testing/vitest-helpers.d.ts +1 -1
  412. package/dist/testing/vitest-helpers.d.ts.map +1 -1
  413. package/dist/testing/vitest-helpers.js +37 -33
  414. package/dist/types/types.d.ts +28 -28
  415. package/dist/types/types.d.ts.map +1 -1
  416. package/dist/types/types.js +764 -890
  417. package/dist/ui/ai-api.d.ts +1 -1
  418. package/dist/ui/ai-api.d.ts.map +1 -1
  419. package/dist/ui/ai-api.js +52 -42
  420. package/dist/ui/ai-client.d.ts +1 -2
  421. package/dist/ui/ai-client.d.ts.map +1 -1
  422. package/dist/ui/ai-client.js +353 -388
  423. package/dist/ui/api.d.ts +1 -1
  424. package/dist/ui/api.d.ts.map +1 -1
  425. package/dist/ui/api.js +903 -1145
  426. package/dist/ui/cdd-service.d.ts +1 -1
  427. package/dist/ui/cdd-service.d.ts.map +1 -1
  428. package/dist/ui/cdd-service.js +406 -407
  429. package/dist/ui/cdd-types.js +1 -3
  430. package/dist/ui-web/assets/index-C-Zz-wYg.css +1 -0
  431. package/dist/ui-web/assets/index-DejDON8K.js +238 -0
  432. package/dist/ui-web/index.html +3 -3
  433. package/dist/utils/async-utils.js +57 -45
  434. package/dist/utils/console-util.d.ts.map +1 -1
  435. package/dist/utils/console-util.js +104 -87
  436. package/dist/utils/controller.js +26 -19
  437. package/dist/utils/esm-utils.js +49 -38
  438. package/dist/utils/formatter.d.ts +1 -2
  439. package/dist/utils/formatter.d.ts.map +1 -1
  440. package/dist/utils/formatter.js +89 -115
  441. package/dist/utils/fs-utils.d.ts.map +1 -1
  442. package/dist/utils/fs-utils.js +68 -65
  443. package/dist/utils/lodash-able.js +11 -4
  444. package/dist/utils/model.d.ts +1 -1
  445. package/dist/utils/model.d.ts.map +1 -1
  446. package/dist/utils/model.js +21 -19
  447. package/dist/utils/object-utils.js +148 -186
  448. package/dist/utils/path-utils.js +67 -57
  449. package/dist/utils/process-utils.d.ts.map +1 -1
  450. package/dist/utils/process-utils.js +37 -31
  451. package/dist/utils/sql-parser.d.ts +1 -1
  452. package/dist/utils/sql-parser.d.ts.map +1 -1
  453. package/dist/utils/sql-parser.js +40 -40
  454. package/dist/utils/type-utils.js +44 -43
  455. package/dist/utils/utils.d.ts +2 -3
  456. package/dist/utils/utils.d.ts.map +1 -1
  457. package/dist/utils/utils.js +81 -93
  458. package/dist/utils/zod-error.d.ts +1 -1
  459. package/dist/utils/zod-error.d.ts.map +1 -1
  460. package/dist/utils/zod-error.js +24 -17
  461. package/dist/vector/chunking.d.ts +1 -1
  462. package/dist/vector/chunking.d.ts.map +1 -1
  463. package/dist/vector/chunking.js +100 -94
  464. package/dist/vector/config.d.ts +1 -1
  465. package/dist/vector/config.d.ts.map +1 -1
  466. package/dist/vector/config.js +76 -78
  467. package/dist/vector/embedding.d.ts +1 -1
  468. package/dist/vector/embedding.d.ts.map +1 -1
  469. package/dist/vector/embedding.js +128 -125
  470. package/dist/vector/index.js +5 -5
  471. package/dist/vector/types.js +1 -5
  472. package/package.json +31 -36
  473. package/src/ai/agents/agent.ts +12 -5
  474. package/src/ai/agents/types.ts +5 -5
  475. package/src/ai/providers/rtzr/model.ts +8 -10
  476. package/src/ai/providers/rtzr/options.ts +2 -1
  477. package/src/ai/providers/rtzr/provider.ts +5 -3
  478. package/src/ai/providers/rtzr/utils.ts +2 -7
  479. package/src/api/__tests__/config.test.ts +15 -8
  480. package/src/api/base-frame.ts +5 -3
  481. package/src/api/caster.ts +7 -6
  482. package/src/api/code-converters.ts +23 -26
  483. package/src/api/config.ts +23 -17
  484. package/src/api/context.ts +18 -11
  485. package/src/api/decorators.ts +17 -18
  486. package/src/api/sonamu.ts +44 -49
  487. package/src/auth/auth-generator.ts +4 -6
  488. package/src/auth/better-auth-entities.ts +3 -2
  489. package/src/auth/knex-adapter.ts +6 -5
  490. package/src/auth/plugins/entity-definitions/admin.ts +1 -1
  491. package/src/auth/plugins/entity-definitions/anonymous.ts +1 -1
  492. package/src/auth/plugins/entity-definitions/api-key.ts +1 -1
  493. package/src/auth/plugins/entity-definitions/index.ts +1 -1
  494. package/src/auth/plugins/entity-definitions/jwt.ts +1 -1
  495. package/src/auth/plugins/entity-definitions/organization.ts +1 -1
  496. package/src/auth/plugins/entity-definitions/passkey.ts +1 -1
  497. package/src/auth/plugins/entity-definitions/phone-number.ts +1 -1
  498. package/src/auth/plugins/entity-definitions/sso.ts +1 -1
  499. package/src/auth/plugins/entity-definitions/two-factor.ts +1 -1
  500. package/src/auth/plugins/entity-definitions/types.ts +1 -1
  501. package/src/auth/plugins/entity-definitions/username.ts +1 -1
  502. package/src/auth/plugins/wrappers/admin.ts +3 -1
  503. package/src/auth/plugins/wrappers/anonymous.ts +3 -1
  504. package/src/auth/plugins/wrappers/api-key.ts +3 -1
  505. package/src/auth/plugins/wrappers/jwt.ts +3 -1
  506. package/src/auth/plugins/wrappers/organization.ts +3 -1
  507. package/src/auth/plugins/wrappers/passkey.ts +3 -1
  508. package/src/auth/plugins/wrappers/phone-number.ts +3 -1
  509. package/src/auth/plugins/wrappers/sso.ts +2 -1
  510. package/src/auth/plugins/wrappers/two-factor.ts +3 -1
  511. package/src/auth/plugins/wrappers/username.ts +3 -1
  512. package/src/bin/__tests__/ts-loader-register.test.ts +7 -12
  513. package/src/bin/build-config.ts +3 -3
  514. package/src/bin/cli.ts +27 -25
  515. package/src/bin/fixture.ts +4 -2
  516. package/src/bin/hmr-hook-register.ts +1 -0
  517. package/src/bin/test-command.ts +4 -2
  518. package/src/bin/ts-loader-registration.ts +6 -22
  519. package/src/cache/cache-manager.ts +2 -1
  520. package/src/cache/decorator.ts +2 -2
  521. package/src/cache/types.ts +3 -3
  522. package/src/cache-control/cache-control.ts +3 -2
  523. package/src/cache-control/types.ts +2 -2
  524. package/src/compress/compress.ts +1 -1
  525. package/src/cone/cone-generator.ts +5 -3
  526. package/src/database/_batch_update.ts +1 -1
  527. package/src/database/base-model.ts +20 -14
  528. package/src/database/base-model.types.ts +12 -11
  529. package/src/database/db.ts +56 -21
  530. package/src/database/knex.ts +2 -2
  531. package/src/database/puri-subset.test-d.ts +33 -32
  532. package/src/database/puri-subset.types.ts +6 -7
  533. package/src/database/puri-wrapper.ts +29 -26
  534. package/src/database/puri.ts +36 -34
  535. package/src/database/puri.types.test-d.ts +6 -5
  536. package/src/database/puri.types.ts +9 -12
  537. package/src/database/transaction-context.ts +2 -2
  538. package/src/database/upsert-builder.ts +17 -10
  539. package/src/dict/sd.ts +17 -4
  540. package/src/dict/sonamu-dictionary.ts +23 -17
  541. package/src/entity/entity-manager.ts +9 -7
  542. package/src/entity/entity-template-cone.ts +10 -3
  543. package/src/entity/entity.ts +20 -16
  544. package/src/exceptions/error-handler.ts +2 -1
  545. package/src/exceptions/so-exceptions.ts +1 -1
  546. package/src/filter/utils.ts +3 -2
  547. package/src/logger/category.ts +1 -0
  548. package/src/logger/configure.ts +5 -5
  549. package/src/migration/__tests__/code-generation.search-text.test.ts +2 -3
  550. package/src/migration/code-generation.ts +26 -25
  551. package/src/migration/migration-set.ts +16 -18
  552. package/src/migration/migrator.ts +38 -33
  553. package/src/migration/postgresql-schema-reader.ts +12 -12
  554. package/src/migration/slack-confirm.ts +5 -4
  555. package/src/migration/types.ts +2 -2
  556. package/src/naite/messaging-types.ts +1 -1
  557. package/src/naite/naite-reporter.ts +5 -3
  558. package/src/naite/naite.ts +12 -7
  559. package/src/shared/app.shared.ts.txt +2 -2
  560. package/src/shared/web.shared.ts.txt +2 -2
  561. package/src/skills/AGENTS.md +19 -18
  562. package/src/skills/commands/sonamu-skills.md +9 -9
  563. package/src/skills/sonamu/SKILL.md +111 -104
  564. package/src/skills/sonamu/ai-agents.md +27 -26
  565. package/src/skills/sonamu/api.md +81 -69
  566. package/src/skills/sonamu/auth-migration.md +13 -27
  567. package/src/skills/sonamu/auth-plugins.md +41 -31
  568. package/src/skills/sonamu/auth.md +30 -24
  569. package/src/skills/sonamu/cdd.md +26 -17
  570. package/src/skills/sonamu/cone.md +50 -50
  571. package/src/skills/sonamu/config.md +74 -51
  572. package/src/skills/sonamu/create-sonamu.md +31 -19
  573. package/src/skills/sonamu/database.md +43 -26
  574. package/src/skills/sonamu/entity-basic.md +61 -61
  575. package/src/skills/sonamu/entity-relations.md +84 -80
  576. package/src/skills/sonamu/entity-validation-checklist.md +19 -15
  577. package/src/skills/sonamu/fixture-cli.md +52 -30
  578. package/src/skills/sonamu/framework-change.md +9 -7
  579. package/src/skills/sonamu/frontend.md +64 -82
  580. package/src/skills/sonamu/i18n.md +45 -37
  581. package/src/skills/sonamu/migration.md +54 -31
  582. package/src/skills/sonamu/model.md +98 -66
  583. package/src/skills/sonamu/naite.md +34 -32
  584. package/src/skills/sonamu/project-init.md +28 -8
  585. package/src/skills/sonamu/puri.md +82 -91
  586. package/src/skills/sonamu/scaffolding.md +44 -32
  587. package/src/skills/sonamu/skill-contribution.md +50 -45
  588. package/src/skills/sonamu/subset.md +13 -13
  589. package/src/skills/sonamu/tasks.md +73 -58
  590. package/src/skills/sonamu/testing-devrunner.md +56 -36
  591. package/src/skills/sonamu/testing.md +23 -58
  592. package/src/skills/sonamu/upsert.md +32 -31
  593. package/src/skills/sonamu/vector.md +37 -36
  594. package/src/ssr/index.ts +2 -12
  595. package/src/ssr/registry.ts +1 -1
  596. package/src/ssr/renderer.ts +7 -5
  597. package/src/ssr/types.ts +2 -2
  598. package/src/storage/buffered-file.ts +4 -2
  599. package/src/storage/drivers.ts +3 -2
  600. package/src/storage/s3-driver.ts +7 -4
  601. package/src/storage/storage-manager.ts +3 -2
  602. package/src/storage/types.ts +3 -2
  603. package/src/storage/uploaded-file.ts +1 -1
  604. package/src/stream/sse.ts +2 -2
  605. package/src/syncer/api-parser.ts +8 -5
  606. package/src/syncer/checksum.ts +9 -5
  607. package/src/syncer/code-generator.ts +16 -8
  608. package/src/syncer/entity-operations.ts +5 -3
  609. package/src/syncer/file-patterns.ts +2 -1
  610. package/src/syncer/module-loader.ts +9 -6
  611. package/src/syncer/syncer-actions.ts +5 -3
  612. package/src/syncer/syncer.ts +18 -24
  613. package/src/tasks/decorator.ts +10 -8
  614. package/src/tasks/step-wrapper.ts +1 -1
  615. package/src/tasks/workflow-manager.ts +18 -15
  616. package/src/template/__tests__/generated.template.search-text.test.ts +1 -0
  617. package/src/template/entity-converter.ts +4 -2
  618. package/src/template/generated.template.test-d.ts +2 -1
  619. package/src/template/helpers.ts +5 -2
  620. package/src/template/implementations/entity.template.ts +9 -8
  621. package/src/template/implementations/entry-server.template.ts +1 -1
  622. package/src/template/implementations/generated.template.ts +21 -29
  623. package/src/template/implementations/generated_http.template.ts +9 -6
  624. package/src/template/implementations/generated_sso.template.ts +6 -4
  625. package/src/template/implementations/init_types.template.ts +3 -2
  626. package/src/template/implementations/model.template.ts +4 -2
  627. package/src/template/implementations/model_test.template.ts +3 -2
  628. package/src/template/implementations/queries.template.ts +6 -14
  629. package/src/template/implementations/sd.template.ts +4 -2
  630. package/src/template/implementations/services.template.ts +7 -11
  631. package/src/template/implementations/view_form.template.ts +5 -3
  632. package/src/template/implementations/view_id_all_select.template.ts +3 -2
  633. package/src/template/implementations/view_list.template.ts +7 -5
  634. package/src/template/implementations/view_search_input.template.ts +3 -2
  635. package/src/template/template-manager.ts +4 -3
  636. package/src/template/template.ts +4 -3
  637. package/src/template/zod-converter.ts +10 -7
  638. package/src/testing/__tests__/dev-test-routes.test.ts +3 -2
  639. package/src/testing/__tests__/dev-vitest-manager.test.ts +1 -0
  640. package/src/testing/_relation-graph.ts +2 -2
  641. package/src/testing/bootstrap.ts +55 -27
  642. package/src/testing/data-explorer.ts +5 -4
  643. package/src/testing/dev-test-routes.ts +8 -5
  644. package/src/testing/dev-vitest-manager.ts +13 -12
  645. package/src/testing/fixture-generator.ts +11 -17
  646. package/src/testing/fixture-manager.ts +21 -17
  647. package/src/testing/parallel-db-manager.ts +2 -1
  648. package/src/testing/vitest-helpers.ts +2 -1
  649. package/src/types/__tests__/entity-json-schema-search-text.test.ts +1 -0
  650. package/src/types/types.ts +8 -8
  651. package/src/typings/knex.d.ts +4 -4
  652. package/src/ui/ai-api.ts +5 -3
  653. package/src/ui/ai-client.ts +6 -5
  654. package/src/ui/api.ts +25 -23
  655. package/src/ui/cdd-service.ts +12 -11
  656. package/src/utils/console-util.ts +3 -1
  657. package/src/utils/formatter.ts +94 -102
  658. package/src/utils/fs-utils.ts +2 -1
  659. package/src/utils/model.ts +2 -2
  660. package/src/utils/object-utils.ts +3 -3
  661. package/src/utils/process-utils.ts +2 -1
  662. package/src/utils/sql-parser.ts +10 -1
  663. package/src/utils/type-utils.ts +3 -3
  664. package/src/utils/utils.ts +9 -7
  665. package/src/utils/zod-error.ts +1 -1
  666. package/src/vector/chunking.ts +1 -1
  667. package/src/vector/config.ts +1 -1
  668. package/src/vector/embedding.ts +11 -9
  669. package/tsdown.api.config.ts +50 -0
  670. package/.swcrc.project-default +0 -18
  671. package/dist/api/__tests__/config.test.js +0 -189
  672. package/dist/bin/__tests__/test-command.test.js +0 -112
  673. package/dist/bin/__tests__/ts-loader-register.test.js +0 -45
  674. package/dist/database/puri-subset.test-d.js +0 -89
  675. package/dist/database/puri.types.test-d.js +0 -129
  676. package/dist/migration/__tests__/code-generation.search-text.test.js +0 -435
  677. package/dist/template/__tests__/generated.template.search-text.test.js +0 -99
  678. package/dist/template/generated.template.test-d.js +0 -24
  679. package/dist/testing/__tests__/dev-test-routes.test.js +0 -144
  680. package/dist/testing/__tests__/dev-vitest-manager.test.js +0 -152
  681. package/dist/types/__tests__/entity-json-schema-search-text.test.js +0 -256
  682. package/dist/typings/knex.d.js +0 -3
  683. package/dist/ui-web/assets/index-CKo0Z2Iu.css +0 -1
  684. package/dist/ui-web/assets/index-DK-2aacv.js +0 -257
@@ -1,175 +1,175 @@
1
+ import { __esmMin } from "../_virtual/rolldown_runtime.js";
2
+ import { init_types, isEnumProp, isRelationProp } from "../types/types.js";
3
+ import { EntityManager, init_entity_manager } from "../entity/entity-manager.js";
1
4
  import inflection from "inflection";
2
- import { EntityManager } from "../entity/entity-manager.js";
3
- import { isEnumProp, isRelationProp } from "../types/types.js";
5
+
6
+ //#region src/template/helpers.ts
4
7
  /**
5
- * Enum의 표시용 라벨을 가져옵니다.
6
- * OrderBy, SearchField 등 특수한 경우와 일반 Enum을 구분하여 처리합니다.
7
- */ export function getLabel(entityId, enumId) {
8
- if (enumId.endsWith("OrderBy")) {
9
- return "정렬";
10
- } else if (enumId.endsWith("SearchField")) {
11
- return "검색";
12
- } else {
13
- const enumProp = EntityManager.get(entityId).props.find((prop)=>`${entityId}${inflection.camelize(prop.name)}` === enumId);
14
- if (enumProp?.desc) {
15
- return enumProp.desc;
16
- }
17
- return enumId;
18
- }
8
+ * Enum의 표시용 라벨을 가져옵니다.
9
+ * OrderBy, SearchField 등 특수한 경우와 일반 Enum을 구분하여 처리합니다.
10
+ */
11
+ function getLabel(entityId, enumId) {
12
+ if (enumId.endsWith("OrderBy")) {
13
+ return "정렬";
14
+ } else if (enumId.endsWith("SearchField")) {
15
+ return "검색";
16
+ } else {
17
+ const enumProp = EntityManager.get(entityId).props.find((prop) => `${entityId}${inflection.camelize(prop.name)}` === enumId);
18
+ if (enumProp?.desc) {
19
+ return enumProp.desc;
20
+ }
21
+ return enumId;
22
+ }
19
23
  }
20
24
  /**
21
- * 컬럼 이름으로부터 Enum 정보를 추출합니다.
22
- * Entity의 prop 중 enum 타입인 것을 찾아 관련 정보를 반환합니다.
23
- */ export function getEnumInfoFromColName(entityId, colName) {
24
- const baseEntity = EntityManager.get(entityId);
25
- const prop = baseEntity.props.find((p)=>p.name === colName);
26
- if (prop && isEnumProp(prop)) {
27
- return {
28
- id: prop.id,
29
- targetEntityId: entityId,
30
- targetEntityNames: EntityManager.getNamesFromId(entityId),
31
- title: prop.desc ?? prop.id
32
- };
33
- } else {
34
- const idCandidate = inflection.camelize(`${inflection.underscore(entityId)}_${inflection.underscore(colName)}`, false);
35
- const targetEntityNames = EntityManager.getNamesFromId(entityId);
36
- return {
37
- id: idCandidate,
38
- targetEntityId: entityId,
39
- targetEntityNames: targetEntityNames,
40
- title: idCandidate
41
- };
42
- }
25
+ * 컬럼 이름으로부터 Enum 정보를 추출합니다.
26
+ * Entity의 prop 중 enum 타입인 것을 찾아 관련 정보를 반환합니다.
27
+ */
28
+ function getEnumInfoFromColName(entityId, colName) {
29
+ const baseEntity = EntityManager.get(entityId);
30
+ const prop = baseEntity.props.find((p) => p.name === colName);
31
+ if (prop && isEnumProp(prop)) {
32
+ return {
33
+ id: prop.id,
34
+ targetEntityId: entityId,
35
+ targetEntityNames: EntityManager.getNamesFromId(entityId),
36
+ title: prop.desc ?? prop.id
37
+ };
38
+ } else {
39
+ const idCandidate = inflection.camelize(`${inflection.underscore(entityId)}_${inflection.underscore(colName)}`, false);
40
+ const targetEntityNames = EntityManager.getNamesFromId(entityId);
41
+ return {
42
+ id: idCandidate,
43
+ targetEntityId: entityId,
44
+ targetEntityNames,
45
+ title: idCandidate
46
+ };
47
+ }
43
48
  }
44
49
  /**
45
- * 컬럼 이름으로부터 Relation prop 정보를 가져옵니다.
46
- * 관계형 prop이 아닌 경우 에러를 발생시킵니다.
47
- */ export function getRelationPropFromColName(entityId, colName) {
48
- const baseEntity = EntityManager.get(entityId);
49
- const relProp = baseEntity.props.find((prop)=>prop.name === colName);
50
- if (isRelationProp(relProp)) {
51
- const relEntity = EntityManager.get(relProp.with);
52
- if (relEntity.parentId !== undefined) {
53
- throw new Error("Only parent entities can be used as relation props");
54
- }
55
- return relProp;
56
- } else {
57
- throw new Error(`찾을 수 없는 Relation ${colName}`);
58
- }
50
+ * 컬럼 이름으로부터 Relation prop 정보를 가져옵니다.
51
+ * 관계형 prop이 아닌 경우 에러를 발생시킵니다.
52
+ */
53
+ function getRelationPropFromColName(entityId, colName) {
54
+ const baseEntity = EntityManager.get(entityId);
55
+ const relProp = baseEntity.props.find((prop) => prop.name === colName);
56
+ if (isRelationProp(relProp)) {
57
+ const relEntity = EntityManager.get(relProp.with);
58
+ if (relEntity.parentId !== undefined) {
59
+ throw new Error("Only parent entities can be used as relation props");
60
+ }
61
+ return relProp;
62
+ } else {
63
+ throw new Error(`찾을 수 없는 Relation ${colName}`);
64
+ }
59
65
  }
60
66
  /**
61
- * FK 컬럼명에서 실제 relation 이름을 추출합니다.
62
- * BelongsToOne/OneToOne relation은 subset에서 FK 컬럼명(user_id)으로 생성되므로 변환이 필요하고,
63
- * ManyToMany relation은 subset에서 relation명(employee)으로 생성되므로 변환이 불필요합니다.
64
- *
65
- * @example
66
- * getRelationNameFromColumnName("Employee", "user_id") // "user"
67
- * getRelationNameFromColumnName("Project", "tag_ids") // "tags"
68
- */ export function getRelationNameFromColumnName(entityId, colName) {
69
- // _ids (복수) 처리
70
- if (colName.endsWith("_ids")) {
71
- const baseName = colName.replace(/_ids$/, "");
72
- // 먼저 base name으로 찾기
73
- try {
74
- const relProp = getRelationPropFromColName(entityId, baseName);
75
- return relProp.name;
76
- } catch {
77
- // pluralize해서 찾기
78
- try {
79
- const pluralName = inflection.pluralize(baseName);
80
- const relProp = getRelationPropFromColName(entityId, pluralName);
81
- return relProp.name;
82
- } catch {
83
- return colName;
84
- }
85
- }
86
- }
87
- // _id (단수) 처리
88
- if (colName.endsWith("_id") && colName !== "id") {
89
- const baseName = colName.replace(/_id$/, "");
90
- // 먼저 base name으로 찾기
91
- try {
92
- const relProp = getRelationPropFromColName(entityId, baseName);
93
- return relProp.name;
94
- } catch {
95
- // singularize해서 찾기
96
- try {
97
- const singularName = inflection.singularize(baseName);
98
- const relProp = getRelationPropFromColName(entityId, singularName);
99
- return relProp.name;
100
- } catch {
101
- return colName;
102
- }
103
- }
104
- }
105
- return colName;
67
+ * FK 컬럼명에서 실제 relation 이름을 추출합니다.
68
+ * BelongsToOne/OneToOne relation은 subset에서 FK 컬럼명(user_id)으로 생성되므로 변환이 필요하고,
69
+ * ManyToMany relation은 subset에서 relation명(employee)으로 생성되므로 변환이 불필요합니다.
70
+ *
71
+ * @example
72
+ * getRelationNameFromColumnName("Employee", "user_id") // "user"
73
+ * getRelationNameFromColumnName("Project", "tag_ids") // "tags"
74
+ */
75
+ function getRelationNameFromColumnName(entityId, colName) {
76
+ if (colName.endsWith("_ids")) {
77
+ const baseName = colName.replace(/_ids$/, "");
78
+ try {
79
+ const relProp = getRelationPropFromColName(entityId, baseName);
80
+ return relProp.name;
81
+ } catch {
82
+ try {
83
+ const pluralName = inflection.pluralize(baseName);
84
+ const relProp = getRelationPropFromColName(entityId, pluralName);
85
+ return relProp.name;
86
+ } catch {
87
+ return colName;
88
+ }
89
+ }
90
+ }
91
+ if (colName.endsWith("_id") && colName !== "id") {
92
+ const baseName = colName.replace(/_id$/, "");
93
+ try {
94
+ const relProp = getRelationPropFromColName(entityId, baseName);
95
+ return relProp.name;
96
+ } catch {
97
+ try {
98
+ const singularName = inflection.singularize(baseName);
99
+ const relProp = getRelationPropFromColName(entityId, singularName);
100
+ return relProp.name;
101
+ } catch {
102
+ return colName;
103
+ }
104
+ }
105
+ }
106
+ return colName;
106
107
  }
107
108
  /**
108
- * 소스 코드에서 객체 선언을 추출합니다.
109
- * 중괄호 카운팅 방식으로 중첩된 객체도 정확히 파싱합니다.
110
- */ export function extractObjectDeclaration(sourceCode, varName) {
111
- // "export const varName = {" 패턴 찾기
112
- const pattern = new RegExp(`export const ${varName}\\s*=\\s*\\{`);
113
- const match = pattern.exec(sourceCode);
114
- if (!match) {
115
- return "";
116
- }
117
- // 시작 위치
118
- const startIdx = match.index;
119
- const openBraceIdx = sourceCode.indexOf("{", startIdx);
120
- // 중괄호 카운팅
121
- let braceCount = 0;
122
- let inString = false;
123
- let inTemplate = false;
124
- let stringChar = "";
125
- let endIdx = openBraceIdx;
126
- for(let i = openBraceIdx; i < sourceCode.length; i++){
127
- const char = sourceCode[i];
128
- const prevChar = i > 0 ? sourceCode[i - 1] : "";
129
- // 이스케이프된 문자는 무시
130
- if (prevChar === "\\" && (inString || inTemplate)) {
131
- continue;
132
- }
133
- // 문자열 시작/종료
134
- if ((char === '"' || char === "'") && !inTemplate) {
135
- if (!inString) {
136
- inString = true;
137
- stringChar = char;
138
- } else if (char === stringChar) {
139
- inString = false;
140
- stringChar = "";
141
- }
142
- continue;
143
- }
144
- // 템플릿 리터럴 시작/종료
145
- if (char === "`" && !inString) {
146
- inTemplate = !inTemplate;
147
- continue;
148
- }
149
- // 문자열/템플릿 내부는 중괄호 카운팅
150
- if (inString || inTemplate) {
151
- continue;
152
- }
153
- // 중괄호 카운팅
154
- if (char === "{") {
155
- braceCount++;
156
- } else if (char === "}") {
157
- braceCount--;
158
- if (braceCount === 0) {
159
- endIdx = i;
160
- break;
161
- }
162
- }
163
- }
164
- // 선언문 끝까지 찾기 (};)
165
- let finalEndIdx = endIdx;
166
- for(let i = endIdx + 1; i < sourceCode.length; i++){
167
- if (sourceCode[i] === ";") {
168
- finalEndIdx = i;
169
- break;
170
- }
171
- }
172
- return sourceCode.substring(startIdx, finalEndIdx + 1);
109
+ * 소스 코드에서 객체 선언을 추출합니다.
110
+ * 중괄호 카운팅 방식으로 중첩된 객체도 정확히 파싱합니다.
111
+ */
112
+ function extractObjectDeclaration(sourceCode, varName) {
113
+ const pattern = new RegExp(`export const ${varName}\\s*=\\s*\\{`);
114
+ const match = pattern.exec(sourceCode);
115
+ if (!match) {
116
+ return "";
117
+ }
118
+ const startIdx = match.index;
119
+ const openBraceIdx = sourceCode.indexOf("{", startIdx);
120
+ let braceCount = 0;
121
+ let inString = false;
122
+ let inTemplate = false;
123
+ let stringChar = "";
124
+ let endIdx = openBraceIdx;
125
+ for (let i = openBraceIdx; i < sourceCode.length; i++) {
126
+ const char = sourceCode[i];
127
+ const prevChar = i > 0 ? sourceCode[i - 1] : "";
128
+ if (prevChar === "\\" && (inString || inTemplate)) {
129
+ continue;
130
+ }
131
+ if ((char === "\"" || char === "'") && !inTemplate) {
132
+ if (!inString) {
133
+ inString = true;
134
+ stringChar = char;
135
+ } else if (char === stringChar) {
136
+ inString = false;
137
+ stringChar = "";
138
+ }
139
+ continue;
140
+ }
141
+ if (char === "`" && !inString) {
142
+ inTemplate = !inTemplate;
143
+ continue;
144
+ }
145
+ if (inString || inTemplate) {
146
+ continue;
147
+ }
148
+ if (char === "{") {
149
+ braceCount++;
150
+ } else if (char === "}") {
151
+ braceCount--;
152
+ if (braceCount === 0) {
153
+ endIdx = i;
154
+ break;
155
+ }
156
+ }
157
+ }
158
+ let finalEndIdx = endIdx;
159
+ for (let i = endIdx + 1; i < sourceCode.length; i++) {
160
+ if (sourceCode[i] === ";") {
161
+ finalEndIdx = i;
162
+ break;
163
+ }
164
+ }
165
+ return sourceCode.substring(startIdx, finalEndIdx + 1);
173
166
  }
167
+ var init_helpers = __esmMin((() => {
168
+ init_entity_manager();
169
+ init_types();
170
+ }));
174
171
 
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZW1wbGF0ZS9oZWxwZXJzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCI7XG5pbXBvcnQgeyBFbnRpdHlNYW5hZ2VyLCB0eXBlIEVudGl0eU5hbWVzUmVjb3JkIH0gZnJvbSBcIi4uL2VudGl0eS9lbnRpdHktbWFuYWdlclwiO1xuaW1wb3J0IHsgaXNFbnVtUHJvcCwgaXNSZWxhdGlvblByb3AsIHR5cGUgUmVsYXRpb25Qcm9wIH0gZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5cbi8qKlxuICogRW51beydmCDtkZzsi5zsmqkg652867Ko7J2EIOqwgOyguOyYteuLiOuLpC5cbiAqIE9yZGVyQnksIFNlYXJjaEZpZWxkIOuTsSDtirnsiJjtlZwg6rK97Jqw7JmAIOydvOuwmCBFbnVt7J2EIOq1rOu2hO2VmOyXrCDsspjrpqztlanri4jri6QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRMYWJlbChlbnRpdHlJZDogc3RyaW5nLCBlbnVtSWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmIChlbnVtSWQuZW5kc1dpdGgoXCJPcmRlckJ5XCIpKSB7XG4gICAgcmV0dXJuIFwi7KCV66CsXCI7XG4gIH0gZWxzZSBpZiAoZW51bUlkLmVuZHNXaXRoKFwiU2VhcmNoRmllbGRcIikpIHtcbiAgICByZXR1cm4gXCLqsoDsg4lcIjtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBlbnVtUHJvcCA9IEVudGl0eU1hbmFnZXIuZ2V0KGVudGl0eUlkKS5wcm9wcy5maW5kKFxuICAgICAgKHByb3ApID0+IGAke2VudGl0eUlkfSR7aW5mbGVjdGlvbi5jYW1lbGl6ZShwcm9wLm5hbWUpfWAgPT09IGVudW1JZCxcbiAgICApO1xuICAgIGlmIChlbnVtUHJvcD8uZGVzYykge1xuICAgICAgcmV0dXJuIGVudW1Qcm9wLmRlc2M7XG4gICAgfVxuICAgIHJldHVybiBlbnVtSWQ7XG4gIH1cbn1cblxuLyoqXG4gKiDsu6zrn7wg7J2066aE7Jy866Gc67aA7YSwIEVudW0g7KCV67O066W8IOy2lOy2nO2VqeuLiOuLpC5cbiAqIEVudGl0eeydmCBwcm9wIOykkSBlbnVtIO2DgOyeheyduCDqsoPsnYQg7LC+7JWEIOq0gOugqCDsoJXrs7Trpbwg67CY7ZmY7ZWp64uI64ukLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RW51bUluZm9Gcm9tQ29sTmFtZShcbiAgZW50aXR5SWQ6IHN0cmluZyxcbiAgY29sTmFtZTogc3RyaW5nLFxuKToge1xuICBpZDogc3RyaW5nO1xuICB0YXJnZXRFbnRpdHlOYW1lczogRW50aXR5TmFtZXNSZWNvcmQ7XG4gIHRhcmdldEVudGl0eUlkOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG59IHtcbiAgY29uc3QgYmFzZUVudGl0eSA9IEVudGl0eU1hbmFnZXIuZ2V0KGVudGl0eUlkKTtcbiAgY29uc3QgcHJvcCA9IGJhc2VFbnRpdHkucHJvcHMuZmluZCgocCkgPT4gcC5uYW1lID09PSBjb2xOYW1lKTtcbiAgaWYgKHByb3AgJiYgaXNFbnVtUHJvcChwcm9wKSkge1xuICAgIHJldHVybiB7XG4gICAgICBpZDogcHJvcC5pZCxcbiAgICAgIHRhcmdldEVudGl0eUlkOiBlbnRpdHlJZCxcbiAgICAgIHRhcmdldEVudGl0eU5hbWVzOiBFbnRpdHlNYW5hZ2VyLmdldE5hbWVzRnJvbUlkKGVudGl0eUlkKSxcbiAgICAgIHRpdGxlOiBwcm9wLmRlc2MgPz8gcHJvcC5pZCxcbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGlkQ2FuZGlkYXRlID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShcbiAgICAgIGAke2luZmxlY3Rpb24udW5kZXJzY29yZShlbnRpdHlJZCl9XyR7aW5mbGVjdGlvbi51bmRlcnNjb3JlKGNvbE5hbWUpfWAsXG4gICAgICBmYWxzZSxcbiAgICApO1xuICAgIGNvbnN0IHRhcmdldEVudGl0eU5hbWVzID0gRW50aXR5TWFuYWdlci5nZXROYW1lc0Zyb21JZChlbnRpdHlJZCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiBpZENhbmRpZGF0ZSxcbiAgICAgIHRhcmdldEVudGl0eUlkOiBlbnRpdHlJZCxcbiAgICAgIHRhcmdldEVudGl0eU5hbWVzOiB0YXJnZXRFbnRpdHlOYW1lcyxcbiAgICAgIHRpdGxlOiBpZENhbmRpZGF0ZSxcbiAgICB9O1xuICB9XG59XG5cbi8qKlxuICog7Lus65+8IOydtOumhOycvOuhnOu2gO2EsCBSZWxhdGlvbiBwcm9wIOygleuztOulvCDqsIDsoLjsmLXri4jri6QuXG4gKiDqtIDqs4TtmJUgcHJvcOydtCDslYTri4wg6rK97JqwIOyXkOufrOulvCDrsJzsg53si5ztgrXri4jri6QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZWxhdGlvblByb3BGcm9tQ29sTmFtZShlbnRpdHlJZDogc3RyaW5nLCBjb2xOYW1lOiBzdHJpbmcpOiBSZWxhdGlvblByb3Age1xuICBjb25zdCBiYXNlRW50aXR5ID0gRW50aXR5TWFuYWdlci5nZXQoZW50aXR5SWQpO1xuICBjb25zdCByZWxQcm9wID0gYmFzZUVudGl0eS5wcm9wcy5maW5kKChwcm9wKSA9PiBwcm9wLm5hbWUgPT09IGNvbE5hbWUpO1xuICBpZiAoaXNSZWxhdGlvblByb3AocmVsUHJvcCkpIHtcbiAgICBjb25zdCByZWxFbnRpdHkgPSBFbnRpdHlNYW5hZ2VyLmdldChyZWxQcm9wLndpdGgpO1xuICAgIGlmIChyZWxFbnRpdHkucGFyZW50SWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiT25seSBwYXJlbnQgZW50aXRpZXMgY2FuIGJlIHVzZWQgYXMgcmVsYXRpb24gcHJvcHNcIik7XG4gICAgfVxuICAgIHJldHVybiByZWxQcm9wO1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcihg7LC+7J2EIOyImCDsl4bripQgUmVsYXRpb24gJHtjb2xOYW1lfWApO1xuICB9XG59XG5cbi8qKlxuICogRksg7Lus65+866qF7JeQ7IScIOyLpOygnCByZWxhdGlvbiDsnbTrpoTsnYQg7LaU7Lac7ZWp64uI64ukLlxuICogQmVsb25nc1RvT25lL09uZVRvT25lIHJlbGF0aW9u7J2AIHN1YnNldOyXkOyEnCBGSyDsu6zrn7zrqoUodXNlcl9pZCnsnLzroZwg7IOd7ISx65CY66+A66GcIOuzgO2ZmOydtCDtlYTsmpTtlZjqs6AsXG4gKiBNYW55VG9NYW55IHJlbGF0aW9u7J2AIHN1YnNldOyXkOyEnCByZWxhdGlvbuuqhShlbXBsb3llZSnsnLzroZwg7IOd7ISx65CY66+A66GcIOuzgO2ZmOydtCDrtojtlYTsmpTtlanri4jri6QuXG4gKlxuICogQGV4YW1wbGVcbiAqIGdldFJlbGF0aW9uTmFtZUZyb21Db2x1bW5OYW1lKFwiRW1wbG95ZWVcIiwgXCJ1c2VyX2lkXCIpIC8vIFwidXNlclwiXG4gKiBnZXRSZWxhdGlvbk5hbWVGcm9tQ29sdW1uTmFtZShcIlByb2plY3RcIiwgXCJ0YWdfaWRzXCIpIC8vIFwidGFnc1wiXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZWxhdGlvbk5hbWVGcm9tQ29sdW1uTmFtZShlbnRpdHlJZDogc3RyaW5nLCBjb2xOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAvLyBfaWRzICjrs7XsiJgpIOyymOumrFxuICBpZiAoY29sTmFtZS5lbmRzV2l0aChcIl9pZHNcIikpIHtcbiAgICBjb25zdCBiYXNlTmFtZSA9IGNvbE5hbWUucmVwbGFjZSgvX2lkcyQvLCBcIlwiKTtcbiAgICAvLyDrqLzsoIAgYmFzZSBuYW1l7Jy866GcIOywvuq4sFxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZWxQcm9wID0gZ2V0UmVsYXRpb25Qcm9wRnJvbUNvbE5hbWUoZW50aXR5SWQsIGJhc2VOYW1lKTtcbiAgICAgIHJldHVybiByZWxQcm9wLm5hbWU7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBwbHVyYWxpemXtlbTshJwg7LC+6riwXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBwbHVyYWxOYW1lID0gaW5mbGVjdGlvbi5wbHVyYWxpemUoYmFzZU5hbWUpO1xuICAgICAgICBjb25zdCByZWxQcm9wID0gZ2V0UmVsYXRpb25Qcm9wRnJvbUNvbE5hbWUoZW50aXR5SWQsIHBsdXJhbE5hbWUpO1xuICAgICAgICByZXR1cm4gcmVsUHJvcC5uYW1lO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHJldHVybiBjb2xOYW1lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBfaWQgKOuLqOyImCkg7LKY66asXG4gIGlmIChjb2xOYW1lLmVuZHNXaXRoKFwiX2lkXCIpICYmIGNvbE5hbWUgIT09IFwiaWRcIikge1xuICAgIGNvbnN0IGJhc2VOYW1lID0gY29sTmFtZS5yZXBsYWNlKC9faWQkLywgXCJcIik7XG4gICAgLy8g66i87KCAIGJhc2UgbmFtZeycvOuhnCDssL7quLBcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVsUHJvcCA9IGdldFJlbGF0aW9uUHJvcEZyb21Db2xOYW1lKGVudGl0eUlkLCBiYXNlTmFtZSk7XG4gICAgICByZXR1cm4gcmVsUHJvcC5uYW1lO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gc2luZ3VsYXJpemXtlbTshJwg7LC+6riwXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBzaW5ndWxhck5hbWUgPSBpbmZsZWN0aW9uLnNpbmd1bGFyaXplKGJhc2VOYW1lKTtcbiAgICAgICAgY29uc3QgcmVsUHJvcCA9IGdldFJlbGF0aW9uUHJvcEZyb21Db2xOYW1lKGVudGl0eUlkLCBzaW5ndWxhck5hbWUpO1xuICAgICAgICByZXR1cm4gcmVsUHJvcC5uYW1lO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHJldHVybiBjb2xOYW1lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gY29sTmFtZTtcbn1cblxuLyoqXG4gKiDshozsiqQg7L2U65Oc7JeQ7IScIOqwneyytCDshKDslrjsnYQg7LaU7Lac7ZWp64uI64ukLlxuICog7KSR6rSE7Zi4IOy5tOyatO2MhSDrsKnsi53snLzroZwg7KSR7LKp65CcIOqwneyytOuPhCDsoJXtmZXtnogg7YyM7Iux7ZWp64uI64ukLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdE9iamVjdERlY2xhcmF0aW9uKHNvdXJjZUNvZGU6IHN0cmluZywgdmFyTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgLy8gXCJleHBvcnQgY29uc3QgdmFyTmFtZSA9IHtcIiDtjKjthLQg7LC+6riwXG4gIGNvbnN0IHBhdHRlcm4gPSBuZXcgUmVnRXhwKGBleHBvcnQgY29uc3QgJHt2YXJOYW1lfVxcXFxzKj1cXFxccypcXFxce2ApO1xuICBjb25zdCBtYXRjaCA9IHBhdHRlcm4uZXhlYyhzb3VyY2VDb2RlKTtcblxuICBpZiAoIW1hdGNoKSB7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICAvLyDsi5zsnpEg7JyE7LmYXG4gIGNvbnN0IHN0YXJ0SWR4ID0gbWF0Y2guaW5kZXg7XG4gIGNvbnN0IG9wZW5CcmFjZUlkeCA9IHNvdXJjZUNvZGUuaW5kZXhPZihcIntcIiwgc3RhcnRJZHgpO1xuXG4gIC8vIOykkeq0hO2YuCDsubTsmrTtjIVcbiAgbGV0IGJyYWNlQ291bnQgPSAwO1xuICBsZXQgaW5TdHJpbmcgPSBmYWxzZTtcbiAgbGV0IGluVGVtcGxhdGUgPSBmYWxzZTtcbiAgbGV0IHN0cmluZ0NoYXIgPSBcIlwiO1xuICBsZXQgZW5kSWR4ID0gb3BlbkJyYWNlSWR4O1xuXG4gIGZvciAobGV0IGkgPSBvcGVuQnJhY2VJZHg7IGkgPCBzb3VyY2VDb2RlLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgY2hhciA9IHNvdXJjZUNvZGVbaV07XG4gICAgY29uc3QgcHJldkNoYXIgPSBpID4gMCA/IHNvdXJjZUNvZGVbaSAtIDFdIDogXCJcIjtcblxuICAgIC8vIOydtOyKpOy8gOydtO2UhOuQnCDrrLjsnpDripQg66y07IucXG4gICAgaWYgKHByZXZDaGFyID09PSBcIlxcXFxcIiAmJiAoaW5TdHJpbmcgfHwgaW5UZW1wbGF0ZSkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIC8vIOusuOyekOyXtCDsi5zsnpEv7KKF66OMXG4gICAgaWYgKChjaGFyID09PSAnXCInIHx8IGNoYXIgPT09IFwiJ1wiKSAmJiAhaW5UZW1wbGF0ZSkge1xuICAgICAgaWYgKCFpblN0cmluZykge1xuICAgICAgICBpblN0cmluZyA9IHRydWU7XG4gICAgICAgIHN0cmluZ0NoYXIgPSBjaGFyO1xuICAgICAgfSBlbHNlIGlmIChjaGFyID09PSBzdHJpbmdDaGFyKSB7XG4gICAgICAgIGluU3RyaW5nID0gZmFsc2U7XG4gICAgICAgIHN0cmluZ0NoYXIgPSBcIlwiO1xuICAgICAgfVxuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgLy8g7YWc7ZSM66a/IOumrO2EsOuftCDsi5zsnpEv7KKF66OMXG4gICAgaWYgKGNoYXIgPT09IFwiYFwiICYmICFpblN0cmluZykge1xuICAgICAgaW5UZW1wbGF0ZSA9ICFpblRlbXBsYXRlO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgLy8g66y47J6Q7Je0L+2FnO2UjOumvyDrgrTrtoDripQg7KSR6rSE7Zi4IOy5tOyatO2MhSDslYgg7ZWoXG4gICAgaWYgKGluU3RyaW5nIHx8IGluVGVtcGxhdGUpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIC8vIOykkeq0hO2YuCDsubTsmrTtjIVcbiAgICBpZiAoY2hhciA9PT0gXCJ7XCIpIHtcbiAgICAgIGJyYWNlQ291bnQrKztcbiAgICB9IGVsc2UgaWYgKGNoYXIgPT09IFwifVwiKSB7XG4gICAgICBicmFjZUNvdW50LS07XG4gICAgICBpZiAoYnJhY2VDb3VudCA9PT0gMCkge1xuICAgICAgICBlbmRJZHggPSBpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyDshKDslrjrrLgg64Gd6rmM7KeAIOywvuq4sCAofTspXG4gIGxldCBmaW5hbEVuZElkeCA9IGVuZElkeDtcbiAgZm9yIChsZXQgaSA9IGVuZElkeCArIDE7IGkgPCBzb3VyY2VDb2RlLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKHNvdXJjZUNvZGVbaV0gPT09IFwiO1wiKSB7XG4gICAgICBmaW5hbEVuZElkeCA9IGk7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc291cmNlQ29kZS5zdWJzdHJpbmcoc3RhcnRJZHgsIGZpbmFsRW5kSWR4ICsgMSk7XG59XG4iXSwibmFtZXMiOlsiaW5mbGVjdGlvbiIsIkVudGl0eU1hbmFnZXIiLCJpc0VudW1Qcm9wIiwiaXNSZWxhdGlvblByb3AiLCJnZXRMYWJlbCIsImVudGl0eUlkIiwiZW51bUlkIiwiZW5kc1dpdGgiLCJlbnVtUHJvcCIsImdldCIsInByb3BzIiwiZmluZCIsInByb3AiLCJjYW1lbGl6ZSIsIm5hbWUiLCJkZXNjIiwiZ2V0RW51bUluZm9Gcm9tQ29sTmFtZSIsImNvbE5hbWUiLCJiYXNlRW50aXR5IiwicCIsImlkIiwidGFyZ2V0RW50aXR5SWQiLCJ0YXJnZXRFbnRpdHlOYW1lcyIsImdldE5hbWVzRnJvbUlkIiwidGl0bGUiLCJpZENhbmRpZGF0ZSIsInVuZGVyc2NvcmUiLCJnZXRSZWxhdGlvblByb3BGcm9tQ29sTmFtZSIsInJlbFByb3AiLCJyZWxFbnRpdHkiLCJ3aXRoIiwicGFyZW50SWQiLCJ1bmRlZmluZWQiLCJFcnJvciIsImdldFJlbGF0aW9uTmFtZUZyb21Db2x1bW5OYW1lIiwiYmFzZU5hbWUiLCJyZXBsYWNlIiwicGx1cmFsTmFtZSIsInBsdXJhbGl6ZSIsInNpbmd1bGFyTmFtZSIsInNpbmd1bGFyaXplIiwiZXh0cmFjdE9iamVjdERlY2xhcmF0aW9uIiwic291cmNlQ29kZSIsInZhck5hbWUiLCJwYXR0ZXJuIiwiUmVnRXhwIiwibWF0Y2giLCJleGVjIiwic3RhcnRJZHgiLCJpbmRleCIsIm9wZW5CcmFjZUlkeCIsImluZGV4T2YiLCJicmFjZUNvdW50IiwiaW5TdHJpbmciLCJpblRlbXBsYXRlIiwic3RyaW5nQ2hhciIsImVuZElkeCIsImkiLCJsZW5ndGgiLCJjaGFyIiwicHJldkNo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
172
+ //#endregion
173
+ init_helpers();
174
+ export { extractObjectDeclaration, getEnumInfoFromColName, getLabel, getRelationNameFromColumnName, getRelationPropFromColName, init_helpers };
175
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVtcGxhdGUvaGVscGVycy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiO1xuXG5pbXBvcnQgeyBFbnRpdHlNYW5hZ2VyIH0gZnJvbSBcIi4uL2VudGl0eS9lbnRpdHktbWFuYWdlclwiO1xuaW1wb3J0IHsgdHlwZSBFbnRpdHlOYW1lc1JlY29yZCB9IGZyb20gXCIuLi9lbnRpdHkvZW50aXR5LW1hbmFnZXJcIjtcbmltcG9ydCB7IGlzRW51bVByb3AsIGlzUmVsYXRpb25Qcm9wIH0gZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgeyB0eXBlIFJlbGF0aW9uUHJvcCB9IGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuXG4vKipcbiAqIEVudW3snZgg7ZGc7Iuc7JqpIOudvOuyqOydhCDqsIDsoLjsmLXri4jri6QuXG4gKiBPcmRlckJ5LCBTZWFyY2hGaWVsZCDrk7Eg7Yq57IiY7ZWcIOqyveyasOyZgCDsnbzrsJggRW51beydhCDqtazrtoTtlZjsl6wg7LKY66as7ZWp64uI64ukLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGFiZWwoZW50aXR5SWQ6IHN0cmluZywgZW51bUlkOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoZW51bUlkLmVuZHNXaXRoKFwiT3JkZXJCeVwiKSkge1xuICAgIHJldHVybiBcIuygleugrFwiO1xuICB9IGVsc2UgaWYgKGVudW1JZC5lbmRzV2l0aChcIlNlYXJjaEZpZWxkXCIpKSB7XG4gICAgcmV0dXJuIFwi6rKA7IOJXCI7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgZW51bVByb3AgPSBFbnRpdHlNYW5hZ2VyLmdldChlbnRpdHlJZCkucHJvcHMuZmluZChcbiAgICAgIChwcm9wKSA9PiBgJHtlbnRpdHlJZH0ke2luZmxlY3Rpb24uY2FtZWxpemUocHJvcC5uYW1lKX1gID09PSBlbnVtSWQsXG4gICAgKTtcbiAgICBpZiAoZW51bVByb3A/LmRlc2MpIHtcbiAgICAgIHJldHVybiBlbnVtUHJvcC5kZXNjO1xuICAgIH1cbiAgICByZXR1cm4gZW51bUlkO1xuICB9XG59XG5cbi8qKlxuICog7Lus65+8IOydtOumhOycvOuhnOu2gO2EsCBFbnVtIOygleuztOulvCDstpTstpztlanri4jri6QuXG4gKiBFbnRpdHnsnZggcHJvcCDspJEgZW51bSDtg4DsnoXsnbgg6rKD7J2EIOywvuyVhCDqtIDroKgg7KCV67O066W8IOuwmO2ZmO2VqeuLiOuLpC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVudW1JbmZvRnJvbUNvbE5hbWUoXG4gIGVudGl0eUlkOiBzdHJpbmcsXG4gIGNvbE5hbWU6IHN0cmluZyxcbik6IHtcbiAgaWQ6IHN0cmluZztcbiAgdGFyZ2V0RW50aXR5TmFtZXM6IEVudGl0eU5hbWVzUmVjb3JkO1xuICB0YXJnZXRFbnRpdHlJZDogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xufSB7XG4gIGNvbnN0IGJhc2VFbnRpdHkgPSBFbnRpdHlNYW5hZ2VyLmdldChlbnRpdHlJZCk7XG4gIGNvbnN0IHByb3AgPSBiYXNlRW50aXR5LnByb3BzLmZpbmQoKHApID0+IHAubmFtZSA9PT0gY29sTmFtZSk7XG4gIGlmIChwcm9wICYmIGlzRW51bVByb3AocHJvcCkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IHByb3AuaWQsXG4gICAgICB0YXJnZXRFbnRpdHlJZDogZW50aXR5SWQsXG4gICAgICB0YXJnZXRFbnRpdHlOYW1lczogRW50aXR5TWFuYWdlci5nZXROYW1lc0Zyb21JZChlbnRpdHlJZCksXG4gICAgICB0aXRsZTogcHJvcC5kZXNjID8/IHByb3AuaWQsXG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBpZENhbmRpZGF0ZSA9IGluZmxlY3Rpb24uY2FtZWxpemUoXG4gICAgICBgJHtpbmZsZWN0aW9uLnVuZGVyc2NvcmUoZW50aXR5SWQpfV8ke2luZmxlY3Rpb24udW5kZXJzY29yZShjb2xOYW1lKX1gLFxuICAgICAgZmFsc2UsXG4gICAgKTtcbiAgICBjb25zdCB0YXJnZXRFbnRpdHlOYW1lcyA9IEVudGl0eU1hbmFnZXIuZ2V0TmFtZXNGcm9tSWQoZW50aXR5SWQpO1xuICAgIHJldHVybiB7XG4gICAgICBpZDogaWRDYW5kaWRhdGUsXG4gICAgICB0YXJnZXRFbnRpdHlJZDogZW50aXR5SWQsXG4gICAgICB0YXJnZXRFbnRpdHlOYW1lczogdGFyZ2V0RW50aXR5TmFtZXMsXG4gICAgICB0aXRsZTogaWRDYW5kaWRhdGUsXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIOy7rOufvCDsnbTrpoTsnLzroZzrtoDthLAgUmVsYXRpb24gcHJvcCDsoJXrs7Trpbwg6rCA7KC47Ji164uI64ukLlxuICog6rSA6rOE7ZiVIHByb3DsnbQg7JWE64uMIOqyveyasCDsl5Drn6zrpbwg67Cc7IOd7Iuc7YK164uI64ukLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVsYXRpb25Qcm9wRnJvbUNvbE5hbWUoZW50aXR5SWQ6IHN0cmluZywgY29sTmFtZTogc3RyaW5nKTogUmVsYXRpb25Qcm9wIHtcbiAgY29uc3QgYmFzZUVudGl0eSA9IEVudGl0eU1hbmFnZXIuZ2V0KGVudGl0eUlkKTtcbiAgY29uc3QgcmVsUHJvcCA9IGJhc2VFbnRpdHkucHJvcHMuZmluZCgocHJvcCkgPT4gcHJvcC5uYW1lID09PSBjb2xOYW1lKTtcbiAgaWYgKGlzUmVsYXRpb25Qcm9wKHJlbFByb3ApKSB7XG4gICAgY29uc3QgcmVsRW50aXR5ID0gRW50aXR5TWFuYWdlci5nZXQocmVsUHJvcC53aXRoKTtcbiAgICBpZiAocmVsRW50aXR5LnBhcmVudElkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIk9ubHkgcGFyZW50IGVudGl0aWVzIGNhbiBiZSB1c2VkIGFzIHJlbGF0aW9uIHByb3BzXCIpO1xuICAgIH1cbiAgICByZXR1cm4gcmVsUHJvcDtcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYOywvuydhCDsiJgg7JeG64qUIFJlbGF0aW9uICR7Y29sTmFtZX1gKTtcbiAgfVxufVxuXG4vKipcbiAqIEZLIOy7rOufvOuqheyXkOyEnCDsi6TsoJwgcmVsYXRpb24g7J2066aE7J2EIOy2lOy2nO2VqeuLiOuLpC5cbiAqIEJlbG9uZ3NUb09uZS9PbmVUb09uZSByZWxhdGlvbuydgCBzdWJzZXTsl5DshJwgRksg7Lus65+866qFKHVzZXJfaWQp7Jy866GcIOyDneyEseuQmOuvgOuhnCDrs4DtmZjsnbQg7ZWE7JqU7ZWY6rOgLFxuICogTWFueVRvTWFueSByZWxhdGlvbuydgCBzdWJzZXTsl5DshJwgcmVsYXRpb27rqoUoZW1wbG95ZWUp7Jy866GcIOyDneyEseuQmOuvgOuhnCDrs4DtmZjsnbQg67aI7ZWE7JqU7ZWp64uI64ukLlxuICpcbiAqIEBleGFtcGxlXG4gKiBnZXRSZWxhdGlvbk5hbWVGcm9tQ29sdW1uTmFtZShcIkVtcGxveWVlXCIsIFwidXNlcl9pZFwiKSAvLyBcInVzZXJcIlxuICogZ2V0UmVsYXRpb25OYW1lRnJvbUNvbHVtbk5hbWUoXCJQcm9qZWN0XCIsIFwidGFnX2lkc1wiKSAvLyBcInRhZ3NcIlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVsYXRpb25OYW1lRnJvbUNvbHVtbk5hbWUoZW50aXR5SWQ6IHN0cmluZywgY29sTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgLy8gX2lkcyAo67O17IiYKSDsspjrpqxcbiAgaWYgKGNvbE5hbWUuZW5kc1dpdGgoXCJfaWRzXCIpKSB7XG4gICAgY29uc3QgYmFzZU5hbWUgPSBjb2xOYW1lLnJlcGxhY2UoL19pZHMkLywgXCJcIik7XG4gICAgLy8g66i87KCAIGJhc2UgbmFtZeycvOuhnCDssL7quLBcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVsUHJvcCA9IGdldFJlbGF0aW9uUHJvcEZyb21Db2xOYW1lKGVudGl0eUlkLCBiYXNlTmFtZSk7XG4gICAgICByZXR1cm4gcmVsUHJvcC5uYW1lO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gcGx1cmFsaXpl7ZW07IScIOywvuq4sFxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcGx1cmFsTmFtZSA9IGluZmxlY3Rpb24ucGx1cmFsaXplKGJhc2VOYW1lKTtcbiAgICAgICAgY29uc3QgcmVsUHJvcCA9IGdldFJlbGF0aW9uUHJvcEZyb21Db2xOYW1lKGVudGl0eUlkLCBwbHVyYWxOYW1lKTtcbiAgICAgICAgcmV0dXJuIHJlbFByb3AubmFtZTtcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICByZXR1cm4gY29sTmFtZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gX2lkICjri6jsiJgpIOyymOumrFxuICBpZiAoY29sTmFtZS5lbmRzV2l0aChcIl9pZFwiKSAmJiBjb2xOYW1lICE9PSBcImlkXCIpIHtcbiAgICBjb25zdCBiYXNlTmFtZSA9IGNvbE5hbWUucmVwbGFjZSgvX2lkJC8sIFwiXCIpO1xuICAgIC8vIOuovOyggCBiYXNlIG5hbWXsnLzroZwg7LC+6riwXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlbFByb3AgPSBnZXRSZWxhdGlvblByb3BGcm9tQ29sTmFtZShlbnRpdHlJZCwgYmFzZU5hbWUpO1xuICAgICAgcmV0dXJuIHJlbFByb3AubmFtZTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIHNpbmd1bGFyaXpl7ZW07IScIOywvuq4sFxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3Qgc2luZ3VsYXJOYW1lID0gaW5mbGVjdGlvbi5zaW5ndWxhcml6ZShiYXNlTmFtZSk7XG4gICAgICAgIGNvbnN0IHJlbFByb3AgPSBnZXRSZWxhdGlvblByb3BGcm9tQ29sTmFtZShlbnRpdHlJZCwgc2luZ3VsYXJOYW1lKTtcbiAgICAgICAgcmV0dXJuIHJlbFByb3AubmFtZTtcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICByZXR1cm4gY29sTmFtZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIGNvbE5hbWU7XG59XG5cbi8qKlxuICog7IaM7IqkIOy9lOuTnOyXkOyEnCDqsJ3ssrQg7ISg7Ja47J2EIOy2lOy2nO2VqeuLiOuLpC5cbiAqIOykkeq0hO2YuCDsubTsmrTtjIUg67Cp7Iud7Jy866GcIOykkeyyqeuQnCDqsJ3ssrTrj4Qg7KCV7ZmV7Z6IIO2MjOyLse2VqeuLiOuLpC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RPYmplY3REZWNsYXJhdGlvbihzb3VyY2VDb2RlOiBzdHJpbmcsIHZhck5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIC8vIFwiZXhwb3J0IGNvbnN0IHZhck5hbWUgPSB7XCIg7Yyo7YS0IOywvuq4sFxuICBjb25zdCBwYXR0ZXJuID0gbmV3IFJlZ0V4cChgZXhwb3J0IGNvbnN0ICR7dmFyTmFtZX1cXFxccyo9XFxcXHMqXFxcXHtgKTtcbiAgY29uc3QgbWF0Y2ggPSBwYXR0ZXJuLmV4ZWMoc291cmNlQ29kZSk7XG5cbiAgaWYgKCFtYXRjaCkge1xuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgLy8g7Iuc7J6RIOychOy5mFxuICBjb25zdCBzdGFydElkeCA9IG1hdGNoLmluZGV4O1xuICBjb25zdCBvcGVuQnJhY2VJZHggPSBzb3VyY2VDb2RlLmluZGV4T2YoXCJ7XCIsIHN0YXJ0SWR4KTtcblxuICAvLyDspJHqtITtmLgg7Lm07Jq07YyFXG4gIGxldCBicmFjZUNvdW50ID0gMDtcbiAgbGV0IGluU3RyaW5nID0gZmFsc2U7XG4gIGxldCBpblRlbXBsYXRlID0gZmFsc2U7XG4gIGxldCBzdHJpbmdDaGFyID0gXCJcIjtcbiAgbGV0IGVuZElkeCA9IG9wZW5CcmFjZUlkeDtcblxuICBmb3IgKGxldCBpID0gb3BlbkJyYWNlSWR4OyBpIDwgc291cmNlQ29kZS5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGNoYXIgPSBzb3VyY2VDb2RlW2ldO1xuICAgIGNvbnN0IHByZXZDaGFyID0gaSA+IDAgPyBzb3VyY2VDb2RlW2kgLSAxXSA6IFwiXCI7XG5cbiAgICAvLyDsnbTsiqTsvIDsnbTtlITrkJwg66y47J6Q64qUIOustOyLnFxuICAgIGlmIChwcmV2Q2hhciA9PT0gXCJcXFxcXCIgJiYgKGluU3RyaW5nIHx8IGluVGVtcGxhdGUpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICAvLyDrrLjsnpDsl7Qg7Iuc7J6RL+yiheujjFxuICAgIGlmICgoY2hhciA9PT0gJ1wiJyB8fCBjaGFyID09PSBcIidcIikgJiYgIWluVGVtcGxhdGUpIHtcbiAgICAgIGlmICghaW5TdHJpbmcpIHtcbiAgICAgICAgaW5TdHJpbmcgPSB0cnVlO1xuICAgICAgICBzdHJpbmdDaGFyID0gY2hhcjtcbiAgICAgIH0gZWxzZSBpZiAoY2hhciA9PT0gc3RyaW5nQ2hhcikge1xuICAgICAgICBpblN0cmluZyA9IGZhbHNlO1xuICAgICAgICBzdHJpbmdDaGFyID0gXCJcIjtcbiAgICAgIH1cbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIC8vIO2FnO2UjOumvyDrpqzthLDrn7Qg7Iuc7J6RL+yiheujjFxuICAgIGlmIChjaGFyID09PSBcImBcIiAmJiAhaW5TdHJpbmcpIHtcbiAgICAgIGluVGVtcGxhdGUgPSAhaW5UZW1wbGF0ZTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIC8vIOusuOyekOyXtC/thZztlIzrpr8g64K067aA64qUIOykkeq0hO2YuCDsubTsmrTtjIUg7JWIIO2VqFxuICAgIGlmIChpblN0cmluZyB8fCBpblRlbXBsYXRlKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICAvLyDspJHqtITtmLgg7Lm07Jq07YyFXG4gICAgaWYgKGNoYXIgPT09IFwie1wiKSB7XG4gICAgICBicmFjZUNvdW50Kys7XG4gICAgfSBlbHNlIGlmIChjaGFyID09PSBcIn1cIikge1xuICAgICAgYnJhY2VDb3VudC0tO1xuICAgICAgaWYgKGJyYWNlQ291bnQgPT09IDApIHtcbiAgICAgICAgZW5kSWR4ID0gaTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8g7ISg7Ja466y4IOuBneq5jOyngCDssL7quLAgKH07KVxuICBsZXQgZmluYWxFbmRJZHggPSBlbmRJZHg7XG4gIGZvciAobGV0IGkgPSBlbmRJZHggKyAxOyBpIDwgc291cmNlQ29kZS5sZW5ndGg7IGkrKykge1xuICAgIGlmIChzb3VyY2VDb2RlW2ldID09PSBcIjtcIikge1xuICAgICAgZmluYWxFbmRJZHggPSBpO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHNvdXJjZUNvZGUuc3Vic3RyaW5nKHN0YXJ0SWR4LCBmaW5hbEVuZElkeCArIDEpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBV0EsU0FBZ0IsU0FBUyxVQUFrQixRQUF3QjtBQUNqRSxLQUFJLE9BQU8sU0FBUyxVQUFVLEVBQUU7QUFDOUIsU0FBTztZQUNFLE9BQU8sU0FBUyxjQUFjLEVBQUU7QUFDekMsU0FBTztRQUNGO0VBQ0wsTUFBTSxXQUFXLGNBQWMsSUFBSSxTQUFTLENBQUMsTUFBTSxNQUNoRCxTQUFTLEdBQUcsV0FBVyxXQUFXLFNBQVMsS0FBSyxLQUFLLE9BQU8sT0FDOUQ7QUFDRCxNQUFJLFVBQVUsTUFBTTtBQUNsQixVQUFPLFNBQVM7O0FBRWxCLFNBQU87Ozs7Ozs7QUFRWCxTQUFnQix1QkFDZCxVQUNBLFNBTUE7Q0FDQSxNQUFNLGFBQWEsY0FBYyxJQUFJLFNBQVM7Q0FDOUMsTUFBTSxPQUFPLFdBQVcsTUFBTSxNQUFNLE1BQU0sRUFBRSxTQUFTLFFBQVE7QUFDN0QsS0FBSSxRQUFRLFdBQVcsS0FBSyxFQUFFO0FBQzVCLFNBQU87R0FDTCxJQUFJLEtBQUs7R0FDVCxnQkFBZ0I7R0FDaEIsbUJBQW1CLGNBQWMsZUFBZSxTQUFTO0dBQ3pELE9BQU8sS0FBSyxRQUFRLEtBQUs7R0FDMUI7UUFDSTtFQUNMLE1BQU0sY0FBYyxXQUFXLFNBQzdCLEdBQUcsV0FBVyxXQUFXLFNBQVMsQ0FBQyxHQUFHLFdBQVcsV0FBVyxRQUFRLElBQ3BFLE1BQ0Q7RUFDRCxNQUFNLG9C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
@@ -1,5 +1,5 @@
1
1
  import { type EntityNamesRecord } from "../../entity/entity-manager";
2
- import type { TemplateOptions } from "../../types/types";
2
+ import { type TemplateOptions } from "../../types/types";
3
3
  import { Template } from "../template";
4
4
  export declare class Template__entity extends Template {
5
5
  constructor();
@@ -1 +1 @@
1
- {"version":3,"file":"entity.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/entity.template.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,gBAAiB,SAAQ,QAAQ;;IAK5C,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,EAAE,WAAW,CAAC,EAAE,iBAAiB;;;;IAS1E,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC;;;;;;CAoE1C"}
1
+ {"version":3,"file":"entity.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/entity.template.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,gBAAiB,SAAQ,QAAQ;;IAK5C,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,EAAE,WAAW,CAAC,EAAE,iBAAiB;;;;IAS1E,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC;;;;;;CAoE1C"}
@@ -1,86 +1,77 @@
1
- import { Sonamu } from "../../api/index.js";
2
- import { EntityManager } from "../../entity/entity-manager.js";
3
- import { Template } from "../template.js";
4
- export class Template__entity extends Template {
5
- constructor(){
6
- super("entity");
7
- }
8
- getTargetAndPath(names, parentNames) {
9
- const { dir } = Sonamu.config.api;
10
- return {
11
- target: `${dir}/src/application`,
12
- path: `${(parentNames ?? names).fs}/${names.fs}.entity.json`
13
- };
14
- }
15
- render(options) {
16
- const { entityId, title, parentId, table } = options;
17
- const names = EntityManager.getNamesFromId(entityId);
18
- const parent = (()=>{
19
- if (parentId) {
20
- return {
21
- names: EntityManager.getNamesFromId(parentId),
22
- entity: EntityManager.get(parentId)
23
- };
24
- } else {
25
- return null;
26
- }
27
- })();
28
- return {
29
- ...this.getTargetAndPath(names, parent?.names ?? names),
30
- body: JSON.stringify({
31
- id: entityId,
32
- title: title ?? entityId,
33
- parentId,
34
- table: table ?? names.fsPlural.replace(/-/g, "_"),
35
- props: options.props?.length ? options.props : [
36
- {
37
- name: "id",
38
- type: "integer",
39
- desc: "ID"
40
- },
41
- ...parent ? [
42
- {
43
- type: "relation",
44
- name: parent.names.camel,
45
- relationType: "BelongsToOne",
46
- with: parentId,
47
- onUpdate: "CASCADE",
48
- onDelete: "CASCADE",
49
- desc: parent.entity.title
50
- }
51
- ] : [],
52
- {
53
- name: "created_at",
54
- type: "date",
55
- desc: "등록일시",
56
- dbDefault: "CURRENT_TIMESTAMP"
57
- }
58
- ],
59
- indexes: [
60
- ...options.indexes ?? []
61
- ],
62
- subsets: options.subsets ?? {
63
- ...parentId ? {} : {
64
- A: [
65
- "id",
66
- "created_at"
67
- ]
68
- }
69
- },
70
- enums: options.enums ?? {
71
- ...parentId ? {} : {
72
- [`${names.capital}OrderBy`]: {
73
- "id-desc": "ID최신순"
74
- },
75
- [`${names.capital}SearchField`]: {
76
- id: "ID"
77
- }
78
- }
79
- }
80
- }).trim(),
81
- importKeys: []
82
- };
83
- }
84
- }
1
+ import { Sonamu } from "../../api/sonamu.js";
2
+ import { EntityManager, init_entity_manager } from "../../entity/entity-manager.js";
3
+ import { init_api } from "../../api/index.js";
4
+ import { Template, init_template } from "../template.js";
85
5
 
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZS9pbXBsZW1lbnRhdGlvbnMvZW50aXR5LnRlbXBsYXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNvbmFtdSB9IGZyb20gXCIuLi8uLi9hcGlcIjtcbmltcG9ydCB7IEVudGl0eU1hbmFnZXIsIHR5cGUgRW50aXR5TmFtZXNSZWNvcmQgfSBmcm9tIFwiLi4vLi4vZW50aXR5L2VudGl0eS1tYW5hZ2VyXCI7XG5pbXBvcnQgdHlwZSB7IFRlbXBsYXRlT3B0aW9ucyB9IGZyb20gXCIuLi8uLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHsgVGVtcGxhdGUgfSBmcm9tIFwiLi4vdGVtcGxhdGVcIjtcblxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlX19lbnRpdHkgZXh0ZW5kcyBUZW1wbGF0ZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKFwiZW50aXR5XCIpO1xuICB9XG5cbiAgZ2V0VGFyZ2V0QW5kUGF0aChuYW1lczogRW50aXR5TmFtZXNSZWNvcmQsIHBhcmVudE5hbWVzPzogRW50aXR5TmFtZXNSZWNvcmQpIHtcbiAgICBjb25zdCB7IGRpciB9ID0gU29uYW11LmNvbmZpZy5hcGk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgdGFyZ2V0OiBgJHtkaXJ9L3NyYy9hcHBsaWNhdGlvbmAsXG4gICAgICBwYXRoOiBgJHsocGFyZW50TmFtZXMgPz8gbmFtZXMpLmZzfS8ke25hbWVzLmZzfS5lbnRpdHkuanNvbmAsXG4gICAgfTtcbiAgfVxuXG4gIHJlbmRlcihvcHRpb25zOiBUZW1wbGF0ZU9wdGlvbnNbXCJlbnRpdHlcIl0pIHtcbiAgICBjb25zdCB7IGVudGl0eUlkLCB0aXRsZSwgcGFyZW50SWQsIHRhYmxlIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IG5hbWVzID0gRW50aXR5TWFuYWdlci5nZXROYW1lc0Zyb21JZChlbnRpdHlJZCk7XG5cbiAgICBjb25zdCBwYXJlbnQgPSAoKCkgPT4ge1xuICAgICAgaWYgKHBhcmVudElkKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbmFtZXM6IEVudGl0eU1hbmFnZXIuZ2V0TmFtZXNGcm9tSWQocGFyZW50SWQpLFxuICAgICAgICAgIGVudGl0eTogRW50aXR5TWFuYWdlci5nZXQocGFyZW50SWQpLFxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgfSkoKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi50aGlzLmdldFRhcmdldEFuZFBhdGgobmFtZXMsIHBhcmVudD8ubmFtZXMgPz8gbmFtZXMpLFxuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBpZDogZW50aXR5SWQsXG4gICAgICAgIHRpdGxlOiB0aXRsZSA/PyBlbnRpdHlJZCxcbiAgICAgICAgcGFyZW50SWQsXG4gICAgICAgIHRhYmxlOiB0YWJsZSA/PyBuYW1lcy5mc1BsdXJhbC5yZXBsYWNlKC8tL2csIFwiX1wiKSxcbiAgICAgICAgcHJvcHM6IG9wdGlvbnMucHJvcHM/Lmxlbmd0aFxuICAgICAgICAgID8gb3B0aW9ucy5wcm9wc1xuICAgICAgICAgIDogW1xuICAgICAgICAgICAgICB7IG5hbWU6IFwiaWRcIiwgdHlwZTogXCJpbnRlZ2VyXCIsIGRlc2M6IFwiSURcIiB9LFxuICAgICAgICAgICAgICAuLi4ocGFyZW50XG4gICAgICAgICAgICAgICAgPyBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcInJlbGF0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgbmFtZTogcGFyZW50Lm5hbWVzLmNhbWVsLFxuICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aW9uVHlwZTogXCJCZWxvbmdzVG9PbmVcIixcbiAgICAgICAgICAgICAgICAgICAgICB3aXRoOiBwYXJlbnRJZCxcbiAgICAgICAgICAgICAgICAgICAgICBvblVwZGF0ZTogXCJDQVNDQURFXCIsXG4gICAgICAgICAgICAgICAgICAgICAgb25EZWxldGU6IFwiQ0FTQ0FERVwiLFxuICAgICAgICAgICAgICAgICAgICAgIGRlc2M6IHBhcmVudC5lbnRpdHkudGl0bGUsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgOiBbXSksXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcImNyZWF0ZWRfYXRcIixcbiAgICAgICAgICAgICAgICB0eXBlOiBcImRhdGVcIixcbiAgICAgICAgICAgICAgICBkZXNjOiBcIuuTseuhneydvOyLnFwiLFxuICAgICAgICAgICAgICAgIGRiRGVmYXVsdDogXCJDVVJSRU5UX1RJTUVTVEFNUFwiLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgaW5kZXhlczogWy4uLihvcHRpb25zLmluZGV4ZXMgPz8gW10pXSxcbiAgICAgICAgc3Vic2V0czogb3B0aW9ucy5zdWJzZXRzID8/IHtcbiAgICAgICAgICAuLi4ocGFyZW50SWRcbiAgICAgICAgICAgID8ge31cbiAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgIEE6IFtcImlkXCIsIFwiY3JlYXRlZF9hdFwiXSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICAgIGVudW1zOiBvcHRpb25zLmVudW1zID8/IHtcbiAgICAgICAgICAuLi4ocGFyZW50SWRcbiAgICAgICAgICAgID8ge31cbiAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgIFtgJHtuYW1lcy5jYXBpdGFsfU9yZGVyQnlgXToge1xuICAgICAgICAgICAgICAgICAgXCJpZC1kZXNjXCI6IFwiSUTstZzsi6DsiJxcIixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFtgJHtuYW1lcy5jYXBpdGFsfVNlYXJjaEZpZWxkYF06IHsgaWQ6IFwiSURcIiB9LFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgfSxcbiAgICAgIH0pLnRyaW0oKSxcbiAgICAgIGltcG9ydEtleXM6IFtdLFxuICAgIH07XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTb25hbXUiLCJFbnRpdHlNYW5hZ2VyIiwiVGVtcGxhdGUiLCJUZW1wbGF0ZV9fZW50aXR5IiwiZ2V0VGFyZ2V0QW5kUGF0aCIsIm5hbWVzIiwicGFyZW50TmFtZXMiLCJkaXIiLCJjb25maWciLCJhcGkiLCJ0YXJnZXQiLCJwYXRoIiwiZnMiLCJyZW5kZXIiLCJvcHRpb25zIiwiZW50aXR5SWQiLCJ0aXRsZSIsInBhcmVudElkIiwidGFibGUiLCJnZXROYW1lc0Zyb21JZCIsInBhcmVudCIsImVudGl0eSIsImdldCIsImJvZHkiLCJKU09OIiwic3RyaW5naWZ5IiwiaWQiLCJmc1BsdXJhbCIsInJlcGxhY2UiLCJwcm9wcyIsImxlbmd0aCIsIm5hbWUiLCJ0eXBlIiwiZGVzYyIsImNhbWVsIiwicmVsYXRpb25UeXBlIiwid2l0aCIsIm9uVXBkYXRlIiwib25EZWxldGUiLCJkYkRlZmF1bHQiLCJpbmRleGVzIiwic3Vic2V0cyIsIkEiLCJlbnVtcyIsImNhcGl0YWwiLCJ0cmltIiwiaW1wb3J0S2V5cyJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsTUFBTSxRQUFRLHFCQUFZO0FBQ25DLFNBQVNDLGFBQWEsUUFBZ0MsaUNBQThCO0FBRXBGLFNBQVNDLFFBQVEsUUFBUSxpQkFBYztBQUV2QyxPQUFPLE1BQU1DLHlCQUF5QkQ7SUFDcEMsYUFBYztRQUNaLEtBQUssQ0FBQztJQUNSO0lBRUFFLGlCQUFpQkMsS0FBd0IsRUFBRUMsV0FBK0IsRUFBRTtRQUMxRSxNQUFNLEVBQUVDLEdBQUcsRUFBRSxHQUFHUCxPQUFPUSxNQUFNLENBQUNDLEdBQUc7UUFFakMsT0FBTztZQUNMQyxRQUFRLEdBQUdILElBQUksZ0JBQWdCLENBQUM7WUFDaENJLE1BQU0sR0FBRyxBQUFDTCxDQUFBQSxlQUFlRCxLQUFJLEVBQUdPLEVBQUUsQ0FBQyxDQUFDLEVBQUVQLE1BQU1PLEVBQUUsQ0FBQyxZQUFZLENBQUM7UUFDOUQ7SUFDRjtJQUVBQyxPQUFPQyxPQUFrQyxFQUFFO1FBQ3pDLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxLQUFLLEVBQUVDLFFBQVEsRUFBRUMsS0FBSyxFQUFFLEdBQUdKO1FBQzdDLE1BQU1ULFFBQVFKLGNBQWNrQixjQUFjLENBQUNKO1FBRTNDLE1BQU1LLFNBQVMsQUFBQyxDQUFBO1lBQ2QsSUFBSUgsVUFBVTtnQkFDWixPQUFPO29CQUNMWixPQUFPSixjQUFja0IsY0FBYyxDQUFDRjtvQkFDcENJLFFBQVFwQixjQUFjcUIsR0FBRyxDQUFDTDtnQkFDNUI7WUFDRixPQUFPO2dCQUNMLE9BQU87WUFDVDtRQUNGLENBQUE7UUFFQSxPQUFPO1lBQ0wsR0FBRyxJQUFJLENBQUNiLGdCQUFnQixDQUFDQyxPQUFPZSxRQUFRZixTQUFTQSxNQUFNO1lBQ3ZEa0IsTUFBTUMsS0FBS0MsU0FBUyxDQUFDO2dCQUNuQkMsSUFBSVg7Z0JBQ0pDLE9BQU9BLFNBQVNEO2dCQUNoQkU7Z0JBQ0FDLE9BQU9BLFNBQVNiLE1BQU1zQixRQUFRLENBQUNDLE9BQU8sQ0FBQyxNQUFNO2dCQUM3Q0MsT0FBT2YsUUFBUWUsS0FBSyxFQUFFQyxTQUNsQmhCLFFBQVFlLEtBQUssR0FDYjtvQkFDRTt3QkFBRUUsTUFBTTt3QkFBTUMsTUFBTTt3QkFBV0MsTUFBTTtvQkFBSzt1QkFDdENiLFNBQ0E7d0JBQ0U7NEJBQ0VZLE1BQU07NEJBQ05ELE1BQU1YLE9BQU9mLEtBQUssQ0FBQzZCLEtBQUs7NEJBQ3hCQyxjQUFjOzRCQUNkQyxNQUFNbkI7NEJBQ05vQixVQUFVOzRCQUNWQyxVQUFVOzRCQUNWTCxNQUFNYixPQUFPQyxNQUFNLENBQUNMLEtBQUs7d0JBQzNCO3FCQUNELEdBQ0QsRUFBRTtvQkFDTjt3QkFDRWUsTUFBTTt3QkFDTkMsTUFBTTt3QkFDTkMsTUFBTTt3QkFDTk0sV0FBVztvQkFDYjtpQkFDRDtnQkFDTEMsU0FBUzt1QkFBSzFCLFFBQVEwQixPQUFPLElBQUksRUFBRTtpQkFBRTtnQkFDckNDLFNBQVMzQixRQUFRMkIsT0FBTyxJQUFJO29CQUMxQixHQUFJeEIsV0FDQSxDQUFDLElBQ0Q7d0JBQ0V5QixHQUFHOzRCQUFDOzRCQUFNO3lCQUFhO29CQUN6QixDQUFDO2dCQUNQO2dCQUNBQyxPQUFPN0IsUUFBUTZCLEtBQUssSUFBSTtvQkFDdEIsR0FBSTFCLFdBQ0EsQ0FBQyxJQUNEO3dCQUNFLENBQUMsR0FBR1osTUFBTXVDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFOzRCQUMzQixXQUFXO3dCQUNiO3dCQUNBLENBQUMsR0FBR3ZDLE1BQU11QyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRTs0QkFBRWxCLElBQUk7d0JBQUs7b0JBQzlDLENBQUM7Z0JBQ1A7WUFDRixHQUFHbUIsSUFBSTtZQUNQQyxZQUFZLEVBQUU7UUFDaEI7SUFDRjtBQUNGIn0=
6
+ //#region src/template/implementations/entity.template.ts
7
+ init_api();
8
+ init_entity_manager();
9
+ init_template();
10
+ var Template__entity = class extends Template {
11
+ constructor() {
12
+ super("entity");
13
+ }
14
+ getTargetAndPath(names, parentNames) {
15
+ const { dir } = Sonamu.config.api;
16
+ return {
17
+ target: `${dir}/src/application`,
18
+ path: `${(parentNames ?? names).fs}/${names.fs}.entity.json`
19
+ };
20
+ }
21
+ render(options) {
22
+ const { entityId, title, parentId, table } = options;
23
+ const names = EntityManager.getNamesFromId(entityId);
24
+ const parent = (() => {
25
+ if (parentId) {
26
+ return {
27
+ names: EntityManager.getNamesFromId(parentId),
28
+ entity: EntityManager.get(parentId)
29
+ };
30
+ } else {
31
+ return null;
32
+ }
33
+ })();
34
+ return {
35
+ ...this.getTargetAndPath(names, parent?.names ?? names),
36
+ body: JSON.stringify({
37
+ id: entityId,
38
+ title: title ?? entityId,
39
+ parentId,
40
+ table: table ?? names.fsPlural.replace(/-/g, "_"),
41
+ props: options.props?.length ? options.props : [
42
+ {
43
+ name: "id",
44
+ type: "integer",
45
+ desc: "ID"
46
+ },
47
+ ...parent ? [{
48
+ type: "relation",
49
+ name: parent.names.camel,
50
+ relationType: "BelongsToOne",
51
+ with: parentId,
52
+ onUpdate: "CASCADE",
53
+ onDelete: "CASCADE",
54
+ desc: parent.entity.title
55
+ }] : [],
56
+ {
57
+ name: "created_at",
58
+ type: "date",
59
+ desc: "등록일시",
60
+ dbDefault: "CURRENT_TIMESTAMP"
61
+ }
62
+ ],
63
+ indexes: [...options.indexes ?? []],
64
+ subsets: options.subsets ?? (parentId ? {} : { A: ["id", "created_at"] }),
65
+ enums: options.enums ?? (parentId ? {} : {
66
+ [`${names.capital}OrderBy`]: { "id-desc": "ID최신순" },
67
+ [`${names.capital}SearchField`]: { id: "ID" }
68
+ })
69
+ }).trim(),
70
+ importKeys: []
71
+ };
72
+ }
73
+ };
74
+
75
+ //#endregion
76
+ export { Template__entity };
77
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LnRlbXBsYXRlLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZS9pbXBsZW1lbnRhdGlvbnMvZW50aXR5LnRlbXBsYXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNvbmFtdSB9IGZyb20gXCIuLi8uLi9hcGlcIjtcbmltcG9ydCB7IEVudGl0eU1hbmFnZXIgfSBmcm9tIFwiLi4vLi4vZW50aXR5L2VudGl0eS1tYW5hZ2VyXCI7XG5pbXBvcnQgeyB0eXBlIEVudGl0eU5hbWVzUmVjb3JkIH0gZnJvbSBcIi4uLy4uL2VudGl0eS9lbnRpdHktbWFuYWdlclwiO1xuaW1wb3J0IHsgdHlwZSBUZW1wbGF0ZU9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCB7IFRlbXBsYXRlIH0gZnJvbSBcIi4uL3RlbXBsYXRlXCI7XG5cbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZV9fZW50aXR5IGV4dGVuZHMgVGVtcGxhdGUge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihcImVudGl0eVwiKTtcbiAgfVxuXG4gIGdldFRhcmdldEFuZFBhdGgobmFtZXM6IEVudGl0eU5hbWVzUmVjb3JkLCBwYXJlbnROYW1lcz86IEVudGl0eU5hbWVzUmVjb3JkKSB7XG4gICAgY29uc3QgeyBkaXIgfSA9IFNvbmFtdS5jb25maWcuYXBpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHRhcmdldDogYCR7ZGlyfS9zcmMvYXBwbGljYXRpb25gLFxuICAgICAgcGF0aDogYCR7KHBhcmVudE5hbWVzID8/IG5hbWVzKS5mc30vJHtuYW1lcy5mc30uZW50aXR5Lmpzb25gLFxuICAgIH07XG4gIH1cblxuICByZW5kZXIob3B0aW9uczogVGVtcGxhdGVPcHRpb25zW1wiZW50aXR5XCJdKSB7XG4gICAgY29uc3QgeyBlbnRpdHlJZCwgdGl0bGUsIHBhcmVudElkLCB0YWJsZSB9ID0gb3B0aW9ucztcbiAgICBjb25zdCBuYW1lcyA9IEVudGl0eU1hbmFnZXIuZ2V0TmFtZXNGcm9tSWQoZW50aXR5SWQpO1xuXG4gICAgY29uc3QgcGFyZW50ID0gKCgpID0+IHtcbiAgICAgIGlmIChwYXJlbnRJZCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG5hbWVzOiBFbnRpdHlNYW5hZ2VyLmdldE5hbWVzRnJvbUlkKHBhcmVudElkKSxcbiAgICAgICAgICBlbnRpdHk6IEVudGl0eU1hbmFnZXIuZ2V0KHBhcmVudElkKSxcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgIH0pKCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4udGhpcy5nZXRUYXJnZXRBbmRQYXRoKG5hbWVzLCBwYXJlbnQ/Lm5hbWVzID8/IG5hbWVzKSxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgaWQ6IGVudGl0eUlkLFxuICAgICAgICB0aXRsZTogdGl0bGUgPz8gZW50aXR5SWQsXG4gICAgICAgIHBhcmVudElkLFxuICAgICAgICB0YWJsZTogdGFibGUgPz8gbmFtZXMuZnNQbHVyYWwucmVwbGFjZSgvLS9nLCBcIl9cIiksXG4gICAgICAgIHByb3BzOiBvcHRpb25zLnByb3BzPy5sZW5ndGhcbiAgICAgICAgICA/IG9wdGlvbnMucHJvcHNcbiAgICAgICAgICA6IFtcbiAgICAgICAgICAgICAgeyBuYW1lOiBcImlkXCIsIHR5cGU6IFwiaW50ZWdlclwiLCBkZXNjOiBcIklEXCIgfSxcbiAgICAgICAgICAgICAgLi4uKHBhcmVudFxuICAgICAgICAgICAgICAgID8gW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJyZWxhdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHBhcmVudC5uYW1lcy5jYW1lbCxcbiAgICAgICAgICAgICAgICAgICAgICByZWxhdGlvblR5cGU6IFwiQmVsb25nc1RvT25lXCIsXG4gICAgICAgICAgICAgICAgICAgICAgd2l0aDogcGFyZW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgb25VcGRhdGU6IFwiQ0FTQ0FERVwiLFxuICAgICAgICAgICAgICAgICAgICAgIG9uRGVsZXRlOiBcIkNBU0NBREVcIixcbiAgICAgICAgICAgICAgICAgICAgICBkZXNjOiBwYXJlbnQuZW50aXR5LnRpdGxlLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIDogW10pLFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJjcmVhdGVkX2F0XCIsXG4gICAgICAgICAgICAgICAgdHlwZTogXCJkYXRlXCIsXG4gICAgICAgICAgICAgICAgZGVzYzogXCLrk7HroZ3snbzsi5xcIixcbiAgICAgICAgICAgICAgICBkYkRlZmF1bHQ6IFwiQ1VSUkVOVF9USU1FU1RBTVBcIixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIGluZGV4ZXM6IFsuLi4ob3B0aW9ucy5pbmRleGVzID8/IFtdKV0sXG4gICAgICAgIHN1YnNldHM6XG4gICAgICAgICAgb3B0aW9ucy5zdWJzZXRzID8/XG4gICAgICAgICAgKHBhcmVudElkXG4gICAgICAgICAgICA/IHt9XG4gICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICBBOiBbXCJpZFwiLCBcImNyZWF0ZWRfYXRcIl0sXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICBlbnVtczpcbiAgICAgICAgICBvcHRpb25zLmVudW1zID8/XG4gICAgICAgICAgKHBhcmVudElkXG4gICAgICAgICAgICA/IHt9XG4gICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICBbYCR7bmFtZXMuY2FwaXRhbH1PcmRlckJ5YF06IHtcbiAgICAgICAgICAgICAgICAgIFwiaWQtZGVzY1wiOiBcIklE7LWc7Iug7IicXCIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBbYCR7bmFtZXMuY2FwaXRhbH1TZWFyY2hGaWVsZGBdOiB7IGlkOiBcIklEXCIgfSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICB9KS50cmltKCksXG4gICAgICBpbXBvcnRLZXlzOiBbXSxcbiAgICB9O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztVQUFtQztxQkFDeUI7ZUFHckI7QUFFdkMsSUFBYSxtQkFBYixjQUFzQyxTQUFTO0NBQzdDLGNBQWM7QUFDWixRQUFNLFNBQVM7O0NBR2pCLGlCQUFpQixPQUEwQixhQUFpQztFQUMxRSxNQUFNLEVBQUUsUUFBUSxPQUFPLE9BQU87QUFFOUIsU0FBTztHQUNMLFFBQVEsR0FBRyxJQUFJO0dBQ2YsTUFBTSxJQUFJLGVBQWUsT0FBTyxHQUFHLEdBQUcsTUFBTSxHQUFHO0dBQ2hEOztDQUdILE9BQU8sU0FBb0M7RUFDekMsTUFBTSxFQUFFLFVBQVUsT0FBTyxVQUFVLFVBQVU7RUFDN0MsTUFBTSxRQUFRLGNBQWMsZUFBZSxTQUFTO0VBRXBELE1BQU0sZ0JBQWdCO0FBQ3BCLE9BQUksVUFBVTtBQUNaLFdBQU87S0FDTCxPQUFPLGNBQWMsZUFBZSxTQUFTO0tBQzdDLFFBQVEsY0FBYyxJQUFJLFNBQVM7S0FDcEM7VUFDSTtBQUNMLFdBQU87O01BRVA7QUFFSixTQUFPO0dBQ0wsR0FBRyxLQUFLLGlCQUFpQixPQUFPLFFBQVEsU0FBUyxNQUFNO0dBQ3ZELE1BQU0sS0FBSyxVQUFVO0lBQ25CLElBQUk7SUFDSixPQUFPLFNBQVM7SUFDaEI7SUFDQSxPQUFPLFNBQVMsTUFBTSxTQUFTLFFBQVEsTUFBTSxJQUFJO0lBQ2pELE9BQU8sUUFBUSxPQUFPLFNBQ2xCLFFBQVEsUUFDUjtLQUNFO01BQUUsTUFBTTtNQUFNLE1BQU07TUFBVyxNQUFNO01BQU07S0FDM0MsR0FBSSxTQUNBLENBQ0U7TUFDRSxNQUFNO01BQ04sTUFBTSxPQUFPLE1BQU07TUFDbkIsY0FBYztNQUNkLE1BQU07TUFDTixVQUFVO01BQ1YsVUFBVTtNQUNWLE1BQU0sT0FBTyxPQUFPO01BQ3JCLENBQ0YsR0FDRCxFQUFFO0tBQ047TUFDRSxNQUFNO01BQ04sTUFBTTtNQUNOLE1BQU07TUFDTixXQUFXO01BQ1o7S0FDRjtJQUNMLFNBQVMsQ0FBQyxHQUFJLFFBQVEsV0FBVyxFQUFFLENBQUU7SUFDckMsU0FDRSxRQUFRLFlBQ1AsV0FDRyxFQUFFLEdBQ0YsRUFDRSxHQUFHLENBQUMsTUFBTSxhQUFhLEVBQ3hCO0lBQ1AsT0FDRSxRQUFRLFVBQ1AsV0FDRyxFQUFFLEdBQ0Y7TUFDRyxHQUFHLE1BQU0sUUFBUSxXQUFXLEVBQzNCLFdBQVcsU0FDWjtNQUNBLEdBQUcsTUFBTSxRQUFRLGVBQWUsRUFBRSxJQUFJLE1BQU07S0FDOUM7SUFDUixDQUFDLENBQUMsTUFBTTtHQUNULFlBQVksRUFBRTtHQUNmIn0=
@@ -1,4 +1,4 @@
1
- import type { TemplateOptions } from "../../types/types";
1
+ import { type TemplateOptions } from "../../types/types";
2
2
  import { Template } from "../template";
3
3
  export declare class Template__entry_server extends Template {
4
4
  constructor();
@@ -1 +1 @@
1
- {"version":3,"file":"entry-server.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/entry-server.template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,sBAAuB,SAAQ,QAAQ;;IAKlD,gBAAgB;;;;IAOhB,MAAM,CAAC,EAAE,EAAE,eAAe,CAAC,cAAc,CAAC;;;;;;;CAiE3C"}
1
+ {"version":3,"file":"entry-server.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/entry-server.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,sBAAuB,SAAQ,QAAQ;;IAKlD,gBAAgB;;;;IAOhB,MAAM,CAAC,EAAE,EAAE,eAAe,CAAC,cAAc,CAAC;;;;;;;CAiE3C"}