SYNOPSIS
A data modeling language reference implementation. See dml.sh
BUILD
USAGE
sample.model
Define a model using the data modeling language syntax
// An example data model Date createdNumber id String name require // this is a comment gt 2 "Must be greater than 2 characters" lte 256 "Must be less than or equal to 256 characters" String bio "A bio must be a string" lte 140 "A bio must fit into a tweet" Boolean accountType
index.js
Compiling a model returns a function that will validate data.
const Models = let model = Models let result =
output
The result will be an object that contains the final data, as well as a
length
property which indicates how many rules were violated, and a rules
property containing information about the rules that were violated.
data: id: 1337 created: '2016-10-02T13:56:44.931Z' name: 'Glen Danzig' accountType: 'awesome' length: 1 rules: accountType: validator: 'type' message: 'Expected type [Boolean] but got type [String]'