UNPKG

@accounter/israeli-vat-scraper

Version:
37 lines (36 loc) 1.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.vatScraper = void 0; const node_module_1 = require("node:module"); const dotenv_1 = require("dotenv"); const login_handler_js_1 = require("./handlers/login-handler.js"); const main_page_handler_js_1 = require("./handlers/main-page-handler.js"); const schema_validator_js_1 = require("./utils/schema-validator.js"); (0, dotenv_1.config)({ path: [`.env`, `../../.env`] }); const defaultConfig = { visibleBrowser: false, expandData: true, sortDescending: false, validate: true, printErrors: true, years: undefined, logger: console, }; const vatScraper = async (credentials, userConfig = {}) => { try { (0, login_handler_js_1.updateCredentials)(credentials || (0, login_handler_js_1.getEnvCredentials)()); const config = { ...defaultConfig, ...userConfig }; const reports = await (0, main_page_handler_js_1.homePageHandler)(config); if (config.validate) { const requireFile = (0, node_module_1.createRequire)(__dirname); // construct the require method const schema = requireFile('./src/vatSchema.json'); // use the require method const validation = await (0, schema_validator_js_1.validateSchema)(schema, reports); config.logger.log(validation); } return reports; } catch (e) { throw new Error(`VatScraper - ${e?.message || e}`, { cause: e }); } }; exports.vatScraper = vatScraper;