UNPKG

banker

Version:

Downloads transactions and balances from online banking websites using Zombie.js.

47 lines (39 loc) 1.3 kB
var moment = require('moment'), utils = require('../utils'); exports.parse = function(qif, cb) { var transaction = {}, transactions = []; utils.readLines(qif, function(err, line) { var marker = line.substring(0, 1), value = line.substring(1); switch (marker) { case 'D': transaction.date = moment(value, 'MM/DD/YYYY'); break; case 'P': transaction.description = value; break; case 'T': transaction.amount = utils.decimal(value); break; case 'M': transaction.memo = value; break; case 'N': transaction.checkNumber = value; break; case '^': if (Object.keys(transaction).length) { if (transaction.memo && !transaction.description) { transaction.description = transaction.memo; transaction.memo = ''; } transactions.push(transaction); transaction = {}; } break; } }, function(err) { cb(err, transactions); }); };