@tstdl/base 0.78.0-beta7 → 0.78.0-beta70

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 (550) hide show
  1. package/api/client/client.d.ts +2 -1
  2. package/api/client/client.js +38 -16
  3. package/api/client/client.js.map +1 -1
  4. package/api/response.js +3 -2
  5. package/api/response.js.map +1 -1
  6. package/api/server/api-controller.js +1 -1
  7. package/api/server/api-controller.js.map +1 -1
  8. package/api/server/gateway.d.ts +15 -3
  9. package/api/server/gateway.js +53 -37
  10. package/api/server/gateway.js.map +1 -1
  11. package/api/server/middlewares/allowed-methods.middleware.js +1 -1
  12. package/api/server/middlewares/allowed-methods.middleware.js.map +1 -1
  13. package/api/server/middlewares/cors.middleware.d.ts +6 -4
  14. package/api/server/middlewares/cors.middleware.js +30 -30
  15. package/api/server/middlewares/cors.middleware.js.map +1 -1
  16. package/api/types.d.ts +36 -14
  17. package/api/types.js +1 -2
  18. package/api/types.js.map +1 -1
  19. package/api/utils.d.ts +9 -0
  20. package/api/utils.js +15 -0
  21. package/api/utils.js.map +1 -0
  22. package/application/application.d.ts +2 -0
  23. package/application/application.js +3 -0
  24. package/application/application.js.map +1 -1
  25. package/collections/awaitable/awaitable-list.js +7 -7
  26. package/collections/awaitable/awaitable-list.js.map +1 -1
  27. package/collections/observable/observable-array.js +1 -1
  28. package/collections/observable/observable-array.js.map +1 -1
  29. package/collections/observable/observable-list-base.js +2 -2
  30. package/collections/observable/observable-list-base.js.map +1 -1
  31. package/collections/observable/observable-sorted-array-list.js +3 -3
  32. package/collections/observable/observable-sorted-array-list.js.map +1 -1
  33. package/collections/sorted-array-list.js +3 -3
  34. package/collections/sorted-array-list.js.map +1 -1
  35. package/collections/sorted-map.js +1 -1
  36. package/collections/sorted-map.js.map +1 -1
  37. package/container/container.js +19 -21
  38. package/container/container.js.map +1 -1
  39. package/container/decorators.d.ts +1 -1
  40. package/container/decorators.js.map +1 -1
  41. package/container/resolve-chain.d.ts +2 -1
  42. package/container/resolve-chain.js +6 -2
  43. package/container/resolve-chain.js.map +1 -1
  44. package/core.js +1 -1
  45. package/core.js.map +1 -1
  46. package/css/theme/theme.service.js.map +1 -1
  47. package/data-structures/index-out-of-bounds.error.d.ts +1 -1
  48. package/data-structures/index-out-of-bounds.error.js +2 -2
  49. package/data-structures/index-out-of-bounds.error.js.map +1 -1
  50. package/data-structures/iterable-weak-map.js +1 -1
  51. package/data-structures/iterable-weak-map.js.map +1 -1
  52. package/data-structures/linked-list.js.map +1 -1
  53. package/data-structures/sorted-array-list.js +2 -2
  54. package/data-structures/sorted-array-list.js.map +1 -1
  55. package/database/mongo/classes.js.map +1 -1
  56. package/database/mongo/mongo-base.repository.js +3 -3
  57. package/database/mongo/mongo-base.repository.js.map +1 -1
  58. package/database/mongo/mongo-entity-repository.js +2 -2
  59. package/database/mongo/mongo-entity-repository.js.map +1 -1
  60. package/distributed-loop/distributed-loop.js.map +1 -1
  61. package/distributed-loop/provider.js.map +1 -1
  62. package/environment.d.ts +10 -0
  63. package/environment.js +26 -0
  64. package/environment.js.map +1 -0
  65. package/error/custom.error.d.ts +7 -3
  66. package/error/custom.error.js +17 -8
  67. package/error/custom.error.js.map +1 -1
  68. package/error/index.d.ts +1 -0
  69. package/error/index.js +1 -0
  70. package/error/index.js.map +1 -1
  71. package/error/max-bytes-exceeded.error.d.ts +1 -0
  72. package/error/max-bytes-exceeded.error.js +3 -0
  73. package/error/max-bytes-exceeded.error.js.map +1 -1
  74. package/error/not-implemented.error.js +1 -1
  75. package/error/not-implemented.error.js.map +1 -1
  76. package/error/not-supported.error.d.ts +7 -0
  77. package/error/not-supported.error.js +17 -0
  78. package/error/not-supported.error.js.map +1 -0
  79. package/error/unsupported-media-type.error.js +1 -1
  80. package/error/unsupported-media-type.error.js.map +1 -1
  81. package/examples/api/basic-overview.js +17 -25
  82. package/examples/api/basic-overview.js.map +1 -1
  83. package/examples/api/streaming.d.ts +1 -0
  84. package/examples/api/streaming.js +79 -0
  85. package/examples/api/streaming.js.map +1 -0
  86. package/examples/mail/basic.js +12 -7
  87. package/examples/mail/basic.js.map +1 -1
  88. package/examples/mail/templates/hello-name.d.ts +2 -0
  89. package/examples/mail/templates/hello-name.js +11 -0
  90. package/examples/mail/templates/hello-name.js.map +1 -0
  91. package/examples/pdf/basic.js +8 -5
  92. package/examples/pdf/basic.js.map +1 -1
  93. package/examples/pdf/templates/hello-name.d.ts +1 -4
  94. package/examples/pdf/templates/hello-name.js +30 -4
  95. package/examples/pdf/templates/hello-name.js.map +1 -1
  96. package/examples/reflection/basic.js +1 -1
  97. package/examples/reflection/basic.js.map +1 -1
  98. package/examples/template/basic.d.ts +1 -0
  99. package/examples/template/basic.js +25 -0
  100. package/examples/template/basic.js.map +1 -0
  101. package/examples/template/templates/hello-name.d.ts +2 -0
  102. package/examples/template/templates/hello-name.js +23 -0
  103. package/examples/template/templates/hello-name.js.map +1 -0
  104. package/http/client/adapters/undici-http-client.adapter.d.ts +1 -2
  105. package/http/client/adapters/undici-http-client.adapter.js +10 -12
  106. package/http/client/adapters/undici-http-client.adapter.js.map +1 -1
  107. package/http/client/http-client-request.d.ts +24 -14
  108. package/http/client/http-client-request.js +4 -2
  109. package/http/client/http-client-request.js.map +1 -1
  110. package/http/client/http-client-response.d.ts +10 -12
  111. package/http/client/http-client-response.js +5 -1
  112. package/http/client/http-client-response.js.map +1 -1
  113. package/http/client/http-client.adapter.d.ts +1 -2
  114. package/http/client/http-client.adapter.js.map +1 -1
  115. package/http/client/http-client.d.ts +30 -31
  116. package/http/client/http-client.js +107 -74
  117. package/http/client/http-client.js.map +1 -1
  118. package/http/http-body.d.ts +19 -0
  119. package/http/http-body.js +52 -0
  120. package/http/http-body.js.map +1 -0
  121. package/http/http-headers.d.ts +3 -0
  122. package/http/http-headers.js +6 -0
  123. package/http/http-headers.js.map +1 -1
  124. package/http/http-value-map.js +2 -2
  125. package/http/http-value-map.js.map +1 -1
  126. package/http/http.error.d.ts +5 -2
  127. package/http/http.error.js +27 -5
  128. package/http/http.error.js.map +1 -1
  129. package/http/index.d.ts +2 -0
  130. package/http/index.js +2 -0
  131. package/http/index.js.map +1 -1
  132. package/http/server/http-server-request.d.ts +5 -10
  133. package/http/server/http-server-request.js +3 -30
  134. package/http/server/http-server-request.js.map +1 -1
  135. package/http/server/http-server-response.d.ts +4 -4
  136. package/http/server/node/node-http-server.js +2 -1
  137. package/http/server/node/node-http-server.js.map +1 -1
  138. package/http/types.d.ts +1 -11
  139. package/http/types.js +1 -2
  140. package/http/types.js.map +1 -1
  141. package/http/utils.d.ts +15 -0
  142. package/http/utils.js +113 -0
  143. package/http/utils.js.map +1 -0
  144. package/image-service/image-service.js.map +1 -1
  145. package/image-service/imgproxy/imgproxy-image-service.js.map +1 -1
  146. package/json-path/json-path.d.ts +8 -5
  147. package/json-path/json-path.js +15 -1
  148. package/json-path/json-path.js.map +1 -1
  149. package/key-value-store/mongo/mongo-key-value-store.provider.js.map +1 -1
  150. package/key-value-store/mongo/mongo-key-value.repository.js.map +1 -1
  151. package/key-value-store/mongo/mongo-key-value.store.js.map +1 -1
  152. package/lock/mongo/lock.js.map +1 -1
  153. package/lock/mongo/mongo-lock-repository.js.map +1 -1
  154. package/lock/mongo/provider.js.map +1 -1
  155. package/logger/console/logger.js +1 -1
  156. package/logger/console/logger.js.map +1 -1
  157. package/logger/logger.d.ts +2 -2
  158. package/mail/clients/nodemailer.mail-client.js.map +1 -1
  159. package/mail/index.d.ts +0 -3
  160. package/mail/index.js +0 -3
  161. package/mail/index.js.map +1 -1
  162. package/mail/mail.service.d.ts +3 -5
  163. package/mail/mail.service.js +8 -14
  164. package/mail/mail.service.js.map +1 -1
  165. package/mail/models/mail-template.model.d.ts +11 -10
  166. package/mail/models/mail-template.model.js +7 -0
  167. package/mail/models/mail-template.model.js.map +1 -1
  168. package/mail/module.d.ts +1 -5
  169. package/mail/module.js +2 -11
  170. package/mail/module.js.map +1 -1
  171. package/mail/repositories/mongo-mail-log.repository.js.map +1 -1
  172. package/mail/tokens.d.ts +0 -3
  173. package/mail/tokens.js +1 -2
  174. package/mail/tokens.js.map +1 -1
  175. package/message-bus/local/local-message-bus-provider.js.map +1 -1
  176. package/message-bus/local/local-message-bus.js.map +1 -1
  177. package/migration/migrator.js.map +1 -1
  178. package/migration/mongo/migration-state-repository.js.map +1 -1
  179. package/module/modules/web-server.module.js.map +1 -1
  180. package/object-storage/s3/s3.object-storage-provider.js.map +1 -1
  181. package/object-storage/s3/s3.object-storage.js.map +1 -1
  182. package/openid-connect/cached-oidc-configuration.service.js.map +1 -1
  183. package/openid-connect/mongo-oidc-state.repository.js.map +1 -1
  184. package/openid-connect/oidc-configuration.service.d.ts +2 -1
  185. package/openid-connect/oidc-configuration.service.js +5 -3
  186. package/openid-connect/oidc-configuration.service.js.map +1 -1
  187. package/openid-connect/oidc.service-model.d.ts +11 -3
  188. package/openid-connect/oidc.service.d.ts +6 -3
  189. package/openid-connect/oidc.service.js +72 -25
  190. package/openid-connect/oidc.service.js.map +1 -1
  191. package/package.json +12 -11
  192. package/pdf/pdf.service.d.ts +91 -12
  193. package/pdf/pdf.service.js +209 -29
  194. package/pdf/pdf.service.js.map +1 -1
  195. package/pool/pool.d.ts +6 -1
  196. package/pool/pool.js +4 -1
  197. package/pool/pool.js.map +1 -1
  198. package/promise/deferred-promise.d.ts +2 -15
  199. package/promise/deferred-promise.js +5 -10
  200. package/promise/deferred-promise.js.map +1 -1
  201. package/promise/index.d.ts +1 -0
  202. package/promise/index.js +1 -0
  203. package/promise/index.js.map +1 -1
  204. package/promise/lazy-promise.d.ts +11 -0
  205. package/promise/lazy-promise.js +31 -0
  206. package/promise/lazy-promise.js.map +1 -0
  207. package/queue/mongo/mongo-job.repository.js +1 -1
  208. package/queue/mongo/mongo-job.repository.js.map +1 -1
  209. package/queue/mongo/queue.js.map +1 -1
  210. package/queue/mongo/queue.provider.js.map +1 -1
  211. package/reflection/decorator-data.js +1 -1
  212. package/reflection/decorator-data.js.map +1 -1
  213. package/reflection/decorators.d.ts +2 -2
  214. package/reflection/decorators.js +7 -7
  215. package/reflection/decorators.js.map +1 -1
  216. package/reflection/registry.d.ts +8 -8
  217. package/reflection/registry.js +1 -1
  218. package/reflection/registry.js.map +1 -1
  219. package/reflection/types.d.ts +3 -2
  220. package/reflection/utils.d.ts +7 -2
  221. package/reflection/utils.js +38 -12
  222. package/reflection/utils.js.map +1 -1
  223. package/require.d.ts +1 -0
  224. package/require.js +9 -0
  225. package/require.js.map +1 -0
  226. package/rpc/endpoints/message-port.rpc-endpoint.d.ts +19 -0
  227. package/rpc/endpoints/message-port.rpc-endpoint.js +34 -0
  228. package/rpc/endpoints/message-port.rpc-endpoint.js.map +1 -0
  229. package/rpc/index.d.ts +4 -0
  230. package/rpc/index.js +21 -0
  231. package/rpc/index.js.map +1 -0
  232. package/rpc/model.d.ts +72 -0
  233. package/rpc/model.js +13 -0
  234. package/rpc/model.js.map +1 -0
  235. package/rpc/rpc-endpoint.d.ts +11 -0
  236. package/rpc/rpc-endpoint.js +23 -0
  237. package/rpc/rpc-endpoint.js.map +1 -0
  238. package/rpc/rpc-error.d.ts +8 -0
  239. package/rpc/rpc-error.js +26 -0
  240. package/rpc/rpc-error.js.map +1 -0
  241. package/rpc/rpc.d.ts +19 -0
  242. package/rpc/rpc.js +263 -0
  243. package/rpc/rpc.js.map +1 -0
  244. package/schema/array-constraints/maximum-length.d.ts +2 -2
  245. package/schema/array-constraints/maximum-length.js +2 -2
  246. package/schema/array-constraints/maximum-length.js.map +1 -1
  247. package/schema/array-constraints/minimum-length.d.ts +2 -2
  248. package/schema/array-constraints/minimum-length.js +2 -2
  249. package/schema/array-constraints/minimum-length.js.map +1 -1
  250. package/schema/coercers/boolean.coercer.d.ts +2 -2
  251. package/schema/coercers/boolean.coercer.js +2 -2
  252. package/schema/coercers/boolean.coercer.js.map +1 -1
  253. package/schema/coercers/date.coercer.d.ts +2 -2
  254. package/schema/coercers/date.coercer.js +2 -2
  255. package/schema/coercers/date.coercer.js.map +1 -1
  256. package/schema/coercers/number.coercer.d.ts +3 -3
  257. package/schema/coercers/number.coercer.js +2 -2
  258. package/schema/coercers/number.coercer.js.map +1 -1
  259. package/schema/coercers/regexp.coercer.d.ts +2 -2
  260. package/schema/coercers/regexp.coercer.js +2 -2
  261. package/schema/coercers/regexp.coercer.js.map +1 -1
  262. package/schema/coercers/string.coercer.d.ts +3 -3
  263. package/schema/coercers/string.coercer.js +2 -2
  264. package/schema/coercers/string.coercer.js.map +1 -1
  265. package/schema/coercers/uint8-array.coercer.js +2 -2
  266. package/schema/coercers/uint8-array.coercer.js.map +1 -1
  267. package/schema/constraints/enumeration.d.ts +5 -5
  268. package/schema/constraints/enumeration.js +6 -6
  269. package/schema/constraints/enumeration.js.map +1 -1
  270. package/schema/constraints/generic.d.ts +2 -2
  271. package/schema/constraints/generic.js +2 -2
  272. package/schema/constraints/generic.js.map +1 -1
  273. package/schema/constraints/integer.d.ts +2 -2
  274. package/schema/constraints/integer.js +2 -2
  275. package/schema/constraints/integer.js.map +1 -1
  276. package/schema/constraints/literal.d.ts +2 -2
  277. package/schema/constraints/literal.js +2 -2
  278. package/schema/constraints/literal.js.map +1 -1
  279. package/schema/constraints/maximum-date.d.ts +2 -2
  280. package/schema/constraints/maximum-date.js +2 -2
  281. package/schema/constraints/maximum-date.js.map +1 -1
  282. package/schema/constraints/maximum-length.d.ts +3 -3
  283. package/schema/constraints/maximum-length.js +2 -2
  284. package/schema/constraints/maximum-length.js.map +1 -1
  285. package/schema/constraints/maximum.d.ts +2 -2
  286. package/schema/constraints/maximum.js +2 -2
  287. package/schema/constraints/maximum.js.map +1 -1
  288. package/schema/constraints/minimum-date.d.ts +2 -2
  289. package/schema/constraints/minimum-date.js +2 -2
  290. package/schema/constraints/minimum-date.js.map +1 -1
  291. package/schema/constraints/minimum-length.d.ts +3 -3
  292. package/schema/constraints/minimum-length.js +2 -2
  293. package/schema/constraints/minimum-length.js.map +1 -1
  294. package/schema/constraints/minimum.d.ts +2 -2
  295. package/schema/constraints/minimum.js +2 -2
  296. package/schema/constraints/minimum.js.map +1 -1
  297. package/schema/constraints/pattern.d.ts +2 -2
  298. package/schema/constraints/pattern.js +2 -2
  299. package/schema/constraints/pattern.js.map +1 -1
  300. package/schema/decorators/optional.d.ts +3 -1
  301. package/schema/decorators/optional.js +2 -2
  302. package/schema/decorators/optional.js.map +1 -1
  303. package/schema/decorators/types.d.ts +3 -3
  304. package/schema/decorators/utils.d.ts +3 -2
  305. package/schema/decorators/utils.js +8 -4
  306. package/schema/decorators/utils.js.map +1 -1
  307. package/schema/schema.d.ts +4 -10
  308. package/schema/schema.error.d.ts +6 -5
  309. package/schema/schema.error.js +13 -10
  310. package/schema/schema.error.js.map +1 -1
  311. package/schema/schema.js +110 -104
  312. package/schema/schema.js.map +1 -1
  313. package/schema/schemas/array.d.ts +3 -3
  314. package/schema/schemas/array.js.map +1 -1
  315. package/schema/schemas/assign.d.ts +6 -6
  316. package/schema/schemas/assign.js +3 -1
  317. package/schema/schemas/assign.js.map +1 -1
  318. package/schema/schemas/constraint.d.ts +3 -2
  319. package/schema/schemas/constraint.js.map +1 -1
  320. package/schema/schemas/defaulted.d.ts +2 -2
  321. package/schema/schemas/defaulted.js.map +1 -1
  322. package/schema/schemas/index.d.ts +2 -1
  323. package/schema/schemas/index.js +2 -1
  324. package/schema/schemas/index.js.map +1 -1
  325. package/schema/schemas/nullable.d.ts +2 -2
  326. package/schema/schemas/nullable.js.map +1 -1
  327. package/schema/schemas/number.d.ts +1 -1
  328. package/schema/schemas/number.js.map +1 -1
  329. package/schema/schemas/omit.d.ts +4 -0
  330. package/schema/schemas/{exclude.js → omit.js} +8 -6
  331. package/schema/schemas/omit.js.map +1 -0
  332. package/schema/schemas/optional.d.ts +3 -2
  333. package/schema/schemas/optional.js.map +1 -1
  334. package/schema/schemas/partial.d.ts +4 -0
  335. package/schema/schemas/partial.js +22 -0
  336. package/schema/schemas/partial.js.map +1 -0
  337. package/schema/schemas/pick.d.ts +2 -2
  338. package/schema/schemas/pick.js +3 -1
  339. package/schema/schemas/pick.js.map +1 -1
  340. package/schema/schemas/record.d.ts +2 -2
  341. package/schema/schemas/record.js.map +1 -1
  342. package/schema/schemas/union.d.ts +4 -9
  343. package/schema/schemas/union.js.map +1 -1
  344. package/schema/types.d.ts +30 -20
  345. package/schema/types.js +21 -8
  346. package/schema/types.js.map +1 -1
  347. package/schema/utils/schema.d.ts +6 -1
  348. package/schema/utils/schema.js +60 -4
  349. package/schema/utils/schema.js.map +1 -1
  350. package/schema/utils/value-type.d.ts +5 -3
  351. package/schema/utils/value-type.js +23 -8
  352. package/schema/utils/value-type.js.map +1 -1
  353. package/search-index/elastic/config.js.map +1 -1
  354. package/search-index/elastic/model/index-mapping.d.ts +2 -1
  355. package/search-index/elastic/model/index-mapping.js.map +1 -1
  356. package/search-index/elastic/search-index.js +5 -4
  357. package/search-index/elastic/search-index.js.map +1 -1
  358. package/search-index/error.d.ts +1 -1
  359. package/search-index/error.js +2 -2
  360. package/search-index/error.js.map +1 -1
  361. package/serializer/handlers/register.d.ts +2 -2
  362. package/serializer/handlers/register.js +6 -2
  363. package/serializer/handlers/register.js.map +1 -1
  364. package/serializer/serializable.d.ts +11 -8
  365. package/serializer/serializable.js +13 -4
  366. package/serializer/serializable.js.map +1 -1
  367. package/serializer/serializer.js +21 -8
  368. package/serializer/serializer.js.map +1 -1
  369. package/serializer/types.d.ts +21 -6
  370. package/serializer/types.js +2 -1
  371. package/serializer/types.js.map +1 -1
  372. package/supports.d.ts +5 -0
  373. package/supports.js +9 -0
  374. package/supports.js.map +1 -0
  375. package/templates/index.d.ts +2 -0
  376. package/templates/index.js +2 -0
  377. package/templates/index.js.map +1 -1
  378. package/templates/module.d.ts +3 -1
  379. package/templates/module.js +31 -8
  380. package/templates/module.js.map +1 -1
  381. package/templates/providers/file.provider-template.d.ts +16 -0
  382. package/templates/providers/{file-template.provider.js → file.provider-template.js} +22 -15
  383. package/templates/providers/file.provider-template.js.map +1 -0
  384. package/templates/providers/memory.template-provider.d.ts +8 -0
  385. package/templates/providers/{memory-template.provider.base.js → memory.template-provider.js} +8 -6
  386. package/templates/providers/memory.template-provider.js.map +1 -0
  387. package/templates/renderers/handlebars.template-renderer.d.ts +38 -6
  388. package/templates/renderers/handlebars.template-renderer.js +70 -3
  389. package/templates/renderers/handlebars.template-renderer.js.map +1 -1
  390. package/templates/renderers/mjml.template-renderer.d.ts +6 -6
  391. package/templates/renderers/mjml.template-renderer.js +8 -9
  392. package/templates/renderers/mjml.template-renderer.js.map +1 -1
  393. package/templates/renderers/string.template-renderer.d.ts +8 -0
  394. package/{mail/template-providers/memory-mail-template.provider.js → templates/renderers/string.template-renderer.js} +13 -7
  395. package/templates/renderers/string.template-renderer.js.map +1 -0
  396. package/templates/resolvers/file.template-resolver.d.ts +23 -0
  397. package/templates/resolvers/file.template-resolver.js +63 -0
  398. package/templates/resolvers/file.template-resolver.js.map +1 -0
  399. package/templates/resolvers/string.template-resolver.d.ts +13 -0
  400. package/templates/resolvers/string.template-resolver.js +44 -0
  401. package/templates/resolvers/string.template-resolver.js.map +1 -0
  402. package/templates/template-renderer.provider.js +7 -19
  403. package/templates/template-renderer.provider.js.map +1 -1
  404. package/templates/template-resolver.provider.d.ts +8 -0
  405. package/templates/template-resolver.provider.js +48 -0
  406. package/templates/template-resolver.provider.js.map +1 -0
  407. package/templates/template.model.d.ts +15 -4
  408. package/templates/template.model.js +50 -0
  409. package/templates/template.model.js.map +1 -1
  410. package/templates/template.renderer.d.ts +14 -3
  411. package/templates/template.renderer.js +3 -0
  412. package/templates/template.renderer.js.map +1 -1
  413. package/templates/template.resolver.d.ts +5 -0
  414. package/templates/template.resolver.js +7 -0
  415. package/templates/template.resolver.js.map +1 -0
  416. package/templates/template.service.d.ts +10 -4
  417. package/templates/template.service.js +19 -6
  418. package/templates/template.service.js.map +1 -1
  419. package/templates/tokens.d.ts +3 -2
  420. package/templates/tokens.js +2 -1
  421. package/templates/tokens.js.map +1 -1
  422. package/threading/index.d.ts +2 -0
  423. package/threading/index.js +19 -0
  424. package/threading/index.js.map +1 -0
  425. package/threading/thread-pool.d.ts +19 -0
  426. package/threading/thread-pool.js +50 -0
  427. package/threading/thread-pool.js.map +1 -0
  428. package/threading/thread-worker.d.ts +3 -0
  429. package/threading/thread-worker.js +9 -0
  430. package/threading/thread-worker.js.map +1 -0
  431. package/types.d.ts +27 -9
  432. package/utils/alphabet.d.ts +3 -1
  433. package/utils/alphabet.js +2 -0
  434. package/utils/alphabet.js.map +1 -1
  435. package/utils/array/array.d.ts +1 -2
  436. package/utils/array/array.js.map +1 -1
  437. package/utils/base64.js +3 -2
  438. package/utils/base64.js.map +1 -1
  439. package/utils/binary.js +3 -2
  440. package/utils/binary.js.map +1 -1
  441. package/utils/clone.js +4 -0
  442. package/utils/clone.js.map +1 -1
  443. package/utils/compression.d.ts +19 -15
  444. package/utils/compression.js +43 -10
  445. package/utils/compression.js.map +1 -1
  446. package/utils/encoding.d.ts +10 -0
  447. package/utils/encoding.js +20 -4
  448. package/utils/encoding.js.map +1 -1
  449. package/utils/enum.d.ts +5 -8
  450. package/utils/enum.js +15 -13
  451. package/utils/enum.js.map +1 -1
  452. package/utils/function/memoize.js +4 -4
  453. package/utils/function/memoize.js.map +1 -1
  454. package/utils/helpers.d.ts +0 -2
  455. package/utils/helpers.js +3 -14
  456. package/utils/helpers.js.map +1 -1
  457. package/utils/image.js +2 -2
  458. package/utils/image.js.map +1 -1
  459. package/utils/index.d.ts +2 -0
  460. package/utils/index.js +2 -0
  461. package/utils/index.js.map +1 -1
  462. package/utils/object/decycle.js +10 -21
  463. package/utils/object/decycle.js.map +1 -1
  464. package/utils/object/dereference.d.ts +7 -5
  465. package/utils/object/dereference.js +4 -4
  466. package/utils/object/dereference.js.map +1 -1
  467. package/utils/object/forward-ref.js +3 -19
  468. package/utils/object/forward-ref.js.map +1 -1
  469. package/utils/object/merge.js +3 -3
  470. package/utils/object/merge.js.map +1 -1
  471. package/utils/object/object.js +3 -3
  472. package/utils/object/object.js.map +1 -1
  473. package/utils/object/property-name.d.ts +2 -2
  474. package/utils/proxy.d.ts +6 -0
  475. package/utils/proxy.js +21 -0
  476. package/utils/proxy.js.map +1 -0
  477. package/utils/stream/finalize-stream.d.ts +1 -0
  478. package/utils/stream/finalize-stream.js +38 -0
  479. package/utils/stream/finalize-stream.js.map +1 -0
  480. package/utils/stream/index.d.ts +4 -3
  481. package/utils/stream/index.js +4 -3
  482. package/utils/stream/index.js.map +1 -1
  483. package/utils/stream/readable-stream-adapter.d.ts +5 -0
  484. package/utils/stream/readable-stream-adapter.js +45 -0
  485. package/utils/stream/readable-stream-adapter.js.map +1 -0
  486. package/utils/stream/readable-stream-from-promise.d.ts +1 -0
  487. package/utils/stream/readable-stream-from-promise.js +12 -0
  488. package/utils/stream/readable-stream-from-promise.js.map +1 -0
  489. package/utils/stream/size-limited-stream.d.ts +2 -0
  490. package/utils/stream/size-limited-stream.js +18 -0
  491. package/utils/stream/size-limited-stream.js.map +1 -0
  492. package/utils/stream/stream-reader.d.ts +2 -1
  493. package/utils/stream/stream-reader.js +7 -10
  494. package/utils/stream/stream-reader.js.map +1 -1
  495. package/utils/throw.d.ts +2 -0
  496. package/utils/throw.js +15 -0
  497. package/utils/throw.js.map +1 -0
  498. package/utils/type-guards.d.ts +34 -16
  499. package/utils/type-guards.js +112 -75
  500. package/utils/type-guards.js.map +1 -1
  501. package/web-types.d.ts +28 -0
  502. package/web-types.js +3 -0
  503. package/web-types.js.map +1 -0
  504. package/http/client/adapters/got-http-client.adapter.d.ts +0 -10
  505. package/http/client/adapters/got-http-client.adapter.js +0 -141
  506. package/http/client/adapters/got-http-client.adapter.js.map +0 -1
  507. package/http/client/adapters/utils.d.ts +0 -11
  508. package/http/client/adapters/utils.js +0 -79
  509. package/http/client/adapters/utils.js.map +0 -1
  510. package/mail/mail-template-renderer.provider.d.ts +0 -8
  511. package/mail/mail-template-renderer.provider.js +0 -60
  512. package/mail/mail-template-renderer.provider.js.map +0 -1
  513. package/mail/mail-template.provider.d.ts +0 -4
  514. package/mail/mail-template.provider.js +0 -7
  515. package/mail/mail-template.provider.js.map +0 -1
  516. package/mail/mail-template.renderer.d.ts +0 -10
  517. package/mail/mail-template.renderer.js +0 -7
  518. package/mail/mail-template.renderer.js.map +0 -1
  519. package/mail/template-providers/file-mail-template.provider.d.ts +0 -24
  520. package/mail/template-providers/file-mail-template.provider.js +0 -51
  521. package/mail/template-providers/file-mail-template.provider.js.map +0 -1
  522. package/mail/template-providers/memory-mail-template.provider.d.ts +0 -6
  523. package/mail/template-providers/memory-mail-template.provider.js.map +0 -1
  524. package/mail/template-renderers/handlebars.mail-template-renderer.d.ts +0 -13
  525. package/mail/template-renderers/handlebars.mail-template-renderer.js +0 -49
  526. package/mail/template-renderers/handlebars.mail-template-renderer.js.map +0 -1
  527. package/mail/template-renderers/mjml.mail-template-renderer.d.ts +0 -14
  528. package/mail/template-renderers/mjml.mail-template-renderer.js +0 -63
  529. package/mail/template-renderers/mjml.mail-template-renderer.js.map +0 -1
  530. package/schema/schemas/exclude.d.ts +0 -4
  531. package/schema/schemas/exclude.js.map +0 -1
  532. package/templates/providers/file-template.provider.base.d.ts +0 -12
  533. package/templates/providers/file-template.provider.base.js +0 -50
  534. package/templates/providers/file-template.provider.base.js.map +0 -1
  535. package/templates/providers/file-template.provider.d.ts +0 -22
  536. package/templates/providers/file-template.provider.js.map +0 -1
  537. package/templates/providers/memory-template.provider.base.d.ts +0 -9
  538. package/templates/providers/memory-template.provider.base.js.map +0 -1
  539. package/templates/providers/memory-template.provider.d.ts +0 -4
  540. package/templates/providers/memory-template.provider.js +0 -18
  541. package/templates/providers/memory-template.provider.js.map +0 -1
  542. package/utils/stream/async-iterable-readable.d.ts +0 -13
  543. package/utils/stream/async-iterable-readable.js +0 -40
  544. package/utils/stream/async-iterable-readable.js.map +0 -1
  545. package/utils/stream/async-writable-stream.d.ts +0 -16
  546. package/utils/stream/async-writable-stream.js +0 -41
  547. package/utils/stream/async-writable-stream.js.map +0 -1
  548. package/utils/stream/typed-readable.d.ts +0 -58
  549. package/utils/stream/typed-readable.js +0 -9
  550. package/utils/stream/typed-readable.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"minimum-date.js","sourceRoot":"","sources":["../../../source/schema/constraints/minimum-date.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,yDAAgE;AAChE,8CAAqE;AACrE,kDAA8C;AAE9C,oCAA6D;AAE7D,MAAa,qBAAsB,SAAQ,6BAAqB;IAM9D,YAAY,OAAsB;QAChC,KAAK,EAAE,CAAC;QAJD,kBAAa,GAAG,MAAM,CAAC;QAM9B,IAAI,CAAC,OAAO,GAAG,IAAA,sBAAQ,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC/D,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QAElD,IAAA,6BAAe,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,QAAQ,CAAC,KAAW,EAAE,IAAc;QAClC,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE;YACxB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;SACrG;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AAtBD,sDAsBC;AAED,SAAgB,WAAW,CAAC,OAAe;IACzC,OAAO,IAAA,iDAAoC,EAAC,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAA,kBAAU,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAClH,CAAC;AAFD,kCAEC"}
