Skip to content
This repository was archived by the owner on Apr 19, 2022. It is now read-only.

poppinss/indicative-compiler

Indicative Compiler

circleci-image npm-image license-image

Indicative compiler to compile validations schema into a highly optimized executable function.

Indicative is a highly performant validation library for Node.js. It achieves this by compiling the schema into a tree and then an a top level executable function.

Table of contents

Usage

Install the package from npm registry as follows:

You must use indicative directly. This is a low level module meant to be used by indicative itself.

npm i indicative-compiler

# yarn
yarn add indicative-compiler

and then use it as follows:

import { ValidatorCompiler, ValidatorExecutor } from 'indicative-compiler'
import { VanillaFormatter } from 'indicative-formatters'
import * as validations from 'indicative-rules'

const schema = {
  username: 'required',
  email: 'required|email'
}

const messages = {}

// Do it once for each schema
const compiledFunctions = new ValidatorCompiler(schema, messages).compile()

await new ValidatorExecutor(compiledFunctions).exec(data, VanillaFormatter, {}, false, false)

The ValidatorExecutor.exec function takes 5 parameters.

  1. data: The runtime data to validate against the compiled schema.
  2. formatter: Formatter constructor to collect and format error messages.
  3. config: The config to be passed to all the validation functions.
  4. bail: When true, it will stop after first error.
  5. removeAdditional: When true, the exec will return only validated properties.

API Docs

Following are the autogenerated files via Typedoc

About

Compiler to compile parsed schema tree into reusable functions

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Contributors 2

  •  
  •