npm.io
0.1.8 • Published 9 years ago

mojule-transform

Licence
MIT
Version
0.1.8
Deps
2
Vulns
0
Weekly
0
DeprecatedThis package is deprecated

mojule-transform

Declarative object tranformation

Usage

npm install mojule-transformer

const transformer = require( 'mojule-transformer' )

const transformed = transformer( model, transform )

Examples

Append a property

Input:

const model = {
  "a": "Hello"
}

const transform = {
  "b": "World"
}

Output:

{
  "a": "Hello",
  "b": "World"
}
Copy a property

Input:

const model = {
  "a": "Hello"
}

const transform = {
  "b": {
    "$value": "a"
  }
}

Output:

{
  "a": "Hello",
  "b": "Hello"
}
Delete a property

Input:

const model = {
  "a": "Hello"
}

const transform = {
  "a": "$delete"
}

Output:

{}
Rename a property

Input:

const model = {
  "a": "Hello"
}

const transform = {
  "a": "$delete",
  "b": {
    "$value": "a"
  }
}

Output:

{
  "b": "Hello"
}
Conditional

Input:

const model = {
  "a": "Hello"
}

const transform = {
  "b": {
    "$if": [
      { "$value": "a" },
      true
    ]
  },
  "c": {
    "$if": [
      { "$value": "d" },
      true
    ]
  }
}

Output:

{
  "a": "Hello",
  "b": true
}

Keywords