@tstdl/base 0.78.0-beta4 → 0.78.0-beta42

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 (388) hide show
  1. package/api/client/client.d.ts +2 -1
  2. package/api/client/client.js +6 -13
  3. package/api/client/client.js.map +1 -1
  4. package/api/response.js.map +1 -1
  5. package/api/server/gateway.js +7 -5
  6. package/api/server/gateway.js.map +1 -1
  7. package/api/types.d.ts +22 -9
  8. package/api/types.js +1 -2
  9. package/api/types.js.map +1 -1
  10. package/api/utils.d.ts +9 -0
  11. package/api/utils.js +15 -0
  12. package/api/utils.js.map +1 -0
  13. package/application/application.js.map +1 -1
  14. package/container/container.js.map +1 -1
  15. package/container/decorators.d.ts +1 -1
  16. package/container/decorators.js.map +1 -1
  17. package/css/theme/theme.service.js.map +1 -1
  18. package/data-structures/iterable-weak-map.js +1 -1
  19. package/data-structures/iterable-weak-map.js.map +1 -1
  20. package/data-structures/linked-list.js.map +1 -1
  21. package/data-structures/sorted-array-list.js.map +1 -1
  22. package/database/mongo/classes.js.map +1 -1
  23. package/database/mongo/mongo-entity-repository.js +2 -2
  24. package/database/mongo/mongo-entity-repository.js.map +1 -1
  25. package/distributed-loop/distributed-loop.js.map +1 -1
  26. package/distributed-loop/provider.js.map +1 -1
  27. package/enumerable/async-enumerable.d.ts +2 -1
  28. package/enumerable/async-enumerable.js +3 -0
  29. package/enumerable/async-enumerable.js.map +1 -1
  30. package/enumerable/enumerable-methods.d.ts +1 -0
  31. package/enumerable/enumerable.d.ts +1 -0
  32. package/enumerable/enumerable.js +12 -18
  33. package/enumerable/enumerable.js.map +1 -1
  34. package/error/custom.error.d.ts +1 -1
  35. package/error/custom.error.js +8 -6
  36. package/error/custom.error.js.map +1 -1
  37. package/examples/api/basic-overview.js +0 -1
  38. package/examples/api/basic-overview.js.map +1 -1
  39. package/examples/mail/basic.js +12 -7
  40. package/examples/mail/basic.js.map +1 -1
  41. package/examples/mail/templates/hello-name.d.ts +2 -0
  42. package/examples/mail/templates/hello-name.js +11 -0
  43. package/examples/mail/templates/hello-name.js.map +1 -0
  44. package/examples/pdf/basic.js +6 -3
  45. package/examples/pdf/basic.js.map +1 -1
  46. package/examples/pdf/templates/hello-name.d.ts +1 -4
  47. package/examples/pdf/templates/hello-name.js +16 -4
  48. package/examples/pdf/templates/hello-name.js.map +1 -1
  49. package/examples/reflection/basic.js +1 -1
  50. package/examples/reflection/basic.js.map +1 -1
  51. package/http/client/adapters/got-http-client.adapter.js.map +1 -1
  52. package/http/client/adapters/undici-http-client.adapter.js.map +1 -1
  53. package/http/client/adapters/utils.js +20 -8
  54. package/http/client/adapters/utils.js.map +1 -1
  55. package/http/client/http-client-request.d.ts +13 -3
  56. package/http/client/http-client-request.js +4 -0
  57. package/http/client/http-client-request.js.map +1 -1
  58. package/http/client/http-client.d.ts +0 -3
  59. package/http/client/http-client.js +31 -24
  60. package/http/client/http-client.js.map +1 -1
  61. package/http/http-headers.d.ts +2 -0
  62. package/http/http-headers.js +6 -0
  63. package/http/http-headers.js.map +1 -1
  64. package/http/server/node/node-http-server.js.map +1 -1
  65. package/image-service/image-service.js.map +1 -1
  66. package/image-service/imgproxy/imgproxy-image-service.js.map +1 -1
  67. package/key-value-store/mongo/mongo-key-value-store.provider.js.map +1 -1
  68. package/key-value-store/mongo/mongo-key-value.repository.js.map +1 -1
  69. package/key-value-store/mongo/mongo-key-value.store.js.map +1 -1
  70. package/lock/mongo/lock.js.map +1 -1
  71. package/lock/mongo/mongo-lock-repository.js.map +1 -1
  72. package/lock/mongo/provider.js.map +1 -1
  73. package/logger/console/logger.js.map +1 -1
  74. package/mail/clients/nodemailer.mail-client.js.map +1 -1
  75. package/mail/index.d.ts +0 -3
  76. package/mail/index.js +0 -3
  77. package/mail/index.js.map +1 -1
  78. package/mail/mail.service.d.ts +3 -5
  79. package/mail/mail.service.js +8 -14
  80. package/mail/mail.service.js.map +1 -1
  81. package/mail/models/mail-template.model.d.ts +11 -10
  82. package/mail/models/mail-template.model.js +7 -0
  83. package/mail/models/mail-template.model.js.map +1 -1
  84. package/mail/module.d.ts +1 -5
  85. package/mail/module.js +2 -11
  86. package/mail/module.js.map +1 -1
  87. package/mail/repositories/mongo-mail-log.repository.js.map +1 -1
  88. package/mail/tokens.d.ts +0 -3
  89. package/mail/tokens.js +1 -2
  90. package/mail/tokens.js.map +1 -1
  91. package/message-bus/local/local-message-bus-provider.js.map +1 -1
  92. package/message-bus/local/local-message-bus.js.map +1 -1
  93. package/migration/migrator.js.map +1 -1
  94. package/migration/mongo/migration-state-repository.js.map +1 -1
  95. package/module/modules/web-server.module.js.map +1 -1
  96. package/object-storage/s3/s3.object-storage-provider.js.map +1 -1
  97. package/object-storage/s3/s3.object-storage.js.map +1 -1
  98. package/openid-connect/cached-oidc-configuration.service.js.map +1 -1
  99. package/openid-connect/mongo-oidc-state.repository.js.map +1 -1
  100. package/openid-connect/oidc-configuration.service.d.ts +2 -1
  101. package/openid-connect/oidc-configuration.service.js +5 -3
  102. package/openid-connect/oidc-configuration.service.js.map +1 -1
  103. package/openid-connect/oidc.service-model.d.ts +11 -3
  104. package/openid-connect/oidc.service.d.ts +6 -3
  105. package/openid-connect/oidc.service.js +69 -23
  106. package/openid-connect/oidc.service.js.map +1 -1
  107. package/package.json +7 -8
  108. package/pdf/pdf.service.d.ts +48 -10
  109. package/pdf/pdf.service.js +114 -4
  110. package/pdf/pdf.service.js.map +1 -1
  111. package/promise/deferred-promise.d.ts +2 -15
  112. package/promise/deferred-promise.js +5 -10
  113. package/promise/deferred-promise.js.map +1 -1
  114. package/promise/index.d.ts +1 -0
  115. package/promise/index.js +1 -0
  116. package/promise/index.js.map +1 -1
  117. package/promise/lazy-promise.d.ts +11 -0
  118. package/promise/lazy-promise.js +31 -0
  119. package/promise/lazy-promise.js.map +1 -0
  120. package/queue/mongo/mongo-job.repository.js +1 -1
  121. package/queue/mongo/mongo-job.repository.js.map +1 -1
  122. package/queue/mongo/queue.js.map +1 -1
  123. package/queue/mongo/queue.provider.js.map +1 -1
  124. package/reflection/decorator-data.js +1 -1
  125. package/reflection/decorator-data.js.map +1 -1
  126. package/reflection/decorators.d.ts +2 -2
  127. package/reflection/decorators.js +7 -7
  128. package/reflection/decorators.js.map +1 -1
  129. package/reflection/registry.d.ts +8 -8
  130. package/reflection/registry.js +1 -1
  131. package/reflection/registry.js.map +1 -1
  132. package/reflection/types.d.ts +3 -2
  133. package/reflection/utils.d.ts +7 -2
  134. package/reflection/utils.js +38 -12
  135. package/reflection/utils.js.map +1 -1
  136. package/schema/array-constraints/maximum-length.js +2 -2
  137. package/schema/array-constraints/maximum-length.js.map +1 -1
  138. package/schema/array-constraints/minimum-length.js +2 -2
  139. package/schema/array-constraints/minimum-length.js.map +1 -1
  140. package/schema/coercers/default-value.coercer.d.ts +1 -1
  141. package/schema/coercers/default-value.coercer.js +1 -1
  142. package/schema/coercers/default-value.coercer.js.map +1 -1
  143. package/schema/coercers/uint8-array.coercer.js +4 -3
  144. package/schema/coercers/uint8-array.coercer.js.map +1 -1
  145. package/schema/constraints/enumeration.js +2 -2
  146. package/schema/constraints/enumeration.js.map +1 -1
  147. package/schema/constraints/generic.js +2 -2
  148. package/schema/constraints/generic.js.map +1 -1
  149. package/schema/constraints/integer.js +3 -3
  150. package/schema/constraints/integer.js.map +1 -1
  151. package/schema/constraints/literal.js +2 -2
  152. package/schema/constraints/literal.js.map +1 -1
  153. package/schema/constraints/maximum-date.js +3 -3
  154. package/schema/constraints/maximum-date.js.map +1 -1
  155. package/schema/constraints/maximum-length.js +2 -2
  156. package/schema/constraints/maximum-length.js.map +1 -1
  157. package/schema/constraints/maximum.js +3 -3
  158. package/schema/constraints/maximum.js.map +1 -1
  159. package/schema/constraints/minimum-date.js +3 -3
  160. package/schema/constraints/minimum-date.js.map +1 -1
  161. package/schema/constraints/minimum-length.js +2 -2
  162. package/schema/constraints/minimum-length.js.map +1 -1
  163. package/schema/constraints/minimum.js +3 -3
  164. package/schema/constraints/minimum.js.map +1 -1
  165. package/schema/constraints/pattern.js +3 -3
  166. package/schema/constraints/pattern.js.map +1 -1
  167. package/schema/decorators/array.d.ts +2 -2
  168. package/schema/decorators/array.js +1 -1
  169. package/schema/decorators/array.js.map +1 -1
  170. package/schema/decorators/defaulted.d.ts +2 -2
  171. package/schema/decorators/defaulted.js +1 -1
  172. package/schema/decorators/defaulted.js.map +1 -1
  173. package/schema/decorators/optional.d.ts +3 -1
  174. package/schema/decorators/optional.js +2 -2
  175. package/schema/decorators/optional.js.map +1 -1
  176. package/schema/decorators/property.d.ts +1 -1
  177. package/schema/decorators/property.js +3 -1
  178. package/schema/decorators/property.js.map +1 -1
  179. package/schema/decorators/types.d.ts +4 -4
  180. package/schema/decorators/utils.d.ts +3 -2
  181. package/schema/decorators/utils.js +4 -8
  182. package/schema/decorators/utils.js.map +1 -1
  183. package/schema/schema.d.ts +8 -10
  184. package/schema/schema.error.d.ts +1 -0
  185. package/schema/schema.error.js +1 -1
  186. package/schema/schema.error.js.map +1 -1
  187. package/schema/schema.js +131 -164
  188. package/schema/schema.js.map +1 -1
  189. package/schema/schemas/any.d.ts +2 -2
  190. package/schema/schemas/any.js +2 -2
  191. package/schema/schemas/any.js.map +1 -1
  192. package/schema/schemas/array.d.ts +2 -1
  193. package/schema/schemas/array.js +1 -1
  194. package/schema/schemas/array.js.map +1 -1
  195. package/schema/schemas/assign.d.ts +5 -5
  196. package/schema/schemas/boolean.js +2 -2
  197. package/schema/schemas/boolean.js.map +1 -1
  198. package/schema/schemas/date.js +2 -2
  199. package/schema/schemas/date.js.map +1 -1
  200. package/schema/schemas/defaulted.d.ts +3 -2
  201. package/schema/schemas/defaulted.js.map +1 -1
  202. package/schema/schemas/enumeration.js +2 -2
  203. package/schema/schemas/enumeration.js.map +1 -1
  204. package/schema/schemas/exclude.d.ts +4 -1
  205. package/schema/schemas/exclude.js +6 -11
  206. package/schema/schemas/exclude.js.map +1 -1
  207. package/schema/schemas/index.d.ts +2 -0
  208. package/schema/schemas/index.js +2 -0
  209. package/schema/schemas/index.js.map +1 -1
  210. package/schema/schemas/instance.d.ts +2 -2
  211. package/schema/schemas/instance.js +1 -1
  212. package/schema/schemas/instance.js.map +1 -1
  213. package/schema/schemas/literal.js +2 -2
  214. package/schema/schemas/literal.js.map +1 -1
  215. package/schema/schemas/nullable.d.ts +3 -2
  216. package/schema/schemas/nullable.js.map +1 -1
  217. package/schema/schemas/number.d.ts +1 -1
  218. package/schema/schemas/number.js +2 -2
  219. package/schema/schemas/number.js.map +1 -1
  220. package/schema/schemas/object.d.ts +2 -3
  221. package/schema/schemas/object.js.map +1 -1
  222. package/schema/schemas/omit.d.ts +4 -0
  223. package/schema/schemas/omit.js +17 -0
  224. package/schema/schemas/omit.js.map +1 -0
  225. package/schema/schemas/readable-stream.d.ts +2 -2
  226. package/schema/schemas/readable-stream.js +2 -2
  227. package/schema/schemas/readable-stream.js.map +1 -1
  228. package/schema/schemas/record.d.ts +3 -2
  229. package/schema/schemas/record.js.map +1 -1
  230. package/schema/schemas/regexp.js +2 -2
  231. package/schema/schemas/regexp.js.map +1 -1
  232. package/schema/schemas/string.js +2 -2
  233. package/schema/schemas/string.js.map +1 -1
  234. package/schema/schemas/transform.d.ts +3 -2
  235. package/schema/schemas/transform.js.map +1 -1
  236. package/schema/schemas/uint8-array.d.ts +2 -3
  237. package/schema/schemas/uint8-array.js +3 -3
  238. package/schema/schemas/uint8-array.js.map +1 -1
  239. package/schema/schemas/union.d.ts +9 -8
  240. package/schema/schemas/union.js +1 -1
  241. package/schema/schemas/union.js.map +1 -1
  242. package/schema/schemas/unknown.d.ts +2 -2
  243. package/schema/schemas/unknown.js +2 -2
  244. package/schema/schemas/unknown.js.map +1 -1
  245. package/schema/transformers/generic.d.ts +4 -4
  246. package/schema/transformers/generic.js.map +1 -1
  247. package/schema/transformers/lowercase.js +1 -1
  248. package/schema/transformers/lowercase.js.map +1 -1
  249. package/schema/transformers/trim.js +1 -1
  250. package/schema/transformers/trim.js.map +1 -1
  251. package/schema/transformers/uppercase.js +1 -1
  252. package/schema/transformers/uppercase.js.map +1 -1
  253. package/schema/types.d.ts +53 -39
  254. package/schema/types.js +49 -34
  255. package/schema/types.js.map +1 -1
  256. package/schema/utils/schema.d.ts +13 -5
  257. package/schema/utils/schema.js +86 -26
  258. package/schema/utils/schema.js.map +1 -1
  259. package/schema/utils/value-type.d.ts +3 -1
  260. package/schema/utils/value-type.js +32 -2
  261. package/schema/utils/value-type.js.map +1 -1
  262. package/search-index/elastic/config.js.map +1 -1
  263. package/search-index/elastic/model/index-mapping.d.ts +2 -1
  264. package/search-index/elastic/model/index-mapping.js.map +1 -1
  265. package/search-index/elastic/search-index.js +1 -1
  266. package/search-index/elastic/search-index.js.map +1 -1
  267. package/serializer/serializable.d.ts +4 -4
  268. package/serializer/serializable.js.map +1 -1
  269. package/templates/index.d.ts +2 -0
  270. package/templates/index.js +2 -0
  271. package/templates/index.js.map +1 -1
  272. package/templates/module.d.ts +3 -1
  273. package/templates/module.js +31 -8
  274. package/templates/module.js.map +1 -1
  275. package/templates/providers/file.provider-template.d.ts +16 -0
  276. package/templates/providers/{file-template.provider.js → file.provider-template.js} +22 -15
  277. package/templates/providers/file.provider-template.js.map +1 -0
  278. package/templates/providers/memory.template-provider.d.ts +8 -0
  279. package/templates/providers/{memory-template.provider.base.js → memory.template-provider.js} +8 -6
  280. package/templates/providers/memory.template-provider.js.map +1 -0
  281. package/templates/renderers/handlebars.template-renderer.d.ts +38 -6
  282. package/templates/renderers/handlebars.template-renderer.js +47 -3
  283. package/templates/renderers/handlebars.template-renderer.js.map +1 -1
  284. package/templates/renderers/mjml.template-renderer.d.ts +6 -6
  285. package/templates/renderers/mjml.template-renderer.js +8 -9
  286. package/templates/renderers/mjml.template-renderer.js.map +1 -1
  287. package/templates/renderers/string.template-renderer.d.ts +8 -0
  288. package/{mail/template-providers/memory-mail-template.provider.js → templates/renderers/string.template-renderer.js} +13 -7
  289. package/templates/renderers/string.template-renderer.js.map +1 -0
  290. package/templates/resolvers/file.template-resolver.d.ts +23 -0
  291. package/templates/resolvers/file.template-resolver.js +63 -0
  292. package/templates/resolvers/file.template-resolver.js.map +1 -0
  293. package/templates/resolvers/string.template-resolver.d.ts +13 -0
  294. package/templates/resolvers/string.template-resolver.js +44 -0
  295. package/templates/resolvers/string.template-resolver.js.map +1 -0
  296. package/templates/template-renderer.provider.js +7 -19
  297. package/templates/template-renderer.provider.js.map +1 -1
  298. package/templates/template-resolver.provider.d.ts +8 -0
  299. package/templates/template-resolver.provider.js +48 -0
  300. package/templates/template-resolver.provider.js.map +1 -0
  301. package/templates/template.model.d.ts +14 -4
  302. package/templates/template.model.js +42 -0
  303. package/templates/template.model.js.map +1 -1
  304. package/templates/template.renderer.d.ts +14 -3
  305. package/templates/template.renderer.js +3 -0
  306. package/templates/template.renderer.js.map +1 -1
  307. package/templates/template.resolver.d.ts +5 -0
  308. package/templates/template.resolver.js +7 -0
  309. package/templates/template.resolver.js.map +1 -0
  310. package/templates/template.service.d.ts +10 -4
  311. package/templates/template.service.js +19 -6
  312. package/templates/template.service.js.map +1 -1
  313. package/templates/tokens.d.ts +3 -2
  314. package/templates/tokens.js +2 -1
  315. package/templates/tokens.js.map +1 -1
  316. package/types.d.ts +6 -4
  317. package/utils/array/array.d.ts +1 -2
  318. package/utils/array/array.js.map +1 -1
  319. package/utils/async-iterable-helpers/includes.d.ts +2 -0
  320. package/utils/async-iterable-helpers/includes.js +13 -0
  321. package/utils/async-iterable-helpers/includes.js.map +1 -0
  322. package/utils/async-iterable-helpers/index.d.ts +1 -0
  323. package/utils/async-iterable-helpers/index.js +1 -0
  324. package/utils/async-iterable-helpers/index.js.map +1 -1
  325. package/utils/clone.js +4 -0
  326. package/utils/clone.js.map +1 -1
  327. package/utils/compression.d.ts +13 -13
  328. package/utils/compression.js +10 -9
  329. package/utils/compression.js.map +1 -1
  330. package/utils/encoding.js +1 -1
  331. package/utils/encoding.js.map +1 -1
  332. package/utils/enum.js +3 -3
  333. package/utils/enum.js.map +1 -1
  334. package/utils/function/memoize.d.ts +1 -0
  335. package/utils/function/memoize.js +7 -4
  336. package/utils/function/memoize.js.map +1 -1
  337. package/utils/helpers.d.ts +0 -2
  338. package/utils/helpers.js +1 -12
  339. package/utils/helpers.js.map +1 -1
  340. package/utils/index.d.ts +1 -0
  341. package/utils/index.js +1 -0
  342. package/utils/index.js.map +1 -1
  343. package/utils/iterable-helpers/includes.d.ts +1 -0
  344. package/utils/iterable-helpers/includes.js +9 -0
  345. package/utils/iterable-helpers/includes.js.map +1 -0
  346. package/utils/iterable-helpers/index.d.ts +1 -0
  347. package/utils/iterable-helpers/index.js +1 -0
  348. package/utils/iterable-helpers/index.js.map +1 -1
  349. package/utils/object/property-name.d.ts +2 -2
  350. package/utils/throw.d.ts +2 -0
  351. package/utils/throw.js +15 -0
  352. package/utils/throw.js.map +1 -0
  353. package/utils/type-guards.d.ts +13 -1
  354. package/utils/type-guards.js +29 -5
  355. package/utils/type-guards.js.map +1 -1
  356. package/web-types.d.ts +28 -0
  357. package/web-types.js +3 -0
  358. package/web-types.js.map +1 -0
  359. package/mail/mail-template-renderer.provider.d.ts +0 -8
  360. package/mail/mail-template-renderer.provider.js +0 -60
  361. package/mail/mail-template-renderer.provider.js.map +0 -1
  362. package/mail/mail-template.provider.d.ts +0 -4
  363. package/mail/mail-template.provider.js +0 -7
  364. package/mail/mail-template.provider.js.map +0 -1
  365. package/mail/mail-template.renderer.d.ts +0 -10
  366. package/mail/mail-template.renderer.js +0 -7
  367. package/mail/mail-template.renderer.js.map +0 -1
  368. package/mail/template-providers/file-mail-template.provider.d.ts +0 -24
  369. package/mail/template-providers/file-mail-template.provider.js +0 -51
  370. package/mail/template-providers/file-mail-template.provider.js.map +0 -1
  371. package/mail/template-providers/memory-mail-template.provider.d.ts +0 -6
  372. package/mail/template-providers/memory-mail-template.provider.js.map +0 -1
  373. package/mail/template-renderers/handlebars.mail-template-renderer.d.ts +0 -13
  374. package/mail/template-renderers/handlebars.mail-template-renderer.js +0 -49
  375. package/mail/template-renderers/handlebars.mail-template-renderer.js.map +0 -1
  376. package/mail/template-renderers/mjml.mail-template-renderer.d.ts +0 -14
  377. package/mail/template-renderers/mjml.mail-template-renderer.js +0 -63
  378. package/mail/template-renderers/mjml.mail-template-renderer.js.map +0 -1
  379. package/templates/providers/file-template.provider.base.d.ts +0 -12
  380. package/templates/providers/file-template.provider.base.js +0 -50
  381. package/templates/providers/file-template.provider.base.js.map +0 -1
  382. package/templates/providers/file-template.provider.d.ts +0 -22
  383. package/templates/providers/file-template.provider.js.map +0 -1
  384. package/templates/providers/memory-template.provider.base.d.ts +0 -9
  385. package/templates/providers/memory-template.provider.base.js.map +0 -1
  386. package/templates/providers/memory-template.provider.d.ts +0 -4
  387. package/templates/providers/memory-template.provider.js +0 -18
  388. package/templates/providers/memory-template.provider.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.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);
