@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
@@ -1 +1 @@
1
- {"version":3,"file":"minimum.js","sourceRoot":"","sources":["../../../source/schema/constraints/minimum.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,+CAA2E;AAC3E,kDAA8C;AAE9C,oCAAiD;AAEjD,MAAa,iBAAkB,SAAQ,6BAAqB;IAM1D,YAAY,OAAe;QACzB,KAAK,EAAE,CAAC;QAJD,kBAAa,GAAG,MAAM,CAAC;QAM9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;IAED,QAAQ,CAAC,KAAa,EAAE,IAAc;QACpC,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE;YACxB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;SACpG;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;CACF;AApBD,8CAoBC;AAED,SAAgB,OAAO,CAAC,OAAe;IACrC,OAAO,IAAA,4CAAoC,EAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAChG,CAAC;AAFD,0BAEC"}
1
+ {"version":3,"file":"minimum.js","sourceRoot":"","sources":["../../../source/schema/constraints/minimum.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,+CAA2E;AAC3E,kDAA8C;AAE9C,oCAA6D;AAE7D,MAAa,iBAAkB,SAAQ,6BAAqB;IAM1D,YAAY,OAAe;QACzB,KAAK,EAAE,CAAC;QAJD,kBAAa,GAAG,MAAM,CAAC;QAM9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;IAED,QAAQ,CAAC,KAAa,EAAE,IAAc;QACpC,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE;YACxB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;SAClG;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AApBD,8CAoBC;AAED,SAAgB,OAAO,CAAC,OAAe;IACrC,OAAO,IAAA,4CAAoC,EAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAA,kBAAU,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC9G,CAAC;AAFD,0BAEC"}
@@ -15,14 +15,14 @@ class PatternConstraint extends types_1.SchemaValueConstraint {
15
15
  }
16
16
  validate(value, path) {
17
17
  if (!this.pattern.test(value)) {
18
- return { success: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, `"${value}"`, path) };
18
+ return { valid: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, `"${value}"`, path) };
19
19
  }
20
- return { success: true };
20
+ return { valid: true };
21
21
  }
22
22
  }
23
23
  exports.PatternConstraint = PatternConstraint;
24
24
  function Pattern(pattern, patternName) {
25
- return (0, utils_1.createSchemaValueConstraintDecorator)(new PatternConstraint(pattern, patternName), { type: String });
25
+ return (0, utils_1.createSchemaValueConstraintDecorator)(new PatternConstraint(pattern, patternName), { schema: (0, types_1.typeSchema)(String) });
26
26
  }
27
27
  exports.Pattern = Pattern;
28
28
  //# sourceMappingURL=pattern.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pattern.js","sourceRoot":"","sources":["../../../source/schema/constraints/pattern.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,+CAA2E;AAC3E,kDAA8C;AAE9C,oCAAiD;AAEjD,MAAa,iBAAkB,SAAQ,6BAAqB;IAO1D,YAAY,OAAe,EAAE,cAAsB,WAAW;QAC5D,KAAK,EAAE,CAAC;QAJD,kBAAa,GAAG,MAAM,CAAC;QAM9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,YAAY,IAAI,CAAC,WAAW,EAAE,CAAC;IAChD,CAAC;IAED,QAAQ,CAAC,KAAa,EAAE,IAAc;QACpC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC7B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;SAChG;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;CACF;AAtBD,8CAsBC;AAED,SAAgB,OAAO,CAAC,OAAe,EAAE,WAAoB;IAC3D,OAAO,IAAA,4CAAoC,EAAC,IAAI,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAC7G,CAAC;AAFD,0BAEC"}
