sonamu 0.10.12 → 0.10.13

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 (513) hide show
  1. package/dist/ai/agents/agent.d.ts +1 -1
  2. package/dist/ai/agents/agent.d.ts.map +1 -1
  3. package/dist/ai/agents/agent.js +5 -6
  4. package/dist/ai/agents/types.d.ts +1 -1
  5. package/dist/ai/agents/types.d.ts.map +1 -1
  6. package/dist/ai/providers/rtzr/api.js +18 -18
  7. package/dist/ai/providers/rtzr/error.d.ts.map +1 -1
  8. package/dist/ai/providers/rtzr/error.js +17 -15
  9. package/dist/ai/providers/rtzr/model.d.ts.map +1 -1
  10. package/dist/ai/providers/rtzr/model.js +3 -2
  11. package/dist/ai/providers/rtzr/options.d.ts.map +1 -1
  12. package/dist/ai/providers/rtzr/options.js +16 -16
  13. package/dist/ai/providers/rtzr/provider.d.ts.map +1 -1
  14. package/dist/ai/providers/rtzr/provider.js +9 -9
  15. package/dist/ai/providers/rtzr/utils.d.ts.map +1 -1
  16. package/dist/ai/providers/rtzr/utils.js +1 -1
  17. package/dist/api/caster.d.ts.map +1 -1
  18. package/dist/api/caster.js +17 -17
  19. package/dist/api/code-converters.d.ts +4 -2
  20. package/dist/api/code-converters.d.ts.map +1 -1
  21. package/dist/api/code-converters.js +100 -19
  22. package/dist/api/config.d.ts +16 -1
  23. package/dist/api/config.d.ts.map +1 -1
  24. package/dist/api/config.js +28 -21
  25. package/dist/api/context.d.ts +2 -2
  26. package/dist/api/context.d.ts.map +1 -1
  27. package/dist/api/context.js +1 -1
  28. package/dist/api/decorators.d.ts.map +1 -1
  29. package/dist/api/decorators.js +18 -11
  30. package/dist/api/http-validator.d.ts +36 -0
  31. package/dist/api/http-validator.d.ts.map +1 -0
  32. package/dist/api/http-validator.js +72 -0
  33. package/dist/api/index.js +6 -4
  34. package/dist/api/sonamu.d.ts +59 -20
  35. package/dist/api/sonamu.d.ts.map +1 -1
  36. package/dist/api/sonamu.js +250 -106
  37. package/dist/api/websocket-helpers.d.ts +7 -5
  38. package/dist/api/websocket-helpers.d.ts.map +1 -1
  39. package/dist/api/websocket-helpers.js +6 -6
  40. package/dist/auth/audit-log/builders.d.ts.map +1 -1
  41. package/dist/auth/audit-log/builders.js +1 -1
  42. package/dist/auth/audit-log/client-ip.d.ts +1 -1
  43. package/dist/auth/audit-log/client-ip.d.ts.map +1 -1
  44. package/dist/auth/audit-log/client-ip.js +4 -2
  45. package/dist/auth/audit-log/events.d.ts +5 -1
  46. package/dist/auth/audit-log/events.d.ts.map +1 -1
  47. package/dist/auth/audit-log/events.js +1 -1
  48. package/dist/auth/audit-log/plugin.d.ts +0 -8
  49. package/dist/auth/audit-log/plugin.d.ts.map +1 -1
  50. package/dist/auth/audit-log/plugin.js +48 -52
  51. package/dist/auth/audit-log-ingestor.d.ts.map +1 -1
  52. package/dist/auth/audit-log-ingestor.js +16 -12
  53. package/dist/auth/auth-generator.d.ts.map +1 -1
  54. package/dist/auth/auth-generator.js +1 -1
  55. package/dist/auth/better-auth-request.d.ts.map +1 -1
  56. package/dist/auth/better-auth-request.js +6 -5
  57. package/dist/auth/knex-adapter.js +1 -1
  58. package/dist/auth/plugins/entity-definitions/index.d.ts +13 -1
  59. package/dist/auth/plugins/entity-definitions/index.d.ts.map +1 -1
  60. package/dist/auth/plugins/entity-definitions/index.js +1 -1
  61. package/dist/auth/plugins/wrappers/admin.d.ts +1 -1
  62. package/dist/bin/build-config.d.ts +25 -0
  63. package/dist/bin/build-config.d.ts.map +1 -1
  64. package/dist/bin/build-config.js +105 -2
  65. package/dist/bin/cli.js +131 -27
  66. package/dist/bin/compiler-policy.d.ts +3 -0
  67. package/dist/bin/compiler-policy.d.ts.map +1 -0
  68. package/dist/bin/compiler-policy.js +24 -0
  69. package/dist/bin/fixture.d.ts.map +1 -1
  70. package/dist/bin/fixture.js +5 -3
  71. package/dist/bin/test-command.d.ts +22 -1
  72. package/dist/bin/test-command.d.ts.map +1 -1
  73. package/dist/bin/test-command.js +18 -10
  74. package/dist/bin/ts-loader-registration.d.ts +7 -1
  75. package/dist/bin/ts-loader-registration.d.ts.map +1 -1
  76. package/dist/bin/ts-loader-registration.js +13 -4
  77. package/dist/cache/decorator.d.ts.map +1 -1
  78. package/dist/cache/decorator.js +11 -4
  79. package/dist/compress/compress.d.ts.map +1 -1
  80. package/dist/compress/compress.js +1 -1
  81. package/dist/cone/cone-generator.d.ts +14 -1
  82. package/dist/cone/cone-generator.d.ts.map +1 -1
  83. package/dist/cone/cone-generator.js +13 -9
  84. package/dist/database/_batch_update.js +1 -1
  85. package/dist/database/base-model.d.ts +22 -10
  86. package/dist/database/base-model.d.ts.map +1 -1
  87. package/dist/database/base-model.js +26 -16
  88. package/dist/database/base-model.types.d.ts +15 -3
  89. package/dist/database/base-model.types.d.ts.map +1 -1
  90. package/dist/database/db.d.ts +12 -2
  91. package/dist/database/db.d.ts.map +1 -1
  92. package/dist/database/db.js +10 -7
  93. package/dist/database/knex.d.ts.map +1 -1
  94. package/dist/database/knex.js +17 -14
  95. package/dist/database/puri.d.ts +11 -9
  96. package/dist/database/puri.d.ts.map +1 -1
  97. package/dist/database/puri.js +93 -79
  98. package/dist/database/puri.types.d.ts +21 -21
  99. package/dist/database/puri.types.d.ts.map +1 -1
  100. package/dist/database/puri.types.js +1 -1
  101. package/dist/database/upsert-builder.d.ts +12 -10
  102. package/dist/database/upsert-builder.d.ts.map +1 -1
  103. package/dist/database/upsert-builder.js +20 -12
  104. package/dist/dict/sd.d.ts.map +1 -1
  105. package/dist/dict/sd.js +1 -1
  106. package/dist/dict/sonamu-dictionary.d.ts.map +1 -1
  107. package/dist/dict/sonamu-dictionary.js +1 -1
  108. package/dist/dict/utils.d.ts.map +1 -1
  109. package/dist/dict/utils.js +7 -2
  110. package/dist/entity/entity-manager.d.ts +13 -4
  111. package/dist/entity/entity-manager.d.ts.map +1 -1
  112. package/dist/entity/entity-manager.js +19 -11
  113. package/dist/entity/entity-template-cone.d.ts +73 -5
  114. package/dist/entity/entity-template-cone.d.ts.map +1 -1
  115. package/dist/entity/entity-template-cone.js +4 -2
  116. package/dist/entity/entity.d.ts +6 -2
  117. package/dist/entity/entity.d.ts.map +1 -1
  118. package/dist/entity/entity.js +30 -28
  119. package/dist/env.d.ts +3 -1
  120. package/dist/env.d.ts.map +1 -1
  121. package/dist/env.js +1 -1
  122. package/dist/exceptions/error-handler.d.ts.map +1 -1
  123. package/dist/exceptions/error-handler.js +7 -2
  124. package/dist/exceptions/so-exceptions.d.ts +24 -20
  125. package/dist/exceptions/so-exceptions.d.ts.map +1 -1
  126. package/dist/exceptions/so-exceptions.js +4 -2
  127. package/dist/filter/utils.d.ts +7 -2
  128. package/dist/filter/utils.d.ts.map +1 -1
  129. package/dist/filter/utils.js +8 -6
  130. package/dist/index.d.ts +3 -0
  131. package/dist/index.d.ts.map +1 -1
  132. package/dist/index.js +12 -6
  133. package/dist/logger/configure.d.ts.map +1 -1
  134. package/dist/logger/configure.js +10 -10
  135. package/dist/migration/code-generation.d.ts.map +1 -1
  136. package/dist/migration/code-generation.js +50 -46
  137. package/dist/migration/index-where-predicate.d.ts.map +1 -1
  138. package/dist/migration/index-where-predicate.js +22 -8
  139. package/dist/migration/migration-set.d.ts.map +1 -1
  140. package/dist/migration/migration-set.js +1 -1
  141. package/dist/migration/migrator.d.ts +3 -2
  142. package/dist/migration/migrator.d.ts.map +1 -1
  143. package/dist/migration/migrator.js +27 -21
  144. package/dist/migration/postgresql-schema-reader.d.ts.map +1 -1
  145. package/dist/migration/postgresql-schema-reader.js +51 -36
  146. package/dist/migration/slack-confirm.d.ts.map +1 -1
  147. package/dist/migration/slack-confirm.js +1 -1
  148. package/dist/naite/naite-reporter.js +2 -2
  149. package/dist/naite/naite.d.ts +74 -15
  150. package/dist/naite/naite.d.ts.map +1 -1
  151. package/dist/naite/naite.js +5 -19
  152. package/dist/runtime-type.d.ts +6 -0
  153. package/dist/runtime-type.d.ts.map +1 -0
  154. package/dist/runtime-type.js +26 -0
  155. package/dist/ssr/hmr-opt-out.d.ts +26 -0
  156. package/dist/ssr/hmr-opt-out.d.ts.map +1 -0
  157. package/dist/ssr/hmr-opt-out.js +59 -0
  158. package/dist/ssr/renderer.d.ts.map +1 -1
  159. package/dist/ssr/renderer.js +4 -1
  160. package/dist/storage/base-file.js +14 -14
  161. package/dist/storage/buffered-file.d.ts +2 -2
  162. package/dist/storage/buffered-file.d.ts.map +1 -1
  163. package/dist/storage/buffered-file.js +12 -12
  164. package/dist/storage/s3-driver.d.ts.map +1 -1
  165. package/dist/storage/s3-driver.js +1 -1
  166. package/dist/storage/uploaded-file.d.ts +2 -2
  167. package/dist/storage/uploaded-file.d.ts.map +1 -1
  168. package/dist/storage/uploaded-file.js +8 -8
  169. package/dist/stream/sse.js +11 -11
  170. package/dist/stream/ws-core.d.ts +1 -1
  171. package/dist/stream/ws-core.d.ts.map +1 -1
  172. package/dist/stream/ws-delivery.d.ts +1 -1
  173. package/dist/stream/ws-delivery.d.ts.map +1 -1
  174. package/dist/stream/ws-delivery.js +6 -4
  175. package/dist/stream/ws-local-connection-store.d.ts.map +1 -1
  176. package/dist/stream/ws-local-connection-store.js +4 -2
  177. package/dist/stream/ws-presence-store.js +1 -1
  178. package/dist/stream/ws-registry.d.ts +4 -4
  179. package/dist/stream/ws-registry.d.ts.map +1 -1
  180. package/dist/stream/ws-registry.js +4 -2
  181. package/dist/stream/ws-telemetry.d.ts +16 -12
  182. package/dist/stream/ws-telemetry.d.ts.map +1 -1
  183. package/dist/stream/ws-telemetry.js +22 -18
  184. package/dist/stream/ws.d.ts +18 -12
  185. package/dist/stream/ws.d.ts.map +1 -1
  186. package/dist/stream/ws.js +26 -22
  187. package/dist/syncer/api-parser.js +1 -1
  188. package/dist/syncer/checksum.d.ts.map +1 -1
  189. package/dist/syncer/checksum.js +7 -8
  190. package/dist/syncer/code-generator.d.ts.map +1 -1
  191. package/dist/syncer/code-generator.js +13 -14
  192. package/dist/syncer/entity-operations.d.ts.map +1 -1
  193. package/dist/syncer/entity-operations.js +5 -6
  194. package/dist/syncer/file-copy.d.ts +5 -0
  195. package/dist/syncer/file-copy.d.ts.map +1 -0
  196. package/dist/syncer/file-copy.js +36 -0
  197. package/dist/syncer/file-patterns.d.ts +1 -0
  198. package/dist/syncer/file-patterns.d.ts.map +1 -1
  199. package/dist/syncer/file-patterns.js +5 -2
  200. package/dist/syncer/file-tracking.d.ts.map +1 -1
  201. package/dist/syncer/file-tracking.js +5 -4
  202. package/dist/syncer/filesystem-dependencies.d.ts +15 -0
  203. package/dist/syncer/filesystem-dependencies.d.ts.map +1 -0
  204. package/dist/syncer/filesystem-dependencies.js +53 -0
  205. package/dist/syncer/module-loader.d.ts +1 -1
  206. package/dist/syncer/module-loader.d.ts.map +1 -1
  207. package/dist/syncer/module-loader.js +6 -4
  208. package/dist/syncer/syncer-actions.d.ts +4 -0
  209. package/dist/syncer/syncer-actions.d.ts.map +1 -1
  210. package/dist/syncer/syncer-actions.js +34 -17
  211. package/dist/syncer/syncer.d.ts +17 -6
  212. package/dist/syncer/syncer.d.ts.map +1 -1
  213. package/dist/syncer/syncer.js +71 -29
  214. package/dist/syncer/watcher.d.ts.map +1 -1
  215. package/dist/syncer/watcher.js +3 -3
  216. package/dist/tasks/decorator.d.ts +6 -6
  217. package/dist/tasks/decorator.d.ts.map +1 -1
  218. package/dist/tasks/decorator.js +4 -4
  219. package/dist/tasks/step-wrapper.d.ts +6 -4
  220. package/dist/tasks/step-wrapper.d.ts.map +1 -1
  221. package/dist/tasks/step-wrapper.js +5 -5
  222. package/dist/tasks/workflow-manager.d.ts.map +1 -1
  223. package/dist/tasks/workflow-manager.js +13 -7
  224. package/dist/template/entity-converter.d.ts +1 -1
  225. package/dist/template/entity-converter.d.ts.map +1 -1
  226. package/dist/template/entity-converter.js +2 -2
  227. package/dist/template/helpers.d.ts +8 -6
  228. package/dist/template/helpers.d.ts.map +1 -1
  229. package/dist/template/helpers.js +1 -1
  230. package/dist/template/implementations/generated.template.d.ts.map +1 -1
  231. package/dist/template/implementations/generated.template.js +4 -4
  232. package/dist/template/implementations/generated_http.template.d.ts +7 -4
  233. package/dist/template/implementations/generated_http.template.d.ts.map +1 -1
  234. package/dist/template/implementations/generated_http.template.js +21 -21
  235. package/dist/template/implementations/generated_sso.template.d.ts.map +1 -1
  236. package/dist/template/implementations/generated_sso.template.js +6 -3
  237. package/dist/template/implementations/http_validators.template.d.ts +18 -0
  238. package/dist/template/implementations/http_validators.template.d.ts.map +1 -0
  239. package/dist/template/implementations/http_validators.template.js +127 -0
  240. package/dist/template/implementations/model.template.d.ts.map +1 -1
  241. package/dist/template/implementations/model.template.js +1 -1
  242. package/dist/template/implementations/queries.template.js +1 -1
  243. package/dist/template/implementations/sd.template.d.ts.map +1 -1
  244. package/dist/template/implementations/sd.template.js +79 -39
  245. package/dist/template/implementations/services.template.d.ts.map +1 -1
  246. package/dist/template/implementations/services.template.js +6 -4
  247. package/dist/template/implementations/view_form.template.d.ts +6 -1
  248. package/dist/template/implementations/view_form.template.d.ts.map +1 -1
  249. package/dist/template/implementations/view_form.template.js +23 -15
  250. package/dist/template/implementations/view_list.template.d.ts.map +1 -1
  251. package/dist/template/implementations/view_list.template.js +11 -6
  252. package/dist/template/template-manager.d.ts.map +1 -1
  253. package/dist/template/template-manager.js +9 -7
  254. package/dist/template/template-types.d.ts +12 -5
  255. package/dist/template/template-types.d.ts.map +1 -1
  256. package/dist/template/template-types.js +1 -1
  257. package/dist/template/template.d.ts +2 -2
  258. package/dist/template/template.d.ts.map +1 -1
  259. package/dist/template/template.js +6 -4
  260. package/dist/template/zod-converter.d.ts +0 -19
  261. package/dist/template/zod-converter.d.ts.map +1 -1
  262. package/dist/template/zod-converter.js +100 -84
  263. package/dist/testing/_relation-graph.d.ts.map +1 -1
  264. package/dist/testing/_relation-graph.js +2 -1
  265. package/dist/testing/bootstrap.d.ts.map +1 -1
  266. package/dist/testing/bootstrap.js +9 -6
  267. package/dist/testing/data-explorer.d.ts +32 -7
  268. package/dist/testing/data-explorer.d.ts.map +1 -1
  269. package/dist/testing/data-explorer.js +77 -31
  270. package/dist/testing/dev-test-routes.d.ts +8 -1
  271. package/dist/testing/dev-test-routes.d.ts.map +1 -1
  272. package/dist/testing/dev-test-routes.js +125 -108
  273. package/dist/testing/dev-vitest-manager.d.ts +54 -8
  274. package/dist/testing/dev-vitest-manager.d.ts.map +1 -1
  275. package/dist/testing/dev-vitest-manager.js +24 -9
  276. package/dist/testing/faker-mappings.d.ts +412 -1
  277. package/dist/testing/faker-mappings.d.ts.map +1 -1
  278. package/dist/testing/faker-mappings.js +1 -1
  279. package/dist/testing/filesystem.d.ts +2 -0
  280. package/dist/testing/filesystem.d.ts.map +1 -0
  281. package/dist/testing/filesystem.js +7 -0
  282. package/dist/testing/fixture-generator.d.ts +25 -8
  283. package/dist/testing/fixture-generator.d.ts.map +1 -1
  284. package/dist/testing/fixture-generator.js +132 -73
  285. package/dist/testing/fixture-loader.d.ts +3 -1
  286. package/dist/testing/fixture-loader.d.ts.map +1 -1
  287. package/dist/testing/fixture-loader.js +1 -20
  288. package/dist/testing/fixture-manager.d.ts +8 -7
  289. package/dist/testing/fixture-manager.d.ts.map +1 -1
  290. package/dist/testing/fixture-manager.js +91 -59
  291. package/dist/testing/global-setup.d.ts.map +1 -1
  292. package/dist/testing/global-setup.js +5 -2
  293. package/dist/testing/index.d.ts +2 -0
  294. package/dist/testing/index.d.ts.map +1 -1
  295. package/dist/testing/index.js +6 -3
  296. package/dist/types/types.d.ts +101 -99
  297. package/dist/types/types.d.ts.map +1 -1
  298. package/dist/types/types.js +234 -225
  299. package/dist/ui/ai-api.d.ts.map +1 -1
  300. package/dist/ui/ai-api.js +1 -1
  301. package/dist/ui/ai-client.d.ts.map +1 -1
  302. package/dist/ui/ai-client.js +28 -18
  303. package/dist/ui/api.d.ts.map +1 -1
  304. package/dist/ui/api.js +135 -128
  305. package/dist/ui/async-route.d.ts +3 -0
  306. package/dist/ui/async-route.d.ts.map +1 -0
  307. package/dist/ui/async-route.js +12 -0
  308. package/dist/ui/cdd-service.d.ts +9 -7
  309. package/dist/ui/cdd-service.d.ts.map +1 -1
  310. package/dist/ui/cdd-service.js +7 -5
  311. package/dist/ui/migrations-api.d.ts.map +1 -1
  312. package/dist/ui/migrations-api.js +17 -15
  313. package/dist/ui-web/assets/index-DV1AAq6W.js +178 -0
  314. package/dist/ui-web/index.html +1 -1
  315. package/dist/utils/formatter.d.ts.map +1 -1
  316. package/dist/utils/formatter.js +7 -5
  317. package/dist/utils/fs-utils.d.ts +3 -3
  318. package/dist/utils/fs-utils.d.ts.map +1 -1
  319. package/dist/utils/fs-utils.js +6 -6
  320. package/dist/utils/model.d.ts +3 -5
  321. package/dist/utils/model.d.ts.map +1 -1
  322. package/dist/utils/model.js +1 -1
  323. package/dist/utils/object-utils.d.ts +1 -1
  324. package/dist/utils/object-utils.d.ts.map +1 -1
  325. package/dist/utils/object-utils.js +17 -16
  326. package/dist/utils/process-utils.d.ts.map +1 -1
  327. package/dist/utils/process-utils.js +4 -2
  328. package/dist/utils/runtime-value.d.ts +13 -0
  329. package/dist/utils/runtime-value.d.ts.map +1 -0
  330. package/dist/utils/runtime-value.js +40 -0
  331. package/dist/utils/sql-parser.d.ts +8 -1
  332. package/dist/utils/sql-parser.d.ts.map +1 -1
  333. package/dist/utils/sql-parser.js +6 -3
  334. package/dist/utils/type-utils.d.ts.map +1 -1
  335. package/dist/utils/type-utils.js +10 -8
  336. package/dist/utils/utils.d.ts +2 -2
  337. package/dist/utils/utils.d.ts.map +1 -1
  338. package/dist/utils/utils.js +11 -8
  339. package/dist/utils/zod-error.d.ts.map +1 -1
  340. package/dist/utils/zod-error.js +7 -4
  341. package/dist/vector/chunking.d.ts.map +1 -1
  342. package/dist/vector/chunking.js +1 -1
  343. package/dist/vector/embedding.d.ts.map +1 -1
  344. package/dist/vector/embedding.js +1 -1
  345. package/dist/vector/types.d.ts +3 -2
  346. package/dist/vector/types.d.ts.map +1 -1
  347. package/package.json +5 -3
  348. package/src/ai/agents/agent.ts +5 -5
  349. package/src/ai/agents/types.ts +1 -1
  350. package/src/ai/providers/rtzr/__tests__/model.test.ts +2 -2
  351. package/src/ai/providers/rtzr/error.ts +5 -3
  352. package/src/ai/providers/rtzr/model.ts +3 -2
  353. package/src/ai/providers/rtzr/options.ts +10 -5
  354. package/src/ai/providers/rtzr/provider.ts +10 -10
  355. package/src/ai/providers/rtzr/utils.ts +3 -1
  356. package/src/api/__tests__/config.test.ts +11 -21
  357. package/src/api/__tests__/sonamu.http-validator.test.ts +512 -0
  358. package/src/api/__tests__/sonamu.websocket.test.ts +51 -41
  359. package/src/api/__tests__/zod-compiler-policy.test.ts +95 -0
  360. package/src/api/caster.ts +6 -8
  361. package/src/api/code-converters.ts +136 -36
  362. package/src/api/config.ts +62 -4
  363. package/src/api/context.ts +3 -3
  364. package/src/api/decorators.ts +28 -17
  365. package/src/api/http-validator.ts +149 -0
  366. package/src/api/sonamu.ts +459 -152
  367. package/src/api/websocket-helpers.ts +24 -17
  368. package/src/auth/audit-log/builders.ts +3 -2
  369. package/src/auth/audit-log/client-ip.ts +4 -2
  370. package/src/auth/audit-log/events.ts +15 -1
  371. package/src/auth/audit-log/plugin.ts +129 -200
  372. package/src/auth/audit-log-ingestor.ts +19 -15
  373. package/src/auth/auth-generator.ts +10 -5
  374. package/src/auth/better-auth-request.ts +4 -3
  375. package/src/auth/knex-adapter.ts +8 -2
  376. package/src/auth/plugins/entity-definitions/index.ts +6 -5
  377. package/src/bin/__tests__/http-validator-benchmark.test.ts +94 -0
  378. package/src/bin/__tests__/test-command.test.ts +9 -15
  379. package/src/bin/__tests__/ts-loader-register.test.ts +15 -17
  380. package/src/bin/__tests__/zod-compiler-build.test.ts +307 -0
  381. package/src/bin/build-config.ts +167 -0
  382. package/src/bin/cli.ts +153 -36
  383. package/src/bin/compiler-policy.ts +35 -0
  384. package/src/bin/fixture.ts +14 -3
  385. package/src/bin/test-command.ts +74 -29
  386. package/src/bin/ts-loader-registration.ts +22 -4
  387. package/src/cache/decorator.ts +10 -3
  388. package/src/compress/compress.ts +17 -4
  389. package/src/cone/cone-generator.ts +34 -6
  390. package/src/database/__tests__/db.test.ts +1 -0
  391. package/src/database/__tests__/puri.test.ts +16 -15
  392. package/src/database/__tests__/transaction-scope.test.ts +5 -0
  393. package/src/database/_batch_update.ts +1 -0
  394. package/src/database/base-model.ts +81 -50
  395. package/src/database/base-model.types.ts +6 -6
  396. package/src/database/db.ts +29 -19
  397. package/src/database/knex.ts +30 -17
  398. package/src/database/puri-subset.test-d.ts +17 -0
  399. package/src/database/puri.ts +181 -143
  400. package/src/database/puri.types.test-d.ts +31 -1
  401. package/src/database/puri.types.ts +23 -21
  402. package/src/database/upsert-builder.ts +75 -53
  403. package/src/dict/sd.ts +15 -5
  404. package/src/dict/sonamu-dictionary.ts +6 -6
  405. package/src/dict/utils.ts +9 -1
  406. package/src/entity/entity-manager.ts +26 -9
  407. package/src/entity/entity-template-cone.ts +5 -10
  408. package/src/entity/entity.ts +50 -34
  409. package/src/env.ts +7 -3
  410. package/src/exceptions/error-handler.ts +17 -2
  411. package/src/exceptions/so-exceptions.ts +26 -20
  412. package/src/filter/utils.ts +21 -11
  413. package/src/index.ts +3 -0
  414. package/src/logger/configure.ts +26 -18
  415. package/src/migration/__tests__/migrator.test.ts +50 -57
  416. package/src/migration/code-generation.ts +132 -104
  417. package/src/migration/index-where-predicate.ts +51 -24
  418. package/src/migration/migration-set.ts +11 -5
  419. package/src/migration/migrator.ts +68 -41
  420. package/src/migration/postgresql-schema-reader.ts +52 -47
  421. package/src/migration/slack-confirm.ts +17 -15
  422. package/src/naite/naite-reporter.ts +1 -1
  423. package/src/naite/naite.ts +97 -24
  424. package/src/runtime-type.ts +34 -0
  425. package/src/ssr/hmr-opt-out.ts +78 -0
  426. package/src/ssr/renderer.ts +6 -0
  427. package/src/storage/base-file.ts +13 -13
  428. package/src/storage/buffered-file.ts +11 -11
  429. package/src/storage/s3-driver.ts +4 -1
  430. package/src/storage/uploaded-file.ts +8 -8
  431. package/src/stream/__tests__/ws-contracts.test.ts +4 -2
  432. package/src/stream/__tests__/ws-telemetry.test.ts +1 -1
  433. package/src/stream/__tests__/ws.test.ts +30 -6
  434. package/src/stream/sse.ts +12 -11
  435. package/src/stream/ws-core.ts +1 -1
  436. package/src/stream/ws-delivery.ts +16 -7
  437. package/src/stream/ws-local-connection-store.ts +2 -3
  438. package/src/stream/ws-presence-store.ts +6 -1
  439. package/src/stream/ws-registry.ts +16 -7
  440. package/src/stream/ws-telemetry.ts +66 -43
  441. package/src/stream/ws.ts +73 -39
  442. package/src/syncer/__tests__/api-parser.websocket-type-ref.test.ts +3 -2
  443. package/src/syncer/__tests__/http-validator-registry.test.ts +137 -0
  444. package/src/syncer/api-parser.ts +67 -27
  445. package/src/syncer/checksum.ts +17 -11
  446. package/src/syncer/code-generator.ts +25 -17
  447. package/src/syncer/entity-operations.ts +3 -5
  448. package/src/syncer/file-copy.ts +46 -0
  449. package/src/syncer/file-patterns.ts +11 -8
  450. package/src/syncer/file-tracking.ts +3 -4
  451. package/src/syncer/filesystem-dependencies.ts +73 -0
  452. package/src/syncer/module-loader.ts +8 -4
  453. package/src/syncer/syncer-actions.ts +56 -18
  454. package/src/syncer/syncer.ts +116 -43
  455. package/src/syncer/watcher.ts +8 -4
  456. package/src/tasks/decorator.ts +20 -12
  457. package/src/tasks/step-wrapper.ts +19 -9
  458. package/src/tasks/workflow-manager.ts +15 -9
  459. package/src/template/__tests__/http_validators.template.test.ts +160 -0
  460. package/src/template/__tests__/services.template.mutation.test.ts +24 -23
  461. package/src/template/__tests__/services.template.websocket.test.ts +21 -25
  462. package/src/template/entity-converter.ts +5 -2
  463. package/src/template/helpers.ts +8 -9
  464. package/src/template/implementations/generated.template.ts +5 -4
  465. package/src/template/implementations/generated_http.template.ts +61 -15
  466. package/src/template/implementations/generated_sso.template.ts +15 -4
  467. package/src/template/implementations/http_validators.template.ts +175 -0
  468. package/src/template/implementations/model.template.ts +3 -1
  469. package/src/template/implementations/sd.template.ts +81 -41
  470. package/src/template/implementations/services.template.ts +2 -2
  471. package/src/template/implementations/view_form.template.ts +56 -39
  472. package/src/template/implementations/view_list.template.ts +31 -23
  473. package/src/template/template-manager.ts +15 -13
  474. package/src/template/template-types.ts +13 -5
  475. package/src/template/template.ts +4 -3
  476. package/src/template/zod-converter.ts +206 -91
  477. package/src/testing/__tests__/dev-test-routes.test.ts +85 -25
  478. package/src/testing/__tests__/dev-vitest-manager.test.ts +15 -15
  479. package/src/testing/_relation-graph.ts +4 -1
  480. package/src/testing/bootstrap.ts +12 -5
  481. package/src/testing/data-explorer.ts +102 -53
  482. package/src/testing/dev-test-routes.ts +87 -50
  483. package/src/testing/dev-vitest-manager.ts +88 -32
  484. package/src/testing/faker-mappings.ts +2 -2
  485. package/src/testing/filesystem.ts +1 -0
  486. package/src/testing/fixture-generator.ts +191 -131
  487. package/src/testing/fixture-loader.ts +5 -1
  488. package/src/testing/fixture-manager.ts +129 -90
  489. package/src/testing/global-setup.ts +7 -3
  490. package/src/testing/index.ts +5 -0
  491. package/src/types/__tests__/entity-json-schema-search-text.test.ts +9 -3
  492. package/src/types/types.ts +184 -158
  493. package/src/ui/ai-api.ts +9 -7
  494. package/src/ui/ai-client.ts +61 -56
  495. package/src/ui/api.ts +727 -616
  496. package/src/ui/async-route.ts +4 -0
  497. package/src/ui/cdd-service.ts +35 -12
  498. package/src/ui/migrations-api.ts +63 -51
  499. package/src/utils/formatter.ts +7 -3
  500. package/src/utils/fs-utils.ts +5 -5
  501. package/src/utils/model.ts +4 -5
  502. package/src/utils/object-utils.ts +32 -22
  503. package/src/utils/process-utils.ts +4 -1
  504. package/src/utils/runtime-value.ts +43 -0
  505. package/src/utils/sql-parser.ts +13 -6
  506. package/src/utils/type-utils.ts +9 -7
  507. package/src/utils/utils.ts +19 -21
  508. package/src/utils/zod-error.ts +4 -2
  509. package/src/vector/chunking.ts +6 -1
  510. package/src/vector/embedding.ts +2 -1
  511. package/src/vector/types.ts +4 -2
  512. package/tsdown.api.config.ts +5 -2
  513. package/dist/ui-web/assets/index-C0m1pk6K.js +0 -177
