@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.
- package/contexts/validate-context.d.ts +5 -0
- package/contexts/validate-context.js +6 -0
- package/contexts/validate-context.js.map +1 -0
- package/decorators/array/index.d.ts +1 -0
- package/decorators/array/index.js +18 -0
- package/decorators/array/index.js.map +1 -0
- package/decorators/array/is-array.decorator.d.ts +6 -0
- package/decorators/array/is-array.decorator.js +62 -0
- package/decorators/array/is-array.decorator.js.map +1 -0
- package/decorators/common/expose.decorator.d.ts +6 -0
- package/decorators/common/expose.decorator.js +20 -0
- package/decorators/common/expose.decorator.js.map +1 -0
- package/decorators/common/if.decorator.d.ts +3 -0
- package/decorators/common/if.decorator.js +21 -0
- package/decorators/common/if.decorator.js.map +1 -0
- package/decorators/common/index.d.ts +6 -0
- package/decorators/common/index.js +23 -0
- package/decorators/common/index.js.map +1 -0
- package/decorators/common/is-optional.decorator.d.ts +4 -0
- package/decorators/common/is-optional.decorator.js +16 -0
- package/decorators/common/is-optional.decorator.js.map +1 -0
- package/decorators/common/is-required.decorator.d.ts +5 -0
- package/decorators/common/is-required.decorator.js +52 -0
- package/decorators/common/is-required.decorator.js.map +1 -0
- package/decorators/common/transform-input.decorator.d.ts +2 -0
- package/decorators/common/transform-input.decorator.js +13 -0
- package/decorators/common/transform-input.decorator.js.map +1 -0
- package/decorators/common/transform-output.decorator.d.ts +2 -0
- package/decorators/common/transform-output.decorator.js +13 -0
- package/decorators/common/transform-output.decorator.js.map +1 -0
- package/decorators/date/index.d.ts +4 -0
- package/decorators/date/index.js +21 -0
- package/decorators/date/index.js.map +1 -0
- package/decorators/date/is-after.decorator.d.ts +4 -0
- package/decorators/date/is-after.decorator.js +55 -0
- package/decorators/date/is-after.decorator.js.map +1 -0
- package/decorators/date/is-before.decorator.d.ts +4 -0
- package/decorators/date/is-before.decorator.js +55 -0
- package/decorators/date/is-before.decorator.js.map +1 -0
- package/decorators/date/is-date.decorator.d.ts +4 -0
- package/decorators/date/is-date.decorator.js +62 -0
- package/decorators/date/is-date.decorator.js.map +1 -0
- package/decorators/date/is-time.decorator.d.ts +4 -0
- package/decorators/date/is-time.decorator.js +64 -0
- package/decorators/date/is-time.decorator.js.map +1 -0
- package/decorators/index.d.ts +6 -0
- package/decorators/index.js +23 -0
- package/decorators/index.js.map +1 -0
- package/decorators/number/index.d.ts +6 -0
- package/decorators/number/index.js +23 -0
- package/decorators/number/index.js.map +1 -0
- package/decorators/number/is-decimal.decorator.d.ts +4 -0
- package/decorators/number/is-decimal.decorator.js +61 -0
- package/decorators/number/is-decimal.decorator.js.map +1 -0
- package/decorators/number/is-divisible-by.decorator.d.ts +4 -0
- package/decorators/number/is-divisible-by.decorator.js +58 -0
- package/decorators/number/is-divisible-by.decorator.js.map +1 -0
- package/decorators/number/is-float.decorator.d.ts +4 -0
- package/decorators/number/is-float.decorator.js +66 -0
- package/decorators/number/is-float.decorator.js.map +1 -0
- package/decorators/number/is-int.decorator.d.ts +4 -0
- package/decorators/number/is-int.decorator.js +64 -0
- package/decorators/number/is-int.decorator.js.map +1 -0
- package/decorators/number/is-numeric.decorator.d.ts +4 -0
- package/decorators/number/is-numeric.decorator.js +64 -0
- package/decorators/number/is-numeric.decorator.js.map +1 -0
- package/decorators/number/is-octal.decorator.d.ts +4 -0
- package/decorators/number/is-octal.decorator.js +55 -0
- package/decorators/number/is-octal.decorator.js.map +1 -0
- package/decorators/object/index.d.ts +2 -0
- package/decorators/object/index.js +19 -0
- package/decorators/object/index.js.map +1 -0
- package/decorators/object/is-object.decorator.d.ts +4 -0
- package/decorators/object/is-object.decorator.js +58 -0
- package/decorators/object/is-object.decorator.js.map +1 -0
- package/decorators/object/is-type.decorator.d.ts +2 -0
- package/decorators/object/is-type.decorator.js +19 -0
- package/decorators/object/is-type.decorator.js.map +1 -0
- package/decorators/string/contains.decorator.d.ts +4 -0
- package/decorators/string/contains.decorator.js +55 -0
- package/decorators/string/contains.decorator.js.map +1 -0
- package/decorators/string/index.d.ts +68 -0
- package/decorators/string/index.js +85 -0
- package/decorators/string/index.js.map +1 -0
- package/decorators/string/is-alpha.decorator.d.ts +4 -0
- package/decorators/string/is-alpha.decorator.js +55 -0
- package/decorators/string/is-alpha.decorator.js.map +1 -0
- package/decorators/string/is-alphanumeric.decorator.d.ts +4 -0
- package/decorators/string/is-alphanumeric.decorator.js +55 -0
- package/decorators/string/is-alphanumeric.decorator.js.map +1 -0
- package/decorators/string/is-ascii.decorator.d.ts +4 -0
- package/decorators/string/is-ascii.decorator.js +55 -0
- package/decorators/string/is-ascii.decorator.js.map +1 -0
- package/decorators/string/is-base-32.decorator.d.ts +4 -0
- package/decorators/string/is-base-32.decorator.js +55 -0
- package/decorators/string/is-base-32.decorator.js.map +1 -0
- package/decorators/string/is-base-58.decorator.d.ts +4 -0
- package/decorators/string/is-base-58.decorator.js +55 -0
- package/decorators/string/is-base-58.decorator.js.map +1 -0
- package/decorators/string/is-base-64.decorator.d.ts +4 -0
- package/decorators/string/is-base-64.decorator.js +55 -0
- package/decorators/string/is-base-64.decorator.js.map +1 -0
- package/decorators/string/is-bic.decorator.d.ts +4 -0
- package/decorators/string/is-bic.decorator.js +55 -0
- package/decorators/string/is-bic.decorator.js.map +1 -0
- package/decorators/string/is-boolean.d.ts +5 -0
- package/decorators/string/is-boolean.js +57 -0
- package/decorators/string/is-boolean.js.map +1 -0
- package/decorators/string/is-btc-address.decorator.d.ts +4 -0
- package/decorators/string/is-btc-address.decorator.js +55 -0
- package/decorators/string/is-btc-address.decorator.js.map +1 -0
- package/decorators/string/is-byte-length.d.ts +4 -0
- package/decorators/string/is-byte-length.js +60 -0
- package/decorators/string/is-byte-length.js.map +1 -0
- package/decorators/string/is-credit-card.decorator.d.ts +4 -0
- package/decorators/string/is-credit-card.decorator.js +55 -0
- package/decorators/string/is-credit-card.decorator.js.map +1 -0
- package/decorators/string/is-data-uri.decorator.d.ts +4 -0
- package/decorators/string/is-data-uri.decorator.js +55 -0
- package/decorators/string/is-data-uri.decorator.js.map +1 -0
- package/decorators/string/is-domain.decorator.d.ts +4 -0
- package/decorators/string/is-domain.decorator.js +70 -0
- package/decorators/string/is-domain.decorator.js.map +1 -0
- package/decorators/string/is-ean.decorator.d.ts +4 -0
- package/decorators/string/is-ean.decorator.js +55 -0
- package/decorators/string/is-ean.decorator.js.map +1 -0
- package/decorators/string/is-email.decorator.d.ts +4 -0
- package/decorators/string/is-email.decorator.js +65 -0
- package/decorators/string/is-email.decorator.js.map +1 -0
- package/decorators/string/is-ethereum-address.decorator.d.ts +4 -0
- package/decorators/string/is-ethereum-address.decorator.js +55 -0
- package/decorators/string/is-ethereum-address.decorator.js.map +1 -0
- package/decorators/string/is-full-width.decorator.d.ts +4 -0
- package/decorators/string/is-full-width.decorator.js +55 -0
- package/decorators/string/is-full-width.decorator.js.map +1 -0
- package/decorators/string/is-half-width.decorator.d.ts +4 -0
- package/decorators/string/is-half-width.decorator.js +55 -0
- package/decorators/string/is-half-width.decorator.js.map +1 -0
- package/decorators/string/is-hash.decorator.d.ts +4 -0
- package/decorators/string/is-hash.decorator.js +58 -0
- package/decorators/string/is-hash.decorator.js.map +1 -0
- package/decorators/string/is-hex-color.decorator.d.ts +4 -0
- package/decorators/string/is-hex-color.decorator.js +55 -0
- package/decorators/string/is-hex-color.decorator.js.map +1 -0
- package/decorators/string/is-hexadecimal.decorator.d.ts +4 -0
- package/decorators/string/is-hexadecimal.decorator.js +55 -0
- package/decorators/string/is-hexadecimal.decorator.js.map +1 -0
- package/decorators/string/is-hsl.decorator.d.ts +4 -0
- package/decorators/string/is-hsl.decorator.js +55 -0
- package/decorators/string/is-hsl.decorator.js.map +1 -0
- package/decorators/string/is-iban.decorator.d.ts +4 -0
- package/decorators/string/is-iban.decorator.js +55 -0
- package/decorators/string/is-iban.decorator.js.map +1 -0
- package/decorators/string/is-identity-card.decorator.d.ts +4 -0
- package/decorators/string/is-identity-card.decorator.js +58 -0
- package/decorators/string/is-identity-card.decorator.js.map +1 -0
- package/decorators/string/is-imei.decorator.d.ts +4 -0
- package/decorators/string/is-imei.decorator.js +55 -0
- package/decorators/string/is-imei.decorator.js.map +1 -0
- package/decorators/string/is-in.decorator.d.ts +5 -0
- package/decorators/string/is-in.decorator.js +62 -0
- package/decorators/string/is-in.decorator.js.map +1 -0
- package/decorators/string/is-ip-range.decorator.d.ts +4 -0
- package/decorators/string/is-ip-range.decorator.js +58 -0
- package/decorators/string/is-ip-range.decorator.js.map +1 -0
- package/decorators/string/is-ip.decorator.d.ts +4 -0
- package/decorators/string/is-ip.decorator.js +58 -0
- package/decorators/string/is-ip.decorator.js.map +1 -0
- package/decorators/string/is-isbn.decorator.d.ts +4 -0
- package/decorators/string/is-isbn.decorator.js +58 -0
- package/decorators/string/is-isbn.decorator.js.map +1 -0
- package/decorators/string/is-isin.decorator.d.ts +4 -0
- package/decorators/string/is-isin.decorator.js +55 -0
- package/decorators/string/is-isin.decorator.js.map +1 -0
- package/decorators/string/is-iso-31661-alpha2.decorator.d.ts +4 -0
- package/decorators/string/is-iso-31661-alpha2.decorator.js +55 -0
- package/decorators/string/is-iso-31661-alpha2.decorator.js.map +1 -0
- package/decorators/string/is-iso-31661-alpha3.decorator.d.ts +4 -0
- package/decorators/string/is-iso-31661-alpha3.decorator.js +55 -0
- package/decorators/string/is-iso-31661-alpha3.decorator.js.map +1 -0
- package/decorators/string/is-iso-4217.decorator.d.ts +4 -0
- package/decorators/string/is-iso-4217.decorator.js +55 -0
- package/decorators/string/is-iso-4217.decorator.js.map +1 -0
- package/decorators/string/is-iso-8601.decorator.d.ts +4 -0
- package/decorators/string/is-iso-8601.decorator.js +55 -0
- package/decorators/string/is-iso-8601.decorator.js.map +1 -0
- package/decorators/string/is-isrc.decorator.d.ts +4 -0
- package/decorators/string/is-isrc.decorator.js +55 -0
- package/decorators/string/is-isrc.decorator.js.map +1 -0
- package/decorators/string/is-issn.decorator.d.ts +4 -0
- package/decorators/string/is-issn.decorator.js +55 -0
- package/decorators/string/is-issn.decorator.js.map +1 -0
- package/decorators/string/is-json.decorator.d.ts +4 -0
- package/decorators/string/is-json.decorator.js +56 -0
- package/decorators/string/is-json.decorator.js.map +1 -0
- package/decorators/string/is-jwt.decorator.d.ts +4 -0
- package/decorators/string/is-jwt.decorator.js +55 -0
- package/decorators/string/is-jwt.decorator.js.map +1 -0
- package/decorators/string/is-lat-long.decorator.d.ts +4 -0
- package/decorators/string/is-lat-long.decorator.js +55 -0
- package/decorators/string/is-lat-long.decorator.js.map +1 -0
- package/decorators/string/is-length.decorator.d.ts +4 -0
- package/decorators/string/is-length.decorator.js +60 -0
- package/decorators/string/is-length.decorator.js.map +1 -0
- package/decorators/string/is-locale.decorator.d.ts +4 -0
- package/decorators/string/is-locale.decorator.js +55 -0
- package/decorators/string/is-locale.decorator.js.map +1 -0
- package/decorators/string/is-lowercase.decorator.d.ts +4 -0
- package/decorators/string/is-lowercase.decorator.js +55 -0
- package/decorators/string/is-lowercase.decorator.js.map +1 -0
- package/decorators/string/is-mac-address.decorator.d.ts +4 -0
- package/decorators/string/is-mac-address.decorator.js +58 -0
- package/decorators/string/is-mac-address.decorator.js.map +1 -0
- package/decorators/string/is-md5.decorator.d.ts +4 -0
- package/decorators/string/is-md5.decorator.js +55 -0
- package/decorators/string/is-md5.decorator.js.map +1 -0
- package/decorators/string/is-megnet-uri.decorator.d.ts +4 -0
- package/decorators/string/is-megnet-uri.decorator.js +55 -0
- package/decorators/string/is-megnet-uri.decorator.js.map +1 -0
- package/decorators/string/is-mime-type.decorator.d.ts +4 -0
- package/decorators/string/is-mime-type.decorator.js +55 -0
- package/decorators/string/is-mime-type.decorator.js.map +1 -0
- package/decorators/string/is-mobile-phone.decorator.d.ts +4 -0
- package/decorators/string/is-mobile-phone.decorator.js +60 -0
- package/decorators/string/is-mobile-phone.decorator.js.map +1 -0
- package/decorators/string/is-mongo-id.decorator.d.ts +4 -0
- package/decorators/string/is-mongo-id.decorator.js +55 -0
- package/decorators/string/is-mongo-id.decorator.js.map +1 -0
- package/decorators/string/is-multibyte.decorator.d.ts +4 -0
- package/decorators/string/is-multibyte.decorator.js +55 -0
- package/decorators/string/is-multibyte.decorator.js.map +1 -0
- package/decorators/string/is-passport-number.decorator.d.ts +4 -0
- package/decorators/string/is-passport-number.decorator.js +60 -0
- package/decorators/string/is-passport-number.decorator.js.map +1 -0
- package/decorators/string/is-port.decorator.d.ts +4 -0
- package/decorators/string/is-port.decorator.js +55 -0
- package/decorators/string/is-port.decorator.js.map +1 -0
- package/decorators/string/is-postal-code.decorator.d.ts +4 -0
- package/decorators/string/is-postal-code.decorator.js +60 -0
- package/decorators/string/is-postal-code.decorator.js.map +1 -0
- package/decorators/string/is-rfc3339.decorator.d.ts +4 -0
- package/decorators/string/is-rfc3339.decorator.js +55 -0
- package/decorators/string/is-rfc3339.decorator.js.map +1 -0
- package/decorators/string/is-rgb-color.decorator.d.ts +4 -0
- package/decorators/string/is-rgb-color.decorator.js +64 -0
- package/decorators/string/is-rgb-color.decorator.js.map +1 -0
- package/decorators/string/is-sem-ver.decorator.d.ts +4 -0
- package/decorators/string/is-sem-ver.decorator.js +55 -0
- package/decorators/string/is-sem-ver.decorator.js.map +1 -0
- package/decorators/string/is-slug.decorator.d.ts +4 -0
- package/decorators/string/is-slug.decorator.js +55 -0
- package/decorators/string/is-slug.decorator.js.map +1 -0
- package/decorators/string/is-string.decorator.d.ts +6 -0
- package/decorators/string/is-string.decorator.js +55 -0
- package/decorators/string/is-string.decorator.js.map +1 -0
- package/decorators/string/is-strong-password.decorator.d.ts +6 -0
- package/decorators/string/is-strong-password.decorator.js +76 -0
- package/decorators/string/is-strong-password.decorator.js.map +1 -0
- package/decorators/string/is-surrogate-pair.decorator.d.ts +4 -0
- package/decorators/string/is-surrogate-pair.decorator.js +55 -0
- package/decorators/string/is-surrogate-pair.decorator.js.map +1 -0
- package/decorators/string/is-tax-id.decorator.d.ts +4 -0
- package/decorators/string/is-tax-id.decorator.js +60 -0
- package/decorators/string/is-tax-id.decorator.js.map +1 -0
- package/decorators/string/is-uppercase.decorator.d.ts +4 -0
- package/decorators/string/is-uppercase.decorator.js +55 -0
- package/decorators/string/is-uppercase.decorator.js.map +1 -0
- package/decorators/string/is-url.decorator.d.ts +4 -0
- package/decorators/string/is-url.decorator.js +55 -0
- package/decorators/string/is-url.decorator.js.map +1 -0
- package/decorators/string/is-uuid.decorator.d.ts +4 -0
- package/decorators/string/is-uuid.decorator.js +60 -0
- package/decorators/string/is-uuid.decorator.js.map +1 -0
- package/decorators/string/is-variable-width.decorator.d.ts +4 -0
- package/decorators/string/is-variable-width.decorator.js +55 -0
- package/decorators/string/is-variable-width.decorator.js.map +1 -0
- package/decorators/string/is-vat.decorator.d.ts +4 -0
- package/decorators/string/is-vat.decorator.js +57 -0
- package/decorators/string/is-vat.decorator.js.map +1 -0
- package/decorators/string/is-whitelisted.decorator.d.ts +4 -0
- package/decorators/string/is-whitelisted.decorator.js +58 -0
- package/decorators/string/is-whitelisted.decorator.js.map +1 -0
- package/decorators/string/matches.decorator.d.ts +4 -0
- package/decorators/string/matches.decorator.js +58 -0
- package/decorators/string/matches.decorator.js.map +1 -0
- package/env.d.ts +12 -0
- package/env.js +26 -0
- package/env.js.map +1 -0
- package/functions/check-optional.d.ts +2 -0
- package/functions/check-optional.js +14 -0
- package/functions/check-optional.js.map +1 -0
- package/functions/check.d.ts +124 -0
- package/functions/check.js +12 -0
- package/functions/check.js.map +1 -0
- package/functions/copy-validators.d.ts +1 -0
- package/functions/copy-validators.js +22 -0
- package/functions/copy-validators.js.map +1 -0
- package/functions/create-if-condition.d.ts +4 -0
- package/functions/create-if-condition.js +8 -0
- package/functions/create-if-condition.js.map +1 -0
- package/functions/get-docs.d.ts +3 -0
- package/functions/get-docs.js +33 -0
- package/functions/get-docs.js.map +1 -0
- package/functions/get-expose-properties.d.ts +1 -0
- package/functions/get-expose-properties.js +13 -0
- package/functions/get-expose-properties.js.map +1 -0
- package/functions/get-message.d.ts +2 -0
- package/functions/get-message.js +8 -0
- package/functions/get-message.js.map +1 -0
- package/functions/get-properties.d.ts +1 -0
- package/functions/get-properties.js +10 -0
- package/functions/get-properties.js.map +1 -0
- package/functions/get-property-type.d.ts +3 -0
- package/functions/get-property-type.js +20 -0
- package/functions/get-property-type.js.map +1 -0
- package/functions/get-validation-properties.d.ts +1 -0
- package/functions/get-validation-properties.js +36 -0
- package/functions/get-validation-properties.js.map +1 -0
- package/functions/is-not-empty.d.ts +1 -0
- package/functions/is-not-empty.js +8 -0
- package/functions/is-not-empty.js.map +1 -0
- package/functions/is-property-optional.d.ts +2 -0
- package/functions/is-property-optional.js +23 -0
- package/functions/is-property-optional.js.map +1 -0
- package/functions/is-string.d.ts +1 -0
- package/functions/is-string.js +12 -0
- package/functions/is-string.js.map +1 -0
- package/functions/push-or-throw-if-has-error.d.ts +13 -0
- package/functions/push-or-throw-if-has-error.js +16 -0
- package/functions/push-or-throw-if-has-error.js.map +1 -0
- package/functions/register-validator.d.ts +2 -0
- package/functions/register-validator.js +65 -0
- package/functions/register-validator.js.map +1 -0
- package/functions/should-expose-property.d.ts +2 -0
- package/functions/should-expose-property.js +16 -0
- package/functions/should-expose-property.js.map +1 -0
- package/functions/transform.d.ts +11 -0
- package/functions/transform.js +97 -0
- package/functions/transform.js.map +1 -0
- package/functions/try-validate.d.ts +1 -0
- package/functions/try-validate.js +13 -0
- package/functions/try-validate.js.map +1 -0
- package/index.d.ts +13 -0
- package/index.js +30 -0
- package/index.js.map +1 -0
- package/interfaces/custom-validator.d.ts +16 -0
- package/interfaces/custom-validator.js +3 -0
- package/interfaces/custom-validator.js.map +1 -0
- package/interfaces/enum/index.d.ts +1 -0
- package/interfaces/enum/index.js +18 -0
- package/interfaces/enum/index.js.map +1 -0
- package/interfaces/enum/property-type.d.ts +9 -0
- package/interfaces/enum/property-type.js +14 -0
- package/interfaces/enum/property-type.js.map +1 -0
- package/interfaces/get-type-handle.d.ts +2 -0
- package/interfaces/get-type-handle.js +3 -0
- package/interfaces/get-type-handle.js.map +1 -0
- package/interfaces/if-check.d.ts +9 -0
- package/interfaces/if-check.js +3 -0
- package/interfaces/if-check.js.map +1 -0
- package/interfaces/ignore-handle.d.ts +11 -0
- package/interfaces/ignore-handle.js +3 -0
- package/interfaces/ignore-handle.js.map +1 -0
- package/interfaces/index.d.ts +17 -0
- package/interfaces/index.js +34 -0
- package/interfaces/index.js.map +1 -0
- package/interfaces/object.d.ts +2 -0
- package/interfaces/object.js +3 -0
- package/interfaces/object.js.map +1 -0
- package/interfaces/options.d.ts +3 -0
- package/interfaces/options.js +3 -0
- package/interfaces/options.js.map +1 -0
- package/interfaces/property-error.d.ts +6 -0
- package/interfaces/property-error.js +12 -0
- package/interfaces/property-error.js.map +1 -0
- package/interfaces/property.d.ts +29 -0
- package/interfaces/property.js +3 -0
- package/interfaces/property.js.map +1 -0
- package/interfaces/transform-handle.d.ts +8 -0
- package/interfaces/transform-handle.js +3 -0
- package/interfaces/transform-handle.js.map +1 -0
- package/interfaces/validate-options.d.ts +12 -0
- package/interfaces/validate-options.js +3 -0
- package/interfaces/validate-options.js.map +1 -0
- package/interfaces/validation-args.d.ts +5 -0
- package/interfaces/validation-args.js +3 -0
- package/interfaces/validation-args.js.map +1 -0
- package/interfaces/validator-config.d.ts +10 -0
- package/interfaces/validator-config.js +3 -0
- package/interfaces/validator-config.js.map +1 -0
- package/interfaces/validator-object-doc.d.ts +7 -0
- package/interfaces/validator-object-doc.js +3 -0
- package/interfaces/validator-object-doc.js.map +1 -0
- package/interfaces/validator-options.d.ts +4 -0
- package/interfaces/validator-options.js +3 -0
- package/interfaces/validator-options.js.map +1 -0
- package/interfaces/validator-property-doc.d.ts +13 -0
- package/interfaces/validator-property-doc.js +3 -0
- package/interfaces/validator-property-doc.js.map +1 -0
- package/interfaces/validator.d.ts +15 -0
- package/interfaces/validator.js +3 -0
- package/interfaces/validator.js.map +1 -0
- package/package.json +32 -0
- package/validate/create-validation-error.d.ts +7 -0
- package/validate/create-validation-error.js +15 -0
- package/validate/create-validation-error.js.map +1 -0
- package/validate/get-defaults.d.ts +5 -0
- package/validate/get-defaults.js +27 -0
- package/validate/get-defaults.js.map +1 -0
- package/validate/get-subtype.d.ts +12 -0
- package/validate/get-subtype.js +47 -0
- package/validate/get-subtype.js.map +1 -0
- package/validate/index.d.ts +1 -0
- package/validate/index.js +18 -0
- package/validate/index.js.map +1 -0
- package/validate/transform-input.d.ts +9 -0
- package/validate/transform-input.js +27 -0
- package/validate/transform-input.js.map +1 -0
- package/validate/validate-array-item.d.ts +17 -0
- package/validate/validate-array-item.js +46 -0
- package/validate/validate-array-item.js.map +1 -0
- package/validate/validate-item.d.ts +16 -0
- package/validate/validate-item.js +47 -0
- package/validate/validate-item.js.map +1 -0
- package/validate/validate-property.d.ts +16 -0
- package/validate/validate-property.js +30 -0
- package/validate/validate-property.js.map +1 -0
- package/validate/validate.d.ts +6 -0
- package/validate/validate.js +118 -0
- 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 @@
|
|
|
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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"}
|