1
+ {"version":3,"file":"pattern.js","sourceRoot":"","sources":["../../../source/schema/constraints/pattern.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,+CAA2E;AAC3E,kDAA8C;AAE9C,oCAA6D;AAE7D,MAAa,iBAAkB,SAAQ,6BAAqB;IAO1D,YAAY,OAAe,EAAE,cAAsB,WAAW;QAC5D,KAAK,EAAE,CAAC;QAJD,kBAAa,GAAG,MAAM,CAAC;QAM9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,YAAY,IAAI,CAAC,WAAW,EAAE,CAAC;IAChD,CAAC;IAED,QAAQ,CAAC,KAAa,EAAE,IAAc;QACpC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC7B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;SAC9F;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AAtBD,8CAsBC;AAED,SAAgB,OAAO,CAAC,OAAe,EAAE,WAAoB;IAC3D,OAAO,IAAA,4CAAoC,EAAC,IAAI,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAA,kBAAU,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC3H,CAAC;AAFD,0BAEC"}
@@ -1,5 +1,5 @@
1
1
  import type { Decorator } from "../../reflection";
2
2
  import type { OneOrMany } from "../../types";
3
+ import type { Schema } from '../schema';
3
4
  import type { ArrayOptions } from '../schemas/array';
4
- import type { ValueType } from '../types';
5
- export declare function Array(innerValues: OneOrMany<ValueType>, options?: ArrayOptions): Decorator<'property' | 'accessor'>;
5
+ export declare function Array(innerValues: OneOrMany<Schema>, options?: ArrayOptions): Decorator<'property' | 'accessor'>;
@@ -5,7 +5,7 @@ exports.Array = void 0;
5
5
  const array_1 = require("../schemas/array");
6
6
  const utils_1 = require("./utils");
7
7
  function Array(innerValues, options) {
8
- return (0, utils_1.createSchemaPropertyDecoratorFromValueType)((0, array_1.array)(innerValues, options));
8
+ return (0, utils_1.createSchemaPropertyDecoratorFromSchema)((0, array_1.array)(innerValues, options));
9
9
  }
10
10
  exports.Array = Array;
11
11
  //# sourceMappingURL=array.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"array.js","sourceRoot":"","sources":["../../../source/schema/decorators/array.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAKzD,4CAAyC;AAEzC,mCAAqE;AAErE,SAAgB,KAAK,CAAC,WAAiC,EAAE,OAAsB;IAC7E,OAAO,IAAA,kDAA0C,EAAC,IAAA,aAAK,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;AACjF,CAAC;AAFD,sBAEC"}
1
+ {"version":3,"file":"array.js","sourceRoot":"","sources":["../../../source/schema/decorators/array.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAMzD,4CAAyC;AACzC,mCAAkE;AAElE,SAAgB,KAAK,CAAC,WAA8B,EAAE,OAAsB;IAC1E,OAAO,IAAA,+CAAuC,EAAC,IAAA,aAAK,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;AAC9E,CAAC;AAFD,sBAEC"}
@@ -1,4 +1,4 @@
1
1
  import type { Decorator } from "../../reflection";
2
2
  import type { OneOrMany } from "../../types";
3
- import type { ValueType } from '../types';
4
- export declare function Defaulted(type: OneOrMany<ValueType>, defaultValue: any): Decorator<'property' | 'accessor'>;
3
+ import type { Schema } from '../schema';
4
+ export declare function Defaulted(type: OneOrMany<Schema>, defaultValue: any): Decorator<'property' | 'accessor'>;
@@ -5,7 +5,7 @@ exports.Defaulted = void 0;
5
5
  const defaulted_1 = require("../schemas/defaulted");
6
6
  const utils_1 = require("./utils");
7
7
  function Defaulted(type, defaultValue) {
8
- return (0, utils_1.createSchemaPropertyDecoratorFromValueType)((0, defaulted_1.defaulted)(type, defaultValue));
8
+ return (0, utils_1.createSchemaPropertyDecoratorFromSchema)((0, defaulted_1.defaulted)(type, defaultValue));
9
9
  }
10
10
  exports.Defaulted = Defaulted;
11
11
  //# sourceMappingURL=defaulted.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaulted.js","sourceRoot":"","sources":["../../../source/schema/decorators/defaulted.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,oDAAiD;AAEjD,mCAAqE;AAErE,SAAgB,SAAS,CAAC,IAA0B,EAAE,YAAiB;IACrE,OAAO,IAAA,kDAA0C,EAAC,IAAA,qBAAS,EAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;AACnF,CAAC;AAFD,8BAEC"}
1
+ {"version":3,"file":"defaulted.js","sourceRoot":"","sources":["../../../source/schema/decorators/defaulted.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAKzD,oDAAiD;AACjD,mCAAkE;AAElE,SAAgB,SAAS,CAAC,IAAuB,EAAE,YAAiB;IAClE,OAAO,IAAA,+CAAuC,EAAC,IAAA,qBAAS,EAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;AAChF,CAAC;AAFD,8BAEC"}
@@ -1,2 +1,4 @@
1
1
  import type { Decorator } from "../../reflection";
2
- export declare function Optional(): Decorator<'property' | 'accessor'>;
2
+ import type { OneOrMany } from "../../types";
3
+ import type { SchemaTestable } from '../schema';
4
+ export declare function Optional(schema?: OneOrMany<SchemaTestable>): Decorator<'property' | 'accessor'>;
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.Optional = void 0;
5
5
  const utils_1 = require("./utils");
6
- function Optional() {
7
- return (0, utils_1.createSchemaPropertyDecorator)({ optional: true });
6
+ function Optional(schema) {
7
+ return (0, utils_1.createSchemaPropertyDecorator)({ schema, optional: true });
8
8
  }
9
9
  exports.Optional = Optional;
10
10
  //# sourceMappingURL=optional.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"optional.js","sourceRoot":"","sources":["../../../source/schema/decorators/optional.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAGzD,mCAAwD;AAExD,SAAgB,QAAQ;IACtB,OAAO,IAAA,qCAA6B,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3D,CAAC;AAFD,4BAEC"}
1
+ {"version":3,"file":"optional.js","sourceRoot":"","sources":["../../../source/schema/decorators/optional.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAKzD,mCAAwD;AAExD,SAAgB,QAAQ,CAAC,MAAkC;IACzD,OAAO,IAAA,qCAA6B,EAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AACnE,CAAC;AAFD,4BAEC"}
@@ -3,4 +3,4 @@ import type { OneOrMany, TypedOmit } from "../../types";
3
3
  import type { ValueType } from '../types';
4
4
  import type { PropertyOptions } from './types';
5
5
  export declare function Property(options?: PropertyOptions): Decorator<'property' | 'accessor'>;
6
- export declare function Property(types?: () => OneOrMany<ValueType>, options?: TypedOmit<PropertyOptions, 'type'>): Decorator<'property' | 'accessor'>;
6
+ export declare function Property(schema?: OneOrMany<ValueType>, options?: TypedOmit<PropertyOptions, 'schema'>): Decorator<'property' | 'accessor'>;
@@ -7,8 +7,10 @@ const type_guards_1 = require("../../utils/type-guards");
7
7
  const types_1 = require("../types");
8
8
  const utils_1 = require("./utils");
9
9
  function Property(optionsOrTypes = {}, optionsOrNothing) {
10
- const options = (0, type_guards_1.isFunction)(optionsOrTypes) ? { type: { deferred: () => (0, types_1.valueTypesToSchema)(optionsOrTypes()) }, ...optionsOrNothing } : optionsOrTypes;
10
+ const schema = ((0, type_guards_1.isFunction)(optionsOrTypes) || (0, type_guards_1.isString)(optionsOrTypes)) ? (0, types_1.typeSchema)(optionsOrTypes) : undefined;
11
+ const options = (0, type_guards_1.isUndefined)(schema) ? optionsOrTypes : optionsOrNothing ?? {};
11
12
  return (0, utils_1.createSchemaPropertyDecorator)({
13
+ schema,
12
14
  ...options,
13
15
  coercers: (0, type_guards_1.isDefined)(options.coercers) ? (0, array_1.toArray)(options.coercers) : undefined,
14
16
  transformers: (0, type_guards_1.isDefined)(options.transformers) ? (0, array_1.toArray)(options.transformers) : undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"property.js","sourceRoot":"","sources":["../../../source/schema/decorators/property.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,mDAA8C;AAC9C,yDAA4D;AAE5D,oCAA8C;AAE9C,mCAAwD;AAIxD,SAAgB,QAAQ,CAAC,iBAAiE,EAAE,EAAE,gBAAkC;IAC9H,MAAM,OAAO,GAAoB,IAAA,wBAAU,EAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAA,0BAAkB,EAAC,cAAc,EAAE,CAAC,EAAE,EAAE,GAAG,gBAAgB,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;IAEvK,OAAO,IAAA,qCAA6B,EAAC;QACnC,GAAG,OAAO;QACV,QAAQ,EAAE,IAAA,uBAAS,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAA,eAAO,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;QAC7E,YAAY,EAAE,IAAA,uBAAS,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAA,eAAO,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;QACzF,gBAAgB,EAAE,IAAA,uBAAS,EAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAA,eAAO,EAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS;QACrG,gBAAgB,EAAE,IAAA,uBAAS,EAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAA,eAAO,EAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS;KACtG,CAAC,CAAC;AACL,CAAC;AAVD,4BAUC"}
1
+ {"version":3,"file":"property.js","sourceRoot":"","sources":["../../../source/schema/decorators/property.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,mDAA8C;AAC9C,yDAAmF;AAEnF,oCAAsC;AAEtC,mCAAwD;AAIxD,SAAgB,QAAQ,CAAC,iBAAyD,EAAE,EAAE,gBAAkC;IACtH,MAAM,MAAM,GAAG,CAAC,IAAA,wBAAU,EAAC,cAAc,CAAC,IAAI,IAAA,sBAAQ,EAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,kBAAU,EAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjH,MAAM,OAAO,GAAG,IAAA,yBAAW,EAAC,MAAM,CAAC,CAAC,CAAC,CAAE,cAAkC,CAAC,CAAC,CAAC,gBAAgB,IAAK,EAAsB,CAAC;IAExH,OAAO,IAAA,qCAA6B,EAAC;QACnC,MAAM;QACN,GAAG,OAAO;QACV,QAAQ,EAAE,IAAA,uBAAS,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAA,eAAO,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;QAC7E,YAAY,EAAE,IAAA,uBAAS,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAA,eAAO,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;QACzF,gBAAgB,EAAE,IAAA,uBAAS,EAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAA,eAAO,EAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS;QACrG,gBAAgB,EAAE,IAAA,uBAAS,EAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAA,eAAO,EAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS;KACtG,CAAC,CAAC;AACL,CAAC;AAZD,4BAYC"}
@@ -1,11 +1,11 @@
1
1
  import type { OneOrMany } from "../../types";
2
- import type { ObjectSchema, SchemaArrayConstraint, SchemaFactoryFunction, SchemaValueCoercer, SchemaValueConstraint, SchemaValueTransformer, ValueSchema, ValueType } from '../types';
2
+ import type { SchemaTestable } from '../schema';
3
+ import type { ObjectSchema, SchemaArrayConstraint, SchemaFactoryFunction, SchemaValueCoercer, SchemaValueConstraint, SchemaValueTransformer, ValueSchema } from '../types';
3
4
  export declare type SchemaTypeReflectionData = Partial<Pick<ObjectSchema, 'mask' | 'allowUnknownProperties'>> & {
4
5
  factory?: SchemaFactoryFunction<any>;
5
6
  };
6
- export declare type TypesProvider = () => OneOrMany<ValueType>;
7
7
  export declare type SchemaPropertyReflectionData = {
8
- type?: OneOrMany<ValueType>;
8
+ schema?: OneOrMany<SchemaTestable>;
9
9
  array?: boolean;
10
10
  optional?: boolean;
11
11
  nullable?: boolean;
@@ -15,4 +15,4 @@ export declare type SchemaPropertyReflectionData = {
15
15
  arrayConstraints?: readonly SchemaArrayConstraint[];
16
16
  valueConstraints?: readonly SchemaValueConstraint[];
17
17
  };
18
- export declare type PropertyOptions = Partial<ValueSchema>;
18
+ export declare type PropertyOptions = Partial<ValueSchema<any>>;
@@ -1,9 +1,10 @@
1
1
  import type { Decorator } from "../../reflection";
2
2
  import type { OneOrMany } from "../../types";
3
- import type { SchemaArrayConstraint, SchemaValueCoercer, SchemaValueConstraint, SchemaValueTransformer, ValueType } from '../types';
3
+ import type { Schema } from '../schema';
4
+ import type { SchemaArrayConstraint, SchemaValueCoercer, SchemaValueConstraint, SchemaValueTransformer } from '../types';
4
5
  import type { PropertyOptions } from './types';
5
6
  export declare function createSchemaPropertyDecorator(options: PropertyOptions): Decorator<'property' | 'accessor'>;
6
- export declare function createSchemaPropertyDecoratorFromValueType(valueType: ValueType): Decorator<'property' | 'accessor'>;
7
+ export declare function createSchemaPropertyDecoratorFromSchema(schema: Schema): Decorator<'property' | 'accessor'>;
7
8
  export declare function createSchemaValueCoercerDecorator(coercer: SchemaValueCoercer, options?: PropertyOptions): Decorator<'property' | 'accessor'>;
8
9
  export declare function createSchemaValueTransformerDecorator(transformer: SchemaValueTransformer, options?: PropertyOptions): Decorator<'property' | 'accessor'>;
9
10
  export declare function createSchemaArrayConstraintDecorator(constraint: SchemaArrayConstraint, options?: PropertyOptions): Decorator<'property' | 'accessor'>;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  /* eslint-disable @typescript-eslint/naming-convention */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.createSchemaValueConstraintDecorator = exports.createSchemaArrayConstraintDecorator = exports.createSchemaValueTransformerDecorator = exports.createSchemaValueCoercerDecorator = exports.createSchemaPropertyDecoratorFromValueType = exports.createSchemaPropertyDecorator = void 0;
4
+ exports.createSchemaValueConstraintDecorator = exports.createSchemaArrayConstraintDecorator = exports.createSchemaValueTransformerDecorator = exports.createSchemaValueCoercerDecorator = exports.createSchemaPropertyDecoratorFromSchema = exports.createSchemaPropertyDecorator = void 0;
5
5
  const reflection_1 = require("../../reflection");
6
6
  const array_1 = require("../../utils/array/array");
7
7
  const merge_1 = require("../../utils/merge");
@@ -24,14 +24,10 @@ function createSchemaPropertyDecorator(options) {
24
24
  });
25
25
  }
26
26
  exports.createSchemaPropertyDecorator = createSchemaPropertyDecorator;
27
- function createSchemaPropertyDecoratorFromValueType(valueType) {
28
- const schema = (0, types_1.isValueSchema)(valueType) ? valueType : (0, types_1.valueSchema)(valueType);
29
- return createSchemaPropertyDecorator({
30
- ...schema,
31
- type: schema.type
32
- });
27
+ function createSchemaPropertyDecoratorFromSchema(schema) {
28
+ return createSchemaPropertyDecorator((0, types_1.isValueSchema)(schema) ? schema : (0, types_1.valueSchema)(schema));
33
29
  }
34
- exports.createSchemaPropertyDecoratorFromValueType = createSchemaPropertyDecoratorFromValueType;
30
+ exports.createSchemaPropertyDecoratorFromSchema = createSchemaPropertyDecoratorFromSchema;
35
31
  function createSchemaValueCoercerDecorator(coercer, options) {
36
32
  return createSchemaPropertyDecorator({ ...options, coercers: coercer });
37
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../source/schema/decorators/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../source/schema/decorators/utils.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,16 @@
1
1
  import { JsonPath } from "../json-path";
2
- import type { ObjectSchema, SchemaTestOptions, SchemaTestResult, SchemaValueCoercer, TypeSchema, ValueSchema } from './types';
3
- export declare type Schema<T = any, O = T> = ObjectSchema<T, O> | ValueSchema<T, O>;
4
- export declare const getSchemaFromReflection: typeof _getObjectSchemaFromReflection;
5
- export declare type SchemaTestable<T = any, O = T> = Schema<T, O> | TypeSchema<T, O>;
2
+ import type { NormalizedObjectSchema, NormalizedTypeSchema, NormalizedValueSchema, ObjectSchema, SchemaTestOptions, SchemaTestResult, SchemaValueCoercer, TypeSchema, ValueSchema, ValueType } from './types';
3
+ export declare type Schema<T = any, O = T> = ObjectSchema<T, O> | ValueSchema<T, O> | TypeSchema<O>;
4
+ export declare type SchemaTestable<T = any, O = T> = Schema<T, O> | ValueType<O>;
5
+ export declare type NormalizedSchema<T = any, O = T> = NormalizedObjectSchema<T, O> | NormalizedValueSchema<T, O> | NormalizedTypeSchema<O>;
6
6
  export declare const Schema: {
7
7
  registerDefaultCoercer(coercer: SchemaValueCoercer): void;
8
- test<T, O>(schema: SchemaTestable<T, O>, value: unknown, options?: SchemaTestOptions, path?: JsonPath): SchemaTestResult<O>;
9
- validate<T_1, O_1 = T_1>(schema: SchemaTestable<T_1, O_1>, value: unknown, options?: SchemaTestOptions): boolean;
10
- parse<T_2, O_2 = T_2>(schema: SchemaTestable<T_2, O_2>, value: unknown, options?: SchemaTestOptions): O_2;
8
+ test<T, O>(schemaOrValueType: SchemaTestable<T, O>, value: unknown, options?: SchemaTestOptions, path?: JsonPath): SchemaTestResult<O>;
9
+ validate<T_1, O_1 = T_1>(schemaOrValueType: SchemaTestable<T_1, O_1>, value: unknown, options?: SchemaTestOptions): boolean;
10
+ parse<T_2, O_2 = T_2>(schemaOrValueType: SchemaTestable<T_2, O_2>, value: unknown, options?: SchemaTestOptions): O_2;
11
11
  /**
12
12
  * disables stack traces for errors
13
13
  * @deprecated for internal use only
14
14
  */
15
- testWithFastError<T_3, O_3 = T_3>(schema: SchemaTestable<T_3, O_3>, value: unknown, options?: SchemaTestOptions, path?: JsonPath): SchemaTestResult<O_3>;
15
+ testWithFastError<T_3, O_3 = T_3>(schema: Schema<T_3, O_3>, value: unknown, options?: SchemaTestOptions, path?: JsonPath): SchemaTestResult<O_3>;
16
16
  };
17
- declare function _getObjectSchemaFromReflection<T, O>(type: TypeSchema<T, O>): ObjectSchema<T> | null;
18
- export {};
@@ -8,6 +8,7 @@ export declare type SchemaErrorOptions = Pick<CustomErrorOptions, 'fast'> & {
8
8
  path: string | JsonPath;
9
9
  inner?: OneOrMany<SchemaError>;
10
10
  details?: UndefinableJson;
11
+ cause?: any;
11
12
  };
12
13
  export declare class SchemaError extends CustomError implements ErrorExtraInfo {
13
14
  static readonly errorName = "SchemaError";
@@ -7,7 +7,7 @@ const type_guards_1 = require("../utils/type-guards");
7
7
  const utils_1 = require("./utils");
8
8
  class SchemaError extends error_1.CustomError {
9
9
  constructor(message, options, cause) {
10
- super({ message, cause, fast: options.fast ?? true });
10
+ super({ message, cause: cause ?? options.cause, fast: options.fast ?? true });
11
11
  this.path = (0, type_guards_1.isString)(options.path) ? options.path : options.path.path;
12
12
  if ((0, type_guards_1.isDefined)(options.inner)) {
13
13
  const errors = (0, array_1.toArray)(options.inner);
@@ -1 +1 @@
1
- {"version":3,"file":"schema.error.js","sourceRoot":"","sources":["../../source/schema/schema.error.ts"],"names":[],"mappings":";;;AACA,oCAAsC;AAGtC,gDAA8C;AAE9C,sDAAgF;AAEhF,mCAA2C;AAQ3C,MAAa,WAAY,SAAQ,mBAAW;IAO1C,YAAY,OAAe,EAAE,OAA2B,EAAE,KAAW;QACnE,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;QAEtD,IAAI,CAAC,IAAI,GAAG,IAAA,sBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QAEtE,IAAI,IAAA,uBAAS,EAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC5B,MAAM,MAAM,GAAG,IAAA,eAAO,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAEtC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrB,IAAI,CAAC,KAAK,GAAG,MAAuB,CAAC;aACtC;SACF;QAED,IAAI,IAAA,kCAAoB,EAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACzC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;SAChC;IACH,CAAC;IAED,6EAA6E;IAC7E,MAAM,CAAC,cAAc,CAAC,QAAuC,EAAE,GAAuB,EAAE,IAAuB,EAAE,OAA+C;QAC9J,MAAM,aAAa,GAAG,IAAA,eAAO,EAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAA,sBAAQ,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,wBAAgB,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpG,MAAM,OAAO,GAAG,IAAA,sBAAQ,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,wBAAgB,EAAC,GAAG,CAAC,CAAC;QAE5D,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,IAAI,CAAC;YAC9C,CAAC,CAAC,aAAa,CAAC,CAAC,CAAE;YACnB,CAAC,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAEpC,MAAM,OAAO,GAAG,YAAY,cAAc,YAAY,OAAO,GAAG,CAAC;QACjE,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,6EAA6E;IAC7E,MAAM,CAAC,cAAc,CAAC,QAAuC,EAAE,GAAuB,EAAE,IAAuB,EAAE,aAAkC,EAAE,OAA+C;QAClM,MAAM,aAAa,GAAG,IAAA,eAAO,EAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAA,sBAAQ,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,wBAAgB,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpG,MAAM,OAAO,GAAG,IAAA,sBAAQ,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,wBAAgB,EAAC,GAAG,CAAC,CAAC;QAE5D,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,IAAI,CAAC;YAC9C,CAAC,CAAC,aAAa,CAAC,CAAC,CAAE;YACnB,CAAC,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAEpC,MAAM,mBAAmB,GAAG,IAAA,uBAAS,EAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAClF,MAAM,YAAY,GAAG,oBAAoB,OAAO,OAAO,cAAc,GAAG,mBAAmB,EAAE,CAAC;QAC9F,OAAO,IAAI,WAAW,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,YAAY,CAAC,iBAA0B,KAAK;QAC1C,MAAM,GAAG,GAAoB;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;QAEF,IAAI,cAAc,EAAE;YAClB,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;SAC/B;QAED,IAAI,IAAA,uBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;YACpD,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;SACpE;QAED,IAAI,IAAA,kCAAoB,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACtC,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;SAC/B;QAED,OAAO,GAAG,CAAC;IACb,CAAC;;AAtEH,kCAuEC;AAtEiB,qBAAS,GAAG,aAAa,CAAC"}
1
+ {"version":3,"file":"schema.error.js","sourceRoot":"","sources":["../../source/schema/schema.error.ts"],"names":[],"mappings":"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"}