docparse-supplier-nge
Version:
process ngrid electric utility bill data for use in the docparse system
55 lines (51 loc) • 1.35 kB
JavaScript
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);
});
};