Betelgeuse is a model structure based on JSON schema and Ajv validations
- Model structure to client and server sides
- Model Validations based on schema
npm install betelgeuse
import Betelgeuse, { Types } from 'betelgeuse';
class Towel extends Betelgeuse {
static schema = {
id: Types.integer,
color: {
type: Types.string,
minLength: 3
}
}
}
let towel = new Towel({id:6, color:'red'});
const errors = towel.validate();
console.error(errors);
// undefined
const fields = towel.fetch();
console.log(fields);
// {id:6, color:'red'}
with errors
let towel2 = new Towel({id:6, color:'ed'});
const errors = towel2.validate();
//[ { message: 'should NOT be shorter than 3 characters', field: 'color' } ]