0.3.0 • Published 6 years ago

@mojule/schema-mapper v0.3.0

Weekly downloads
1
License
MIT
Repository
github
Last release
6 years ago

schema-mapper

npm install @mojule/schema-mapper

const Mapper = require( '@mojule/schema-mapper' )

const { from, to } = Mapper()

let data = {
  name: 'Nik',
  age: 37,
  classes: [ 'foo', 'bar' ]
}

const schema = to( data )
{
  "type": "object",
  "name": "object",
  "id": "",
  "properties": {
    "name": {
      "type": "string",
      "name": "name",
      "id": "/name"
    },
    "age": {
      "type": "number",
      "name": "age",
      "id": "/age"
    },
    "classes": {
      "type": "array",
      "name": "classes",
      "id": "/classes",
      "items": {
        "type": "string",
        "name": "string",
        "id": "/classes[]"
      }
    }
  }
}
data = from( schema )
{
  "name": "",
  "age": 0,
  "classes": [
    ""
  ]
}
const Mapper = require( '@mojule/schema-mapper' )

const { from, to } = Mapper( { omitDefault: false } )

let data = {
  name: 'Nik',
  age: 37,
  classes: [ 'foo', 'bar' ]
}

const schema = to( data )
{
  "type": "object",
  "name": "object",
  "id": "",
  "properties": {
    "name": {
      "type": "string",
      "name": "name",
      "id": "/name",
      "default": "Nik"
    },
    "age": {
      "type": "number",
      "name": "age",
      "id": "/age",
      "default": 37
    },
    "classes": {
      "type": "array",
      "name": "classes",
      "id": "/classes",
      "default": [
        "foo",
        "bar"
      ],
      "items": {
        "id": "/classes[]",
        "name": "any"
      }
    }
  }
}
data = from( schema )
{
  "name": "Nik",
  "age": 37,
  "classes": [
    "foo",
    "bar"
  ]
}
0.3.0

6 years ago

0.2.3

7 years ago

0.2.1

7 years ago

0.2.0

7 years ago

0.1.2

7 years ago

0.1.1

7 years ago

0.1.0

7 years ago