@valexe-technologies/lookup.services
Version:
Business Services for Lookup
40 lines • 1.43 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.BaseDomainRegistrar = void 0;
const user_agents_1 = __importDefault(require("user-agents"));
class BaseDomainRegistrar {
constructor() {
this.NUMERIC_REGEX = /[-]{0,1}[\d]*[.]{0,1}[\d]+/;
}
async setupUserAgent(page) {
await page.setUserAgent(new user_agents_1.default().toString());
}
async waitForSelectorAndGetInnerHtml(page, selector, timeout = 5000) {
try {
await page.waitForSelector(selector, { timeout: timeout });
return await page.$eval(selector, (el) => el.innerHTML);
}
catch (err) {
console.warn(`Failed to get Element for selector: ${selector}`);
console.warn(err);
}
return null;
}
extractTLD(domainNameWithTLD) {
let index = domainNameWithTLD.indexOf('.');
if (index && index > 1) {
return domainNameWithTLD.substr(index);
}
return null;
}
extractPrice(innerHtml) {
innerHtml = innerHtml.replace(',', '');
let matchArray = innerHtml.match(this.NUMERIC_REGEX);
return +matchArray;
}
}
exports.BaseDomainRegistrar = BaseDomainRegistrar;
//# sourceMappingURL=baseDomainRegistrar.js.map