package/dist/env.js CHANGED
@@ -72,4 +72,4 @@ var init_env = __esmMin((() => {
72
72
  init_env();
73
73
  export { SONAMU_ENVIRONMENTS, applyCurrentSnapshotToProcessEnv, getSonamuEnvironment, init_env, isDevelopmentEnvironment, isProductionEnvironment, isSonamuEnvironment, isStagingEnvironment, isTestEnvironment, readAllEnvironmentSnapshots, readEnvironmentSnapshot };
74
74
 
75
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52LmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uL3NyYy9lbnYudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhpc3RzU3luYywgcmVhZEZpbGVTeW5jIH0gZnJvbSBcImZzXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5pbXBvcnQgZG90ZW52IGZyb20gXCJkb3RlbnZcIjtcblxuZXhwb3J0IGNvbnN0IFNPTkFNVV9FTlZJUk9OTUVOVFMgPSBbXCJ0ZXN0XCIsIFwiZGV2ZWxvcG1lbnRcIiwgXCJzdGFnaW5nXCIsIFwicHJvZHVjdGlvblwiXSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgU29uYW11RW52aXJvbm1lbnQgPSAodHlwZW9mIFNPTkFNVV9FTlZJUk9OTUVOVFMpW251bWJlcl07XG5leHBvcnQgdHlwZSBFbnZpcm9ubWVudFNuYXBzaG90ID0gUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbmV4cG9ydCB0eXBlIEVudmlyb25tZW50U25hcHNob3RzID0gUmVjb3JkPFNvbmFtdUVudmlyb25tZW50LCBFbnZpcm9ubWVudFNuYXBzaG90PjtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzU29uYW11RW52aXJvbm1lbnQodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHZhbHVlIGlzIFNvbmFtdUVudmlyb25tZW50IHtcbiAgcmV0dXJuIFNPTkFNVV9FTlZJUk9OTUVOVFMuaW5jbHVkZXModmFsdWUgYXMgU29uYW11RW52aXJvbm1lbnQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U29uYW11RW52aXJvbm1lbnQoZW52OiBOb2RlSlMuUHJvY2Vzc0VudiA9IHByb2Nlc3MuZW52KTogU29uYW11RW52aXJvbm1lbnQge1xuICBjb25zdCBub2RlRW52ID0gZW52Lk5PREVfRU5WO1xuXG4gIGlmIChub2RlRW52ID09PSB1bmRlZmluZWQgfHwgbm9kZUVudiA9PT0gXCJcIikge1xuICAgIHJldHVybiBcImRldmVsb3BtZW50XCI7XG4gIH1cblxuICBpZiAoaXNTb25hbXVFbnZpcm9ubWVudChub2RlRW52KSkge1xuICAgIHJldHVybiBub2RlRW52O1xuICB9XG5cbiAgdGhyb3cgbmV3IEVycm9yKFxuICAgIGBJbnZhbGlkIE5PREVfRU5WIFwiJHtub2RlRW52fVwiLiBTb25hbXUgc3VwcG9ydHMgb25seSAke1NPTkFNVV9FTlZJUk9OTUVOVFMuam9pbihcIiwgXCIpfS5gLFxuICApO1xufVxuXG5mdW5jdGlvbiByZWFkRG90ZW52RmlsZShmaWxlUGF0aDogc3RyaW5nKTogRW52aXJvbm1lbnRTbmFwc2hvdCB7XG4gIGlmICghZXhpc3RzU3luYyhmaWxlUGF0aCkpIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICByZXR1cm4gZG90ZW52LnBhcnNlKHJlYWRGaWxlU3luYyhmaWxlUGF0aCkpO1xufVxuXG5mdW5jdGlvbiBhc3NlcnRFbnZpcm9ubWVudERvdGVudkV4aXN0cyhyb290UGF0aDogc3RyaW5nLCBlbnZpcm9ubWVudDogU29uYW11RW52aXJvbm1lbnQpOiB2b2lkIHtcbiAgY29uc3QgY29tbW9uRW52UGF0aCA9IHBhdGguam9pbihyb290UGF0aCwgXCIuZW52XCIpO1xuICBjb25zdCBlbnZpcm9ubWVudEVudlBhdGggPSBwYXRoLmpvaW4ocm9vdFBhdGgsIGAuZW52LiR7ZW52aXJvbm1lbnR9YCk7XG5cbiAgaWYgKCFleGlzdHNTeW5jKGNvbW1vbkVudlBhdGgpICYmICFleGlzdHNTeW5jKGVudmlyb25tZW50RW52UGF0aCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgTWlzc2luZyBTb25hbXUgZG90ZW52IGZpbGUuIENyZWF0ZSAke2NvbW1vbkVudlBhdGh9IG9yICR7ZW52aXJvbm1lbnRFbnZQYXRofS5gLFxuICAgICk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVtb3ZlUHJlbG9hZGVkQ29tbW9uRG90ZW52VmFsdWVzKFxuICBiYXNlRW52OiBOb2RlSlMuUHJvY2Vzc0VudixcbiAgY29tbW9uRW52OiBFbnZpcm9ubWVudFNuYXBzaG90LFxuICBlbnZpcm9ubWVudEVudjogRW52aXJvbm1lbnRTbmFwc2hvdCxcbik6IE5vZGVKUy5Qcm9jZXNzRW52IHtcbiAgY29uc3QgcnVudGltZUVudiA9IHsgLi4uYmFzZUVudiB9O1xuXG4gIGZvciAoY29uc3QgW2tleSwgY29tbW9uVmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGNvbW1vbkVudikpIHtcbiAgICBpZiAoZW52aXJvbm1lbnRFbnZba2V5XSAhPT0gdW5kZWZpbmVkICYmIHJ1bnRpbWVFbnZba2V5XSA9PT0gY29tbW9uVmFsdWUpIHtcbiAgICAgIGRlbGV0ZSBydW50aW1lRW52W2tleV07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJ1bnRpbWVFbnY7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWFkRW52aXJvbm1lbnRTbmFwc2hvdChcbiAgcm9vdFBhdGg6IHN0cmluZyxcbiAgZW52aXJvbm1lbnQ6IFNvbmFtdUVudmlyb25tZW50LFxuICBiYXNlRW52OiBOb2RlSlMuUHJvY2Vzc0VudiA9IHByb2Nlc3MuZW52LFxuKTogRW52aXJvbm1lbnRTbmFwc2hvdCB7XG4gIGFzc2VydEVudmlyb25tZW50RG90ZW52RXhpc3RzKHJvb3RQYXRoLCBlbnZpcm9ubWVudCk7XG4gIGNvbnN0IGNvbW1vbkVudiA9IHJlYWREb3RlbnZGaWxlKHBhdGguam9pbihyb290UGF0aCwgXCIuZW52XCIpKTtcbiAgY29uc3QgZW52aXJvbm1lbnRFbnYgPSByZWFkRG90ZW52RmlsZShwYXRoLmpvaW4ocm9vdFBhdGgsIGAuZW52LiR7ZW52aXJvbm1lbnR9YCkpO1xuICBjb25zdCBydW50aW1lRW52ID0gcmVtb3ZlUHJlbG9hZGVkQ29tbW9uRG90ZW52VmFsdWVzKGJhc2VFbnYsIGNvbW1vbkVudiwgZW52aXJvbm1lbnRFbnYpO1xuXG4gIHJldHVybiB7XG4gICAgLi4uY29tbW9uRW52LFxuICAgIC4uLmVudmlyb25tZW50RW52LFxuICAgIC4uLnJlYWREb3RlbnZGaWxlKHBhdGguam9pbihyb290UGF0aCwgXCIuZW52LmxvY2FsXCIpKSxcbiAgICAuLi5ydW50aW1lRW52LFxuICAgIE5PREVfRU5WOiBlbnZpcm9ubWVudCxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlYWRBbGxFbnZpcm9ubWVudFNuYXBzaG90cyhcbiAgcm9vdFBhdGg6IHN0cmluZyxcbiAgYmFzZUVudjogTm9kZUpTLlByb2Nlc3NFbnYgPSB7fSxcbik6IEVudmlyb25tZW50U25hcHNob3RzIHtcbiAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcbiAgICBTT05BTVVfRU5WSVJPTk1FTlRTLm1hcCgoZW52aXJvbm1lbnQpID0+IFtcbiAgICAgIGVudmlyb25tZW50LFxuICAgICAgcmVhZEVudmlyb25tZW50U25hcHNob3Qocm9vdFBhdGgsIGVudmlyb25tZW50LCBiYXNlRW52KSxcbiAgICBdKSxcbiAgKSBhcyBFbnZpcm9ubWVudFNuYXBzaG90cztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5Q3VycmVudFNuYXBzaG90VG9Qcm9jZXNzRW52KHJvb3RQYXRoOiBzdHJpbmcpOiBFbnZpcm9ubWVudFNuYXBzaG90IHtcbiAgY29uc3QgZW52aXJvbm1lbnQgPSBnZXRTb25hbXVFbnZpcm9ubWVudCgpO1xuICBjb25zdCBzbmFwc2hvdCA9IHJlYWRFbnZpcm9ubWVudFNuYXBzaG90KHJvb3RQYXRoLCBlbnZpcm9ubWVudCk7XG5cbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoc25hcHNob3QpKSB7XG4gICAgcHJvY2Vzcy5lbnZba2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgcmV0dXJuIHNuYXBzaG90O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNEZXZlbG9wbWVudEVudmlyb25tZW50KCk6IGJvb2xlYW4ge1xuICByZXR1cm4gZ2V0U29uYW11RW52aXJvbm1lbnQoKSA9PT0gXCJkZXZlbG9wbWVudFwiO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTdGFnaW5nRW52aXJvbm1lbnQoKTogYm9vbGVhbiB7XG4gIHJldHVybiBnZXRTb25hbXVFbnZpcm9ubWVudCgpID09PSBcInN0YWdpbmdcIjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUHJvZHVjdGlvbkVudmlyb25tZW50KCk6IGJvb2xlYW4ge1xuICByZXR1cm4gZ2V0U29uYW11RW52aXJvbm1lbnQoKSA9PT0gXCJwcm9kdWN0aW9uXCI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1Rlc3RFbnZpcm9ubWVudCgpOiBib29sZWFuIHtcbiAgcmV0dXJuIGdldFNvbmFtdUVudmlyb25tZW50KCkgPT09IFwidGVzdFwiO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7OztBQVdBLFNBQWdCLG9CQUFvQixPQUF1RDtDQUN6RixPQUFPLG9CQUFvQixTQUFTLEtBQTBCO0FBQ2hFO0FBRUEsU0FBZ0IscUJBQXFCLE1BQXlCLFFBQVEsS0FBd0I7Q0FDNUYsTUFBTSxVQUFVLElBQUk7Q0FFcEIsSUFBSSxZQUFZLFVBQWEsWUFBWSxJQUN2QyxPQUFPO0NBR1QsSUFBSSxvQkFBb0IsT0FBTyxHQUM3QixPQUFPO0NBR1QsTUFBTSxJQUFJLE1BQ1IscUJBQXFCLFFBQVEsMEJBQTBCLG9CQUFvQixLQUFLLElBQUksRUFBRSxFQUN4RjtBQUNGO0FBRUEsU0FBUyxlQUFlLFVBQXVDO0NBQzdELElBQUksQ0FBQyxXQUFXLFFBQVEsR0FDdEIsT0FBTyxDQUFDO0NBR1YsT0FBTyxPQUFPLE1BQU0sYUFBYSxRQUFRLENBQUM7QUFDNUM7QUFFQSxTQUFTLDhCQUE4QixVQUFrQixhQUFzQztDQUM3RixNQUFNLGdCQUFnQixLQUFLLEtBQUssVUFBVSxNQUFNO0NBQ2hELE1BQU0scUJBQXFCLEtBQUssS0FBSyxVQUFVLFFBQVEsYUFBYTtDQUVwRSxJQUFJLENBQUMsV0FBVyxhQUFhLEtBQUssQ0FBQyxXQUFXLGtCQUFrQixHQUM5RCxNQUFNLElBQUksTUFDUixzQ0FBc0MsY0FBYyxNQUFNLG1CQUFtQixFQUMvRTtBQUVKO0FBRUEsU0FBUyxrQ0FDUCxTQUNBLFdBQ0EsZ0JBQ21CO0NBQ25CLE1BQU0sYUFBYSxFQUFFLEdBQUcsUUFBUTtDQUVoQyxLQUFLLE1BQU0sQ0FBQyxLQUFLLGdCQUFnQixPQUFPLFFBQVEsU0FBUyxHQUN2RCxJQUFJLGVBQWUsU0FBUyxVQUFhLFdBQVcsU0FBUyxhQUMzRCxPQUFPLFdBQVc7Q0FJdEIsT0FBTztBQUNUO0FBRUEsU0FBZ0Isd0JBQ2QsVUFDQSxhQUNBLFVBQTZCLFFBQVEsS0FDaEI7Q0FDckIsOEJBQThCLFVBQVUsV0FBVztDQUNuRCxNQUFNLFlBQVksZUFBZSxLQUFLLEtBQUssVUFBVSxNQUFNLENBQUM7Q0FDNUQsTUFBTSxpQkFBaUIsZUFBZSxLQUFLLEtBQUssVUFBVSxRQUFRLGFBQWEsQ0FBQztDQUNoRixNQUFNLGFBQWEsa0NBQWtDLFNBQVMsV0FBVyxjQUFjO0NBRXZGLE9BQU87RUFDTCxHQUFHO0VBQ0gsR0FBRztFQUNILEdBQUcsZUFBZSxLQUFLLEtBQUssVUFBVSxZQUFZLENBQUM7RUFDbkQsR0FBRztFQUNILFVBQVU7Q0FDWjtBQUNGO0FBRUEsU0FBZ0IsNEJBQ2QsVUFDQSxVQUE2QixDQUFDLEdBQ1I7Q0FDdEIsT0FBTyxPQUFPLFlBQ1osb0JBQW9CLEtBQUssZ0JBQWdCLENBQ3ZDLGFBQ0Esd0JBQXdCLFVBQVUsYUFBYSxPQUFPLENBQ3hELENBQUMsQ0FDSDtBQUNGO0FBRUEsU0FBZ0IsaUNBQWlDLFVBQXVDO0NBRXRGLE1BQU0sV0FBVyx3QkFBd0IsVUFEckIscUJBQytCLENBQVc7Q0FFOUQsS0FBSyxNQUFNLENBQUMsS0FBSyxVQUFVLE9BQU8sUUFBUSxRQUFRLEdBQ2hELFFBQVEsSUFBSSxPQUFPO0NBR3JCLE9BQU87QUFDVDtBQUVBLFNBQWdCLDJCQUFvQztDQUNsRCxPQUFPLHFCQUFxQixNQUFNO0FBQ3BDO0FBRUEsU0FBZ0IsdUJBQWdDO0NBQzlDLE9BQU8scUJBQXFCLE1BQU07QUFDcEM7QUFFQSxTQUFnQiwwQkFBbUM7Q0FDakQsT0FBTyxxQkFBcUIsTUFBTTtBQUNwQztBQUVBLFNBQWdCLG9CQUE2QjtDQUMzQyxPQUFPLHFCQUFxQixNQUFNO0FBQ3BDOzs7Q0FySGEsc0JBQXNCO0VBQUM7RUFBUTtFQUFlO0VBQVc7Q0FBWSJ9
75
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52LmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uL3NyYy9lbnYudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhpc3RzU3luYywgcmVhZEZpbGVTeW5jIH0gZnJvbSBcImZzXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5pbXBvcnQgZG90ZW52IGZyb20gXCJkb3RlbnZcIjtcblxuZXhwb3J0IGNvbnN0IFNPTkFNVV9FTlZJUk9OTUVOVFMgPSBbXCJ0ZXN0XCIsIFwiZGV2ZWxvcG1lbnRcIiwgXCJzdGFnaW5nXCIsIFwicHJvZHVjdGlvblwiXSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgU29uYW11RW52aXJvbm1lbnQgPSAodHlwZW9mIFNPTkFNVV9FTlZJUk9OTUVOVFMpW251bWJlcl07XG5leHBvcnQgaW50ZXJmYWNlIEVudmlyb25tZW50U25hcHNob3Qge1xuICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG59XG5leHBvcnQgdHlwZSBFbnZpcm9ubWVudFNuYXBzaG90cyA9IFJlY29yZDxTb25hbXVFbnZpcm9ubWVudCwgRW52aXJvbm1lbnRTbmFwc2hvdD47XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NvbmFtdUVudmlyb25tZW50KHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpOiB2YWx1ZSBpcyBTb25hbXVFbnZpcm9ubWVudCB7XG4gIHJldHVybiBTT05BTVVfRU5WSVJPTk1FTlRTLmluY2x1ZGVzKFxuICAgIC8qIFNBRkVUWTog7Zi47LacIOqyveqzhOydmCDshKDtlokg6rKA7Kad6rO8IOyGjOycoCDtg4DsnoUg6rOE7JW97J20IOydtCDqsJLsnZgg7YOA7J6F7J2EIOuztOyepe2VnOuLpC4gKi8gdmFsdWUgYXMgU29uYW11RW52aXJvbm1lbnQsXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTb25hbXVFbnZpcm9ubWVudChlbnY6IE5vZGVKUy5Qcm9jZXNzRW52ID0gcHJvY2Vzcy5lbnYpOiBTb25hbXVFbnZpcm9ubWVudCB7XG4gIGNvbnN0IG5vZGVFbnYgPSBlbnYuTk9ERV9FTlY7XG5cbiAgaWYgKG5vZGVFbnYgPT09IHVuZGVmaW5lZCB8fCBub2RlRW52ID09PSBcIlwiKSB7XG4gICAgcmV0dXJuIFwiZGV2ZWxvcG1lbnRcIjtcbiAgfVxuXG4gIGlmIChpc1NvbmFtdUVudmlyb25tZW50KG5vZGVFbnYpKSB7XG4gICAgcmV0dXJuIG5vZGVFbnY7XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgYEludmFsaWQgTk9ERV9FTlYgXCIke25vZGVFbnZ9XCIuIFNvbmFtdSBzdXBwb3J0cyBvbmx5ICR7U09OQU1VX0VOVklST05NRU5UUy5qb2luKFwiLCBcIil9LmAsXG4gICk7XG59XG5cbmZ1bmN0aW9uIHJlYWREb3RlbnZGaWxlKGZpbGVQYXRoOiBzdHJpbmcpOiBFbnZpcm9ubWVudFNuYXBzaG90IHtcbiAgaWYgKCFleGlzdHNTeW5jKGZpbGVQYXRoKSkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHJldHVybiBkb3RlbnYucGFyc2UocmVhZEZpbGVTeW5jKGZpbGVQYXRoKSk7XG59XG5cbmZ1bmN0aW9uIGFzc2VydEVudmlyb25tZW50RG90ZW52RXhpc3RzKHJvb3RQYXRoOiBzdHJpbmcsIGVudmlyb25tZW50OiBTb25hbXVFbnZpcm9ubWVudCk6IHZvaWQge1xuICBjb25zdCBjb21tb25FbnZQYXRoID0gcGF0aC5qb2luKHJvb3RQYXRoLCBcIi5lbnZcIik7XG4gIGNvbnN0IGVudmlyb25tZW50RW52UGF0aCA9IHBhdGguam9pbihyb290UGF0aCwgYC5lbnYuJHtlbnZpcm9ubWVudH1gKTtcblxuICBpZiAoIWV4aXN0c1N5bmMoY29tbW9uRW52UGF0aCkgJiYgIWV4aXN0c1N5bmMoZW52aXJvbm1lbnRFbnZQYXRoKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBNaXNzaW5nIFNvbmFtdSBkb3RlbnYgZmlsZS4gQ3JlYXRlICR7Y29tbW9uRW52UGF0aH0gb3IgJHtlbnZpcm9ubWVudEVudlBhdGh9LmAsXG4gICAgKTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZW1vdmVQcmVsb2FkZWRDb21tb25Eb3RlbnZWYWx1ZXMoXG4gIGJhc2VFbnY6IE5vZGVKUy5Qcm9jZXNzRW52LFxuICBjb21tb25FbnY6IEVudmlyb25tZW50U25hcHNob3QsXG4gIGVudmlyb25tZW50RW52OiBFbnZpcm9ubWVudFNuYXBzaG90LFxuKTogTm9kZUpTLlByb2Nlc3NFbnYge1xuICBjb25zdCBydW50aW1lRW52ID0geyAuLi5iYXNlRW52IH07XG5cbiAgZm9yIChjb25zdCBba2V5LCBjb21tb25WYWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoY29tbW9uRW52KSkge1xuICAgIGlmIChlbnZpcm9ubWVudEVudltrZXldICE9PSB1bmRlZmluZWQgJiYgcnVudGltZUVudltrZXldID09PSBjb21tb25WYWx1ZSkge1xuICAgICAgZGVsZXRlIHJ1bnRpbWVFbnZba2V5XTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcnVudGltZUVudjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlYWRFbnZpcm9ubWVudFNuYXBzaG90KFxuICByb290UGF0aDogc3RyaW5nLFxuICBlbnZpcm9ubWVudDogU29uYW11RW52aXJvbm1lbnQsXG4gIGJhc2VFbnY6IE5vZGVKUy5Qcm9jZXNzRW52ID0gcHJvY2Vzcy5lbnYsXG4pOiBFbnZpcm9ubWVudFNuYXBzaG90IHtcbiAgYXNzZXJ0RW52aXJvbm1lbnREb3RlbnZFeGlzdHMocm9vdFBhdGgsIGVudmlyb25tZW50KTtcbiAgY29uc3QgY29tbW9uRW52ID0gcmVhZERvdGVudkZpbGUocGF0aC5qb2luKHJvb3RQYXRoLCBcIi5lbnZcIikpO1xuICBjb25zdCBlbnZpcm9ubWVudEVudiA9IHJlYWREb3RlbnZGaWxlKHBhdGguam9pbihyb290UGF0aCwgYC5lbnYuJHtlbnZpcm9ubWVudH1gKSk7XG4gIGNvbnN0IHJ1bnRpbWVFbnYgPSByZW1vdmVQcmVsb2FkZWRDb21tb25Eb3RlbnZWYWx1ZXMoYmFzZUVudiwgY29tbW9uRW52LCBlbnZpcm9ubWVudEVudik7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5jb21tb25FbnYsXG4gICAgLi4uZW52aXJvbm1lbnRFbnYsXG4gICAgLi4ucmVhZERvdGVudkZpbGUocGF0aC5qb2luKHJvb3RQYXRoLCBcIi5lbnYubG9jYWxcIikpLFxuICAgIC4uLnJ1bnRpbWVFbnYsXG4gICAgTk9ERV9FTlY6IGVudmlyb25tZW50LFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZEFsbEVudmlyb25tZW50U25hcHNob3RzKFxuICByb290UGF0aDogc3RyaW5nLFxuICBiYXNlRW52OiBOb2RlSlMuUHJvY2Vzc0VudiA9IHt9LFxuKTogRW52aXJvbm1lbnRTbmFwc2hvdHMge1xuICByZXR1cm4gLyogU0FGRVRZOiDtmLjstpwg6rK96rOE7J2YIOyEoO2WiSDqsoDspp3qs7wg7IaM7JygIO2DgOyehSDqs4Tslb3snbQg7J20IOqwkuydmCDtg4DsnoXsnYQg67O07J6l7ZWc64ukLiAqLyBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgU09OQU1VX0VOVklST05NRU5UUy5tYXAoKGVudmlyb25tZW50KSA9PiBbXG4gICAgICBlbnZpcm9ubWVudCxcbiAgICAgIHJlYWRFbnZpcm9ubWVudFNuYXBzaG90KHJvb3RQYXRoLCBlbnZpcm9ubWVudCwgYmFzZUVudiksXG4gICAgXSksXG4gICkgYXMgRW52aXJvbm1lbnRTbmFwc2hvdHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBseUN1cnJlbnRTbmFwc2hvdFRvUHJvY2Vzc0Vudihyb290UGF0aDogc3RyaW5nKTogRW52aXJvbm1lbnRTbmFwc2hvdCB7XG4gIGNvbnN0IGVudmlyb25tZW50ID0gZ2V0U29uYW11RW52aXJvbm1lbnQoKTtcbiAgY29uc3Qgc25hcHNob3QgPSByZWFkRW52aXJvbm1lbnRTbmFwc2hvdChyb290UGF0aCwgZW52aXJvbm1lbnQpO1xuXG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHNuYXBzaG90KSkge1xuICAgIHByb2Nlc3MuZW52W2tleV0gPSB2YWx1ZTtcbiAgfVxuXG4gIHJldHVybiBzbmFwc2hvdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGV2ZWxvcG1lbnRFbnZpcm9ubWVudCgpOiBib29sZWFuIHtcbiAgcmV0dXJuIGdldFNvbmFtdUVudmlyb25tZW50KCkgPT09IFwiZGV2ZWxvcG1lbnRcIjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU3RhZ2luZ0Vudmlyb25tZW50KCk6IGJvb2xlYW4ge1xuICByZXR1cm4gZ2V0U29uYW11RW52aXJvbm1lbnQoKSA9PT0gXCJzdGFnaW5nXCI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1Byb2R1Y3Rpb25FbnZpcm9ubWVudCgpOiBib29sZWFuIHtcbiAgcmV0dXJuIGdldFNvbmFtdUVudmlyb25tZW50KCkgPT09IFwicHJvZHVjdGlvblwiO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNUZXN0RW52aXJvbm1lbnQoKTogYm9vbGVhbiB7XG4gIHJldHVybiBnZXRTb25hbXVFbnZpcm9ubWVudCgpID09PSBcInRlc3RcIjtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFhQSxTQUFnQixvQkFBb0IsT0FBdUQ7Q0FDekYsT0FBTyxvQkFBb0IsU0FDNEIsS0FDdkQ7QUFDRjtBQUVBLFNBQWdCLHFCQUFxQixNQUF5QixRQUFRLEtBQXdCO0NBQzVGLE1BQU0sVUFBVSxJQUFJO0NBRXBCLElBQUksWUFBWSxVQUFhLFlBQVksSUFDdkMsT0FBTztDQUdULElBQUksb0JBQW9CLE9BQU8sR0FDN0IsT0FBTztDQUdULE1BQU0sSUFBSSxNQUNSLHFCQUFxQixRQUFRLDBCQUEwQixvQkFBb0IsS0FBSyxJQUFJLEVBQUUsRUFDeEY7QUFDRjtBQUVBLFNBQVMsZUFBZSxVQUF1QztDQUM3RCxJQUFJLENBQUMsV0FBVyxRQUFRLEdBQ3RCLE9BQU8sQ0FBQztDQUdWLE9BQU8sT0FBTyxNQUFNLGFBQWEsUUFBUSxDQUFDO0FBQzVDO0FBRUEsU0FBUyw4QkFBOEIsVUFBa0IsYUFBc0M7Q0FDN0YsTUFBTSxnQkFBZ0IsS0FBSyxLQUFLLFVBQVUsTUFBTTtDQUNoRCxNQUFNLHFCQUFxQixLQUFLLEtBQUssVUFBVSxRQUFRLGFBQWE7Q0FFcEUsSUFBSSxDQUFDLFdBQVcsYUFBYSxLQUFLLENBQUMsV0FBVyxrQkFBa0IsR0FDOUQsTUFBTSxJQUFJLE1BQ1Isc0NBQXNDLGNBQWMsTUFBTSxtQkFBbUIsRUFDL0U7QUFFSjtBQUVBLFNBQVMsa0NBQ1AsU0FDQSxXQUNBLGdCQUNtQjtDQUNuQixNQUFNLGFBQWEsRUFBRSxHQUFHLFFBQVE7Q0FFaEMsS0FBSyxNQUFNLENBQUMsS0FBSyxnQkFBZ0IsT0FBTyxRQUFRLFNBQVMsR0FDdkQsSUFBSSxlQUFlLFNBQVMsVUFBYSxXQUFXLFNBQVMsYUFDM0QsT0FBTyxXQUFXO0NBSXRCLE9BQU87QUFDVDtBQUVBLFNBQWdCLHdCQUNkLFVBQ0EsYUFDQSxVQUE2QixRQUFRLEtBQ2hCO0NBQ3JCLDhCQUE4QixVQUFVLFdBQVc7Q0FDbkQsTUFBTSxZQUFZLGVBQWUsS0FBSyxLQUFLLFVBQVUsTUFBTSxDQUFDO0NBQzVELE1BQU0saUJBQWlCLGVBQWUsS0FBSyxLQUFLLFVBQVUsUUFBUSxhQUFhLENBQUM7Q0FDaEYsTUFBTSxhQUFhLGtDQUFrQyxTQUFTLFdBQVcsY0FBYztDQUV2RixPQUFPO0VBQ0wsR0FBRztFQUNILEdBQUc7RUFDSCxHQUFHLGVBQWUsS0FBSyxLQUFLLFVBQVUsWUFBWSxDQUFDO0VBQ25ELEdBQUc7RUFDSCxVQUFVO0NBQ1o7QUFDRjtBQUVBLFNBQWdCLDRCQUNkLFVBQ0EsVUFBNkIsQ0FBQyxHQUNSO0NBQ3RCLE9BQTRELE9BQU8sWUFDakUsb0JBQW9CLEtBQUssZ0JBQWdCLENBQ3ZDLGFBQ0Esd0JBQXdCLFVBQVUsYUFBYSxPQUFPLENBQ3hELENBQUMsQ0FDSDtBQUNGO0FBRUEsU0FBZ0IsaUNBQWlDLFVBQXVDO0NBRXRGLE1BQU0sV0FBVyx3QkFBd0IsVUFEckIscUJBQytCLENBQVc7Q0FFOUQsS0FBSyxNQUFNLENBQUMsS0FBSyxVQUFVLE9BQU8sUUFBUSxRQUFRLEdBQ2hELFFBQVEsSUFBSSxPQUFPO0NBR3JCLE9BQU87QUFDVDtBQUVBLFNBQWdCLDJCQUFvQztDQUNsRCxPQUFPLHFCQUFxQixNQUFNO0FBQ3BDO0FBRUEsU0FBZ0IsdUJBQWdDO0NBQzlDLE9BQU8scUJBQXFCLE1BQU07QUFDcEM7QUFFQSxTQUFnQiwwQkFBbUM7Q0FDakQsT0FBTyxxQkFBcUIsTUFBTTtBQUNwQztBQUVBLFNBQWdCLG9CQUE2QjtDQUMzQyxPQUFPLHFCQUFxQixNQUFNO0FBQ3BDOzs7Q0F6SGEsc0JBQXNCO0VBQUM7RUFBUTtFQUFlO0VBQVc7Q0FBWSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../src/exceptions/error-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AAK/C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,QA2BxD"}
1
+ {"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../src/exceptions/error-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AAoB/C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,QA2BxD"}
@@ -1,10 +1,15 @@
1
+ import { init_runtime_value, isObjectValue, isStringValue } from "../utils/runtime-value.js";
1
2
  import { init_so_exceptions, isSoException } from "./so-exceptions.js";
2
3
  //#region src/exceptions/error-handler.ts
4
+ init_runtime_value();
3
5
  init_so_exceptions();
6
+ function isZodIssuePayload(payload) {
7
+ return Array.isArray(payload) && payload.every((issue) => isObjectValue(issue) && "message" in issue && isStringValue(issue.message) && "path" in issue && Array.isArray(issue.path));
8
+ }
4
9
  function setupErrorHandler(server) {
5
10
  server.setErrorHandler((error, request, reply) => {
6
11
  error.statusCode ??= 400;
7
- if (isSoException(error) && error.payload && Array.isArray(error.payload)) {
12
+ if (isSoException(error) && isZodIssuePayload(error.payload)) {
8
13
  const issues = error.payload;
9
14
  const [issue] = issues;
10
15
  const message = `${issue.message} (${issue.path.join("/")})`;
@@ -30,4 +35,4 @@ function setupErrorHandler(server) {
30
35
  //#endregion
31
36
  export { setupErrorHandler };
32
37
 
33
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZXhjZXB0aW9ucy9lcnJvci1oYW5kbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRmFzdGlmeUluc3RhbmNlIH0gZnJvbSBcImZhc3RpZnlcIjtcbmltcG9ydCB0eXBlIHogZnJvbSBcInpvZFwiO1xuXG5pbXBvcnQgeyBpc1NvRXhjZXB0aW9uIH0gZnJvbSBcIi4vc28tZXhjZXB0aW9uc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gc2V0dXBFcnJvckhhbmRsZXIoc2VydmVyOiBGYXN0aWZ5SW5zdGFuY2UpIHtcbiAgc2VydmVyLnNldEVycm9ySGFuZGxlcigoZXJyb3IsIHJlcXVlc3QsIHJlcGx5KSA9PiB7XG4gICAgZXJyb3Iuc3RhdHVzQ29kZSA/Pz0gNDAwO1xuXG4gICAgaWYgKGlzU29FeGNlcHRpb24oZXJyb3IpICYmIGVycm9yLnBheWxvYWQgJiYgQXJyYXkuaXNBcnJheShlcnJvci5wYXlsb2FkKSkge1xuICAgICAgY29uc3QgaXNzdWVzID0gZXJyb3IucGF5bG9hZCBhcyB6LmNvcmUuJFpvZElzc3VlW107XG4gICAgICBjb25zdCBbaXNzdWVdID0gaXNzdWVzO1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGAke2lzc3VlLm1lc3NhZ2V9ICgke2lzc3VlLnBhdGguam9pbihcIi9cIil9KWA7XG5cbiAgICAgIHJlcXVlc3QubG9nLmVycm9yKGAke2Vycm9yLnN0YXR1c0NvZGV9ICR7bWVzc2FnZX1gKTtcbiAgICAgIHJlcGx5LnN0YXR1cyhlcnJvci5zdGF0dXNDb2RlIDw9IDUwMSA/IGVycm9yLnN0YXR1c0NvZGUgOiA1MDEpLnNlbmQoe1xuICAgICAgICBuYW1lOiBlcnJvci5uYW1lLFxuICAgICAgICBjb2RlOiBlcnJvci5jb2RlLFxuICAgICAgICBtZXNzYWdlOiBtZXNzYWdlLFxuICAgICAgICB2YWxpZGF0aW9uRXJyb3JzOiBlcnJvci52YWxpZGF0aW9uLFxuICAgICAgICBpc3N1ZXMsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVxdWVzdC5sb2cuZXJyb3IoYCR7ZXJyb3Iuc3RhdHVzQ29kZX0gJHtlcnJvci5tZXNzYWdlfWApO1xuICAgICAgcmVwbHkuc3RhdHVzKGVycm9yLnN0YXR1c0NvZGUgPD0gNTAxID8gZXJyb3Iuc3RhdHVzQ29kZSA6IDUwMSkuc2VuZCh7XG4gICAgICAgIG5hbWU6IGVycm9yLm5hbWUsXG4gICAgICAgIGNvZGU6IGVycm9yLmNvZGUsXG4gICAgICAgIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UsXG4gICAgICAgIHZhbGlkYXRpb25FcnJvcnM6IGVycm9yLnZhbGlkYXRpb24sXG4gICAgICB9KTtcbiAgICB9XG4gIH0pO1xufVxuIl0sIm1hcHBpbmdzIjoiOzttQkFHK0M7QUFFL0MsU0FBZ0Isa0JBQWtCLFFBQXlCO0NBQ3pELE9BQU8saUJBQWlCLE9BQU8sU0FBUyxVQUFVO0VBQ2hELE1BQU0sZUFBZTtFQUVyQixJQUFJLGNBQWMsS0FBSyxLQUFLLE1BQU0sV0FBVyxNQUFNLFFBQVEsTUFBTSxPQUFPLEdBQUc7R0FDekUsTUFBTSxTQUFTLE1BQU07R0FDckIsTUFBTSxDQUFDLFNBQVM7R0FDaEIsTUFBTSxVQUFVLEdBQUcsTUFBTSxRQUFRLElBQUksTUFBTSxLQUFLLEtBQUssR0FBRyxFQUFFO0dBRTFELFFBQVEsSUFBSSxNQUFNLEdBQUcsTUFBTSxXQUFXLEdBQUcsU0FBUztHQUNsRCxNQUFNLE9BQU8sTUFBTSxjQUFjLE1BQU0sTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUFDLEtBQUs7SUFDbEUsTUFBTSxNQUFNO0lBQ1osTUFBTSxNQUFNO0lBQ0g7SUFDVCxrQkFBa0IsTUFBTTtJQUN4QjtHQUNGLENBQUM7RUFDSCxPQUFPO0dBQ0wsUUFBUSxJQUFJLE1BQU0sR0FBRyxNQUFNLFdBQVcsR0FBRyxNQUFNLFNBQVM7R0FDeEQsTUFBTSxPQUFPLE1BQU0sY0FBYyxNQUFNLE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQyxLQUFLO0lBQ2xFLE1BQU0sTUFBTTtJQUNaLE1BQU0sTUFBTTtJQUNaLFNBQVMsTUFBTTtJQUNmLGtCQUFrQixNQUFNO0dBQzFCLENBQUM7RUFDSDtDQUNGLENBQUM7QUFDSCJ9
38
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZXhjZXB0aW9ucy9lcnJvci1oYW5kbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRmFzdGlmeUluc3RhbmNlIH0gZnJvbSBcImZhc3RpZnlcIjtcbmltcG9ydCB0eXBlIHogZnJvbSBcInpvZFwiO1xuXG5pbXBvcnQgeyBpc09iamVjdFZhbHVlLCBpc1N0cmluZ1ZhbHVlIH0gZnJvbSBcIi4uL3V0aWxzL3J1bnRpbWUtdmFsdWVcIjtcbmltcG9ydCB7IGlzU29FeGNlcHRpb24gfSBmcm9tIFwiLi9zby1leGNlcHRpb25zXCI7XG5cbmZ1bmN0aW9uIGlzWm9kSXNzdWVQYXlsb2FkPFZhbHVlPihwYXlsb2FkOiBWYWx1ZSk6IHBheWxvYWQgaXMgVmFsdWUgJiB6LmNvcmUuJFpvZElzc3VlW10ge1xuICByZXR1cm4gKFxuICAgIEFycmF5LmlzQXJyYXkocGF5bG9hZCkgJiZcbiAgICBwYXlsb2FkLmV2ZXJ5KFxuICAgICAgKGlzc3VlKSA9PlxuICAgICAgICBpc09iamVjdFZhbHVlKGlzc3VlKSAmJlxuICAgICAgICBcIm1lc3NhZ2VcIiBpbiBpc3N1ZSAmJlxuICAgICAgICBpc1N0cmluZ1ZhbHVlKGlzc3VlLm1lc3NhZ2UpICYmXG4gICAgICAgIFwicGF0aFwiIGluIGlzc3VlICYmXG4gICAgICAgIEFycmF5LmlzQXJyYXkoaXNzdWUucGF0aCksXG4gICAgKVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0dXBFcnJvckhhbmRsZXIoc2VydmVyOiBGYXN0aWZ5SW5zdGFuY2UpIHtcbiAgc2VydmVyLnNldEVycm9ySGFuZGxlcigoZXJyb3IsIHJlcXVlc3QsIHJlcGx5KSA9PiB7XG4gICAgZXJyb3Iuc3RhdHVzQ29kZSA/Pz0gNDAwO1xuXG4gICAgaWYgKGlzU29FeGNlcHRpb24oZXJyb3IpICYmIGlzWm9kSXNzdWVQYXlsb2FkKGVycm9yLnBheWxvYWQpKSB7XG4gICAgICBjb25zdCBpc3N1ZXMgPSBlcnJvci5wYXlsb2FkO1xuICAgICAgY29uc3QgW2lzc3VlXSA9IGlzc3VlcztcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgJHtpc3N1ZS5tZXNzYWdlfSAoJHtpc3N1ZS5wYXRoLmpvaW4oXCIvXCIpfSlgO1xuXG4gICAgICByZXF1ZXN0LmxvZy5lcnJvcihgJHtlcnJvci5zdGF0dXNDb2RlfSAke21lc3NhZ2V9YCk7XG4gICAgICByZXBseS5zdGF0dXMoZXJyb3Iuc3RhdHVzQ29kZSA8PSA1MDEgPyBlcnJvci5zdGF0dXNDb2RlIDogNTAxKS5zZW5kKHtcbiAgICAgICAgbmFtZTogZXJyb3IubmFtZSxcbiAgICAgICAgY29kZTogZXJyb3IuY29kZSxcbiAgICAgICAgbWVzc2FnZTogbWVzc2FnZSxcbiAgICAgICAgdmFsaWRhdGlvbkVycm9yczogZXJyb3IudmFsaWRhdGlvbixcbiAgICAgICAgaXNzdWVzLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlcXVlc3QubG9nLmVycm9yKGAke2Vycm9yLnN0YXR1c0NvZGV9ICR7ZXJyb3IubWVzc2FnZX1gKTtcbiAgICAgIHJlcGx5LnN0YXR1cyhlcnJvci5zdGF0dXNDb2RlIDw9IDUwMSA/IGVycm9yLnN0YXR1c0NvZGUgOiA1MDEpLnNlbmQoe1xuICAgICAgICBuYW1lOiBlcnJvci5uYW1lLFxuICAgICAgICBjb2RlOiBlcnJvci5jb2RlLFxuICAgICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlLFxuICAgICAgICB2YWxpZGF0aW9uRXJyb3JzOiBlcnJvci52YWxpZGF0aW9uLFxuICAgICAgfSk7XG4gICAgfVxuICB9KTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7O21CQUdxRTttQkFDdEI7QUFFL0MsU0FBUyxrQkFBeUIsU0FBdUQ7Q0FDdkYsT0FDRSxNQUFNLFFBQVEsT0FBTyxLQUNyQixRQUFRLE9BQ0wsVUFDQyxjQUFjLEtBQUssS0FDbkIsYUFBYSxTQUNiLGNBQWMsTUFBTSxPQUFPLEtBQzNCLFVBQVUsU0FDVixNQUFNLFFBQVEsTUFBTSxJQUFJLENBQzVCO0FBRUo7QUFFQSxTQUFnQixrQkFBa0IsUUFBeUI7Q0FDekQsT0FBTyxpQkFBaUIsT0FBTyxTQUFTLFVBQVU7RUFDaEQsTUFBTSxlQUFlO0VBRXJCLElBQUksY0FBYyxLQUFLLEtBQUssa0JBQWtCLE1BQU0sT0FBTyxHQUFHO0dBQzVELE1BQU0sU0FBUyxNQUFNO0dBQ3JCLE1BQU0sQ0FBQyxTQUFTO0dBQ2hCLE1BQU0sVUFBVSxHQUFHLE1BQU0sUUFBUSxJQUFJLE1BQU0sS0FBSyxLQUFLLEdBQUcsRUFBRTtHQUUxRCxRQUFRLElBQUksTUFBTSxHQUFHLE1BQU0sV0FBVyxHQUFHLFNBQVM7R0FDbEQsTUFBTSxPQUFPLE1BQU0sY0FBYyxNQUFNLE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQyxLQUFLO0lBQ2xFLE1BQU0sTUFBTTtJQUNaLE1BQU0sTUFBTTtJQUNIO0lBQ1Qsa0JBQWtCLE1BQU07SUFDeEI7R0FDRixDQUFDO0VBQ0gsT0FBTztHQUNMLFFBQVEsSUFBSSxNQUFNLEdBQUcsTUFBTSxXQUFXLEdBQUcsTUFBTSxTQUFTO0dBQ3hELE1BQU0sT0FBTyxNQUFNLGNBQWMsTUFBTSxNQUFNLGFBQWEsR0FBRyxDQUFDLENBQUMsS0FBSztJQUNsRSxNQUFNLE1BQU07SUFDWixNQUFNLE1BQU07SUFDWixTQUFTLE1BQU07SUFDZixrQkFBa0IsTUFBTTtHQUMxQixDQUFDO0VBQ0g7Q0FDRixDQUFDO0FBQ0gifQ==
@@ -1,33 +1,37 @@
1
+ import type z from "zod";
1
2
  import { type LocalizedString } from "../dict/types";
2
- export declare abstract class SoException extends Error {
3
+ import { type JsonValue } from "../types/types";
4
+ type ExceptionPayload = JsonValue | z.core.$ZodIssue[];
5
+ export declare abstract class SoException<Payload = ExceptionPayload> extends Error {
3
6
  readonly statusCode: number;
4
7
  message: LocalizedString;
5
- payload?: unknown | undefined;
6
- constructor(statusCode: number, message: LocalizedString, payload?: unknown | undefined);
8
+ payload?: Payload | undefined;
9
+ constructor(statusCode: number, message: LocalizedString, payload?: Payload | undefined);
7
10
  }
8
- export declare function isSoException(err: unknown): err is SoException;
9
- export declare class BadRequestException extends SoException {
10
- constructor(message: LocalizedString, payload?: unknown);
11
+ export declare function isSoException<Value>(err: Value): err is Value & SoException;
12
+ export declare class BadRequestException<Payload = ExceptionPayload> extends SoException<Payload> {
13
+ constructor(message: LocalizedString, payload?: Payload);
11
14
  }
12
- export declare class UnauthorizedException extends SoException {
13
- constructor(message: LocalizedString, payload?: unknown);
15
+ export declare class UnauthorizedException<Payload = ExceptionPayload> extends SoException<Payload> {
16
+ constructor(message: LocalizedString, payload?: Payload);
14
17
  }
15
- export declare class NotFoundException extends SoException {
16
- constructor(message: LocalizedString, payload?: unknown);
18
+ export declare class NotFoundException<Payload = ExceptionPayload> extends SoException<Payload> {
19
+ constructor(message: LocalizedString, payload?: Payload);
17
20
  }
18
- export declare class ServiceUnavailableException extends SoException {
19
- constructor(message: LocalizedString, payload?: unknown);
21
+ export declare class ServiceUnavailableException<Payload = ExceptionPayload> extends SoException<Payload> {
22
+ constructor(message: LocalizedString, payload?: Payload);
20
23
  }
21
- export declare class InternalServerErrorException extends SoException {
22
- constructor(message: LocalizedString, payload?: unknown);
24
+ export declare class InternalServerErrorException<Payload = ExceptionPayload> extends SoException<Payload> {
25
+ constructor(message: LocalizedString, payload?: Payload);
23
26
  }
24
- export declare class AlreadyProcessedException extends SoException {
25
- constructor(message: LocalizedString, payload?: unknown);
27
+ export declare class AlreadyProcessedException<Payload = ExceptionPayload> extends SoException<Payload> {
28
+ constructor(message: LocalizedString, payload?: Payload);
26
29
  }
27
- export declare class DuplicateRowException extends SoException {
28
- constructor(message: LocalizedString, payload?: unknown);
30
+ export declare class DuplicateRowException<Payload = ExceptionPayload> extends SoException<Payload> {
31
+ constructor(message: LocalizedString, payload?: Payload);
29
32
  }
30
- export declare class TargetNotFoundException extends SoException {
31
- constructor(message: LocalizedString, payload?: unknown);
33
+ export declare class TargetNotFoundException<Payload = ExceptionPayload> extends SoException<Payload> {
34
+ constructor(message: LocalizedString, payload?: Payload);
32
35
  }
36
+ export {};
33
37
  //# sourceMappingURL=so-exceptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"so-exceptions.d.ts","sourceRoot":"","sources":["../../src/exceptions/so-exceptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,8BAAsB,WAAY,SAAQ,KAAK;aAE3B,UAAU,EAAE,MAAM;IAC3B,OAAO,EAAE,eAAe;IACxB,OAAO,CAAC,EAAE,OAAO;gBAFR,UAAU,EAAE,MAAM,EAC3B,OAAO,EAAE,eAAe,EACxB,OAAO,CAAC,EAAE,OAAO,YAAA;CAI3B;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,WAAW,CAE9D;AAKD,qBAAa,mBAAoB,SAAQ,WAAW;gBACtC,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,OAAO;CAGxD;AAKD,qBAAa,qBAAsB,SAAQ,WAAW;gBACxC,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,OAAO;CAGxD;AAKD,qBAAa,iBAAkB,SAAQ,WAAW;gBACpC,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,OAAO;CAGxD;AAKD,qBAAa,2BAA4B,SAAQ,WAAW;gBAC9C,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,OAAO;CAGxD;AAKD,qBAAa,4BAA6B,SAAQ,WAAW;gBAC/C,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,OAAO;CAGxD;AAKD,qBAAa,yBAA0B,SAAQ,WAAW;gBAC5C,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,OAAO;CAGxD;AAKD,qBAAa,qBAAsB,SAAQ,WAAW;gBACxC,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,OAAO;CAGxD;AAKD,qBAAa,uBAAwB,SAAQ,WAAW;gBAC1C,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,OAAO;CAGxD"}
1
+ {"version":3,"file":"so-exceptions.d.ts","sourceRoot":"","sources":["../../src/exceptions/so-exceptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,KAAK,gBAAgB,GAAG,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;AAGvD,8BAAsB,WAAW,CAAC,OAAO,GAAG,gBAAgB,CAAE,SAAQ,KAAK;aAEvD,UAAU,EAAE,MAAM;IAC3B,OAAO,EAAE,eAAe;IACxB,OAAO,CAAC,EAAE,OAAO;gBAFR,UAAU,EAAE,MAAM,EAC3B,OAAO,EAAE,eAAe,EACxB,OAAO,CAAC,EAAE,OAAO,YAAA;CAI3B;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,WAAW,CAE3E;AAKD,qBAAa,mBAAmB,CAAC,OAAO,GAAG,gBAAgB,CAAE,SAAQ,WAAW,CAAC,OAAO,CAAC;gBAC3E,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,OAAO;CAGxD;AAKD,qBAAa,qBAAqB,CAAC,OAAO,GAAG,gBAAgB,CAAE,SAAQ,WAAW,CAAC,OAAO,CAAC;gBAC7E,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,OAAO;CAGxD;AAKD,qBAAa,iBAAiB,CAAC,OAAO,GAAG,gBAAgB,CAAE,SAAQ,WAAW,CAAC,OAAO,CAAC;gBACzE,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,OAAO;CAGxD;AAKD,qBAAa,2BAA2B,CAAC,OAAO,GAAG,gBAAgB,CAAE,SAAQ,WAAW,CAAC,OAAO,CAAC;gBACnF,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,OAAO;CAGxD;AAKD,qBAAa,4BAA4B,CAAC,OAAO,GAAG,gBAAgB,CAAE,SAAQ,WAAW,CAAC,OAAO,CAAC;gBACpF,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,OAAO;CAGxD;AAKD,qBAAa,yBAAyB,CAAC,OAAO,GAAG,gBAAgB,CAAE,SAAQ,WAAW,CAAC,OAAO,CAAC;gBACjF,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,OAAO;CAGxD;AAKD,qBAAa,qBAAqB,CAAC,OAAO,GAAG,gBAAgB,CAAE,SAAQ,WAAW,CAAC,OAAO,CAAC;gBAC7E,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,OAAO;CAGxD;AAKD,qBAAa,uBAAuB,CAAC,OAAO,GAAG,gBAAgB,CAAE,SAAQ,WAAW,CAAC,OAAO,CAAC;gBAC/E,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,OAAO;CAGxD"}
@@ -1,10 +1,12 @@
1
1
  import { __esmMin } from "../_virtual/_rolldown/runtime.js";
2
+ import { init_runtime_value, isObjectValue } from "../utils/runtime-value.js";
2
3
  //#region src/exceptions/so-exceptions.ts
3
4
  function isSoException(err) {
4
- return err.statusCode !== void 0;
5
+ return isObjectValue(err) && "statusCode" in err;
5
6
  }
6
7
  var SoException, BadRequestException, UnauthorizedException, NotFoundException, ServiceUnavailableException, InternalServerErrorException, AlreadyProcessedException, DuplicateRowException, TargetNotFoundException;
7
8
  var init_so_exceptions = __esmMin((() => {
9
+ init_runtime_value();
8
10
  SoException = class extends Error {
9
11
  statusCode;
10
12
  message;
@@ -61,4 +63,4 @@ var init_so_exceptions = __esmMin((() => {
61
63
  init_so_exceptions();
62
64
  export { AlreadyProcessedException, BadRequestException, DuplicateRowException, InternalServerErrorException, NotFoundException, ServiceUnavailableException, SoException, TargetNotFoundException, UnauthorizedException, init_so_exceptions, isSoException };
63
65
 
64
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic28tZXhjZXB0aW9ucy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZXhjZXB0aW9ucy9zby1leGNlcHRpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgTG9jYWxpemVkU3RyaW5nIH0gZnJvbSBcIi4uL2RpY3QvdHlwZXNcIjtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNvRXhjZXB0aW9uIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgc3RhdHVzQ29kZTogbnVtYmVyLFxuICAgIHB1YmxpYyBtZXNzYWdlOiBMb2NhbGl6ZWRTdHJpbmcsXG4gICAgcHVibGljIHBheWxvYWQ/OiB1bmtub3duLFxuICApIHtcbiAgICBzdXBlcihTdHJpbmcobWVzc2FnZSkpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NvRXhjZXB0aW9uKGVycjogdW5rbm93bik6IGVyciBpcyBTb0V4Y2VwdGlvbiB7XG4gIHJldHVybiAoZXJyIGFzIFNvRXhjZXB0aW9uKS5zdGF0dXNDb2RlICE9PSB1bmRlZmluZWQ7XG59XG5cbi8qXG5cdOyemOuqu+uQnCDrp6TqsJzrs4DsiJgg65OxIOyalOyyreyCrO2VreyXkCDrrLjsoJzqsIAg7J6I64qUIOqyveyasFxuKi9cbmV4cG9ydCBjbGFzcyBCYWRSZXF1ZXN0RXhjZXB0aW9uIGV4dGVuZHMgU29FeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBMb2NhbGl6ZWRTdHJpbmcsIHBheWxvYWQ/OiB1bmtub3duKSB7XG4gICAgc3VwZXIoNDAwLCBtZXNzYWdlLCBwYXlsb2FkKTtcbiAgfVxufVxuXG4vKlxuXHTroZzqt7jsnbjsnbQg67CY65Oc7IucIO2VhOyalO2VnCDsvIDsnbTsiqTsl5Ag66Gc6re47JWE7JuDIOyDge2DnOyduCDqsr3smrAgLyDsoJHqt7wg6raM7ZWc7J20IOyXhuuKlCDsmpTssq3si5xcbiovXG5leHBvcnQgY2xhc3MgVW5hdXRob3JpemVkRXhjZXB0aW9uIGV4dGVuZHMgU29FeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBMb2NhbGl6ZWRTdHJpbmcsIHBheWxvYWQ/OiB1bmtub3duKSB7XG4gICAgc3VwZXIoNDAxLCBtZXNzYWdlLCBwYXlsb2FkKTtcbiAgfVxufVxuXG4vKlxuXHTsobTsnqztlZjsp4Ag7JWK64qUIOugiOy9lOuTnOyXkCDsoJHqt7zsi5xcbiovXG5leHBvcnQgY2xhc3MgTm90Rm91bmRFeGNlcHRpb24gZXh0ZW5kcyBTb0V4Y2VwdGlvbiB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IExvY2FsaXplZFN0cmluZywgcGF5bG9hZD86IHVua25vd24pIHtcbiAgICBzdXBlcig0MDQsIG1lc3NhZ2UsIHBheWxvYWQpO1xuICB9XG59XG5cbi8qXG5cdO2YhOyerCDsg4Htg5zsl5DshJwg7LKY66as6rCAIOu2iOqwgOuKpe2VnCDsvIDsnbTsiqRcbiovXG5leHBvcnQgY2xhc3MgU2VydmljZVVuYXZhaWxhYmxlRXhjZXB0aW9uIGV4dGVuZHMgU29FeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBMb2NhbGl6ZWRTdHJpbmcsIHBheWxvYWQ/OiB1bmtub3duKSB7XG4gICAgc3VwZXIoNTAzLCBtZXNzYWdlLCBwYXlsb2FkKTtcbiAgfVxufVxuXG4vKlxuXHTrgrTrtoAg7LKY66asIOuhnOyngSAo7Jm467aAIEFQSSDsvZwg7Y+s7ZWoKSDsmKTrpZgg67Cc7IOd7IucXG4qL1xuZXhwb3J0IGNsYXNzIEludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24gZXh0ZW5kcyBTb0V4Y2VwdGlvbiB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IExvY2FsaXplZFN0cmluZywgcGF5bG9hZD86IHVua25vd24pIHtcbiAgICBzdXBlcig1MDAsIG1lc3NhZ2UsIHBheWxvYWQpO1xuICB9XG59XG5cbi8qXG5cdOydtOuvuCDsspjrpqztlahcbiovXG5leHBvcnQgY2xhc3MgQWxyZWFkeVByb2Nlc3NlZEV4Y2VwdGlvbiBleHRlbmRzIFNvRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogTG9jYWxpemVkU3RyaW5nLCBwYXlsb2FkPzogdW5rbm93bikge1xuICAgIHN1cGVyKDU0MSwgbWVzc2FnZSwgcGF5bG9hZCk7XG4gIH1cbn1cblxuLypcblx07KSR67O1IO2XiOyaqe2VmOyngCDslYrripQg7LyA7J207Iqk7JeQIOykkeuztSDsmpTssq1cbiovXG5leHBvcnQgY2xhc3MgRHVwbGljYXRlUm93RXhjZXB0aW9uIGV4dGVuZHMgU29FeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBMb2NhbGl6ZWRTdHJpbmcsIHBheWxvYWQ/OiB1bmtub3duKSB7XG4gICAgc3VwZXIoNTQyLCBtZXNzYWdlLCBwYXlsb2FkKTtcbiAgfVxufVxuXG4vKlxuXHTrrZTqsIDrpbwg7ZWY66Ck6rOgIO2WiOycvOuCmCDrjIDsg4HsnbQg7JeG7J2MXG4qL1xuZXhwb3J0IGNsYXNzIFRhcmdldE5vdEZvdW5kRXhjZXB0aW9uIGV4dGVuZHMgU29FeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBMb2NhbGl6ZWRTdHJpbmcsIHBheWxvYWQ/OiB1bmtub3duKSB7XG4gICAgc3VwZXIoNTIwLCBtZXNzYWdlLCBwYXlsb2FkKTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOztBQVlBLFNBQWdCLGNBQWMsS0FBa0M7Q0FDOUQsT0FBUSxJQUFvQixlQUFlO0FBQzdDOzs7Q0Fac0IsY0FBdEIsY0FBMEMsTUFBTTtFQUU1QjtFQUNUO0VBQ0E7RUFIVCxZQUNFLFlBQ0EsU0FDQSxTQUNBO0dBQ0EsTUFBTSxPQUFPLE9BQU8sQ0FBQztHQUpMLEtBQUEsYUFBQTtHQUNULEtBQUEsVUFBQTtHQUNBLEtBQUEsVUFBQTtFQUdUO0NBQ0Y7Q0FTYSxzQkFBYixjQUF5QyxZQUFZO0VBQ25ELFlBQVksU0FBMEIsU0FBbUI7R0FDdkQsTUFBTSxLQUFLLFNBQVMsT0FBTztFQUM3QjtDQUNGO0NBS2Esd0JBQWIsY0FBMkMsWUFBWTtFQUNyRCxZQUFZLFNBQTBCLFNBQW1CO0dBQ3ZELE1BQU0sS0FBSyxTQUFTLE9BQU87RUFDN0I7Q0FDRjtDQUthLG9CQUFiLGNBQXVDLFlBQVk7RUFDakQsWUFBWSxTQUEwQixTQUFtQjtHQUN2RCxNQUFNLEtBQUssU0FBUyxPQUFPO0VBQzdCO0NBQ0Y7Q0FLYSw4QkFBYixjQUFpRCxZQUFZO0VBQzNELFlBQVksU0FBMEIsU0FBbUI7R0FDdkQsTUFBTSxLQUFLLFNBQVMsT0FBTztFQUM3QjtDQUNGO0NBS2EsK0JBQWIsY0FBa0QsWUFBWTtFQUM1RCxZQUFZLFNBQTBCLFNBQW1CO0dBQ3ZELE1BQU0sS0FBSyxTQUFTLE9BQU87RUFDN0I7Q0FDRjtDQUthLDRCQUFiLGNBQStDLFlBQVk7RUFDekQsWUFBWSxTQUEwQixTQUFtQjtHQUN2RCxNQUFNLEtBQUssU0FBUyxPQUFPO0VBQzdCO0NBQ0Y7Q0FLYSx3QkFBYixjQUEyQyxZQUFZO0VBQ3JELFlBQVksU0FBMEIsU0FBbUI7R0FDdkQsTUFBTSxLQUFLLFNBQVMsT0FBTztFQUM3QjtDQUNGO0NBS2EsMEJBQWIsY0FBNkMsWUFBWTtFQUN2RCxZQUFZLFNBQTBCLFNBQW1CO0dBQ3ZELE1BQU0sS0FBSyxTQUFTLE9BQU87RUFDN0I7Q0FDRiJ9
66
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic28tZXhjZXB0aW9ucy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZXhjZXB0aW9ucy9zby1leGNlcHRpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHogZnJvbSBcInpvZFwiO1xuXG5pbXBvcnQgeyB0eXBlIExvY2FsaXplZFN0cmluZyB9IGZyb20gXCIuLi9kaWN0L3R5cGVzXCI7XG5pbXBvcnQgeyB0eXBlIEpzb25WYWx1ZSB9IGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuXG50eXBlIEV4Y2VwdGlvblBheWxvYWQgPSBKc29uVmFsdWUgfCB6LmNvcmUuJFpvZElzc3VlW107XG5pbXBvcnQgeyBpc09iamVjdFZhbHVlIH0gZnJvbSBcIi4uL3V0aWxzL3J1bnRpbWUtdmFsdWVcIjtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNvRXhjZXB0aW9uPFBheWxvYWQgPSBFeGNlcHRpb25QYXlsb2FkPiBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHN0YXR1c0NvZGU6IG51bWJlcixcbiAgICBwdWJsaWMgbWVzc2FnZTogTG9jYWxpemVkU3RyaW5nLFxuICAgIHB1YmxpYyBwYXlsb2FkPzogUGF5bG9hZCxcbiAgKSB7XG4gICAgc3VwZXIoU3RyaW5nKG1lc3NhZ2UpKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTb0V4Y2VwdGlvbjxWYWx1ZT4oZXJyOiBWYWx1ZSk6IGVyciBpcyBWYWx1ZSAmIFNvRXhjZXB0aW9uIHtcbiAgcmV0dXJuIGlzT2JqZWN0VmFsdWUoZXJyKSAmJiBcInN0YXR1c0NvZGVcIiBpbiBlcnI7XG59XG5cbi8qXG5cdOyemOuqu+uQnCDrp6TqsJzrs4DsiJgg65OxIOyalOyyreyCrO2VreyXkCDrrLjsoJzqsIAg7J6I64qUIOqyveyasFxuKi9cbmV4cG9ydCBjbGFzcyBCYWRSZXF1ZXN0RXhjZXB0aW9uPFBheWxvYWQgPSBFeGNlcHRpb25QYXlsb2FkPiBleHRlbmRzIFNvRXhjZXB0aW9uPFBheWxvYWQ+IHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogTG9jYWxpemVkU3RyaW5nLCBwYXlsb2FkPzogUGF5bG9hZCkge1xuICAgIHN1cGVyKDQwMCwgbWVzc2FnZSwgcGF5bG9hZCk7XG4gIH1cbn1cblxuLypcblx066Gc6re47J247J20IOuwmOuTnOyLnCDtlYTsmpTtlZwg7LyA7J207Iqk7JeQIOuhnOq3uOyVhOybgyDsg4Htg5zsnbgg6rK97JqwIC8g7KCR6re8IOq2jO2VnOydtCDsl4bripQg7JqU7LKt7IucXG4qL1xuZXhwb3J0IGNsYXNzIFVuYXV0aG9yaXplZEV4Y2VwdGlvbjxQYXlsb2FkID0gRXhjZXB0aW9uUGF5bG9hZD4gZXh0ZW5kcyBTb0V4Y2VwdGlvbjxQYXlsb2FkPiB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IExvY2FsaXplZFN0cmluZywgcGF5bG9hZD86IFBheWxvYWQpIHtcbiAgICBzdXBlcig0MDEsIG1lc3NhZ2UsIHBheWxvYWQpO1xuICB9XG59XG5cbi8qXG5cdOyhtOyerO2VmOyngCDslYrripQg66CI7L2U65Oc7JeQIOygkeq3vOyLnFxuKi9cbmV4cG9ydCBjbGFzcyBOb3RGb3VuZEV4Y2VwdGlvbjxQYXlsb2FkID0gRXhjZXB0aW9uUGF5bG9hZD4gZXh0ZW5kcyBTb0V4Y2VwdGlvbjxQYXlsb2FkPiB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IExvY2FsaXplZFN0cmluZywgcGF5bG9hZD86IFBheWxvYWQpIHtcbiAgICBzdXBlcig0MDQsIG1lc3NhZ2UsIHBheWxvYWQpO1xuICB9XG59XG5cbi8qXG5cdO2YhOyerCDsg4Htg5zsl5DshJwg7LKY66as6rCAIOu2iOqwgOuKpe2VnCDsvIDsnbTsiqRcbiovXG5leHBvcnQgY2xhc3MgU2VydmljZVVuYXZhaWxhYmxlRXhjZXB0aW9uPFBheWxvYWQgPSBFeGNlcHRpb25QYXlsb2FkPiBleHRlbmRzIFNvRXhjZXB0aW9uPFBheWxvYWQ+IHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogTG9jYWxpemVkU3RyaW5nLCBwYXlsb2FkPzogUGF5bG9hZCkge1xuICAgIHN1cGVyKDUwMywgbWVzc2FnZSwgcGF5bG9hZCk7XG4gIH1cbn1cblxuLypcblx064K067aAIOyymOumrCDroZzsp4EgKOyZuOu2gCBBUEkg7L2cIO2PrO2VqCkg7Jik66WYIOuwnOyDneyLnFxuKi9cbmV4cG9ydCBjbGFzcyBJbnRlcm5hbFNlcnZlckVycm9yRXhjZXB0aW9uPFBheWxvYWQgPSBFeGNlcHRpb25QYXlsb2FkPiBleHRlbmRzIFNvRXhjZXB0aW9uPFBheWxvYWQ+IHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogTG9jYWxpemVkU3RyaW5nLCBwYXlsb2FkPzogUGF5bG9hZCkge1xuICAgIHN1cGVyKDUwMCwgbWVzc2FnZSwgcGF5bG9hZCk7XG4gIH1cbn1cblxuLypcblx07J2066+4IOyymOumrO2VqFxuKi9cbmV4cG9ydCBjbGFzcyBBbHJlYWR5UHJvY2Vzc2VkRXhjZXB0aW9uPFBheWxvYWQgPSBFeGNlcHRpb25QYXlsb2FkPiBleHRlbmRzIFNvRXhjZXB0aW9uPFBheWxvYWQ+IHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogTG9jYWxpemVkU3RyaW5nLCBwYXlsb2FkPzogUGF5bG9hZCkge1xuICAgIHN1cGVyKDU0MSwgbWVzc2FnZSwgcGF5bG9hZCk7XG4gIH1cbn1cblxuLypcblx07KSR67O1IO2XiOyaqe2VmOyngCDslYrripQg7LyA7J207Iqk7JeQIOykkeuztSDsmpTssq1cbiovXG5leHBvcnQgY2xhc3MgRHVwbGljYXRlUm93RXhjZXB0aW9uPFBheWxvYWQgPSBFeGNlcHRpb25QYXlsb2FkPiBleHRlbmRzIFNvRXhjZXB0aW9uPFBheWxvYWQ+IHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogTG9jYWxpemVkU3RyaW5nLCBwYXlsb2FkPzogUGF5bG9hZCkge1xuICAgIHN1cGVyKDU0MiwgbWVzc2FnZSwgcGF5bG9hZCk7XG4gIH1cbn1cblxuLypcblx0662U6rCA66W8IO2VmOugpOqzoCDtlojsnLzrgpgg64yA7IOB7J20IOyXhuydjFxuKi9cbmV4cG9ydCBjbGFzcyBUYXJnZXROb3RGb3VuZEV4Y2VwdGlvbjxQYXlsb2FkID0gRXhjZXB0aW9uUGF5bG9hZD4gZXh0ZW5kcyBTb0V4Y2VwdGlvbjxQYXlsb2FkPiB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IExvY2FsaXplZFN0cmluZywgcGF5bG9hZD86IFBheWxvYWQpIHtcbiAgICBzdXBlcig1MjAsIG1lc3NhZ2UsIHBheWxvYWQpO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7OztBQWtCQSxTQUFnQixjQUFxQixLQUF3QztDQUMzRSxPQUFPLGNBQWMsR0FBRyxLQUFLLGdCQUFnQjtBQUMvQzs7O29CQWRzRDtDQUVoQyxjQUF0QixjQUFzRSxNQUFNO0VBRXhEO0VBQ1Q7RUFDQTtFQUhULFlBQ0UsWUFDQSxTQUNBLFNBQ0E7R0FDQSxNQUFNLE9BQU8sT0FBTyxDQUFDO0dBSkwsS0FBQSxhQUFBO0dBQ1QsS0FBQSxVQUFBO0dBQ0EsS0FBQSxVQUFBO0VBR1Q7Q0FDRjtDQVNhLHNCQUFiLGNBQXFFLFlBQXFCO0VBQ3hGLFlBQVksU0FBMEIsU0FBbUI7R0FDdkQsTUFBTSxLQUFLLFNBQVMsT0FBTztFQUM3QjtDQUNGO0NBS2Esd0JBQWIsY0FBdUUsWUFBcUI7RUFDMUYsWUFBWSxTQUEwQixTQUFtQjtHQUN2RCxNQUFNLEtBQUssU0FBUyxPQUFPO0VBQzdCO0NBQ0Y7Q0FLYSxvQkFBYixjQUFtRSxZQUFxQjtFQUN0RixZQUFZLFNBQTBCLFNBQW1CO0dBQ3ZELE1BQU0sS0FBSyxTQUFTLE9BQU87RUFDN0I7Q0FDRjtDQUthLDhCQUFiLGNBQTZFLFlBQXFCO0VBQ2hHLFlBQVksU0FBMEIsU0FBbUI7R0FDdkQsTUFBTSxLQUFLLFNBQVMsT0FBTztFQUM3QjtDQUNGO0NBS2EsK0JBQWIsY0FBOEUsWUFBcUI7RUFDakcsWUFBWSxTQUEwQixTQUFtQjtHQUN2RCxNQUFNLEtBQUssU0FBUyxPQUFPO0VBQzdCO0NBQ0Y7Q0FLYSw0QkFBYixjQUEyRSxZQUFxQjtFQUM5RixZQUFZLFNBQTBCLFNBQW1CO0dBQ3ZELE1BQU0sS0FBSyxTQUFTLE9BQU87RUFDN0I7Q0FDRjtDQUthLHdCQUFiLGNBQXVFLFlBQXFCO0VBQzFGLFlBQVksU0FBMEIsU0FBbUI7R0FDdkQsTUFBTSxLQUFLLFNBQVMsT0FBTztFQUM3QjtDQUNGO0NBS2EsMEJBQWIsY0FBeUUsWUFBcUI7RUFDNUYsWUFBWSxTQUEwQixTQUFtQjtHQUN2RCxNQUFNLEtBQUssU0FBUyxPQUFPO0VBQzdCO0NBQ0YifQ==
@@ -1,5 +1,9 @@
1
1
  import { type Entity } from "../entity/entity";
2
2
  import { type FilterQuery } from "./types";
3
+ type DynamicFilterValue = string | number | boolean | Date | null | DynamicFilterValue[];
4
+ type DynamicFilterEntity = {
5
+ [field: string]: DynamicFilterValue;
6
+ };
3
7
  /**
4
8
  * Fastify가 파싱한 sonamuFilter 객체를 정규화
5
9
  * 문자열 값을 적절한 타입(숫자, 불린)으로 변환
@@ -16,7 +20,7 @@ import { type FilterQuery } from "./types";
16
20
  * @param rawFilter Fastify가 파싱한 원본 sonamuFilter 객체
17
21
  * @returns 타입이 변환된 FilterQuery 객체
18
22
  */
19
- export declare function normalizeFilterQuery<TEntity = Record<string, unknown>>(rawFilter: unknown): FilterQuery<TEntity>;
23
+ export declare function normalizeFilterQuery<TEntity = DynamicFilterEntity, Value = never>(rawFilter: Value): FilterQuery<TEntity>;
20
24
  /**
21
25
  * sonamuFilter를 Entity 기반으로 검증
22
26
  *
@@ -29,9 +33,10 @@ export declare function normalizeFilterQuery<TEntity = Record<string, unknown>>(
29
33
  * @example
30
34
  * validateSonamuFilters({ status: "active", id: { gte: 1 } }, ProjectEntity);
31
35
  */
32
- export declare function validateSonamuFilters<TEntity = Record<string, unknown>>(filters: FilterQuery<TEntity> | undefined, entity: Entity): void;
36
+ export declare function validateSonamuFilters<TEntity = DynamicFilterEntity>(filters: FilterQuery<TEntity> | undefined, entity: Entity): void;
33
37
  /**
34
38
  * Enum 값 목록 추출 helper
35
39
  */
36
40
  export declare function getEnumValues(entity: Entity, enumId: string): string[] | undefined;
41
+ export {};
37
42
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/filter/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAOhE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpE,SAAS,EAAE,OAAO,GACjB,WAAW,CAAC,OAAO,CAAC,CA2BtB;AA4CD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrE,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,SAAS,EACzC,MAAM,EAAE,MAAM,GACb,IAAI,CA8EN;AAgBD;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAKlF"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/filter/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAI/C,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAEhE,KAAK,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,kBAAkB,EAAE,CAAC;AACzF,KAAK,mBAAmB,GAAG;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAA;CAAE,CAAC;AAQnE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,GAAG,mBAAmB,EAAE,KAAK,GAAG,KAAK,EAC/E,SAAS,EAAE,KAAK,GACf,WAAW,CAAC,OAAO,CAAC,CA6BtB;AA4CD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,GAAG,mBAAmB,EACjE,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,SAAS,EACzC,MAAM,EAAE,MAAM,GACb,IAAI,CAiFN;AAgBD;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAKlF"}
@@ -1,4 +1,5 @@
1
1
  import { __esmMin } from "../_virtual/_rolldown/runtime.js";
2
+ import { init_runtime_value, isObjectValue, isStringValue } from "../utils/runtime-value.js";
2
3
  import { init_types, isEnumProp } from "../types/types.js";
3
4
  import { init_types as init_types$1, operatorsByPropType } from "./types.js";
4
5
  //#region src/filter/utils.ts
@@ -19,16 +20,16 @@ import { init_types as init_types$1, operatorsByPropType } from "./types.js";
19
20
  * @returns 타입이 변환된 FilterQuery 객체
20
21
  */
21
22
  function normalizeFilterQuery(rawFilter) {
22
- if (!rawFilter || typeof rawFilter !== "object") return {};
23
+ if (!rawFilter || !isObjectValue(rawFilter)) return {};
23
24
  const normalized = {};
24
25
  for (const [field, condition] of Object.entries(rawFilter)) {
25
26
  if (condition === void 0 || condition === null) continue;
26
- if (typeof condition !== "object" || Array.isArray(condition)) {
27
+ if (!isObjectValue(condition) || Array.isArray(condition)) {
27
28
  normalized[field] = convertType(condition);
28
29
  continue;
29
30
  }
30
31
  const operators = {};
31
- for (const [operator, value] of Object.entries(condition)) operators[operator] = convertType(value);
32
+ for (const [operator, value] of Object.entries(condition)) Object.assign(operators, { [operator]: convertType(value) });
32
33
  normalized[field] = operators;
33
34
  }
34
35
  return normalized;
@@ -45,7 +46,7 @@ function normalizeFilterQuery(rawFilter) {
45
46
  */
46
47
  function convertType(value) {
47
48
  if (Array.isArray(value)) return value.map(convertType);
48
- if (typeof value !== "string") return value;
49
+ if (!isStringValue(value)) return value;
49
50
  if (/^-?\d+(\.\d+)?$/.test(value)) return Number(value);
50
51
  if (value === "true") return true;
51
52
  if (value === "false") return false;
@@ -75,7 +76,7 @@ function validateSonamuFilters(filters, entity) {
75
76
  throw new Error(`필드 '${field}'는 필터링할 수 없습니다. (필터 가능한 필드: ${availableFields})`);
76
77
  }
77
78
  const allowedOperators = operatorsByPropType[prop.type] ?? ["eq"];
78
- if (typeof condition !== "object" || Array.isArray(condition)) {
79
+ if (!isObjectValue(condition) || Array.isArray(condition)) {
79
80
  if (isEnumProp(prop)) {
80
81
  const enumValues = getEnumValues(entity, prop.id);
81
82
  if (enumValues) validateEnumValue(field, condition, enumValues);
@@ -116,10 +117,11 @@ function getEnumValues(entity, enumId) {
116
117
  }
117
118
  var init_utils = __esmMin((() => {
118
119
  init_types();
120
+ init_runtime_value();
119
121
  init_types$1();
120
122
  }));
121
123
  //#endregion
122
124
  init_utils();
123
125
  export { getEnumValues, init_utils, normalizeFilterQuery, validateSonamuFilters };
124
126
 
125
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZpbHRlci91dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIEVudGl0eSB9IGZyb20gXCIuLi9lbnRpdHkvZW50aXR5XCI7XG5pbXBvcnQgeyBpc0VudW1Qcm9wIH0gZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgeyBvcGVyYXRvcnNCeVByb3BUeXBlIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IHR5cGUgRmlsdGVyT3BlcmF0b3IsIHR5cGUgRmlsdGVyUXVlcnkgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFF1ZXJ5IE5vcm1hbGl6YXRpb25cbi8vIFVSTCDsv7zrpqwg7Iqk7Yq466eB7Jy866GcIOyghOuLrOuQnCDrrLjsnpDsl7TsnYQg7KCB7KCI7ZWcIO2DgOyeheycvOuhnCDrs4DtmZhcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEZhc3RpZnnqsIAg7YyM7Iux7ZWcIHNvbmFtdUZpbHRlciDqsJ3ssrTrpbwg7KCV6rec7ZmUXG4gKiDrrLjsnpDsl7Qg6rCS7J2EIOyggeygiO2VnCDtg4DsnoUo7Iir7J6QLCDrtojrprAp7Jy866GcIOuzgO2ZmFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBVUkw6ID9zb25hbXVGaWx0ZXJbc3RhdHVzXT1oaWRkZW4mc29uYW11RmlsdGVyW2J1ZGdldF1bZ3RdPTEwMDAwXG4gKiAvLyBGYXN0aWZ5IO2MjOyLsSDqsrDqs7w6XG4gKiBjb25zdCByYXdGaWx0ZXIgPSB7IHN0YXR1czogXCJoaWRkZW5cIiwgYnVkZ2V0OiB7IGd0OiBcIjEwMDAwXCIgfSB9O1xuICpcbiAqIC8vIOygleq3nO2ZlDpcbiAqIGNvbnN0IG5vcm1hbGl6ZWQgPSBub3JtYWxpemVGaWx0ZXJRdWVyeShyYXdGaWx0ZXIpO1xuICogLy8g4oaSIHsgc3RhdHVzOiBcImhpZGRlblwiLCBidWRnZXQ6IHsgZ3Q6IDEwMDAwIH0gfVxuICpcbiAqIEBwYXJhbSByYXdGaWx0ZXIgRmFzdGlmeeqwgCDtjIzsi7HtlZwg7JuQ67O4IHNvbmFtdUZpbHRlciDqsJ3ssrRcbiAqIEByZXR1cm5zIO2DgOyeheydtCDrs4DtmZjrkJwgRmlsdGVyUXVlcnkg6rCd7LK0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVGaWx0ZXJRdWVyeTxURW50aXR5ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4+KFxuICByYXdGaWx0ZXI6IHVua25vd24sXG4pOiBGaWx0ZXJRdWVyeTxURW50aXR5PiB7XG4gIGlmICghcmF3RmlsdGVyIHx8IHR5cGVvZiByYXdGaWx0ZXIgIT09IFwib2JqZWN0XCIpIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBjb25zdCBub3JtYWxpemVkOiBGaWx0ZXJRdWVyeTxURW50aXR5PiA9IHt9O1xuXG4gIGZvciAoY29uc3QgW2ZpZWxkLCBjb25kaXRpb25dIG9mIE9iamVjdC5lbnRyaWVzKHJhd0ZpbHRlcikpIHtcbiAgICBpZiAoY29uZGl0aW9uID09PSB1bmRlZmluZWQgfHwgY29uZGl0aW9uID09PSBudWxsKSBjb250aW51ZTtcblxuICAgIC8vIOyngeygkSDqsJIgKGVx7JmAIOuPmeydvClcbiAgICBpZiAodHlwZW9mIGNvbmRpdGlvbiAhPT0gXCJvYmplY3RcIiB8fCBBcnJheS5pc0FycmF5KGNvbmRpdGlvbikpIHtcbiAgICAgIG5vcm1hbGl6ZWRbZmllbGQgYXMga2V5b2YgVEVudGl0eV0gPSBjb252ZXJ0VHlwZShcbiAgICAgICAgY29uZGl0aW9uLFxuICAgICAgKSBhcyBGaWx0ZXJRdWVyeTxURW50aXR5PltrZXlvZiBURW50aXR5XTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIC8vIOyXsOyCsOyekCDqsJ3ssrRcbiAgICBjb25zdCBvcGVyYXRvcnM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG4gICAgZm9yIChjb25zdCBbb3BlcmF0b3IsIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhjb25kaXRpb24pKSB7XG4gICAgICBvcGVyYXRvcnNbb3BlcmF0b3JdID0gY29udmVydFR5cGUodmFsdWUpO1xuICAgIH1cbiAgICBub3JtYWxpemVkW2ZpZWxkIGFzIGtleW9mIFRFbnRpdHldID0gb3BlcmF0b3JzIGFzIEZpbHRlclF1ZXJ5PFRFbnRpdHk+W2tleW9mIFRFbnRpdHldO1xuICB9XG5cbiAgcmV0dXJuIG5vcm1hbGl6ZWQ7XG59XG5cbi8qKlxuICog6rCS7J2EIOyggeygiO2VnCDtg4DsnoXsnLzroZwg67OA7ZmYXG4gKiDrrLjsnpDsl7Qg4oaSIOyIq+yekCwg67aI66awLCBOVUxMIOuTsVxuICpcbiAqIEBleGFtcGxlXG4gKiBjb252ZXJ0VHlwZShcIjEyM1wiKSDihpIgMTIzXG4gKiBjb252ZXJ0VHlwZShcInRydWVcIikg4oaSIHRydWVcbiAqIGNvbnZlcnRUeXBlKFwiaGVsbG9cIikg4oaSIFwiaGVsbG9cIlxuICogY29udmVydFR5cGUoW1wiMVwiLCBcIjJcIiwgXCIzXCJdKSDihpIgWzEsIDIsIDNdXG4gKi9cbmZ1bmN0aW9uIGNvbnZlcnRUeXBlKHZhbHVlOiB1bmtub3duKTogdW5rbm93biB7XG4gIC8vIOuwsOyXtFxuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUubWFwKGNvbnZlcnRUeXBlKTtcbiAgfVxuXG4gIC8vIOydtOuvuCDrs4DtmZjrkJwg7YOA7J6FXG4gIGlmICh0eXBlb2YgdmFsdWUgIT09IFwic3RyaW5nXCIpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICAvLyDsiKvsnpBcbiAgaWYgKC9eLT9cXGQrKFxcLlxcZCspPyQvLnRlc3QodmFsdWUpKSB7XG4gICAgcmV0dXJuIE51bWJlcih2YWx1ZSk7XG4gIH1cblxuICAvLyDrtojrprBcbiAgaWYgKHZhbHVlID09PSBcInRydWVcIikgcmV0dXJuIHRydWU7XG4gIGlmICh2YWx1ZSA9PT0gXCJmYWxzZVwiKSByZXR1cm4gZmFsc2U7XG5cbiAgLy8gTlVMTFxuICBpZiAodmFsdWUgPT09IFwibnVsbFwiKSByZXR1cm4gbnVsbDtcblxuICAvLyDrrLjsnpDsl7Qg6re464yA66GcXG4gIHJldHVybiB2YWx1ZTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBWYWxpZGF0aW9uICjqsoDspp0pXG4vLyDrqZTtg4DrjbDsnbTthLAg6riw67CY7Jy866GcIO2VhO2EsCDsv7zrpqzsnZgg7Jyg7Zqo7ISxIOqygOymnVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogc29uYW11RmlsdGVy66W8IEVudGl0eSDquLDrsJjsnLzroZwg6rKA7KadXG4gKlxuICog7ZWE7YSw66eBIOu2iOqwgOuKpe2VnCDtlYTrk5wsIOyngOybkO2VmOyngCDslYrripQg7Jew7IKw7J6QLCDsnpjrqrvrkJwgZW51bSDqsJIg65Ox7J2EIOyytO2BrFxuICpcbiAqIEBwYXJhbSBmaWx0ZXJzIOqygOymne2VoCDtlYTthLAg7L+866asXG4gKiBAcGFyYW0gZW50aXR5IEVudGl0eSDqsJ3ssrRcbiAqIEB0aHJvd3Mge0Vycm9yfSDqsoDspp0g7Iuk7YyoIOyLnCDsg4HshLjtlZwg7JeQ65+sIOuplOyLnOyngOyZgCDtlajqu5gg7JiI7Jm4IOuwnOyDnVxuICpcbiAqIEBleGFtcGxlXG4gKiB2YWxpZGF0ZVNvbmFtdUZpbHRlcnMoeyBzdGF0dXM6IFwiYWN0aXZlXCIsIGlkOiB7IGd0ZTogMSB9IH0sIFByb2plY3RFbnRpdHkpO1xuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTb25hbXVGaWx0ZXJzPFRFbnRpdHkgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oXG4gIGZpbHRlcnM6IEZpbHRlclF1ZXJ5PFRFbnRpdHk+IHwgdW5kZWZpbmVkLFxuICBlbnRpdHk6IEVudGl0eSxcbik6IHZvaWQge1xuICBpZiAoIWZpbHRlcnMpIHJldHVybjtcblxuICAvLyDtlYTthLAg6rCA64ql7ZWcIO2VhOuTnOuTpOydhCBNYXDsnLzroZwg66eM65Ok7Ja07IScIOu5oOuluCDsobDtmoxcbiAgY29uc3QgZmlsdGVyYWJsZVByb3BzID0gbmV3IE1hcChlbnRpdHkuZ2V0RmlsdGVyYWJsZVByb3BzKCkubWFwKChwcm9wKSA9PiBbcHJvcC5uYW1lLCBwcm9wXSkpO1xuXG4gIGZvciAoY29uc3QgW2ZpZWxkLCBjb25kaXRpb25dIG9mIE9iamVjdC5lbnRyaWVzKGZpbHRlcnMpKSB7XG4gICAgaWYgKGNvbmRpdGlvbiA9PT0gdW5kZWZpbmVkIHx8IGNvbmRpdGlvbiA9PT0gbnVsbCkgY29udGludWU7XG5cbiAgICAvLyAxLiDtlYTrk5zqsIAg7ZWE7YSw66eBIOqwgOuKpe2VnOyngCDqsoDspp1cbiAgICBjb25zdCBwcm9wID0gZmlsdGVyYWJsZVByb3BzLmdldChmaWVsZCk7XG4gICAgaWYgKCFwcm9wKSB7XG4gICAgICBjb25zdCBhdmFpbGFibGVGaWVsZHMgPSBBcnJheS5mcm9tKGZpbHRlcmFibGVQcm9wcy5rZXlzKCkpLmpvaW4oXCIsIFwiKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYO2VhOuTnCAnJHtmaWVsZH0n64qUIO2VhO2EsOunge2VoCDsiJgg7JeG7Iq164uI64ukLiAo7ZWE7YSwIOqwgOuKpe2VnCDtlYTrk5w6ICR7YXZhaWxhYmxlRmllbGRzfSlgLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyDtlbTri7kgcHJvcCDtg4DsnoXsl5Ag7ZeI7Jqp65CY64qUIOyXsOyCsOyekCDrqqnroZ1cbiAgICBjb25zdCBhbGxvd2VkT3BlcmF0b3JzID0gKG9wZXJhdG9yc0J5UHJvcFR5cGVbXG4gICAgICBwcm9wLnR5cGUgYXMga2V5b2YgdHlwZW9mIG9wZXJhdG9yc0J5UHJvcFR5cGVcbiAgICBdID8/IFtcImVxXCJdKSBhcyByZWFkb25seSBGaWx0ZXJPcGVyYXRvcltdO1xuXG4gICAgLy8g7KeB7KCRIOqwkuyduCDqsr3smrAgKGVx7JmAIOuPmeydvClcbiAgICBpZiAodHlwZW9mIGNvbmRpdGlvbiAhPT0gXCJvYmplY3RcIiB8fCBBcnJheS5pc0FycmF5KGNvbmRpdGlvbikpIHtcbiAgICAgIC8vIGVudW0g7YOA7J6F7J2066m0IOqwkiDqsoDspp1cbiAgICAgIGlmIChpc0VudW1Qcm9wKHByb3ApKSB7XG4gICAgICAgIGNvbnN0IGVudW1WYWx1ZXMgPSBnZXRFbnVtVmFsdWVzKGVudGl0eSwgcHJvcC5pZCk7XG4gICAgICAgIGlmIChlbnVtVmFsdWVzKSB7XG4gICAgICAgICAgdmFsaWRhdGVFbnVtVmFsdWUoZmllbGQsIGNvbmRpdGlvbiwgZW51bVZhbHVlcyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIC8vIDIuIOyXsOyCsOyekCDqsJ3ssrTsnbgg6rK97JqwXG4gICAgZm9yIChjb25zdCBbb3BlcmF0b3IsIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhjb25kaXRpb24pKSB7XG4gICAgICBjb25zdCBvcCA9IG9wZXJhdG9yIGFzIEZpbHRlck9wZXJhdG9yO1xuXG4gICAgICAvLyDsl7DsgrDsnpDqsIAg7ZW064u5IO2DgOyeheyXkOyEnCDsp4Dsm5DrkJjripTsp4Ag6rKA7KadXG4gICAgICBpZiAoIWFsbG93ZWRPcGVyYXRvcnMuaW5jbHVkZXMob3ApKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBg7ZWE65OcICcke2ZpZWxkfSco7YOA7J6FOiAke3Byb3AudHlwZX0p64qUICcke29wZXJhdG9yfScg7Jew7IKw7J6Q66W8IOyngOybkO2VmOyngCDslYrsirXri4jri6QuYCArXG4gICAgICAgICAgICBgKOyngOybkOuQmOuKlCDsl7DsgrDsnpA6ICR7YWxsb3dlZE9wZXJhdG9ycy5qb2luKFwiLCBcIil9KWAsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGlmIChvcCA9PT0gXCJpc051bGxcIiB8fCBvcCA9PT0gXCJpc05vdE51bGxcIikge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKChvcCA9PT0gXCJpblwiIHx8IG9wID09PSBcIm5vdEluXCIpICYmICFBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYO2VhOuTnCAnJHtmaWVsZH0n7J2YICcke29wZXJhdG9yfScg7Jew7IKw7J6Q64qUIOuwsOyXtCDqsJLsnYQg7JqU6rWs7ZWp64uI64ukLmApO1xuICAgICAgfVxuXG4gICAgICBpZiAob3AgPT09IFwiYmV0d2VlblwiKSB7XG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkgfHwgdmFsdWUubGVuZ3RoICE9PSAyKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGDtlYTrk5wgJyR7ZmllbGR9J+ydmCAnYmV0d2Vlbicg7Jew7IKw7J6Q64qUIOq4uOydtCAy7J2YIOuwsOyXtCDqsJLsnYQg7JqU6rWs7ZWp64uI64ukLmApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIGVudW0g7YOA7J6F7J2066m0IOqwkiDqsoDspp1cbiAgICAgIGlmIChpc0VudW1Qcm9wKHByb3ApKSB7XG4gICAgICAgIGNvbnN0IGVudW1WYWx1ZXMgPSBnZXRFbnVtVmFsdWVzKGVudGl0eSwgcHJvcC5pZCk7XG4gICAgICAgIGlmIChlbnVtVmFsdWVzKSB7XG4gICAgICAgICAgaWYgKG9wID09PSBcImluXCIgfHwgb3AgPT09IFwibm90SW5cIikge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICAgIGZvciAoY29uc3QgdiBvZiB2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHZhbGlkYXRlRW51bVZhbHVlKGZpZWxkLCB2LCBlbnVtVmFsdWVzKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YWxpZGF0ZUVudW1WYWx1ZShmaWVsZCwgdmFsdWUsIGVudW1WYWx1ZXMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEVudW0g6rCSIOqygOymnSBoZWxwZXJcbiAqL1xuZnVuY3Rpb24gdmFsaWRhdGVFbnVtVmFsdWUoZmllbGQ6IHN0cmluZywgdmFsdWU6IHVua25vd24sIGVudW1WYWx1ZXM6IHN0cmluZ1tdKTogdm9pZCB7XG4gIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmICghZW51bVZhbHVlcy5pbmNsdWRlcyhTdHJpbmcodmFsdWUpKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGDtlYTrk5wgJyR7ZmllbGR9J+ydmCDqsJIgJyR7dmFsdWV9J+uKlCDsnKDtmqjtlZjsp4Ag7JWK7Iq164uI64ukLiAo7ZeI7Jqp65CY64qUIOqwkjogJHtlbnVtVmFsdWVzLmpvaW4oXCIsIFwiKX0pYCxcbiAgICApO1xuICB9XG59XG5cbi8qKlxuICogRW51bSDqsJIg66qp66GdIOy2lOy2nCBoZWxwZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVudW1WYWx1ZXMoZW50aXR5OiBFbnRpdHksIGVudW1JZDogc3RyaW5nKTogc3RyaW5nW10gfCB1bmRlZmluZWQge1xuICBjb25zdCBlbnVtRGVmID0gZW50aXR5LmVudW1MYWJlbHM/LltlbnVtSWRdO1xuICBpZiAoIWVudW1EZWYpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgcmV0dXJuIE9iamVjdC5rZXlzKGVudW1EZWYpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTBCQSxTQUFn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
127
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZpbHRlci91dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIEVudGl0eSB9IGZyb20gXCIuLi9lbnRpdHkvZW50aXR5XCI7XG5pbXBvcnQgeyBpc0VudW1Qcm9wIH0gZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgeyBpc09iamVjdFZhbHVlLCBpc1N0cmluZ1ZhbHVlIH0gZnJvbSBcIi4uL3V0aWxzL3J1bnRpbWUtdmFsdWVcIjtcbmltcG9ydCB7IG9wZXJhdG9yc0J5UHJvcFR5cGUgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgdHlwZSBGaWx0ZXJPcGVyYXRvciwgdHlwZSBGaWx0ZXJRdWVyeSB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbnR5cGUgRHluYW1pY0ZpbHRlclZhbHVlID0gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IERhdGUgfCBudWxsIHwgRHluYW1pY0ZpbHRlclZhbHVlW107XG50eXBlIER5bmFtaWNGaWx0ZXJFbnRpdHkgPSB7IFtmaWVsZDogc3RyaW5nXTogRHluYW1pY0ZpbHRlclZhbHVlIH07XG50eXBlIENvbnZlcnRlZEZpbHRlclZhbHVlPFZhbHVlPiA9IFZhbHVlIHwgbnVtYmVyIHwgYm9vbGVhbiB8IG51bGwgfCBDb252ZXJ0ZWRGaWx0ZXJWYWx1ZTxWYWx1ZT5bXTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBRdWVyeSBOb3JtYWxpemF0aW9uXG4vLyBVUkwg7L+866asIOyKpO2KuOungeycvOuhnCDsoITri6zrkJwg66y47J6Q7Je07J2EIOyggeygiO2VnCDtg4DsnoXsnLzroZwg67OA7ZmYXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBGYXN0aWZ56rCAIO2MjOyLse2VnCBzb25hbXVGaWx0ZXIg6rCd7LK066W8IOygleq3nO2ZlFxuICog66y47J6Q7Je0IOqwkuydhCDsoIHsoIjtlZwg7YOA7J6FKOyIq+yekCwg67aI66awKeycvOuhnCDrs4DtmZhcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gVVJMOiA/c29uYW11RmlsdGVyW3N0YXR1c109aGlkZGVuJnNvbmFtdUZpbHRlcltidWRnZXRdW2d0XT0xMDAwMFxuICogLy8gRmFzdGlmeSDtjIzsi7Eg6rKw6rO8OlxuICogY29uc3QgcmF3RmlsdGVyID0geyBzdGF0dXM6IFwiaGlkZGVuXCIsIGJ1ZGdldDogeyBndDogXCIxMDAwMFwiIH0gfTtcbiAqXG4gKiAvLyDsoJXqt5ztmZQ6XG4gKiBjb25zdCBub3JtYWxpemVkID0gbm9ybWFsaXplRmlsdGVyUXVlcnkocmF3RmlsdGVyKTtcbiAqIC8vIOKGkiB7IHN0YXR1czogXCJoaWRkZW5cIiwgYnVkZ2V0OiB7IGd0OiAxMDAwMCB9IH1cbiAqXG4gKiBAcGFyYW0gcmF3RmlsdGVyIEZhc3RpZnnqsIAg7YyM7Iux7ZWcIOybkOuzuCBzb25hbXVGaWx0ZXIg6rCd7LK0XG4gKiBAcmV0dXJucyDtg4DsnoXsnbQg67OA7ZmY65CcIEZpbHRlclF1ZXJ5IOqwneyytFxuICovXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplRmlsdGVyUXVlcnk8VEVudGl0eSA9IER5bmFtaWNGaWx0ZXJFbnRpdHksIFZhbHVlID0gbmV2ZXI+KFxuICByYXdGaWx0ZXI6IFZhbHVlLFxuKTogRmlsdGVyUXVlcnk8VEVudGl0eT4ge1xuICBpZiAoIXJhd0ZpbHRlciB8fCAhaXNPYmplY3RWYWx1ZShyYXdGaWx0ZXIpKSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgY29uc3Qgbm9ybWFsaXplZDogRmlsdGVyUXVlcnk8VEVudGl0eT4gPSB7fTtcblxuICBmb3IgKGNvbnN0IFtmaWVsZCwgY29uZGl0aW9uXSBvZiBPYmplY3QuZW50cmllcyhyYXdGaWx0ZXIpKSB7XG4gICAgaWYgKGNvbmRpdGlvbiA9PT0gdW5kZWZpbmVkIHx8IGNvbmRpdGlvbiA9PT0gbnVsbCkgY29udGludWU7XG5cbiAgICAvLyDsp4HsoJEg6rCSIChlceyZgCDrj5nsnbwpXG4gICAgaWYgKCFpc09iamVjdFZhbHVlKGNvbmRpdGlvbikgfHwgQXJyYXkuaXNBcnJheShjb25kaXRpb24pKSB7XG4gICAgICAvLyBTQUZFVFk6IOyEoO2WiSDrtoTquLDsmYAg7ZWo7IiYIOqzhOyVveydtCDsnbQg7YOA7J6F7J2EIOuztOyepe2VqeuLiOuLpC5cbiAgICAgIG5vcm1hbGl6ZWRbZmllbGQgYXMga2V5b2YgVEVudGl0eV0gPSBjb252ZXJ0VHlwZShcbiAgICAgICAgY29uZGl0aW9uLFxuICAgICAgKSBhcyBGaWx0ZXJRdWVyeTxURW50aXR5PltrZXlvZiBURW50aXR5XTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIC8vIOyXsOyCsOyekCDqsJ3ssrRcbiAgICBjb25zdCBvcGVyYXRvcnMgPSB7fTtcbiAgICBmb3IgKGNvbnN0IFtvcGVyYXRvciwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGNvbmRpdGlvbikpIHtcbiAgICAgIE9iamVjdC5hc3NpZ24ob3BlcmF0b3JzLCB7IFtvcGVyYXRvcl06IGNvbnZlcnRUeXBlKHZhbHVlKSB9KTtcbiAgICB9XG4gICAgLy8gU0FGRVRZOiDshKDtlokg67aE6riw7JmAIO2VqOyImCDqs4Tslb3snbQg7J20IO2DgOyeheydhCDrs7TsnqXtlanri4jri6QuXG4gICAgbm9ybWFsaXplZFtmaWVsZCBhcyBrZXlvZiBURW50aXR5XSA9IG9wZXJhdG9ycyBhcyBGaWx0ZXJRdWVyeTxURW50aXR5PltrZXlvZiBURW50aXR5XTtcbiAgfVxuXG4gIHJldHVybiBub3JtYWxpemVkO1xufVxuXG4vKipcbiAqIOqwkuydhCDsoIHsoIjtlZwg7YOA7J6F7Jy866GcIOuzgO2ZmFxuICog66y47J6Q7Je0IOKGkiDsiKvsnpAsIOu2iOumsCwgTlVMTCDrk7FcbiAqXG4gKiBAZXhhbXBsZVxuICogY29udmVydFR5cGUoXCIxMjNcIikg4oaSIDEyM1xuICogY29udmVydFR5cGUoXCJ0cnVlXCIpIOKGkiB0cnVlXG4gKiBjb252ZXJ0VHlwZShcImhlbGxvXCIpIOKGkiBcImhlbGxvXCJcbiAqIGNvbnZlcnRUeXBlKFtcIjFcIiwgXCIyXCIsIFwiM1wiXSkg4oaSIFsxLCAyLCAzXVxuICovXG5mdW5jdGlvbiBjb252ZXJ0VHlwZTxWYWx1ZT4odmFsdWU6IFZhbHVlKTogQ29udmVydGVkRmlsdGVyVmFsdWU8VmFsdWU+IHtcbiAgLy8g67Cw7Je0XG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZS5tYXAoY29udmVydFR5cGUpO1xuICB9XG5cbiAgLy8g7J2066+4IOuzgO2ZmOuQnCDtg4DsnoVcbiAgaWYgKCFpc1N0cmluZ1ZhbHVlKHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIC8vIOyIq+yekFxuICBpZiAoL14tP1xcZCsoXFwuXFxkKyk/JC8udGVzdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gTnVtYmVyKHZhbHVlKTtcbiAgfVxuXG4gIC8vIOu2iOumsFxuICBpZiAodmFsdWUgPT09IFwidHJ1ZVwiKSByZXR1cm4gdHJ1ZTtcbiAgaWYgKHZhbHVlID09PSBcImZhbHNlXCIpIHJldHVybiBmYWxzZTtcblxuICAvLyBOVUxMXG4gIGlmICh2YWx1ZSA9PT0gXCJudWxsXCIpIHJldHVybiBudWxsO1xuXG4gIC8vIOusuOyekOyXtCDqt7jrjIDroZxcbiAgcmV0dXJuIHZhbHVlO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFZhbGlkYXRpb24gKOqygOymnSlcbi8vIOuplO2DgOuNsOydtO2EsCDquLDrsJjsnLzroZwg7ZWE7YSwIOy/vOumrOydmCDsnKDtmqjshLEg6rKA7KadXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBzb25hbXVGaWx0ZXLrpbwgRW50aXR5IOq4sOuwmOycvOuhnCDqsoDspp1cbiAqXG4gKiDtlYTthLDrp4Eg67aI6rCA64ql7ZWcIO2VhOuTnCwg7KeA7JuQ7ZWY7KeAIOyViuuKlCDsl7DsgrDsnpAsIOyemOuqu+uQnCBlbnVtIOqwkiDrk7HsnYQg7LK07YGsXG4gKlxuICogQHBhcmFtIGZpbHRlcnMg6rKA7Kad7ZWgIO2VhO2EsCDsv7zrpqxcbiAqIEBwYXJhbSBlbnRpdHkgRW50aXR5IOqwneyytFxuICogQHRocm93cyB7RXJyb3J9IOqygOymnSDsi6TtjKgg7IucIOyDgeyEuO2VnCDsl5Drn6wg66mU7Iuc7KeA7JmAIO2VqOq7mCDsmIjsmbgg67Cc7IOdXG4gKlxuICogQGV4YW1wbGVcbiAqIHZhbGlkYXRlU29uYW11RmlsdGVycyh7IHN0YXR1czogXCJhY3RpdmVcIiwgaWQ6IHsgZ3RlOiAxIH0gfSwgUHJvamVjdEVudGl0eSk7XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVNvbmFtdUZpbHRlcnM8VEVudGl0eSA9IER5bmFtaWNGaWx0ZXJFbnRpdHk+KFxuICBmaWx0ZXJzOiBGaWx0ZXJRdWVyeTxURW50aXR5PiB8IHVuZGVmaW5lZCxcbiAgZW50aXR5OiBFbnRpdHksXG4pOiB2b2lkIHtcbiAgaWYgKCFmaWx0ZXJzKSByZXR1cm47XG5cbiAgLy8g7ZWE7YSwIOqwgOuKpe2VnCDtlYTrk5zrk6TsnYQgTWFw7Jy866GcIOunjOuTpOyWtOyEnCDruaDrpbgg7KGw7ZqMXG4gIGNvbnN0IGZpbHRlcmFibGVQcm9wcyA9IG5ldyBNYXAoZW50aXR5LmdldEZpbHRlcmFibGVQcm9wcygpLm1hcCgocHJvcCkgPT4gW3Byb3AubmFtZSwgcHJvcF0pKTtcblxuICBmb3IgKGNvbnN0IFtmaWVsZCwgY29uZGl0aW9uXSBvZiBPYmplY3QuZW50cmllcyhmaWx0ZXJzKSkge1xuICAgIGlmIChjb25kaXRpb24gPT09IHVuZGVmaW5lZCB8fCBjb25kaXRpb24gPT09IG51bGwpIGNvbnRpbnVlO1xuXG4gICAgLy8gMS4g7ZWE65Oc6rCAIO2VhO2EsOungSDqsIDriqXtlZzsp4Ag6rKA7KadXG4gICAgY29uc3QgcHJvcCA9IGZpbHRlcmFibGVQcm9wcy5nZXQoZmllbGQpO1xuICAgIGlmICghcHJvcCkge1xuICAgICAgY29uc3QgYXZhaWxhYmxlRmllbGRzID0gQXJyYXkuZnJvbShmaWx0ZXJhYmxlUHJvcHMua2V5cygpKS5qb2luKFwiLCBcIik7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGDtlYTrk5wgJyR7ZmllbGR9J+uKlCDtlYTthLDrp4HtlaAg7IiYIOyXhuyKteuLiOuLpC4gKO2VhO2EsCDqsIDriqXtlZwg7ZWE65OcOiAke2F2YWlsYWJsZUZpZWxkc30pYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8g7ZW064u5IHByb3Ag7YOA7J6F7JeQIO2XiOyaqeuQmOuKlCDsl7DsgrDsnpAg66qp66GdXG4gICAgLy8gU0FGRVRZOiDshKDtlokg67aE6riw7JmAIO2VqOyImCDqs4Tslb3snbQg7J20IO2DgOyeheydhCDrs7TsnqXtlanri4jri6QuXG4gICAgY29uc3QgYWxsb3dlZE9wZXJhdG9ycyA9IChvcGVyYXRvcnNCeVByb3BUeXBlW1xuICAgICAgLy8gU0FGRVRZOiDshKDtlokg67aE6riw7JmAIO2VqOyImCDqs4Tslb3snbQg7J20IO2DgOyeheydhCDrs7TsnqXtlanri4jri6QuXG4gICAgICBwcm9wLnR5cGUgYXMga2V5b2YgdHlwZW9mIG9wZXJhdG9yc0J5UHJvcFR5cGVcbiAgICBdID8/IFtcImVxXCJdKSBhcyByZWFkb25seSBGaWx0ZXJPcGVyYXRvcltdO1xuXG4gICAgLy8g7KeB7KCRIOqwkuyduCDqsr3smrAgKGVx7JmAIOuPmeydvClcbiAgICBpZiAoIWlzT2JqZWN0VmFsdWUoY29uZGl0aW9uKSB8fCBBcnJheS5pc0FycmF5KGNvbmRpdGlvbikpIHtcbiAgICAgIC8vIGVudW0g7YOA7J6F7J2066m0IOqwkiDqsoDspp1cbiAgICAgIGlmIChpc0VudW1Qcm9wKHByb3ApKSB7XG4gICAgICAgIGNvbnN0IGVudW1WYWx1ZXMgPSBnZXRFbnVtVmFsdWVzKGVudGl0eSwgcHJvcC5pZCk7XG4gICAgICAgIGlmIChlbnVtVmFsdWVzKSB7XG4gICAgICAgICAgdmFsaWRhdGVFbnVtVmFsdWUoZmllbGQsIGNvbmRpdGlvbiwgZW51bVZhbHVlcyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIC8vIDIuIOyXsOyCsOyekCDqsJ3ssrTsnbgg6rK97JqwXG4gICAgZm9yIChjb25zdCBbb3BlcmF0b3IsIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhjb25kaXRpb24pKSB7XG4gICAgICAvLyBTQUZFVFk6IOyEoO2WiSDrtoTquLDsmYAg7ZWo7IiYIOqzhOyVveydtCDsnbQg7YOA7J6F7J2EIOuztOyepe2VqeuLiOuLpC5cbiAgICAgIGNvbnN0IG9wID0gb3BlcmF0b3IgYXMgRmlsdGVyT3BlcmF0b3I7XG5cbiAgICAgIC8vIOyXsOyCsOyekOqwgCDtlbTri7kg7YOA7J6F7JeQ7IScIOyngOybkOuQmOuKlOyngCDqsoDspp1cbiAgICAgIGlmICghYWxsb3dlZE9wZXJhdG9ycy5pbmNsdWRlcyhvcCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGDtlYTrk5wgJyR7ZmllbGR9Jyjtg4DsnoU6ICR7cHJvcC50eXBlfSnripQgJyR7b3BlcmF0b3J9JyDsl7DsgrDsnpDrpbwg7KeA7JuQ7ZWY7KeAIOyViuyKteuLiOuLpC5gICtcbiAgICAgICAgICAgIGAo7KeA7JuQ65CY64qUIOyXsOyCsOyekDogJHthbGxvd2VkT3BlcmF0b3JzLmpvaW4oXCIsIFwiKX0pYCxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG9wID09PSBcImlzTnVsbFwiIHx8IG9wID09PSBcImlzTm90TnVsbFwiKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAoKG9wID09PSBcImluXCIgfHwgb3AgPT09IFwibm90SW5cIikgJiYgIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihg7ZWE65OcICcke2ZpZWxkfSfsnZggJyR7b3BlcmF0b3J9JyDsl7DsgrDsnpDripQg67Cw7Je0IOqwkuydhCDsmpTqtaztlanri4jri6QuYCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChvcCA9PT0gXCJiZXR3ZWVuXCIpIHtcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSB8fCB2YWx1ZS5sZW5ndGggIT09IDIpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYO2VhOuTnCAnJHtmaWVsZH0n7J2YICdiZXR3ZWVuJyDsl7DsgrDsnpDripQg6ri47J20IDLsnZgg67Cw7Je0IOqwkuydhCDsmpTqtaztlanri4jri6QuYCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gZW51bSDtg4DsnoXsnbTrqbQg6rCSIOqygOymnVxuICAgICAgaWYgKGlzRW51bVByb3AocHJvcCkpIHtcbiAgICAgICAgY29uc3QgZW51bVZhbHVlcyA9IGdldEVudW1WYWx1ZXMoZW50aXR5LCBwcm9wLmlkKTtcbiAgICAgICAgaWYgKGVudW1WYWx1ZXMpIHtcbiAgICAgICAgICBpZiAob3AgPT09IFwiaW5cIiB8fCBvcCA9PT0gXCJub3RJblwiKSB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgZm9yIChjb25zdCB2IG9mIHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdmFsaWRhdGVFbnVtVmFsdWUoZmllbGQsIHYsIGVudW1WYWx1ZXMpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhbGlkYXRlRW51bVZhbHVlKGZpZWxkLCB2YWx1ZSwgZW51bVZhbHVlcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogRW51bSDqsJIg6rKA7KadIGhlbHBlclxuICovXG5mdW5jdGlvbiB2YWxpZGF0ZUVudW1WYWx1ZTxWYWx1ZT4oZmllbGQ6IHN0cmluZywgdmFsdWU6IFZhbHVlLCBlbnVtVmFsdWVzOiBzdHJpbmdbXSk6IHZvaWQge1xuICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybjtcbiAgfVxuICBpZiAoIWVudW1WYWx1ZXMuaW5jbHVkZXMoU3RyaW5nKHZhbHVlKSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBg7ZWE65OcICcke2ZpZWxkfSfsnZgg6rCSICcke3ZhbHVlfSfripQg7Jyg7Zqo7ZWY7KeAIOyViuyKteuLiOuLpC4gKO2XiOyaqeuQmOuKlCDqsJI6ICR7ZW51bVZhbHVlcy5qb2luKFwiLCBcIil9KWAsXG4gICAgKTtcbiAgfVxufVxuXG4vKipcbiAqIEVudW0g6rCSIOuqqeuhnSDstpTstpwgaGVscGVyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbnVtVmFsdWVzKGVudGl0eTogRW50aXR5LCBlbnVtSWQ6IHN0cmluZyk6IHN0cmluZ1tdIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgZW51bURlZiA9IGVudGl0eS5lbnVtTGFiZWxzPy5bZW51bUlkXTtcbiAgaWYgKCFlbnVtRGVmKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gIHJldHVybiBPYmplY3Qua2V5cyhlbnVtRGVmKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBK0JBLFNBQWdCLHFCQUNkLFdBQ3NCO0NBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxTQUFTLEdBQ3hDLE9BQU8sQ0FBQztDQUdWLE1BQU0sYUFBbUMsQ0FBQztDQUUxQyxLQUFLLE1BQU0sQ0FBQyxPQUFPLGNBQWMsT0FBTyxRQUFRLFNBQVMsR0FBRztFQUMxRCxJ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
package/dist/index.d.ts CHANGED
@@ -2,6 +2,9 @@ export * from "./api/base-frame";
2
2
  export * from "./api/config";
3
3
  export type * from "./api/context";
4
4
  export * from "./api/decorators";
5
+ export { fastifyCaster } from "./api/caster";
6
+ export { getZodObjectFromApi } from "./api/code-converters";
7
+ export * from "./api/http-validator";
5
8
  export * from "./api/sonamu";
6
9
  export * from "./auth";
7
10
  export { cache } from "./cache/decorator";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,mBAAmB,eAAe,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,YAAY,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC3D,cAAc,+BAA+B,CAAC;AAC9C,mBAAmB,uBAAuB,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,mBAAmB,kBAAkB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,UAAU,CAAC;AACzB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sCAAsC,CAAC;AACrD,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,mBAAmB,eAAe,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,YAAY,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC3D,cAAc,+BAA+B,CAAC;AAC9C,mBAAmB,uBAAuB,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,mBAAmB,kBAAkB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,UAAU,CAAC;AACzB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sCAAsC,CAAC;AACrD,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -12,17 +12,20 @@ import { InMemoryWebSocketPresenceStore, init_ws_presence_store } from "./stream
12
12
  import { WebSocketRegistry, init_ws_registry } from "./stream/ws-registry.js";
13
13
  import { WebSocketRuntime, createWebSocketRuntime, init_ws } from "./stream/ws.js";
14
14
  import { init_controller, isDaemonServer, isDevelopment, isHotReloadServer, isInDocker, isLocal, isProduction, isRemote, isStaging, isTest } from "./utils/controller.js";
15
- import { createWebSocketReplyStub, resolveWebSocketCloseDescriptor, resolveWebSocketPluginOptions } from "./api/websocket-helpers.js";
16
- import { Sonamu, init_sonamu } from "./api/sonamu.js";
15
+ import { defineConfig, init_config, loadConfig, normalizeZodCompilerPolicy } from "./api/config.js";
16
+ import { fastifyCaster, init_caster } from "./api/caster.js";
17
17
  import { ApiParamType, BUILT_IN_TYPE_IDS, EntityJsonSchema, GenerateOptions, KnownOpclassValues, NormalPropSchema, PathAndCode, RelationPropSchema, RenderingNode, SonamuFileArraySchema, SonamuFileSchema, SonamuQueryMode, SonamuSemanticParams, TemplateKey, TemplateOptions, ZodStringFormat, getDescription, getEnumDefValues, getSubsetFields, init_types, isBelongsToOneRelationProp, isBigIntegerArrayProp, isBigIntegerProp, isBigIntegerSingleProp, isBooleanArrayProp, isBooleanProp, isBooleanSingleProp, isCustomJoinClause, isDateArrayProp, isDateProp, isDateSingleProp, isEnumArrayProp, isEnumDefWithCone, isEnumProp, isEnumSingleProp, isHasManyRelationProp, isIntegerArrayProp, isIntegerProp, isIntegerSingleProp, isInternalSubsetField, isJsonProp, isKnexError, isManyToManyRelationProp, isNumberArrayProp, isNumberProp, isNumberSingleProp, isNumericArrayProp, isNumericProp, isNumericSingleProp, isOneToOneRelationProp, isRelationProp, isSearchTextJsonSourceZodType, isSearchTextProp, isStringArrayProp, isStringProp, isStringSingleProp, isSubsetDefWithCone, isTsVectorProp, isUuidArrayProp, isUuidProp, isUuidSingleProp, isVectorArrayProp, isVectorProp, isVectorSingleProp, isVirtualCodeProp, isVirtualProp, isVirtualQueryProp, normalizeSubsetField, zArrayable } from "./types/types.js";
18
+ import { getZodObjectFromApi, init_code_converters } from "./api/code-converters.js";
19
+ import { assertHttpValidatorRegistry, createHttpValidator, defaultHttpValidatorDependencies, getHttpValidatorFingerprint, getHttpValidatorRouteIdentifier, getHttpValidatorRouteKey, init_http_validator } from "./api/http-validator.js";
20
+ import { createWebSocketReplyStub, resolveWebSocketCloseDescriptor, resolveWebSocketPluginOptions } from "./api/websocket-helpers.js";
21
+ import { Sonamu, defaultSonamuHttpValidatorDependencies, init_sonamu } from "./api/sonamu.js";
18
22
  import { EntityManager, init_entity_manager } from "./entity/entity-manager.js";
19
23
  import { Naite, NaiteClass, NaiteQuery, init_naite } from "./naite/naite.js";
20
24
  import { FUZZY_OPERATORS, init_puri_types } from "./database/puri.types.js";
21
- import { JoinClauseGroup, Puri, ResolvedPuri, WhereGroup, init_puri } from "./database/puri.js";
25
+ import { JoinClauseGroup, Puri, ResolvedPuri, WhereGroup, init_puri, parseFuzzyOperator } from "./database/puri.js";
22
26
  import { PuriTransactionWrapper, PuriWrapper, init_puri_wrapper } from "./database/puri-wrapper.js";
23
27
  import { UpsertBuilder, init_upsert_builder, isRefField } from "./database/upsert-builder.js";
24
28
  import { BaseFrameClass, init_base_frame } from "./api/base-frame.js";
25
- import { defineConfig, init_config, loadConfig } from "./api/config.js";
26
29
  import { defaultOperatorByPropType, init_types as init_types$1, operatorsByPropType } from "./filter/types.js";
27
30
  import { getEnumValues, init_utils as init_utils$1, normalizeFilterQuery, validateSonamuFilters } from "./filter/utils.js";
28
31
  import { BaseModel, BaseModelClass, init_base_model } from "./database/base-model.js";
@@ -64,6 +67,9 @@ import { withProp, withProps } from "./utils/type-utils.js";
64
67
  init_base_frame();
65
68
  init_config();
66
69
  init_decorators();
70
+ init_caster();
71
+ init_code_converters();
72
+ init_http_validator();
67
73
  init_sonamu();
68
74
  init_better_auth_entities(), init_knex_adapter();
69
75
  init_decorator();
@@ -98,6 +104,6 @@ init_controller();
98
104
  init_model();
99
105
  init_utils();
100
106
  //#endregion
101
- export { ADMIN_SCHEMA, ANONYMOUS_SCHEMA, API_KEY_SCHEMA, AlreadyProcessedException, ApiParamType, BASE_FIELD_MAPPINGS, BUILT_IN_TYPE_IDS, BadRequestException, BaseFrameClass, BaseModel, BaseModelClass, CachePresets, CompressPresets, DB, DBClass, DuplicateRowException, Entity, EntityJsonSchema, EntityManager, FUZZY_OPERATORS, FixtureManager, FixtureManagerClass, GenerateOptions, InMemoryWebSocketPresenceStore, InternalServerErrorException, JWT_SCHEMA, JoinClauseGroup, KnownOpclassValues, MigrationTargetExecutionError, Migrator, Naite, NaiteClass, NaiteQuery, NaiteReporter, NoopWebSocketClusterBus, NormalPropSchema, NotFoundException, ORGANIZATION_SCHEMA, PASSKEY_SCHEMA, PHONE_NUMBER_SCHEMA, PathAndCode, PostgreSQLSchemaReader, Puri, PuriTransactionWrapper, PuriWrapper, RelationPropSchema, RenderingNode, ResolvedPuri, SSO_SCHEMA, ServiceUnavailableException, SoException, Sonamu, SonamuFileArraySchema, SonamuFileSchema, SonamuQueryMode, SonamuSemanticParams, TWO_FACTOR_SCHEMA, TargetNotFoundException, Template, TemplateKey, TemplateManager, TemplateManagerClass, TemplateOptions, USERNAME_SCHEMA, UnauthorizedException, UpsertBuilder, WebSocketAudience, WebSocketRegistry, WebSocketRuntime, WhereGroup, ZodStringFormat, admin, anonymous, api, apiKey, applyCacheHeaders, asArray, assertDefined, assertExists, assertNotNull, betterAuthV1, buildCacheControl, cache, convertFastifyHeadersToStandard, createMockSSEFactory, createSSEFactory, createWebSocketReplyStub, createWebSocketRuntime, defaultOperatorByPropType, defineConfig, differenceWith, exhaustive, findApiRootPath, findAppRootPath, generateAlterCode, generateBetterAuthEntities, generateCreateCode, getAlterIndexesTo, getDescription, getEnumDefValues, getEnumValues, getMigrationSetFromEntity, getSubsetFields, ingestAuditEvent, intersectionBy, isBelongsToOneRelationProp, isBigIntegerArrayProp, isBigIntegerProp, isBigIntegerSingleProp, isBooleanArrayProp, isBooleanProp, isBooleanSingleProp, isCompressDisabled, isCustomJoinClause, isDaemonServer, isDateArrayProp, isDateProp, isDateSingleProp, isDevelopment, isEnumArrayProp, isEnumDefWithCone, isEnumProp, isEnumSingleProp, isHasManyRelationProp, isHotReloadServer, isInDocker, isIntegerArrayProp, isIntegerProp, isIntegerSingleProp, isInternalSubsetField, isJsonProp, isKnexError, isLocal, isManyToManyRelationProp, isNumberArrayProp, isNumberProp, isNumberSingleProp, isNumericArrayProp, isNumericProp, isNumericSingleProp, isOneToOneRelationProp, isPlainObject, isProduction, isRefField, isRelationProp, isRemote, isSearchTextJsonSourceZodType, isSearchTextProp, isSoException, isStaging, isStringArrayProp, isStringProp, isStringSingleProp, isSubsetDefWithCone, isTest, isTsVectorProp, isUuidArrayProp, isUuidProp, isUuidSingleProp, isVectorArrayProp, isVectorProp, isVectorSingleProp, isVirtualCodeProp, isVirtualProp, isVirtualQueryProp, jwt, loadConfig, merge, nonNullable, normalizeFilterQuery, normalizeSubsetField, objToMap, operatorsByPropType, organization, passkey, phoneNumber, registeredApis, resolveWebSocketCloseDescriptor, resolveWebSocketPluginOptions, setMigrationIndexDefaults, setupErrorHandler, sonamuAuditLog, sonamuKnexAdapter, sso, stream, toFastifyCompressOption, transactional, twoFactor, upload, username, validateSonamuFilters, websocket, withProp, withProps, workflow, zArrayable };
107
+ export { ADMIN_SCHEMA, ANONYMOUS_SCHEMA, API_KEY_SCHEMA, AlreadyProcessedException, ApiParamType, BASE_FIELD_MAPPINGS, BUILT_IN_TYPE_IDS, BadRequestException, BaseFrameClass, BaseModel, BaseModelClass, CachePresets, CompressPresets, DB, DBClass, DuplicateRowException, Entity, EntityJsonSchema, EntityManager, FUZZY_OPERATORS, FixtureManager, FixtureManagerClass, GenerateOptions, InMemoryWebSocketPresenceStore, InternalServerErrorException, JWT_SCHEMA, JoinClauseGroup, KnownOpclassValues, MigrationTargetExecutionError, Migrator, Naite, NaiteClass, NaiteQuery, NaiteReporter, NoopWebSocketClusterBus, NormalPropSchema, NotFoundException, ORGANIZATION_SCHEMA, PASSKEY_SCHEMA, PHONE_NUMBER_SCHEMA, PathAndCode, PostgreSQLSchemaReader, Puri, PuriTransactionWrapper, PuriWrapper, RelationPropSchema, RenderingNode, ResolvedPuri, SSO_SCHEMA, ServiceUnavailableException, SoException, Sonamu, SonamuFileArraySchema, SonamuFileSchema, SonamuQueryMode, SonamuSemanticParams, TWO_FACTOR_SCHEMA, TargetNotFoundException, Template, TemplateKey, TemplateManager, TemplateManagerClass, TemplateOptions, USERNAME_SCHEMA, UnauthorizedException, UpsertBuilder, WebSocketAudience, WebSocketRegistry, WebSocketRuntime, WhereGroup, ZodStringFormat, admin, anonymous, api, apiKey, applyCacheHeaders, asArray, assertDefined, assertExists, assertHttpValidatorRegistry, assertNotNull, betterAuthV1, buildCacheControl, cache, convertFastifyHeadersToStandard, createHttpValidator, createMockSSEFactory, createSSEFactory, createWebSocketReplyStub, createWebSocketRuntime, defaultHttpValidatorDependencies, defaultOperatorByPropType, defaultSonamuHttpValidatorDependencies, defineConfig, differenceWith, exhaustive, fastifyCaster, findApiRootPath, findAppRootPath, generateAlterCode, generateBetterAuthEntities, generateCreateCode, getAlterIndexesTo, getDescription, getEnumDefValues, getEnumValues, getHttpValidatorFingerprint, getHttpValidatorRouteIdentifier, getHttpValidatorRouteKey, getMigrationSetFromEntity, getSubsetFields, getZodObjectFromApi, ingestAuditEvent, intersectionBy, isBelongsToOneRelationProp, isBigIntegerArrayProp, isBigIntegerProp, isBigIntegerSingleProp, isBooleanArrayProp, isBooleanProp, isBooleanSingleProp, isCompressDisabled, isCustomJoinClause, isDaemonServer, isDateArrayProp, isDateProp, isDateSingleProp, isDevelopment, isEnumArrayProp, isEnumDefWithCone, isEnumProp, isEnumSingleProp, isHasManyRelationProp, isHotReloadServer, isInDocker, isIntegerArrayProp, isIntegerProp, isIntegerSingleProp, isInternalSubsetField, isJsonProp, isKnexError, isLocal, isManyToManyRelationProp, isNumberArrayProp, isNumberProp, isNumberSingleProp, isNumericArrayProp, isNumericProp, isNumericSingleProp, isOneToOneRelationProp, isPlainObject, isProduction, isRefField, isRelationProp, isRemote, isSearchTextJsonSourceZodType, isSearchTextProp, isSoException, isStaging, isStringArrayProp, isStringProp, isStringSingleProp, isSubsetDefWithCone, isTest, isTsVectorProp, isUuidArrayProp, isUuidProp, isUuidSingleProp, isVectorArrayProp, isVectorProp, isVectorSingleProp, isVirtualCodeProp, isVirtualProp, isVirtualQueryProp, jwt, loadConfig, merge, nonNullable, normalizeFilterQuery, normalizeSubsetField, normalizeZodCompilerPolicy, objToMap, operatorsByPropType, organization, parseFuzzyOperator, passkey, phoneNumber, registeredApis, resolveWebSocketCloseDescriptor, resolveWebSocketPluginOptions, setMigrationIndexDefaults, setupErrorHandler, sonamuAuditLog, sonamuKnexAdapter, sso, stream, toFastifyCompressOption, transactional, twoFactor, upload, username, validateSonamuFilters, websocket, withProp, withProps, workflow, zArrayable };
102
108
 
103
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2FwaS9iYXNlLWZyYW1lXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hcGkvY29uZmlnXCI7XG5leHBvcnQgdHlwZSAqIGZyb20gXCIuL2FwaS9jb250ZXh0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hcGkvZGVjb3JhdG9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXBpL3NvbmFtdVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXV0aFwiO1xuZXhwb3J0IHsgY2FjaGUgfSBmcm9tIFwiLi9jYWNoZS9kZWNvcmF0b3JcIjtcbmV4cG9ydCB0eXBlIHsgQ2FjaGVEZWNvcmF0b3JPcHRpb25zIH0gZnJvbSBcIi4vY2FjaGUvdHlwZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NhY2hlLWNvbnRyb2wvY2FjaGUtY29udHJvbFwiO1xuZXhwb3J0IHR5cGUgKiBmcm9tIFwiLi9jYWNoZS1jb250cm9sL3R5cGVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wcmVzcy9jb21wcmVzc1wiO1xuZXhwb3J0IHR5cGUgKiBmcm9tIFwiLi9jb21wcmVzcy90eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGF0YWJhc2UvYmFzZS1tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGF0YWJhc2UvYmFzZS1tb2RlbC50eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGF0YWJhc2UvZGJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RhdGFiYXNlL3B1cmlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RhdGFiYXNlL3B1cmkudHlwZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RhdGFiYXNlL3B1cmktc3Vic2V0LnR5cGVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kYXRhYmFzZS9wdXJpLXdyYXBwZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RhdGFiYXNlL3Vwc2VydC1idWlsZGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdHkvZW50aXR5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdHkvZW50aXR5LW1hbmFnZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4Y2VwdGlvbnMvZXJyb3ItaGFuZGxlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXhjZXB0aW9ucy9zby1leGNlcHRpb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9maWx0ZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21pZ3JhdGlvbi9jb2RlLWdlbmVyYXRpb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL21pZ3JhdGlvbi9taWdyYXRpb24tc2V0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9taWdyYXRpb24vbWlncmF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21pZ3JhdGlvbi9wb3N0Z3Jlc3FsLXNjaGVtYS1yZWFkZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21pZ3JhdGlvbi90eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbmFpdGUvbmFpdGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL25haXRlL25haXRlLXJlcG9ydGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zdHJlYW0vc3NlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zdHJlYW0vd3MtYXVkaWVuY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0cmVhbS93cy1jbHVzdGVyLWJ1c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3RyZWFtL3dzLWNvcmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0cmVhbS93cy1wcmVzZW5jZS1zdG9yZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3RyZWFtL3dzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zdHJlYW0vd3MtcmVnaXN0cnlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Rhc2tzL2RlY29yYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGVtcGxhdGUvdGVtcGxhdGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RlbXBsYXRlL3RlbXBsYXRlLW1hbmFnZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Rlc3RpbmcvZml4dHVyZS1tYW5hZ2VyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlcy90eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbHMvY29udHJvbGxlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbHMvbW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3V0aWxzL3R5cGUtdXRpbHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3V0aWxzL3V0aWxzXCI7XG5cbi8vIGV4cG9ydCAqIGZyb20gXCIuL2FwaS9jb2RlLWNvbnZlcnRlcnNcIjtcbi8vIGV4cG9ydCAqIGZyb20gXCIuL3N5bmNlci9zeW5jZXJcIjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7ZUFNeUMifQ==
109
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2FwaS9iYXNlLWZyYW1lXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hcGkvY29uZmlnXCI7XG5leHBvcnQgdHlwZSAqIGZyb20gXCIuL2FwaS9jb250ZXh0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hcGkvZGVjb3JhdG9yc1wiO1xuZXhwb3J0IHsgZmFzdGlmeUNhc3RlciB9IGZyb20gXCIuL2FwaS9jYXN0ZXJcIjtcbmV4cG9ydCB7IGdldFpvZE9iamVjdEZyb21BcGkgfSBmcm9tIFwiLi9hcGkvY29kZS1jb252ZXJ0ZXJzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hcGkvaHR0cC12YWxpZGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2FwaS9zb25hbXVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2F1dGhcIjtcbmV4cG9ydCB7IGNhY2hlIH0gZnJvbSBcIi4vY2FjaGUvZGVjb3JhdG9yXCI7XG5leHBvcnQgdHlwZSB7IENhY2hlRGVjb3JhdG9yT3B0aW9ucyB9IGZyb20gXCIuL2NhY2hlL3R5cGVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jYWNoZS1jb250cm9sL2NhY2hlLWNvbnRyb2xcIjtcbmV4cG9ydCB0eXBlICogZnJvbSBcIi4vY2FjaGUtY29udHJvbC90eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcHJlc3MvY29tcHJlc3NcIjtcbmV4cG9ydCB0eXBlICogZnJvbSBcIi4vY29tcHJlc3MvdHlwZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RhdGFiYXNlL2Jhc2UtbW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RhdGFiYXNlL2Jhc2UtbW9kZWwudHlwZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RhdGFiYXNlL2RiXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kYXRhYmFzZS9wdXJpXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kYXRhYmFzZS9wdXJpLnR5cGVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kYXRhYmFzZS9wdXJpLXN1YnNldC50eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGF0YWJhc2UvcHVyaS13cmFwcGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kYXRhYmFzZS91cHNlcnQtYnVpbGRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXR5L2VudGl0eVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXR5L2VudGl0eS1tYW5hZ2VyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9leGNlcHRpb25zL2Vycm9yLWhhbmRsZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4Y2VwdGlvbnMvc28tZXhjZXB0aW9uc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZmlsdGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9taWdyYXRpb24vY29kZS1nZW5lcmF0aW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9taWdyYXRpb24vbWlncmF0aW9uLXNldFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWlncmF0aW9uL21pZ3JhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9taWdyYXRpb24vcG9zdGdyZXNxbC1zY2hlbWEtcmVhZGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9taWdyYXRpb24vdHlwZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL25haXRlL25haXRlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9uYWl0ZS9uYWl0ZS1yZXBvcnRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3RyZWFtL3NzZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3RyZWFtL3dzLWF1ZGllbmNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zdHJlYW0vd3MtY2x1c3Rlci1idXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0cmVhbS93cy1jb3JlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zdHJlYW0vd3MtcHJlc2VuY2Utc3RvcmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0cmVhbS93c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3RyZWFtL3dzLXJlZ2lzdHJ5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YXNrcy9kZWNvcmF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RlbXBsYXRlL3RlbXBsYXRlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZW1wbGF0ZS90ZW1wbGF0ZS1tYW5hZ2VyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZXN0aW5nL2ZpeHR1cmUtbWFuYWdlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXMvdHlwZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3V0aWxzL2NvbnRyb2xsZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3V0aWxzL21vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91dGlscy90eXBlLXV0aWxzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91dGlscy91dGlsc1wiO1xuXG4vLyBleHBvcnQgKiBmcm9tIFwiLi9hcGkvY29kZS1jb252ZXJ0ZXJzXCI7XG4vLyBleHBvcnQgKiBmcm9tIFwiLi9zeW5jZXIvc3luY2VyXCI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztZQUk0QztxQkFDZTs7OztlQUlsQiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../../src/logger/configure.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,YAAY,EAEjB,KAAK,IAAI,EAEV,MAAM,kBAAkB,CAAC;AAM1B,MAAM,MAAM,oBAAoB,CAAC,OAAO,SAAS,MAAM,EAAE,SAAS,SAAS,MAAM,IAAI;IAGnF,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAGpC,KAAK,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAGxC,OAAO,CAAC,EAAE,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;CAC9C,CAAC;AAwEF,wBAAsB,gBAAgB,CAAC,OAAO,SAAS,MAAM,EAAE,SAAS,SAAS,MAAM,EACrF,OAAO,EAAE,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,iBAiClD"}
1
+ {"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../../src/logger/configure.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,YAAY,EAEjB,KAAK,IAAI,EAEV,MAAM,kBAAkB,CAAC;AAM1B,MAAM,MAAM,oBAAoB,CAAC,OAAO,SAAS,MAAM,EAAE,SAAS,SAAS,MAAM,IAAI;IAGnF,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAGpC,KAAK,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAGxC,OAAO,CAAC,EAAE,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;CAC9C,CAAC;AAiFF,wBAAsB,gBAAgB,CAAC,OAAO,SAAS,MAAM,EAAE,SAAS,SAAS,MAAM,EACrF,OAAO,EAAE,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,iBAgClD"}
@@ -4,16 +4,16 @@ import { configure, getConsoleSink } from "@logtape/logtape";
4
4
  import { getPrettyFormatter } from "@logtape/pretty";
5
5
  //#region src/logger/configure.ts
6
6
  function defaultFastifySink(fastifyCategory) {
7
- return getConsoleSink({ formatter: ((formatter, record) => {
8
- const filterFastify = (request, record, responseCode) => {
9
- if (!request.url.startsWith("/api")) return formatter(record);
10
- const lastItem = record.message[record.message.length - 1];
11
- return formatter({
12
- ...record,
13
- message: [...record.message.slice(0, -1), `[${request.method}${responseCode ? `:${responseCode}` : ""}] ${request.originalUrl} - ${lastItem}`]
7
+ return getConsoleSink({ formatter: ((formatRecord, record) => {
8
+ const filterFastify = (request, requestRecord, responseCode) => {
9
+ if (!request.url.startsWith("/api")) return formatRecord(requestRecord);
10
+ const lastItem = requestRecord.message[requestRecord.message.length - 1];
11
+ return formatRecord({
12
+ ...requestRecord,
13
+ message: [...requestRecord.message.slice(0, -1), `[${request.method}${responseCode ? `:${responseCode}` : ""}] ${request.originalUrl} - ${lastItem}`]
14
14
  });
15
15
  };
16
- if (!isSameCategory(fastifyCategory, [...record.category])) return formatter(record);
16
+ if (!isSameCategory(fastifyCategory, [...record.category])) return formatRecord(record);
17
17
  if ("req" in record.properties && record.properties.req !== null) {
18
18
  const request = record.properties.req;
19
19
  return filterFastify(request, record);
@@ -22,7 +22,7 @@ function defaultFastifySink(fastifyCategory) {
22
22
  const reply = record.properties.res;
23
23
  return filterFastify(reply.request, record, reply.statusCode);
24
24
  }
25
- return formatter(record);
25
+ return formatRecord(record);
26
26
  }).bind(null, getPrettyFormatter({
27
27
  timestamp: "time",
28
28
  categoryWidth: 20,
@@ -77,4 +77,4 @@ __esmMin((() => {
77
77
  }))();
78
78
  export { configureLogTape };
79
79
 
80
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dnZXIvY29uZmlndXJlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbmZpZ3VyZSwgZ2V0Q29uc29sZVNpbmsgfSBmcm9tIFwiQGxvZ3RhcGUvbG9ndGFwZVwiO1xuaW1wb3J0IHtcbiAgdHlwZSBGaWx0ZXIsXG4gIHR5cGUgRmlsdGVyTGlrZSxcbiAgdHlwZSBMb2dnZXJDb25maWcsXG4gIHR5cGUgTG9nUmVjb3JkLFxuICB0eXBlIFNpbmssXG4gIHR5cGUgVGV4dEZvcm1hdHRlcixcbn0gZnJvbSBcIkBsb2d0YXBlL2xvZ3RhcGVcIjtcbmltcG9ydCB7IGdldFByZXR0eUZvcm1hdHRlciB9IGZyb20gXCJAbG9ndGFwZS9wcmV0dHlcIjtcbmltcG9ydCB7IHR5cGUgRmFzdGlmeVJlcGx5LCB0eXBlIEZhc3RpZnlSZXF1ZXN0IH0gZnJvbSBcImZhc3RpZnlcIjtcblxuaW1wb3J0IHsgaXNTYW1lQ2F0ZWdvcnkgfSBmcm9tIFwiLi9jYXRlZ29yeVwiO1xuXG5leHBvcnQgdHlwZSBTb25hbXVMb2dnaW5nT3B0aW9uczxUU2lua0lkIGV4dGVuZHMgc3RyaW5nLCBURmlsdGVySWQgZXh0ZW5kcyBzdHJpbmc+ID0ge1xuICAvLyBmYXN0aWZ5IOuhnOq5hSDsubTthYzqs6DrpqwgKGEuYi5j7J2YIO2Yle2DnOuhnCDrhKPsnLzrqbQgW2EsIGIsIGNd66GcIOuTpOyWtOqwkeuLiOuLpC4pXG4gIC8vIOq4sOuzuOqwkuydgCBbXCJmYXN0aWZ5XCJdIOyeheuLiOuLpC5cbiAgZmFzdGlmeUNhdGVnb3J5PzogcmVhZG9ubHkgc3RyaW5nW107XG5cbiAgLy8g6rCBIO2VreuqqeuTpOydhCDshKTsoJXtlaAg65WMIFwiZmFzdGlmeS1jb25zb2xlXCLsnbQg65Ok7Ja06rCIIOqyveyasCwg642u7Ja07JSM7JuM7KeR64uI64ukLlxuICBzaW5rcz86IFJlY29yZDxUU2lua0lkLCBTaW5rPjtcbiAgZmlsdGVycz86IFJlY29yZDxURmlsdGVySWQsIEZpbHRlckxpa2U+O1xuXG4gIC8vIOqwgSDtla3rqqnsnYQg7ISk7KCV7ZWgIOuVjCBmYXN0aWZ5Q2F0ZWdvcnnsl5Ag7ISk7KCV65CcIOy5tO2FjOqzoOumrOqwgCDsnojsnYQg6rK97JqwLCDquLDrs7ggbG9nZ2VyIOyEpOygleydgCDstpTqsIDrkJjsp4Ag7JWK7Iq164uI64ukLlxuICBsb2dnZXJzPzogTG9nZ2VyQ29uZmlnPFRTaW5rSWQsIFRGaWx0ZXJJZD5bXTtcbn07XG5cbi8vIGZhc3RpZnnsl5Ag64yA7ZWcIOq4sOuzuCBzaW5rIOyEpOyglVxuZnVuY3Rpb24gZGVmYXVsdEZhc3RpZnlTaW5rKGZhc3RpZnlDYXRlZ29yeTogcmVhZG9ubHkgc3RyaW5nW10pOiBTaW5rIHtcbiAgY29uc3QgZm9ybWF0dGVyID0gKChmb3JtYXR0ZXI6IFRleHRGb3JtYXR0ZXIsIHJlY29yZDogTG9nUmVjb3JkKSA9PiB7XG4gICAgLy8gRmFzdGlmeSBBUEkgUm91dGXsl5Ag64yA7ZWcIExvZ2dlcuydmCDqsr3smrAsIOydkeuLtSDsvZTrk5zsmYAg7JqU7LKtIFVSTOydhCDstpTqsIBcbiAgICBjb25zdCBmaWx0ZXJGYXN0aWZ5ID0gKHJlcXVlc3Q6IEZhc3RpZnlSZXF1ZXN0LCByZWNvcmQ6IExvZ1JlY29yZCwgcmVzcG9uc2VDb2RlPzogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAoIXJlcXVlc3QudXJsLnN0YXJ0c1dpdGgoXCIvYXBpXCIpKSB7XG4gICAgICAgIHJldHVybiBmb3JtYXR0ZXIocmVjb3JkKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbGFzdEl0ZW0gPSByZWNvcmQubWVzc2FnZVtyZWNvcmQubWVzc2FnZS5sZW5ndGggLSAxXSBhcyBzdHJpbmc7XG4gICAgICByZXR1cm4gZm9ybWF0dGVyKHtcbiAgICAgICAgLi4ucmVjb3JkLFxuICAgICAgICBtZXNzYWdlOiBbXG4gICAgICAgICAgLi4ucmVjb3JkLm1lc3NhZ2Uuc2xpY2UoMCwgLTEpLFxuICAgICAgICAgIGBbJHtyZXF1ZXN0Lm1ldGhvZH0ke3Jlc3BvbnNlQ29kZSA/IGA6JHtyZXNwb25zZUNvZGV9YCA6IFwiXCJ9XSAke3JlcXVlc3Qub3JpZ2luYWxVcmx9IC0gJHtsYXN0SXRlbX1gLFxuICAgICAgICBdLFxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGlmICghaXNTYW1lQ2F0ZWdvcnkoZmFzdGlmeUNhdGVnb3J5LCBbLi4ucmVjb3JkLmNhdGVnb3J5XSkpIHtcbiAgICAgIHJldHVybiBmb3JtYXR0ZXIocmVjb3JkKTtcbiAgICB9XG5cbiAgICBpZiAoXCJyZXFcIiBpbiByZWNvcmQucHJvcGVydGllcyAmJiByZWNvcmQucHJvcGVydGllcy5yZXEgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHJlcXVlc3QgPSByZWNvcmQucHJvcGVydGllcy5yZXEgYXMgRmFzdGlmeVJlcXVlc3Q7XG4gICAgICByZXR1cm4gZmlsdGVyRmFzdGlmeShyZXF1ZXN0LCByZWNvcmQpO1xuICAgIH1cblxuICAgIGlmIChcInJlc1wiIGluIHJlY29yZC5wcm9wZXJ0aWVzICYmIHJlY29yZC5wcm9wZXJ0aWVzLnJlcyAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcmVwbHkgPSByZWNvcmQucHJvcGVydGllcy5yZXMgYXMgRmFzdGlmeVJlcGx5O1xuICAgICAgcmV0dXJuIGZpbHRlckZhc3RpZnkocmVwbHkucmVxdWVzdCwgcmVjb3JkLCByZXBseS5zdGF0dXNDb2RlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZm9ybWF0dGVyKHJlY29yZCk7XG4gIH0pLmJpbmQoXG4gICAgbnVsbCxcbiAgICBnZXRQcmV0dHlGb3JtYXR0ZXIoe1xuICAgICAgdGltZXN0YW1wOiBcInRpbWVcIixcbiAgICAgIGNhdGVnb3J5V2lkdGg6IDIwLFxuICAgICAgY2F0ZWdvcnlUcnVuY2F0ZTogXCJtaWRkbGVcIixcbiAgICB9KSxcbiAgKTtcblxuICByZXR1cm4gZ2V0Q29uc29sZVNpbmsoe1xuICAgIGZvcm1hdHRlcixcbiAgfSk7XG59XG5cbi8vIGZhc3RpZnnsl5Ag64yA7ZWcIOq4sOuzuCBmaWx0ZXIg7ISk7KCVICgvYXBpIOqyveuhnOydmCDsmpTssq3rp4wg66Gc6rmFKVxuZnVuY3Rpb24gZGVmYXVsdEZhc3RpZnlGaWx0ZXIoZmFzdGlmeUNhdGVnb3J5OiByZWFkb25seSBzdHJpbmdbXSk6IEZpbHRlciB7XG4gIHJldHVybiAocmVjb3JkOiBMb2dSZWNvcmQpID0+IHtcbiAgICBpZiAoIWlzU2FtZUNhdGVnb3J5KFsuLi5mYXN0aWZ5Q2F0ZWdvcnldLCBbLi4ucmVjb3JkLmNhdGVnb3J5XSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoXCJyZXFcIiBpbiByZWNvcmQucHJvcGVydGllcyAmJiByZWNvcmQucHJvcGVydGllcy5yZXEgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHJlcXVlc3QgPSByZWNvcmQucHJvcGVydGllcy5yZXEgYXMgRmFzdGlmeVJlcXVlc3Q7XG4gICAgICByZXR1cm4gcmVxdWVzdC51cmwuc3RhcnRzV2l0aChcIi9hcGlcIikgJiYgcmVxdWVzdC51cmwgIT09IFwiL2FwaS9oZWFsdGhjaGVja1wiO1xuICAgIH1cblxuICAgIGlmIChcInJlc1wiIGluIHJlY29yZC5wcm9wZXJ0aWVzICYmIHJlY29yZC5wcm9wZXJ0aWVzLnJlcyAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcmVwbHkgPSByZWNvcmQucHJvcGVydGllcy5yZXMgYXMgRmFzdGlmeVJlcGx5O1xuICAgICAgcmV0dXJuIHJlcGx5LnJlcXVlc3QudXJsLnN0YXJ0c1dpdGgoXCIvYXBpXCIpICYmIHJlcGx5LnJlcXVlc3QudXJsICE9PSBcIi9hcGkvaGVhbHRoY2hlY2tcIjtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfTtcbn1cblxuLy8g7KCE7LK0IGxvZ3RhcGUg7ISk7KCVXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29uZmlndXJlTG9nVGFwZTxUU2lua0lkIGV4dGVuZHMgc3RyaW5nLCBURmlsdGVySWQgZXh0ZW5kcyBzdHJpbmc+KFxuICBvcHRpb25zOiBTb25hbXVMb2dnaW5nT3B0aW9uczxUU2lua0lkLCBURmlsdGVySWQ+LFxuKSB7XG4gIGNvbnN0IGZhc3RpZnlDYXRlZ29yeSA9IG9wdGlvbnMuZmFzdGlmeUNhdGVnb3J5ID8/IFtcImZhc3RpZnlcIl07XG5cbiAgY29uc3Qgc2lua3MgPSB7XG4gICAgXCJmYXN0aWZ5LWNvbnNvbGVcIjogZGVmYXVsdEZhc3RpZnlTaW5rKGZhc3RpZnlDYXRlZ29yeSksXG4gICAgLi4ub3B0aW9ucy5zaW5rcyxcbiAgfSBhcyBSZWNvcmQ8VFNpbmtJZCB8IFwiZmFzdGlmeS1jb25zb2xlXCIsIFNpbms+O1xuXG4gIGNvbnN0IGZpbHRlcnMgPSB7XG4gICAgXCJmYXN0aWZ5LWNvbnNvbGVcIjogZGVmYXVsdEZhc3RpZnlGaWx0ZXIoZmFzdGlmeUNhdGVnb3J5KSxcbiAgICAuLi5vcHRpb25zLmZpbHRlcnMsXG4gIH0gYXMgUmVjb3JkPFRGaWx0ZXJJZCB8IFwiZmFzdGlmeS1jb25zb2xlXCIsIEZpbHRlckxpa2U+O1xuXG4gIGNvbnN0IGxvZ2dlcnM6IFNldDxMb2dnZXJDb25maWc8VFNpbmtJZCB8IFwiZmFzdGlmeS1jb25zb2xlXCIsIFRGaWx0ZXJJZCB8IFwiZmFzdGlmeS1jb25zb2xlXCI+PiA9XG4gICAgbmV3IFNldChvcHRpb25zLmxvZ2dlcnMgPz8gW10pO1xuXG4gIC8vIGxvZ3RhcGXsnZggbWV0YSBsb2dnZXIg7ZGc7Iuc66W8IOu5hO2ZnOyEse2ZlFxuICBsb2dnZXJzLmFkZCh7XG4gICAgY2F0ZWdvcnk6IFtcImxvZ3RhcGVcIiwgXCJtZXRhXCJdLFxuICAgIGxvd2VzdExldmVsOiBcImZhdGFsXCIsXG4gIH0pO1xuXG4gIGlmIChbLi4ubG9nZ2Vyc10uZXZlcnkoKGxvZ2dlcikgPT4gIWlzU2FtZUNhdGVnb3J5KFsuLi5mYXN0aWZ5Q2F0ZWdvcnldLCBsb2dnZXIuY2F0ZWdvcnkpKSkge1xuICAgIGxvZ2dlcnMuYWRkKHtcbiAgICAgIGNhdGVnb3J5OiBbLi4uZmFzdGlmeUNhdGVnb3J5XSxcbiAgICAgIHNpbmtzOiBbXCJmYXN0aWZ5LWNvbnNvbGVcIl0sXG4gICAgICBsb3dlc3RMZXZlbDogXCJpbmZvXCIsXG4gICAgICBmaWx0ZXJzOiBbXCJmYXN0aWZ5LWNvbnNvbGVcIl0sXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gY29uZmlndXJlKHsgc2lua3MsIGZpbHRlcnMsIGxvZ2dlcnM6IFsuLi5sb2dnZXJzXSwgcmVzZXQ6IHRydWUgfSk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBNEJBLFNBQVMsbUJBQW1CLGlCQUEwQztDQTBDcEUsT0FBTyxlQUFlLEVBQ3BCLGFBMUNrQixXQUEwQixXQUFzQjtFQUVsRSxNQUFNLGlCQUFpQixTQUF5QixRQUFtQixpQkFBMEI7R0FDM0YsSUFBSSxDQUFDLFFBQVEsSUFBSSxXQUFXLE1BQU0sR0FDaEMsT0FBTyxVQUFVLE1BQU07R0FHekIsTUFBTSxXQUFXLE9BQU8sUUFBUSxPQUFPLFFBQVEsU0FBUztHQUN4RCxPQUFPLFVBQVU7SUFDZixHQUFHO0lBQ0gsU0FBUyxDQUNQLEdBQUcsT0FBTyxRQUFRLE1BQU0sR0FBRyxFQUFFLEdBQzdCLElBQUksUUFBUSxTQUFTLGVBQWUsSUFBSSxpQkFBaUIsR0FBRyxJQUFJLFFBQVEsWUFBWSxLQUFLLFVBQzNGO0dBQ0YsQ0FBQztFQUNIO0VBRUEsSUFBSSxDQUFDLGVBQWUsaUJBQWlCLENBQUMsR0FBRyxPQUFPLFFBQVEsQ0FBQyxHQUN2RCxPQUFPLFVBQVUsTUFBTTtFQUd6QixJQUFJLFNBQVMsT0FBTyxjQUFjLE9BQU8sV0FBVyxRQUFRLE1BQU07R0FDaEUsTUFBTSxVQUFVLE9BQU8sV0FBVztHQUNsQyxPQUFPLGNBQWMsU0FBUyxNQUFNO0VBQ3RDO0VBRUEsSUFBSSxTQUFTLE9BQU8sY0FBYyxPQUFPLFdBQVcsUUFBUSxNQUFNO0dBQ2hFLE1BQU0sUUFBUSxPQUFPLFdBQVc7R0FDaEMsT0FBTyxjQUFjLE1BQU0sU0FBUyxRQUFRLE1BQU0sVUFBVTtFQUM5RDtFQUVBLE9BQU8sVUFBVSxNQUFNO0NBQ3pCLEVBQUEsQ0FBRyxLQUNELE1BQ0EsbUJBQW1CO0VBQ2pCLFdBQVc7RUFDWCxlQUFlO0VBQ2Ysa0JBQWtCO0NBQ3BCLENBQUMsQ0FJRCxFQUNGLENBQUM7QUFDSDtBQUdBLFNBQVMscUJBQXFCLGlCQUE0QztDQUN4RSxRQUFRLFdBQXNCO0VBQzVCLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxlQUFlLEdBQUcsQ0FBQyxHQUFHLE9BQU8sUUFBUSxDQUFDLEdBQzVELE9BQU87RUFHVCxJQUFJLFNBQVMsT0FBTyxjQUFjLE9BQU8sV0FBVyxRQUFRLE1BQU07R0FDaEUsTUFBTSxVQUFVLE9BQU8sV0FBVztHQUNsQyxPQUFPLFFBQVEsSUFBSSxXQUFXLE1BQU0sS0FBSyxRQUFRLFFBQVE7RUFDM0Q7RUFFQSxJQUFJLFNBQVMsT0FBTyxjQUFjLE9BQU8sV0FBVyxRQUFRLE1BQU07R0FDaEUsTUFBTSxRQUFRLE9BQU8sV0FBVztHQUNoQyxPQUFPLE1BQU0sUUFBUSxJQUFJLFdBQVcsTUFBTSxLQUFLLE1BQU0sUUFBUSxRQUFRO0VBQ3ZFO0VBRUEsT0FBTztDQUNUO0FBQ0Y7QUFHQSxlQUFzQixpQkFDcEIsU0FDQTtDQUNBLE1BQU0sa0JBQWtCLFFBQVEsbUJBQW1CLENBQUMsU0FBUztDQUU3RCxNQUFNLFFBQVE7RUFDWixtQkFBbUIsbUJBQW1CLGVBQWU7RUFDckQsR0FBRyxRQUFRO0NBQ2I7Q0FFQSxNQUFNLFVBQVU7RUFDZCxtQkFBbUIscUJBQXFCLGVBQWU7RUFDdkQsR0FBRyxRQUFRO0NBQ2I7Q0FFQSxNQUFNLFVBQ0osSUFBSSxJQUFJLFFBQVEsV0FBVyxDQUFDLENBQUM7Q0FHL0IsUUFBUSxJQUFJO0VBQ1YsVUFBVSxDQUFDLFdBQVcsTUFBTTtFQUM1QixhQUFhO0NBQ2YsQ0FBQztDQUVELElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLE9BQU8sV0FBVyxDQUFDLGVBQWUsQ0FBQyxHQUFHLGVBQWUsR0FBRyxPQUFPLFFBQVEsQ0FBQyxHQUN2RixRQUFRLElBQUk7RUFDVixVQUFVLENBQUMsR0FBRyxlQUFlO0VBQzdCLE9BQU8sQ0FBQyxpQkFBaUI7RUFDekIsYUFBYTtFQUNiLFNBQVMsQ0FBQyxpQkFBaUI7Q0FDN0IsQ0FBQztDQUdILE9BQU8sVUFBVTtFQUFFO0VBQU87RUFBUyxTQUFTLENBQUMsR0FBRyxPQUFPO0VBQUcsT0FBTztDQUFLLENBQUM7QUFDekU7OztlQXZIMkMifQ==
80
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dnZXIvY29uZmlndXJlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbmZpZ3VyZSwgZ2V0Q29uc29sZVNpbmsgfSBmcm9tIFwiQGxvZ3RhcGUvbG9ndGFwZVwiO1xuaW1wb3J0IHtcbiAgdHlwZSBGaWx0ZXIsXG4gIHR5cGUgRmlsdGVyTGlrZSxcbiAgdHlwZSBMb2dnZXJDb25maWcsXG4gIHR5cGUgTG9nUmVjb3JkLFxuICB0eXBlIFNpbmssXG4gIHR5cGUgVGV4dEZvcm1hdHRlcixcbn0gZnJvbSBcIkBsb2d0YXBlL2xvZ3RhcGVcIjtcbmltcG9ydCB7IGdldFByZXR0eUZvcm1hdHRlciB9IGZyb20gXCJAbG9ndGFwZS9wcmV0dHlcIjtcbmltcG9ydCB7IHR5cGUgRmFzdGlmeVJlcGx5LCB0eXBlIEZhc3RpZnlSZXF1ZXN0IH0gZnJvbSBcImZhc3RpZnlcIjtcblxuaW1wb3J0IHsgaXNTYW1lQ2F0ZWdvcnkgfSBmcm9tIFwiLi9jYXRlZ29yeVwiO1xuXG5leHBvcnQgdHlwZSBTb25hbXVMb2dnaW5nT3B0aW9uczxUU2lua0lkIGV4dGVuZHMgc3RyaW5nLCBURmlsdGVySWQgZXh0ZW5kcyBzdHJpbmc+ID0ge1xuICAvLyBmYXN0aWZ5IOuhnOq5hSDsubTthYzqs6DrpqwgKGEuYi5j7J2YIO2Yle2DnOuhnCDrhKPsnLzrqbQgW2EsIGIsIGNd66GcIOuTpOyWtOqwkeuLiOuLpC4pXG4gIC8vIOq4sOuzuOqwkuydgCBbXCJmYXN0aWZ5XCJdIOyeheuLiOuLpC5cbiAgZmFzdGlmeUNhdGVnb3J5PzogcmVhZG9ubHkgc3RyaW5nW107XG5cbiAgLy8g6rCBIO2VreuqqeuTpOydhCDshKTsoJXtlaAg65WMIFwiZmFzdGlmeS1jb25zb2xlXCLsnbQg65Ok7Ja06rCIIOqyveyasCwg642u7Ja07JSM7JuM7KeR64uI64ukLlxuICBzaW5rcz86IFJlY29yZDxUU2lua0lkLCBTaW5rPjtcbiAgZmlsdGVycz86IFJlY29yZDxURmlsdGVySWQsIEZpbHRlckxpa2U+O1xuXG4gIC8vIOqwgSDtla3rqqnsnYQg7ISk7KCV7ZWgIOuVjCBmYXN0aWZ5Q2F0ZWdvcnnsl5Ag7ISk7KCV65CcIOy5tO2FjOqzoOumrOqwgCDsnojsnYQg6rK97JqwLCDquLDrs7ggbG9nZ2VyIOyEpOygleydgCDstpTqsIDrkJjsp4Ag7JWK7Iq164uI64ukLlxuICBsb2dnZXJzPzogTG9nZ2VyQ29uZmlnPFRTaW5rSWQsIFRGaWx0ZXJJZD5bXTtcbn07XG5cbi8vIGZhc3RpZnnsl5Ag64yA7ZWcIOq4sOuzuCBzaW5rIOyEpOyglVxuZnVuY3Rpb24gZGVmYXVsdEZhc3RpZnlTaW5rKGZhc3RpZnlDYXRlZ29yeTogcmVhZG9ubHkgc3RyaW5nW10pOiBTaW5rIHtcbiAgY29uc3QgZmFzdGlmeUZvcm1hdHRlciA9ICgoZm9ybWF0UmVjb3JkOiBUZXh0Rm9ybWF0dGVyLCByZWNvcmQ6IExvZ1JlY29yZCkgPT4ge1xuICAgIC8vIEZhc3RpZnkgQVBJIFJvdXRl7JeQIOuMgO2VnCBMb2dnZXLsnZgg6rK97JqwLCDsnZHri7Ug7L2U65Oc7JmAIOyalOyyrSBVUkzsnYQg7LaU6rCAXG4gICAgY29uc3QgZmlsdGVyRmFzdGlmeSA9IChcbiAgICAgIHJlcXVlc3Q6IEZhc3RpZnlSZXF1ZXN0LFxuICAgICAgcmVxdWVzdFJlY29yZDogTG9nUmVjb3JkLFxuICAgICAgcmVzcG9uc2VDb2RlPzogbnVtYmVyLFxuICAgICkgPT4ge1xuICAgICAgaWYgKCFyZXF1ZXN0LnVybC5zdGFydHNXaXRoKFwiL2FwaVwiKSkge1xuICAgICAgICByZXR1cm4gZm9ybWF0UmVjb3JkKHJlcXVlc3RSZWNvcmQpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBsYXN0SXRlbSA9IC8qIFNBRkVUWTogTG9nVGFwZSDqtazshLEg7Iqk7YKk66eI6rCAIOydtCDqsJLsnZgg7YOA7J6F7J2EIOuztOyepe2VnOuLpC4gKi8gcmVxdWVzdFJlY29yZFxuICAgICAgICAubWVzc2FnZVtyZXF1ZXN0UmVjb3JkLm1lc3NhZ2UubGVuZ3RoIC0gMV0gYXMgc3RyaW5nO1xuICAgICAgcmV0dXJuIGZvcm1hdFJlY29yZCh7XG4gICAgICAgIC4uLnJlcXVlc3RSZWNvcmQsXG4gICAgICAgIG1lc3NhZ2U6IFtcbiAgICAgICAgICAuLi5yZXF1ZXN0UmVjb3JkLm1lc3NhZ2Uuc2xpY2UoMCwgLTEpLFxuICAgICAgICAgIGBbJHtyZXF1ZXN0Lm1ldGhvZH0ke3Jlc3BvbnNlQ29kZSA/IGA6JHtyZXNwb25zZUNvZGV9YCA6IFwiXCJ9XSAke3JlcXVlc3Qub3JpZ2luYWxVcmx9IC0gJHtsYXN0SXRlbX1gLFxuICAgICAgICBdLFxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGlmICghaXNTYW1lQ2F0ZWdvcnkoZmFzdGlmeUNhdGVnb3J5LCBbLi4ucmVjb3JkLmNhdGVnb3J5XSkpIHtcbiAgICAgIHJldHVybiBmb3JtYXRSZWNvcmQocmVjb3JkKTtcbiAgICB9XG5cbiAgICBpZiAoXCJyZXFcIiBpbiByZWNvcmQucHJvcGVydGllcyAmJiByZWNvcmQucHJvcGVydGllcy5yZXEgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHJlcXVlc3QgPSAvKiBTQUZFVFk6IExvZ1RhcGUg6rWs7ISxIOyKpO2CpOuniOqwgCDsnbQg6rCS7J2YIO2DgOyeheydhCDrs7TsnqXtlZzri6QuICovIHJlY29yZC5wcm9wZXJ0aWVzXG4gICAgICAgIC5yZXEgYXMgRmFzdGlmeVJlcXVlc3Q7XG4gICAgICByZXR1cm4gZmlsdGVyRmFzdGlmeShyZXF1ZXN0LCByZWNvcmQpO1xuICAgIH1cblxuICAgIGlmIChcInJlc1wiIGluIHJlY29yZC5wcm9wZXJ0aWVzICYmIHJlY29yZC5wcm9wZXJ0aWVzLnJlcyAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcmVwbHkgPSAvKiBTQUZFVFk6IExvZ1RhcGUg6rWs7ISxIOyKpO2CpOuniOqwgCDsnbQg6rCS7J2YIO2DgOyeheydhCDrs7TsnqXtlZzri6QuICovIHJlY29yZC5wcm9wZXJ0aWVzXG4gICAgICAgIC5yZXMgYXMgRmFzdGlmeVJlcGx5O1xuICAgICAgcmV0dXJuIGZpbHRlckZhc3RpZnkocmVwbHkucmVxdWVzdCwgcmVjb3JkLCByZXBseS5zdGF0dXNDb2RlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZm9ybWF0UmVjb3JkKHJlY29yZCk7XG4gIH0pLmJpbmQoXG4gICAgbnVsbCxcbiAgICBnZXRQcmV0dHlGb3JtYXR0ZXIoe1xuICAgICAgdGltZXN0YW1wOiBcInRpbWVcIixcbiAgICAgIGNhdGVnb3J5V2lkdGg6IDIwLFxuICAgICAgY2F0ZWdvcnlUcnVuY2F0ZTogXCJtaWRkbGVcIixcbiAgICB9KSxcbiAgKTtcblxuICByZXR1cm4gZ2V0Q29uc29sZVNpbmsoe1xuICAgIGZvcm1hdHRlcjogZmFzdGlmeUZvcm1hdHRlcixcbiAgfSk7XG59XG5cbi8vIGZhc3RpZnnsl5Ag64yA7ZWcIOq4sOuzuCBmaWx0ZXIg7ISk7KCVICgvYXBpIOqyveuhnOydmCDsmpTssq3rp4wg66Gc6rmFKVxuZnVuY3Rpb24gZGVmYXVsdEZhc3RpZnlGaWx0ZXIoZmFzdGlmeUNhdGVnb3J5OiByZWFkb25seSBzdHJpbmdbXSk6IEZpbHRlciB7XG4gIHJldHVybiAocmVjb3JkOiBMb2dSZWNvcmQpID0+IHtcbiAgICBpZiAoIWlzU2FtZUNhdGVnb3J5KFsuLi5mYXN0aWZ5Q2F0ZWdvcnldLCBbLi4ucmVjb3JkLmNhdGVnb3J5XSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoXCJyZXFcIiBpbiByZWNvcmQucHJvcGVydGllcyAmJiByZWNvcmQucHJvcGVydGllcy5yZXEgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHJlcXVlc3QgPSAvKiBTQUZFVFk6IExvZ1RhcGUg6rWs7ISxIOyKpO2CpOuniOqwgCDsnbQg6rCS7J2YIO2DgOyeheydhCDrs7TsnqXtlZzri6QuICovIHJlY29yZC5wcm9wZXJ0aWVzXG4gICAgICAgIC5yZXEgYXMgRmFzdGlmeVJlcXVlc3Q7XG4gICAgICByZXR1cm4gcmVxdWVzdC51cmwuc3RhcnRzV2l0aChcIi9hcGlcIikgJiYgcmVxdWVzdC51cmwgIT09IFwiL2FwaS9oZWFsdGhjaGVja1wiO1xuICAgIH1cblxuICAgIGlmIChcInJlc1wiIGluIHJlY29yZC5wcm9wZXJ0aWVzICYmIHJlY29yZC5wcm9wZXJ0aWVzLnJlcyAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcmVwbHkgPSAvKiBTQUZFVFk6IExvZ1RhcGUg6rWs7ISxIOyKpO2CpOuniOqwgCDsnbQg6rCS7J2YIO2DgOyeheydhCDrs7TsnqXtlZzri6QuICovIHJlY29yZC5wcm9wZXJ0aWVzXG4gICAgICAgIC5yZXMgYXMgRmFzdGlmeVJlcGx5O1xuICAgICAgcmV0dXJuIHJlcGx5LnJlcXVlc3QudXJsLnN0YXJ0c1dpdGgoXCIvYXBpXCIpICYmIHJlcGx5LnJlcXVlc3QudXJsICE9PSBcIi9hcGkvaGVhbHRoY2hlY2tcIjtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfTtcbn1cblxuLy8g7KCE7LK0IGxvZ3RhcGUg7ISk7KCVXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29uZmlndXJlTG9nVGFwZTxUU2lua0lkIGV4dGVuZHMgc3RyaW5nLCBURmlsdGVySWQgZXh0ZW5kcyBzdHJpbmc+KFxuICBvcHRpb25zOiBTb25hbXVMb2dnaW5nT3B0aW9uczxUU2lua0lkLCBURmlsdGVySWQ+LFxuKSB7XG4gIGNvbnN0IGZhc3RpZnlDYXRlZ29yeSA9IG9wdGlvbnMuZmFzdGlmeUNhdGVnb3J5ID8/IFtcImZhc3RpZnlcIl07XG5cbiAgY29uc3Qgc2lua3MgPSB7XG4gICAgXCJmYXN0aWZ5LWNvbnNvbGVcIjogZGVmYXVsdEZhc3RpZnlTaW5rKGZhc3RpZnlDYXRlZ29yeSksXG4gICAgLi4ub3B0aW9ucy5zaW5rcyxcbiAgfTtcblxuICBjb25zdCBmaWx0ZXJzID0ge1xuICAgIFwiZmFzdGlmeS1jb25zb2xlXCI6IGRlZmF1bHRGYXN0aWZ5RmlsdGVyKGZhc3RpZnlDYXRlZ29yeSksXG4gICAgLi4ub3B0aW9ucy5maWx0ZXJzLFxuICB9O1xuXG4gIGNvbnN0IGxvZ2dlcnMgPSBuZXcgU2V0PExvZ2dlckNvbmZpZzxzdHJpbmcsIHN0cmluZz4+KG9wdGlvbnMubG9nZ2VycyA/PyBbXSk7XG5cbiAgLy8gbG9ndGFwZeydmCBtZXRhIGxvZ2dlciDtkZzsi5zrpbwg67mE7Zmc7ISx7ZmUXG4gIGxvZ2dlcnMuYWRkKHtcbiAgICBjYXRlZ29yeTogW1wibG9ndGFwZVwiLCBcIm1ldGFcIl0sXG4gICAgbG93ZXN0TGV2ZWw6IFwiZmF0YWxcIixcbiAgfSk7XG5cbiAgaWYgKFsuLi5sb2dnZXJzXS5ldmVyeSgobG9nZ2VyKSA9PiAhaXNTYW1lQ2F0ZWdvcnkoWy4uLmZhc3RpZnlDYXRlZ29yeV0sIGxvZ2dlci5jYXRlZ29yeSkpKSB7XG4gICAgbG9nZ2Vycy5hZGQoe1xuICAgICAgY2F0ZWdvcnk6IFsuLi5mYXN0aWZ5Q2F0ZWdvcnldLFxuICAgICAgc2lua3M6IFtcImZhc3RpZnktY29uc29sZVwiXSxcbiAgICAgIGxvd2VzdExldmVsOiBcImluZm9cIixcbiAgICAgIGZpbHRlcnM6IFtcImZhc3RpZnktY29uc29sZVwiXSxcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBjb25maWd1cmUoeyBzaW5rcywgZmlsdGVycywgbG9nZ2VyczogWy4uLmxvZ2dlcnNdLCByZXNldDogdHJ1ZSB9KTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUE0QkEsU0FBUyxtQkFBbUIsaUJBQTBDO0NBaURwRSxPQUFPLGVBQWUsRUFDcEIsYUFqRHlCLGNBQTZCLFdBQXNCO0VBRTVFLE1BQU0saUJBQ0osU0FDQSxlQUNBLGlCQUNHO0dBQ0gsSUFBSSxDQUFDLFFBQVEsSUFBSSxXQUFXLE1BQU0sR0FDaEMsT0FBTyxhQUFhLGFBQWE7R0FHbkMsTUFBTSxXQUF3RCxjQUMzRCxRQUFRLGNBQWMsUUFBUSxTQUFTO0dBQzFDLE9BQU8sYUFBYTtJQUNsQixHQUFHO0lBQ0gsU0FBUyxDQUNQLEdBQUcsY0FBYyxRQUFRLE1BQU0sR0FBRyxFQUFFLEdBQ3BDLElBQUksUUFBUSxTQUFTLGVBQWUsSUFBSSxpQkFBaUIsR0FBRyxJQUFJLFFBQVEsWUFBWSxLQUFLLFVBQzNGO0dBQ0YsQ0FBQztFQUNIO0VBRUEsSUFBSSxDQUFDLGVBQWUsaUJBQWlCLENBQUMsR0FBRyxPQUFPLFFBQVEsQ0FBQyxHQUN2RCxPQUFPLGFBQWEsTUFBTTtFQUc1QixJQUFJLFNBQVMsT0FBTyxjQUFjLE9BQU8sV0FBVyxRQUFRLE1BQU07R0FDaEUsTUFBTSxVQUF1RCxPQUFPLFdBQ2pFO0dBQ0gsT0FBTyxjQUFjLFNBQVMsTUFBTTtFQUN0QztFQUVBLElBQUksU0FBUyxPQUFPLGNBQWMsT0FBTyxXQUFXLFFBQVEsTUFBTTtHQUNoRSxNQUFNLFFBQXFELE9BQU8sV0FDL0Q7R0FDSCxPQUFPLGNBQWMsTUFBTSxTQUFTLFFBQVEsTUFBTSxVQUFVO0VBQzlEO0VBRUEsT0FBTyxhQUFhLE1BQU07Q0FDNUIsRUFBQSxDQUFHLEtBQ0QsTUFDQSxtQkFBbUI7RUFDakIsV0FBVztFQUNYLGVBQWU7RUFDZixrQkFBa0I7Q0FDcEIsQ0FBQyxDQUlVLEVBQ2IsQ0FBQztBQUNIO0FBR0EsU0FBUyxxQkFBcUIsaUJBQTRDO0NBQ3hFLFFBQVEsV0FBc0I7RUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLGVBQWUsR0FBRyxDQUFDLEdBQUcsT0FBTyxRQUFRLENBQUMsR0FDNUQsT0FBTztFQUdULElBQUksU0FBUyxPQUFPLGNBQWMsT0FBTyxXQUFXLFFBQVEsTUFBTTtHQUNoRSxNQUFNLFVBQXVELE9BQU8sV0FDakU7R0FDSCxPQUFPLFFBQVEsSUFBSSxXQUFXLE1BQU0sS0FBSyxRQUFRLFFBQVE7RUFDM0Q7RUFFQSxJQUFJLFNBQVMsT0FBTyxjQUFjLE9BQU8sV0FBVyxRQUFRLE1BQU07R0FDaEUsTUFBTSxRQUFxRCxPQUFPLFdBQy9EO0dBQ0gsT0FBTyxNQUFNLFFBQVEsSUFBSSxXQUFXLE1BQU0sS0FBSyxNQUFNLFFBQVEsUUFBUTtFQUN2RTtFQUVBLE9BQU87Q0FDVDtBQUNGO0FBR0EsZUFBc0IsaUJBQ3BCLFNBQ0E7Q0FDQSxNQUFNLGtCQUFrQixRQUFRLG1CQUFtQixDQUFDLFNBQVM7Q0FFN0QsTUFBTSxRQUFRO0VBQ1osbUJBQW1CLG1CQUFtQixlQUFlO0VBQ3JELEdBQUcsUUFBUTtDQUNiO0NBRUEsTUFBTSxVQUFVO0VBQ2QsbUJBQW1CLHFCQUFxQixlQUFlO0VBQ3ZELEdBQUcsUUFBUTtDQUNiO0NBRUEsTUFBTSxVQUFVLElBQUksSUFBa0MsUUFBUSxXQUFXLENBQUMsQ0FBQztDQUczRSxRQUFRLElBQUk7RUFDVixVQUFVLENBQUMsV0FBVyxNQUFNO0VBQzVCLGFBQWE7Q0FDZixDQUFDO0NBRUQsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsT0FBTyxXQUFXLENBQUMsZUFBZSxDQUFDLEdBQUcsZUFBZSxHQUFHLE9BQU8sUUFBUSxDQUFDLEdBQ3ZGLFFBQVEsSUFBSTtFQUNWLFVBQVUsQ0FBQyxHQUFHLGVBQWU7RUFDN0IsT0FBTyxDQUFDLGlCQUFpQjtFQUN6QixhQUFhO0VBQ2IsU0FBUyxDQUFDLGlCQUFpQjtDQUM3QixDQUFDO0NBR0gsT0FBTyxVQUFVO0VBQUU7RUFBTztFQUFTLFNBQVMsQ0FBQyxHQUFHLE9BQU87RUFBRyxPQUFPO0NBQUssQ0FBQztBQUN6RTs7O2VBL0gyQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"code-generation.d.ts","sourceRoot":"","sources":["../../src/migration/code-generation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,MAAM,CAAC;AAKjC,OAAO,EAEL,KAAK,gBAAgB,EAGrB,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,gBAAgB,CAAC;AAiiDxB;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,cAAc,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE;SAG/E,cAAc,EAAE;UACf,cAAc,EAAE;EAsD/B;AAWD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAE/E;AAyJD;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAS7F;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,YAAY,EACnB,SAAS,CAAC,EAAE,IAAI,GACf,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA0G7B"}
1
+ {"version":3,"file":"code-generation.d.ts","sourceRoot":"","sources":["../../src/migration/code-generation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,MAAM,CAAC;AAKjC,OAAO,EAEL,KAAK,gBAAgB,EAGrB,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,gBAAgB,CAAC;AA8lDxB;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,cAAc,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE;SAGtB,cAAc,EAAE;UACf,cAAc,EAAE;EA8BxF;AAWD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAE/E;AAiKD;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAS7F;AAiBD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,YAAY,EACnB,SAAS,CAAC,EAAE,IAAI,GACf,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA0E7B"}