UNPKG

diggy

Version:

Multi-backend DNS resolver for Node.js/Browser — supports dig, DNS over HTTPS, and native Node.js DNS.

50 lines (49 loc) 1.91 kB
import { type BuildInDNSResolver } from "./get-resolver"; import type { DNSResolver } from "./resolvers/DNSResolver"; import type { AnyDNSRecord } from "./types"; /** * Fetches DNS records for a given `host` and type. When no `type` is specified, * it retrieves all available DNS records for the host. * * @example Fetch all DNS records for a host * ```ts * import { getDnsRecords } from "diggy"; * const records = await getDnsRecords("example.com"); * console.log(records); * ``` * * @example Get A records for a host * ```ts * import { getDnsRecords } from "diggy"; * const aRecords = await getDnsRecords("example.com", "A"); * console.log(aRecords); * ``` * * @example Change the DNS resolver (built-in resolvers) * ```ts * import { getDnsRecords } from "diggy"; * const records = await getDnsRecords("example.com", "A", "google"); * console.log(records); * ``` * * @example Use Node.js DNS resolver * ```ts * import { getDnsRecords } from "diggy"; * const records = await getDnsRecords("example.com", "A", "nodejs"); * console.log(records); * ``` * * @example Use a custom DNS resolver * ```ts * import { getDnsRecords } from "diggy"; * import { customResolver } from "./my-custom-resolver"; * const records = await getDnsRecords("example.com", "A", customResolver); * console.log(records); * ``` * * @param host - The domain or host for which to fetch DNS records e.g. "example.com". * @param type - The type of DNS record to fetch (e.g., "A", "AAAA", "MX"). If not specified, all records will be fetched. * @param resolver - The DNS resolver to use. It can be a built-in resolver name (like "google" or "cloudflare"), a custom resolver function, or a string URL for a DoH resolver. * @group Main Functions */ export declare function getDnsRecords(host: string, type?: string, resolver?: string | BuildInDNSResolver | DNSResolver): Promise<AnyDNSRecord[]>;