3.0.2 • Published 6 years ago

node-dml v3.0.2

Weekly downloads
4
License
ISC
Repository
github
Last release
6 years ago

SYNOPSIS

A data modeling language reference implementation. See dml.sh

BUILD

Build Status

USAGE

sample.model

Define a model using the data modeling language syntax

// An example data model

Date created
Number 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 = require('node-dml')

let model = Models.compile(fs.readFileSync('sample.model', 'utf8'))

let result = model({
  id: 1337,
  created: new Date(),
  name: 'Glen Danzig',
  accountType: 'awesome'
})

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

6 years ago

1.2.2

7 years ago

1.1.2

7 years ago

1.1.1

7 years ago

1.1.0

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago