diff --git a/.eslintrc b/.eslintrc index 6f5cef08..bffea014 100644 --- a/.eslintrc +++ b/.eslintrc @@ -8,7 +8,8 @@ "ForInStatement", "LabeledStatement", "WithStatement", - ] + ], + "operator-linebreak": ["error", "after"] }, "globals": { "document": true, diff --git a/playground/setup-options.js b/playground/setup-options.js index 98a33c27..c2859f1f 100644 --- a/playground/setup-options.js +++ b/playground/setup-options.js @@ -64,4 +64,3 @@ export default async function () { console.log('playground options saved, to start scraping run "npm start"'); } - diff --git a/src/helpers/elements-interactions.js b/src/helpers/elements-interactions.js index 647db04d..33d473a1 100644 --- a/src/helpers/elements-interactions.js +++ b/src/helpers/elements-interactions.js @@ -19,4 +19,9 @@ async function dropdownSelect(page, selectSelector, value) { await page.select(selectSelector, value); } -export { waitUntilElementFound, fillInput, clickButton, dropdownSelect }; +export { + waitUntilElementFound, + fillInput, + clickButton, + dropdownSelect, +}; diff --git a/src/scrapers/base-isracard-amex.js b/src/scrapers/base-isracard-amex.js index 65f844fe..184a1afe 100644 --- a/src/scrapers/base-isracard-amex.js +++ b/src/scrapers/base-isracard-amex.js @@ -4,7 +4,15 @@ import moment from 'moment'; import { BaseScraperWithBrowser, LOGIN_RESULT } from './base-scraper-with-browser'; import { fetchGetWithinPage, fetchPostWithinPage } from '../helpers/fetch'; -import { SCRAPE_PROGRESS_TYPES, NORMAL_TXN_TYPE, INSTALLMENTS_TXN_TYPE, SHEKEL_CURRENCY_KEYWORD, SHEKEL_CURRENCY, ALT_SHEKEL_CURRENCY, TRANSACTION_STATUS } from '../constants'; +import { + SCRAPE_PROGRESS_TYPES, + NORMAL_TXN_TYPE, + INSTALLMENTS_TXN_TYPE, + SHEKEL_CURRENCY_KEYWORD, + SHEKEL_CURRENCY, + ALT_SHEKEL_CURRENCY, + TRANSACTION_STATUS, +} from '../constants'; import getAllMonthMoments from '../helpers/dates'; import { fixInstallments, filterOldTransactions } from '../helpers/transactions'; diff --git a/src/scrapers/leumi-card.js b/src/scrapers/leumi-card.js index d1b8ecdd..89e3ac13 100644 --- a/src/scrapers/leumi-card.js +++ b/src/scrapers/leumi-card.js @@ -4,7 +4,13 @@ import moment from 'moment'; import { BaseScraperWithBrowser, LOGIN_RESULT } from './base-scraper-with-browser'; import { waitForNavigationAndDomLoad, waitForRedirect } from '../helpers/navigation'; import { waitUntilElementFound } from '../helpers/elements-interactions'; -import { NORMAL_TXN_TYPE, INSTALLMENTS_TXN_TYPE, SHEKEL_CURRENCY_SYMBOL, SHEKEL_CURRENCY, TRANSACTION_STATUS } from '../constants'; +import { + NORMAL_TXN_TYPE, + INSTALLMENTS_TXN_TYPE, + SHEKEL_CURRENCY_SYMBOL, + SHEKEL_CURRENCY, + TRANSACTION_STATUS, +} from '../constants'; import getAllMonthMoments from '../helpers/dates'; import { fixInstallments, sortTransactionsByDate, filterOldTransactions } from '../helpers/transactions'; diff --git a/src/scrapers/leumi.js b/src/scrapers/leumi.js index aa81dec1..46c58f2a 100644 --- a/src/scrapers/leumi.js +++ b/src/scrapers/leumi.js @@ -1,6 +1,11 @@ import moment from 'moment'; import { BaseScraperWithBrowser, LOGIN_RESULT } from './base-scraper-with-browser'; -import { dropdownSelect, fillInput, clickButton, waitUntilElementFound } from '../helpers/elements-interactions'; +import { + dropdownSelect, + fillInput, + clickButton, + waitUntilElementFound, +} from '../helpers/elements-interactions'; import { waitForNavigation } from '../helpers/navigation'; import { SHEKEL_CURRENCY, NORMAL_TXN_TYPE, TRANSACTION_STATUS } from '../constants'; @@ -63,11 +68,10 @@ async function extractCompletedTransactionsFromPage(page) { const txns = []; const tdsValues = await page.$$eval('#WorkSpaceBox #ctlActivityTable tr td', (tds) => { - return tds.map(td => - ({ - classList: td.getAttribute('class'), - innerText: td.innerText, - })); + return tds.map(td => ({ + classList: td.getAttribute('class'), + innerText: td.innerText, + })); }); for (const element of tdsValues) { @@ -75,8 +79,7 @@ async function extractCompletedTransactionsFromPage(page) { const newTransaction = { status: TRANSACTION_STATUS.COMPLETED }; newTransaction.date = (element.innerText || '').trim(); txns.push(newTransaction); - } else if (element.classList.includes('ActivityTableColumn1LTR') - || element.classList.includes('ActivityTableColumn1')) { + } else if (element.classList.includes('ActivityTableColumn1LTR') || element.classList.includes('ActivityTableColumn1')) { const changedTransaction = txns.pop(); changedTransaction.description = element.innerText; txns.push(changedTransaction); @@ -110,11 +113,10 @@ async function extractPendingTransactionsFromPage(page) { const txns = []; const tdsValues = await page.$$eval('#WorkSpaceBox #trTodayActivityNapaTableUpper tr td', (tds) => { - return tds.map(td => - ({ - classList: td.getAttribute('class'), - innerText: td.innerText, - })); + return tds.map(td => ({ + classList: td.getAttribute('class'), + innerText: td.innerText, + })); }); for (const element of tdsValues) { diff --git a/src/scrapers/otsar-hahayal.js b/src/scrapers/otsar-hahayal.js index caa3bbda..143822f0 100644 --- a/src/scrapers/otsar-hahayal.js +++ b/src/scrapers/otsar-hahayal.js @@ -71,11 +71,10 @@ function convertTransactions(txns) { async function parseTransactionPage(page) { const tdsValues = await page.$$eval('#dataTable077 tbody tr td', (tds) => { - return tds.map(td => - ({ - classList: td.getAttribute('class'), - innerText: td.innerText, - })); + return tds.map(td => ({ + classList: td.getAttribute('class'), + innerText: td.innerText, + })); }); const txns = []; @@ -194,6 +193,7 @@ class OtsarHahayalScraper extends BaseScraperWithBrowser { possibleResults: getPossibleLoginResults(), }; } + async fetchData() { const defaultStartMoment = moment().subtract(1, 'years').add(1, 'day'); const startDate = this.options.startDate || defaultStartMoment.toDate();