@tstdl/base 0.78.0-beta8 → 0.78.0-beta81

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 (610) 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.d.ts +3 -1
  7. package/api/server/api-controller.js +7 -2
  8. package/api/server/api-controller.js.map +1 -1
  9. package/api/server/gateway.d.ts +15 -3
  10. package/api/server/gateway.js +53 -37
  11. package/api/server/gateway.js.map +1 -1
  12. package/api/server/middlewares/allowed-methods.middleware.js +1 -1
  13. package/api/server/middlewares/allowed-methods.middleware.js.map +1 -1
  14. package/api/server/middlewares/cors.middleware.d.ts +6 -4
  15. package/api/server/middlewares/cors.middleware.js +30 -30
  16. package/api/server/middlewares/cors.middleware.js.map +1 -1
  17. package/api/types.d.ts +36 -14
  18. package/api/types.js +1 -2
  19. package/api/types.js.map +1 -1
  20. package/api/utils.d.ts +9 -0
  21. package/api/utils.js +15 -0
  22. package/api/utils.js.map +1 -0
  23. package/application/application.d.ts +15 -2
  24. package/application/application.js +89 -42
  25. package/application/application.js.map +1 -1
  26. package/collections/awaitable/awaitable-list.js +10 -11
  27. package/collections/awaitable/awaitable-list.js.map +1 -1
  28. package/collections/observable/observable-array.js +1 -1
  29. package/collections/observable/observable-array.js.map +1 -1
  30. package/collections/observable/observable-collection-base.js +12 -14
  31. package/collections/observable/observable-collection-base.js.map +1 -1
  32. package/collections/observable/observable-list-base.js +6 -8
  33. package/collections/observable/observable-list-base.js.map +1 -1
  34. package/collections/observable/observable-sorted-array-list.js +3 -3
  35. package/collections/observable/observable-sorted-array-list.js.map +1 -1
  36. package/collections/sorted-array-list.js +3 -3
  37. package/collections/sorted-array-list.js.map +1 -1
  38. package/collections/sorted-map.js +1 -1
  39. package/collections/sorted-map.js.map +1 -1
  40. package/container/container.js +19 -21
  41. package/container/container.js.map +1 -1
  42. package/container/decorators.d.ts +1 -1
  43. package/container/decorators.js.map +1 -1
  44. package/container/resolve-chain.d.ts +2 -1
  45. package/container/resolve-chain.js +6 -2
  46. package/container/resolve-chain.js.map +1 -1
  47. package/core.js +2 -2
  48. package/core.js.map +1 -1
  49. package/css/theme/theme.service.js.map +1 -1
  50. package/data-structures/circular-buffer.js +5 -6
  51. package/data-structures/circular-buffer.js.map +1 -1
  52. package/data-structures/collection.js +4 -5
  53. package/data-structures/collection.js.map +1 -1
  54. package/data-structures/index-out-of-bounds.error.d.ts +1 -1
  55. package/data-structures/index-out-of-bounds.error.js +2 -2
  56. package/data-structures/index-out-of-bounds.error.js.map +1 -1
  57. package/data-structures/iterable-weak-map.js +1 -1
  58. package/data-structures/iterable-weak-map.js.map +1 -1
  59. package/data-structures/linked-list.js.map +1 -1
  60. package/data-structures/sorted-array-list.js +2 -2
  61. package/data-structures/sorted-array-list.js.map +1 -1
  62. package/database/mongo/classes.js.map +1 -1
  63. package/database/mongo/mongo-base.repository.js +3 -3
  64. package/database/mongo/mongo-base.repository.js.map +1 -1
  65. package/database/mongo/mongo-entity-repository.js +2 -2
  66. package/database/mongo/mongo-entity-repository.js.map +1 -1
  67. package/distributed-loop/distributed-loop.js.map +1 -1
  68. package/distributed-loop/provider.js.map +1 -1
  69. package/environment.d.ts +10 -0
  70. package/environment.js +26 -0
  71. package/environment.js.map +1 -0
  72. package/error/custom.error.d.ts +7 -3
  73. package/error/custom.error.js +17 -8
  74. package/error/custom.error.js.map +1 -1
  75. package/error/index.d.ts +1 -0
  76. package/error/index.js +1 -0
  77. package/error/index.js.map +1 -1
  78. package/error/max-bytes-exceeded.error.d.ts +1 -0
  79. package/error/max-bytes-exceeded.error.js +3 -0
  80. package/error/max-bytes-exceeded.error.js.map +1 -1
  81. package/error/not-implemented.error.js +1 -1
  82. package/error/not-implemented.error.js.map +1 -1
  83. package/error/not-supported.error.d.ts +7 -0
  84. package/error/not-supported.error.js +17 -0
  85. package/error/not-supported.error.js.map +1 -0
  86. package/error/unsupported-media-type.error.js +1 -1
  87. package/error/unsupported-media-type.error.js.map +1 -1
  88. package/examples/api/basic-overview.js +17 -25
  89. package/examples/api/basic-overview.js.map +1 -1
  90. package/examples/api/streaming.d.ts +1 -0
  91. package/examples/api/streaming.js +79 -0
  92. package/examples/api/streaming.js.map +1 -0
  93. package/examples/mail/basic.js +12 -7
  94. package/examples/mail/basic.js.map +1 -1
  95. package/examples/mail/templates/hello-name.d.ts +2 -0
  96. package/examples/mail/templates/hello-name.js +11 -0
  97. package/examples/mail/templates/hello-name.js.map +1 -0
  98. package/examples/pdf/basic.js +9 -6
  99. package/examples/pdf/basic.js.map +1 -1
  100. package/examples/pdf/templates/hello-name.d.ts +1 -4
  101. package/examples/pdf/templates/hello-name.js +30 -4
  102. package/examples/pdf/templates/hello-name.js.map +1 -1
  103. package/examples/reflection/basic.js +1 -1
  104. package/examples/reflection/basic.js.map +1 -1
  105. package/examples/template/basic.d.ts +1 -0
  106. package/examples/template/basic.js +25 -0
  107. package/examples/template/basic.js.map +1 -0
  108. package/examples/template/templates/hello-name.d.ts +2 -0
  109. package/examples/template/templates/hello-name.js +23 -0
  110. package/examples/template/templates/hello-name.js.map +1 -0
  111. package/http/client/adapters/undici-http-client.adapter.d.ts +1 -2
  112. package/http/client/adapters/undici-http-client.adapter.js +10 -12
  113. package/http/client/adapters/undici-http-client.adapter.js.map +1 -1
  114. package/http/client/http-client-request.d.ts +24 -14
  115. package/http/client/http-client-request.js +4 -2
  116. package/http/client/http-client-request.js.map +1 -1
  117. package/http/client/http-client-response.d.ts +10 -12
  118. package/http/client/http-client-response.js +5 -1
  119. package/http/client/http-client-response.js.map +1 -1
  120. package/http/client/http-client.adapter.d.ts +1 -2
  121. package/http/client/http-client.adapter.js.map +1 -1
  122. package/http/client/http-client.d.ts +30 -31
  123. package/http/client/http-client.js +107 -74
  124. package/http/client/http-client.js.map +1 -1
  125. package/http/http-body.d.ts +19 -0
  126. package/http/http-body.js +52 -0
  127. package/http/http-body.js.map +1 -0
  128. package/http/http-headers.d.ts +3 -0
  129. package/http/http-headers.js +6 -0
  130. package/http/http-headers.js.map +1 -1
  131. package/http/http-value-map.js +2 -2
  132. package/http/http-value-map.js.map +1 -1
  133. package/http/http.error.d.ts +5 -2
  134. package/http/http.error.js +27 -5
  135. package/http/http.error.js.map +1 -1
  136. package/http/index.d.ts +2 -0
  137. package/http/index.js +2 -0
  138. package/http/index.js.map +1 -1
  139. package/http/server/http-server-request.d.ts +5 -10
  140. package/http/server/http-server-request.js +3 -30
  141. package/http/server/http-server-request.js.map +1 -1
  142. package/http/server/http-server-response.d.ts +4 -4
  143. package/http/server/node/node-http-server.js +6 -5
  144. package/http/server/node/node-http-server.js.map +1 -1
  145. package/http/types.d.ts +1 -11
  146. package/http/types.js +1 -2
  147. package/http/types.js.map +1 -1
  148. package/http/utils.d.ts +15 -0
  149. package/http/utils.js +113 -0
  150. package/http/utils.js.map +1 -0
  151. package/image-service/image-service.js.map +1 -1
  152. package/image-service/imgproxy/imgproxy-image-service.js.map +1 -1
  153. package/json-path/json-path.d.ts +8 -5
  154. package/json-path/json-path.js +15 -1
  155. package/json-path/json-path.js.map +1 -1
  156. package/key-value-store/mongo/mongo-key-value-store.provider.js.map +1 -1
  157. package/key-value-store/mongo/mongo-key-value.repository.js.map +1 -1
  158. package/key-value-store/mongo/mongo-key-value.store.js.map +1 -1
  159. package/lock/mongo/lock.js.map +1 -1
  160. package/lock/mongo/mongo-lock-repository.js.map +1 -1
  161. package/lock/mongo/provider.js.map +1 -1
  162. package/logger/console/logger.js +1 -1
  163. package/logger/console/logger.js.map +1 -1
  164. package/logger/logger.d.ts +2 -2
  165. package/mail/clients/nodemailer.mail-client.js.map +1 -1
  166. package/mail/index.d.ts +0 -3
  167. package/mail/index.js +0 -3
  168. package/mail/index.js.map +1 -1
  169. package/mail/mail.service.d.ts +3 -5
  170. package/mail/mail.service.js +8 -14
  171. package/mail/mail.service.js.map +1 -1
  172. package/mail/models/mail-template.model.d.ts +11 -10
  173. package/mail/models/mail-template.model.js +7 -0
  174. package/mail/models/mail-template.model.js.map +1 -1
  175. package/mail/module.d.ts +1 -5
  176. package/mail/module.js +2 -11
  177. package/mail/module.js.map +1 -1
  178. package/mail/repositories/mongo-mail-log.repository.js.map +1 -1
  179. package/mail/tokens.d.ts +0 -3
  180. package/mail/tokens.js +1 -2
  181. package/mail/tokens.js.map +1 -1
  182. package/message-bus/local/local-message-bus-provider.js.map +1 -1
  183. package/message-bus/local/local-message-bus.js.map +1 -1
  184. package/message-bus/message-bus-base.js +1 -2
  185. package/message-bus/message-bus-base.js.map +1 -1
  186. package/migration/migrator.js.map +1 -1
  187. package/migration/mongo/migration-state-repository.js.map +1 -1
  188. package/module/modules/web-server.module.js.map +1 -1
  189. package/notification/api.d.ts +20 -0
  190. package/notification/api.js +35 -0
  191. package/notification/api.js.map +1 -0
  192. package/notification/model.d.ts +18 -0
  193. package/notification/model.js +36 -0
  194. package/notification/model.js.map +1 -0
  195. package/notification/module.d.ts +9 -0
  196. package/notification/module.js +15 -0
  197. package/notification/module.js.map +1 -0
  198. package/object-storage/s3/s3.object-storage-provider.js.map +1 -1
  199. package/object-storage/s3/s3.object-storage.js.map +1 -1
  200. package/openid-connect/cached-oidc-configuration.service.js.map +1 -1
  201. package/openid-connect/mongo-oidc-state.repository.js.map +1 -1
  202. package/openid-connect/oidc-configuration.service.d.ts +2 -1
  203. package/openid-connect/oidc-configuration.service.js +5 -3
  204. package/openid-connect/oidc-configuration.service.js.map +1 -1
  205. package/openid-connect/oidc.service-model.d.ts +11 -3
  206. package/openid-connect/oidc.service.d.ts +6 -3
  207. package/openid-connect/oidc.service.js +72 -25
  208. package/openid-connect/oidc.service.js.map +1 -1
  209. package/package.json +13 -12
  210. package/pdf/pdf.service.d.ts +92 -12
  211. package/pdf/pdf.service.js +234 -34
  212. package/pdf/pdf.service.js.map +1 -1
  213. package/pool/pool.d.ts +23 -4
  214. package/pool/pool.js +76 -40
  215. package/pool/pool.js.map +1 -1
  216. package/promise/deferred-promise.d.ts +2 -15
  217. package/promise/deferred-promise.js +5 -10
  218. package/promise/deferred-promise.js.map +1 -1
  219. package/promise/index.d.ts +1 -0
  220. package/promise/index.js +1 -0
  221. package/promise/index.js.map +1 -1
  222. package/promise/lazy-promise.d.ts +11 -0
  223. package/promise/lazy-promise.js +31 -0
  224. package/promise/lazy-promise.js.map +1 -0
  225. package/queue/mongo/mongo-job.repository.js +1 -1
  226. package/queue/mongo/mongo-job.repository.js.map +1 -1
  227. package/queue/mongo/queue.js.map +1 -1
  228. package/queue/mongo/queue.provider.js.map +1 -1
  229. package/reflection/decorator-data.js +1 -1
  230. package/reflection/decorator-data.js.map +1 -1
  231. package/reflection/decorators.d.ts +2 -2
  232. package/reflection/decorators.js +7 -7
  233. package/reflection/decorators.js.map +1 -1
  234. package/reflection/registry.d.ts +8 -8
  235. package/reflection/registry.js +1 -1
  236. package/reflection/registry.js.map +1 -1
  237. package/reflection/types.d.ts +3 -2
  238. package/reflection/utils.d.ts +7 -2
  239. package/reflection/utils.js +38 -12
  240. package/reflection/utils.js.map +1 -1
  241. package/require.d.ts +1 -0
  242. package/require.js +9 -0
  243. package/require.js.map +1 -0
  244. package/rpc/endpoints/message-port.rpc-endpoint.d.ts +19 -0
  245. package/rpc/endpoints/message-port.rpc-endpoint.js +34 -0
  246. package/rpc/endpoints/message-port.rpc-endpoint.js.map +1 -0
  247. package/rpc/index.d.ts +4 -0
  248. package/rpc/index.js +21 -0
  249. package/rpc/index.js.map +1 -0
  250. package/rpc/model.d.ts +72 -0
  251. package/rpc/model.js +13 -0
  252. package/rpc/model.js.map +1 -0
  253. package/rpc/rpc-endpoint.d.ts +11 -0
  254. package/rpc/rpc-endpoint.js +23 -0
  255. package/rpc/rpc-endpoint.js.map +1 -0
  256. package/rpc/rpc-error.d.ts +8 -0
  257. package/rpc/rpc-error.js +26 -0
  258. package/rpc/rpc-error.js.map +1 -0
  259. package/rpc/rpc.d.ts +19 -0
  260. package/rpc/rpc.js +263 -0
  261. package/rpc/rpc.js.map +1 -0
  262. package/rxjs/retry-backoff.js +4 -5
  263. package/rxjs/retry-backoff.js.map +1 -1
  264. package/schema/array-constraints/maximum-length.d.ts +2 -2
  265. package/schema/array-constraints/maximum-length.js +2 -2
  266. package/schema/array-constraints/maximum-length.js.map +1 -1
  267. package/schema/array-constraints/minimum-length.d.ts +2 -2
  268. package/schema/array-constraints/minimum-length.js +2 -2
  269. package/schema/array-constraints/minimum-length.js.map +1 -1
  270. package/schema/coercers/boolean.coercer.d.ts +2 -2
  271. package/schema/coercers/boolean.coercer.js +2 -2
  272. package/schema/coercers/boolean.coercer.js.map +1 -1
  273. package/schema/coercers/date.coercer.d.ts +2 -2
  274. package/schema/coercers/date.coercer.js +2 -2
  275. package/schema/coercers/date.coercer.js.map +1 -1
  276. package/schema/coercers/number.coercer.d.ts +3 -3
  277. package/schema/coercers/number.coercer.js +2 -2
  278. package/schema/coercers/number.coercer.js.map +1 -1
  279. package/schema/coercers/regexp.coercer.d.ts +2 -2
  280. package/schema/coercers/regexp.coercer.js +2 -2
  281. package/schema/coercers/regexp.coercer.js.map +1 -1
  282. package/schema/coercers/string.coercer.d.ts +3 -3
  283. package/schema/coercers/string.coercer.js +2 -2
  284. package/schema/coercers/string.coercer.js.map +1 -1
  285. package/schema/coercers/uint8-array.coercer.js +2 -2
  286. package/schema/coercers/uint8-array.coercer.js.map +1 -1
  287. package/schema/constraints/enumeration.d.ts +5 -5
  288. package/schema/constraints/enumeration.js +6 -6
  289. package/schema/constraints/enumeration.js.map +1 -1
  290. package/schema/constraints/generic.d.ts +2 -2
  291. package/schema/constraints/generic.js +2 -2
  292. package/schema/constraints/generic.js.map +1 -1
  293. package/schema/constraints/integer.d.ts +2 -2
  294. package/schema/constraints/integer.js +2 -2
  295. package/schema/constraints/integer.js.map +1 -1
  296. package/schema/constraints/literal.d.ts +2 -2
  297. package/schema/constraints/literal.js +2 -2
  298. package/schema/constraints/literal.js.map +1 -1
  299. package/schema/constraints/maximum-date.d.ts +2 -2
  300. package/schema/constraints/maximum-date.js +2 -2
  301. package/schema/constraints/maximum-date.js.map +1 -1
  302. package/schema/constraints/maximum-length.d.ts +3 -3
  303. package/schema/constraints/maximum-length.js +2 -2
  304. package/schema/constraints/maximum-length.js.map +1 -1
  305. package/schema/constraints/maximum.d.ts +2 -2
  306. package/schema/constraints/maximum.js +2 -2
  307. package/schema/constraints/maximum.js.map +1 -1
  308. package/schema/constraints/minimum-date.d.ts +2 -2
  309. package/schema/constraints/minimum-date.js +2 -2
  310. package/schema/constraints/minimum-date.js.map +1 -1
  311. package/schema/constraints/minimum-length.d.ts +3 -3
  312. package/schema/constraints/minimum-length.js +2 -2
  313. package/schema/constraints/minimum-length.js.map +1 -1
  314. package/schema/constraints/minimum.d.ts +2 -2
  315. package/schema/constraints/minimum.js +2 -2
  316. package/schema/constraints/minimum.js.map +1 -1
  317. package/schema/constraints/pattern.d.ts +2 -2
  318. package/schema/constraints/pattern.js +2 -2
  319. package/schema/constraints/pattern.js.map +1 -1
  320. package/schema/decorators/array.d.ts +2 -2
  321. package/schema/decorators/array.js.map +1 -1
  322. package/schema/decorators/defaulted.d.ts +2 -2
  323. package/schema/decorators/defaulted.js.map +1 -1
  324. package/schema/decorators/index.d.ts +1 -0
  325. package/schema/decorators/index.js +1 -0
  326. package/schema/decorators/index.js.map +1 -1
  327. package/schema/decorators/one-or-many.d.ts +6 -0
  328. package/schema/decorators/one-or-many.js +12 -0
  329. package/schema/decorators/one-or-many.js.map +1 -0
  330. package/schema/decorators/optional.d.ts +3 -1
  331. package/schema/decorators/optional.js +2 -2
  332. package/schema/decorators/optional.js.map +1 -1
  333. package/schema/decorators/types.d.ts +3 -3
  334. package/schema/decorators/utils.d.ts +3 -2
  335. package/schema/decorators/utils.js +8 -4
  336. package/schema/decorators/utils.js.map +1 -1
  337. package/schema/schema.d.ts +4 -10
  338. package/schema/schema.error.d.ts +6 -5
  339. package/schema/schema.error.js +13 -10
  340. package/schema/schema.error.js.map +1 -1
  341. package/schema/schema.js +113 -104
  342. package/schema/schema.js.map +1 -1
  343. package/schema/schemas/array.d.ts +3 -3
  344. package/schema/schemas/array.js +1 -1
  345. package/schema/schemas/array.js.map +1 -1
  346. package/schema/schemas/assign.d.ts +6 -6
  347. package/schema/schemas/assign.js +3 -1
  348. package/schema/schemas/assign.js.map +1 -1
  349. package/schema/schemas/constraint.d.ts +3 -2
  350. package/schema/schemas/constraint.js.map +1 -1
  351. package/schema/schemas/defaulted.d.ts +2 -2
  352. package/schema/schemas/defaulted.js.map +1 -1
  353. package/schema/schemas/enumeration.js +1 -1
  354. package/schema/schemas/enumeration.js.map +1 -1
  355. package/schema/schemas/index.d.ts +3 -1
  356. package/schema/schemas/index.js +3 -1
  357. package/schema/schemas/index.js.map +1 -1
  358. package/schema/schemas/nullable.d.ts +2 -2
  359. package/schema/schemas/nullable.js.map +1 -1
  360. package/schema/schemas/number.d.ts +1 -1
  361. package/schema/schemas/number.js +0 -3
  362. package/schema/schemas/number.js.map +1 -1
  363. package/schema/schemas/omit.d.ts +4 -0
  364. package/schema/schemas/{exclude.js → omit.js} +8 -6
  365. package/schema/schemas/omit.js.map +1 -0
  366. package/schema/schemas/one-or-many.d.ts +10 -0
  367. package/schema/schemas/one-or-many.js +12 -0
  368. package/schema/schemas/one-or-many.js.map +1 -0
  369. package/schema/schemas/optional.d.ts +3 -2
  370. package/schema/schemas/optional.js.map +1 -1
  371. package/schema/schemas/partial.d.ts +4 -0
  372. package/schema/schemas/partial.js +22 -0
  373. package/schema/schemas/partial.js.map +1 -0
  374. package/schema/schemas/pick.d.ts +2 -2
  375. package/schema/schemas/pick.js +3 -1
  376. package/schema/schemas/pick.js.map +1 -1
  377. package/schema/schemas/record.d.ts +2 -2
  378. package/schema/schemas/record.js.map +1 -1
  379. package/schema/schemas/union.d.ts +4 -9
  380. package/schema/schemas/union.js.map +1 -1
  381. package/schema/types.d.ts +30 -20
  382. package/schema/types.js +22 -8
  383. package/schema/types.js.map +1 -1
  384. package/schema/utils/schema.d.ts +6 -1
  385. package/schema/utils/schema.js +60 -7
  386. package/schema/utils/schema.js.map +1 -1
  387. package/schema/utils/value-type.d.ts +5 -3
  388. package/schema/utils/value-type.js +22 -7
  389. package/schema/utils/value-type.js.map +1 -1
  390. package/search-index/elastic/config.js.map +1 -1
  391. package/search-index/elastic/model/index-mapping.d.ts +2 -1
  392. package/search-index/elastic/model/index-mapping.js.map +1 -1
  393. package/search-index/elastic/search-index.js +5 -4
  394. package/search-index/elastic/search-index.js.map +1 -1
  395. package/search-index/error.d.ts +1 -1
  396. package/search-index/error.js +2 -2
  397. package/search-index/error.js.map +1 -1
  398. package/serializer/handlers/register.d.ts +2 -2
  399. package/serializer/handlers/register.js +6 -2
  400. package/serializer/handlers/register.js.map +1 -1
  401. package/serializer/serializable.d.ts +11 -8
  402. package/serializer/serializable.js +13 -4
  403. package/serializer/serializable.js.map +1 -1
  404. package/serializer/serializer.js +21 -8
  405. package/serializer/serializer.js.map +1 -1
  406. package/serializer/types.d.ts +21 -6
  407. package/serializer/types.js +2 -1
  408. package/serializer/types.js.map +1 -1
  409. package/supports.d.ts +5 -0
  410. package/supports.js +9 -0
  411. package/supports.js.map +1 -0
  412. package/templates/index.d.ts +2 -0
  413. package/templates/index.js +2 -0
  414. package/templates/index.js.map +1 -1
  415. package/templates/module.d.ts +3 -1
  416. package/templates/module.js +31 -8
  417. package/templates/module.js.map +1 -1
  418. package/templates/providers/file.provider-template.d.ts +16 -0
  419. package/templates/providers/{file-template.provider.js → file.provider-template.js} +22 -15
  420. package/templates/providers/file.provider-template.js.map +1 -0
  421. package/templates/providers/memory.template-provider.d.ts +8 -0
  422. package/templates/providers/{memory-template.provider.base.js → memory.template-provider.js} +8 -6
  423. package/templates/providers/memory.template-provider.js.map +1 -0
  424. package/templates/renderers/handlebars.template-renderer.d.ts +38 -6
  425. package/templates/renderers/handlebars.template-renderer.js +70 -3
  426. package/templates/renderers/handlebars.template-renderer.js.map +1 -1
  427. package/templates/renderers/mjml.template-renderer.d.ts +6 -6
  428. package/templates/renderers/mjml.template-renderer.js +8 -9
  429. package/templates/renderers/mjml.template-renderer.js.map +1 -1
  430. package/templates/renderers/string.template-renderer.d.ts +8 -0
  431. package/{mail/template-providers/memory-mail-template.provider.js → templates/renderers/string.template-renderer.js} +13 -7
  432. package/templates/renderers/string.template-renderer.js.map +1 -0
  433. package/templates/resolvers/file.template-resolver.d.ts +23 -0
  434. package/templates/resolvers/file.template-resolver.js +63 -0
  435. package/templates/resolvers/file.template-resolver.js.map +1 -0
  436. package/templates/resolvers/string.template-resolver.d.ts +13 -0
  437. package/templates/resolvers/string.template-resolver.js +44 -0
  438. package/templates/resolvers/string.template-resolver.js.map +1 -0
  439. package/templates/template-renderer.provider.js +7 -19
  440. package/templates/template-renderer.provider.js.map +1 -1
  441. package/templates/template-resolver.provider.d.ts +8 -0
  442. package/templates/template-resolver.provider.js +48 -0
  443. package/templates/template-resolver.provider.js.map +1 -0
  444. package/templates/template.model.d.ts +15 -4
  445. package/templates/template.model.js +50 -0
  446. package/templates/template.model.js.map +1 -1
  447. package/templates/template.renderer.d.ts +14 -3
  448. package/templates/template.renderer.js +3 -0
  449. package/templates/template.renderer.js.map +1 -1
  450. package/templates/template.resolver.d.ts +5 -0
  451. package/templates/template.resolver.js +7 -0
  452. package/templates/template.resolver.js.map +1 -0
  453. package/templates/template.service.d.ts +10 -4
  454. package/templates/template.service.js +19 -6
  455. package/templates/template.service.js.map +1 -1
  456. package/templates/tokens.d.ts +3 -2
  457. package/templates/tokens.js +2 -1
  458. package/templates/tokens.js.map +1 -1
  459. package/threading/index.d.ts +2 -0
  460. package/{rxjs/compat → threading}/index.js +2 -1
  461. package/threading/index.js.map +1 -0
  462. package/threading/thread-pool.d.ts +20 -0
  463. package/threading/thread-pool.js +50 -0
  464. package/threading/thread-pool.js.map +1 -0
  465. package/threading/thread-worker.d.ts +3 -0
  466. package/threading/thread-worker.js +9 -0
  467. package/threading/thread-worker.js.map +1 -0
  468. package/types.d.ts +27 -9
  469. package/utils/alphabet.d.ts +3 -1
  470. package/utils/alphabet.js +2 -0
  471. package/utils/alphabet.js.map +1 -1
  472. package/utils/array/array.d.ts +1 -2
  473. package/utils/array/array.js.map +1 -1
  474. package/utils/async-iterable-helpers/observable-iterable.js +1 -2
  475. package/utils/async-iterable-helpers/observable-iterable.js.map +1 -1
  476. package/utils/async-iterable-helpers/take-until.js +2 -3
  477. package/utils/async-iterable-helpers/take-until.js.map +1 -1
  478. package/utils/base64.js +3 -2
  479. package/utils/base64.js.map +1 -1
  480. package/utils/binary.js +3 -2
  481. package/utils/binary.js.map +1 -1
  482. package/utils/cancellation-token.d.ts +28 -28
  483. package/utils/cancellation-token.js +14 -14
  484. package/utils/cancellation-token.js.map +1 -1
  485. package/utils/clone.js +4 -0
  486. package/utils/clone.js.map +1 -1
  487. package/utils/compression.d.ts +19 -15
  488. package/utils/compression.js +43 -10
  489. package/utils/compression.js.map +1 -1
  490. package/utils/encoding.d.ts +10 -0
  491. package/utils/encoding.js +20 -4
  492. package/utils/encoding.js.map +1 -1
  493. package/utils/enum.d.ts +5 -8
  494. package/utils/enum.js +15 -13
  495. package/utils/enum.js.map +1 -1
  496. package/utils/feedable-async-iterable.js +1 -2
  497. package/utils/feedable-async-iterable.js.map +1 -1
  498. package/utils/function/memoize.js +4 -4
  499. package/utils/function/memoize.js.map +1 -1
  500. package/utils/helpers.d.ts +0 -2
  501. package/utils/helpers.js +3 -14
  502. package/utils/helpers.js.map +1 -1
  503. package/utils/image.js +7 -8
  504. package/utils/image.js.map +1 -1
  505. package/utils/index.d.ts +2 -0
  506. package/utils/index.js +2 -0
  507. package/utils/index.js.map +1 -1
  508. package/utils/math.d.ts +37 -10
  509. package/utils/math.js +57 -12
  510. package/utils/math.js.map +1 -1
  511. package/utils/object/decycle.js +10 -21
  512. package/utils/object/decycle.js.map +1 -1
  513. package/utils/object/dereference.d.ts +7 -5
  514. package/utils/object/dereference.js +4 -4
  515. package/utils/object/dereference.js.map +1 -1
  516. package/utils/object/forward-ref.js +3 -19
  517. package/utils/object/forward-ref.js.map +1 -1
  518. package/utils/object/merge.js +3 -3
  519. package/utils/object/merge.js.map +1 -1
  520. package/utils/object/object.js +3 -3
  521. package/utils/object/object.js.map +1 -1
  522. package/utils/object/property-name.d.ts +2 -2
  523. package/utils/patch-worker.js +1 -2
  524. package/utils/patch-worker.js.map +1 -1
  525. package/utils/periodic-sampler.js +2 -2
  526. package/utils/periodic-sampler.js.map +1 -1
  527. package/utils/proxy.d.ts +6 -0
  528. package/utils/proxy.js +21 -0
  529. package/utils/proxy.js.map +1 -0
  530. package/utils/stream/finalize-stream.d.ts +1 -0
  531. package/utils/stream/finalize-stream.js +38 -0
  532. package/utils/stream/finalize-stream.js.map +1 -0
  533. package/utils/stream/index.d.ts +4 -3
  534. package/utils/stream/index.js +4 -3
  535. package/utils/stream/index.js.map +1 -1
  536. package/utils/stream/readable-stream-adapter.d.ts +5 -0
  537. package/utils/stream/readable-stream-adapter.js +45 -0
  538. package/utils/stream/readable-stream-adapter.js.map +1 -0
  539. package/utils/stream/readable-stream-from-promise.d.ts +1 -0
  540. package/utils/stream/readable-stream-from-promise.js +12 -0
  541. package/utils/stream/readable-stream-from-promise.js.map +1 -0
  542. package/utils/stream/size-limited-stream.d.ts +2 -0
  543. package/utils/stream/size-limited-stream.js +18 -0
  544. package/utils/stream/size-limited-stream.js.map +1 -0
  545. package/utils/stream/stream-reader.d.ts +2 -1
  546. package/utils/stream/stream-reader.js +7 -10
  547. package/utils/stream/stream-reader.js.map +1 -1
  548. package/utils/throw.d.ts +2 -0
  549. package/utils/throw.js +15 -0
  550. package/utils/throw.js.map +1 -0
  551. package/utils/timing.js +2 -2
  552. package/utils/timing.js.map +1 -1
  553. package/utils/type-guards.d.ts +34 -16
  554. package/utils/type-guards.js +112 -75
  555. package/utils/type-guards.js.map +1 -1
  556. package/web-types.d.ts +28 -0
  557. package/web-types.js +3 -0
  558. package/web-types.js.map +1 -0
  559. package/http/client/adapters/got-http-client.adapter.d.ts +0 -10
  560. package/http/client/adapters/got-http-client.adapter.js +0 -141
  561. package/http/client/adapters/got-http-client.adapter.js.map +0 -1
  562. package/http/client/adapters/utils.d.ts +0 -11
  563. package/http/client/adapters/utils.js +0 -79
  564. package/http/client/adapters/utils.js.map +0 -1
  565. package/mail/mail-template-renderer.provider.d.ts +0 -8
  566. package/mail/mail-template-renderer.provider.js +0 -60
  567. package/mail/mail-template-renderer.provider.js.map +0 -1
  568. package/mail/mail-template.provider.d.ts +0 -4
  569. package/mail/mail-template.provider.js +0 -7
  570. package/mail/mail-template.provider.js.map +0 -1
  571. package/mail/mail-template.renderer.d.ts +0 -10
  572. package/mail/mail-template.renderer.js +0 -7
  573. package/mail/mail-template.renderer.js.map +0 -1
  574. package/mail/template-providers/file-mail-template.provider.d.ts +0 -24
  575. package/mail/template-providers/file-mail-template.provider.js +0 -51
  576. package/mail/template-providers/file-mail-template.provider.js.map +0 -1
  577. package/mail/template-providers/memory-mail-template.provider.d.ts +0 -6
  578. package/mail/template-providers/memory-mail-template.provider.js.map +0 -1
  579. package/mail/template-renderers/handlebars.mail-template-renderer.d.ts +0 -13
  580. package/mail/template-renderers/handlebars.mail-template-renderer.js +0 -49
  581. package/mail/template-renderers/handlebars.mail-template-renderer.js.map +0 -1
  582. package/mail/template-renderers/mjml.mail-template-renderer.d.ts +0 -14
  583. package/mail/template-renderers/mjml.mail-template-renderer.js +0 -63
  584. package/mail/template-renderers/mjml.mail-template-renderer.js.map +0 -1
  585. package/rxjs/compat/first-value-from.d.ts +0 -2
  586. package/rxjs/compat/first-value-from.js +0 -9
  587. package/rxjs/compat/first-value-from.js.map +0 -1
  588. package/rxjs/compat/index.d.ts +0 -1
  589. package/rxjs/compat/index.js.map +0 -1
  590. package/schema/schemas/exclude.d.ts +0 -4
  591. package/schema/schemas/exclude.js.map +0 -1
  592. package/templates/providers/file-template.provider.base.d.ts +0 -12
  593. package/templates/providers/file-template.provider.base.js +0 -50
  594. package/templates/providers/file-template.provider.base.js.map +0 -1
  595. package/templates/providers/file-template.provider.d.ts +0 -22
  596. package/templates/providers/file-template.provider.js.map +0 -1
  597. package/templates/providers/memory-template.provider.base.d.ts +0 -9
  598. package/templates/providers/memory-template.provider.base.js.map +0 -1
  599. package/templates/providers/memory-template.provider.d.ts +0 -4
  600. package/templates/providers/memory-template.provider.js +0 -18
  601. package/templates/providers/memory-template.provider.js.map +0 -1
  602. package/utils/stream/async-iterable-readable.d.ts +0 -13
  603. package/utils/stream/async-iterable-readable.js +0 -40
  604. package/utils/stream/async-iterable-readable.js.map +0 -1
  605. package/utils/stream/async-writable-stream.d.ts +0 -16
  606. package/utils/stream/async-writable-stream.js +0 -41
  607. package/utils/stream/async-writable-stream.js.map +0 -1
  608. package/utils/stream/typed-readable.d.ts +0 -58
  609. package/utils/stream/typed-readable.js +0 -9
  610. package/utils/stream/typed-readable.js.map +0 -1
