paradise
TypeScript icon, indicating that this package has built-in type declarations

1.0.3 • Public • Published

Paradise

A declarative and effective approach to thorough validation.

Built-in rules:

AllRule

✓ ignores when no rules are specified
✓ ignores when all rules are ignored
✓ rejects when any rule is rejected
✓ accepts when any rule is accepted and none are rejected

AnyRule

✓ ignores when no rules are specified
✓ ignores when all rules are ignored
✓ rejects when any rule is rejected and none are accepted
✓ accepts when any rule is accepted

RequiredRule

✓ rejects missing values
✓ accepts present values

ArrayRule

✓ ignores missing values
✓ rejects values that are not arrays
✓ rejects when any contained items are rejected
✓ accepts when an array and no contained items are rejected

ObjectRule

✓ ignores missing values
✓ rejects values that are not objects
✓ accepts when value is an object

RecognisedFieldsRule

✓ ignores missing values
✓ ignores values that are not objects
✓ rejects if object contains unspecified fields
✓ accepts if all fields have been specified

MandatoryFieldsRule

✓ ignores missing values
✓ ignores values that are not objects
✓ rejects if any fields are missing
✓ rejects if any fields are rejected
✓ accepts when no fields are rejected

OptionalFieldsRule

✓ ignores missing values
✓ ignores values that are not objects
✓ ignores missing fields
✓ rejects if any fields are rejected
✓ accepts when no fields are rejected

BooleanRule

✓ ignores missing values
✓ rejects non-boolean values
✓ accepts boolean values  

NumberRule

✓ ignores missing values
✓ rejects non-numeric values
✓ accepts numeric values

MultipleRule

✓ ignore missing values
✓ ignores non-numeric values
✓ rejects values that are not a multiple of target
✓ accepts values that are a multiple of target

DateRule

✓ ignores missing values
✓ rejects values that are not dates
✓ accepts values that are dates

StringRule

✓ ignores missing values
✓ rejects non-string values
✓ accepts string values

EmailRule

✓ ignores missing values
✓ ignores non-string values
✓ rejects values that are not valid email addresses
✓ accepts values that are valid email addresses

RegexRule

✓ ignores missing values
✓ ignores non-string values
✓ rejects values that do not satisfy pattern
✓ accepts values that satisfy pattern

CurrencyRule

✓ ignores missing values
✓ ignores non-string values
✓ rejects values that are not valid currency codes
✓ accepts values that are valid currency codes

CountryRule

✓ ignores missing values
✓ ignores non-string values
✓ rejects values that are not country names
✓ accepts values that are valid country names

CountryCodeRule

✓ ignores missing values
✓ ignores non-string values
✓ rejects values that are not valid two digit country codes
✓ accepts values that are valid two digit country codes

ValueRule

✓ ignores missing values
✓ rejects values that are not one of the target values
✓ accepts values that are one of the target values

NotValueRule

✓ ignores missing values
✓ accepts values that are not one of the target values
✓ rejects values that are one of the target values

SizeRule

✓ ignores missing values
✓ ignores values that are neither number, string or array
✓ accepts values that satisfy specified targets

✓ rejects numbers that are not above target.above
✓ rejects numbers that are not minimum target.min
✓ rejects numbers that are not exactly target.exactly
✓ rejects numbers that are not maximum target.max
✓ rejects numbers that are not below target.below

✓ rejects strings whose lengths are not above target.above
✓ rejects strings whose lengths are not minimum target.min
✓ rejects strings whose lengths are not exactly target.exactly
✓ rejects strings whose lengths are not maximum target.max
✓ rejects strings whose lengths are not below target.below

✓ rejects arrays whose lengths are not above target.above
✓ rejects arrays whose lengths are not minimum target.min
✓ rejects arrays whose lengths are not exactly target.exactly
✓ rejects arrays whose lengths are not maximum target.max
✓ rejects arrays whose lengths are not below target.below

Readme

Keywords

none

Package Sidebar

Install

npm i paradise

Weekly Downloads

1

Version

1.0.3

License

ISC

Last publish

Collaborators

  • emilrais