0.1.8 • Published 7 years ago
mojule-transform v0.1.8
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
}