Skip to content

shepherdwind/schema-util-backup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

schema util

Build Status

NPM

schema dsl parse

var schema = require('schema-util').schema;

var json = schema(`
  Array(foo) {
    href(href),
    title(title),
    img(image url): Image,
    amount(money amout)
  }
`);
// json should be so:
/**
  {
    type: 'array',
    description: 'foo',
    properties: {
      href: { description: 'href', type: 'string' },
      title: { description: 'title', type: 'string' },
      img: { description: 'image url', type: 'image' },
      amount: { description: 'money amount', type: 'string' }
    }
  }
*/

And nest rule supported:

var json = schema(`
  Object(abc) {
    title(title),
    user(user): Object {
      name(user name),
      age(user age): Number
    }
  }
`, ['number']);

The secend argument, you can add some more type support, such as age.number, background.color.

schema(`Array(foo) { a(a)}`, types)

The defaultType is 'string', If you want change this, you need send the secend argument like this:

schema(`Array(foo) { a(a)}`, {
  defaultType: 'number',
  supported: ['string']
});

export support

Write code like this example, you can get a object, which have to properties a and b. Each property have the value of schema object.

schema(`
  export a Object(hello) { ... }

  export b Array(hello b) { ... }
`);

mock

mock schema data

mock(schema, config)

config can set default type value, for example, config set to { image: 'xx.png' }, then schema mock image type value will be xx.png.

config value can be an function.

walk

walk every property of schema.

About

Better for human write schema define

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published