@rockster/class-pipe 0.0.1

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 (430) hide show
  1. package/contexts/validate-context.d.ts +5 -0
  2. package/contexts/validate-context.js +6 -0
  3. package/contexts/validate-context.js.map +1 -0
  4. package/decorators/array/index.d.ts +1 -0
  5. package/decorators/array/index.js +18 -0
  6. package/decorators/array/index.js.map +1 -0
  7. package/decorators/array/is-array.decorator.d.ts +6 -0
  8. package/decorators/array/is-array.decorator.js +62 -0
  9. package/decorators/array/is-array.decorator.js.map +1 -0
  10. package/decorators/common/expose.decorator.d.ts +6 -0
  11. package/decorators/common/expose.decorator.js +20 -0
  12. package/decorators/common/expose.decorator.js.map +1 -0
  13. package/decorators/common/if.decorator.d.ts +3 -0
  14. package/decorators/common/if.decorator.js +21 -0
  15. package/decorators/common/if.decorator.js.map +1 -0
  16. package/decorators/common/index.d.ts +6 -0
  17. package/decorators/common/index.js +23 -0
  18. package/decorators/common/index.js.map +1 -0
  19. package/decorators/common/is-optional.decorator.d.ts +4 -0
  20. package/decorators/common/is-optional.decorator.js +16 -0
  21. package/decorators/common/is-optional.decorator.js.map +1 -0
  22. package/decorators/common/is-required.decorator.d.ts +5 -0
  23. package/decorators/common/is-required.decorator.js +52 -0
  24. package/decorators/common/is-required.decorator.js.map +1 -0
  25. package/decorators/common/transform-input.decorator.d.ts +2 -0
  26. package/decorators/common/transform-input.decorator.js +13 -0
  27. package/decorators/common/transform-input.decorator.js.map +1 -0
  28. package/decorators/common/transform-output.decorator.d.ts +2 -0
  29. package/decorators/common/transform-output.decorator.js +13 -0
  30. package/decorators/common/transform-output.decorator.js.map +1 -0
  31. package/decorators/date/index.d.ts +4 -0
  32. package/decorators/date/index.js +21 -0
  33. package/decorators/date/index.js.map +1 -0
  34. package/decorators/date/is-after.decorator.d.ts +4 -0
  35. package/decorators/date/is-after.decorator.js +55 -0
  36. package/decorators/date/is-after.decorator.js.map +1 -0
  37. package/decorators/date/is-before.decorator.d.ts +4 -0
  38. package/decorators/date/is-before.decorator.js +55 -0
  39. package/decorators/date/is-before.decorator.js.map +1 -0
  40. package/decorators/date/is-date.decorator.d.ts +4 -0
  41. package/decorators/date/is-date.decorator.js +62 -0
  42. package/decorators/date/is-date.decorator.js.map +1 -0
  43. package/decorators/date/is-time.decorator.d.ts +4 -0
  44. package/decorators/date/is-time.decorator.js +64 -0
  45. package/decorators/date/is-time.decorator.js.map +1 -0
  46. package/decorators/index.d.ts +6 -0
  47. package/decorators/index.js +23 -0
  48. package/decorators/index.js.map +1 -0
  49. package/decorators/number/index.d.ts +6 -0
  50. package/decorators/number/index.js +23 -0
  51. package/decorators/number/index.js.map +1 -0
  52. package/decorators/number/is-decimal.decorator.d.ts +4 -0
  53. package/decorators/number/is-decimal.decorator.js +61 -0
  54. package/decorators/number/is-decimal.decorator.js.map +1 -0
  55. package/decorators/number/is-divisible-by.decorator.d.ts +4 -0
  56. package/decorators/number/is-divisible-by.decorator.js +58 -0
  57. package/decorators/number/is-divisible-by.decorator.js.map +1 -0
  58. package/decorators/number/is-float.decorator.d.ts +4 -0
  59. package/decorators/number/is-float.decorator.js +66 -0
  60. package/decorators/number/is-float.decorator.js.map +1 -0
  61. package/decorators/number/is-int.decorator.d.ts +4 -0
  62. package/decorators/number/is-int.decorator.js +64 -0
  63. package/decorators/number/is-int.decorator.js.map +1 -0
  64. package/decorators/number/is-numeric.decorator.d.ts +4 -0
  65. package/decorators/number/is-numeric.decorator.js +64 -0
  66. package/decorators/number/is-numeric.decorator.js.map +1 -0
  67. package/decorators/number/is-octal.decorator.d.ts +4 -0
  68. package/decorators/number/is-octal.decorator.js +55 -0
  69. package/decorators/number/is-octal.decorator.js.map +1 -0
  70. package/decorators/object/index.d.ts +2 -0
  71. package/decorators/object/index.js +19 -0
  72. package/decorators/object/index.js.map +1 -0
  73. package/decorators/object/is-object.decorator.d.ts +4 -0
  74. package/decorators/object/is-object.decorator.js +58 -0
  75. package/decorators/object/is-object.decorator.js.map +1 -0
  76. package/decorators/object/is-type.decorator.d.ts +2 -0
  77. package/decorators/object/is-type.decorator.js +19 -0
  78. package/decorators/object/is-type.decorator.js.map +1 -0
  79. package/decorators/string/contains.decorator.d.ts +4 -0
  80. package/decorators/string/contains.decorator.js +55 -0
  81. package/decorators/string/contains.decorator.js.map +1 -0
  82. package/decorators/string/index.d.ts +68 -0
  83. package/decorators/string/index.js +85 -0
  84. package/decorators/string/index.js.map +1 -0
  85. package/decorators/string/is-alpha.decorator.d.ts +4 -0
  86. package/decorators/string/is-alpha.decorator.js +55 -0
  87. package/decorators/string/is-alpha.decorator.js.map +1 -0
  88. package/decorators/string/is-alphanumeric.decorator.d.ts +4 -0
  89. package/decorators/string/is-alphanumeric.decorator.js +55 -0
  90. package/decorators/string/is-alphanumeric.decorator.js.map +1 -0
  91. package/decorators/string/is-ascii.decorator.d.ts +4 -0
  92. package/decorators/string/is-ascii.decorator.js +55 -0
  93. package/decorators/string/is-ascii.decorator.js.map +1 -0
  94. package/decorators/string/is-base-32.decorator.d.ts +4 -0
  95. package/decorators/string/is-base-32.decorator.js +55 -0
  96. package/decorators/string/is-base-32.decorator.js.map +1 -0
  97. package/decorators/string/is-base-58.decorator.d.ts +4 -0
  98. package/decorators/string/is-base-58.decorator.js +55 -0
  99. package/decorators/string/is-base-58.decorator.js.map +1 -0
  100. package/decorators/string/is-base-64.decorator.d.ts +4 -0
  101. package/decorators/string/is-base-64.decorator.js +55 -0
  102. package/decorators/string/is-base-64.decorator.js.map +1 -0
  103. package/decorators/string/is-bic.decorator.d.ts +4 -0
  104. package/decorators/string/is-bic.decorator.js +55 -0
  105. package/decorators/string/is-bic.decorator.js.map +1 -0
  106. package/decorators/string/is-boolean.d.ts +5 -0
  107. package/decorators/string/is-boolean.js +57 -0
  108. package/decorators/string/is-boolean.js.map +1 -0
  109. package/decorators/string/is-btc-address.decorator.d.ts +4 -0
  110. package/decorators/string/is-btc-address.decorator.js +55 -0
  111. package/decorators/string/is-btc-address.decorator.js.map +1 -0
  112. package/decorators/string/is-byte-length.d.ts +4 -0
  113. package/decorators/string/is-byte-length.js +60 -0
  114. package/decorators/string/is-byte-length.js.map +1 -0
  115. package/decorators/string/is-credit-card.decorator.d.ts +4 -0
  116. package/decorators/string/is-credit-card.decorator.js +55 -0
  117. package/decorators/string/is-credit-card.decorator.js.map +1 -0
  118. package/decorators/string/is-data-uri.decorator.d.ts +4 -0
  119. package/decorators/string/is-data-uri.decorator.js +55 -0
  120. package/decorators/string/is-data-uri.decorator.js.map +1 -0
  121. package/decorators/string/is-domain.decorator.d.ts +4 -0
  122. package/decorators/string/is-domain.decorator.js +70 -0
  123. package/decorators/string/is-domain.decorator.js.map +1 -0
  124. package/decorators/string/is-ean.decorator.d.ts +4 -0
  125. package/decorators/string/is-ean.decorator.js +55 -0
  126. package/decorators/string/is-ean.decorator.js.map +1 -0
  127. package/decorators/string/is-email.decorator.d.ts +4 -0
  128. package/decorators/string/is-email.decorator.js +65 -0
  129. package/decorators/string/is-email.decorator.js.map +1 -0
  130. package/decorators/string/is-ethereum-address.decorator.d.ts +4 -0
  131. package/decorators/string/is-ethereum-address.decorator.js +55 -0
  132. package/decorators/string/is-ethereum-address.decorator.js.map +1 -0
  133. package/decorators/string/is-full-width.decorator.d.ts +4 -0
  134. package/decorators/string/is-full-width.decorator.js +55 -0
  135. package/decorators/string/is-full-width.decorator.js.map +1 -0
  136. package/decorators/string/is-half-width.decorator.d.ts +4 -0
  137. package/decorators/string/is-half-width.decorator.js +55 -0
  138. package/decorators/string/is-half-width.decorator.js.map +1 -0
  139. package/decorators/string/is-hash.decorator.d.ts +4 -0
  140. package/decorators/string/is-hash.decorator.js +58 -0
  141. package/decorators/string/is-hash.decorator.js.map +1 -0
  142. package/decorators/string/is-hex-color.decorator.d.ts +4 -0
  143. package/decorators/string/is-hex-color.decorator.js +55 -0
  144. package/decorators/string/is-hex-color.decorator.js.map +1 -0
  145. package/decorators/string/is-hexadecimal.decorator.d.ts +4 -0
  146. package/decorators/string/is-hexadecimal.decorator.js +55 -0
  147. package/decorators/string/is-hexadecimal.decorator.js.map +1 -0
  148. package/decorators/string/is-hsl.decorator.d.ts +4 -0
  149. package/decorators/string/is-hsl.decorator.js +55 -0
  150. package/decorators/string/is-hsl.decorator.js.map +1 -0
  151. package/decorators/string/is-iban.decorator.d.ts +4 -0
  152. package/decorators/string/is-iban.decorator.js +55 -0
  153. package/decorators/string/is-iban.decorator.js.map +1 -0
  154. package/decorators/string/is-identity-card.decorator.d.ts +4 -0
  155. package/decorators/string/is-identity-card.decorator.js +58 -0
  156. package/decorators/string/is-identity-card.decorator.js.map +1 -0
  157. package/decorators/string/is-imei.decorator.d.ts +4 -0
  158. package/decorators/string/is-imei.decorator.js +55 -0
  159. package/decorators/string/is-imei.decorator.js.map +1 -0
  160. package/decorators/string/is-in.decorator.d.ts +5 -0
  161. package/decorators/string/is-in.decorator.js +62 -0
  162. package/decorators/string/is-in.decorator.js.map +1 -0
  163. package/decorators/string/is-ip-range.decorator.d.ts +4 -0
  164. package/decorators/string/is-ip-range.decorator.js +58 -0
  165. package/decorators/string/is-ip-range.decorator.js.map +1 -0
  166. package/decorators/string/is-ip.decorator.d.ts +4 -0
  167. package/decorators/string/is-ip.decorator.js +58 -0
  168. package/decorators/string/is-ip.decorator.js.map +1 -0
  169. package/decorators/string/is-isbn.decorator.d.ts +4 -0
  170. package/decorators/string/is-isbn.decorator.js +58 -0
  171. package/decorators/string/is-isbn.decorator.js.map +1 -0
  172. package/decorators/string/is-isin.decorator.d.ts +4 -0
  173. package/decorators/string/is-isin.decorator.js +55 -0
  174. package/decorators/string/is-isin.decorator.js.map +1 -0
  175. package/decorators/string/is-iso-31661-alpha2.decorator.d.ts +4 -0
  176. package/decorators/string/is-iso-31661-alpha2.decorator.js +55 -0
  177. package/decorators/string/is-iso-31661-alpha2.decorator.js.map +1 -0
  178. package/decorators/string/is-iso-31661-alpha3.decorator.d.ts +4 -0
  179. package/decorators/string/is-iso-31661-alpha3.decorator.js +55 -0
  180. package/decorators/string/is-iso-31661-alpha3.decorator.js.map +1 -0
  181. package/decorators/string/is-iso-4217.decorator.d.ts +4 -0
  182. package/decorators/string/is-iso-4217.decorator.js +55 -0
  183. package/decorators/string/is-iso-4217.decorator.js.map +1 -0
  184. package/decorators/string/is-iso-8601.decorator.d.ts +4 -0
  185. package/decorators/string/is-iso-8601.decorator.js +55 -0
  186. package/decorators/string/is-iso-8601.decorator.js.map +1 -0
  187. package/decorators/string/is-isrc.decorator.d.ts +4 -0
  188. package/decorators/string/is-isrc.decorator.js +55 -0
  189. package/decorators/string/is-isrc.decorator.js.map +1 -0
  190. package/decorators/string/is-issn.decorator.d.ts +4 -0
  191. package/decorators/string/is-issn.decorator.js +55 -0
  192. package/decorators/string/is-issn.decorator.js.map +1 -0
  193. package/decorators/string/is-json.decorator.d.ts +4 -0
  194. package/decorators/string/is-json.decorator.js +56 -0
  195. package/decorators/string/is-json.decorator.js.map +1 -0
  196. package/decorators/string/is-jwt.decorator.d.ts +4 -0
  197. package/decorators/string/is-jwt.decorator.js +55 -0
  198. package/decorators/string/is-jwt.decorator.js.map +1 -0
  199. package/decorators/string/is-lat-long.decorator.d.ts +4 -0
  200. package/decorators/string/is-lat-long.decorator.js +55 -0
  201. package/decorators/string/is-lat-long.decorator.js.map +1 -0
  202. package/decorators/string/is-length.decorator.d.ts +4 -0
  203. package/decorators/string/is-length.decorator.js +60 -0
  204. package/decorators/string/is-length.decorator.js.map +1 -0
  205. package/decorators/string/is-locale.decorator.d.ts +4 -0
  206. package/decorators/string/is-locale.decorator.js +55 -0
  207. package/decorators/string/is-locale.decorator.js.map +1 -0
  208. package/decorators/string/is-lowercase.decorator.d.ts +4 -0
  209. package/decorators/string/is-lowercase.decorator.js +55 -0
  210. package/decorators/string/is-lowercase.decorator.js.map +1 -0
  211. package/decorators/string/is-mac-address.decorator.d.ts +4 -0
  212. package/decorators/string/is-mac-address.decorator.js +58 -0
  213. package/decorators/string/is-mac-address.decorator.js.map +1 -0
  214. package/decorators/string/is-md5.decorator.d.ts +4 -0
  215. package/decorators/string/is-md5.decorator.js +55 -0
  216. package/decorators/string/is-md5.decorator.js.map +1 -0
  217. package/decorators/string/is-megnet-uri.decorator.d.ts +4 -0
  218. package/decorators/string/is-megnet-uri.decorator.js +55 -0
  219. package/decorators/string/is-megnet-uri.decorator.js.map +1 -0
  220. package/decorators/string/is-mime-type.decorator.d.ts +4 -0
  221. package/decorators/string/is-mime-type.decorator.js +55 -0
  222. package/decorators/string/is-mime-type.decorator.js.map +1 -0
  223. package/decorators/string/is-mobile-phone.decorator.d.ts +4 -0
  224. package/decorators/string/is-mobile-phone.decorator.js +60 -0
  225. package/decorators/string/is-mobile-phone.decorator.js.map +1 -0
  226. package/decorators/string/is-mongo-id.decorator.d.ts +4 -0
  227. package/decorators/string/is-mongo-id.decorator.js +55 -0
  228. package/decorators/string/is-mongo-id.decorator.js.map +1 -0
  229. package/decorators/string/is-multibyte.decorator.d.ts +4 -0
  230. package/decorators/string/is-multibyte.decorator.js +55 -0
  231. package/decorators/string/is-multibyte.decorator.js.map +1 -0
  232. package/decorators/string/is-passport-number.decorator.d.ts +4 -0
  233. package/decorators/string/is-passport-number.decorator.js +60 -0
  234. package/decorators/string/is-passport-number.decorator.js.map +1 -0
  235. package/decorators/string/is-port.decorator.d.ts +4 -0
  236. package/decorators/string/is-port.decorator.js +55 -0
  237. package/decorators/string/is-port.decorator.js.map +1 -0
  238. package/decorators/string/is-postal-code.decorator.d.ts +4 -0
  239. package/decorators/string/is-postal-code.decorator.js +60 -0
  240. package/decorators/string/is-postal-code.decorator.js.map +1 -0
  241. package/decorators/string/is-rfc3339.decorator.d.ts +4 -0
  242. package/decorators/string/is-rfc3339.decorator.js +55 -0
  243. package/decorators/string/is-rfc3339.decorator.js.map +1 -0
  244. package/decorators/string/is-rgb-color.decorator.d.ts +4 -0
  245. package/decorators/string/is-rgb-color.decorator.js +64 -0
  246. package/decorators/string/is-rgb-color.decorator.js.map +1 -0
  247. package/decorators/string/is-sem-ver.decorator.d.ts +4 -0
  248. package/decorators/string/is-sem-ver.decorator.js +55 -0
  249. package/decorators/string/is-sem-ver.decorator.js.map +1 -0
  250. package/decorators/string/is-slug.decorator.d.ts +4 -0
  251. package/decorators/string/is-slug.decorator.js +55 -0
  252. package/decorators/string/is-slug.decorator.js.map +1 -0
  253. package/decorators/string/is-string.decorator.d.ts +6 -0
  254. package/decorators/string/is-string.decorator.js +55 -0
  255. package/decorators/string/is-string.decorator.js.map +1 -0
  256. package/decorators/string/is-strong-password.decorator.d.ts +6 -0
  257. package/decorators/string/is-strong-password.decorator.js +76 -0
  258. package/decorators/string/is-strong-password.decorator.js.map +1 -0
  259. package/decorators/string/is-surrogate-pair.decorator.d.ts +4 -0
  260. package/decorators/string/is-surrogate-pair.decorator.js +55 -0
  261. package/decorators/string/is-surrogate-pair.decorator.js.map +1 -0
  262. package/decorators/string/is-tax-id.decorator.d.ts +4 -0
  263. package/decorators/string/is-tax-id.decorator.js +60 -0
  264. package/decorators/string/is-tax-id.decorator.js.map +1 -0
  265. package/decorators/string/is-uppercase.decorator.d.ts +4 -0
  266. package/decorators/string/is-uppercase.decorator.js +55 -0
  267. package/decorators/string/is-uppercase.decorator.js.map +1 -0
  268. package/decorators/string/is-url.decorator.d.ts +4 -0
  269. package/decorators/string/is-url.decorator.js +55 -0
  270. package/decorators/string/is-url.decorator.js.map +1 -0
  271. package/decorators/string/is-uuid.decorator.d.ts +4 -0
  272. package/decorators/string/is-uuid.decorator.js +60 -0
  273. package/decorators/string/is-uuid.decorator.js.map +1 -0
  274. package/decorators/string/is-variable-width.decorator.d.ts +4 -0
  275. package/decorators/string/is-variable-width.decorator.js +55 -0
  276. package/decorators/string/is-variable-width.decorator.js.map +1 -0
  277. package/decorators/string/is-vat.decorator.d.ts +4 -0
  278. package/decorators/string/is-vat.decorator.js +57 -0
  279. package/decorators/string/is-vat.decorator.js.map +1 -0
  280. package/decorators/string/is-whitelisted.decorator.d.ts +4 -0
  281. package/decorators/string/is-whitelisted.decorator.js +58 -0
  282. package/decorators/string/is-whitelisted.decorator.js.map +1 -0
  283. package/decorators/string/matches.decorator.d.ts +4 -0
  284. package/decorators/string/matches.decorator.js +58 -0
  285. package/decorators/string/matches.decorator.js.map +1 -0
  286. package/env.d.ts +12 -0
  287. package/env.js +26 -0
  288. package/env.js.map +1 -0
  289. package/functions/check-optional.d.ts +2 -0
  290. package/functions/check-optional.js +14 -0
  291. package/functions/check-optional.js.map +1 -0
  292. package/functions/check.d.ts +124 -0
  293. package/functions/check.js +12 -0
  294. package/functions/check.js.map +1 -0
  295. package/functions/copy-validators.d.ts +1 -0
  296. package/functions/copy-validators.js +22 -0
  297. package/functions/copy-validators.js.map +1 -0
  298. package/functions/create-if-condition.d.ts +4 -0
  299. package/functions/create-if-condition.js +8 -0
  300. package/functions/create-if-condition.js.map +1 -0
  301. package/functions/get-docs.d.ts +3 -0
  302. package/functions/get-docs.js +33 -0
  303. package/functions/get-docs.js.map +1 -0
  304. package/functions/get-expose-properties.d.ts +1 -0
  305. package/functions/get-expose-properties.js +13 -0
  306. package/functions/get-expose-properties.js.map +1 -0
  307. package/functions/get-message.d.ts +2 -0
  308. package/functions/get-message.js +8 -0
  309. package/functions/get-message.js.map +1 -0
  310. package/functions/get-properties.d.ts +1 -0
  311. package/functions/get-properties.js +10 -0
  312. package/functions/get-properties.js.map +1 -0
  313. package/functions/get-property-type.d.ts +3 -0
  314. package/functions/get-property-type.js +20 -0
  315. package/functions/get-property-type.js.map +1 -0
  316. package/functions/get-validation-properties.d.ts +1 -0
  317. package/functions/get-validation-properties.js +36 -0
  318. package/functions/get-validation-properties.js.map +1 -0
  319. package/functions/is-not-empty.d.ts +1 -0
  320. package/functions/is-not-empty.js +8 -0
  321. package/functions/is-not-empty.js.map +1 -0
  322. package/functions/is-property-optional.d.ts +2 -0
  323. package/functions/is-property-optional.js +23 -0
  324. package/functions/is-property-optional.js.map +1 -0
  325. package/functions/is-string.d.ts +1 -0
  326. package/functions/is-string.js +12 -0
  327. package/functions/is-string.js.map +1 -0
  328. package/functions/push-or-throw-if-has-error.d.ts +13 -0
  329. package/functions/push-or-throw-if-has-error.js +16 -0
  330. package/functions/push-or-throw-if-has-error.js.map +1 -0
  331. package/functions/register-validator.d.ts +2 -0
  332. package/functions/register-validator.js +65 -0
  333. package/functions/register-validator.js.map +1 -0
  334. package/functions/should-expose-property.d.ts +2 -0
  335. package/functions/should-expose-property.js +16 -0
  336. package/functions/should-expose-property.js.map +1 -0
  337. package/functions/transform.d.ts +11 -0
  338. package/functions/transform.js +97 -0
  339. package/functions/transform.js.map +1 -0
  340. package/functions/try-validate.d.ts +1 -0
  341. package/functions/try-validate.js +13 -0
  342. package/functions/try-validate.js.map +1 -0
  343. package/index.d.ts +13 -0
  344. package/index.js +30 -0
  345. package/index.js.map +1 -0
  346. package/interfaces/custom-validator.d.ts +16 -0
  347. package/interfaces/custom-validator.js +3 -0
  348. package/interfaces/custom-validator.js.map +1 -0
  349. package/interfaces/enum/index.d.ts +1 -0
  350. package/interfaces/enum/index.js +18 -0
  351. package/interfaces/enum/index.js.map +1 -0
  352. package/interfaces/enum/property-type.d.ts +9 -0
  353. package/interfaces/enum/property-type.js +14 -0
  354. package/interfaces/enum/property-type.js.map +1 -0
  355. package/interfaces/get-type-handle.d.ts +2 -0
  356. package/interfaces/get-type-handle.js +3 -0
  357. package/interfaces/get-type-handle.js.map +1 -0
  358. package/interfaces/if-check.d.ts +9 -0
  359. package/interfaces/if-check.js +3 -0
  360. package/interfaces/if-check.js.map +1 -0
  361. package/interfaces/ignore-handle.d.ts +11 -0
  362. package/interfaces/ignore-handle.js +3 -0
  363. package/interfaces/ignore-handle.js.map +1 -0
  364. package/interfaces/index.d.ts +17 -0
  365. package/interfaces/index.js +34 -0
  366. package/interfaces/index.js.map +1 -0
  367. package/interfaces/object.d.ts +2 -0
  368. package/interfaces/object.js +3 -0
  369. package/interfaces/object.js.map +1 -0
  370. package/interfaces/options.d.ts +3 -0
  371. package/interfaces/options.js +3 -0
  372. package/interfaces/options.js.map +1 -0
  373. package/interfaces/property-error.d.ts +6 -0
  374. package/interfaces/property-error.js +12 -0
  375. package/interfaces/property-error.js.map +1 -0
  376. package/interfaces/property.d.ts +29 -0
  377. package/interfaces/property.js +3 -0
  378. package/interfaces/property.js.map +1 -0
  379. package/interfaces/transform-handle.d.ts +8 -0
  380. package/interfaces/transform-handle.js +3 -0
  381. package/interfaces/transform-handle.js.map +1 -0
  382. package/interfaces/validate-options.d.ts +12 -0
  383. package/interfaces/validate-options.js +3 -0
  384. package/interfaces/validate-options.js.map +1 -0
  385. package/interfaces/validation-args.d.ts +5 -0
  386. package/interfaces/validation-args.js +3 -0
  387. package/interfaces/validation-args.js.map +1 -0
  388. package/interfaces/validator-config.d.ts +10 -0
  389. package/interfaces/validator-config.js +3 -0
  390. package/interfaces/validator-config.js.map +1 -0
  391. package/interfaces/validator-object-doc.d.ts +7 -0
  392. package/interfaces/validator-object-doc.js +3 -0
  393. package/interfaces/validator-object-doc.js.map +1 -0
  394. package/interfaces/validator-options.d.ts +4 -0
  395. package/interfaces/validator-options.js +3 -0
  396. package/interfaces/validator-options.js.map +1 -0
  397. package/interfaces/validator-property-doc.d.ts +13 -0
  398. package/interfaces/validator-property-doc.js +3 -0
  399. package/interfaces/validator-property-doc.js.map +1 -0
  400. package/interfaces/validator.d.ts +15 -0
  401. package/interfaces/validator.js +3 -0
  402. package/interfaces/validator.js.map +1 -0
  403. package/package.json +32 -0
  404. package/validate/create-validation-error.d.ts +7 -0
  405. package/validate/create-validation-error.js +15 -0
  406. package/validate/create-validation-error.js.map +1 -0
  407. package/validate/get-defaults.d.ts +5 -0
  408. package/validate/get-defaults.js +27 -0
  409. package/validate/get-defaults.js.map +1 -0
  410. package/validate/get-subtype.d.ts +12 -0
  411. package/validate/get-subtype.js +47 -0
  412. package/validate/get-subtype.js.map +1 -0
  413. package/validate/index.d.ts +1 -0
  414. package/validate/index.js +18 -0
  415. package/validate/index.js.map +1 -0
  416. package/validate/transform-input.d.ts +9 -0
  417. package/validate/transform-input.js +27 -0
  418. package/validate/transform-input.js.map +1 -0
  419. package/validate/validate-array-item.d.ts +17 -0
  420. package/validate/validate-array-item.js +46 -0
  421. package/validate/validate-array-item.js.map +1 -0
  422. package/validate/validate-item.d.ts +16 -0
  423. package/validate/validate-item.js +47 -0
  424. package/validate/validate-item.js.map +1 -0
  425. package/validate/validate-property.d.ts +16 -0
  426. package/validate/validate-property.js +30 -0
  427. package/validate/validate-property.js.map +1 -0
  428. package/validate/validate.d.ts +6 -0
  429. package/validate/validate.js +118 -0
  430. package/validate/validate.js.map +1 -0
@@ -0,0 +1,15 @@
1
+ import { IgnoreHandle } from "./ignore-handle";
2
+ import { PropertyError } from "./property-error";
3
+ export type ValidatorArgs = {
4
+ parent: string;
5
+ classData: any;
6
+ errors: PropertyError[];
7
+ index?: string;
8
+ params?: any;
9
+ ignore?: IgnoreHandle;
10
+ onlyData?: boolean;
11
+ };
12
+ export interface IValidator {
13
+ message: string;
14
+ validate: (args: ValidatorArgs) => Promise<void> | void;
15
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../interfaces/validator.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "@rockster/class-pipe",
3
+ "version": "0.0.1",
4
+ "main": "index",
5
+ "types": "index.d.ts",
6
+ "scripts": {
7
+ "pre:build": "rm -rf ./dist && mkdir ./dist && cp package.json ./dist",
8
+ "build:prod": "npm run pre:build && tsc -p tsconfig.prod.json",
9
+ "build:dev": "npm run pre:build && tsc -p tsconfig.prod.json -w",
10
+ "post:publish": "cd ./dist && npm publish"
11
+ },
12
+ "author": "Headcore Co.",
13
+ "license": "MIT",
14
+ "devDependencies": {
15
+ "@types/node": "^20.8.10",
16
+ "typescript": "^5.0.4"
17
+ },
18
+ "publishConfig": {
19
+ "access": "public"
20
+ },
21
+ "repository": {
22
+ "type": "git",
23
+ "url": "https://dev.azure.com/Headcore/Rocket.js/_git/rocket-class-pipe"
24
+ },
25
+ "dependencies": {
26
+ "@rockster/class-injector": "0.0.1",
27
+ "@rockster/class-memory": "0.0.1",
28
+ "@rockster/common": "0.0.1",
29
+ "@types/validator": "^13.15.1",
30
+ "validator": "^13.15.15"
31
+ }
32
+ }
@@ -0,0 +1,7 @@
1
+ import { Instantiable, ValidationError } from "@rockster/common";
2
+ import { PropertyError } from "../interfaces/property-error";
3
+ export type CreateValidationErrorArgs = {
4
+ target: Instantiable;
5
+ errors: PropertyError[];
6
+ };
7
+ export declare const createValidationError: ({ errors, target }: CreateValidationErrorArgs) => ValidationError;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createValidationError = void 0;
4
+ const common_1 = require("@rockster/common");
5
+ const createValidationError = ({ errors, target }) => {
6
+ return new common_1.ValidationError({
7
+ target: target.name,
8
+ properties: errors.map((error) => ({
9
+ message: error.message,
10
+ property: error.propertyKey
11
+ }))
12
+ });
13
+ };
14
+ exports.createValidationError = createValidationError;
15
+ //# sourceMappingURL=create-validation-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-validation-error.js","sourceRoot":"","sources":["../../validate/create-validation-error.ts"],"names":[],"mappings":";;;AAAA,6CAAiE;AAQ1D,MAAM,qBAAqB,GAAG,CAAC,EACnC,MAAM,EACN,MAAM,EACmB,EAAE,EAAE;IAC7B,OAAO,IAAI,wBAAe,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC,IAAI;QACnB,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAChC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ,EAAE,KAAK,CAAC,WAAW;SAC7B,CAAC,CAAC;KACL,CAAC,CAAC;AACN,CAAC,CAAA;AAXY,QAAA,qBAAqB,yBAWjC"}
@@ -0,0 +1,5 @@
1
+ import { ValidateOptions } from "../interfaces/validate-options";
2
+ export declare const getDefaults: (classData: any, { errors, ignore, onlyData, parent, params, rootData, sanitized }: ValidateOptions) => ValidateOptions & {
3
+ classDataProperties: string[];
4
+ values: any;
5
+ };
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDefaults = void 0;
4
+ const getDefaults = (classData, { errors, ignore, onlyData, parent, params, rootData, sanitized }) => {
5
+ const values = classData ? classData : {};
6
+ return {
7
+ errors: errors || [],
8
+ ignore: ignore,
9
+ onlyData: typeof onlyData === 'boolean'
10
+ ? onlyData
11
+ : false,
12
+ parent: typeof parent === 'string'
13
+ ? parent
14
+ : '',
15
+ classDataProperties: onlyData
16
+ ? Object.getOwnPropertyNames(values)
17
+ : undefined,
18
+ params,
19
+ rootData: !parent
20
+ ? values
21
+ : rootData,
22
+ values: values,
23
+ sanitized: sanitized || {}
24
+ };
25
+ };
26
+ exports.getDefaults = getDefaults;
27
+ //# sourceMappingURL=get-defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-defaults.js","sourceRoot":"","sources":["../../validate/get-defaults.ts"],"names":[],"mappings":";;;AAEO,MAAM,WAAW,GAAG,CAAC,SAAS,EAAE,EACpC,MAAM,EACN,MAAM,EACN,QAAQ,EACR,MAAM,EACN,MAAM,EACN,QAAQ,EACR,SAAS,EACM,EAAE,EAAE;IACnB,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,OAAO;QACJ,MAAM,EAAE,MAAM,IAAI,EAAE;QACpB,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,OAAO,QAAQ,KAAK,SAAS;YACpC,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,KAAK;QACV,MAAM,EAAE,OAAO,MAAM,KAAK,QAAQ;YAC/B,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,EAAE;QACP,mBAAmB,EAAE,QAAQ;YAC1B,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC;YACpC,CAAC,CAAC,SAAS;QACd,MAAM;QACN,QAAQ,EAAE,CAAC,MAAM;YACd,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,QAAQ;QACb,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,SAAS,IAAI,EAAE;KAI5B,CAAC;AACL,CAAC,CAAA;AAhCY,QAAA,WAAW,eAgCvB"}
@@ -0,0 +1,12 @@
1
+ import { PropertyNote } from "@rockster/class-memory";
2
+ import { IProperty } from "../interfaces/property";
3
+ import { PropertyError } from "../interfaces/property-error";
4
+ export type GetSubtypeArgs = {
5
+ property: PropertyNote<IProperty>;
6
+ propertyValue: any;
7
+ rootData: any;
8
+ errors: PropertyError[];
9
+ parent: string;
10
+ index?: number;
11
+ };
12
+ export declare const getSubtype: ({ errors, parent, property, propertyValue, rootData, index }: GetSubtypeArgs) => Promise<any>;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSubtype = void 0;
4
+ const push_or_throw_if_has_error_1 = require("../functions/push-or-throw-if-has-error");
5
+ const getSubtype = async ({ errors, parent, property, propertyValue, rootData, index }) => {
6
+ var _a;
7
+ let subtype;
8
+ let message = '';
9
+ if (property.isOptional && !propertyValue) {
10
+ return null;
11
+ }
12
+ if (((_a = property.ifChecks) === null || _a === void 0 ? void 0 : _a.length) > 0) {
13
+ let hasError = true;
14
+ for (const ifCheck of property.ifChecks) {
15
+ const isTrue = await ifCheck.check(propertyValue, rootData);
16
+ if (isTrue) {
17
+ hasError = false;
18
+ subtype = ifCheck.type;
19
+ break;
20
+ }
21
+ else {
22
+ message += !message
23
+ ? `Item ${ifCheck.message}`
24
+ : ` or ${ifCheck.message}`;
25
+ }
26
+ }
27
+ if (hasError && !property.isOptional) {
28
+ (0, push_or_throw_if_has_error_1.pushOrThrowIfHasError)({
29
+ hasError: hasError,
30
+ classData: rootData,
31
+ value: propertyValue,
32
+ errors: errors,
33
+ index: index ? `[${index}]` : '',
34
+ message: message,
35
+ propertyKey: property.propertyKey,
36
+ parent: parent,
37
+ options: {}
38
+ });
39
+ }
40
+ }
41
+ else {
42
+ subtype = property.subtype;
43
+ }
44
+ return subtype;
45
+ };
46
+ exports.getSubtype = getSubtype;
47
+ //# sourceMappingURL=get-subtype.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-subtype.js","sourceRoot":"","sources":["../../validate/get-subtype.ts"],"names":[],"mappings":";;;AAEA,wFAAgF;AAYzE,MAAM,UAAU,GAAG,KAAK,EAAE,EAC9B,MAAM,EACN,MAAM,EACN,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,KAAK,EACS,EAAE,EAAE;;IAClB,IAAI,OAAO,CAAC;IACZ,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,IAAI,QAAQ,CAAC,UAAU,IAAI,CAAC,aAAa,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACf,CAAC;IAED,IAAI,CAAA,MAAA,QAAQ,CAAC,QAAQ,0CAAE,MAAM,IAAG,CAAC,EAAE,CAAC;QACjC,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC5D,IAAI,MAAM,EAAE,CAAC;gBACV,QAAQ,GAAG,KAAK,CAAC;gBACjB,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;gBACvB,MAAM;YACT,CAAC;iBAAM,CAAC;gBACL,OAAO,IAAI,CAAC,OAAO;oBAChB,CAAC,CAAC,QAAQ,OAAO,CAAC,OAAO,EAAE;oBAC3B,CAAC,CAAC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;YAChC,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;YACpC,IAAA,kDAAqB,EAAC;gBACnB,QAAQ,EAAE,QAAQ;gBAClB,SAAS,EAAE,QAAQ;gBACnB,KAAK,EAAE,aAAa;gBACpB,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE;gBAChC,OAAO,EAAE,OAAO;gBAChB,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE;aACb,CAAC,CAAC;QACN,CAAC;IACJ,CAAC;SAAM,CAAC;QACL,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IAC9B,CAAC;IACD,OAAO,OAAO,CAAC;AAClB,CAAC,CAAA;AA9CY,QAAA,UAAU,cA8CtB"}
@@ -0,0 +1 @@
1
+ export * from './validate';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./validate"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../validate/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B"}
@@ -0,0 +1,9 @@
1
+ import { PropertyNote } from "@rockster/class-memory";
2
+ import { IProperty } from "../interfaces/property";
3
+ export type TransformInputArgs = {
4
+ property: PropertyNote<IProperty>;
5
+ parent: string;
6
+ rootData: any;
7
+ propertyValue: any;
8
+ };
9
+ export declare const transformInput: ({ parent, property, propertyValue, rootData }: TransformInputArgs) => void;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.transformInput = void 0;
7
+ const dot_object_1 = __importDefault(require("dot-object"));
8
+ const transformInput = ({ parent, property, propertyValue, rootData }) => {
9
+ if (property.transform.input) {
10
+ const path = `${parent}${property.propertyKey}`;
11
+ const newValue = property
12
+ .transform
13
+ .input({
14
+ value: propertyValue,
15
+ parent: rootData,
16
+ path: path
17
+ });
18
+ if (newValue === undefined) {
19
+ dot_object_1.default.del(path, rootData);
20
+ }
21
+ else {
22
+ dot_object_1.default.set(path, newValue, rootData);
23
+ }
24
+ }
25
+ };
26
+ exports.transformInput = transformInput;
27
+ //# sourceMappingURL=transform-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform-input.js","sourceRoot":"","sources":["../../validate/transform-input.ts"],"names":[],"mappings":";;;;;;AAEA,4DAA6B;AAStB,MAAM,cAAc,GAAG,CAAC,EAC5B,MAAM,EACN,QAAQ,EACR,aAAa,EACb,QAAQ,EACU,EAAE,EAAE;IACtB,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAE5B,MAAM,IAAI,GAAG,GAAG,MAAM,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,QAAQ;aACrB,SAAS;aACT,KAAK,CAAC;YACJ,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,IAAI;SACZ,CAAC,CAAC;QAEN,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC1B,oBAAG,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACL,oBAAG,CAAC,GAAG,CACJ,IAAI,EACJ,QAAQ,EACR,QAAQ,CACV,CAAC;QACL,CAAC;IACJ,CAAC;AACJ,CAAC,CAAA;AA3BY,QAAA,cAAc,kBA2B1B"}
@@ -0,0 +1,17 @@
1
+ import { PropertyNote } from "@rockster/class-memory";
2
+ import { IProperty } from "../interfaces/property";
3
+ import { PropertyError } from "../interfaces/property-error";
4
+ import { IgnoreHandle } from "../interfaces/ignore-handle";
5
+ export type ValidateArrayItemArgs = {
6
+ item: any;
7
+ property: PropertyNote<IProperty>;
8
+ parent: string;
9
+ i: number;
10
+ errors: PropertyError[];
11
+ onlyData: boolean;
12
+ sanitized: any;
13
+ ignore?: IgnoreHandle;
14
+ params?: any;
15
+ rootData?: any;
16
+ };
17
+ export declare const validateArrayItem: ({ errors, i, item, onlyData, parent, property, sanitized, ignore, params, rootData }: ValidateArrayItemArgs) => Promise<void>;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateArrayItem = void 0;
4
+ const property_type_1 = require("../interfaces/enum/property-type");
5
+ const get_subtype_1 = require("./get-subtype");
6
+ const validate_property_1 = require("./validate-property");
7
+ const validate_1 = require("./validate");
8
+ const validateArrayItem = async ({ errors, i, item, onlyData, parent, property, sanitized, ignore, params, rootData }) => {
9
+ if (property.type === property_type_1.PropertyType.object) {
10
+ const options = {
11
+ errors: errors,
12
+ ignore: ignore,
13
+ onlyData: onlyData,
14
+ parent: `${parent}${property.propertyKey}[${i}].`,
15
+ params: params,
16
+ rootData: rootData,
17
+ i
18
+ };
19
+ const subtype = await (0, get_subtype_1.getSubtype)({
20
+ property: property,
21
+ propertyValue: item,
22
+ rootData: rootData,
23
+ errors: errors,
24
+ parent: parent
25
+ });
26
+ if (!subtype) {
27
+ return;
28
+ }
29
+ await (0, validate_1.validate)(subtype, item, sanitized, options);
30
+ }
31
+ else {
32
+ await (0, validate_property_1.validateProperty)({
33
+ parent: parent,
34
+ classData: { [property.propertyKey]: item },
35
+ errors: errors,
36
+ property: property,
37
+ rootData: rootData,
38
+ index: `[${i}]`,
39
+ ignore: ignore,
40
+ params: params,
41
+ onlyData: onlyData
42
+ });
43
+ }
44
+ };
45
+ exports.validateArrayItem = validateArrayItem;
46
+ //# sourceMappingURL=validate-array-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-array-item.js","sourceRoot":"","sources":["../../validate/validate-array-item.ts"],"names":[],"mappings":";;;AAIA,oEAAgE;AAEhE,+CAA2C;AAC3C,2DAAuD;AACvD,yCAAsC;AAe/B,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACrC,MAAM,EACN,CAAC,EACD,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,SAAS,EACT,MAAM,EACN,MAAM,EACN,QAAQ,EACa,EAAE,EAAE;IAEzB,IAAI,QAAQ,CAAC,IAAI,KAAK,4BAAY,CAAC,MAAM,EAAE,CAAC;QAEzC,MAAM,OAAO,GAAG;YACb,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,GAAG,MAAM,GAAG,QAAQ,CAAC,WAAW,IAAI,CAAC,IAAI;YACjD,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,QAAQ;YAClB,CAAC;SACgB,CAAC;QAErB,MAAM,OAAO,GAAG,MACb,IAAA,wBAAU,EAAC;YACR,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,IAAI;YACnB,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,MAAM;SAChB,CAAC,CAAC;QAEN,IAAI,CAAC,OAAO,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAEzB,MAAM,IAAA,mBAAQ,EACX,OAAO,EACP,IAAI,EACJ,SAAS,EACT,OAAO,CACT,CAAC;IACL,CAAC;SAAM,CAAC;QAEL,MAAM,IAAA,oCAAgB,EAAC;YACpB,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE;YAC3C,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,IAAI,CAAC,GAAG;YACf,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,QAAQ;SACpB,CAAC,CAAC;IACN,CAAC;AACJ,CAAC,CAAA;AAxDY,QAAA,iBAAiB,qBAwD7B"}
@@ -0,0 +1,16 @@
1
+ import { PropertyError } from "../interfaces/property-error";
2
+ import { PropertyNote } from "@rockster/class-memory";
3
+ import { IProperty } from "../interfaces/property";
4
+ import { IgnoreHandle } from "../interfaces/ignore-handle";
5
+ export type ValidateItemArgs = {
6
+ item: any;
7
+ property: PropertyNote<IProperty>;
8
+ parent: string;
9
+ errors: PropertyError[];
10
+ onlyData: boolean;
11
+ sanitized: any;
12
+ ignore?: IgnoreHandle;
13
+ params?: any;
14
+ rootData?: any;
15
+ };
16
+ export declare const validateItem: ({ errors, item, onlyData, parent, property, sanitized, ignore, params, rootData }: ValidateItemArgs) => Promise<void>;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateItem = void 0;
4
+ const get_subtype_1 = require("./get-subtype");
5
+ const property_type_1 = require("../interfaces/enum/property-type");
6
+ const validate_1 = require("./validate");
7
+ const validate_property_1 = require("./validate-property");
8
+ const validateItem = async ({ errors, item, onlyData, parent, property, sanitized, ignore, params, rootData }) => {
9
+ if (property.type === property_type_1.PropertyType.object) {
10
+ const options = {
11
+ errors: errors,
12
+ ignore: ignore,
13
+ onlyData: onlyData,
14
+ parent: `${parent}${property.propertyKey}.`,
15
+ params: params,
16
+ rootData: rootData,
17
+ sanitized: sanitized
18
+ };
19
+ const propertyValue = item[property.propertyKey];
20
+ const subtype = await (0, get_subtype_1.getSubtype)({
21
+ property,
22
+ propertyValue,
23
+ rootData,
24
+ errors,
25
+ parent
26
+ });
27
+ if (!subtype) {
28
+ return;
29
+ }
30
+ await (0, validate_1.validate)(subtype, item[property.propertyKey], sanitized, options);
31
+ }
32
+ else {
33
+ await (0, validate_property_1.validateProperty)({
34
+ parent: parent,
35
+ classData: item,
36
+ errors: errors,
37
+ property: property,
38
+ rootData: rootData,
39
+ index: '',
40
+ ignore: ignore,
41
+ params: params,
42
+ onlyData: onlyData
43
+ });
44
+ }
45
+ };
46
+ exports.validateItem = validateItem;
47
+ //# sourceMappingURL=validate-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-item.js","sourceRoot":"","sources":["../../validate/validate-item.ts"],"names":[],"mappings":";;;AAKA,+CAA2C;AAC3C,oEAAgE;AAChE,yCAAsC;AACtC,2DAAuD;AAchD,MAAM,YAAY,GAAG,KAAK,EAAE,EAChC,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,SAAS,EACT,MAAM,EACN,MAAM,EACN,QAAQ,EACQ,EAAE,EAAE;IAEpB,IAAI,QAAQ,CAAC,IAAI,KAAK,4BAAY,CAAC,MAAM,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG;YACb,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,GAAG,MAAM,GAAG,QAAQ,CAAC,WAAW,GAAG;YAC3C,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,SAAS;SACH,CAAC;QAErB,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAEjD,MAAM,OAAO,GAAG,MACb,IAAA,wBAAU,EAAC;YACR,QAAQ;YACR,aAAa;YACb,QAAQ;YACR,MAAM;YACN,MAAM;SACR,CAAC,CAAC;QACN,IAAI,CAAC,OAAO,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAEzB,MAAM,IAAA,mBAAQ,EACX,OAAO,EACP,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC1B,SAAS,EACT,OAAO,CACT,CAAC;IACL,CAAC;SAAM,CAAC;QACL,MAAM,IAAA,oCAAgB,EAAC;YACpB,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,QAAQ;SACpB,CAAC,CAAC;IACN,CAAC;AACJ,CAAC,CAAA;AAtDY,QAAA,YAAY,gBAsDxB"}
@@ -0,0 +1,16 @@
1
+ import { PropertyNote } from "@rockster/class-memory";
2
+ import { PropertyError } from "../interfaces/property-error";
3
+ import { IProperty } from "../interfaces/property";
4
+ import { IgnoreHandle } from "../interfaces/ignore-handle";
5
+ export type ValidatePropertyArgs = {
6
+ parent: string;
7
+ classData: any;
8
+ errors: PropertyError[];
9
+ property: PropertyNote<IProperty>;
10
+ rootData: any;
11
+ index: string;
12
+ ignore?: IgnoreHandle;
13
+ params?: any;
14
+ onlyData?: boolean;
15
+ };
16
+ export declare const validateProperty: ({ classData, errors, index, parent, property, ignore, onlyData, params }: ValidatePropertyArgs) => Promise<void>;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateProperty = void 0;
4
+ const validateProperty = async ({ classData, errors, index = '', parent, property, ignore, onlyData, params }) => {
5
+ const propertyKey = property.propertyKey;
6
+ const isIgnore = await (ignore === null || ignore === void 0 ? void 0 : ignore.apply(this, [{
7
+ parent: parent,
8
+ objectKey: property.objectKey,
9
+ propertyKey: `${propertyKey}`,
10
+ value: classData[propertyKey],
11
+ index: index
12
+ }]));
13
+ if (isIgnore) {
14
+ return;
15
+ }
16
+ const validations = property
17
+ .validators
18
+ .map((validator) => (validator.validate({
19
+ parent,
20
+ classData,
21
+ errors,
22
+ index,
23
+ params,
24
+ ignore,
25
+ onlyData
26
+ })));
27
+ await Promise.all(validations);
28
+ };
29
+ exports.validateProperty = validateProperty;
30
+ //# sourceMappingURL=validate-property.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-property.js","sourceRoot":"","sources":["../../validate/validate-property.ts"],"names":[],"mappings":";;;AAoBO,MAAM,gBAAgB,GAAG,KAAK,EAAE,EACpC,SAAS,EACT,MAAM,EACN,KAAK,GAAG,EAAE,EACV,MAAM,EACN,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,MAAM,EACc,EAAE,EAAE;IAExB,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CACxB,KAAK,CACJ,IAAI,EAAE,CAAC;YACJ,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,WAAW,EAAE,GAAG,WAAW,EAAE;YAC7B,KAAK,EAAE,SAAS,CAAC,WAAW,CAAC;YAC7B,KAAK,EAAE,KAAK;SACM,CAAC,CACxB,CAAA,CAAC;IAEL,IAAI,QAAQ,EAAE,CAAC;QACZ,OAAO;IACV,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ;SACxB,UAAU;SACV,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CACjB,SAAS,CAAC,QAAQ,CAAC;QAChB,MAAM;QACN,SAAS;QACT,MAAM;QACN,KAAK;QACL,MAAM;QACN,MAAM;QACN,QAAQ;KACV,CAAC,CACJ,CAAC,CAAC;IAEN,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAClC,CAAC,CAAA;AA1CY,QAAA,gBAAgB,oBA0C5B"}
@@ -0,0 +1,6 @@
1
+ import { Instantiable } from "@rockster/common";
2
+ import { ValidateOptions } from "../interfaces/validate-options";
3
+ export type ToValidate<T> = {
4
+ [key in keyof T]?: T[key] | string;
5
+ };
6
+ export declare const validate: <T>(target: Instantiable, classData: ToValidate<T>, sanitized?: {}, options?: ValidateOptions) => Promise<import("@rockster/common").ValidationError>;
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.validate = void 0;
7
+ const get_defaults_1 = require("./get-defaults");
8
+ const get_validation_properties_1 = require("../functions/get-validation-properties");
9
+ const transform_input_1 = require("./transform-input");
10
+ const validate_item_1 = require("./validate-item");
11
+ const validate_array_item_1 = require("./validate-array-item");
12
+ const create_validation_error_1 = require("./create-validation-error");
13
+ const dot_object_1 = __importDefault(require("dot-object"));
14
+ const validate_context_1 = require("../contexts/validate-context");
15
+ const _validate = async (target, classData, sanitized = {}, options) => {
16
+ const { errors, ignore, onlyData, parent, classDataProperties, params, rootData, values } = (0, get_defaults_1.getDefaults)(classData, options || {});
17
+ const properties = !(options === null || options === void 0 ? void 0 : options.onlyData)
18
+ ? (0, get_validation_properties_1.getValidationProperties)(target)
19
+ : (0, get_validation_properties_1.getValidationProperties)(target)
20
+ .filter((property) => (classDataProperties.find((classDataProperty) => (property.propertyKey === classDataProperty))));
21
+ try {
22
+ for (const property of properties) {
23
+ if (property.transform.input) {
24
+ (0, transform_input_1.transformInput)({
25
+ property: property,
26
+ parent: parent,
27
+ rootData: rootData,
28
+ propertyValue: values[property.propertyKey]
29
+ });
30
+ }
31
+ if (!property.isArray) {
32
+ await (0, validate_item_1.validateItem)({
33
+ item: values,
34
+ property: property,
35
+ parent: parent,
36
+ errors: errors,
37
+ onlyData: onlyData,
38
+ sanitized: sanitized,
39
+ ignore: ignore,
40
+ params: params,
41
+ rootData: rootData
42
+ });
43
+ }
44
+ else {
45
+ const propertyKey = property.propertyKey;
46
+ const array = values[propertyKey];
47
+ const items = (array || []);
48
+ if (property.beforeValidator) {
49
+ const value = values[propertyKey];
50
+ if (ignore) {
51
+ const isIgnore = await ignore({
52
+ parent: parent,
53
+ objectKey: property.objectKey,
54
+ propertyKey: `${propertyKey}`,
55
+ value: value,
56
+ isArray: true,
57
+ index: ''
58
+ });
59
+ if (isIgnore) {
60
+ return;
61
+ }
62
+ }
63
+ await property
64
+ .beforeValidator
65
+ .validate({
66
+ classData: values,
67
+ errors,
68
+ parent,
69
+ ignore,
70
+ index: '',
71
+ onlyData,
72
+ params
73
+ });
74
+ }
75
+ for (let i = 0; i < items.length; i++) {
76
+ const item = items[i];
77
+ await (0, validate_array_item_1.validateArrayItem)({
78
+ item,
79
+ property,
80
+ parent,
81
+ i,
82
+ errors,
83
+ onlyData,
84
+ sanitized,
85
+ ignore,
86
+ params,
87
+ rootData
88
+ });
89
+ }
90
+ }
91
+ const path = `${parent}${property.propertyKey}`;
92
+ dot_object_1.default.copy(path, path, rootData, sanitized);
93
+ }
94
+ }
95
+ catch (error) {
96
+ errors.push(error);
97
+ return (0, create_validation_error_1.createValidationError)({
98
+ target,
99
+ errors
100
+ });
101
+ }
102
+ if (errors.length > 0) {
103
+ return (0, create_validation_error_1.createValidationError)({
104
+ target,
105
+ errors
106
+ });
107
+ }
108
+ };
109
+ const validate = async (target, classData, sanitized = {}, options) => {
110
+ var _a;
111
+ return validate_context_1.validateContextStore.run({
112
+ groups: (_a = options === null || options === void 0 ? void 0 : options.groups) !== null && _a !== void 0 ? _a : []
113
+ }, async () => {
114
+ return _validate(target, classData, sanitized, options);
115
+ });
116
+ };
117
+ exports.validate = validate;
118
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../validate/validate.ts"],"names":[],"mappings":"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"}