1.0.3 • Published 7 years ago

ea-schema-validator v1.0.3

Weekly downloads
17
License
OGL
Repository
github
Last release
7 years ago

Joi object schema validation with support for environment variable substitution

Synopsis

This project supplements Joi object schema validation with environment variable substitution. Validation is performed synchronously. Environment variable substitution is specified through the use of a double quote delimited string containing the environment variable name enclosed in angled brackets; for example "<<SAMPLE_ENVIRONMENT_VARIABLE>>". Multiple environment variables substitutions within the same string are supported; for example, "<<SAMPLE_PREFIX>>sample_value<<SAMPLE_SUFFIX>>". Joi performs type conversion during environment variable substition. For example, given the following configuration snippet:

{
  ...
  portNumber: "<<PORT_NUMBER>>"
  ...
}

if a Joi schema requires portNumber to be a postive integer between 1 and 65535 inclusive and the environment variable PORT_NUMBER is set to 443, the snippet will be transformed to the following after successful validation:

{
  ...
  portNumber: 443
  ...
}

Prerequisites

Node.js v4.x.x or above

NPM based installation

npm i --save ea-schema-validator

Usage examples

   
const validate = require('ea-schema-validator').validate
const sampleObject = require('./path/to/some/object/to/be/validated'}
const sampleSchema = require('./path/to/schema')

var validatedSampleObject


// Validate the object against the schema synchronously (An error wil be thrown if validation fails).
try {
  validatedSampleObject = validate.validateObjectSync(sampleObject, sampleSchema)
} catch (err) {
  console.error('Validation failed', err)
}

Contributing to this project

If you have an idea you'd like to contribute please log an issue.

All contributions should be submitted via a pull request.

License

THIS INFORMATION IS LICENSED UNDER THE CONDITIONS OF THE OPEN GOVERNMENT LICENCE found at:

http://www.nationalarchives.gov.uk/doc/open-government-licence/version/3

The following attribution statement MUST be cited in your products and applications when using this information.

Contains public sector information licensed under the Open Government license v3

About the license

The Open Government Licence (OGL) was developed by the Controller of Her Majesty's Stationery Office (HMSO) to enable information providers in the public sector to license the use and re-use of their information under a common open licence.

It is designed to encourage use and re-use of information freely and flexibly, with only a few conditions.