package/schema/schema.js CHANGED
@@ -1,10 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Schema = exports.getSchemaFromReflection = void 0;
3
+ exports.testWithFastError = exports.Schema = void 0;
4
4
  const json_path_1 = require("../json-path");
5
- const reflection_1 = require("../reflection");
6
5
  const array_1 = require("../utils/array/array");
7
- const function_1 = require("../utils/function");
8
6
  const noop_1 = require("../utils/noop");
9
7
  const object_1 = require("../utils/object/object");
10
8
  const set_1 = require("../utils/set");
@@ -18,7 +16,6 @@ const uint8_array_coercer_1 = require("./coercers/uint8-array.coercer");
18
16
  const schema_error_1 = require("./schema.error");
19
17
  const types_1 = require("./types");
20
18
  const utils_1 = require("./utils");
21
- exports.getSchemaFromReflection = (0, function_1.memoizeSingle)(_getObjectSchemaFromReflection);
22
19
  const defaultCoercers = new Map();
23
20
  let initialize = () => {
24
21
  exports.Schema.registerDefaultCoercer(number_coercer_1.numberCoercer);
@@ -40,51 +37,85 @@ exports.Schema = {
40
37
  }
41
38
  },
42
39
  test(schemaOrValueType, value, options, path = json_path_1.JsonPath.ROOT) {
43
- const schema = (0, types_1.valueTypeOrSchemaToSchema)(schemaOrValueType);
44
- const result = this.testWithFastError(schema, value, options, path);
40
+ const normalizedOptions = { fastErrors: true, ...options };
41
+ const schema = (0, types_1.schemaTestableToSchema)(schemaOrValueType);
42
+ const result = testWithFastError(schema, value, normalizedOptions, path);
45
43
  if (result.valid) {
46
44
  return result;
47
45
  }
48
- return { valid: false, error: new schema_error_1.SchemaError(result.error.message, { ...result.error, fast: false }, result.error.cause) };
46
+ if (options?.fastErrors == false) {
47
+ return result;
48
+ }
49
+ return { valid: false, error: new schema_error_1.SchemaError(result.error.message, { ...result.error }) };
49
50
  },
