ea-schema-validator
v1.0.3
Published
Joi schema validation with support for enviroment variable substitution
Downloads
4
Readme
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.