UNPKG

israeli-bank-scrapers-core

Version:

Provide scrapers for all major Israeli banks and credit card companies

47 lines (46 loc) 7.61 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.filterOldTransactions = filterOldTransactions; exports.fixInstallments = fixInstallments; exports.sortTransactionsByDate = sortTransactionsByDate; var _lodash = _interopRequireDefault(require("lodash")); var _moment = _interopRequireDefault(require("moment")); var _transactions = require("../transactions"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function isNormalTransaction(txn) { return txn && txn.type === _transactions.TransactionTypes.Normal; } function isInstallmentTransaction(txn) { return txn && txn.type === _transactions.TransactionTypes.Installments; } function isNonInitialInstallmentTransaction(txn) { return isInstallmentTransaction(txn) && !!txn.installments && txn.installments.number > 1; } function isInitialInstallmentTransaction(txn) { return isInstallmentTransaction(txn) && !!txn.installments && txn.installments.number === 1; } function fixInstallments(txns) { return txns.map(txn => { const clonedTxn = { ...txn }; if (isInstallmentTransaction(clonedTxn) && isNonInitialInstallmentTransaction(clonedTxn) && clonedTxn.installments) { const dateMoment = (0, _moment.default)(clonedTxn.date); const actualDateMoment = dateMoment.add(clonedTxn.installments.number - 1, 'month'); clonedTxn.date = actualDateMoment.toISOString(); } return clonedTxn; }); } function sortTransactionsByDate(txns) { return _lodash.default.sortBy(txns, ['date']); } function filterOldTransactions(txns, startMoment, combineInstallments) { return txns.filter(txn => { const combineNeededAndInitialOrNormal = combineInstallments && (isNormalTransaction(txn) || isInitialInstallmentTransaction(txn)); return !combineInstallments && startMoment.isSameOrBefore(txn.date) || combineNeededAndInitialOrNormal && startMoment.isSameOrBefore(txn.date); }); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfbW9tZW50IiwiX3RyYW5zYWN0aW9ucyIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImlzTm9ybWFsVHJhbnNhY3Rpb24iLCJ0eG4iLCJ0eXBlIiwiVHJhbnNhY3Rpb25UeXBlcyIsIk5vcm1hbCIsImlzSW5zdGFsbG1lbnRUcmFuc2FjdGlvbiIsIkluc3RhbGxtZW50cyIsImlzTm9uSW5pdGlhbEluc3RhbGxtZW50VHJhbnNhY3Rpb24iLCJpbnN0YWxsbWVudHMiLCJudW1iZXIiLCJpc0luaXRpYWxJbnN0YWxsbWVudFRyYW5zYWN0aW9uIiwiZml4SW5zdGFsbG1lbnRzIiwidHhucyIsIm1hcCIsImNsb25lZFR4biIsImRhdGVNb21lbnQiLCJtb21lbnQiLCJkYXRlIiwiYWN0dWFsRGF0ZU1vbWVudCIsImFkZCIsInRvSVNPU3RyaW5nIiwic29ydFRyYW5zYWN0aW9uc0J5RGF0ZSIsIl8iLCJzb3J0QnkiLCJmaWx0ZXJPbGRUcmFuc2FjdGlvbnMiLCJzdGFydE1vbWVudCIsImNvbWJpbmVJbnN0YWxsbWVudHMiLCJmaWx0ZXIiLCJjb21iaW5lTmVlZGVkQW5kSW5pdGlhbE9yTm9ybWFsIiwiaXNTYW1lT3JCZWZvcmUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaGVscGVycy90cmFuc2FjdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBtb21lbnQsIHsgdHlwZSBNb21lbnQgfSBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlcywgdHlwZSBUcmFuc2FjdGlvbiB9IGZyb20gJy4uL3RyYW5zYWN0aW9ucyc7XG5cbmZ1bmN0aW9uIGlzTm9ybWFsVHJhbnNhY3Rpb24odHhuOiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIHR4biAmJiB0eG4udHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlcy5Ob3JtYWw7XG59XG5cbmZ1bmN0aW9uIGlzSW5zdGFsbG1lbnRUcmFuc2FjdGlvbih0eG46IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdHhuICYmIHR4bi50eXBlID09PSBUcmFuc2FjdGlvblR5cGVzLkluc3RhbGxtZW50cztcbn1cblxuZnVuY3Rpb24gaXNOb25Jbml0aWFsSW5zdGFsbG1lbnRUcmFuc2FjdGlvbih0eG46IFRyYW5zYWN0aW9uKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc0luc3RhbGxtZW50VHJhbnNhY3Rpb24odHhuKSAmJiAhIXR4bi5pbnN0YWxsbWVudHMgJiYgdHhuLmluc3RhbGxtZW50cy5udW1iZXIgPiAxO1xufVxuXG5mdW5jdGlvbiBpc0luaXRpYWxJbnN0YWxsbWVudFRyYW5zYWN0aW9uKHR4bjogVHJhbnNhY3Rpb24pOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzSW5zdGFsbG1lbnRUcmFuc2FjdGlvbih0eG4pICYmICEhdHhuLmluc3RhbGxtZW50cyAmJiB0eG4uaW5zdGFsbG1lbnRzLm51bWJlciA9PT0gMTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpeEluc3RhbGxtZW50cyh0eG5zOiBUcmFuc2FjdGlvbltdKTogVHJhbnNhY3Rpb25bXSB7XG4gIHJldHVybiB0eG5zLm1hcCgodHhuOiBUcmFuc2FjdGlvbikgPT4ge1xuICAgIGNvbnN0IGNsb25lZFR4biA9IHsgLi4udHhuIH07XG5cbiAgICBpZiAoXG4gICAgICBpc0luc3RhbGxtZW50VHJhbnNhY3Rpb24oY2xvbmVkVHhuKSAmJlxuICAgICAgaXNOb25Jbml0aWFsSW5zdGFsbG1lbnRUcmFuc2FjdGlvbihjbG9uZWRUeG4pICYmXG4gICAgICBjbG9uZWRUeG4uaW5zdGFsbG1lbnRzXG4gICAgKSB7XG4gICAgICBjb25zdCBkYXRlTW9tZW50ID0gbW9tZW50KGNsb25lZFR4bi5kYXRlKTtcbiAgICAgIGNvbnN0IGFjdHVhbERhdGVNb21lbnQgPSBkYXRlTW9tZW50LmFkZChjbG9uZWRUeG4uaW5zdGFsbG1lbnRzLm51bWJlciAtIDEsICdtb250aCcpO1xuICAgICAgY2xvbmVkVHhuLmRhdGUgPSBhY3R1YWxEYXRlTW9tZW50LnRvSVNPU3RyaW5nKCk7XG4gICAgfVxuICAgIHJldHVybiBjbG9uZWRUeG47XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc29ydFRyYW5zYWN0aW9uc0J5RGF0ZSh0eG5zOiBUcmFuc2FjdGlvbltdKSB7XG4gIHJldHVybiBfLnNvcnRCeSh0eG5zLCBbJ2RhdGUnXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJPbGRUcmFuc2FjdGlvbnModHhuczogVHJhbnNhY3Rpb25bXSwgc3RhcnRNb21lbnQ6IE1vbWVudCwgY29tYmluZUluc3RhbGxtZW50czogYm9vbGVhbikge1xuICByZXR1cm4gdHhucy5maWx0ZXIodHhuID0+IHtcbiAgICBjb25zdCBjb21iaW5lTmVlZGVkQW5kSW5pdGlhbE9yTm9ybWFsID1cbiAgICAgIGNvbWJpbmVJbnN0YWxsbWVudHMgJiYgKGlzTm9ybWFsVHJhbnNhY3Rpb24odHhuKSB8fCBpc0luaXRpYWxJbnN0YWxsbWVudFRyYW5zYWN0aW9uKHR4bikpO1xuICAgIHJldHVybiAoXG4gICAgICAoIWNvbWJpbmVJbnN0YWxsbWVudHMgJiYgc3RhcnRNb21lbnQuaXNTYW1lT3JCZWZvcmUodHhuLmRhdGUpKSB8fFxuICAgICAgKGNvbWJpbmVOZWVkZWRBbmRJbml0aWFsT3JOb3JtYWwgJiYgc3RhcnRNb21lbnQuaXNTYW1lT3JCZWZvcmUodHhuLmRhdGUpKVxuICAgICk7XG4gIH0pO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLGFBQUEsR0FBQUYsT0FBQTtBQUFxRSxTQUFBRCx1QkFBQUksQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQUVyRSxTQUFTRyxtQkFBbUJBLENBQUNDLEdBQVEsRUFBVztFQUM5QyxPQUFPQSxHQUFHLElBQUlBLEdBQUcsQ0FBQ0MsSUFBSSxLQUFLQyw4QkFBZ0IsQ0FBQ0MsTUFBTTtBQUNwRDtBQUVBLFNBQVNDLHdCQUF3QkEsQ0FBQ0osR0FBUSxFQUFXO0VBQ25ELE9BQU9BLEdBQUcsSUFBSUEsR0FBRyxDQUFDQyxJQUFJLEtBQUtDLDhCQUFnQixDQUFDRyxZQUFZO0FBQzFEO0FBRUEsU0FBU0Msa0NBQWtDQSxDQUFDTixHQUFnQixFQUFXO0VBQ3JFLE9BQU9JLHdCQUF3QixDQUFDSixHQUFHLENBQUMsSUFBSSxDQUFDLENBQUNBLEdBQUcsQ0FBQ08sWUFBWSxJQUFJUCxHQUFHLENBQUNPLFlBQVksQ0FBQ0MsTUFBTSxHQUFHLENBQUM7QUFDM0Y7QUFFQSxTQUFTQywrQkFBK0JBLENBQUNULEdBQWdCLEVBQVc7RUFDbEUsT0FBT0ksd0JBQXdCLENBQUNKLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQ0EsR0FBRyxDQUFDTyxZQUFZLElBQUlQLEdBQUcsQ0FBQ08sWUFBWSxDQUFDQyxNQUFNLEtBQUssQ0FBQztBQUM3RjtBQUVPLFNBQVNFLGVBQWVBLENBQUNDLElBQW1CLEVBQWlCO0VBQ2xFLE9BQU9BLElBQUksQ0FBQ0MsR0FBRyxDQUFFWixHQUFnQixJQUFLO0lBQ3BDLE1BQU1hLFNBQVMsR0FBRztNQUFFLEdBQUdiO0lBQUksQ0FBQztJQUU1QixJQUNFSSx3QkFBd0IsQ0FBQ1MsU0FBUyxDQUFDLElBQ25DUCxrQ0FBa0MsQ0FBQ08sU0FBUyxDQUFDLElBQzdDQSxTQUFTLENBQUNOLFlBQVksRUFDdEI7TUFDQSxNQUFNTyxVQUFVLEdBQUcsSUFBQUMsZUFBTSxFQUFDRixTQUFTLENBQUNHLElBQUksQ0FBQztNQUN6QyxNQUFNQyxnQkFBZ0IsR0FBR0gsVUFBVSxDQUFDSSxHQUFHLENBQUNMLFNBQVMsQ0FBQ04sWUFBWSxDQUFDQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLE9BQU8sQ0FBQztNQUNuRkssU0FBUyxDQUFDRyxJQUFJLEdBQUdDLGdCQUFnQixDQUFDRSxXQUFXLENBQUMsQ0FBQztJQUNqRDtJQUNBLE9BQU9OLFNBQVM7RUFDbEIsQ0FBQyxDQUFDO0FBQ0o7QUFFTyxTQUFTTyxzQkFBc0JBLENBQUNULElBQW1CLEVBQUU7RUFDMUQsT0FBT1UsZUFBQyxDQUFDQyxNQUFNLENBQUNYLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2pDO0FBRU8sU0FBU1kscUJBQXFCQSxDQUFDWixJQUFtQixFQUFFYSxXQUFtQixFQUFFQyxtQkFBNEIsRUFBRTtFQUM1RyxPQUFPZCxJQUFJLENBQUNlLE1BQU0sQ0FBQzFCLEdBQUcsSUFBSTtJQUN4QixNQUFNMkIsK0JBQStCLEdBQ25DRixtQkFBbUIsS0FBSzFCLG1CQUFtQixDQUFDQyxHQUFHLENBQUMsSUFBSVMsK0JBQStCLENBQUNULEdBQUcsQ0FBQyxDQUFDO0lBQzNGLE9BQ0csQ0FBQ3lCLG1CQUFtQixJQUFJRCxXQUFXLENBQUNJLGNBQWMsQ0FBQzVCLEdBQUcsQ0FBQ2dCLElBQUksQ0FBQyxJQUM1RFcsK0JBQStCLElBQUlILFdBQVcsQ0FBQ0ksY0FBYyxDQUFDNUIsR0FBRyxDQUFDZ0IsSUFBSSxDQUFFO0VBRTdFLENBQUMsQ0FBQztBQUNKIiwiaWdub3JlTGlzdCI6W119