sonamu 0.6.0 → 0.7.1

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 +227 -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 +386 -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 +55 -30
  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 +261 -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 +459 -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
@@ -1 +1 @@
1
- {"version":3,"file":"generated_sso.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/generated_sso.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAIlD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,qBAAa,uBAAwB,SAAQ,QAAQ;;IAKnD,gBAAgB;;;;IAShB,MAAM,CAAC,EAAE,EAAE,eAAe,CAAC,eAAe,CAAC;;;;;;;IA2E3C,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,IAAI;CAkCnE"}
1
+ {"version":3,"file":"generated_sso.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/generated_sso.template.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,qBAAa,uBAAwB,SAAQ,QAAQ;;IAKnD,gBAAgB;;;;IAShB,MAAM;;;;;;;IA4FN,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,IAAI;CAkCnE"}
@@ -1,10 +1,10 @@
1
- import { isManyToManyRelationProp } from "../../types/types.js";
2
- import { EntityManager } from "../../entity/entity-manager.js";
3
- import { Template } from "../template.js";
1
+ import assert from "assert";
4
2
  import inflection from "inflection";
5
- import * as _ from "lodash-es";
6
- import { nonNullable } from "../../utils/utils.js";
3
+ import { unique } from "radashi";
7
4
  import { Sonamu } from "../../api/index.js";
