dto4j
v0.1.4
Published
> data transform object for javascript
Downloads
3
Readme
dto4j
data transform object for javascript
API
dto4j(convert, [data])
var data = {
name: '张三',
age: '0',
hello: {
world: 1489470599650
},
list: [
{a: 1},
{b: 2},
{c: 3}
]
}
// 可以通过 src 参数 或者 this 来获得 data,并且是深拷贝,不影响原对象
// 也可以直接传入 object path 来赋给一个新 key
var convert = {
userName: 'name',
age: function (src) {
return parseInt(src.age)
},
helloWorld: function () {
return new Date(this.hello.world)
},
hello_world: 'hello.world',
array: 'list',
arrayFirst: 'list[0]',
foo: {
bar: {
baz: function () {
return this.list[0].a * 666
}
}
}
}
console.log(dto4j(convert, data))
// {
// userName: '张三',
// age: 0,
// helloWorld: 'Tue Mar 14 2017 13:49:59 GMT+0800 (CST)',
// hello_world: 1489470599650,
// array: [ { a: 1 }, { b: 2 }, { c: 3 } ],
// arrayFirst: { a: 1 },
// foo: { bar: { baz: 666 } }
// }
// 也可以传入一个参数,返回一个 dto 转换器,以便后面执行多次转换
var dto1 = dto4j(convert)
console.log(dto1(data))
// console.log(dto1(data2))
// console.log(dto1(data3))