JSPM

cached-validations

0.0.1
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • 0
    • Score
      100M100P100Q15323F
    • License MIT

    Easy and fast validations with cached results

    Package Exports

    • cached-validations

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (cached-validations) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    cached-validations

    Create validation functions that cache results

    Install

    $ npm install --save cached-validations

    Usage

    Create a validation schema and then you can create a validation function that takes in values and outputs any errors based on the passed validation functions.

    If an error has already been returned for a specific value then it will be cached and returned on the next invocation, making this a relatively performant option for doing things like form validations on keyup.

    import createValidator from 'cached-validations';
    
    const formValidations = {
      email: email => {
        if (!email) return 'Email is required';
        if (isNotEmail(email)) return 'Must be a valid email';
      },
      age: age => {
        if (!age) return 'Age is required';
        if (age > 120 || age < 13) return 'Must provide a valid age.'
      }
    }
    
    const formValidator = createValidator(formValidations);
    
    const dummyInput = {
      email: 'notanemail',
      age: 44
    }
    const errors = formValidator(dummyInput)
    // {email: 'Must be a valid email'}

    API

    createValidator(validations: object) => function => object

    Takes an object mapping validation functions to keys, returns a function that will validate objects with those same keys and return any errors based on the initially provided validations.

    License

    MIT © Brandon Dail