UNPKG

@dmgt/google-ad-manager-api

Version:
50 lines 2.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const axios_1 = tslib_1.__importDefault(require("axios")); const mkdirp_1 = require("mkdirp"); const promises_1 = require("node:fs/promises"); const wsdl_path_1 = require("./wsdl-path"); (async () => { const { default: Crawler } = await import('crawler'); const crawler = new Crawler({ maxConnections: 1, callback: async (error, res, done) => { if (typeof done !== 'function') throw new Error('`done` is not a function.'); if (error) { console.error(error); return done(); } const $ = res.$; const elements = $(`a[href$="?wsdl"]`); if (!elements.length) { console.error(`Cannot find any WSDLs`); return done(); } try { await Promise.all(elements.toArray().map(async (element) => { const $element = res.$(element); const title = $element.text(); const url = wsdl_path_1.origin + $element.attr('href'); const versionRegExp = new RegExp(`${wsdl_path_1.basePath}/([v0-9]+)/`); const versionMatch = versionRegExp.exec(url); if (!versionMatch) { console.error(`Could not find a version in ${url}`); return; } const [, version] = versionMatch; await (0, mkdirp_1.mkdirp)(`src/wsdl/${version}`); const response = await axios_1.default.get(url); await (0, promises_1.writeFile)(`src/wsdl/${version}/${title}.wsdl`, response.data); })); } catch (error) { console.error(error); } done(); }, }); crawler.add(wsdl_path_1.baseURL); })(); //# sourceMappingURL=wsdl.js.map