@@ -39,20 +36,23 @@ exports.Schema = {
39
36
  defaultCoercers.get(sourceType).push(coercer);
40
37
  }
41
38
  },
42
- test(schema, value, options, path = json_path_1.JsonPath.ROOT) {
39
+ test(schemaOrValueType, value, options, path = json_path_1.JsonPath.ROOT) {
40
+ const schema = (0, types_1.valueTypeOrSchemaToSchema)(schemaOrValueType);
43
41
  const result = this.testWithFastError(schema, value, options, path);
44
- if (result.success) {
42
+ if (result.valid) {
45
43
  return result;
46
44
  }
47
- return { success: false, error: new schema_error_1.SchemaError(result.error.message, { ...result.error, fast: false }, result.error.cause) };
45
+ return { valid: false, error: new schema_error_1.SchemaError(result.error.message, { ...result.error, fast: false }) };
48
46
  },
49
- validate(schema, value, options) {
47
+ validate(schemaOrValueType, value, options) {
48
+ const schema = (0, types_1.valueTypeOrSchemaToSchema)(schemaOrValueType);
50
49
  const result = this.test(schema, value, options);
51
- return result.success;
50
+ return result.valid;
52
51
  },
53
- parse(schema, value, options) {
52
+ parse(schemaOrValueType, value, options) {
53
+ const schema = (0, types_1.valueTypeOrSchemaToSchema)(schemaOrValueType);
54
54
  const result = this.test(schema, value, options);
55
- if (result.success) {
55
+ if (result.valid) {
56
56
  return result.value;
57
57
  }
58
58
  throw result.error;
@@ -66,222 +66,189 @@ exports.Schema = {
66
66
  if ((0, types_1.isValueSchema)(schema)) {
67
67
  return testValue(schema, value, options, path);
68
68
  }
69
- return testObject(schema, value, options, path);
69
+ if ((0, types_1.isTypeSchema)(schema)) {
70
+ return testType(schema, value, options, path);
71
+ }
72
+ if ((0, types_1.isObjectSchema)(schema)) {
73
+ return testObject(schema, value, options, path);
74
+ }
75
+ throw new Error('Unsupported schema');
70
76
  }
71
77
  };
72
- // eslint-disable-next-line complexity
73
- function testObject(schemaOrType, value, options = {}, path = json_path_1.JsonPath.ROOT) {
74
- if ((0, type_guards_1.isFunction)(schemaOrType) && (value instanceof schemaOrType)) {
75
- return { success: true, value: value };
78
+ function testType(schema, value, options = {}, path = json_path_1.JsonPath.ROOT) {
79
+ const resolvedValueType = (0, types_1.resolveValueType)(schema.type);
80
+ if (resolvedValueType == 'any') {
81
+ return { valid: true, value: value };
82
+ }
83
+ else if ((0, type_guards_1.isFunction)(resolvedValueType)) {
84
+ if ((value instanceof resolvedValueType) || ((0, utils_1.getValueType)(value) == resolvedValueType)) {
85
+ return { valid: true, value: value };
86
+ }
87
+ const objectSchema = (0, utils_1.getSchemaFromReflection)(resolvedValueType);
88
+ if ((0, type_guards_1.isNotNull)(objectSchema)) {
89
+ return testObject(objectSchema, value, options, path);
90
+ }
76
91
  }
77
- if (!(value instanceof Object) && !(0, type_guards_1.isObject)(value)) {
78
- const expected = (0, type_guards_1.isFunction)(schemaOrType) ? schemaOrType : Object;
79
- return { success: false, error: schema_error_1.SchemaError.expectedButGot(expected, (0, utils_1.getValueType)(value), path) };
92
+ else if ((resolvedValueType == 'null' && (0, type_guards_1.isNull)(value)) || (resolvedValueType == 'undefined' && (0, type_guards_1.isUndefined)(value)) || (resolvedValueType == 'any')) {
93
+ return { valid: true, value: value };
80
94
  }
81
- const unnormalizedSchema = (0, type_guards_1.isFunction)(schemaOrType) ? (0, exports.getSchemaFromReflection)(schemaOrType) : schemaOrType;
82
- if ((0, type_guards_1.isNull)(unnormalizedSchema)) {
83
- return { success: false, error: schema_error_1.SchemaError.expectedButGot(schemaOrType, (0, utils_1.getValueType)(value), path) };
95
+ return { valid: false, error: schema_error_1.SchemaError.expectedButGot(resolvedValueType, (0, utils_1.getValueType)(value), path) };
96
+ }
97
+ // eslint-disable-next-line complexity
98
+ function testObject(objectSchema, value, options = {}, path = json_path_1.JsonPath.ROOT) {
99
+ if (!(value instanceof Object)) {
100
+ return { valid: false, error: schema_error_1.SchemaError.expectedButGot(objectSchema.sourceType ?? 'object', (0, utils_1.getValueType)(value), path) };
84
101
  }
85
- const schema = (0, utils_1.normalizeSchema)(unnormalizedSchema);
102
+ const schema = (0, utils_1.normalizeObjectSchema)(objectSchema);
86
103
  const mask = schema.mask ?? options.mask ?? false;
87
104
  const resultValue = (0, type_guards_1.isDefined)(schema.factory?.type) ? new schema.factory.type() : {};
88
105
  const schemaPropertyKeys = (0, object_1.objectKeys)(schema.properties);
89
106
  const valuePropertyKeys = (0, object_1.objectKeys)(value);
90
107
  const unknownValuePropertyKeys = (0, set_1.differenceSets)(new Set(valuePropertyKeys), new Set(schemaPropertyKeys));
91
108
  if ((unknownValuePropertyKeys.length > 0) && !(mask || (schema.allowUnknownProperties.size > 0))) {
92
- return { success: false, error: new schema_error_1.SchemaError('Unknown property', { path: path.add(unknownValuePropertyKeys[0]) }) };
109
+ return { valid: false, error: new schema_error_1.SchemaError('Unknown property', { path: path.add(unknownValuePropertyKeys[0]) }) };
93
110
  }
94
111
  for (const key of schemaPropertyKeys) {
95
112
  const propertyResult = exports.Schema.testWithFastError(schema.properties[key], value[key], options, path.add(key));
96
- if (!propertyResult.success) {
113
+ if (!propertyResult.valid) {
97
114
  return propertyResult;
98
115
  }
99
116
  resultValue[key] = propertyResult.value;
100
117
  }
101
118
  if (schema.allowUnknownProperties.size > 0) {
102
119
  for (const key of unknownValuePropertyKeys) {
103
- const errors = [];
104
- for (const allowedSchema of schema.allowUnknownProperties) {
105
- const propertyResult = exports.Schema.testWithFastError(allowedSchema, value[key], options, path.add(key));
106
- if (!propertyResult.success && !mask) {
107
- errors.push(propertyResult.error);
108
- continue;
109
- }
110
- resultValue[key] = propertyResult.value;
111
- break;
112
- }
113
- if (errors.length > 0) {
114
- return { success: false, error: (errors.length == 1) ? errors[0] : new schema_error_1.SchemaError('Value did not match any allowed schemas.', { inner: errors, path }) };
120
+ const propertyResult = exports.Schema.testWithFastError((0, types_1.valueSchema)([...schema.allowUnknownProperties]), value[key], options, path.add(key));
121
+ if (!propertyResult.valid && !mask) {
122
+ return propertyResult;
115
123
  }
124
+ resultValue[key] = propertyResult.value;
116
125
  }
117
126
  }
118
127
  const testResultValue = (0, type_guards_1.isUndefined)(schema.factory) ? resultValue : (0, type_guards_1.isDefined)(schema.factory.type) ? resultValue : schema.factory.builder(resultValue);
119
- return { success: true, value: testResultValue };
128
+ return { valid: true, value: testResultValue };
120
129
  }
121
130
  // eslint-disable-next-line max-lines-per-function, max-statements, complexity
122
131
  function testValue(schema, value, options = {}, path = json_path_1.JsonPath.ROOT) {
123
- const valueSchema = (0, utils_1.normalizeValueSchema)(schema);
124
- if (valueSchema.optional && (0, type_guards_1.isUndefined)(value)) {
125
- return { success: true, value: value };
132
+ const normalizedValueSchema = (0, utils_1.normalizeValueSchema)(schema);
133
+ if (normalizedValueSchema.optional && (0, type_guards_1.isUndefined)(value)) {
134
+ return { valid: true, value: value };
126
135
  }
127
- if (valueSchema.nullable && (0, type_guards_1.isNull)(value)) {
128
- return { success: true, value: value };
136
+ if (normalizedValueSchema.nullable && (0, type_guards_1.isNull)(value)) {
137
+ return { valid: true, value: value };
129
138
  }
130
139
  const context = {
131
- schema: valueSchema,
140
+ schema: normalizedValueSchema,
132
141
  options
133
142
  };
134
143
  /** handle arrays */
135
- if (valueSchema.array) {
144
+ if (normalizedValueSchema.array) {
136
145
  if (!(0, type_guards_1.isArray)(value)) {
137
146
  throw schema_error_1.SchemaError.expectedButGot(Array, (0, utils_1.getValueType)(value), path);
138
147
  }
139
- for (const arrayConstraint of valueSchema.arrayConstraints) {
148
+ for (const arrayConstraint of normalizedValueSchema.arrayConstraints) {
140
149
  const result = arrayConstraint.validate(value, path, context);
141
- if (!result.success) {
142
- return { success: false, error: result.error };
150
+ if (!result.valid) {
151
+ return { valid: false, error: result.error };
143
152
  }
144
153
  }
145
154
  const itemSchema = (0, utils_1.getArrayItemSchema)(schema);
146
155
  const validatedItems = [];
147
156
  for (let i = 0; i < value.length; i++) {
148
157
  const result = testValue(itemSchema, value[i], options, path.add(i));
149
- if (!result.success) {
158
+ if (!result.valid) {
150
159
  return result;
151
160
  }
152
161
  validatedItems.push(result.value);
153
162
  }
154
- return { success: true, value: validatedItems };
155
- }
156
- let valueType = (0, utils_1.getValueType)(value);
157
- let validType = isValidType(valueSchema, valueType);
158
- let resultValue = value;
159
- /** try to coerce with custom coercers */
160
- if (!validType) {
161
- const coercers = valueSchema.coercers.get(valueType);
162
- if ((0, type_guards_1.isDefined)(coercers)) {
163
- const errors = [];
164
- for (const coercer of coercers) {
165
- const coerceResult = coercer.coerce(resultValue, path, context);
166
- if (!coerceResult.success) {
167
- errors.push(coerceResult.error);
168
- continue;
169
- }
170
- resultValue = coerceResult.value;
171
- valueType = (0, utils_1.getValueType)(resultValue);
172
- validType = isValidType(valueSchema, valueType);
173
- break;
174
- }
175
- if ((errors.length > 0)) {
176
- return { success: false, error: (errors.length == 1) ? errors[0] : new schema_error_1.SchemaError('Value could not be coerced.', { inner: errors, path }) };
177
- }
178
- }
179
- }
180
- /** try to coerce with default coercers if enabled */
181
- if (!validType && (valueSchema.coerce || options.coerce == true)) {
182
- const coercers = defaultCoercers.get(valueType);
183
- if ((0, type_guards_1.isDefined)(coercers)) {
184
- const errors = [];
185
- for (const coercer of coercers) {
186
- const coerceResult = coercer.coerce(resultValue, path, context);
187
- if (!coerceResult.success) {
188
- errors.push(coerceResult.error);
189
- continue;
190
- }
191
- resultValue = coerceResult.value;
192
- valueType = (0, utils_1.getValueType)(resultValue);
193
- validType = isValidType(valueSchema, valueType);
194
- break;
195
- }
196
- if ((errors.length > 0)) {
197
- return { success: false, error: (errors.length == 1) ? errors[0] : new schema_error_1.SchemaError('Value could not be coerced.', { inner: errors, path }) };
198
- }
199
- }
200
- }
201
- /** check for sub-schemas */
202
- if (!validType) {
163
+ return { valid: true, value: validatedItems };
164
+ }
165
+ let valueType;
166
+ let valueTestResult;
167
+ let resultValue;
168
+ function updateCurrentState(newValue) {
169
+ resultValue = newValue;
170
+ valueType = (0, utils_1.getValueType)(newValue);
171
+ valueTestResult = isValidValue(normalizedValueSchema.schema, newValue, options, path);
172
+ }
173
+ updateCurrentState(value);
174
+ /** try to coerce */
175
+ if (!valueTestResult.valid) {
176
+ const coercers = [
177
+ ...(normalizedValueSchema.coercers.get(valueType) ?? []),
178
+ ...((normalizedValueSchema.coerce || options.coerce == true) ? (defaultCoercers.get(valueType) ?? []) : [])
179
+ ];
203
180
  const errors = [];
204
- for (const type of valueSchema.type) {
205
- if (types_1.primitiveValueTypesSet.has(type)) {
206
- continue;
207
- }
208
- const typeSchema = (0, types_1.valueTypesToSchema)(type);
209
- const result = exports.Schema.testWithFastError(typeSchema, resultValue, options, path);
210
- if (!result.success) {
211
- errors.push(result.error);
181
+ let success = false;
182
+ for (const coercer of coercers) {
183
+ const coerceResult = coercer.coerce(resultValue, path, context);
184
+ if (!coerceResult.success) {
185
+ errors.push(coerceResult.error);
212
186
  continue;
213
187
  }
214
- resultValue = result.value;
215
- validType = true;
188
+ success = true;
189
+ updateCurrentState(coerceResult.value);
216
190
  break;
217
191
  }
218
- if (!validType && (errors.length > 0)) {
219
- return { success: false, error: (errors.length == 1) ? errors[0] : new schema_error_1.SchemaError('Value did not match any allowed schemas.', { inner: errors, path }) };
192
+ if (!success && (errors.length > 0)) {
193
+ return { valid: false, error: (errors.length == 1) ? errors[0] : new schema_error_1.SchemaError('Value could not be coerced.', { inner: errors, path }) };
220
194
  }
221
195
  }
222
- if (!validType) {
223
- const expectedNames = [...valueSchema.type].map((exp) => ((0, type_guards_1.isString)(exp) ? exp : (0, utils_1.getValueTypeName)(exp)));
224
- const expectedTypeString = expectedNames.length == 1
225
- ? expectedNames[0]
226
- : `[${expectedNames.join(', ')}]`;
227
- const expects = valueSchema.valueConstraints.map((constraint) => constraint.expects);
228
- const expectsString = expects.length > 0 ? ` (${expects.join(', ')})` : '';
229
- return { success: false, error: schema_error_1.SchemaError.expectedButGot(`${expectedTypeString}${expectsString}`, (0, utils_1.getValueType)(resultValue), path) };
196
+ if (!valueTestResult.valid) {
197
+ const expectsString = getExpectString(schema);
198
+ return { valid: false, error: schema_error_1.SchemaError.expectedButGot(expectsString, valueType, path) };
230
199
  }
231
- if (valueSchema.transformers.length > 0) {
232
- for (const transformer of valueSchema.transformers) {
233
- resultValue = transformer.transform(resultValue, path, context);
200
+ if (normalizedValueSchema.transformers.length > 0) {
201
+ let transformedValue = resultValue;
202
+ for (const transformer of normalizedValueSchema.transformers) {
203
+ const transformResult = transformer.transform(transformedValue, path, context);
204
+ if (!transformResult.success) {
205
+ return { valid: false, error: transformResult.error };
206
+ }
207
+ transformedValue = transformResult.value;
234
208
  }
235
- valueType = (0, utils_1.getValueType)(resultValue);
236
- validType = isValidType(valueSchema, valueType);
237
- if (!validType) {
238
- const typeString = (0, type_guards_1.isFunction)(valueType) ? valueType.name : valueType;
209
+ updateCurrentState(transformedValue);
210
+ if (!valueTestResult.valid) { // eslint-disable-line @typescript-eslint/no-unnecessary-condition
211
+ const typeString = (0, utils_1.getValueTypeName)(valueType);
239
212
  throw new Error(`Transformers resulted in invalid type (${typeString}).`);
240
213
  }
241
214
  }
242
- for (const constraint of valueSchema.valueConstraints) {
243
- const result = constraint.validate(resultValue, path, context);
244
- if (!result.success) {
245
- return { success: false, error: result.error };
215
+ {
216
+ const errors = [];
217
+ for (const constraint of normalizedValueSchema.valueConstraints) {
218
+ const result = constraint.validate(resultValue, path, context);
219
+ if (!result.valid) {
220
+ errors.push(result.error);
221
+ }
222
+ }
223
+ if (errors.length > 0) {
224
+ 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
225
  }
247
226
  }
248
- return { success: true, value: resultValue };
227
+ return { valid: true, value: resultValue };
249
228
  }
250
- function isValidType(valueSchema, valueType) {
251
- return valueSchema.type.has(valueType) || valueSchema.type.has('any');
252
- }
253
- function _getObjectSchemaFromReflection(type) {
254
- const metadata = reflection_1.reflectionRegistry.getMetadata(type);
255
- if (!metadata.registered) {
256
- return null;
257
- }
258
- const typeData = metadata.data.tryGet('schema');
259
- const properties = {};
260
- for (const [key, propertyMetadata] of metadata.properties) {
261
- const reflectionData = propertyMetadata.data.tryGet('schema');
262
- const itemType = (0, type_guards_1.isDefined)(reflectionData?.type) ? (0, types_1.deferrableValueTypesToValueTypes)(reflectionData.type) : undefined;
263
- const array = ((propertyMetadata.type == Array) && (itemType != Array)) || (reflectionData?.array == true);
264
- if (array && ((0, type_guards_1.isUndefined)(itemType) || ((0, type_guards_1.isArray)(itemType) && (itemType.length == 0)))) {
265
- throw new Error(`Item type missing on type ${type.name} at property "${String(key)}"`);
229
+ function isValidValue(validSchemas, value, options, path) {
230
+ const errors = [];
231
+ for (const schema of validSchemas) {
232
+ const result = exports.Schema.testWithFastError(schema, value, options, path);
233
+ if (result.valid) {
234
+ return result;
266
235
  }
267
- properties[key] = {
268
- type: (itemType ?? propertyMetadata.type),
269
- array,
270
- optional: reflectionData?.optional,
271
- nullable: reflectionData?.nullable,
272
- coerce: reflectionData?.coerce,
273
- coercers: reflectionData?.coercers,
274
- transformers: reflectionData?.transformers,
275
- arrayConstraints: reflectionData?.arrayConstraints,
276
- valueConstraints: reflectionData?.valueConstraints
277
- };
236
+ errors.push(result.error);
278
237
  }
279
- const objectSchema = {
280
- factory: (0, type_guards_1.isDefined)(typeData?.factory) ? { builder: typeData.factory } : { type: type },
281
- properties,
282
- mask: typeData?.mask,
283
- allowUnknownProperties: typeData?.allowUnknownProperties
284
- };
285
- return objectSchema;
238
+ const expectStrings = [];
239
+ for (const schema of validSchemas) {
240
+ getExpectString(schema);
241
+ }
242
+ const expectString = expectStrings.join('\n');
243
+ return { valid: false, error: schema_error_1.SchemaError.expectedButGot(expectString, (0, utils_1.getValueType)(value), path) };
244
+ }
245
+ function getExpectString(schema) {
246
+ const expectedNames = (0, utils_1.getSchemaTypeNames)(schema);
247
+ const expectedTypeString = (expectedNames.length == 1)
248
+ ? expectedNames[0]
249
+ : `[${expectedNames.join(', ')}]`;
250
+ const expects = (0, types_1.isValueSchema)(schema) ? (0, array_1.toArray)(schema.valueConstraints ?? []).map((constraint) => constraint.expects) : [];
251
+ const expectsString = (expects.length > 0) ? ` (${expects.join(', ')})` : '';
252
+ return `${expectedTypeString}${expectsString}`;
286
253
  }
287
254
  //# 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,4 +1,4 @@
1
1
  import type { Decorator } from "../../reflection";
2
- import type { ValueSchema } from '../types';
3
- export declare function any(): ValueSchema<any>;
2
+ import type { TypeSchema } from '../types';
3
+ export declare function any(): TypeSchema<any>;
4
4
  export declare function Any(): Decorator<'property' | 'accessor'>;
@@ -5,11 +5,11 @@ exports.Any = exports.any = void 0;
5
5
  const decorators_1 = require("../decorators");
6
6
  const types_1 = require("../types");
7
7
  function any() {
8
- return (0, types_1.valueSchema)('any');
8
+ return (0, types_1.typeSchema)('any');
9
9
  }
10
10
  exports.any = any;
11
11
  function Any() {
12
- return (0, decorators_1.createSchemaPropertyDecoratorFromValueType)(any());
12
+ return (0, decorators_1.createSchemaPropertyDecoratorFromSchema)(any());
13
13
  }
14
14
  exports.Any = Any;
15
15
  //# sourceMappingURL=any.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"any.js","sourceRoot":"","sources":["../../../source/schema/schemas/any.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAGzD,8CAA2E;AAE3E,oCAAuC;AAEvC,SAAgB,GAAG;IACjB,OAAO,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAFD,kBAEC;AAED,SAAgB,GAAG;IACjB,OAAO,IAAA,uDAA0C,EAAC,GAAG,EAAE,CAAC,CAAC;AAC3D,CAAC;AAFD,kBAEC"}
1
+ {"version":3,"file":"any.js","sourceRoot":"","sources":["../../../source/schema/schemas/any.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAGzD,8CAAwE;AAExE,oCAAsC;AAEtC,SAAgB,GAAG;IACjB,OAAO,IAAA,kBAAU,EAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAFD,kBAEC;AAED,SAAgB,GAAG;IACjB,OAAO,IAAA,oDAAuC,EAAC,GAAG,EAAE,CAAC,CAAC;AACxD,CAAC;AAFD,kBAEC"}
@@ -1,4 +1,5 @@
1
1
  import type { OneOrMany } from "../../types";
2
+ import type { Schema } from '../schema';
2
3
  import type { Coercible, ValueSchema, ValueType } from '../types';
3
4
  export declare type ArrayOptions = Coercible & {
4
5
  /** minimum length */
@@ -6,4 +7,4 @@ export declare type ArrayOptions = Coercible & {
6
7
  /** maximum length */
7
8
  maximumLength?: number;
8
9
  };
9
- export declare function array<T, O = T>(innerValues: OneOrMany<ValueType<T, O>>, options?: ArrayOptions): ValueSchema<T, O[]>;
10
+ export declare function array<T, O = T>(innerValues: OneOrMany<Schema<T, O> | ValueType>, 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)(innerValues, {
16
+ return (0, types_1.valueSchema)((0, types_1.valueTypesOrSchemasToSchemas)(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;AAEpE,oCAAuC;AAUvC,SAAgB,KAAK,CAAW,WAAuC,EAAE,UAAwB,EAAE;IACjG,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,EAAC,WAAgC,EAAE;QACnD,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,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,8 +1,8 @@
1
1
  import type { Record } from "../../types";
2
2
  import type { Merge } from 'type-fest';
3
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>>;
4
+ export declare function assign<T1, O1, T2, O2>(schema1: ObjectSchema<T1, O1>, schema2: ObjectSchema<T2, O2>): ObjectSchema<Merge<T1, T2>, Merge<O1, O2>>;
5
+ export declare function assign<T1, O1, T2, O2, T3, O3>(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, O1, T2, O2, T3, O3, T4, O4>(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, O1, T2, O2, T3, O3, T4, O4, T6, O6>(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, O1, T2, O2, T3, O3, T4, O4, T6, O6, 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>>;
@@ -5,13 +5,13 @@ exports.Boolean = exports.boolean = void 0;
5
5
  const decorators_1 = require("../decorators");
6
6
  const types_1 = require("../types");
7
7
  function boolean(options = {}) {
8
- return (0, types_1.valueSchema)(globalThis.Boolean, {
8
+ return (0, types_1.valueSchema)((0, types_1.typeSchema)(globalThis.Boolean), {
9
9
  coerce: options.coerce
10
10
  });
11
11
  }
12
12
  exports.boolean = boolean;
13
13
  function Boolean(options) {
14
- return (0, decorators_1.createSchemaPropertyDecoratorFromValueType)(boolean(options));
14
+ return (0, decorators_1.createSchemaPropertyDecoratorFromSchema)(boolean(options));
15
15
  }
16
16
  exports.Boolean = Boolean;
17
17
  //# sourceMappingURL=boolean.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"boolean.js","sourceRoot":"","sources":["../../../source/schema/schemas/boolean.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAGzD,8CAA2E;AAE3E,oCAAuC;AAIvC,SAAgB,OAAO,CAAC,UAA0B,EAAE;IAClD,OAAO,IAAA,mBAAW,EAAU,UAAU,CAAC,OAAO,EAAE;QAC9C,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;AACL,CAAC;AAJD,0BAIC;AAED,SAAgB,OAAO,CAAC,OAAwB;IAC9C,OAAO,IAAA,uDAA0C,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AACtE,CAAC;AAFD,0BAEC"}
1
+ {"version":3,"file":"boolean.js","sourceRoot":"","sources":["../../../source/schema/schemas/boolean.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAGzD,8CAAwE;AAExE,oCAAmD;AAInD,SAAgB,OAAO,CAAC,UAA0B,EAAE;IAClD,OAAO,IAAA,mBAAW,EAAU,IAAA,kBAAU,EAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QAC1D,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;AACL,CAAC;AAJD,0BAIC;AAED,SAAgB,OAAO,CAAC,OAAwB;IAC9C,OAAO,IAAA,oDAAuC,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AACnE,CAAC;AAFD,0BAEC"}
@@ -14,14 +14,14 @@ function date(options = {}) {
14
14
  if ((0, type_guards_1.isDefined)(options.maximum)) {
15
15
  constraints.push(new constraints_1.MaximumDateConstraint(options.maximum));
16
16
  }
17
- return (0, types_1.valueSchema)(globalThis.Date, {
17
+ return (0, types_1.valueSchema)((0, types_1.typeSchema)(globalThis.Date), {
18
18
  coerce: options.coerce,
19
19
  valueConstraints: constraints
20
20
  });
21
21
  }
22
22
  exports.date = date;
23
23
  function Date(options) {
24
- return (0, decorators_1.createSchemaPropertyDecoratorFromValueType)(date(options));
24
+ return (0, decorators_1.createSchemaPropertyDecoratorFromSchema)(date(options));
25
25
  }
26
26
  exports.Date = Date;
27
27
  //# sourceMappingURL=date.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"date.js","sourceRoot":"","sources":["../../../source/schema/schemas/date.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAGzD,yDAAgD;AAChD,gDAA8E;AAC9E,8CAA2E;AAE3E,oCAAuC;AAOvC,SAAgB,IAAI,CAAC,UAAuB,EAAE;IAC5C,MAAM,WAAW,GAA4B,EAAE,CAAC;IAEhD,IAAI,IAAA,uBAAS,EAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC9B,WAAW,CAAC,IAAI,CAAC,IAAI,mCAAqB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;KAC9D;IAED,IAAI,IAAA,uBAAS,EAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC9B,WAAW,CAAC,IAAI,CAAC,IAAI,mCAAqB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;KAC9D;IAED,OAAO,IAAA,mBAAW,EAAC,UAAU,CAAC,IAAI,EAAE;QAClC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,gBAAgB,EAAE,WAAW;KAC9B,CAAC,CAAC;AACL,CAAC;AAfD,oBAeC;AAED,SAAgB,IAAI,CAAC,OAAqB;IACxC,OAAO,IAAA,uDAA0C,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACnE,CAAC;AAFD,oBAEC"}
1
+ {"version":3,"file":"date.js","sourceRoot":"","sources":["../../../source/schema/schemas/date.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAGzD,yDAAgD;AAChD,gDAA8E;AAC9E,8CAAwE;AAExE,oCAAmD;AAOnD,SAAgB,IAAI,CAAC,UAAuB,EAAE;IAC5C,MAAM,WAAW,GAA4B,EAAE,CAAC;IAEhD,IAAI,IAAA,uBAAS,EAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC9B,WAAW,CAAC,IAAI,CAAC,IAAI,mCAAqB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;KAC9D;IAED,IAAI,IAAA,uBAAS,EAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC9B,WAAW,CAAC,IAAI,CAAC,IAAI,mCAAqB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;KAC9D;IAED,OAAO,IAAA,mBAAW,EAAC,IAAA,kBAAU,EAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QAC9C,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,gBAAgB,EAAE,WAAW;KAC9B,CAAC,CAAC;AACL,CAAC;AAfD,oBAeC;AAED,SAAgB,IAAI,CAAC,OAAqB;IACxC,OAAO,IAAA,oDAAuC,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAChE,CAAC;AAFD,oBAEC"}
@@ -1,3 +1,4 @@
1
1
  import type { OneOrMany } from "../../types";
2
- import type { ValueSchema, ValueType } from '../types';
3
- export declare function defaulted<T, O, Default>(type: OneOrMany<ValueType<T, O>>, defaultValue: Default): ValueSchema<T, O | Default>;
2
+ import type { Schema } from '../schema';
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>;
@@ -1 +1 @@
1
- {"version":3,"file":"defaulted.js","sourceRoot":"","sources":["../../../source/schema/schemas/defaulted.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAGzD,0CAAkD;AAElD,oCAAuC;AAEvC,SAAgB,SAAS,CAAgB,IAAgC,EAAE,YAAqB;IAC9F,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,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"}
@@ -7,14 +7,14 @@ 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)(enumerationConstraint.suitableTypes, {
10
+ return (0, types_1.valueSchema)((0, types_1.valueTypesOrSchemasToSchemas)(enumerationConstraint.suitableTypes), {
11
11
  coerce: options.coerce,
12
12
  valueConstraints: enumerationConstraint
13
13
  });
14
14
  }
15
15
  exports.enumeration = enumeration;
16
16
  function Enumeration(enumerationValue, options = {}) {
17
- return (0, decorators_1.createSchemaPropertyDecoratorFromValueType)(enumeration(enumerationValue, options));
17
+ return (0, decorators_1.createSchemaPropertyDecoratorFromSchema)(enumeration(enumerationValue, options));
18
18
  }
19
19
  exports.Enumeration = Enumeration;
20
20
  //# sourceMappingURL=enumeration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enumeration.js","sourceRoot":"","sources":["../../../source/schema/schemas/enumeration.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,gDAAuD;AACvD,8CAA2E;AAE3E,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,uDAA0C,EAAC,WAAW,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC;AAC5F,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,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"}