UNPKG

acdc

Version:

JavaScript object transformation

28 lines (26 loc) 846 B
var Joi = require('joi') var flow = require('../flow') var shorthand = require('../../utils/shorthand') var get = shorthand(require('./get')) var set = shorthand(require('./set')) var schemas = require('../../schemas') module.exports = { fn: function copy(input, ctx, cb) { flow.run.fn(input, { params: flow.sequence([ get(ctx.params.from), set(ctx.params.to || ctx.params.from) ]) }, cb) }, schema: schemas.context.keys({ input: Joi.alternatives().try(Joi.array(), Joi.object()), params: Joi.object().keys({ from: Joi.string().allow(''), to: Joi.string().optional() }) }).meta({ description: 'Copiess a from one document to another', usage: 'copy("/customer/contact/name", "/name")' }) }