UNPKG

acdc

Version:

JavaScript object transformation

23 lines (21 loc) 716 B
var debug = require('debug')('acdc:tasks:logic:when') var Joi = require('joi') var schemas = require('../../schemas') var run = require('../flow/run') module.exports = { fn: function when(input, ctx, cb) { run.fn(input, { params: ctx.params.condition }, function(err, truthy) { if (err) return cb(err) if (!truthy) return cb(null, { ran: false }) run.fn(input, { params: ctx.params.task }, function(err, result) { cb(err, { ran: true, result: result }) }) }) }, schema: schemas.context.keys({ params: Joi.object().keys({ condition: schemas.taskdef, task: schemas.taskdef }) }) }