UNPKG

@amuject/dns

Version:
282 lines (281 loc) 6.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.caa = caa; exports.cname = cname; exports.lookup = lookup; exports.mx = mx; exports.naptr = naptr; exports.ns = ns; exports.ptr = ptr; exports.reverse = reverse; exports.soa = soa; exports.srv = srv; exports.txt = txt; var _promises = _interopRequireDefault(require("dns/promises")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } async function soa(domain, timeout = 2000) { let result = { error: undefined, type: 'DNS/SOA', domain: domain, records: {} }; return new Promise((resolve, reject) => { let to = setTimeout(() => { result.error = 'ETIMEDOUT'; resolve(result); }, timeout); _promises.default.resolveSoa(domain).then(records => { clearTimeout(to); result.records = records; resolve(result); }).catch(error => { if (error.code != 'ENODATA') { result.error = error.code; } resolve(result); }); }); } async function cname(domain, timeout = 2000) { let result = { error: undefined, type: 'DNS/CNAME', domain: domain, records: [] }; return new Promise((resolve, reject) => { let to = setTimeout(() => { result.error = 'ETIMEDOUT'; resolve(result); }, timeout); _promises.default.resolveCname(domain).then(records => { clearTimeout(to); result.records = records; resolve(result); }).catch(error => { if (error.code != 'ENODATA') { result.error = error.code; } resolve(result); }); }); } async function mx(domain, timeout = 2000) { let result = { error: undefined, type: 'DNS/MX', domain: domain, records: [] }; return new Promise((resolve, reject) => { let to = setTimeout(() => { result.error = 'ETIMEDOUT'; resolve(result); }, timeout); _promises.default.resolveMx(domain).then(records => { clearTimeout(to); result.records = records; resolve(result); }).catch(error => { if (error.code != 'ENODATA') { result.error = error.code; } resolve(result); }); }); } async function txt(domain, timeout = 2000) { let result = { error: undefined, type: 'DNS/TXT', domain: domain, records: [] }; return new Promise((resolve, reject) => { let to = setTimeout(() => { result.error = 'ETIMEDOUT'; resolve(result); }, timeout); _promises.default.resolveTxt(domain).then(records => { clearTimeout(to); result.records = records; resolve(result); }).catch(error => { if (error.code != 'ENODATA') { result.error = error.code; } resolve(result); }); }); } async function srv(domain, timeout = 2000) { let result = { error: undefined, type: 'DNS/SRV', domain: domain, records: [] }; return new Promise((resolve, reject) => { let to = setTimeout(() => { result.error = 'ETIMEDOUT'; resolve(result); }, timeout); _promises.default.resolveSrv(domain).then(records => { clearTimeout(to); result.records = records; resolve(result); }).catch(error => { if (error.code != 'ENODATA') { result.error = error.code; } resolve(result); }); }); } async function ns(domain, timeout = 2000) { let result = { error: undefined, type: 'DNS/NS', domain: domain, records: [] }; return new Promise((resolve, reject) => { let to = setTimeout(() => { result.error = 'ETIMEDOUT'; resolve(result); }, timeout); _promises.default.resolveNs(domain).then(records => { clearTimeout(to); result.records = records; resolve(result); }).catch(error => { if (error.code != 'ENODATA') { result.error = error.code; } resolve(result); }); }); } async function caa(domain, timeout = 2000) { let result = { error: undefined, type: 'DNS/CAA', domain: domain, records: [] }; return new Promise((resolve, reject) => { let to = setTimeout(() => { result.error = 'ETIMEDOUT'; resolve(result); }, timeout); _promises.default.resolveCaa(domain).then(records => { clearTimeout(to); result.records = records; resolve(result); }).catch(error => { if (error.code != 'ENODATA') { result.error = error.code; } resolve(result); }); }); } async function ptr(domain, timeout = 2000) { let result = { error: undefined, type: 'DNS/PTR', domain: domain, records: [] }; return new Promise((resolve, reject) => { let to = setTimeout(() => { result.error = 'ETIMEDOUT'; resolve(result); }, timeout); _promises.default.resolvePtr(domain).then(records => { clearTimeout(to); result.records = records; resolve(result); }).catch(error => { if (error.code != 'ENODATA') { result.error = error.code; } resolve(result); }); }); } async function naptr(domain, timeout = 2000) { let result = { error: undefined, type: 'DNS/NAPTR', domain: domain, records: [] }; return new Promise((resolve, reject) => { let to = setTimeout(() => { result.error = 'ETIMEDOUT'; resolve(result); }, timeout); _promises.default.resolveNaptr(domain).then(records => { clearTimeout(to); result.records = records; resolve(result); }).catch(error => { if (error.code != 'ENODATA') { result.error = error.code; } resolve(result); }); }); } async function reverse(ip, timeout = 2000) { let result = { error: undefined, type: 'DNS/REVERSE', ip: ip, records: [] }; return new Promise((resolve, reject) => { let to = setTimeout(() => { result.error = 'ETIMEDOUT'; resolve(result); }, timeout); _promises.default.reverse(ip).then(records => { clearTimeout(to); result.records = records; resolve(result); }).catch(error => { if (error.code != 'ENODATA') { result.error = error.code; } resolve(result); }); }); } async function lookup(domain, timeout = 2000) { let result = { error: undefined, type: 'DNS/LOOKUP', domain: domain, records: {} }; return new Promise((resolve, reject) => { let to = setTimeout(() => { result.error = 'ETIMEDOUT'; resolve(result); }, timeout); _promises.default.lookup(domain).then(records => { clearTimeout(to); result.records = records; resolve(result); }).catch(error => { if (error.code != 'ENODATA') { result.error = error.code; } resolve(result); }); }); }