Skip to content

MarcosRava/betelgeuse

Repository files navigation

Betelgeuse

Betelgeuse is a model structure based on JSON schema and Ajv validations

work: in progress

Proposal:

  • Model structure to client and server sides
  • Model Validations based on schema

Install

npm install betelgeuse

Usage

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' } ]

About

A JS model structure

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published