JSON Schema validator
npm install amanda
Amanda is aiming to be a universal schema validation library. Currently it supports only the JSON Schema Internet Draft, but I'm planning to add Orderly, Relax NG and others very soon.
``javascript
/**
* Schema
*/
var schema = {
type: 'object',
properties: {
name: {
required: true,
type: 'string'
}
}
};
/**
* Data
*/
var data = {
name: 'Kenneth'
};
// Initialize a JSON Schema validator.
var jsonSchemaValidator = amanda('json');
// Validate the data against the schema.
jsonSchemaValidator.validate(data, schema, function(error) {
// Do something...
});
`
* Extendable, you can create your own attributes
* Can be used with Node.js and in a browser
* Amanda has no dependencies
* AMD compatible, you can load it via RequireJS
* Lightweight
* Fully documented
* Tested
To install Amanda, use NPM.
``
$ npm install amanda
Then you can load the library via require.
`javascript`
var amanda = require('amanda');
If you prefer RequireJS, go ahead.
`javascript
// Configuration options, the path should not include the .js extension.
require.config({
paths: {
'amanda': 'path/to/amanda'
}
});
// Load Amanda
require(['amanda'], function(amanda) {
// Do something...
});
`
Releases for the browser are available for download from GitHub.
| Version | Description | Size | Action |
|:------------|:----------------|:---------|:-----------|
| amanda.js | uncompressed, with comments | 42.12 KB (7.98 KB gzipped) | Download |amanda.min.js
| | compressed, without comments | 13.8 KB (4.09 KB gzipped) | Download |
Or you can use JAM.
``
$ jam install amanda
Then you can load the library via the
`
...or via RequireJS.
`javascript
// Configuration options, the path should not include the .js extension.
require.config({
paths: {
'amanda': 'path/to/amanda'
}
});
// Load Amanda
require(['amanda'], function(amanda) {
// Do something...
});
`
| Branch | Status |
|:-----------|:----------|
| master |  |
All documentation is available in the /docs/ folder.
From version 0.6.0.
Testing in progress...
I have included a Makefile with convenience methods for working with the library.
make Builds the library``
$ npm test
Releases will be numbered with the following format.
```
And constructed with the following guidelines.
* Breaking backwards compatibility bumps the major
* New additions without breaking backwards compatibility bumps the minor
* Bug fixes and misc changes bump the patch
For more information on semantic versioning, please visit http://semver.org/.
* v0.4.0
* v0.3.0
* v0.2.2
* v0.2.1
* v0.2.0
* v0.0.2
František Hába (@Baggz) created Amanda and these people have contributed.
Please see the LICENSE file.