diggy
Version:
Multi-backend DNS resolver for Node.js/Browser — supports dig, DNS over HTTPS, and native Node.js DNS.
36 lines (35 loc) • 1.4 kB
TypeScript
import type { DNSResolver } from "./resolvers/DNSResolver";
/**
* Represents the built-in DNS resolvers available in the library.
* @enum {string}
* @property {string} nodejs - Uses Node.js's built-in DNS resolver.
* @property {string} dig - Uses the `dig` command-line tool for DNS resolution.
* @property {string} google - Uses Google's DNS over HTTPS (DoH) resolver.
* @property {string} cloudflare - Uses Cloudflare's DNS over HTTPS (DoH) resolver.
* @group Resolvers
*/
export declare enum BuildInDNSResolver {
nodejs = "nodejs",
dig = "dig",
google = "google",
cloudflare = "cloudflare"
}
/**
* Returns a DNS resolver function based on the provided resolver name or function.
*
* If a `string` is provided, it must match one of the built-in resolvers.
* If a `function` is provided, it will be returned as is.
* If no resolver is provided, the default resolver (Google's DoH) will be used
*
* @example
* ```ts
* import { getResolver } from "diggy";
* const resolver = getResolver("google"); // Returns the Google DoH resolver
* ```
*
*
* @param {string | BuildInDNSResolver | DNSResolver} [resolver] - The name of the built-in resolver or a custom resolver function.
* @return {DNSResolver} The DNS resolver function.
* @group Main Functions
*/
export declare function getResolver(resolver?: string | BuildInDNSResolver | DNSResolver): DNSResolver;