50
51
  validate(schemaOrValueType, value, options) {
51
- const schema = (0, types_1.valueTypeOrSchemaToSchema)(schemaOrValueType);
52
+ const schema = (0, types_1.schemaTestableToSchema)(schemaOrValueType);
52
53
  const result = this.test(schema, value, options);
53
54
  return result.valid;
54
55
  },
55
56
  parse(schemaOrValueType, value, options) {
56
- const schema = (0, types_1.valueTypeOrSchemaToSchema)(schemaOrValueType);
57
+ const schema = (0, types_1.schemaTestableToSchema)(schemaOrValueType);
57
58
  const result = this.test(schema, value, options);
58
59
  if (result.valid) {
59
60
  return result.value;
60
61
  }
61
62
  throw result.error;
62
63
  },
63
- /**
64
- * disables stack traces for errors
65
- * @deprecated for internal use only
66
- */
67
- testWithFastError(schema, value, options, path = json_path_1.JsonPath.ROOT) {
68
- initialize();
69
- if ((0, types_1.isValueSchema)(schema)) {
70
- return testValue(schema, value, options, path);
71
- }
72
- if ((0, types_1.isTypeSchema)(schema)) {
73
- return testType(schema, value, options, path);
74
- }
75
- return testObject(schema, value, options, path);
64
+ function(argumentSchemas, returnSchema, handler) {
65
+ const name = `validated${handler.name.slice(0, 1).toUpperCase()}${handler.name.slice(1)}`;
66
+ const schema = getFunctionParametersSchema(argumentSchemas);
67
+ return {
68
+ [name](...unsafeArgs) {
69
+ const safeArgs = exports.Schema.parse(schema, unsafeArgs, { mask: true });
70
+ const unsafeResult = handler(...safeArgs);
71
+ return exports.Schema.parse(returnSchema, unsafeResult); // eslint-disable-line @typescript-eslint/no-unsafe-return
72
+ }
73
+ }[name];
74
+ },
75
+ asyncFunction(argumentSchemas, returnSchema, handler) {
76
+ const name = `validated${handler.name.slice(0, 1).toUpperCase()}${handler.name.slice(1)}`;
77
+ const schema = getFunctionParametersSchema(argumentSchemas);
78
+ return {
79
+ async [name](...unsafeArgs) {
80
+ const safeArgs = exports.Schema.parse(schema, unsafeArgs, { mask: true });
81
+ const unsafeResult = await handler(...safeArgs);
82
+ return exports.Schema.parse(returnSchema, unsafeResult); // eslint-disable-line @typescript-eslint/no-unsafe-return
83
+ }
84
+ }[name];
76
85
  }
77
86
  };