1
+ {"version":3,"file":"minimum-date.js","sourceRoot":"","sources":["../../../source/schema/constraints/minimum-date.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,yDAAgE;AAChE,8CAAqE;AACrE,kDAA8C;AAE9C,oCAA6D;AAE7D,MAAa,qBAAsB,SAAQ,6BAAqB;IAM9D,YAAY,OAAsB;QAChC,KAAK,EAAE,CAAC;QAJD,kBAAa,GAAG,MAAM,CAAC;QAM9B,IAAI,CAAC,OAAO,GAAG,IAAA,sBAAQ,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC/D,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QAElD,IAAA,6BAAe,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,QAAQ,CAAC,KAAW,EAAE,IAAc,EAAE,OAA0B;QAC9D,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE;YACxB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;SAC3I;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AAtBD,sDAsBC;AAED,SAAgB,WAAW,CAAC,OAAe;IACzC,OAAO,IAAA,iDAAoC,EAAC,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAA,kBAAU,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAClH,CAAC;AAFD,kCAEC"}
@@ -1,12 +1,12 @@
1
1
  import type { JsonPath } from "../../json-path/json-path";
2
2
  import type { Decorator } from "../../reflection";
3
- import type { ConstraintResult } from '../types';
3
+ import type { ConstraintContext, ConstraintResult } from '../types';
4
4
  import { SchemaValueConstraint } from '../types';
5
5
  export declare class MinimumLengthConstraint extends SchemaValueConstraint {
6
6
  private readonly minimumLength;
7
- readonly suitableTypes: (ArrayConstructor | StringConstructor | Uint8ArrayConstructor | Int8ArrayConstructor | Uint8ClampedArrayConstructor | Int16ArrayConstructor | Uint16ArrayConstructor | Int32ArrayConstructor | Uint32ArrayConstructor | Float32ArrayConstructor | Float64ArrayConstructor | BigInt64ArrayConstructor | BigUint64ArrayConstructor | ArrayBufferConstructor)[];
7
+ readonly suitableTypes: (ArrayConstructor | Uint8ArrayConstructor | StringConstructor | Int8ArrayConstructor | Uint8ClampedArrayConstructor | Int16ArrayConstructor | Uint16ArrayConstructor | Int32ArrayConstructor | Uint32ArrayConstructor | Float32ArrayConstructor | Float64ArrayConstructor | BigInt64ArrayConstructor | BigUint64ArrayConstructor | ArrayBufferConstructor)[];
8
8
  readonly expects: string;
9
9
  constructor(minimumLength: number);
10
- validate(value: string | ArrayLike<any> | ArrayBuffer, path: JsonPath): ConstraintResult;
10
+ validate(value: string | ArrayLike<any> | ArrayBuffer, path: JsonPath, context: ConstraintContext): ConstraintResult;
11
11
  }
12
12
  export declare function MinimumLength(minimumLength: number): Decorator<'property' | 'accessor'>;
@@ -13,10 +13,10 @@ class MinimumLengthConstraint extends types_1.SchemaValueConstraint {
13
13
  this.minimumLength = minimumLength;
14
14
  this.expects = `a minimum length of ${this.minimumLength}`;
15
15
  }
16
- validate(value, path) {
16
+ validate(value, path, context) {
17
17
  const length = (0, type_guards_1.isArrayBuffer)(value) ? value.byteLength : value.length;
18
18
  if (length < this.minimumLength) {
19
- return { valid: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, `a length of ${length}`, path) };
19
+ return { valid: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, `a length of ${length}`, path, { fast: context.options.fastErrors }) };
20
20
  }
21
21
  return { valid: true };
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"minimum-length.js","sourceRoot":"","sources":["../../../source/schema/constraints/minimum-length.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,yDAAoD;AACpD,+CAA2E;AAC3E,kDAA8C;AAE9C,oCAAiD;AAEjD,MAAa,uBAAwB,SAAQ,6BAAqB;IAMhE,YAAY,aAAqB;QAC/B,KAAK,EAAE,CAAC;QAJD,kBAAa,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;QAM3M,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,uBAAuB,IAAI,CAAC,aAAa,EAAE,CAAC;IAC7D,CAAC;IAED,QAAQ,CAAC,KAA4C,EAAE,IAAc;QACnE,MAAM,MAAM,GAAG,IAAA,2BAAa,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;QAEtE,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE;YAC/B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;SACzG;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AAtBD,0DAsBC;AAED,SAAgB,aAAa,CAAC,aAAqB;IACjD,OAAO,IAAA,4CAAoC,EAAC,IAAI,uBAAuB,CAAC,aAAa,CAAC,CAAC,CAAC;AAC1F,CAAC;AAFD,sCAEC"}
1
+ {"version":3,"file":"minimum-length.js","sourceRoot":"","sources":["../../../source/schema/constraints/minimum-length.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,yDAAoD;AACpD,+CAA2E;AAC3E,kDAA8C;AAE9C,oCAAiD;AAEjD,MAAa,uBAAwB,SAAQ,6BAAqB;IAMhE,YAAY,aAAqB;QAC/B,KAAK,EAAE,CAAC;QAJD,kBAAa,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;QAM3M,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,uBAAuB,IAAI,CAAC,aAAa,EAAE,CAAC;IAC7D,CAAC;IAED,QAAQ,CAAC,KAA4C,EAAE,IAAc,EAAE,OAA0B;QAC/F,MAAM,MAAM,GAAG,IAAA,2BAAa,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;QAEtE,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE;YAC/B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;SAC/I;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AAtBD,0DAsBC;AAED,SAAgB,aAAa,CAAC,aAAqB;IACjD,OAAO,IAAA,4CAAoC,EAAC,IAAI,uBAAuB,CAAC,aAAa,CAAC,CAAC,CAAC;AAC1F,CAAC;AAFD,sCAEC"}
@@ -1,12 +1,12 @@
1
1
  import type { JsonPath } from "../../json-path/json-path";
2
2
  import type { Decorator } from "../../reflection";
3
- import type { ConstraintResult } from '../types';
3
+ import type { ConstraintContext, ConstraintResult } from '../types';
4
4
  import { SchemaValueConstraint } from '../types';
5
5
  export declare class MinimumConstraint extends SchemaValueConstraint {
6
6
  private readonly minimum;
7
7
  readonly suitableTypes: NumberConstructor;
8
8
  readonly expects: string;
9
9
  constructor(minimum: number);
10
- validate(value: number, path: JsonPath): ConstraintResult;
10
+ validate(value: number, path: JsonPath, context: ConstraintContext): ConstraintResult;
11
11
  }
12
12
  export declare function Minimum(minimum: number): Decorator<'property' | 'accessor'>;
@@ -12,9 +12,9 @@ class MinimumConstraint extends types_1.SchemaValueConstraint {
12
12
  this.minimum = minimum;
13
13
  this.expects = `>= ${this.minimum}`;
14
14
  }
15
- validate(value, path) {
15
+ validate(value, path, context) {
16
16
  if (value < this.minimum) {
17
- return { valid: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, value.toString(), path) };
17
+ return { valid: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, value.toString(), path, { fast: context.options.fastErrors }) };
18
18
  }
19
19
  return { valid: true };
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"minimum.js","sourceRoot":"","sources":["../../../source/schema/constraints/minimum.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,+CAA2E;AAC3E,kDAA8C;AAE9C,oCAA6D;AAE7D,MAAa,iBAAkB,SAAQ,6BAAqB;IAM1D,YAAY,OAAe;QACzB,KAAK,EAAE,CAAC;QAJD,kBAAa,GAAG,MAAM,CAAC;QAM9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;IAED,QAAQ,CAAC,KAAa,EAAE,IAAc;QACpC,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE;YACxB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;SAClG;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AApBD,8CAoBC;AAED,SAAgB,OAAO,CAAC,OAAe;IACrC,OAAO,IAAA,4CAAoC,EAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAA,kBAAU,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC9G,CAAC;AAFD,0BAEC"}
1
+ {"version":3,"file":"minimum.js","sourceRoot":"","sources":["../../../source/schema/constraints/minimum.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,+CAA2E;AAC3E,kDAA8C;AAE9C,oCAA6D;AAE7D,MAAa,iBAAkB,SAAQ,6BAAqB;IAM1D,YAAY,OAAe;QACzB,KAAK,EAAE,CAAC;QAJD,kBAAa,GAAG,MAAM,CAAC;QAM9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;IAED,QAAQ,CAAC,KAAa,EAAE,IAAc,EAAE,OAA0B;QAChE,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE;YACxB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;SACxI;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AApBD,8CAoBC;AAED,SAAgB,OAAO,CAAC,OAAe;IACrC,OAAO,IAAA,4CAAoC,EAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAA,kBAAU,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC9G,CAAC;AAFD,0BAEC"}
@@ -1,6 +1,6 @@
1
1
  import type { JsonPath } from "../../json-path/json-path";
2
2
  import type { Decorator } from "../../reflection";
3
- import type { ConstraintResult } from '../types';
3
+ import type { ConstraintContext, ConstraintResult } from '../types';
4
4
  import { SchemaValueConstraint } from '../types';
5
5
  export declare class PatternConstraint extends SchemaValueConstraint {
6
6
  private readonly pattern;
@@ -8,6 +8,6 @@ export declare class PatternConstraint extends SchemaValueConstraint {
8
8
  readonly suitableTypes: StringConstructor;
9
9
  readonly expects: string;
10
10
  constructor(pattern: RegExp, patternName?: string);
11
- validate(value: string, path: JsonPath): ConstraintResult;
11
+ validate(value: string, path: JsonPath, context: ConstraintContext): ConstraintResult;
12
12
  }
13
13
  export declare function Pattern(pattern: RegExp, patternName?: string): Decorator<'property' | 'accessor'>;
@@ -13,9 +13,9 @@ class PatternConstraint extends types_1.SchemaValueConstraint {
13
13
  this.patternName = patternName;
14
14
  this.expects = `matching ${this.patternName}`;
15
15
  }
16
- validate(value, path) {
16
+ validate(value, path, context) {
17
17
  if (!this.pattern.test(value)) {
18
- return { valid: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, `"${value}"`, path) };
18
+ return { valid: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, `"${value}"`, path, { fast: context.options.fastErrors }) };
19
19
  }
20
20
  return { valid: true };
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pattern.js","sourceRoot":"","sources":["../../../source/schema/constraints/pattern.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,+CAA2E;AAC3E,kDAA8C;AAE9C,oCAA6D;AAE7D,MAAa,iBAAkB,SAAQ,6BAAqB;IAO1D,YAAY,OAAe,EAAE,cAAsB,WAAW;QAC5D,KAAK,EAAE,CAAC;QAJD,kBAAa,GAAG,MAAM,CAAC;QAM9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,YAAY,IAAI,CAAC,WAAW,EAAE,CAAC;IAChD,CAAC;IAED,QAAQ,CAAC,KAAa,EAAE,IAAc;QACpC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC7B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;SAC9F;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AAtBD,8CAsBC;AAED,SAAgB,OAAO,CAAC,OAAe,EAAE,WAAoB;IAC3D,OAAO,IAAA,4CAAoC,EAAC,IAAI,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAA,kBAAU,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC3H,CAAC;AAFD,0BAEC"}
1
+ {"version":3,"file":"pattern.js","sourceRoot":"","sources":["../../../source/schema/constraints/pattern.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,+CAA2E;AAC3E,kDAA8C;AAE9C,oCAA6D;AAE7D,MAAa,iBAAkB,SAAQ,6BAAqB;IAO1D,YAAY,OAAe,EAAE,cAAsB,WAAW;QAC5D,KAAK,EAAE,CAAC;QAJD,kBAAa,GAAG,MAAM,CAAC;QAM9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,YAAY,IAAI,CAAC,WAAW,EAAE,CAAC;IAChD,CAAC;IAED,QAAQ,CAAC,KAAa,EAAE,IAAc,EAAE,OAA0B;QAChE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC7B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;SACpI;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AAtBD,8CAsBC;AAED,SAAgB,OAAO,CAAC,OAAe,EAAE,WAAoB;IAC3D,OAAO,IAAA,4CAAoC,EAAC,IAAI,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAA,kBAAU,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC3H,CAAC;AAFD,0BAEC"}
@@ -1,2 +1,4 @@
1
1
  import type { Decorator } from "../../reflection";
2
- export declare function Optional(): Decorator<'property' | 'accessor'>;
2
+ import type { OneOrMany } from "../../types";
3
+ import type { SchemaTestable } from '../schema';
4
+ export declare function Optional(schema?: OneOrMany<SchemaTestable>): Decorator<'property' | 'accessor'>;
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.Optional = void 0;
5
5
  const utils_1 = require("./utils");
6
- function Optional() {
7
- return (0, utils_1.createSchemaPropertyDecorator)({ optional: true });
6
+ function Optional(schema) {
7
+ return (0, utils_1.createSchemaPropertyDecorator)({ schema, optional: true });
8
8
  }
9
9
  exports.Optional = Optional;
10
10
  //# sourceMappingURL=optional.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"optional.js","sourceRoot":"","sources":["../../../source/schema/decorators/optional.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAGzD,mCAAwD;AAExD,SAAgB,QAAQ;IACtB,OAAO,IAAA,qCAA6B,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3D,CAAC;AAFD,4BAEC"}
1
+ {"version":3,"file":"optional.js","sourceRoot":"","sources":["../../../source/schema/decorators/optional.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAKzD,mCAAwD;AAExD,SAAgB,QAAQ,CAAC,MAAkC;IACzD,OAAO,IAAA,qCAA6B,EAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AACnE,CAAC;AAFD,4BAEC"}
@@ -1,11 +1,11 @@
1
1
  import type { OneOrMany } from "../../types";
2
- import type { Schema } from '../schema';
2
+ import type { SchemaTestable } from '../schema';
3
3
  import type { ObjectSchema, SchemaArrayConstraint, SchemaFactoryFunction, SchemaValueCoercer, SchemaValueConstraint, SchemaValueTransformer, ValueSchema } from '../types';
4
4
  export declare type SchemaTypeReflectionData = Partial<Pick<ObjectSchema, 'mask' | 'allowUnknownProperties'>> & {
5
5
  factory?: SchemaFactoryFunction<any>;
6
6
  };
7
7
  export declare type SchemaPropertyReflectionData = {
8
- type?: OneOrMany<Schema>;
8
+ schema?: OneOrMany<SchemaTestable>;
9
9
  array?: boolean;
10
10
  optional?: boolean;
11
11
  nullable?: boolean;
@@ -15,4 +15,4 @@ export declare type SchemaPropertyReflectionData = {
15
15
  arrayConstraints?: readonly SchemaArrayConstraint[];
16
16
  valueConstraints?: readonly SchemaValueConstraint[];
17
17
  };
18
- export declare type PropertyOptions = Partial<ValueSchema>;
18
+ export declare type PropertyOptions = Partial<ValueSchema<any>>;
@@ -1,11 +1,12 @@
1
- import type { Decorator } from "../../reflection";
1
+ import type { Decorator, PropertyMetadata } from "../../reflection";
2
2
  import type { OneOrMany } from "../../types";
3
3
  import type { Schema } from '../schema';
4
4
  import type { SchemaArrayConstraint, SchemaValueCoercer, SchemaValueConstraint, SchemaValueTransformer } from '../types';
5
- import type { PropertyOptions } from './types';
5
+ import type { PropertyOptions, SchemaPropertyReflectionData } from './types';
6
6
  export declare function createSchemaPropertyDecorator(options: PropertyOptions): Decorator<'property' | 'accessor'>;
7
7
  export declare function createSchemaPropertyDecoratorFromSchema(schema: Schema): Decorator<'property' | 'accessor'>;
8
8
  export declare function createSchemaValueCoercerDecorator(coercer: SchemaValueCoercer, options?: PropertyOptions): Decorator<'property' | 'accessor'>;
9
9
  export declare function createSchemaValueTransformerDecorator(transformer: SchemaValueTransformer, options?: PropertyOptions): Decorator<'property' | 'accessor'>;
10
10
  export declare function createSchemaArrayConstraintDecorator(constraint: SchemaArrayConstraint, options?: PropertyOptions): Decorator<'property' | 'accessor'>;
11
11
  export declare function createSchemaValueConstraintDecorator(constraints: OneOrMany<SchemaValueConstraint>, options?: PropertyOptions): Decorator<'property' | 'accessor'>;
12
+ export declare function tryGetSchemaPropertyReflectionData(metadata: PropertyMetadata): SchemaPropertyReflectionData | undefined;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  /* eslint-disable @typescript-eslint/naming-convention */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.createSchemaValueConstraintDecorator = exports.createSchemaArrayConstraintDecorator = exports.createSchemaValueTransformerDecorator = exports.createSchemaValueCoercerDecorator = exports.createSchemaPropertyDecoratorFromSchema = exports.createSchemaPropertyDecorator = void 0;
4
+ exports.tryGetSchemaPropertyReflectionData = exports.createSchemaValueConstraintDecorator = exports.createSchemaArrayConstraintDecorator = exports.createSchemaValueTransformerDecorator = exports.createSchemaValueCoercerDecorator = exports.createSchemaPropertyDecoratorFromSchema = exports.createSchemaPropertyDecorator = void 0;
5
5
  const reflection_1 = require("../../reflection");
6
6
  const array_1 = require("../../utils/array/array");
7
7
  const merge_1 = require("../../utils/merge");
@@ -11,7 +11,7 @@ const types_1 = require("../types");
11
11
  function createSchemaPropertyDecorator(options) {
12
12
  return (0, reflection_1.createPropertyOrAccessorDecorator)({
13
13
  handler(_, metadata) {
14
- const schemaData = getSchemaPropertyReflectionData(metadata);
14
+ const schemaData = getOrCreateSchemaPropertyReflectionData(metadata);
15
15
  const newSchemaData = {
16
16
  ...options,
17
17
  coercers: ((0, type_guards_1.isDefined)(options.coercers) && (!(0, type_guards_1.isArray)(options.coercers) || options.coercers.length > 0)) ? (0, merge_1.merge)((0, array_1.toArray)(options.coercers), schemaData.coercers) : undefined,
@@ -44,8 +44,12 @@ function createSchemaValueConstraintDecorator(constraints, options) {
44
44
  return createSchemaPropertyDecorator({ ...options, valueConstraints: constraints });
45
45
  }
46
46
  exports.createSchemaValueConstraintDecorator = createSchemaValueConstraintDecorator;
47
- function getSchemaPropertyReflectionData(metadata) {
48
- let schemaData = metadata.data.tryGet('schema');
47
+ function tryGetSchemaPropertyReflectionData(metadata) {
48
+ return metadata.data.tryGet('schema');
49
+ }
50
+ exports.tryGetSchemaPropertyReflectionData = tryGetSchemaPropertyReflectionData;
51
+ function getOrCreateSchemaPropertyReflectionData(metadata) {
52
+ let schemaData = tryGetSchemaPropertyReflectionData(metadata);
49
53
  if ((0, type_guards_1.isUndefined)(schemaData)) {
50
54
  schemaData = {};
51
55
  metadata.data.set('schema', schemaData);
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../source/schema/decorators/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../source/schema/decorators/utils.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,14 @@
1
1
  import { JsonPath } from "../json-path";
2
- import type { AbstractConstructor } from "../types";
3
- import type { NormalizedObjectSchema, NormalizedTypeSchema, NormalizedValueSchema, ObjectSchema, SchemaTestOptions, SchemaTestResult, SchemaValueCoercer, TypeSchema, ValueSchema, ValueType } from './types';
2
+ import type { NormalizedObjectSchema, NormalizedTypeSchema, NormalizedValueSchema, ObjectSchema, SchemaOutput, SchemaTestOptions, SchemaTestResult, SchemaValueCoercer, TupleSchemaOutput, TypeSchema, ValueSchema, ValueType } from './types';
4
3
  export declare type Schema<T = any, O = T> = ObjectSchema<T, O> | ValueSchema<T, O> | TypeSchema<O>;
5
4
  export declare type SchemaTestable<T = any, O = T> = Schema<T, O> | ValueType<O>;
6
5
  export declare type NormalizedSchema<T = any, O = T> = NormalizedObjectSchema<T, O> | NormalizedValueSchema<T, O> | NormalizedTypeSchema<O>;
7
- export declare const getSchemaFromReflection: typeof _getObjectSchemaFromReflection;
8
6
  export declare const Schema: {
9
7
  registerDefaultCoercer(coercer: SchemaValueCoercer): void;
10
8
  test<T, O>(schemaOrValueType: SchemaTestable<T, O>, value: unknown, options?: SchemaTestOptions, path?: JsonPath): SchemaTestResult<O>;
11
9
  validate<T_1, O_1 = T_1>(schemaOrValueType: SchemaTestable<T_1, O_1>, value: unknown, options?: SchemaTestOptions): boolean;
12
10
  parse<T_2, O_2 = T_2>(schemaOrValueType: SchemaTestable<T_2, O_2>, value: unknown, options?: SchemaTestOptions): O_2;
13
- /**
14
- * disables stack traces for errors
15
- * @deprecated for internal use only
16
- */
17
- testWithFastError<T_3, O_3 = T_3>(schema: Schema<T_3, O_3>, value: unknown, options?: SchemaTestOptions, path?: JsonPath): SchemaTestResult<O_3>;
11
+ function<T_3 extends readonly SchemaTestable<any, any>[], R extends SchemaTestable<any, any>, F extends (...args: TupleSchemaOutput<T_3>) => SchemaOutput<R>>(argumentSchemas: T_3, returnSchema: R, handler: F): F;
12
+ asyncFunction<T_4 extends readonly SchemaTestable<any, any>[], R_1 extends SchemaTestable<any, any>, F_1 extends (...args: TupleSchemaOutput<T_4>) => Promise<SchemaOutput<R_1>>>(argumentSchemas: T_4, returnSchema: R_1, handler: F_1): F_1;
18
13
  };
19
- declare function _getObjectSchemaFromReflection<T>(type: AbstractConstructor<T>): ObjectSchema<T> | null;
20
- export {};
14
+ export declare function testWithFastError<T, O = T>(schema: Schema<T, O>, value: unknown, options?: SchemaTestOptions, path?: JsonPath): SchemaTestResult<O>;
@@ -1,5 +1,5 @@
1
- import type { CustomErrorOptions } from "../error";
2
- import { CustomError } from "../error";
1
+ import type { CustomErrorOptions } from "../error/custom.error";
2
+ import { CustomError } from "../error/custom.error";
3
3
  import type { JsonPath } from "../json-path";
4
4
  import type { OneOrMany, TypedOmit, UndefinableJson } from "../types";
5
5
  import type { ErrorExtraInfo } from "../utils/format-error";
@@ -8,14 +8,15 @@ export declare type SchemaErrorOptions = Pick<CustomErrorOptions, 'fast'> & {
8
8
  path: string | JsonPath;
9
9
  inner?: OneOrMany<SchemaError>;
10
10
  details?: UndefinableJson;
11
+ cause?: any;
11
12
  };
12
13
  export declare class SchemaError extends CustomError implements ErrorExtraInfo {
13
14
  static readonly errorName = "SchemaError";
14
15
  readonly path: string;
15
- readonly inner?: SchemaError[];
16
+ readonly inner?: OneOrMany<SchemaError>;
16
17
  readonly details?: UndefinableJson;
17
18
  constructor(message: string, options: SchemaErrorOptions, cause?: any);
18
- static expectedButGot(expected: OneOrMany<string | ValueType>, got: string | ValueType, path: string | JsonPath, options?: TypedOmit<SchemaErrorOptions, 'path'>): SchemaError;
19
- static couldNotCoerce(expected: OneOrMany<string | ValueType>, got: string | ValueType, path: string | JsonPath, customMessage?: string | undefined, options?: TypedOmit<SchemaErrorOptions, 'path'>): SchemaError;
19
+ static expectedButGot(expected: OneOrMany<string | ValueType>, got: string | ValueType, path: string | JsonPath, options: TypedOmit<SchemaErrorOptions, 'path'>): SchemaError;
20
+ static couldNotCoerce(expected: OneOrMany<string | ValueType>, got: string | ValueType, path: string | JsonPath, customMessage: string | undefined, options: TypedOmit<SchemaErrorOptions, 'path'>): SchemaError;
20
21
  getExtraInfo(includeMessage?: boolean): UndefinableJson | undefined;
21
22
  }
@@ -1,19 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SchemaError = void 0;
4
- const error_1 = require("../error");
4
+ const custom_error_1 = require("../error/custom.error");
5
5
  const array_1 = require("../utils/array/array");
6
6
  const type_guards_1 = require("../utils/type-guards");
7
7
  const utils_1 = require("./utils");
8
- class SchemaError extends error_1.CustomError {
8
+ class SchemaError extends custom_error_1.CustomError {
9
9
  constructor(message, options, cause) {
10
- super({ message, cause, fast: options.fast ?? true });
10
+ super({ message, cause: cause ?? options.cause, fast: options.fast });
11
11
  this.path = (0, type_guards_1.isString)(options.path) ? options.path : options.path.path;
12
- if ((0, type_guards_1.isDefined)(options.inner)) {
13
- const errors = (0, array_1.toArray)(options.inner);
14
- if (errors.length > 0) {
15
- this.inner = errors;
16
- }
12
+ if ((0, type_guards_1.isDefined)(options.inner) && (!(0, type_guards_1.isArray)(options.inner) || (options.inner.length > 0))) {
13
+ this.inner = (0, type_guards_1.isArray)(options.inner)
14
+ ? (options.inner.length == 1)
15
+ ? options.inner[0]
16
+ : options.inner
17
+ : options.inner;
17
18
  }
18
19
  if ((0, type_guards_1.isNotNullOrUndefined)(options.details)) {
19
20
  this.details = options.details;
@@ -47,8 +48,10 @@ class SchemaError extends error_1.CustomError {
47
48
  if (includeMessage) {
48
49
  obj['message'] = this.message;
49
50
  }
50
- if ((0, type_guards_1.isDefined)(this.inner) && (this.inner.length > 0)) {
51
- obj['inner'] = this.inner.map((error) => error.getExtraInfo(true));
51
+ if ((0, type_guards_1.isDefined)(this.inner)) {
52
+ obj['inner'] = (0, type_guards_1.isArray)(this.inner)
53
+ ? this.inner.map((error) => error.getExtraInfo(true))
54
+ : this.inner.getExtraInfo(true);
52
55
  }
53
56
  if ((0, type_guards_1.isNotNullOrUndefined)(this.details)) {
54
57
  obj['details'] = this.details;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.error.js","sourceRoot":"","sources":["../../source/schema/schema.error.ts"],"names":[],"mappings":";;;AACA,oCAAsC;AAGtC,gDAA8C;AAE9C,sDAAgF;AAEhF,mCAA2C;AAQ3C,MAAa,WAAY,SAAQ,mBAAW;IAO1C,YAAY,OAAe,EAAE,OAA2B,EAAE,KAAW;QACnE,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;QAEtD,IAAI,CAAC,IAAI,GAAG,IAAA,sBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QAEtE,IAAI,IAAA,uBAAS,EAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC5B,MAAM,MAAM,GAAG,IAAA,eAAO,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAEtC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrB,IAAI,CAAC,KAAK,GAAG,MAAuB,CAAC;aACtC;SACF;QAED,IAAI,IAAA,kCAAoB,EAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACzC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;SAChC;IACH,CAAC;IAED,6EAA6E;IAC7E,MAAM,CAAC,cAAc,CAAC,QAAuC,EAAE,GAAuB,EAAE,IAAuB,EAAE,OAA+C;QAC9J,MAAM,aAAa,GAAG,IAAA,eAAO,EAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAA,sBAAQ,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,wBAAgB,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpG,MAAM,OAAO,GAAG,IAAA,sBAAQ,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,wBAAgB,EAAC,GAAG,CAAC,CAAC;QAE5D,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,IAAI,CAAC;YAC9C,CAAC,CAAC,aAAa,CAAC,CAAC,CAAE;YACnB,CAAC,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAEpC,MAAM,OAAO,GAAG,YAAY,cAAc,YAAY,OAAO,GAAG,CAAC;QACjE,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,6EAA6E;IAC7E,MAAM,CAAC,cAAc,CAAC,QAAuC,EAAE,GAAuB,EAAE,IAAuB,EAAE,aAAkC,EAAE,OAA+C;QAClM,MAAM,aAAa,GAAG,IAAA,eAAO,EAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAA,sBAAQ,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,wBAAgB,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpG,MAAM,OAAO,GAAG,IAAA,sBAAQ,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,wBAAgB,EAAC,GAAG,CAAC,CAAC;QAE5D,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,IAAI,CAAC;YAC9C,CAAC,CAAC,aAAa,CAAC,CAAC,CAAE;YACnB,CAAC,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAEpC,MAAM,mBAAmB,GAAG,IAAA,uBAAS,EAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAClF,MAAM,YAAY,GAAG,oBAAoB,OAAO,OAAO,cAAc,GAAG,mBAAmB,EAAE,CAAC;QAC9F,OAAO,IAAI,WAAW,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,YAAY,CAAC,iBAA0B,KAAK;QAC1C,MAAM,GAAG,GAAoB;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;QAEF,IAAI,cAAc,EAAE;YAClB,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;SAC/B;QAED,IAAI,IAAA,uBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;YACpD,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;SACpE;QAED,IAAI,IAAA,kCAAoB,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACtC,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;SAC/B;QAED,OAAO,GAAG,CAAC;IACb,CAAC;;AAtEH,kCAuEC;AAtEiB,qBAAS,GAAG,aAAa,CAAC"}
1
+ {"version":3,"file":"schema.error.js","sourceRoot":"","sources":["../../source/schema/schema.error.ts"],"names":[],"mappings":"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"}