UNPKG

docparse-supplier-nge

Version:

process ngrid electric utility bill data for use in the docparse system

55 lines (51 loc) 1.35 kB
var inspect = require('eyespect').inspector(); var num = require('num'); var async = require('async'); var ce = require('cloneextend'); var rk = require('required-keys'); module.exports = function(data, callback) { var keys = ['text']; var err = rk.truthySync(data, keys); if (err) { return callback(err); } var text = data.text; var parseSupply = data.parseSupply; if (!parseSupply) { parseSupply = require('./parseSupply'); } var getUtilityData = data.getUtilityData; if (!getUtilityData) { getUtilityData = require('./getUtilityData'); } var calculateToPay = data.calculateToPay; if (!calculateToPay) { calculateToPay = require('./calculateToPay'); } var output; async.series([ function(cb) { getUtilityData(data, function (err, reply) { if (err) { return cb(err); } output = reply; cb(); }); }, function(cb) { parseSupply(data, function (err, reply) { if (err) { return cb(err); } output = ce.extend(output,reply); cb(); }); }, // set to pay function(cb) { calculateToPay(output, function (err, reply) { if (err) { return cb(err); } output.toPay = reply; cb(); }); } ], function(err) { if (err) { return callback(err); } callback(null, output); }); };