npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@clocklimited/validity

v1.1.3

Published

Validator framework for object validation

Downloads

521

Readme

validity - Validation framework

NPM Details

build status Greenkeeper badge

Validation helpers for validating the properties of an object.

Change log

Version 1

As of version 1 all validators have been stripped out and should be required individually as needed.

Validity now only consists of three helper functions that should be used by validator authors. You won't need to include validity directly into you projects any longer unless you need to create a new validator.

Installation

npm install --save validity

Run Tests

npm test

Usage

Simple Boolean Return Validators

var validity = require('validity'),
  createValidator = validity.createValidator,
  booleanToCallback = validity.booleanToCallback,
  requiredValidator,
  defaultMessageValidator

// The simple return boolean type validator we want to convert into a validity style
function isEven(value) {
  return value % 2 === 0
}

// Create the validator converting a simple boolean validation function
requiredValidator = createValidator(booleanToCallback(isEven))

// This sets the already composed validator with a default message
defaultMessageValidator = requiredValidator('#{name} is required')

// Tack a composed function onto the default validator function that allows you
// to change the default error message.
defaultMessageValidator.setFailureMessage = requiredValidator

module.exports = defaultMessageValidator

This can be wrapped up using the createValidatorAllowingFailureMessageOverride helper.

var validity = require('validity')

module.exports = validity.createValidatorAllowingFailureMessageOverride(
  validity.booleanToCallback(isValid),
  '#{name} is required'
)

Unexpected Errors

The first argument of a validator callback should be null unless expected errors outside of validation occurred. Errors such as IO errors or system errors should be reported and dealt with internally. It may cause an security issue if details of such errors are returned to the user.

Validators

Validators should be built as individual npm modules so that applications can pick and choose which they use. Validators should be added to npm repo with the validity- prefix so they can be found with a quick npm search (or via the cli: npm search validity-).

Validator authors should upgrade their validators to use the helper functions from validity and allow easy overriding of failure messages.

Validators that currently exist and can be used:

* - These modules replace functionality previously found in validity pre version 1

Credits

Paul Serby follow me on twitter @serby

License

ISC