UNPKG

@xyz/whois

Version:

A powerful TypeScript/JavaScript tool for comprehensive domain analysis, featuring detailed WHOIS data with registration dates, registrars, and domain status. Offers SSL certificate extraction (with PEM support), DNS records, and server details. Includes

38 lines (37 loc) 1.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.NAMESERVER_PATTERNS = exports.STATUS_PATTERNS = void 0; exports.findStatusCodes = findStatusCodes; exports.findNameServers = findNameServers; exports.STATUS_PATTERNS = [/Domain Status:\s*(.+?)(?:\n|$)/gi, /Status:\s*(.+?)(?:\n|$)/gi]; exports.NAMESERVER_PATTERNS = [ /Name Server:\s*(.+?)(?:\n|$)/gi, /Nameserver:\s*(.+?)(?:\n|$)/gi, /nserver:\s*(.+?)(?:\n|$)/gi, ]; function findStatusCodes(rawData) { const statusCodes = []; for (const pattern of exports.STATUS_PATTERNS) { let statusMatch; while ((statusMatch = pattern.exec(rawData)) !== null) { const status = statusMatch[1].trim(); if (status && !statusCodes.includes(status)) { statusCodes.push(status); } } } return statusCodes; } function findNameServers(rawData) { const nameServers = []; for (const pattern of exports.NAMESERVER_PATTERNS) { let nsMatch; while ((nsMatch = pattern.exec(rawData)) !== null) { const server = nsMatch[1].trim().toLowerCase(); if (server && !nameServers.includes(server)) { nameServers.push(server); } } } return nameServers; }