87
+ function getFunctionParametersSchema(argumentSchemas) {
88
+ const schema = {
89
+ factory: { type: Array },
90
+ properties: {}
91
+ };
92
+ argumentSchemas.forEach((arg, index) => (schema.properties[index] = arg));
93
+ return schema;
94
+ }
95
+ function testWithFastError(schema, value, options, path = json_path_1.JsonPath.ROOT) {
96
+ initialize();
97
+ if ((0, types_1.isValueSchema)(schema)) {
98
+ return testValue(schema, value, options, path);
99
+ }
100
+ if ((0, types_1.isTypeSchema)(schema)) {
101
+ return testType(schema, value, options, path);
102
+ }
103
+ if ((0, types_1.isObjectSchema)(schema)) {
104
+ return testObject(schema, value, options, path);
105
+ }
106
+ throw new Error('Unsupported schema');
107
+ }
108
+ exports.testWithFastError = testWithFastError;
78
109
  function testType(schema, value, options = {}, path = json_path_1.JsonPath.ROOT) {
79
110
  const resolvedValueType = (0, types_1.resolveValueType)(schema.type);
80
111
  if (resolvedValueType == 'any') {
81
112
  return { valid: true, value: value };
82
113
  }
83
114
  else if ((0, type_guards_1.isFunction)(resolvedValueType)) {
84
- if (value instanceof resolvedValueType) {
85
- return { valid: true, value };
115
+ if ((value instanceof resolvedValueType) || ((0, utils_1.getValueType)(value) == resolvedValueType)) {
116
+ return { valid: true, value: value };
86
117
  }
87
- const objectSchema = (0, exports.getSchemaFromReflection)(resolvedValueType);
118
+ const objectSchema = (0, utils_1.tryGetObjectSchemaFromReflection)(resolvedValueType);
88
119
  if ((0, type_guards_1.isNotNull)(objectSchema)) {
89
120
  return testObject(objectSchema, value, options, path);
90
121
  }
@@ -92,12 +123,12 @@ function testType(schema, value, options = {}, path = json_path_1.JsonPath.ROOT)
92
123
  else if ((resolvedValueType == 'null' && (0, type_guards_1.isNull)(value)) || (resolvedValueType == 'undefined' && (0, type_guards_1.isUndefined)(value)) || (resolvedValueType == 'any')) {
93
124
  return { valid: true, value: value };
94
125
  }
95
- return { valid: false, error: schema_error_1.SchemaError.expectedButGot(resolvedValueType, (0, utils_1.getValueType)(value), path) };
126
+ return { valid: false, error: schema_error_1.SchemaError.expectedButGot(resolvedValueType, (0, utils_1.getValueType)(value), path, { fast: options.fastErrors }) };
96
127
  }
97
128
  // eslint-disable-next-line complexity
98
129
  function testObject(objectSchema, value, options = {}, path = json_path_1.JsonPath.ROOT) {
99
130
  if (!(value instanceof Object)) {
100
- return { valid: false, error: schema_error_1.SchemaError.expectedButGot(objectSchema.sourceType ?? 'object', (0, utils_1.getValueType)(value), path) };
131
+ return { valid: false, error: schema_error_1.SchemaError.expectedButGot(objectSchema.sourceType ?? 'object', (0, utils_1.getValueType)(value), path, { fast: options.fastErrors }) };
101
132
  }
102
133
  const schema = (0, utils_1.normalizeObjectSchema)(objectSchema);
103
134
  const mask = schema.mask ?? options.mask ?? false;
@@ -106,10 +137,10 @@ function testObject(objectSchema, value, options = {}, path = json_path_1.JsonPa
106
137
  const valuePropertyKeys = (0, object_1.objectKeys)(value);
107
138
  const unknownValuePropertyKeys = (0, set_1.differenceSets)(new Set(valuePropertyKeys), new Set(schemaPropertyKeys));
108
139
  if ((unknownValuePropertyKeys.length > 0) && !(mask || (schema.allowUnknownProperties.size > 0))) {
109
- return { valid: false, error: new schema_error_1.SchemaError('Unknown property', { path: path.add(unknownValuePropertyKeys[0]) }) };
140
+ return { valid: false, error: new schema_error_1.SchemaError('Unknown property', { path: path.add(unknownValuePropertyKeys[0]), fast: options.fastErrors }) };
110
141
  }
111
142
  for (const key of schemaPropertyKeys) {
112
- const propertyResult = exports.Schema.testWithFastError(schema.properties[key], value[key], options, path.add(key));
143
+ const propertyResult = testWithFastError(schema.properties[key], value[key], options, path.add(key));
113
144
  if (!propertyResult.valid) {
114
145
  return propertyResult;
115
146
  }
@@ -117,19 +148,11 @@ function testObject(objectSchema, value, options = {}, path = json_path_1.JsonPa
117
148
  }
118
149
  if (schema.allowUnknownProperties.size > 0) {
119
150
  for (const key of unknownValuePropertyKeys) {
120
- const errors = [];
121
- for (const allowedSchema of schema.allowUnknownProperties) {
122
- const propertyResult = exports.Schema.testWithFastError(allowedSchema, value[key], options, path.add(key));
123
- if (!propertyResult.valid && !mask) {
124
- errors.push(propertyResult.error);
125
- continue;
126
- }
127
- resultValue[key] = propertyResult.value;
128
- break;
129
- }
130
- if (errors.length > 0) {
131
- return { valid: false, error: (errors.length == 1) ? errors[0] : new schema_error_1.SchemaError('Value did not match any allowed schemas.', { inner: errors, path }) };
151
+ const propertyResult = testWithFastError((0, types_1.valueSchema)([...schema.allowUnknownProperties]), value[key], options, path.add(key));
152
+ if (!propertyResult.valid && !mask) {
153
+ return propertyResult;
132
154
  }
155
+ resultValue[key] = propertyResult.value;
133
156
  }
134
157
  }
135
158
  const testResultValue = (0, type_guards_1.isUndefined)(schema.factory) ? resultValue : (0, type_guards_1.isDefined)(schema.factory.type) ? resultValue : schema.factory.builder(resultValue);
@@ -137,23 +160,26 @@ function testObject(objectSchema, value, options = {}, path = json_path_1.JsonPa
137
160
  }
138
161
  // eslint-disable-next-line max-lines-per-function, max-statements, complexity
139
162
  function testValue(schema, value, options = {}, path = json_path_1.JsonPath.ROOT) {
140
- const valueSchema = (0, utils_1.normalizeValueSchema)(schema);
141
- if (valueSchema.optional && (0, type_guards_1.isUndefined)(value)) {
163
+ const normalizedValueSchema = (0, utils_1.normalizeValueSchema)(schema);
164
+ if (normalizedValueSchema.optional && (0, type_guards_1.isUndefined)(value)) {
142
165
  return { valid: true, value: value };
143
166
  }
144
- if (valueSchema.nullable && (0, type_guards_1.isNull)(value)) {
167
+ if (normalizedValueSchema.nullable && (0, type_guards_1.isNull)(value)) {
145
168
  return { valid: true, value: value };
146
169
  }
147
170
  const context = {
148
- schema: valueSchema,
171
+ schema: normalizedValueSchema,
149
172
  options
150
173
  };
151
174
  /** handle arrays */
152
- if (valueSchema.array) {
175
+ if (normalizedValueSchema.array) {
153
176
  if (!(0, type_guards_1.isArray)(value)) {
154
- throw schema_error_1.SchemaError.expectedButGot(Array, (0, utils_1.getValueType)(value), path);
177
+ if (normalizedValueSchema.coerce) {
178
+ return testValue(schema, [value], options, path);
179
+ }
180
+ throw schema_error_1.SchemaError.expectedButGot(Array, (0, utils_1.getValueType)(value), path, { fast: options.fastErrors });
155
181
  }
156
- for (const arrayConstraint of valueSchema.arrayConstraints) {
182
+ for (const arrayConstraint of normalizedValueSchema.arrayConstraints) {
157
183
  const result = arrayConstraint.validate(value, path, context);
158
184
  if (!result.valid) {
159
185
  return { valid: false, error: result.error };
@@ -174,44 +200,44 @@ function testValue(schema, value, options = {}, path = json_path_1.JsonPath.ROOT
174
200
  let valueTestResult;
175
201
  let resultValue;
176
202
  function updateCurrentState(newValue) {
177
- resultValue = newValue;
178
- valueType = (0, utils_1.getValueType)(newValue);
179
- valueTestResult = isValidValue(valueSchema.schema, newValue, options, path);
203
+ valueTestResult = isValidValue(normalizedValueSchema.schema, newValue, options, path);
204
+ resultValue = valueTestResult.valid ? valueTestResult.value : newValue;
205
+ valueType = (0, utils_1.getValueType)(resultValue);
180
206
  }
181
207
  updateCurrentState(value);
182
208
  /** try to coerce */
183
209
  if (!valueTestResult.valid) {
184
210
  const coercers = [
185
- ...(valueSchema.coercers.get(valueType) ?? []),
186
- ...((valueSchema.coerce || options.coerce == true) ? (defaultCoercers.get(valueType) ?? []) : [])
211
+ ...(normalizedValueSchema.coercers.get(valueType) ?? []),
212
+ ...((normalizedValueSchema.coerce || options.coerce == true) ? (defaultCoercers.get(valueType) ?? []) : [])
187
213
  ];
188
214
  const errors = [];
215
+ let success = false;
189
216
  for (const coercer of coercers) {
190
217
  const coerceResult = coercer.coerce(resultValue, path, context);
191
218
  if (!coerceResult.success) {
192
219
  errors.push(coerceResult.error);
193
220
  continue;
194
221
  }
222
+ success = true;
195
223
  updateCurrentState(coerceResult.value);
196
224
  break;
197
225
  }
198
- if (errors.length > 0) {
199
- return { valid: false, error: (errors.length == 1) ? errors[0] : new schema_error_1.SchemaError('Value could not be coerced.', { inner: errors, path }) };
226
+ if (!success && (errors.length > 0)) {
227
+ return { valid: false, error: (errors.length == 1) ? errors[0] : new schema_error_1.SchemaError('Value could not be coerced.', { inner: errors, path, fast: options.fastErrors }) };
200
228
  }
201
229
  }
202
230
  if (!valueTestResult.valid) {
203
- const expectedNames = (0, utils_1.getSchemaTypeNames)(schema);
204
- const expectedTypeString = (expectedNames.length == 1)
205
- ? expectedNames[0]
206
- : `[${expectedNames.join(', ')}]`;
207
- const expects = valueSchema.valueConstraints.map((constraint) => constraint.expects);
208
- const expectsString = (expects.length > 0) ? ` (${expects.join(', ')})` : '';
209
- return { valid: false, error: schema_error_1.SchemaError.expectedButGot(`${expectedTypeString}${expectsString}`, valueType, path) };
231
+ return valueTestResult;
210
232
  }
211
- if (valueSchema.transformers.length > 0) {
233
+ if (normalizedValueSchema.transformers.length > 0) {
212
234
  let transformedValue = resultValue;
213
- for (const transformer of valueSchema.transformers) {
214
- transformedValue = transformer.transform(transformedValue, path, context);
235
+ for (const transformer of normalizedValueSchema.transformers) {
236
+ const transformResult = transformer.transform(transformedValue, path, context);
237
+ if (!transformResult.success) {
238
+ return { valid: false, error: transformResult.error };
239
+ }
240
+ transformedValue = transformResult.value;
215
241
  }
216
242
  updateCurrentState(transformedValue);
217
243
  if (!valueTestResult.valid) { // eslint-disable-line @typescript-eslint/no-unnecessary-condition
@@ -221,62 +247,45 @@ function testValue(schema, value, options = {}, path = json_path_1.JsonPath.ROOT
221
247
  }
222
248
  {
223
249
  const errors = [];
224
- for (const constraint of valueSchema.valueConstraints) {
250
+ for (const constraint of normalizedValueSchema.valueConstraints) {
225
251
  const result = constraint.validate(resultValue, path, context);
226
252
  if (!result.valid) {
227
253
  errors.push(result.error);
228
254
  }
229
255
  }
230
256
  if (errors.length > 0) {
231
- return { valid: false, error: (errors.length == 1) ? errors[0] : new schema_error_1.SchemaError('Value did not match schema.', { path, fast: true, inner: errors }) };
257
+ return { valid: false, error: (errors.length == 1) ? errors[0] : new schema_error_1.SchemaError('Value did not match schema.', { path, inner: errors, fast: options.fastErrors }) };
232
258
  }
233
259
  }
234
260
  return { valid: true, value: resultValue };
235
261
  }
236
262
  function isValidValue(validSchemas, value, options, path) {
237
- const errors = [];
263
+ const errorResults = [];
238
264
  for (const schema of validSchemas) {
239
- const result = exports.Schema.testWithFastError(schema, value, options, path);
265
+ const result = testWithFastError(schema, value, options, path);
240
266
  if (result.valid) {
241
267
  return result;
242
268
  }
243
- errors.push(result.error);
269
+ errorResults.push(result);
244
270
  }
245
- return { valid: false, error: (errors.length == 1) ? errors[0] : new schema_error_1.SchemaError('Value did not match schema.', { path, fast: true, inner: errors }) };
246
- }
247
- function _getObjectSchemaFromReflection(type) {
248
- const metadata = reflection_1.reflectionRegistry.getMetadata(type);
249
- if (!metadata.registered) {
250
- return null;
271
+ if (errorResults.length == 1) {
272
+ return errorResults[0];
251
273
  }
252
- const typeData = metadata.data.tryGet('schema');
253
- const properties = {};
254
- for (const [key, propertyMetadata] of metadata.properties) {
255
- const reflectionData = propertyMetadata.data.tryGet('schema');
256
- const itemType = ((0, type_guards_1.isDefined)(reflectionData) && (0, type_guards_1.isDefined)(reflectionData.type)) ? reflectionData.type : undefined;
257
- const array = reflectionData?.array == true;
258
- if (array && ((0, type_guards_1.isUndefined)(itemType) || ((0, type_guards_1.isArray)(itemType) && (itemType.length == 0)))) {
259
- throw new Error(`Item type missing on type ${type.name} at property "${String(key)}"`);
260
- }
261
- properties[key] = {
262
- schema: (0, types_1.valueTypesOrSchemasToSchemas)(itemType ?? propertyMetadata.type),
263
- array,
264
- optional: reflectionData?.optional,
265
- nullable: reflectionData?.nullable,
266
- coerce: reflectionData?.coerce,
267
- coercers: reflectionData?.coercers,
268
- transformers: reflectionData?.transformers,
269
- arrayConstraints: reflectionData?.arrayConstraints,
270
- valueConstraints: reflectionData?.valueConstraints
271
- };
274
+ const errors = errorResults.map((result) => result.error);
275
+ const expectStrings = [];
276
+ for (const schema of validSchemas) {
277
+ getExpectString(schema);
272
278
  }
273
- const objectSchema = {
274
- sourceType: type,
275
- factory: (0, type_guards_1.isDefined)(typeData?.factory) ? { builder: typeData.factory } : { type: type },
276
- properties,
277
- mask: typeData?.mask,
278
- allowUnknownProperties: typeData?.allowUnknownProperties
279
- };
280
- return objectSchema;
279
+ const expectString = expectStrings.join('\n');
280
+ return { valid: false, error: schema_error_1.SchemaError.expectedButGot(expectString, (0, utils_1.getValueType)(value), path, { inner: errors, fast: options.fastErrors }) };
281
+ }
282
+ function getExpectString(schema) {
283
+ const expectedNames = (0, utils_1.getSchemaTypeNames)(schema);
284
+ const expectedTypeString = (expectedNames.length == 1)
285
+ ? expectedNames[0]
286
+ : `[${expectedNames.join(', ')}]`;
287
+ const expects = (0, types_1.isValueSchema)(schema) ? (0, array_1.toArray)(schema.valueConstraints ?? []).map((constraint) => constraint.expects) : [];
288
+ const expectsString = (expects.length > 0) ? ` (${expects.join(', ')})` : '';
289
+ return `${expectedTypeString}${expectsString}`;
281
290
  }
282
291
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../source/schema/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../source/schema/schema.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import type { OneOrMany } from "../../types";
2
- import type { Schema } from '../schema';
3
- import type { Coercible, ValueSchema, ValueType } from '../types';
2
+ import type { SchemaTestable } from '../schema';
3
+ import type { Coercible, ValueSchema } from '../types';
4
4
  export declare type ArrayOptions = Coercible & {
5
5
  /** minimum length */
6
6
  minimumLength?: number;
7
7
  /** maximum length */
8
8
  maximumLength?: number;
9
9
  };
10
- export declare function array<T, O = T>(innerValues: OneOrMany<Schema<T, O> | ValueType>, options?: ArrayOptions): ValueSchema<T, O[]>;
10
+ export declare function array<T, O = T>(innerValues: OneOrMany<SchemaTestable<T, O>>, options?: ArrayOptions): ValueSchema<T, O[]>;
@@ -13,7 +13,7 @@ function array(innerValues, options = {}) {
13
13
  if ((0, type_guards_1.isDefined)(options.maximumLength)) {
14
14
  arrayConstraints.push(new array_constraints_1.ArrayMaximumLengthConstraint(options.maximumLength));
15
15
  }
16
- return (0, types_1.valueSchema)((0, types_1.valueTypesOrSchemasToSchemas)(innerValues), {
16
+ return (0, types_1.valueSchema)(innerValues, {
17
17
  array: true,
18
18
  coerce: options.coerce,
19
19
  arrayConstraints
@@ -1 +1 @@
1
- {"version":3,"file":"array.js","sourceRoot":"","sources":["../../../source/schema/schemas/array.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAGzD,yDAAgD;AAChD,4DAAoE;AAGpE,oCAAqE;AAUrE,SAAgB,KAAK,CAAW,WAAgD,EAAE,UAAwB,EAAE;IAC1G,MAAM,gBAAgB,GAA4B,EAAE,CAAC;IAErD,IAAI,IAAA,uBAAS,EAAC,OAAO,CAAC,aAAa,CAAC,EAAE;QACpC,gBAAgB,CAAC,IAAI,CAAC,IAAI,gDAA4B,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;KAChF;IAED,IAAI,IAAA,uBAAS,EAAC,OAAO,CAAC,aAAa,CAAC,EAAE;QACpC,gBAAgB,CAAC,IAAI,CAAC,IAAI,gDAA4B,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;KAChF;IAED,OAAO,IAAA,mBAAW,EAAM,IAAA,oCAA4B,EAAC,WAAW,CAAC,EAAE;QACjE,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,gBAAgB;KACjB,CAAC,CAAC;AACL,CAAC;AAhBD,sBAgBC"}
1
+ {"version":3,"file":"array.js","sourceRoot":"","sources":["../../../source/schema/schemas/array.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAGzD,yDAAgD;AAChD,4DAAoE;AAGpE,oCAAuC;AAUvC,SAAgB,KAAK,CAAW,WAA4C,EAAE,UAAwB,EAAE;IACtG,MAAM,gBAAgB,GAA4B,EAAE,CAAC;IAErD,IAAI,IAAA,uBAAS,EAAC,OAAO,CAAC,aAAa,CAAC,EAAE;QACpC,gBAAgB,CAAC,IAAI,CAAC,IAAI,gDAA4B,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;KAChF;IAED,IAAI,IAAA,uBAAS,EAAC,OAAO,CAAC,aAAa,CAAC,EAAE;QACpC,gBAAgB,CAAC,IAAI,CAAC,IAAI,gDAA4B,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;KAChF;IAED,OAAO,IAAA,mBAAW,EAAM,WAAW,EAAE;QACnC,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,gBAAgB;KACjB,CAAC,CAAC;AACL,CAAC;AAhBD,sBAgBC"}
@@ -1,8 +1,8 @@
1
1
  import type { Record } from "../../types";
2
2
  import type { Merge } from 'type-fest';
3
- import type { ObjectSchema } from '../types';
4
- export declare function assign<T1 extends Record, O1 extends Record, T2 extends Record, O2 extends Record>(schema1: ObjectSchema<T1, O1>, schema2: ObjectSchema<T2, O2>): ObjectSchema<Merge<T1, T2>, Merge<O1, O2>>;
5
- export declare function assign<T1 extends Record, O1 extends Record, T2 extends Record, O2 extends Record, T3 extends Record, O3 extends Record>(schema1: ObjectSchema<T1, O1>, schema2: ObjectSchema<T2, O2>, schema3: ObjectSchema<T3, O3>): ObjectSchema<Merge<Merge<T1, T2>, T3>, Merge<Merge<O1, O2>, O3>>;
6
- export declare function assign<T1 extends Record, O1 extends Record, T2 extends Record, O2 extends Record, T3 extends Record, O3 extends Record, T4 extends Record, O4 extends Record>(schema1: ObjectSchema<T1, O1>, schema2: ObjectSchema<T2, O2>, schema3: ObjectSchema<T3, O3>, schema4: ObjectSchema<T4, O4>): ObjectSchema<Merge<Merge<Merge<T1, T2>, T3>, T4>, Merge<Merge<Merge<O1, O2>, O3>, O4>>;
7
- export declare function assign<T1 extends Record, O1 extends Record, T2 extends Record, O2 extends Record, T3 extends Record, O3 extends Record, T4 extends Record, O4 extends Record, T6 extends Record, O6 extends Record>(schema1: ObjectSchema<T1, O1>, schema2: ObjectSchema<T2, O2>, schema3: ObjectSchema<T3, O3>, schema4: ObjectSchema<T4, O4>, schema5: ObjectSchema<T6, O6>): ObjectSchema<Merge<Merge<Merge<Merge<T1, T2>, T3>, T4>, T6>, Merge<Merge<Merge<Merge<O1, O2>, O3>, O4>, O6>>;
8
- export declare function assign<T1 extends Record, O1 extends Record, T2 extends Record, O2 extends Record, T3 extends Record, O3 extends Record, T4 extends Record, O4 extends Record, T6 extends Record, O6 extends Record, T7 extends Record, O7 extends Record>(schema1: ObjectSchema<T1, O1>, schema2: ObjectSchema<T2, O2>, schema3: ObjectSchema<T3, O3>, schema4: ObjectSchema<T4, O4>, schema5: ObjectSchema<T6, O6>, schema6: ObjectSchema<T7, O7>): ObjectSchema<Merge<Merge<Merge<Merge<Merge<T1, T2>, T3>, T4>, T6>, T7>, Merge<Merge<Merge<Merge<Merge<O1, O2>, O3>, O4>, O6>, O7>>;
3
+ import type { ObjectSchema, ObjectSchemaOrType } from '../types';
4
+ export declare function assign<T1, O1, T2, O2>(schema1: ObjectSchemaOrType<T1, O1>, schema2: ObjectSchemaOrType<T2, O2>): ObjectSchema<Merge<T1, T2>, Merge<O1, O2>>;
5
+ export declare function assign<T1, O1, T2, O2, T3, O3>(schema1: ObjectSchemaOrType<T1, O1>, schema2: ObjectSchemaOrType<T2, O2>, schema3: ObjectSchemaOrType<T3, O3>): ObjectSchema<Merge<Merge<T1, T2>, T3>, Merge<Merge<O1, O2>, O3>>;
6
+ export declare function assign<T1, O1, T2, O2, T3, O3, T4, O4>(schema1: ObjectSchemaOrType<T1, O1>, schema2: ObjectSchemaOrType<T2, O2>, schema3: ObjectSchemaOrType<T3, O3>, schema4: ObjectSchemaOrType<T4, O4>): ObjectSchema<Merge<Merge<Merge<T1, T2>, T3>, T4>, Merge<Merge<Merge<O1, O2>, O3>, O4>>;
7
+ export declare function assign<T1, O1, T2, O2, T3, O3, T4, O4, T5, O5>(schema1: ObjectSchemaOrType<T1, O1>, schema2: ObjectSchemaOrType<T2, O2>, schema3: ObjectSchemaOrType<T3, O3>, schema4: ObjectSchemaOrType<T4, O4>, schema5: ObjectSchemaOrType<T5, O5>): ObjectSchema<Merge<Merge<Merge<Merge<T1, T2>, T3>, T4>, T5>, Merge<Merge<Merge<Merge<O1, O2>, O3>, O4>, O5>>;
8
+ export declare function assign<T1, O1, T2, O2, T3, O3, T4, O4, T5, O5, T6 extends Record, O6 extends Record>(schema1: ObjectSchemaOrType<T1, O1>, schema2: ObjectSchemaOrType<T2, O2>, schema3: ObjectSchemaOrType<T3, O3>, schema4: ObjectSchemaOrType<T4, O4>, schema5: ObjectSchemaOrType<T5, O5>, schema6: ObjectSchemaOrType<T6, O6>): ObjectSchema<Merge<Merge<Merge<Merge<Merge<T1, T2>, T3>, T4>, T5>, T6>, Merge<Merge<Merge<Merge<Merge<O1, O2>, O3>, O4>, O5>, O6>>;
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.assign = void 0;
4
4
  const array_1 = require("../../utils/array/array");
5
5
  const type_guards_1 = require("../../utils/type-guards");
6
- function assign(...schemas) {
6
+ const utils_1 = require("../utils");
7
+ function assign(...inputs) {
8
+ const schemas = inputs.map(utils_1.getObjectSchema);
7
9
  (0, type_guards_1.assert)(schemas.length >= 2, 'Assign requires at least 2 schemas.');
8
10
  let result = schemas[0];
9
11
  for (let i = 1; i < schemas.length; i++) {
@@ -1 +1 @@
1
- {"version":3,"file":"assign.js","sourceRoot":"","sources":["../../../source/schema/schemas/assign.ts"],"names":[],"mappings":";;;AACA,mDAA8C;AAC9C,yDAA6C;AAU7C,SAAgB,MAAM,CAAC,GAAG,OAAuB;IAC/C,IAAA,oBAAM,EAAC,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,qCAAqC,CAAC,CAAC;IAEnE,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;IAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACvC,MAAM,GAAG;YACP,GAAG,MAAM;YACT,GAAG,OAAO,CAAC,CAAC,CAAE;YACd,UAAU,EAAE;gBACV,GAAG,MAAM,CAAC,UAAU;gBACpB,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC,UAAU;aAC1B;YACD,sBAAsB,EAAE,CAAC,GAAG,IAAA,eAAO,EAAC,MAAM,CAAC,sBAAsB,IAAI,EAAE,CAAC,EAAE,GAAG,IAAA,eAAO,EAAC,OAAO,CAAC,CAAC,CAAE,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;SAChI,CAAC;KACH;IAED,IAAK,MAAM,CAAC,sBAAgC,CAAC,MAAM,IAAI,CAAC,EAAE;QACxD,MAAM,EAAE,sBAAsB,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QACtD,MAAM,GAAG,IAAI,CAAC;KACf;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAvBD,wBAuBC"}
1
+ {"version":3,"file":"assign.js","sourceRoot":"","sources":["../../../source/schema/schemas/assign.ts"],"names":[],"mappings":";;;AACA,mDAA8C;AAC9C,yDAA6C;AAG7C,oCAA2C;AAO3C,SAAgB,MAAM,CAAC,GAAG,MAA4B;IACpD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAe,CAAC,CAAC;IAC5C,IAAA,oBAAM,EAAC,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,qCAAqC,CAAC,CAAC;IAEnE,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;IAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACvC,MAAM,GAAG;YACP,GAAG,MAAM;YACT,GAAG,OAAO,CAAC,CAAC,CAAE;YACd,UAAU,EAAE;gBACV,GAAG,MAAM,CAAC,UAAU;gBACpB,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC,UAAU;aAC1B;YACD,sBAAsB,EAAE,CAAC,GAAG,IAAA,eAAO,EAAC,MAAM,CAAC,sBAAsB,IAAI,EAAE,CAAC,EAAE,GAAG,IAAA,eAAO,EAAC,OAAO,CAAC,CAAC,CAAE,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;SAChI,CAAC;KACH;IAED,IAAK,MAAM,CAAC,sBAAgC,CAAC,MAAM,IAAI,CAAC,EAAE;QACxD,MAAM,EAAE,sBAAsB,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QACtD,MAAM,GAAG,IAAI,CAAC;KACf;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAxBD,wBAwBC"}
@@ -1,4 +1,5 @@
1
1
  import type { OneOrMany } from "../../types";
2
2
  import type { GenericConstraintFunction } from '../constraints/generic';
3
- import type { Schema } from '../schema';
4
- export declare function constraint<T, O>(schema: Schema<T, O>, constraintFunction: GenericConstraintFunction<T>, expects?: OneOrMany<string>): Schema<T, O>;
3
+ import type { SchemaTestable } from '../schema';
4
+ import type { ValueSchema } from '../types';
5
+ export declare function constraint<T, O>(schema: SchemaTestable<T, O>, constraintFunction: GenericConstraintFunction<T>, expects?: OneOrMany<string>): ValueSchema<T, O>;
@@ -1 +1 @@
1
- {"version":3,"file":"constraint.js","sourceRoot":"","sources":["../../../source/schema/schemas/constraint.ts"],"names":[],"mappings":";;;AAEA,oDAA2D;AAE3D,oCAAuC;AAEvC,SAAgB,UAAU,CAAO,MAAoB,EAAE,kBAAgD,EAAE,OAA2B;IAClI,OAAO,IAAA,mBAAW,EAAC,MAAM,EAAE;QACzB,gBAAgB,EAAE,IAAI,2BAAiB,CAAC,kBAAkB,EAAE,OAAO,CAAC;KACrE,CAAC,CAAC;AACL,CAAC;AAJD,gCAIC;AAED,+CAA+C"}
1
+ {"version":3,"file":"constraint.js","sourceRoot":"","sources":["../../../source/schema/schemas/constraint.ts"],"names":[],"mappings":";;;AAEA,oDAA2D;AAG3D,oCAAuC;AAEvC,SAAgB,UAAU,CAAO,MAA4B,EAAE,kBAAgD,EAAE,OAA2B;IAC1I,OAAO,IAAA,mBAAW,EAAC,MAAM,EAAE;QACzB,gBAAgB,EAAE,IAAI,2BAAiB,CAAC,kBAAkB,EAAE,OAAO,CAAC;KACrE,CAAC,CAAC;AACL,CAAC;AAJD,gCAIC;AAED,+CAA+C"}
@@ -1,4 +1,4 @@
1
1
  import type { OneOrMany } from "../../types";
2
- import type { Schema } from '../schema';
2
+ import type { SchemaTestable } from '../schema';
3
3
  import type { ValueSchema } from '../types';
4
- export declare function defaulted<T, O, Default>(type: OneOrMany<Schema<T, O>>, defaultValue: Default): ValueSchema<T, O | Default>;
4
+ export declare function defaulted<T, O, Default>(type: OneOrMany<SchemaTestable<T, O>>, defaultValue: Default): ValueSchema<T, O | Default>;
@@ -1 +1 @@
1
- {"version":3,"file":"defaulted.js","sourceRoot":"","sources":["../../../source/schema/schemas/defaulted.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAGzD,0CAAkD;AAGlD,oCAAuC;AAEvC,SAAgB,SAAS,CAAgB,IAA6B,EAAE,YAAqB;IAC3F,OAAO,IAAA,mBAAW,EAAC,IAAI,EAAE;QACvB,QAAQ,EAAE,IAAI,8BAAmB,CAAC,YAAY,CAAC;KAChD,CAAC,CAAC;AACL,CAAC;AAJD,8BAIC"}
1
+ {"version":3,"file":"defaulted.js","sourceRoot":"","sources":["../../../source/schema/schemas/defaulted.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAGzD,0CAAkD;AAGlD,oCAAuC;AAEvC,SAAgB,SAAS,CAAgB,IAAqC,EAAE,YAAqB;IACnG,OAAO,IAAA,mBAAW,EAAC,IAAI,EAAE;QACvB,QAAQ,EAAE,IAAI,8BAAmB,CAAC,YAAY,CAAC;KAChD,CAAC,CAAC;AACL,CAAC;AAJD,8BAIC"}
@@ -7,7 +7,7 @@ const decorators_1 = require("../decorators");
7
7
  const types_1 = require("../types");
8
8
  function enumeration(enumerationValue, options = {}) {
9
9
  const enumerationConstraint = new constraints_1.EnumerationConstraint(enumerationValue);
10
- return (0, types_1.valueSchema)((0, types_1.valueTypesOrSchemasToSchemas)(enumerationConstraint.suitableTypes), {
10
+ return (0, types_1.valueSchema)(enumerationConstraint.suitableTypes, {
11
11
  coerce: options.coerce,
12
12
  valueConstraints: enumerationConstraint
13
13
  });
@@ -1 +1 @@
1
- {"version":3,"file":"enumeration.js","sourceRoot":"","sources":["../../../source/schema/schemas/enumeration.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,gDAAuD;AACvD,8CAAwE;AAExE,oCAAqE;AAIrE,SAAgB,WAAW,CAA4B,gBAAmB,EAAE,UAA8B,EAAE;IAC1G,MAAM,qBAAqB,GAAG,IAAI,mCAAqB,CAAC,gBAAgB,CAAC,CAAC;IAE1E,OAAO,IAAA,mBAAW,EAAC,IAAA,oCAA4B,EAAC,qBAAqB,CAAC,aAAa,CAAC,EAAE;QACpF,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,gBAAgB,EAAE,qBAAqB;KACxC,CAAC,CAAC;AACL,CAAC;AAPD,kCAOC;AAED,SAAgB,WAAW,CAAC,gBAAiC,EAAE,UAA8B,EAAE;IAC7F,OAAO,IAAA,oDAAuC,EAAC,WAAW,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC;AACzF,CAAC;AAFD,kCAEC"}
1
+ {"version":3,"file":"enumeration.js","sourceRoot":"","sources":["../../../source/schema/schemas/enumeration.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,gDAAuD;AACvD,8CAAwE;AAExE,oCAAuC;AAIvC,SAAgB,WAAW,CAA4B,gBAAmB,EAAE,UAA8B,EAAE;IAC1G,MAAM,qBAAqB,GAAG,IAAI,mCAAqB,CAAC,gBAAgB,CAAC,CAAC;IAE1E,OAAO,IAAA,mBAAW,EAAC,qBAAqB,CAAC,aAAa,EAAE;QACtD,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,gBAAgB,EAAE,qBAAqB;KACxC,CAAC,CAAC;AACL,CAAC;AAPD,kCAOC;AAED,SAAgB,WAAW,CAAC,gBAAiC,EAAE,UAA8B,EAAE;IAC7F,OAAO,IAAA,oDAAuC,EAAC,WAAW,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC;AACzF,CAAC;AAFD,kCAEC"}
@@ -6,13 +6,15 @@ export * from './constraint';
6
6
  export * from './date';
7
7
  export * from './defaulted';
8
8
  export * from './enumeration';
9
- export * from './exclude';
10
9
  export * from './instance';
11
10
  export * from './literal';
12
11
  export * from './nullable';
13
12
  export * from './number';
14
13
  export * from './object';
14
+ export * from './omit';
15
+ export * from './one-or-many';
15
16
  export * from './optional';
17
+ export * from './partial';
16
18
  export * from './pick';
17
19
  export * from './readable-stream';
18
20
  export * from './record';
@@ -22,13 +22,15 @@ __exportStar(require("./constraint"), exports);
22
22
  __exportStar(require("./date"), exports);
23
23
  __exportStar(require("./defaulted"), exports);
24
24
  __exportStar(require("./enumeration"), exports);
25
- __exportStar(require("./exclude"), exports);
26
25
  __exportStar(require("./instance"), exports);
27
26
  __exportStar(require("./literal"), exports);
28
27
  __exportStar(require("./nullable"), exports);
29
28
  __exportStar(require("./number"), exports);
30
29
  __exportStar(require("./object"), exports);
30
+ __exportStar(require("./omit"), exports);
31
+ __exportStar(require("./one-or-many"), exports);
31
32
  __exportStar(require("./optional"), exports);
33
+ __exportStar(require("./partial"), exports);
32
34
  __exportStar(require("./pick"), exports);
33
35
  __exportStar(require("./readable-stream"), exports);
34
36
  __exportStar(require("./record"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../source/schema/schemas/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,0CAAwB;AACxB,2CAAyB;AACzB,4CAA0B;AAC1B,+CAA6B;AAC7B,yCAAuB;AACvB,8CAA4B;AAC5B,gDAA8B;AAC9B,4CAA0B;AAC1B,6CAA2B;AAC3B,4CAA0B;AAC1B,6CAA2B;AAC3B,2CAAyB;AACzB,2CAAyB;AACzB,6CAA2B;AAC3B,yCAAuB;AACvB,oDAAkC;AAClC,2CAAyB;AACzB,2CAAyB;AACzB,2CAAyB;AACzB,8CAA4B;AAC5B,gDAA8B;AAC9B,0CAAwB;AACxB,4CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../source/schema/schemas/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,0CAAwB;AACxB,2CAAyB;AACzB,4CAA0B;AAC1B,+CAA6B;AAC7B,yCAAuB;AACvB,8CAA4B;AAC5B,gDAA8B;AAC9B,6CAA2B;AAC3B,4CAA0B;AAC1B,6CAA2B;AAC3B,2CAAyB;AACzB,2CAAyB;AACzB,yCAAuB;AACvB,gDAA8B;AAC9B,6CAA2B;AAC3B,4CAA0B;AAC1B,yCAAuB;AACvB,oDAAkC;AAClC,2CAAyB;AACzB,2CAAyB;AACzB,2CAAyB;AACzB,8CAA4B;AAC5B,gDAA8B;AAC9B,0CAAwB;AACxB,4CAA0B"}
@@ -1,3 +1,3 @@
1
- import type { Schema } from '../schema';
1
+ import type { SchemaTestable } from '../schema';
2
2
  import type { ValueSchema } from '../types';
3
- export declare function nullable<T, O>(schema: Schema<T, O>): ValueSchema<T | null, O | null>;
3
+ export declare function nullable<T, O>(schema: SchemaTestable<T, O>): ValueSchema<T | null, O | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"nullable.js","sourceRoot":"","sources":["../../../source/schema/schemas/nullable.ts"],"names":[],"mappings":";;;AAEA,oCAAuC;AAEvC,SAAgB,QAAQ,CAAO,MAAoB;IACjD,OAAO,IAAA,mBAAW,EAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAoC,CAAC;AACpF,CAAC;AAFD,4BAEC"}
1
+ {"version":3,"file":"nullable.js","sourceRoot":"","sources":["../../../source/schema/schemas/nullable.ts"],"names":[],"mappings":";;;AAEA,oCAAuC;AAEvC,SAAgB,QAAQ,CAAO,MAA4B;IACzD,OAAO,IAAA,mBAAW,EAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAoC,CAAC;AACpF,CAAC;AAFD,4BAEC"}
@@ -1,5 +1,5 @@
1
1
  import type { Decorator } from "../../reflection";
2
- import { Coercible, ValueSchema } from '../types';
2
+ import type { Coercible, ValueSchema } from '../types';
3
3
  export declare type NumberOptions = Coercible & {
4
4
  minimum?: number;
5
5
  maximum?: number;
@@ -20,9 +20,6 @@ function number(options = {}) {
20
20
  constraints.push(integer_1.integerConstraint);
21
21
  }
22
22
  return (0, types_1.valueSchema)((0, types_1.typeSchema)(globalThis.Number), {
23
- array: false,
24
- optional: false,
25
- nullable: false,
26
23
  coerce: options.coerce,
27
24
  valueConstraints: constraints
28
25
  });