5
+ import { EntityManager } from "../../entity/entity-manager.js";
6
+ import { isManyToManyRelationProp } from "../../types/types.js";
7
+ import { Template } from "../template.js";
8
8
  export class Template__generated_sso extends Template {
9
9
  constructor(){
10
10
  super("generated_sso");
@@ -16,31 +16,49 @@ export class Template__generated_sso extends Template {
16
16
  path: `sonamu.generated.sso.ts`
17
17
  };
18
18
  }
19
- render({}) {
19
+ render() {
20
20
  const entityIds = EntityManager.getAllIds();
21
21
  const entities = entityIds.map((id)=>EntityManager.get(id));
22
- const sourceCodes = entities.map((entity)=>{
23
- if (entity.parentId !== undefined || Object.keys(entity.subsets).length === 0) {
24
- return null;
25
- }
22
+ // SubsetQueries 생성 대상: 부모 엔티티가 없고 서브셋이 존재
23
+ const targetEntities = entities.filter((entity)=>entity.parentId === undefined && Object.keys(entity.subsets).length > 0);
24
+ // SubsetQueries 생성
25
+ const sourceCodes = targetEntities.flatMap((entity)=>{
26
26
  const subsetKeys = Object.keys(entity.subsets);
27
- const subsetQueryObject = subsetKeys.reduce((r, subsetKey)=>{
28
- const subsetQuery = entity.getSubsetQuery(subsetKey);
29
- r[subsetKey] = subsetQuery;
30
- return r;
31
- }, {});
32
27
  const subsetKeyTypeName = `${entity.names.module}SubsetKey`;
33
- return {
28
+ const entityCamelName = inflection.camelize(entity.id, true);
29
+ // Puri 기반 SubsetQuery
30
+ const puriSubsetQuery = {
34
31
  label: `SubsetQuery: ${entity.id}`,
35
32
  lines: [
36
- `export const ${inflection.camelize(entity.id, true)}SubsetQueries:{ [key in ${subsetKeyTypeName}]: SubsetQuery} = ${JSON.stringify(subsetQueryObject)};`,
33
+ `export const ${entityCamelName}SubsetQueries = {`,
34
+ ...subsetKeys.map((subsetKey)=>`${subsetKey}: (qbWrapper: PuriWrapper<DatabaseSchemaExtend>) => {
35
+ ${entity.getPuriSubsetQuery(subsetKey)};
36
+ },`),
37
+ `};`,
38
+ ""
39
+ ],
40
+ importKeys: []
41
+ };
42
+ // Puri 기반 SubsetLoadersQuery
43
+ const puriLoaderQuery = {
44
+ label: `LoaderQuery: ${entity.id}`,
45
+ lines: [
46
+ `export const ${entityCamelName}LoaderQueries = {`,
47
+ ...subsetKeys.map((subsetKey)=>{
48
+ return `${subsetKey}: ${entity.getPuriLoaderQuery(subsetKey)},`;
49
+ }),
50
+ `} as const satisfies PuriLoaderQueries<${subsetKeyTypeName}>;`,
37
51
  ""
38
52
  ],
39
53
  importKeys: [
40
54
  subsetKeyTypeName
41
55
  ]
42
56
  };
43
- }).filter(nonNullable);
57
+ return [
58
+ puriSubsetQuery,
59
+ puriLoaderQuery
60
+ ];
61
+ });
44
62
  // DatabaseSchema 생성
45
63
  const dbSchemaSourceCode = this.getDatabaseSchemaSourceCode(entities);
46
64
  if (dbSchemaSourceCode) {
@@ -50,6 +68,7 @@ export class Template__generated_sso extends Template {
50
68
  if (ts === null) {
51
69
  return result;
52
70
  }
71
+ assert(result);
53
72
  return {
54
73
  lines: [
55
74
  ...result.lines,
@@ -57,7 +76,7 @@ export class Template__generated_sso extends Template {
57
76
  ...ts.lines,
58
77
  ""
59
78
  ],
60
- importKeys: _.uniq([
79
+ importKeys: unique([
61
80
  ...result.importKeys,
62
81
  ...ts.importKeys
63
82
  ])
@@ -68,12 +87,18 @@ export class Template__generated_sso extends Template {
68
87
  });
69
88
  const body = sourceCode.lines.join("\n");
70
89
  const isUsingManyToManyBaseSchema = body.includes("ManyToManyBaseSchema");
90
+ const sonamuImports = [
91
+ "PuriWrapper",
92
+ "DatabaseSchemaExtend",
93
+ "PuriLoaderQueries",
94
+ isUsingManyToManyBaseSchema ? "ManyToManyBaseSchema" : ""
95
+ ].filter(Boolean).join(", ");
71
96
  return {
72
97
  ...this.getTargetAndPath(),
73
98
  body: sourceCode.lines.join("\n"),
74
99
  importKeys: sourceCode.importKeys,
75
100
  customHeaders: [
76
- `import { SubsetQuery, ${isUsingManyToManyBaseSchema ? "ManyToManyBaseSchema" : ""} } from "sonamu";`
101
+ `import { ${sonamuImports} } from "sonamu";`
77
102
  ]
78
103
  };
79
104
  }
@@ -82,18 +107,22 @@ export class Template__generated_sso extends Template {
82
107
  return null;
83
108
  }
84
109
  const entitySchemaLines = entities.map((entity)=>`${entity.table}: ${entity.id}BaseSchema;`);
85
- const joinTableSchemaLines = _.uniq(entities.flatMap((entity)=>entity.props.filter(isManyToManyRelationProp).map((prop)=>{
110
+ const joinTables = unique(entities.flatMap((entity)=>entity.props.filter(isManyToManyRelationProp).map((prop)=>{
86
111
  const fromTableKey = inflection.singularize(entity.table);
87
112
  const toTableKey = inflection.singularize(EntityManager.get(prop.with).table);
88
- return `${prop.joinTable}: ManyToManyBaseSchema<"${fromTableKey}", "${toTableKey}">;`;
89
- })));
113
+ return {
114
+ table: prop.joinTable,
115
+ fromTableKey,
116
+ toTableKey
117
+ };
118
+ })), (joinTable)=>joinTable.table);
90
119
  return {
91
120
  label: `DatabaseSchema`,
92
121
  lines: [
93
122
  `declare module "sonamu" {`,
94
123
  ` export interface DatabaseSchemaExtend {`,
95
124
  ...entitySchemaLines,
96
- ...joinTableSchemaLines,
125
+ ...joinTables.map((joinTable)=>`${joinTable.table}: ManyToManyBaseSchema<"${joinTable.fromTableKey}", "${joinTable.toTableKey}">;`),
97
126
  ` }`,
98
127
  `}`
99
128
  ],
@@ -102,4 +131,4 @@ export class Template__generated_sso extends Template {
102
131
  }
103
132
  }
104
133
 
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZS9pbXBsZW1lbnRhdGlvbnMvZ2VuZXJhdGVkX3Nzby50ZW1wbGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBpc01hbnlUb01hbnlSZWxhdGlvblByb3AsXG4gIFN1YnNldFF1ZXJ5LFxuICBUZW1wbGF0ZU9wdGlvbnMsXG59IGZyb20gXCIuLi8uLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHsgRW50aXR5TWFuYWdlciB9IGZyb20gXCIuLi8uLi9lbnRpdHkvZW50aXR5LW1hbmFnZXJcIjtcbmltcG9ydCB7IFRlbXBsYXRlIH0gZnJvbSBcIi4uL3RlbXBsYXRlXCI7XG5pbXBvcnQgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiO1xuaW1wb3J0IHsgU291cmNlQ29kZSB9IGZyb20gXCIuL2dlbmVyYXRlZC50ZW1wbGF0ZVwiO1xuaW1wb3J0ICogYXMgXyBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQgeyBub25OdWxsYWJsZSB9IGZyb20gXCIuLi8uLi91dGlscy91dGlsc1wiO1xuaW1wb3J0IHsgU29uYW11IH0gZnJvbSBcIi4uLy4uL2FwaVwiO1xuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSBcIi4uLy4uL2VudGl0eS9lbnRpdHlcIjtcblxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlX19nZW5lcmF0ZWRfc3NvIGV4dGVuZHMgVGVtcGxhdGUge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihcImdlbmVyYXRlZF9zc29cIik7XG4gIH1cblxuICBnZXRUYXJnZXRBbmRQYXRoKCkge1xuICAgIGNvbnN0IHsgZGlyIH0gPSBTb25hbXUuY29uZmlnLmFwaTtcblxuICAgIHJldHVybiB7XG4gICAgICB0YXJnZXQ6IGAke2Rpcn0vc3JjL2FwcGxpY2F0aW9uYCxcbiAgICAgIHBhdGg6IGBzb25hbXUuZ2VuZXJhdGVkLnNzby50c2AsXG4gICAgfTtcbiAgfVxuXG4gIHJlbmRlcih7fTogVGVtcGxhdGVPcHRpb25zW1wiZ2VuZXJhdGVkX3Nzb1wiXSkge1xuICAgIGNvbnN0IGVudGl0eUlkcyA9IEVudGl0eU1hbmFnZXIuZ2V0QWxsSWRzKCk7XG4gICAgY29uc3QgZW50aXRpZXMgPSBlbnRpdHlJZHMubWFwKChpZCkgPT4gRW50aXR5TWFuYWdlci5nZXQoaWQpKTtcblxuICAgIGNvbnN0IHNvdXJjZUNvZGVzOiBTb3VyY2VDb2RlW10gPSBlbnRpdGllc1xuICAgICAgLm1hcCgoZW50aXR5KSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBlbnRpdHkucGFyZW50SWQgIT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgIE9iamVjdC5rZXlzKGVudGl0eS5zdWJzZXRzKS5sZW5ndGggPT09IDBcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3Vic2V0S2V5cyA9IE9iamVjdC5rZXlzKGVudGl0eS5zdWJzZXRzKTtcbiAgICAgICAgY29uc3Qgc3Vic2V0UXVlcnlPYmplY3QgPSBzdWJzZXRLZXlzLnJlZHVjZShcbiAgICAgICAgICAociwgc3Vic2V0S2V5KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdWJzZXRRdWVyeSA9IGVudGl0eS5nZXRTdWJzZXRRdWVyeShzdWJzZXRLZXkpO1xuICAgICAgICAgICAgcltzdWJzZXRLZXldID0gc3Vic2V0UXVlcnk7XG4gICAgICAgICAgICByZXR1cm4gcjtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHt9IGFzIHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IFN1YnNldFF1ZXJ5O1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBzdWJzZXRLZXlUeXBlTmFtZSA9IGAke2VudGl0eS5uYW1lcy5tb2R1bGV9U3Vic2V0S2V5YDtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBsYWJlbDogYFN1YnNldFF1ZXJ5OiAke2VudGl0eS5pZH1gLFxuICAgICAgICAgIGxpbmVzOiBbXG4gICAgICAgICAgICBgZXhwb3J0IGNvbnN0ICR7aW5mbGVjdGlvbi5jYW1lbGl6ZShcbiAgICAgICAgICAgICAgZW50aXR5LmlkLFxuICAgICAgICAgICAgICB0cnVlXG4gICAgICAgICAgICApfVN1YnNldFF1ZXJpZXM6eyBba2V5IGluICR7c3Vic2V0S2V5VHlwZU5hbWV9XTogU3Vic2V0UXVlcnl9ID0gJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICAgICAgc3Vic2V0UXVlcnlPYmplY3RcbiAgICAgICAgICAgICl9O2AsXG4gICAgICAgICAgICBcIlwiLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgaW1wb3J0S2V5czogW3N1YnNldEtleVR5cGVOYW1lXSxcbiAgICAgICAgfTtcbiAgICAgIH0pXG4gICAgICAuZmlsdGVyKG5vbk51bGxhYmxlKTtcblxuICAgIC8vIERhdGFiYXNlU2NoZW1hIOyDneyEsVxuICAgIGNvbnN0IGRiU2NoZW1hU291cmNlQ29kZSA9IHRoaXMuZ2V0RGF0YWJhc2VTY2hlbWFTb3VyY2VDb2RlKGVudGl0aWVzKTtcbiAgICBpZiAoZGJTY2hlbWFTb3VyY2VDb2RlKSB7XG4gICAgICBzb3VyY2VDb2Rlcy5wdXNoKGRiU2NoZW1hU291cmNlQ29kZSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc291cmNlQ29kZSA9IHNvdXJjZUNvZGVzLnJlZHVjZShcbiAgICAgIChyZXN1bHQsIHRzKSA9PiB7XG4gICAgICAgIGlmICh0cyA9PT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBsaW5lczogWy4uLnJlc3VsdCEubGluZXMsIGAvLyAke3RzLmxhYmVsfWAsIC4uLnRzLmxpbmVzLCBcIlwiXSxcbiAgICAgICAgICBpbXBvcnRLZXlzOiBfLnVuaXEoWy4uLnJlc3VsdCEuaW1wb3J0S2V5cywgLi4udHMuaW1wb3J0S2V5c10pLFxuICAgICAgICB9O1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbGluZXM6IFtdLFxuICAgICAgICBpbXBvcnRLZXlzOiBbXSxcbiAgICAgIH0gYXMgT21pdDxTb3VyY2VDb2RlLCBcImxhYmVsXCI+XG4gICAgKTtcblxuICAgIGNvbnN0IGJvZHkgPSBzb3VyY2VDb2RlLmxpbmVzLmpvaW4oXCJcXG5cIik7XG4gICAgY29uc3QgaXNVc2luZ01hbnlUb01hbnlCYXNlU2NoZW1hID0gYm9keS5pbmNsdWRlcyhcIk1hbnlUb01hbnlCYXNlU2NoZW1hXCIpO1xuICAgIHJldHVybiB7XG4gICAgICAuLi50aGlzLmdldFRhcmdldEFuZFBhdGgoKSxcbiAgICAgIGJvZHk6IHNvdXJjZUNvZGUubGluZXMuam9pbihcIlxcblwiKSxcbiAgICAgIGltcG9ydEtleXM6IHNvdXJjZUNvZGUuaW1wb3J0S2V5cyxcbiAgICAgIGN1c3RvbUhlYWRlcnM6IFtcbiAgICAgICAgYGltcG9ydCB7IFN1YnNldFF1ZXJ5LCAke2lzVXNpbmdNYW55VG9NYW55QmFzZVNjaGVtYSA/IFwiTWFueVRvTWFueUJhc2VTY2hlbWFcIiA6IFwiXCJ9IH0gZnJvbSBcInNvbmFtdVwiO2AsXG4gICAgICBdLFxuICAgIH07XG4gIH1cblxuICBnZXREYXRhYmFzZVNjaGVtYVNvdXJjZUNvZGUoZW50aXRpZXM6IEVudGl0eVtdKTogU291cmNlQ29kZSB8IG51bGwge1xuICAgIGlmIChlbnRpdGllcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGVudGl0eVNjaGVtYUxpbmVzID0gZW50aXRpZXMubWFwKFxuICAgICAgKGVudGl0eSkgPT4gYCR7ZW50aXR5LnRhYmxlfTogJHtlbnRpdHkuaWR9QmFzZVNjaGVtYTtgXG4gICAgKTtcblxuICAgIGNvbnN0IGpvaW5UYWJsZVNjaGVtYUxpbmVzID0gXy51bmlxKFxuICAgICAgZW50aXRpZXMuZmxhdE1hcCgoZW50aXR5KSA9PlxuICAgICAgICBlbnRpdHkucHJvcHMuZmlsdGVyKGlzTWFueVRvTWFueVJlbGF0aW9uUHJvcCkubWFwKChwcm9wKSA9PiB7XG4gICAgICAgICAgY29uc3QgZnJvbVRhYmxlS2V5ID0gaW5mbGVjdGlvbi5zaW5ndWxhcml6ZShlbnRpdHkudGFibGUpO1xuICAgICAgICAgIGNvbnN0IHRvVGFibGVLZXkgPSBpbmZsZWN0aW9uLnNpbmd1bGFyaXplKFxuICAgICAgICAgICAgRW50aXR5TWFuYWdlci5nZXQocHJvcC53aXRoKS50YWJsZVxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIGAke3Byb3Auam9pblRhYmxlfTogTWFueVRvTWFueUJhc2VTY2hlbWE8XCIke2Zyb21UYWJsZUtleX1cIiwgXCIke3RvVGFibGVLZXl9XCI+O2A7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICBsYWJlbDogYERhdGFiYXNlU2NoZW1hYCxcbiAgICAgIGxpbmVzOiBbXG4gICAgICAgIGBkZWNsYXJlIG1vZHVsZSBcInNvbmFtdVwiIHtgLFxuICAgICAgICBgICBleHBvcnQgaW50ZXJmYWNlIERhdGFiYXNlU2NoZW1hRXh0ZW5kIHtgLFxuICAgICAgICAuLi5lbnRpdHlTY2hlbWFMaW5lcyxcbiAgICAgICAgLi4uam9pblRhYmxlU2NoZW1hTGluZXMsXG4gICAgICAgIGAgIH1gLFxuICAgICAgICBgfWAsXG4gICAgICBdLFxuICAgICAgaW1wb3J0S2V5czogZW50aXRpZXMubWFwKChlbnRpdHkpID0+IGAke2VudGl0eS5pZH1CYXNlU2NoZW1hYCksXG4gICAgfTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbImlzTWFueVRvTWFueVJlbGF0aW9uUHJvcCIsIkVudGl0eU1hbmFnZXIiLCJUZW1wbGF0ZSIsImluZmxlY3Rpb24iLCJfIiwibm9uTnVsbGFibGUiLCJTb25hbXUiLCJUZW1wbGF0ZV9fZ2VuZXJhdGVkX3NzbyIsImdldFRhcmdldEFuZFBhdGgiLCJkaXIiLCJjb25maWciLCJhcGkiLCJ0YXJnZXQiLCJwYXRoIiwicmVuZGVyIiwiZW50aXR5SWRzIiwiZ2V0QWxsSWRzIiwiZW50aXRpZXMiLCJtYXAiLCJpZCIsImdldCIsInNvdXJjZUNvZGVzIiwiZW50aXR5IiwicGFyZW50SWQiLCJ1bmRlZmluZWQiLCJPYmplY3QiLCJrZXlzIiwic3Vic2V0cyIsImxlbmd0aCIsInN1YnNldEtleXMiLCJzdWJzZXRRdWVyeU9iamVjdCIsInJlZHVjZSIsInIiLCJzdWJzZXRLZXkiLCJzdWJzZXRRdWVyeSIsImdldFN1YnNldFF1ZXJ5Iiwic3Vic2V0S2V5VHlwZU5hbWUiLCJuYW1lcyIsIm1vZHVsZSIsImxhYmVsIiwibGluZXMiLCJjYW1lbGl6ZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJpbXBvcnRLZXlzIiwiZmlsdGVyIiwiZGJTY2hlbWFTb3VyY2VDb2RlIiwiZ2V0RGF0YWJhc2VTY2hlbWFTb3VyY2VDb2RlIiwicHVzaCIsInNvdXJjZUNvZGUiLCJyZXN1bHQiLCJ0cyIsInVuaXEiLCJib2R5Iiwiam9pbiIsImlzVXNpbmdNYW55VG9NYW55QmFzZVNjaGVtYSIsImluY2x1ZGVzIiwiY3VzdG9tSGVhZGVycyIsImVudGl0eVNjaGVtYUxpbmVzIiwidGFibGUiLCJqb2luVGFibGVTY2hlbWFMaW5lcyIsImZsYXRNYXAiLCJwcm9wcyIsInByb3AiLCJmcm9tVGFibGVLZXkiLCJzaW5ndWxhcml6ZSIsInRvVGFibGVLZXkiLCJ3aXRoIiwiam9pblRhYmxlIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUNFQSx3QkFBd0IsUUFHbkIsdUJBQW9CO0FBQzNCLFNBQVNDLGFBQWEsUUFBUSxpQ0FBOEI7QUFDNUQsU0FBU0MsUUFBUSxRQUFRLGlCQUFjO0FBQ3ZDLE9BQU9DLGdCQUFnQixhQUFhO0FBRXBDLFlBQVlDLE9BQU8sWUFBWTtBQUMvQixTQUFTQyxXQUFXLFFBQVEsdUJBQW9CO0FBQ2hELFNBQVNDLE1BQU0sUUFBUSxxQkFBWTtBQUduQyxPQUFPLE1BQU1DLGdDQUFnQ0w7SUFDM0MsYUFBYztRQUNaLEtBQUssQ0FBQztJQUNSO0lBRUFN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
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZS9pbXBsZW1lbnRhdGlvbnMvZ2VuZXJhdGVkX3Nzby50ZW1wbGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIjtcbmltcG9ydCBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCI7XG5pbXBvcnQgeyB1bmlxdWUgfSBmcm9tIFwicmFkYXNoaVwiO1xuaW1wb3J0IHsgU29uYW11IH0gZnJvbSBcIi4uLy4uL2FwaVwiO1xuaW1wb3J0IHR5cGUgeyBFbnRpdHkgfSBmcm9tIFwiLi4vLi4vZW50aXR5L2VudGl0eVwiO1xuaW1wb3J0IHsgRW50aXR5TWFuYWdlciB9IGZyb20gXCIuLi8uLi9lbnRpdHkvZW50aXR5LW1hbmFnZXJcIjtcbmltcG9ydCB7IGlzTWFueVRvTWFueVJlbGF0aW9uUHJvcCB9IGZyb20gXCIuLi8uLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHsgVGVtcGxhdGUgfSBmcm9tIFwiLi4vdGVtcGxhdGVcIjtcbmltcG9ydCB0eXBlIHsgU291cmNlQ29kZSB9IGZyb20gXCIuL2dlbmVyYXRlZC50ZW1wbGF0ZVwiO1xuXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVfX2dlbmVyYXRlZF9zc28gZXh0ZW5kcyBUZW1wbGF0ZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKFwiZ2VuZXJhdGVkX3Nzb1wiKTtcbiAgfVxuXG4gIGdldFRhcmdldEFuZFBhdGgoKSB7XG4gICAgY29uc3QgeyBkaXIgfSA9IFNvbmFtdS5jb25maWcuYXBpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHRhcmdldDogYCR7ZGlyfS9zcmMvYXBwbGljYXRpb25gLFxuICAgICAgcGF0aDogYHNvbmFtdS5nZW5lcmF0ZWQuc3NvLnRzYCxcbiAgICB9O1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IGVudGl0eUlkcyA9IEVudGl0eU1hbmFnZXIuZ2V0QWxsSWRzKCk7XG4gICAgY29uc3QgZW50aXRpZXMgPSBlbnRpdHlJZHMubWFwKChpZCkgPT4gRW50aXR5TWFuYWdlci5nZXQoaWQpKTtcblxuICAgIC8vIFN1YnNldFF1ZXJpZXMg7IOd7ISxIOuMgOyDgTog67aA66qoIOyXlO2LsO2LsOqwgCDsl4bqs6Ag7ISc67iM7IWL7J20IOyhtOyerFxuICAgIGNvbnN0IHRhcmdldEVudGl0aWVzID0gZW50aXRpZXMuZmlsdGVyKFxuICAgICAgKGVudGl0eSkgPT4gZW50aXR5LnBhcmVudElkID09PSB1bmRlZmluZWQgJiYgT2JqZWN0LmtleXMoZW50aXR5LnN1YnNldHMpLmxlbmd0aCA+IDAsXG4gICAgKTtcblxuICAgIC8vIFN1YnNldFF1ZXJpZXMg7IOd7ISxXG4gICAgY29uc3Qgc291cmNlQ29kZXM6IFNvdXJjZUNvZGVbXSA9IHRhcmdldEVudGl0aWVzLmZsYXRNYXAoKGVudGl0eSkgPT4ge1xuICAgICAgY29uc3Qgc3Vic2V0S2V5cyA9IE9iamVjdC5rZXlzKGVudGl0eS5zdWJzZXRzKTtcblxuICAgICAgY29uc3Qgc3Vic2V0S2V5VHlwZU5hbWUgPSBgJHtlbnRpdHkubmFtZXMubW9kdWxlfVN1YnNldEtleWA7XG4gICAgICBjb25zdCBlbnRpdHlDYW1lbE5hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKGVudGl0eS5pZCwgdHJ1ZSk7XG5cbiAgICAgIC8vIFB1cmkg6riw67CYIFN1YnNldFF1ZXJ5XG4gICAgICBjb25zdCBwdXJpU3Vic2V0UXVlcnk6IFNvdXJjZUNvZGUgPSB7XG4gICAgICAgIGxhYmVsOiBgU3Vic2V0UXVlcnk6ICR7ZW50aXR5LmlkfWAsXG4gICAgICAgIGxpbmVzOiBbXG4gICAgICAgICAgYGV4cG9ydCBjb25zdCAke2VudGl0eUNhbWVsTmFtZX1TdWJzZXRRdWVyaWVzID0ge2AsXG4gICAgICAgICAgLi4uc3Vic2V0S2V5cy5tYXAoXG4gICAgICAgICAgICAoc3Vic2V0S2V5KSA9PiBgJHtzdWJzZXRLZXl9OiAocWJXcmFwcGVyOiBQdXJpV3JhcHBlcjxEYXRhYmFzZVNjaGVtYUV4dGVuZD4pID0+IHtcbiAgICAgICAgICAgICR7ZW50aXR5LmdldFB1cmlTdWJzZXRRdWVyeShzdWJzZXRLZXkpfTtcbiAgICAgICAgICB9LGAsXG4gICAgICAgICAgKSxcbiAgICAgICAgICBgfTtgLFxuICAgICAgICAgIFwiXCIsXG4gICAgICAgIF0sXG4gICAgICAgIGltcG9ydEtleXM6IFtdLFxuICAgICAgfTtcblxuICAgICAgLy8gUHVyaSDquLDrsJggU3Vic2V0TG9hZGVyc1F1ZXJ5XG4gICAgICBjb25zdCBwdXJpTG9hZGVyUXVlcnk6IFNvdXJjZUNvZGUgPSB7XG4gICAgICAgIGxhYmVsOiBgTG9hZGVyUXVlcnk6ICR7ZW50aXR5LmlkfWAsXG4gICAgICAgIGxpbmVzOiBbXG4gICAgICAgICAgYGV4cG9ydCBjb25zdCAke2VudGl0eUNhbWVsTmFtZX1Mb2FkZXJRdWVyaWVzID0ge2AsXG4gICAgICAgICAgLi4uc3Vic2V0S2V5cy5tYXAoKHN1YnNldEtleSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGAke3N1YnNldEtleX06ICR7ZW50aXR5LmdldFB1cmlMb2FkZXJRdWVyeShzdWJzZXRLZXkpfSxgO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIGB9IGFzIGNvbnN0IHNhdGlzZmllcyBQdXJpTG9hZGVyUXVlcmllczwke3N1YnNldEtleVR5cGVOYW1lfT47YCxcbiAgICAgICAgICBcIlwiLFxuICAgICAgICBdLFxuICAgICAgICBpbXBvcnRLZXlzOiBbc3Vic2V0S2V5VHlwZU5hbWVdLFxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIFtwdXJpU3Vic2V0UXVlcnksIHB1cmlMb2FkZXJRdWVyeV07XG4gICAgfSk7XG5cbiAgICAvLyBEYXRhYmFzZVNjaGVtYSDsg53shLFcbiAgICBjb25zdCBkYlNjaGVtYVNvdXJjZUNvZGUgPSB0aGlzLmdldERhdGFiYXNlU2NoZW1hU291cmNlQ29kZShlbnRpdGllcyk7XG4gICAgaWYgKGRiU2NoZW1hU291cmNlQ29kZSkge1xuICAgICAgc291cmNlQ29kZXMucHVzaChkYlNjaGVtYVNvdXJjZUNvZGUpO1xuICAgIH1cblxuICAgIGNvbnN0IHNvdXJjZUNvZGUgPSBzb3VyY2VDb2Rlcy5yZWR1Y2UoXG4gICAgICAocmVzdWx0LCB0cykgPT4ge1xuICAgICAgICBpZiAodHMgPT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9XG4gICAgICAgIGFzc2VydChyZXN1bHQpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGxpbmVzOiBbLi4ucmVzdWx0LmxpbmVzLCBgLy8gJHt0cy5sYWJlbH1gLCAuLi50cy5saW5lcywgXCJcIl0sXG4gICAgICAgICAgaW1wb3J0S2V5czogdW5pcXVlKFsuLi5yZXN1bHQuaW1wb3J0S2V5cywgLi4udHMuaW1wb3J0S2V5c10pLFxuICAgICAgICB9O1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbGluZXM6IFtdLFxuICAgICAgICBpbXBvcnRLZXlzOiBbXSxcbiAgICAgIH0gYXMgT21pdDxTb3VyY2VDb2RlLCBcImxhYmVsXCI+LFxuICAgICk7XG5cbiAgICBjb25zdCBib2R5ID0gc291cmNlQ29kZS5saW5lcy5qb2luKFwiXFxuXCIpO1xuICAgIGNvbnN0IGlzVXNpbmdNYW55VG9NYW55QmFzZVNjaGVtYSA9IGJvZHkuaW5jbHVkZXMoXCJNYW55VG9NYW55QmFzZVNjaGVtYVwiKTtcblxuICAgIGNvbnN0IHNvbmFtdUltcG9ydHMgPSBbXG4gICAgICBcIlB1cmlXcmFwcGVyXCIsXG4gICAgICBcIkRhdGFiYXNlU2NoZW1hRXh0ZW5kXCIsXG4gICAgICBcIlB1cmlMb2FkZXJRdWVyaWVzXCIsXG4gICAgICBpc1VzaW5nTWFueVRvTWFueUJhc2VTY2hlbWEgPyBcIk1hbnlUb01hbnlCYXNlU2NoZW1hXCIgOiBcIlwiLFxuICAgIF1cbiAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgIC5qb2luKFwiLCBcIik7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4udGhpcy5nZXRUYXJnZXRBbmRQYXRoKCksXG4gICAgICBib2R5OiBzb3VyY2VDb2RlLmxpbmVzLmpvaW4oXCJcXG5cIiksXG4gICAgICBpbXBvcnRLZXlzOiBzb3VyY2VDb2RlLmltcG9ydEtleXMsXG4gICAgICBjdXN0b21IZWFkZXJzOiBbYGltcG9ydCB7ICR7c29uYW11SW1wb3J0c30gfSBmcm9tIFwic29uYW11XCI7YF0sXG4gICAgfTtcbiAgfVxuXG4gIGdldERhdGFiYXNlU2NoZW1hU291cmNlQ29kZShlbnRpdGllczogRW50aXR5W10pOiBTb3VyY2VDb2RlIHwgbnVsbCB7XG4gICAgaWYgKGVudGl0aWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgZW50aXR5U2NoZW1hTGluZXMgPSBlbnRpdGllcy5tYXAoKGVudGl0eSkgPT4gYCR7ZW50aXR5LnRhYmxlfTogJHtlbnRpdHkuaWR9QmFzZVNjaGVtYTtgKTtcblxuICAgIGNvbnN0IGpvaW5UYWJsZXMgPSB1bmlxdWUoXG4gICAgICBlbnRpdGllcy5mbGF0TWFwKChlbnRpdHkpID0+XG4gICAgICAgIGVudGl0eS5wcm9wcy5maWx0ZXIoaXNNYW55VG9NYW55UmVsYXRpb25Qcm9wKS5tYXAoKHByb3ApID0+IHtcbiAgICAgICAgICBjb25zdCBmcm9tVGFibGVLZXkgPSBpbmZsZWN0aW9uLnNpbmd1bGFyaXplKGVudGl0eS50YWJsZSk7XG4gICAgICAgICAgY29uc3QgdG9UYWJsZUtleSA9IGluZmxlY3Rpb24uc2luZ3VsYXJpemUoRW50aXR5TWFuYWdlci5nZXQocHJvcC53aXRoKS50YWJsZSk7XG4gICAgICAgICAgcmV0dXJuIHsgdGFibGU6IHByb3Auam9pblRhYmxlLCBmcm9tVGFibGVLZXksIHRvVGFibGVLZXkgfTtcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICAgKGpvaW5UYWJsZSkgPT4gam9pblRhYmxlLnRhYmxlLFxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbGFiZWw6IGBEYXRhYmFzZVNjaGVtYWAsXG4gICAgICBsaW5lczogW1xuICAgICAgICBgZGVjbGFyZSBtb2R1bGUgXCJzb25hbXVcIiB7YCxcbiAgICAgICAgYCAgZXhwb3J0IGludGVyZmFjZSBEYXRhYmFzZVNjaGVtYUV4dGVuZCB7YCxcbiAgICAgICAgLi4uZW50aXR5U2NoZW1hTGluZXMsXG4gICAgICAgIC4uLmpvaW5UYWJsZXMubWFwKFxuICAgICAgICAgIChqb2luVGFibGUpID0+XG4gICAgICAgICAgICBgJHtqb2luVGFibGUudGFibGV9OiBNYW55VG9NYW55QmFzZVNjaGVtYTxcIiR7am9pblRhYmxlLmZyb21UYWJsZUtleX1cIiwgXCIke2pvaW5UYWJsZS50b1RhYmxlS2V5fVwiPjtgLFxuICAgICAgICApLFxuICAgICAgICBgICB9YCxcbiAgICAgICAgYH1gLFxuICAgICAgXSxcbiAgICAgIGltcG9ydEtleXM6IGVudGl0aWVzLm1hcCgoZW50aXR5KSA9PiBgJHtlbnRpdHkuaWR9QmFzZVNjaGVtYWApLFxuICAgIH07XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJhc3NlcnQiLCJpbmZsZWN0aW9uIiwidW5pcXVlIiwiU29uYW11IiwiRW50aXR5TWFuYWdlciIsImlzTWFueVRvTWFueVJlbGF0aW9uUHJvcCIsIlRlbXBsYXRlIiwiVGVtcGxhdGVfX2dlbmVyYXRlZF9zc28iLCJnZXRUYXJnZXRBbmRQYXRoIiwiZGlyIiwiY29uZmlnIiwiYXBpIiwidGFyZ2V0IiwicGF0aCIsInJlbmRlciIsImVudGl0eUlkcyIsImdldEFsbElkcyIsImVudGl0aWVzIiwibWFwIiwiaWQiLCJnZXQiLCJ0YXJnZXRFbnRpdGllcyIsImZpbHRlciIsImVudGl0eSIsInBhcmVudElkIiwidW5kZWZpbmVkIiwiT2JqZWN0Iiwia2V5cyIsInN1YnNldHMiLCJsZW5ndGgiLCJzb3VyY2VDb2RlcyIsImZsYXRNYXAiLCJzdWJzZXRLZXlzIiwic3Vic2V0S2V5VHlwZU5hbWUiLCJuYW1lcyIsIm1vZHVsZSIsImVudGl0eUNhbWVsTmFtZSIsImNhbWVsaXplIiwicHVyaVN1YnNldFF1ZXJ5IiwibGFiZWwiLCJsaW5lcyIsInN1YnNldEtleSIsImdldFB1cmlTdWJzZXRRdWVyeSIsImltcG9ydEtleXMiLCJwdXJpTG9hZGVyUXVlcnkiLCJnZXRQdXJpTG9hZGVyUXVlcnkiLCJkYlNjaGVtYVNvdXJjZUNvZGUiLCJnZXREYXRhYmFzZVNjaGVtYVNvdXJjZUNvZGUiLCJwdXNoIiwic291cmNlQ29kZSIsInJlZHVjZSIsInJlc3VsdCIsInRzIiwiYm9keSIsImpvaW4iLCJpc1VzaW5nTWFueVRvTWFueUJhc2VTY2hlbWEiLCJpbmNsdWRlcyIsInNvbmFtdUltcG9ydHMiLCJCb29sZWFuIiwiY3VzdG9tSGVhZGVycyIsImVudGl0eVNjaGVtYUxpbmVzIiwidGFibGUiLCJqb2luVGFibGVzIiwicHJvcHMiLCJwcm9wIiwiZnJvbVRhYmxlS2V5Iiwic2luZ3VsYXJpemUiLCJ0b1RhYmxlS2V5Iiwid2l0aCIsImpvaW5UYWJsZSJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsWUFBWSxTQUFTO0FBQzVCLE9BQU9DLGdCQUFnQixhQUFhO0FBQ3BDLFNBQVNDLE1BQU0sUUFBUSxVQUFVO0FBQ2pDLFNBQVNDLE1BQU0sUUFBUSxxQkFBWTtBQUVuQyxTQUFTQyxhQUFhLFFBQVEsaUNBQThCO0FBQzVELFNBQVNDLHdCQUF3QixRQUFRLHVCQUFvQjtBQUM3RCxTQUFTQyxRQUFRLFFBQVEsaUJBQWM7QUFHdkMsT0FBTyxNQUFNQyxnQ0FBZ0NEO0lBQzNDLGFBQWM7UUFDWixLQUFLLENBQUM7SUFDUjtJQUVBRSxtQkFBbUI7UUFDakIsTUFBTSxFQUFFQyxHQUFHLEVBQUUsR0FBR04sT0FBT08sTUFBTSxDQUFDQyxHQUFHO1FBRWpDLE9BQU87WUFDTEMsUUFBUSxHQUFHSCxJQUFJLGdCQUFnQixDQUFDO1lBQ2hDSSxNQUFNLENBQUMsdUJBQXVCLENBQUM7UUFDakM7SUFDRjtJQUVBQyxTQUFTO1FBQ1AsTUFBTUMsWUFBWVgsY0FBY1ksU0FBUztRQUN6QyxNQUFNQyxXQUFXRixVQUFVRyxHQUFHLENBQUMsQ0FBQ0MsS0FBT2YsY0FBY2dCLEdBQUcsQ0FBQ0Q7UUFFekQsMENBQTBDO1FBQzFDLE1BQU1FLGlCQUFpQkosU0FBU0ssTUFBTSxDQUNwQyxDQUFDQyxTQUFXQSxPQUFPQyxRQUFRLEtBQUtDLGFBQWFDLE9BQU9DLElBQUksQ0FBQ0osT0FBT0ssT0FBTyxFQUFFQyxNQUFNLEdBQUc7UUFHcEYsbUJBQW1CO1FBQ25CLE1BQU1DLGNBQTRCVCxlQUFlVSxPQUFPLENBQUMsQ0FBQ1I7WUFDeEQsTUFBTVMsYUFBYU4sT0FBT0MsSUFBSSxDQUFDSixPQUFPSyxPQUFPO1lBRTdDLE1BQU1LLG9CQUFvQixHQUFHVixPQUFPVyxLQUFLLENBQUNDLE1BQU0sQ0FBQyxTQUFTLENBQUM7WUFDM0QsTUFBTUMsa0JBQWtCbkMsV0FBV29DLFFBQVEsQ0FBQ2QsT0FBT0osRUFBRSxFQUFFO1lBRXZELHNCQUFzQjtZQUN0QixNQUFNbUIsa0JBQThCO2dCQUNsQ0MsT0FBTyxDQUFDLGFBQWEsRUFBRWhCLE9BQU9KLEVBQUUsRUFBRTtnQkFDbENxQixPQUFPO29CQUNMLENBQUMsYUFBYSxFQUFFSixnQkFBZ0IsaUJBQWlCLENBQUM7dUJBQy9DSixXQUFXZCxHQUFHLENBQ2YsQ0FBQ3VCLFlBQWMsR0FBR0EsVUFBVTtZQUM1QixFQUFFbEIsT0FBT21CLGtCQUFrQixDQUFDRCxXQUFXO1lBQ3ZDLENBQUM7b0JBRUgsQ0FBQyxFQUFFLENBQUM7b0JBQ0o7aUJBQ0Q7Z0JBQ0RFLFlBQVksRUFBRTtZQUNoQjtZQUVBLDZCQUE2QjtZQUM3QixNQUFNQyxrQkFBOEI7Z0JBQ2xDTCxPQUFPLENBQUMsYUFBYSxFQUFFaEIsT0FBT0osRUFBRSxFQUFFO2dCQUNsQ3FCLE9BQU87b0JBQ0wsQ0FBQyxhQUFhLEVBQUVKLGdCQUFnQixpQkFBaUIsQ0FBQzt1QkFDL0NKLFdBQVdkLEdBQUcsQ0FBQyxDQUFDdUI7d0JBQ2pCLE9BQU8sR0FBR0EsVUFBVSxFQUFFLEVBQUVsQixPQUFPc0Isa0JBQWtCLENBQUNKLFdBQVcsQ0FBQyxDQUFDO29CQUNqRTtvQkFDQSxDQUFDLHVDQUF1QyxFQUFFUixrQkFBa0IsRUFBRSxDQUFDO29CQUMvRDtpQkFDRDtnQkFDRFUsWUFBWTtvQkFBQ1Y7aUJBQWtCO1lBQ2pDO1lBRUEsT0FBTztnQkFBQ0s7Z0JBQWlCTTthQUFnQjtRQUMzQztRQUVBLG9CQUFvQjtRQUNwQixNQUFNRSxxQkFBcUIsSUFBSSxDQUFDQywyQkFBMkIsQ0FBQzlCO1FBQzVELElBQUk2QixvQkFBb0I7WUFDdEJoQixZQUFZa0IsSUFBSSxDQUFDRjtRQUNuQjtRQUVBLE1BQU1HLGFBQWFuQixZQUFZb0IsTUFBTSxDQUNuQyxDQUFDQyxRQUFRQztZQUNQLElBQUlBLE9BQU8sTUFBTTtnQkFDZixPQUFPRDtZQUNUO1lBQ0FuRCxPQUFPbUQ7WUFDUCxPQUFPO2dCQUNMWCxPQUFPO3VCQUFJVyxPQUFPWCxLQUFLO29CQUFFLENBQUMsR0FBRyxFQUFFWSxHQUFHYixLQUFLLEVBQUU7dUJBQUthLEdBQUdaLEtBQUs7b0JBQUU7aUJBQUc7Z0JBQzNERyxZQUFZekMsT0FBTzt1QkFBSWlELE9BQU9SLFVBQVU7dUJBQUtTLEdBQUdULFVBQVU7aUJBQUM7WUFDN0Q7UUFDRixHQUNBO1lBQ0VILE9BQU8sRUFBRTtZQUNURyxZQUFZLEVBQUU7UUFDaEI7UUFHRixNQUFNVSxPQUFPSixXQUFXVCxLQUFLLENBQUNjLElBQUksQ0FBQztRQUNuQyxNQUFNQyw4QkFBOEJGLEtBQUtHLFFBQVEsQ0FBQztRQUVsRCxNQUFNQyxnQkFBZ0I7WUFDcEI7WUFDQTtZQUNBO1lBQ0FGLDhCQUE4Qix5QkFBeUI7U0FDeEQsQ0FDRWpDLE1BQU0sQ0FBQ29DLFNBQ1BKLElBQUksQ0FBQztRQUVSLE9BQU87WUFDTCxHQUFHLElBQUksQ0FBQzlDLGdCQUFnQixFQUFFO1lBQzFCNkMsTUFBTUosV0FBV1QsS0FBSyxDQUFDYyxJQUFJLENBQUM7WUFDNUJYLFlBQVlNLFdBQVdOLFVBQVU7WUFDakNnQixlQUFlO2dCQUFDLENBQUMsU0FBUyxFQUFFRixjQUFjLGlCQUFpQixDQUFDO2FBQUM7UUFDL0Q7SUFDRjtJQUVBViw0QkFBNEI5QixRQUFrQixFQUFxQjtRQUNqRSxJQUFJQSxTQUFTWSxNQUFNLEtBQUssR0FBRztZQUN6QixPQUFPO1FBQ1Q7UUFFQSxNQUFNK0Isb0JBQW9CM0MsU0FBU0MsR0FBRyxDQUFDLENBQUNLLFNBQVcsR0FBR0EsT0FBT3NDLEtBQUssQ0FBQyxFQUFFLEVBQUV0QyxPQUFPSixFQUFFLENBQUMsV0FBVyxDQUFDO1FBRTdGLE1BQU0yQyxhQUFhNUQsT0FDakJlLFNBQVNjLE9BQU8sQ0FBQyxDQUFDUixTQUNoQkEsT0FBT3dDLEtBQUssQ0FBQ3pDLE1BQU0sQ0FBQ2pCLDBCQUEwQmEsR0FBRyxDQUFDLENBQUM4QztnQkFDakQsTUFBTUMsZUFBZWhFLFdBQVdpRSxXQUFXLENBQUMzQyxPQUFPc0MsS0FBSztnQkFDeEQsTUFBTU0sYUFBYWxFLFdBQVdpRSxXQUFXLENBQUM5RCxjQUFjZ0IsR0FBRyxDQUFDNEMsS0FBS0ksSUFBSSxFQUFFUCxLQUFLO2dCQUM1RSxPQUFPO29CQUFFQSxPQUFPRyxLQUFLSyxTQUFTO29CQUFFSjtvQkFBY0U7Z0JBQVc7WUFDM0QsS0FFRixDQUFDRSxZQUFjQSxVQUFVUixLQUFLO1FBR2hDLE9BQU87WUFDTHRCLE9BQU8sQ0FBQyxjQUFjLENBQUM7WUFDdkJDLE9BQU87Z0JBQ0wsQ0FBQyx5QkFBeUIsQ0FBQztnQkFDM0IsQ0FBQyx5Q0FBeUMsQ0FBQzttQkFDeENvQjttQkFDQUUsV0FBVzVDLEdBQUcsQ0FDZixDQUFDbUQsWUFDQyxHQUFHQSxVQUFVUixLQUFLLENBQUMsd0JBQXdCLEVBQUVRLFVBQVVKLFlBQVksQ0FBQyxJQUFJLEVBQUVJLFVBQVVGLFVBQVUsQ0FBQyxHQUFHLENBQUM7Z0JBRXZHLENBQUMsR0FBRyxDQUFDO2dCQUNMLENBQUMsQ0FBQyxDQUFDO2FBQ0o7WUFDRHhCLFlBQVkxQixTQUFTQyxHQUFHLENBQUMsQ0FBQ0ssU0FBVyxHQUFHQSxPQUFPSixFQUFFLENBQUMsVUFBVSxDQUFDO1FBQy9EO0lBQ0Y7QUFDRiJ9
@@ -1,5 +1,5 @@
1
- import { TemplateOptions } from "../../types/types";
2
- import { EntityNamesRecord } from "../../entity/entity-manager";
1
+ import { type EntityNamesRecord } from "../../entity/entity-manager";
2
+ import type { TemplateOptions } from "../../types/types";
3
3
  import { Template } from "../template";
4
4
  export declare class Template__init_types extends Template {
5
5
  constructor();
@@ -1 +1 @@
1
- {"version":3,"file":"init_types.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/init_types.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAiB,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,qBAAa,oBAAqB,SAAQ,QAAQ;;IAKhD,gBAAgB,CAAC,KAAK,EAAE,iBAAiB;;;;IASzC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,eAAe,CAAC,YAAY,CAAC;;;;;;CA4BnD"}
1
+ {"version":3,"file":"init_types.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/init_types.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,oBAAqB,SAAQ,QAAQ;;IAKhD,gBAAgB,CAAC,KAAK,EAAE,iBAAiB;;;;IASzC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,eAAe,CAAC,YAAY,CAAC;;;;;;CA0BnD"}
@@ -1,6 +1,6 @@
1
+ import { Sonamu } from "../../api/index.js";
1
2
  import { EntityManager } from "../../entity/entity-manager.js";
2
3
  import { Template } from "../template.js";
3
- import { Sonamu } from "../../api/index.js";
4
4
  export class Template__init_types extends Template {
5
5
  constructor(){
6
6
  super("init_types");
@@ -35,4 +35,4 @@ export type ${entityId}SaveParams = z.infer<typeof ${entityId}SaveParams>;
35
35
  }
36
36
  }
37
37
 
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZS9pbXBsZW1lbnRhdGlvbnMvaW5pdF90eXBlcy50ZW1wbGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZU9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCB7IEVudGl0eU1hbmFnZXIsIEVudGl0eU5hbWVzUmVjb3JkIH0gZnJvbSBcIi4uLy4uL2VudGl0eS9lbnRpdHktbWFuYWdlclwiO1xuaW1wb3J0IHsgVGVtcGxhdGUgfSBmcm9tIFwiLi4vdGVtcGxhdGVcIjtcbmltcG9ydCB7IFNvbmFtdSB9IGZyb20gXCIuLi8uLi9hcGlcIjtcblxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlX19pbml0X3R5cGVzIGV4dGVuZHMgVGVtcGxhdGUge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihcImluaXRfdHlwZXNcIik7XG4gIH1cblxuICBnZXRUYXJnZXRBbmRQYXRoKG5hbWVzOiBFbnRpdHlOYW1lc1JlY29yZCkge1xuICAgIGNvbnN0IHsgZGlyIH0gPSBTb25hbXUuY29uZmlnLmFwaTtcblxuICAgIHJldHVybiB7XG4gICAgICB0YXJnZXQ6IGAke2Rpcn0vc3JjL2FwcGxpY2F0aW9uYCxcbiAgICAgIHBhdGg6IGAke25hbWVzLmZzfS8ke25hbWVzLmZzfS50eXBlcy50c2AsXG4gICAgfTtcbiAgfVxuXG4gIHJlbmRlcih7IGVudGl0eUlkIH06IFRlbXBsYXRlT3B0aW9uc1tcImluaXRfdHlwZXNcIl0pIHtcbiAgICBjb25zdCBuYW1lcyA9IEVudGl0eU1hbmFnZXIuZ2V0TmFtZXNGcm9tSWQoZW50aXR5SWQpO1xuXG4gICAgY29uc3QgaGFzQ3JlYXRlZEF0ID1cbiAgICAgIEVudGl0eU1hbmFnZXIuZ2V0KGVudGl0eUlkKS5wcm9wcy5maW5kKFxuICAgICAgICAocHJvcCkgPT4gcHJvcC5uYW1lID09PSBcImNyZWF0ZWRfYXRcIlxuICAgICAgKSAhPT0gdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnRoaXMuZ2V0VGFyZ2V0QW5kUGF0aChuYW1lcyksXG4gICAgICBib2R5OiBgXG5pbXBvcnQgeyB6IH0gZnJvbSBcInpvZFwiO1xuaW1wb3J0IHsgJHtlbnRpdHlJZH1CYXNlU2NoZW1hLCAke2VudGl0eUlkfUJhc2VMaXN0UGFyYW1zIH0gZnJvbSBcIi4uL3NvbmFtdS5nZW5lcmF0ZWRcIjtcblxuLy8gJHtlbnRpdHlJZH0gLSBMaXN0UGFyYW1zXG5leHBvcnQgY29uc3QgJHtlbnRpdHlJZH1MaXN0UGFyYW1zID0gJHtlbnRpdHlJZH1CYXNlTGlzdFBhcmFtcztcbmV4cG9ydCB0eXBlICR7ZW50aXR5SWR9TGlzdFBhcmFtcyA9IHouaW5mZXI8dHlwZW9mICR7ZW50aXR5SWR9TGlzdFBhcmFtcz47XG5cbi8vICR7ZW50aXR5SWR9IC0gU2F2ZVBhcmFtc1xuZXhwb3J0IGNvbnN0ICR7ZW50aXR5SWR9U2F2ZVBhcmFtcyA9ICR7ZW50aXR5SWR9QmFzZVNjaGVtYS5wYXJ0aWFsKHsgaWQ6IHRydWUke1xuICAgICAgICBoYXNDcmVhdGVkQXQgPyBcIiwgY3JlYXRlZF9hdDogdHJ1ZVwiIDogXCJcIlxuICAgICAgfSB9KTtcbmV4cG9ydCB0eXBlICR7ZW50aXR5SWR9U2F2ZVBhcmFtcyA9IHouaW5mZXI8dHlwZW9mICR7ZW50aXR5SWR9U2F2ZVBhcmFtcz47XG5cbiAgICAgIGAudHJpbSgpLFxuICAgICAgaW1wb3J0S2V5czogW10sXG4gICAgfTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkVudGl0eU1hbmFnZXIiLCJUZW1wbGF0ZSIsIlNvbmFtdSIsIlRlbXBsYXRlX19pbml0X3R5cGVzIiwiZ2V0VGFyZ2V0QW5kUGF0aCIsIm5hbWVzIiwiZGlyIiwiY29uZmlnIiwiYXBpIiwidGFyZ2V0IiwicGF0aCIsImZzIiwicmVuZGVyIiwiZW50aXR5SWQiLCJnZXROYW1lc0Zyb21JZCIsImhhc0NyZWF0ZWRBdCIsImdldCIsInByb3BzIiwiZmluZCIsInByb3AiLCJuYW1lIiwidW5kZWZpbmVkIiwiYm9keSIsInRyaW0iLCJpbXBvcnRLZXlzIl0sIm1hcHBpbmdzIjoiQUFDQSxTQUFTQSxhQUFhLFFBQTJCLGlDQUE4QjtBQUMvRSxTQUFTQyxRQUFRLFFBQVEsaUJBQWM7QUFDdkMsU0FBU0MsTUFBTSxRQUFRLHFCQUFZO0FBRW5DLE9BQU8sTUFBTUMsNkJBQTZCRjtJQUN4QyxhQUFjO1FBQ1osS0FBSyxDQUFDO0lBQ1I7SUFFQUcsaUJBQWlCQyxLQUF3QixFQUFFO1FBQ3pDLE1BQU0sRUFBRUMsR0FBRyxFQUFFLEdBQUdKLE9BQU9LLE1BQU0sQ0FBQ0MsR0FBRztRQUVqQyxPQUFPO1lBQ0xDLFFBQVEsR0FBR0gsSUFBSSxnQkFBZ0IsQ0FBQztZQUNoQ0ksTUFBTSxHQUFHTCxNQUFNTSxFQUFFLENBQUMsQ0FBQyxFQUFFTixNQUFNTSxFQUFFLENBQUMsU0FBUyxDQUFDO1FBQzFDO0lBQ0Y7SUFFQUMsT0FBTyxFQUFFQyxRQUFRLEVBQWlDLEVBQUU7UUFDbEQsTUFBTVIsUUFBUUwsY0FBY2MsY0FBYyxDQUFDRDtRQUUzQyxNQUFNRSxlQUNKZixjQUFjZ0IsR0FBRyxDQUFDSCxVQUFVSSxLQUFLLENBQUNDLElBQUksQ0FDcEMsQ0FBQ0MsT0FBU0EsS0FBS0MsSUFBSSxLQUFLLGtCQUNwQkM7UUFFUixPQUFPO1lBQ0wsR0FBRyxJQUFJLENBQUNqQixnQkFBZ0IsQ0FBQ0MsTUFBTTtZQUMvQmlCLE1BQU0sQ0FBQzs7U0FFSixFQUFFVCxTQUFTLFlBQVksRUFBRUEsU0FBUzs7R0FFeEMsRUFBRUEsU0FBUzthQUNELEVBQUVBLFNBQVMsYUFBYSxFQUFFQSxTQUFTO1lBQ3BDLEVBQUVBLFNBQVMsNEJBQTRCLEVBQUVBLFNBQVM7O0dBRTNELEVBQUVBLFNBQVM7YUFDRCxFQUFFQSxTQUFTLGFBQWEsRUFBRUEsU0FBUyw2QkFBNkIsRUFDckVFLGVBQWUsdUJBQXVCLEdBQ3ZDO1lBQ0ssRUFBRUYsU0FBUyw0QkFBNEIsRUFBRUEsU0FBUzs7TUFFeEQsQ0FBQyxDQUFDVSxJQUFJO1lBQ05DLFlBQVksRUFBRTtRQUNoQjtJQUNGO0FBQ0YifQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZS9pbXBsZW1lbnRhdGlvbnMvaW5pdF90eXBlcy50ZW1wbGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTb25hbXUgfSBmcm9tIFwiLi4vLi4vYXBpXCI7XG5pbXBvcnQgeyBFbnRpdHlNYW5hZ2VyLCB0eXBlIEVudGl0eU5hbWVzUmVjb3JkIH0gZnJvbSBcIi4uLy4uL2VudGl0eS9lbnRpdHktbWFuYWdlclwiO1xuaW1wb3J0IHR5cGUgeyBUZW1wbGF0ZU9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCB7IFRlbXBsYXRlIH0gZnJvbSBcIi4uL3RlbXBsYXRlXCI7XG5cbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZV9faW5pdF90eXBlcyBleHRlbmRzIFRlbXBsYXRlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoXCJpbml0X3R5cGVzXCIpO1xuICB9XG5cbiAgZ2V0VGFyZ2V0QW5kUGF0aChuYW1lczogRW50aXR5TmFtZXNSZWNvcmQpIHtcbiAgICBjb25zdCB7IGRpciB9ID0gU29uYW11LmNvbmZpZy5hcGk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgdGFyZ2V0OiBgJHtkaXJ9L3NyYy9hcHBsaWNhdGlvbmAsXG4gICAgICBwYXRoOiBgJHtuYW1lcy5mc30vJHtuYW1lcy5mc30udHlwZXMudHNgLFxuICAgIH07XG4gIH1cblxuICByZW5kZXIoeyBlbnRpdHlJZCB9OiBUZW1wbGF0ZU9wdGlvbnNbXCJpbml0X3R5cGVzXCJdKSB7XG4gICAgY29uc3QgbmFtZXMgPSBFbnRpdHlNYW5hZ2VyLmdldE5hbWVzRnJvbUlkKGVudGl0eUlkKTtcblxuICAgIGNvbnN0IGhhc0NyZWF0ZWRBdCA9XG4gICAgICBFbnRpdHlNYW5hZ2VyLmdldChlbnRpdHlJZCkucHJvcHMuZmluZCgocHJvcCkgPT4gcHJvcC5uYW1lID09PSBcImNyZWF0ZWRfYXRcIikgIT09IHVuZGVmaW5lZDtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi50aGlzLmdldFRhcmdldEFuZFBhdGgobmFtZXMpLFxuICAgICAgYm9keTogYFxuaW1wb3J0IHsgeiB9IGZyb20gXCJ6b2RcIjtcbmltcG9ydCB7ICR7ZW50aXR5SWR9QmFzZVNjaGVtYSwgJHtlbnRpdHlJZH1CYXNlTGlzdFBhcmFtcyB9IGZyb20gXCIuLi9zb25hbXUuZ2VuZXJhdGVkXCI7XG5cbi8vICR7ZW50aXR5SWR9IC0gTGlzdFBhcmFtc1xuZXhwb3J0IGNvbnN0ICR7ZW50aXR5SWR9TGlzdFBhcmFtcyA9ICR7ZW50aXR5SWR9QmFzZUxpc3RQYXJhbXM7XG5leHBvcnQgdHlwZSAke2VudGl0eUlkfUxpc3RQYXJhbXMgPSB6LmluZmVyPHR5cGVvZiAke2VudGl0eUlkfUxpc3RQYXJhbXM+O1xuXG4vLyAke2VudGl0eUlkfSAtIFNhdmVQYXJhbXNcbmV4cG9ydCBjb25zdCAke2VudGl0eUlkfVNhdmVQYXJhbXMgPSAke2VudGl0eUlkfUJhc2VTY2hlbWEucGFydGlhbCh7IGlkOiB0cnVlJHtcbiAgICAgICAgaGFzQ3JlYXRlZEF0ID8gXCIsIGNyZWF0ZWRfYXQ6IHRydWVcIiA6IFwiXCJcbiAgICAgIH0gfSk7XG5leHBvcnQgdHlwZSAke2VudGl0eUlkfVNhdmVQYXJhbXMgPSB6LmluZmVyPHR5cGVvZiAke2VudGl0eUlkfVNhdmVQYXJhbXM+O1xuXG4gICAgICBgLnRyaW0oKSxcbiAgICAgIGltcG9ydEtleXM6IFtdLFxuICAgIH07XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTb25hbXUiLCJFbnRpdHlNYW5hZ2VyIiwiVGVtcGxhdGUiLCJUZW1wbGF0ZV9faW5pdF90eXBlcyIsImdldFRhcmdldEFuZFBhdGgiLCJuYW1lcyIsImRpciIsImNvbmZpZyIsImFwaSIsInRhcmdldCIsInBhdGgiLCJmcyIsInJlbmRlciIsImVudGl0eUlkIiwiZ2V0TmFtZXNGcm9tSWQiLCJoYXNDcmVhdGVkQXQiLCJnZXQiLCJwcm9wcyIsImZpbmQiLCJwcm9wIiwibmFtZSIsInVuZGVmaW5lZCIsImJvZHkiLCJ0cmltIiwiaW1wb3J0S2V5cyJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsTUFBTSxRQUFRLHFCQUFZO0FBQ25DLFNBQVNDLGFBQWEsUUFBZ0MsaUNBQThCO0FBRXBGLFNBQVNDLFFBQVEsUUFBUSxpQkFBYztBQUV2QyxPQUFPLE1BQU1DLDZCQUE2QkQ7SUFDeEMsYUFBYztRQUNaLEtBQUssQ0FBQztJQUNSO0lBRUFFLGlCQUFpQkMsS0FBd0IsRUFBRTtRQUN6QyxNQUFNLEVBQUVDLEdBQUcsRUFBRSxHQUFHTixPQUFPTyxNQUFNLENBQUNDLEdBQUc7UUFFakMsT0FBTztZQUNMQyxRQUFRLEdBQUdILElBQUksZ0JBQWdCLENBQUM7WUFDaENJLE1BQU0sR0FBR0wsTUFBTU0sRUFBRSxDQUFDLENBQUMsRUFBRU4sTUFBTU0sRUFBRSxDQUFDLFNBQVMsQ0FBQztRQUMxQztJQUNGO0lBRUFDLE9BQU8sRUFBRUMsUUFBUSxFQUFpQyxFQUFFO1FBQ2xELE1BQU1SLFFBQVFKLGNBQWNhLGNBQWMsQ0FBQ0Q7UUFFM0MsTUFBTUUsZUFDSmQsY0FBY2UsR0FBRyxDQUFDSCxVQUFVSSxLQUFLLENBQUNDLElBQUksQ0FBQyxDQUFDQyxPQUFTQSxLQUFLQyxJQUFJLEtBQUssa0JBQWtCQztRQUVuRixPQUFPO1lBQ0wsR0FBRyxJQUFJLENBQUNqQixnQkFBZ0IsQ0FBQ0MsTUFBTTtZQUMvQmlCLE1BQU0sQ0FBQzs7U0FFSixFQUFFVCxTQUFTLFlBQVksRUFBRUEsU0FBUzs7R0FFeEMsRUFBRUEsU0FBUzthQUNELEVBQUVBLFNBQVMsYUFBYSxFQUFFQSxTQUFTO1lBQ3BDLEVBQUVBLFNBQVMsNEJBQTRCLEVBQUVBLFNBQVM7O0dBRTNELEVBQUVBLFNBQVM7YUFDRCxFQUFFQSxTQUFTLGFBQWEsRUFBRUEsU0FBUyw2QkFBNkIsRUFDckVFLGVBQWUsdUJBQXVCLEdBQ3ZDO1lBQ0ssRUFBRUYsU0FBUyw0QkFBNEIsRUFBRUEsU0FBUzs7TUFFeEQsQ0FBQyxDQUFDVSxJQUFJO1lBQ05DLFlBQVksRUFBRTtRQUNoQjtJQUNGO0FBQ0YifQ==
@@ -1,5 +1,5 @@
1
- import { TemplateOptions } from "../../types/types";
2
- import { EntityNamesRecord } from "../../entity/entity-manager";
1
+ import { type EntityNamesRecord } from "../../entity/entity-manager";
2
+ import type { TemplateOptions } from "../../types/types";
3
3
  import { Template } from "../template";
4
4
  export declare class Template__model extends Template {
5
5
  constructor();
@@ -1 +1 @@
1
- {"version":3,"file":"model.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/model.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAiB,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAKvC,qBAAa,eAAgB,SAAQ,QAAQ;;IAK3C,gBAAgB,CAAC,KAAK,EAAE,iBAAiB;;;;IASnC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,eAAe,CAAC,OAAO,CAAC;;;;;;CA2JpD"}
1
+ {"version":3,"file":"model.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/model.template.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIvC,qBAAa,eAAgB,SAAQ,QAAQ;;IAK3C,gBAAgB,CAAC,KAAK,EAAE,iBAAiB;;;;IASnC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,eAAe,CAAC,OAAO,CAAC;;;;;;CAmKpD"}
@@ -1,8 +1,9 @@
1
+ import { Sonamu } from "../../api/index.js";
1
2
  import { EntityManager } from "../../entity/entity-manager.js";
3
+ import { Naite } from "../../naite/naite.js";
2
4
  import { Template } from "../template.js";
3
- import { Template__view_list } from "./view_list.template.js";
4
- import { Sonamu } from "../../api/index.js";
5
5
  import { getZodTypeById, zodTypeToRenderingNode } from "../zod-converter.js";
6
+ import { Template__view_list } from "./view_list.template.js";
6
7
  export class Template__model extends Template {
7
8
  constructor(){
8
9
  super("model");
@@ -15,6 +16,9 @@ export class Template__model extends Template {
15
16
  };
16
17
  }
17
18
  async render({ entityId }) {
19
+ Naite.t("render", {
20
+ entityId
21
+ });
18
22
  const listParamsZodType = await getZodTypeById(`${entityId}ListParams`);
19
23
  const listParamsNode = zodTypeToRenderingNode(listParamsZodType);
20
24
  const names = EntityManager.getNamesFromId(entityId);
@@ -27,20 +31,26 @@ export class Template__model extends Template {
27
31
  return {
28
32
  ...this.getTargetAndPath(names),
29
33
  body: `
30
- import { BaseModelClass, ListResult, asArray, NotFoundException, BadRequestException, api } from 'sonamu';
34
+ import { BaseModelClass, type ListResult, asArray, NotFoundException, BadRequestException, api, exhaustive } from 'sonamu';
31
35
  import {
32
36
  ${entityId}SubsetKey,
33
37
  ${entityId}SubsetMapping,
34
38
  } from "../sonamu.generated";
35
39
  import {
36
40
  ${names.camel}SubsetQueries,
41
+ ${names.camel}LoaderQueries,
37
42
  } from "../sonamu.generated.sso";
38
43
  import { ${entityId}ListParams, ${entityId}SaveParams } from "./${names.fs}.types";
39
44
 
40
45
  /*
41
46
  ${entityId} Model
42
47
  */
43
- class ${entityId}ModelClass extends BaseModelClass {
48
+ class ${entityId}ModelClass extends BaseModelClass<
49
+ ${entityId}SubsetKey,
50
+ ${entityId}SubsetMapping,
51
+ typeof ${names.camel}SubsetQueries,
52
+ typeof ${names.camel}LoaderQueries
53
+ > {
44
54
  modelName = "${entityId}";
45
55
 
46
56
  @api({ httpMethod: "GET", clients: ["axios", "swr"], resourceName: "${entityId}" })
@@ -88,38 +98,38 @@ class ${entityId}ModelClass extends BaseModelClass {
88
98
  };
89
99
 
90
100
  // build queries
91
- let { rows, total } = await this.runSubsetQuery({
101
+ const { qb, onSubset: _ } = this.getSubsetQueries(subset);
102
+
103
+ // id
104
+ if (params.id) {
105
+ qb.whereIn("${entity.table}.id", asArray(params.id));
106
+ }
107
+
108
+ // search-keyword
109
+ if (params.search && params.keyword && params.keyword.length > 0) {
110
+ if (params.search === "id") {
111
+ qb.where("${entity.table}.id", Number(params.keyword));
112
+ // } else if (params.search === "field") {
113
+ // qb.where("${entity.table}.field", "like", \`%\${params.keyword}%\`);
114
+ } else {
115
+ throw new BadRequestException(\`구현되지 않은 검색 필드 \${params.search}\`);
116
+ }
117
+ }
118
+
119
+ // orderBy
120
+ if (params.orderBy) {
121
+ // default orderBy
122
+ if (params.orderBy === "id-desc") {
123
+ qb.orderBy("${entity.table}.id", "desc");
124
+ } else {
125
+ exhaustive(params.orderBy);
126
+ }
127
+ }
128
+
129
+ const { rows, total } = await this.executeSubsetQuery({
92
130
  subset,
131
+ qb,
93
132
  params,
94
- subsetQuery: ${names.camel}SubsetQueries[subset],
95
- build: ({ qb }) => {
96
- // id
97
- if (params.id) {
98
- qb.whereIn("${entity.table}.id", asArray(params.id));
99
- }
100
-
101
- // search-keyword
102
- if (params.search && params.keyword && params.keyword.length > 0) {
103
- if (params.search === "id") {
104
- qb.where("${entity.table}.id", params.keyword);
105
- // } else if (params.search === "field") {
106
- // qb.where("${entity.table}.field", "like", \`%\${params.keyword}%\`);
107
- } else {
108
- throw new BadRequestException(
109
- \`구현되지 않은 검색 필드 \${params.search}\`
110
- );
111
- }
112
- }
113
-
114
- // orderBy
115
- if (params.orderBy) {
116
- // default orderBy
117
- const [orderByField, orderByDirec] = params.orderBy.split("-");
118
- qb.orderBy("${entity.table}." + orderByField, orderByDirec);
119
- }
120
-
121
- return qb;
122
- },
123
133
  debug: false,
124
134
  });
125
135
 
@@ -136,7 +146,7 @@ class ${entityId}ModelClass extends BaseModelClass {
136
146
  const wdb = this.getPuri("w");
137
147
 
138
148
  // register
139
- spa.map((sp) => {
149
+ spa.forEach((sp) => {
140
150
  wdb.ubRegister("${entity.table}", sp);
141
151
  });
142
152
 
@@ -161,11 +171,11 @@ class ${entityId}ModelClass extends BaseModelClass {
161
171
  }
162
172
  }
163
173
 
164
- export const ${entityId}Model = new ${entityId}ModelClass();
174
+ export const ${entityId}Model = new ${entityId}ModelClass(${names.camel}SubsetQueries, ${names.camel}LoaderQueries);
165
175
  `.trim(),
166
176
  importKeys: []
167
177
  };
168
178
  }
169
179
  }
170
180
 
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZS9pbXBsZW1lbnRhdGlvbnMvbW9kZWwudGVtcGxhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVPcHRpb25zIH0gZnJvbSBcIi4uLy4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgeyBFbnRpdHlNYW5hZ2VyLCBFbnRpdHlOYW1lc1JlY29yZCB9IGZyb20gXCIuLi8uLi9lbnRpdHkvZW50aXR5LW1hbmFnZXJcIjtcbmltcG9ydCB7IFRlbXBsYXRlIH0gZnJvbSBcIi4uL3RlbXBsYXRlXCI7XG5pbXBvcnQgeyBUZW1wbGF0ZV9fdmlld19saXN0IH0gZnJvbSBcIi4vdmlld19saXN0LnRlbXBsYXRlXCI7XG5pbXBvcnQgeyBTb25hbXUgfSBmcm9tIFwiLi4vLi4vYXBpXCI7XG5pbXBvcnQgeyBnZXRab2RUeXBlQnlJZCwgem9kVHlwZVRvUmVuZGVyaW5nTm9kZSB9IGZyb20gXCIuLi96b2QtY29udmVydGVyXCI7XG5cbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZV9fbW9kZWwgZXh0ZW5kcyBUZW1wbGF0ZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKFwibW9kZWxcIik7XG4gIH1cblxuICBnZXRUYXJnZXRBbmRQYXRoKG5hbWVzOiBFbnRpdHlOYW1lc1JlY29yZCkge1xuICAgIGNvbnN0IHsgZGlyIH0gPSBTb25hbXUuY29uZmlnLmFwaTtcblxuICAgIHJldHVybiB7XG4gICAgICB0YXJnZXQ6IGAke2Rpcn0vc3JjL2FwcGxpY2F0aW9uYCxcbiAgICAgIHBhdGg6IGAke25hbWVzLmZzfS8ke25hbWVzLmZzfS5tb2RlbC50c2AsXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIHJlbmRlcih7IGVudGl0eUlkIH06IFRlbXBsYXRlT3B0aW9uc1tcIm1vZGVsXCJdKSB7XG4gICAgY29uc3QgbGlzdFBhcmFtc1pvZFR5cGUgPSBhd2FpdCBnZXRab2RUeXBlQnlJZChgJHtlbnRpdHlJZH1MaXN0UGFyYW1zYCk7XG4gICAgY29uc3QgbGlzdFBhcmFtc05vZGUgPSB6b2RUeXBlVG9SZW5kZXJpbmdOb2RlKGxpc3RQYXJhbXNab2RUeXBlKTtcblxuICAgIGNvbnN0IG5hbWVzID0gRW50aXR5TWFuYWdlci5nZXROYW1lc0Zyb21JZChlbnRpdHlJZCk7XG4gICAgY29uc3QgZW50aXR5ID0gRW50aXR5TWFuYWdlci5nZXQoZW50aXR5SWQpO1xuXG4gICAgY29uc3QgdmxUcGwgPSBuZXcgVGVtcGxhdGVfX3ZpZXdfbGlzdCgpO1xuICAgIGlmIChsaXN0UGFyYW1zTm9kZT8uY2hpbGRyZW4gPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBsaXN0UGFyYW1zTm9kZeqwgCDsl4bsirXri4jri6QuICR7ZW50aXR5SWR9YCk7XG4gICAgfVxuICAgIGNvbnN0IGRlZiA9IHZsVHBsLmdldERlZmF1bHQobGlzdFBhcmFtc05vZGUuY2hpbGRyZW4pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnRoaXMuZ2V0VGFyZ2V0QW5kUGF0aChuYW1lcyksXG4gICAgICBib2R5OiBgXG5pbXBvcnQgeyBCYXNlTW9kZWxDbGFzcywgTGlzdFJlc3VsdCwgYXNBcnJheSwgTm90Rm91bmRFeGNlcHRpb24sIEJhZFJlcXVlc3RFeGNlcHRpb24sIGFwaSB9IGZyb20gJ3NvbmFtdSc7XG5pbXBvcnQge1xuICAke2VudGl0eUlkfVN1YnNldEtleSxcbiAgJHtlbnRpdHlJZH1TdWJzZXRNYXBwaW5nLFxufSBmcm9tIFwiLi4vc29uYW11LmdlbmVyYXRlZFwiO1xuaW1wb3J0IHtcbiAgJHtuYW1lcy5jYW1lbH1TdWJzZXRRdWVyaWVzLFxufSBmcm9tIFwiLi4vc29uYW11LmdlbmVyYXRlZC5zc29cIjtcbmltcG9ydCB7ICR7ZW50aXR5SWR9TGlzdFBhcmFtcywgJHtlbnRpdHlJZH1TYXZlUGFyYW1zIH0gZnJvbSBcIi4vJHtuYW1lcy5mc30udHlwZXNcIjtcblxuLypcbiAgJHtlbnRpdHlJZH0gTW9kZWxcbiovXG5jbGFzcyAke2VudGl0eUlkfU1vZGVsQ2xhc3MgZXh0ZW5kcyBCYXNlTW9kZWxDbGFzcyB7XG4gIG1vZGVsTmFtZSA9IFwiJHtlbnRpdHlJZH1cIjtcblxuICBAYXBpKHsgaHR0cE1ldGhvZDogXCJHRVRcIiwgY2xpZW50czogW1wiYXhpb3NcIiwgXCJzd3JcIl0sIHJlc291cmNlTmFtZTogXCIke2VudGl0eUlkfVwiIH0pXG4gIGFzeW5jIGZpbmRCeUlkPFQgZXh0ZW5kcyAke2VudGl0eUlkfVN1YnNldEtleT4oXG4gICAgc3Vic2V0OiBULFxuICAgIGlkOiBudW1iZXJcbiAgKTogUHJvbWlzZTwke2VudGl0eUlkfVN1YnNldE1hcHBpbmdbVF0+IHtcbiAgICBjb25zdCB7IHJvd3MgfSA9IGF3YWl0IHRoaXMuZmluZE1hbnkoc3Vic2V0LCB7XG4gICAgICBpZCxcbiAgICAgIG51bTogMSxcbiAgICAgIHBhZ2U6IDEsXG4gICAgfSk7XG4gICAgaWYgKCFyb3dzWzBdKSB7XG4gICAgICB0aHJvdyBuZXcgTm90Rm91bmRFeGNlcHRpb24oXFxg7KG07J6s7ZWY7KeAIOyViuuKlCAke25hbWVzLmNhcGl0YWx9IElEIFxcJHtpZH1cXGApO1xuICAgIH1cblxuICAgIHJldHVybiByb3dzWzBdO1xuICB9XG5cbiAgYXN5bmMgZmluZE9uZTxUIGV4dGVuZHMgJHtlbnRpdHlJZH1TdWJzZXRLZXk+KFxuICAgIHN1YnNldDogVCxcbiAgICBsaXN0UGFyYW1zOiAke2VudGl0eUlkfUxpc3RQYXJhbXNcbiAgKTogUHJvbWlzZTwke2VudGl0eUlkfVN1YnNldE1hcHBpbmdbVF0gfCBudWxsPiB7XG4gICAgY29uc3QgeyByb3dzIH0gPSBhd2FpdCB0aGlzLmZpbmRNYW55KHN1YnNldCwge1xuICAgICAgLi4ubGlzdFBhcmFtcyxcbiAgICAgIG51bTogMSxcbiAgICAgIHBhZ2U6IDEsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gcm93c1swXSA/PyBudWxsO1xuICB9XG5cbiAgQGFwaSh7IGh0dHBNZXRob2Q6IFwiR0VUXCIsIGNsaWVudHM6IFtcImF4aW9zXCIsIFwic3dyXCJdLCByZXNvdXJjZU5hbWU6IFwiJHtuYW1lcy5jYXBpdGFsUGx1cmFsfVwiIH0pXG4gIGFzeW5jIGZpbmRNYW55PFQgZXh0ZW5kcyAke2VudGl0eUlkfVN1YnNldEtleT4oXG4gICAgc3Vic2V0OiBULFxuICAgIHBhcmFtczogJHtlbnRpdHlJZH1MaXN0UGFyYW1zID0ge31cbiAgKTogUHJvbWlzZTxMaXN0UmVzdWx0PCR7ZW50aXR5SWR9U3Vic2V0TWFwcGluZ1tUXT4+IHtcbiAgICAvLyBwYXJhbXMgd2l0aCBkZWZhdWx0c1xuICAgIHBhcmFtcyA9IHtcbiAgICAgIG51bTogMjQsXG4gICAgICBwYWdlOiAxLFxuICAgICAgc2VhcmNoOiBcIiR7ZGVmLnNlYXJjaH1cIixcbiAgICAgIG9yZGVyQnk6IFwiJHtkZWYub3JkZXJCeX1cIixcbiAgICAgIC4uLnBhcmFtcyxcbiAgICB9O1xuXG4gICAgLy8gYnVpbGQgcXVlcmllc1xuICAgIGxldCB7IHJvd3MsIHRvdGFsIH0gPSBhd2FpdCB0aGlzLnJ1blN1YnNldFF1ZXJ5KHtcbiAgICAgIHN1YnNldCxcbiAgICAgIHBhcmFtcyxcbiAgICAgIHN1YnNldFF1ZXJ5OiAke25hbWVzLmNhbWVsfVN1YnNldFF1ZXJpZXNbc3Vic2V0XSxcbiAgICAgIGJ1aWxkOiAoeyBxYiB9KSA9PiB7XG4gICAgICAgIC8vIGlkXG4gICAgICAgIGlmIChwYXJhbXMuaWQpIHtcbiAgICAgICAgICBxYi53aGVyZUluKFwiJHtlbnRpdHkudGFibGV9LmlkXCIsIGFzQXJyYXkocGFyYW1zLmlkKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBzZWFyY2gta2V5d29yZFxuICAgICAgICBpZiAocGFyYW1zLnNlYXJjaCAmJiBwYXJhbXMua2V5d29yZCAmJiBwYXJhbXMua2V5d29yZC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgaWYgKHBhcmFtcy5zZWFyY2ggPT09IFwiaWRcIikge1xuICAgICAgICAgICAgcWIud2hlcmUoXCIke2VudGl0eS50YWJsZX0uaWRcIiwgcGFyYW1zLmtleXdvcmQpO1xuICAgICAgICAgIC8vIH0gZWxzZSBpZiAocGFyYW1zLnNlYXJjaCA9PT0gXCJmaWVsZFwiKSB7XG4gICAgICAgICAgLy8gICBxYi53aGVyZShcIiR7ZW50aXR5LnRhYmxlfS5maWVsZFwiLCBcImxpa2VcIiwgXFxgJVxcJHtwYXJhbXMua2V5d29yZH0lXFxgKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEJhZFJlcXVlc3RFeGNlcHRpb24oXG4gICAgICAgICAgICAgIFxcYOq1rO2YhOuQmOyngCDslYrsnYAg6rKA7IOJIO2VhOuTnCBcXCR7cGFyYW1zLnNlYXJjaH1cXGBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gb3JkZXJCeVxuICAgICAgICBpZiAocGFyYW1zLm9yZGVyQnkpIHtcbiAgICAgICAgICAvLyBkZWZhdWx0IG9yZGVyQnlcbiAgICAgICAgICBjb25zdCBbb3JkZXJCeUZpZWxkLCBvcmRlckJ5RGlyZWNdID0gcGFyYW1zLm9yZGVyQnkuc3BsaXQoXCItXCIpO1xuICAgICAgICAgIHFiLm9yZGVyQnkoXCIke2VudGl0eS50YWJsZX0uXCIgKyBvcmRlckJ5RmllbGQsIG9yZGVyQnlEaXJlYyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcWI7XG4gICAgICB9LFxuICAgICAgZGVidWc6IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHJvd3MsXG4gICAgICB0b3RhbCxcbiAgICB9O1xuICB9XG5cbiAgQGFwaSh7IGh0dHBNZXRob2Q6IFwiUE9TVFwiIH0pXG4gIGFzeW5jIHNhdmUoXG4gICAgc3BhOiAke2VudGl0eUlkfVNhdmVQYXJhbXNbXVxuICApOiBQcm9taXNlPG51bWJlcltdPiB7XG4gICAgY29uc3Qgd2RiID0gdGhpcy5nZXRQdXJpKFwid1wiKTtcblxuICAgIC8vIHJlZ2lzdGVyXG4gICAgc3BhLm1hcCgoc3ApID0+IHtcbiAgICAgIHdkYi51YlJlZ2lzdGVyKFwiJHtlbnRpdHkudGFibGV9XCIsIHNwKTtcbiAgICB9KTtcblxuICAgIC8vIHRyYW5zYWN0aW9uXG4gICAgcmV0dXJuIHdkYi50cmFuc2FjdGlvbihhc3luYyAodHJ4KSA9PiB7XG4gICAgICBjb25zdCBpZHMgPSBhd2FpdCB0cngudWJVcHNlcnQoXCIke2VudGl0eS50YWJsZX1cIik7XG5cbiAgICAgIHJldHVybiBpZHM7XG4gICAgfSk7XG4gIH1cblxuICBAYXBpKHsgaHR0cE1ldGhvZDogXCJQT1NUXCIsIGd1YXJkczogWyBcImFkbWluXCIgXSB9KVxuICBhc3luYyBkZWwoaWRzOiBudW1iZXJbXSk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgY29uc3Qgd2RiID0gdGhpcy5nZXRQdXJpKFwid1wiKTtcblxuICAgIC8vIHRyYW5zYWN0aW9uXG4gICAgYXdhaXQgd2RiLnRyYW5zYWN0aW9uKGFzeW5jICh0cngpID0+IHtcbiAgICAgIHJldHVybiB0cngudGFibGUoXCIke2VudGl0eS50YWJsZX1cIikud2hlcmVJbihcIiR7ZW50aXR5LnRhYmxlfS5pZFwiLCBpZHMpLmRlbGV0ZSgpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGlkcy5sZW5ndGg7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0ICR7ZW50aXR5SWR9TW9kZWwgPSBuZXcgJHtlbnRpdHlJZH1Nb2RlbENsYXNzKCk7XG4gICAgICBgLnRyaW0oKSxcbiAgICAgIGltcG9ydEtleXM6IFtdLFxuICAgIH07XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJFbnRpdHlNYW5hZ2VyIiwiVGVtcGxhdGUiLCJUZW1wbGF0ZV9fdmlld19saXN0IiwiU29uYW11IiwiZ2V0Wm9kVHlwZUJ5SWQiLCJ6b2RUeXBlVG9SZW5kZXJpbmdOb2RlIiwiVGVtcGxhdGVfX21vZGVsIiwiZ2V0VGFyZ2V0QW5kUGF0aCIsIm5hbWVzIiwiZGlyIiwiY29uZmlnIiwiYXBpIiwidGFyZ2V0IiwicGF0aCIsImZzIiwicmVuZGVyIiwiZW50aXR5SWQiLCJsaXN0UGFyYW1zWm9kVHlwZSIsImxpc3RQYXJhbXNOb2RlIiwiZ2V0TmFtZXNGcm9tSWQiLCJlbnRpdHkiLCJnZXQiLCJ2bFRwbCIsImNoaWxkcmVuIiwidW5kZWZpbmVkIiwiRXJyb3IiLCJkZWYiLCJnZXREZWZhdWx0IiwiYm9keSIsImNhbWVsIiwiY2FwaXRhbCIsImNhcGl0YWxQbHVyYWwiLCJzZWFyY2giLCJvcmRlckJ5IiwidGFibGUiLCJ0cmltIiwiaW1wb3J0S2V5cyJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EsYUFBYSxRQUEyQixpQ0FBOEI7QUFDL0UsU0FBU0MsUUFBUSxRQUFRLGlCQUFjO0FBQ3ZDLFNBQVNDLG1CQUFtQixRQUFRLDBCQUF1QjtBQUMzRCxTQUFTQyxNQUFNLFFBQVEscUJBQVk7QUFDbkMsU0FBU0MsY0FBYyxFQUFFQyxzQkFBc0IsUUFBUSxzQkFBbUI7QUFFMUUsT0FBTyxNQUFNQyx3QkFBd0JMO0lBQ25DLGFBQWM7UUFDWixLQUFLLENBQUM7SUFDUjtJQUVBTSxpQkFBaUJDLEtBQXdCLEVBQUU7UUFDekMsTUFBTSxFQUFFQyxHQUFHLEVBQUUsR0FBR04sT0FBT08sTUFBTSxDQUFDQyxHQUFHO1FBRWpDLE9BQU87WUFDTEMsUUFBUSxHQUFHSCxJQUFJLGdCQUFnQixDQUFDO1lBQ2hDSSxNQUFNLEdBQUdMLE1BQU1NLEVBQUUsQ0FBQyxDQUFDLEVBQUVOLE1BQU1NLEVBQUUsQ0FBQyxTQUFTLENBQUM7UUFDMUM7SUFDRjtJQUVBLE1BQU1DLE9BQU8sRUFBRUMsUUFBUSxFQUE0QixFQUFFO1FBQ25ELE1BQU1DLG9CQUFvQixNQUFNYixlQUFlLEdBQUdZLFNBQVMsVUFBVSxDQUFDO1FBQ3RFLE1BQU1FLGlCQUFpQmIsdUJBQXVCWTtRQUU5QyxNQUFNVCxRQUFRUixjQUFjbUIsY0FBYyxDQUFDSDtRQUMzQyxNQUFNSSxTQUFTcEIsY0FBY3FCLEdBQUcsQ0FBQ0w7UUFFakMsTUFBTU0sUUFBUSxJQUFJcEI7UUFDbEIsSUFBSWdCLGdCQUFnQkssYUFBYUMsV0FBVztZQUMxQyxNQUFNLElBQUlDLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRVQsVUFBVTtRQUNyRDtRQUNBLE1BQU1VLE1BQU1KLE1BQU1LLFVBQVUsQ0FBQ1QsZUFBZUssUUFBUTtRQUVwRCxPQUFPO1lBQ0wsR0FBRyxJQUFJLENBQUNoQixnQkFBZ0IsQ0FBQ0MsTUFBTTtZQUMvQm9CLE1BQU0sQ0FBQzs7O0VBR1gsRUFBRVosU0FBUztFQUNYLEVBQUVBLFNBQVM7OztFQUdYLEVBQUVSLE1BQU1xQixLQUFLLENBQUM7O1NBRVAsRUFBRWIsU0FBUyxZQUFZLEVBQUVBLFNBQVMscUJBQXFCLEVBQUVSLE1BQU1NLEVBQUUsQ0FBQzs7O0VBR3pFLEVBQUVFLFNBQVM7O01BRVAsRUFBRUEsU0FBUztlQUNGLEVBQUVBLFNBQVM7O3NFQUU0QyxFQUFFQSxTQUFTOzJCQUN0RCxFQUFFQSxTQUFTOzs7YUFHekIsRUFBRUEsU0FBUzs7Ozs7Ozs0Q0FPb0IsRUFBRVIsTUFBTXNCLE9BQU8sQ0FBQzs7Ozs7OzBCQU1sQyxFQUFFZCxTQUFTOztnQkFFckIsRUFBRUEsU0FBUzthQUNkLEVBQUVBLFNBQVM7Ozs7Ozs7Ozs7c0VBVThDLEVBQUVSLE1BQU11QixhQUFhLENBQUM7MkJBQ2pFLEVBQUVmLFNBQVM7O1lBRTFCLEVBQUVBLFNBQVM7d0JBQ0MsRUFBRUEsU0FBUzs7Ozs7ZUFLcEIsRUFBRVUsSUFBSU0sTUFBTSxDQUFDO2dCQUNaLEVBQUVOLElBQUlPLE9BQU8sQ0FBQzs7Ozs7Ozs7bUJBUVgsRUFBRXpCLE1BQU1xQixLQUFLLENBQUM7Ozs7c0JBSVgsRUFBRVQsT0FBT2MsS0FBSyxDQUFDOzs7Ozs7c0JBTWYsRUFBRWQsT0FBT2MsS0FBSyxDQUFDOzt5QkFFWixFQUFFZCxPQUFPYyxLQUFLLENBQUM7Ozs7Ozs7Ozs7OztzQkFZbEIsRUFBRWQsT0FBT2MsS0FBSyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O1NBZ0I1QixFQUFFbEIsU0FBUzs7Ozs7O3NCQU1FLEVBQUVJLE9BQU9jLEtBQUssQ0FBQzs7Ozs7c0NBS0MsRUFBRWQsT0FBT2MsS0FBSyxDQUFDOzs7Ozs7Ozs7Ozs7d0JBWTdCLEVBQUVkLE9BQU9jLEtBQUssQ0FBQyxZQUFZLEVBQUVkLE9BQU9jLEtBQUssQ0FBQzs7Ozs7OzthQU9yRCxFQUFFbEIsU0FBUyxZQUFZLEVBQUVBLFNBQVM7TUFDekMsQ0FBQyxDQUFDbUIsSUFBSTtZQUNOQyxZQUFZLEVBQUU7UUFDaEI7SUFDRjtBQUNGIn0=
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZS9pbXBsZW1lbnRhdGlvbnMvbW9kZWwudGVtcGxhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU29uYW11IH0gZnJvbSBcIi4uLy4uL2FwaVwiO1xuaW1wb3J0IHsgRW50aXR5TWFuYWdlciwgdHlwZSBFbnRpdHlOYW1lc1JlY29yZCB9IGZyb20gXCIuLi8uLi9lbnRpdHkvZW50aXR5LW1hbmFnZXJcIjtcbmltcG9ydCB7IE5haXRlIH0gZnJvbSBcIi4uLy4uL25haXRlL25haXRlXCI7XG5pbXBvcnQgdHlwZSB7IFRlbXBsYXRlT3B0aW9ucyB9IGZyb20gXCIuLi8uLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHsgVGVtcGxhdGUgfSBmcm9tIFwiLi4vdGVtcGxhdGVcIjtcbmltcG9ydCB7IGdldFpvZFR5cGVCeUlkLCB6b2RUeXBlVG9SZW5kZXJpbmdOb2RlIH0gZnJvbSBcIi4uL3pvZC1jb252ZXJ0ZXJcIjtcbmltcG9ydCB7IFRlbXBsYXRlX192aWV3X2xpc3QgfSBmcm9tIFwiLi92aWV3X2xpc3QudGVtcGxhdGVcIjtcblxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlX19tb2RlbCBleHRlbmRzIFRlbXBsYXRlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoXCJtb2RlbFwiKTtcbiAgfVxuXG4gIGdldFRhcmdldEFuZFBhdGgobmFtZXM6IEVudGl0eU5hbWVzUmVjb3JkKSB7XG4gICAgY29uc3QgeyBkaXIgfSA9IFNvbmFtdS5jb25maWcuYXBpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHRhcmdldDogYCR7ZGlyfS9zcmMvYXBwbGljYXRpb25gLFxuICAgICAgcGF0aDogYCR7bmFtZXMuZnN9LyR7bmFtZXMuZnN9Lm1vZGVsLnRzYCxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgcmVuZGVyKHsgZW50aXR5SWQgfTogVGVtcGxhdGVPcHRpb25zW1wibW9kZWxcIl0pIHtcbiAgICBOYWl0ZS50KFwicmVuZGVyXCIsIHsgZW50aXR5SWQgfSk7XG5cbiAgICBjb25zdCBsaXN0UGFyYW1zWm9kVHlwZSA9IGF3YWl0IGdldFpvZFR5cGVCeUlkKGAke2VudGl0eUlkfUxpc3RQYXJhbXNgKTtcbiAgICBjb25zdCBsaXN0UGFyYW1zTm9kZSA9IHpvZFR5cGVUb1JlbmRlcmluZ05vZGUobGlzdFBhcmFtc1pvZFR5cGUpO1xuXG4gICAgY29uc3QgbmFtZXMgPSBFbnRpdHlNYW5hZ2VyLmdldE5hbWVzRnJvbUlkKGVudGl0eUlkKTtcbiAgICBjb25zdCBlbnRpdHkgPSBFbnRpdHlNYW5hZ2VyLmdldChlbnRpdHlJZCk7XG5cbiAgICBjb25zdCB2bFRwbCA9IG5ldyBUZW1wbGF0ZV9fdmlld19saXN0KCk7XG4gICAgaWYgKGxpc3RQYXJhbXNOb2RlPy5jaGlsZHJlbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGxpc3RQYXJhbXNOb2Rl6rCAIOyXhuyKteuLiOuLpC4gJHtlbnRpdHlJZH1gKTtcbiAgICB9XG4gICAgY29uc3QgZGVmID0gdmxUcGwuZ2V0RGVmYXVsdChsaXN0UGFyYW1zTm9kZS5jaGlsZHJlbik7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4udGhpcy5nZXRUYXJnZXRBbmRQYXRoKG5hbWVzKSxcbiAgICAgIGJvZHk6IGBcbmltcG9ydCB7IEJhc2VNb2RlbENsYXNzLCB0eXBlIExpc3RSZXN1bHQsIGFzQXJyYXksIE5vdEZvdW5kRXhjZXB0aW9uLCBCYWRSZXF1ZXN0RXhjZXB0aW9uLCBhcGksIGV4aGF1c3RpdmUgfSBmcm9tICdzb25hbXUnO1xuaW1wb3J0IHtcbiAgJHtlbnRpdHlJZH1TdWJzZXRLZXksXG4gICR7ZW50aXR5SWR9U3Vic2V0TWFwcGluZyxcbn0gZnJvbSBcIi4uL3NvbmFtdS5nZW5lcmF0ZWRcIjtcbmltcG9ydCB7XG4gICR7bmFtZXMuY2FtZWx9U3Vic2V0UXVlcmllcyxcbiAgJHtuYW1lcy5jYW1lbH1Mb2FkZXJRdWVyaWVzLFxufSBmcm9tIFwiLi4vc29uYW11LmdlbmVyYXRlZC5zc29cIjtcbmltcG9ydCB7ICR7ZW50aXR5SWR9TGlzdFBhcmFtcywgJHtlbnRpdHlJZH1TYXZlUGFyYW1zIH0gZnJvbSBcIi4vJHtuYW1lcy5mc30udHlwZXNcIjtcblxuLypcbiAgJHtlbnRpdHlJZH0gTW9kZWxcbiovXG5jbGFzcyAke2VudGl0eUlkfU1vZGVsQ2xhc3MgZXh0ZW5kcyBCYXNlTW9kZWxDbGFzczxcbiAgJHtlbnRpdHlJZH1TdWJzZXRLZXksXG4gICR7ZW50aXR5SWR9U3Vic2V0TWFwcGluZyxcbiAgdHlwZW9mICR7bmFtZXMuY2FtZWx9U3Vic2V0UXVlcmllcyxcbiAgdHlwZW9mICR7bmFtZXMuY2FtZWx9TG9hZGVyUXVlcmllc1xuPiB7XG4gIG1vZGVsTmFtZSA9IFwiJHtlbnRpdHlJZH1cIjtcblxuICBAYXBpKHsgaHR0cE1ldGhvZDogXCJHRVRcIiwgY2xpZW50czogW1wiYXhpb3NcIiwgXCJzd3JcIl0sIHJlc291cmNlTmFtZTogXCIke2VudGl0eUlkfVwiIH0pXG4gIGFzeW5jIGZpbmRCeUlkPFQgZXh0ZW5kcyAke2VudGl0eUlkfVN1YnNldEtleT4oXG4gICAgc3Vic2V0OiBULFxuICAgIGlkOiBudW1iZXJcbiAgKTogUHJvbWlzZTwke2VudGl0eUlkfVN1YnNldE1hcHBpbmdbVF0+IHtcbiAgICBjb25zdCB7IHJvd3MgfSA9IGF3YWl0IHRoaXMuZmluZE1hbnkoc3Vic2V0LCB7XG4gICAgICBpZCxcbiAgICAgIG51bTogMSxcbiAgICAgIHBhZ2U6IDEsXG4gICAgfSk7XG4gICAgaWYgKCFyb3dzWzBdKSB7XG4gICAgICB0aHJvdyBuZXcgTm90Rm91bmRFeGNlcHRpb24oXFxg7KG07J6s7ZWY7KeAIOyViuuKlCAke25hbWVzLmNhcGl0YWx9IElEIFxcJHtpZH1cXGApO1xuICAgIH1cblxuICAgIHJldHVybiByb3dzWzBdO1xuICB9XG5cbiAgYXN5bmMgZmluZE9uZTxUIGV4dGVuZHMgJHtlbnRpdHlJZH1TdWJzZXRLZXk+KFxuICAgIHN1YnNldDogVCxcbiAgICBsaXN0UGFyYW1zOiAke2VudGl0eUlkfUxpc3RQYXJhbXNcbiAgKTogUHJvbWlzZTwke2VudGl0eUlkfVN1YnNldE1hcHBpbmdbVF0gfCBudWxsPiB7XG4gICAgY29uc3QgeyByb3dzIH0gPSBhd2FpdCB0aGlzLmZpbmRNYW55KHN1YnNldCwge1xuICAgICAgLi4ubGlzdFBhcmFtcyxcbiAgICAgIG51bTogMSxcbiAgICAgIHBhZ2U6IDEsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gcm93c1swXSA/PyBudWxsO1xuICB9XG5cbiAgQGFwaSh7IGh0dHBNZXRob2Q6IFwiR0VUXCIsIGNsaWVudHM6IFtcImF4aW9zXCIsIFwic3dyXCJdLCByZXNvdXJjZU5hbWU6IFwiJHtuYW1lcy5jYXBpdGFsUGx1cmFsfVwiIH0pXG4gIGFzeW5jIGZpbmRNYW55PFQgZXh0ZW5kcyAke2VudGl0eUlkfVN1YnNldEtleT4oXG4gICAgc3Vic2V0OiBULFxuICAgIHBhcmFtczogJHtlbnRpdHlJZH1MaXN0UGFyYW1zID0ge31cbiAgKTogUHJvbWlzZTxMaXN0UmVzdWx0PCR7ZW50aXR5SWR9U3Vic2V0TWFwcGluZ1tUXT4+IHtcbiAgICAvLyBwYXJhbXMgd2l0aCBkZWZhdWx0c1xuICAgIHBhcmFtcyA9IHtcbiAgICAgIG51bTogMjQsXG4gICAgICBwYWdlOiAxLFxuICAgICAgc2VhcmNoOiBcIiR7ZGVmLnNlYXJjaH1cIixcbiAgICAgIG9yZGVyQnk6IFwiJHtkZWYub3JkZXJCeX1cIixcbiAgICAgIC4uLnBhcmFtcyxcbiAgICB9O1xuXG4gICAgLy8gYnVpbGQgcXVlcmllc1xuICAgIGNvbnN0IHsgcWIsIG9uU3Vic2V0OiBfIH0gPSB0aGlzLmdldFN1YnNldFF1ZXJpZXMoc3Vic2V0KTtcbiAgICBcbiAgICAvLyBpZFxuICAgIGlmIChwYXJhbXMuaWQpIHtcbiAgICAgIHFiLndoZXJlSW4oXCIke2VudGl0eS50YWJsZX0uaWRcIiwgYXNBcnJheShwYXJhbXMuaWQpKTtcbiAgICB9XG5cbiAgICAvLyBzZWFyY2gta2V5d29yZFxuICAgIGlmIChwYXJhbXMuc2VhcmNoICYmIHBhcmFtcy5rZXl3b3JkICYmIHBhcmFtcy5rZXl3b3JkLmxlbmd0aCA+IDApIHtcbiAgICAgIGlmIChwYXJhbXMuc2VhcmNoID09PSBcImlkXCIpIHtcbiAgICAgICAgcWIud2hlcmUoXCIke2VudGl0eS50YWJsZX0uaWRcIiwgTnVtYmVyKHBhcmFtcy5rZXl3b3JkKSk7XG4gICAgICAgIC8vIH0gZWxzZSBpZiAocGFyYW1zLnNlYXJjaCA9PT0gXCJmaWVsZFwiKSB7XG4gICAgICAgIC8vICAgcWIud2hlcmUoXCIke2VudGl0eS50YWJsZX0uZmllbGRcIiwgXCJsaWtlXCIsIFxcYCVcXCR7cGFyYW1zLmtleXdvcmR9JVxcYCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgQmFkUmVxdWVzdEV4Y2VwdGlvbihcXGDqtaztmITrkJjsp4Ag7JWK7J2AIOqygOyDiSDtlYTrk5wgXFwke3BhcmFtcy5zZWFyY2h9XFxgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgICBcbiAgICAvLyBvcmRlckJ5XG4gICAgaWYgKHBhcmFtcy5vcmRlckJ5KSB7XG4gICAgICAvLyBkZWZhdWx0IG9yZGVyQnlcbiAgICAgIGlmIChwYXJhbXMub3JkZXJCeSA9PT0gXCJpZC1kZXNjXCIpIHtcbiAgICAgICAgcWIub3JkZXJCeShcIiR7ZW50aXR5LnRhYmxlfS5pZFwiLCBcImRlc2NcIik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBleGhhdXN0aXZlKHBhcmFtcy5vcmRlckJ5KTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgY29uc3QgeyByb3dzLCB0b3RhbCB9ID0gYXdhaXQgdGhpcy5leGVjdXRlU3Vic2V0UXVlcnkoe1xuICAgICAgc3Vic2V0LFxuICAgICAgcWIsXG4gICAgICBwYXJhbXMsXG4gICAgICBkZWJ1ZzogZmFsc2UsXG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcm93cyxcbiAgICAgIHRvdGFsLFxuICAgIH07XG4gIH1cblxuICBAYXBpKHsgaHR0cE1ldGhvZDogXCJQT1NUXCIgfSlcbiAgYXN5bmMgc2F2ZShcbiAgICBzcGE6ICR7ZW50aXR5SWR9U2F2ZVBhcmFtc1tdXG4gICk6IFByb21pc2U8bnVtYmVyW10+IHtcbiAgICBjb25zdCB3ZGIgPSB0aGlzLmdldFB1cmkoXCJ3XCIpO1xuXG4gICAgLy8gcmVnaXN0ZXJcbiAgICBzcGEuZm9yRWFjaCgoc3ApID0+IHtcbiAgICAgIHdkYi51YlJlZ2lzdGVyKFwiJHtlbnRpdHkudGFibGV9XCIsIHNwKTtcbiAgICB9KTtcblxuICAgIC8vIHRyYW5zYWN0aW9uXG4gICAgcmV0dXJuIHdkYi50cmFuc2FjdGlvbihhc3luYyAodHJ4KSA9PiB7XG4gICAgICBjb25zdCBpZHMgPSBhd2FpdCB0cngudWJVcHNlcnQoXCIke2VudGl0eS50YWJsZX1cIik7XG5cbiAgICAgIHJldHVybiBpZHM7XG4gICAgfSk7XG4gIH1cblxuICBAYXBpKHsgaHR0cE1ldGhvZDogXCJQT1NUXCIsIGd1YXJkczogWyBcImFkbWluXCIgXSB9KVxuICBhc3luYyBkZWwoaWRzOiBudW1iZXJbXSk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgY29uc3Qgd2RiID0gdGhpcy5nZXRQdXJpKFwid1wiKTtcblxuICAgIC8vIHRyYW5zYWN0aW9uXG4gICAgYXdhaXQgd2RiLnRyYW5zYWN0aW9uKGFzeW5jICh0cngpID0+IHtcbiAgICAgIHJldHVybiB0cngudGFibGUoXCIke2VudGl0eS50YWJsZX1cIikud2hlcmVJbihcIiR7ZW50aXR5LnRhYmxlfS5pZFwiLCBpZHMpLmRlbGV0ZSgpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGlkcy5sZW5ndGg7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0ICR7ZW50aXR5SWR9TW9kZWwgPSBuZXcgJHtlbnRpdHlJZH1Nb2RlbENsYXNzKCR7bmFtZXMuY2FtZWx9U3Vic2V0UXVlcmllcywgJHtuYW1lcy5jYW1lbH1Mb2FkZXJRdWVyaWVzKTtcbiAgICAgIGAudHJpbSgpLFxuICAgICAgaW1wb3J0S2V5czogW10sXG4gICAgfTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlNvbmFtdSIsIkVudGl0eU1hbmFnZXIiLCJOYWl0ZSIsIlRlbXBsYXRlIiwiZ2V0Wm9kVHlwZUJ5SWQiLCJ6b2RUeXBlVG9SZW5kZXJpbmdOb2RlIiwiVGVtcGxhdGVfX3ZpZXdfbGlzdCIsIlRlbXBsYXRlX19tb2RlbCIsImdldFRhcmdldEFuZFBhdGgiLCJuYW1lcyIsImRpciIsImNvbmZpZyIsImFwaSIsInRhcmdldCIsInBhdGgiLCJmcyIsInJlbmRlciIsImVudGl0eUlkIiwidCIsImxpc3RQYXJhbXNab2RUeXBlIiwibGlzdFBhcmFtc05vZGUiLCJnZXROYW1lc0Zyb21JZCIsImVudGl0eSIsImdldCIsInZsVHBsIiwiY2hpbGRyZW4iLCJ1bmRlZmluZWQiLCJFcnJvciIsImRlZiIsImdldERlZmF1bHQiLCJib2R5IiwiY2FtZWwiLCJjYXBpdGFsIiwiY2FwaXRhbFBsdXJhbCIsInNlYXJjaCIsIm9yZGVyQnkiLCJ0YWJsZSIsInRyaW0iLCJpbXBvcnRLZXlzIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxNQUFNLFFBQVEscUJBQVk7QUFDbkMsU0FBU0MsYUFBYSxRQUFnQyxpQ0FBOEI7QUFDcEYsU0FBU0MsS0FBSyxRQUFRLHVCQUFvQjtBQUUxQyxTQUFTQyxRQUFRLFFBQVEsaUJBQWM7QUFDdkMsU0FBU0MsY0FBYyxFQUFFQyxzQkFBc0IsUUFBUSxzQkFBbUI7QUFDMUUsU0FBU0MsbUJBQW1CLFFBQVEsMEJBQXVCO0FBRTNELE9BQU8sTUFBTUMsd0JBQXdCSjtJQUNuQyxhQUFjO1FBQ1osS0FBSyxDQUFDO0lBQ1I7SUFFQUssaUJBQWlCQyxLQUF3QixFQUFFO1FBQ3pDLE1BQU0sRUFBRUMsR0FBRyxFQUFFLEdBQUdWLE9BQU9XLE1BQU0sQ0FBQ0MsR0FBRztRQUVqQyxPQUFPO1lBQ0xDLFFBQVEsR0FBR0gsSUFBSSxnQkFBZ0IsQ0FBQztZQUNoQ0ksTUFBTSxHQUFHTCxNQUFN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
@@ -1,5 +1,5 @@
1
- import { TemplateOptions } from "../../types/types";
2
- import { EntityNamesRecord } from "../../entity/entity-manager";
1
+ import { type EntityNamesRecord } from "../../entity/entity-manager";
2
+ import type { TemplateOptions } from "../../types/types";
3
3
  import { Template } from "../template";
4
4
  export declare class Template__model_test extends Template {
5
5
  constructor();
@@ -1 +1 @@
1
- {"version":3,"file":"model_test.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/model_test.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAiB,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,qBAAa,oBAAqB,SAAQ,QAAQ;;IAKhD,gBAAgB,CAAC,KAAK,EAAE,iBAAiB;;;;IASzC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,eAAe,CAAC,YAAY,CAAC;;;;;;CAmBnD"}
1
+ {"version":3,"file":"model_test.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/model_test.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,oBAAqB,SAAQ,QAAQ;;IAKhD,gBAAgB,CAAC,KAAK,EAAE,iBAAiB;;;;IASzC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,eAAe,CAAC,YAAY,CAAC;;;;;;CAmBnD"}
@@ -1,6 +1,6 @@
1
+ import { Sonamu } from "../../api/index.js";
1
2
  import { EntityManager } from "../../entity/entity-manager.js";
2
3
  import { Template } from "../template.js";
3
- import { Sonamu } from "../../api/index.js";
4
4
  export class Template__model_test extends Template {
5
5
  constructor(){
6
6
  super("model_test");
@@ -32,4 +32,4 @@ describe.skip("${entityId}ModelTest", () => {
32
32
  }
33
33
  }
34
34
 
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZS9pbXBsZW1lbnRhdGlvbnMvbW9kZWxfdGVzdC50ZW1wbGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZU9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCB7IEVudGl0eU1hbmFnZXIsIEVudGl0eU5hbWVzUmVjb3JkIH0gZnJvbSBcIi4uLy4uL2VudGl0eS9lbnRpdHktbWFuYWdlclwiO1xuaW1wb3J0IHsgVGVtcGxhdGUgfSBmcm9tIFwiLi4vdGVtcGxhdGVcIjtcbmltcG9ydCB7IFNvbmFtdSB9IGZyb20gXCIuLi8uLi9hcGlcIjtcblxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlX19tb2RlbF90ZXN0IGV4dGVuZHMgVGVtcGxhdGUge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihcIm1vZGVsX3Rlc3RcIik7XG4gIH1cblxuICBnZXRUYXJnZXRBbmRQYXRoKG5hbWVzOiBFbnRpdHlOYW1lc1JlY29yZCkge1xuICAgIGNvbnN0IHsgZGlyIH0gPSBTb25hbXUuY29uZmlnLmFwaTtcblxuICAgIHJldHVybiB7XG4gICAgICB0YXJnZXQ6IGAke2Rpcn0vc3JjL2FwcGxpY2F0aW9uYCxcbiAgICAgIHBhdGg6IGAke25hbWVzLmZzfS8ke25hbWVzLmZzfS5tb2RlbC50ZXN0LnRzYCxcbiAgICB9O1xuICB9XG5cbiAgcmVuZGVyKHsgZW50aXR5SWQgfTogVGVtcGxhdGVPcHRpb25zW1wibW9kZWxfdGVzdFwiXSkge1xuICAgIGNvbnN0IG5hbWVzID0gRW50aXR5TWFuYWdlci5nZXROYW1lc0Zyb21JZChlbnRpdHlJZCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4udGhpcy5nZXRUYXJnZXRBbmRQYXRoKG5hbWVzKSxcbiAgICAgIGJvZHk6IGBcbmltcG9ydCB7IGRlc2NyaWJlLCB0ZXN0LCBleHBlY3QgfSBmcm9tIFwidml0ZXN0XCI7XG5pbXBvcnQgeyBib290c3RyYXAgfSBmcm9tICcuLi8uLi90ZXN0aW5nL2Jvb3RzdHJhcCc7XG5cbmJvb3RzdHJhcCgpO1xuZGVzY3JpYmUuc2tpcChcIiR7ZW50aXR5SWR9TW9kZWxUZXN0XCIsICgpID0+IHtcbiAgdGVzdChcIlF1ZXJ5XCIsIGFzeW5jICgpID0+IHtcbiAgICBleHBlY3QodHJ1ZSkudG9CZSh0cnVlKTtcbiAgfSk7XG59KTtcbiAgICAgIGAudHJpbSgpLFxuICAgICAgaW1wb3J0S2V5czogW10sXG4gICAgfTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkVudGl0eU1hbmFnZXIiLCJUZW1wbGF0ZSIsIlNvbmFtdSIsIlRlbXBsYXRlX19tb2RlbF90ZXN0IiwiZ2V0VGFyZ2V0QW5kUGF0aCIsIm5hbWVzIiwiZGlyIiwiY29uZmlnIiwiYXBpIiwidGFyZ2V0IiwicGF0aCIsImZzIiwicmVuZGVyIiwiZW50aXR5SWQiLCJnZXROYW1lc0Zyb21JZCIsImJvZHkiLCJ0cmltIiwiaW1wb3J0S2V5cyJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EsYUFBYSxRQUEyQixpQ0FBOEI7QUFDL0UsU0FBU0MsUUFBUSxRQUFRLGlCQUFjO0FBQ3ZDLFNBQVNDLE1BQU0sUUFBUSxxQkFBWTtBQUVuQyxPQUFPLE1BQU1DLDZCQUE2QkY7SUFDeEMsYUFBYztRQUNaLEtBQUssQ0FBQztJQUNSO0lBRUFHLGlCQUFpQkMsS0FBd0IsRUFBRTtRQUN6QyxNQUFNLEVBQUVDLEdBQUcsRUFBRSxHQUFHSixPQUFPSyxNQUFNLENBQUNDLEdBQUc7UUFFakMsT0FBTztZQUNMQyxRQUFRLEdBQUdILElBQUksZ0JBQWdCLENBQUM7WUFDaENJLE1BQU0sR0FBR0wsTUFBTU0sRUFBRSxDQUFDLENBQUMsRUFBRU4sTUFBTU0sRUFBRSxDQUFDLGNBQWMsQ0FBQztRQUMvQztJQUNGO0lBRUFDLE9BQU8sRUFBRUMsUUFBUSxFQUFpQyxFQUFFO1FBQ2xELE1BQU1SLFFBQVFMLGNBQWNjLGNBQWMsQ0FBQ0Q7UUFFM0MsT0FBTztZQUNMLEdBQUcsSUFBSSxDQUFDVCxnQkFBZ0IsQ0FBQ0MsTUFBTTtZQUMvQlUsTUFBTSxDQUFDOzs7OztlQUtFLEVBQUVGLFNBQVM7Ozs7O01BS3BCLENBQUMsQ0FBQ0csSUFBSTtZQUNOQyxZQUFZLEVBQUU7UUFDaEI7SUFDRjtBQUNGIn0=
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZS9pbXBsZW1lbnRhdGlvbnMvbW9kZWxfdGVzdC50ZW1wbGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTb25hbXUgfSBmcm9tIFwiLi4vLi4vYXBpXCI7XG5pbXBvcnQgeyBFbnRpdHlNYW5hZ2VyLCB0eXBlIEVudGl0eU5hbWVzUmVjb3JkIH0gZnJvbSBcIi4uLy4uL2VudGl0eS9lbnRpdHktbWFuYWdlclwiO1xuaW1wb3J0IHR5cGUgeyBUZW1wbGF0ZU9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCB7IFRlbXBsYXRlIH0gZnJvbSBcIi4uL3RlbXBsYXRlXCI7XG5cbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZV9fbW9kZWxfdGVzdCBleHRlbmRzIFRlbXBsYXRlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoXCJtb2RlbF90ZXN0XCIpO1xuICB9XG5cbiAgZ2V0VGFyZ2V0QW5kUGF0aChuYW1lczogRW50aXR5TmFtZXNSZWNvcmQpIHtcbiAgICBjb25zdCB7IGRpciB9ID0gU29uYW11LmNvbmZpZy5hcGk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgdGFyZ2V0OiBgJHtkaXJ9L3NyYy9hcHBsaWNhdGlvbmAsXG4gICAgICBwYXRoOiBgJHtuYW1lcy5mc30vJHtuYW1lcy5mc30ubW9kZWwudGVzdC50c2AsXG4gICAgfTtcbiAgfVxuXG4gIHJlbmRlcih7IGVudGl0eUlkIH06IFRlbXBsYXRlT3B0aW9uc1tcIm1vZGVsX3Rlc3RcIl0pIHtcbiAgICBjb25zdCBuYW1lcyA9IEVudGl0eU1hbmFnZXIuZ2V0TmFtZXNGcm9tSWQoZW50aXR5SWQpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnRoaXMuZ2V0VGFyZ2V0QW5kUGF0aChuYW1lcyksXG4gICAgICBib2R5OiBgXG5pbXBvcnQgeyBkZXNjcmliZSwgdGVzdCwgZXhwZWN0IH0gZnJvbSBcInZpdGVzdFwiO1xuaW1wb3J0IHsgYm9vdHN0cmFwIH0gZnJvbSAnLi4vLi4vdGVzdGluZy9ib290c3RyYXAnO1xuXG5ib290c3RyYXAoKTtcbmRlc2NyaWJlLnNraXAoXCIke2VudGl0eUlkfU1vZGVsVGVzdFwiLCAoKSA9PiB7XG4gIHRlc3QoXCJRdWVyeVwiLCBhc3luYyAoKSA9PiB7XG4gICAgZXhwZWN0KHRydWUpLnRvQmUodHJ1ZSk7XG4gIH0pO1xufSk7XG4gICAgICBgLnRyaW0oKSxcbiAgICAgIGltcG9ydEtleXM6IFtdLFxuICAgIH07XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTb25hbXUiLCJFbnRpdHlNYW5hZ2VyIiwiVGVtcGxhdGUiLCJUZW1wbGF0ZV9fbW9kZWxfdGVzdCIsImdldFRhcmdldEFuZFBhdGgiLCJuYW1lcyIsImRpciIsImNvbmZpZyIsImFwaSIsInRhcmdldCIsInBhdGgiLCJmcyIsInJlbmRlciIsImVudGl0eUlkIiwiZ2V0TmFtZXNGcm9tSWQiLCJib2R5IiwidHJpbSIsImltcG9ydEtleXMiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLE1BQU0sUUFBUSxxQkFBWTtBQUNuQyxTQUFTQyxhQUFhLFFBQWdDLGlDQUE4QjtBQUVwRixTQUFTQyxRQUFRLFFBQVEsaUJBQWM7QUFFdkMsT0FBTyxNQUFNQyw2QkFBNkJEO0lBQ3hDLGFBQWM7UUFDWixLQUFLLENBQUM7SUFDUjtJQUVBRSxpQkFBaUJDLEtBQXdCLEVBQUU7UUFDekMsTUFBTSxFQUFFQyxHQUFHLEVBQUUsR0FBR04sT0FBT08sTUFBTSxDQUFDQyxHQUFHO1FBRWpDLE9BQU87WUFDTEMsUUFBUSxHQUFHSCxJQUFJLGdCQUFnQixDQUFDO1lBQ2hDSSxNQUFNLEdBQUdMLE1BQU1NLEVBQUUsQ0FBQyxDQUFDLEVBQUVOLE1BQU1NLEVBQUUsQ0FBQyxjQUFjLENBQUM7UUFDL0M7SUFDRjtJQUVBQyxPQUFPLEVBQUVDLFFBQVEsRUFBaUMsRUFBRTtRQUNsRCxNQUFNUixRQUFRSixjQUFjYSxjQUFjLENBQUNEO1FBRTNDLE9BQU87WUFDTCxHQUFHLElBQUksQ0FBQ1QsZ0JBQWdCLENBQUNDLE1BQU07WUFDL0JVLE1BQU0sQ0FBQzs7Ozs7ZUFLRSxFQUFFRixTQUFTOzs7OztNQUtwQixDQUFDLENBQUNHLElBQUk7WUFDTkMsWUFBWSxFQUFFO1FBQ2hCO0lBQ0Y7QUFDRiJ9
@@ -1,7 +1,7 @@
1
- import { TemplateOptions } from "../../types/types";
2
- import { EntityNamesRecord } from "../../entity/entity-manager";
3
- import { ApiParam } from "../../types/types";
4
- import { ExtendedApi } from "../../api/decorators";
1
+ import type { ExtendedApi } from "../../api/decorators";
2
+ import type { EntityNamesRecord } from "../../entity/entity-manager";
3
+ import type { TemplateOptions } from "../../types/types";
4
+ import { type ApiParam } from "../../types/types";
5
5
  import { Template } from "../template";
6
6
  export declare class Template__service extends Template {
7
7
  constructor();
@@ -1 +1 @@
1
- {"version":3,"file":"service.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/service.template.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAgB,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAQ3D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,qBAAa,iBAAkB,SAAQ,QAAQ;;IAK7C,gBAAgB,CAAC,KAAK,EAAE,iBAAiB;;;;IAOzC,MAAM,CAAC,EAAE,WAAW,EAAE,EAAE,eAAe,CAAC,SAAS,CAAC;;;;;;;IAmClD,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG;QAClC,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB;IAyHD,WAAW,CACT,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM;IA8BpB,oBAAoB,CAClB,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,oBAAoB,EAAE,QAAQ,EAAE;IA6ClC,SAAS,CACP,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM;IAsBpB,iBAAiB,CACf,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM;IAapB,YAAY,CACV,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,MAAM;CAuB5B"}
1
+ {"version":3,"file":"service.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/service.template.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,KAAK,QAAQ,EAAgB,MAAM,mBAAmB,CAAC;AAEhE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,qBAAa,iBAAkB,SAAQ,QAAQ;;IAK7C,gBAAgB,CAAC,KAAK,EAAE,iBAAiB;;;;IAOzC,MAAM,CAAC,EAAE,WAAW,EAAE,EAAE,eAAe,CAAC,SAAS,CAAC;;;;;;;IA+BlD,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG;QAClC,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB;IA+GD,WAAW,CACT,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM;IA8BpB,oBAAoB,CAClB,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,oBAAoB,EAAE,QAAQ,EAAE;IA2ClC,SAAS,CACP,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM;IAoBpB,iBAAiB,CACf,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM;IAWpB,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM;CAmB7E"}