dns: remove redundant code using common variable

`validFamilies` variable is defined 2 times, so remove
redundant code by defining `validFamilies` in util. Plus,
apply the same approach to `validDnsOrders` because it's
also used multiple times.

PR-URL: https://github.com/nodejs/node/pull/57386
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com>
Reviewed-By: Zijian Liu <lxxyxzj@gmail.com>
This commit is contained in:
Deokjin Kim 2025-03-11 22:54:00 +09:00 committed by GitHub
parent 6156bbb399
commit baf989ba11
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 12 additions and 6 deletions

View File

@ -46,6 +46,8 @@ const {
getDefaultResultOrder,
setDefaultResultOrder,
errorCodes: dnsErrorCodes,
validDnsOrders,
validFamilies,
} = require('internal/dns/utils');
const {
Resolver,
@ -138,7 +140,6 @@ function onlookupall(err, addresses) {
// Easy DNS A/AAAA look up
// lookup(hostname, [options,] callback)
const validFamilies = [0, 4, 6];
function lookup(hostname, options, callback) {
let hints = 0;
let family = 0;
@ -192,7 +193,7 @@ function lookup(hostname, options, callback) {
dnsOrder = options.verbatim ? 'verbatim' : 'ipv4first';
}
if (options?.order != null) {
validateOneOf(options.order, 'options.order', ['ipv4first', 'ipv6first', 'verbatim']);
validateOneOf(options.order, 'options.order', validDnsOrders);
dnsOrder = options.order;
}
}

View File

@ -16,6 +16,8 @@ const {
getDefaultResultOrder,
setDefaultResultOrder,
setDefaultResolver,
validDnsOrders,
validFamilies,
} = require('internal/dns/utils');
const {
@ -179,7 +181,6 @@ function createLookupPromise(family, hostname, all, hints, dnsOrder) {
});
}
const validFamilies = [0, 4, 6];
/**
* Get the IP address for a given hostname.
* @param {string} hostname - The hostname to resolve (ex. 'nodejs.org').
@ -227,7 +228,7 @@ function lookup(hostname, options) {
dnsOrder = options.verbatim ? 'verbatim' : 'ipv4first';
}
if (options?.order != null) {
validateOneOf(options.order, 'options.order', ['ipv4first', 'ipv6first', 'verbatim']);
validateOneOf(options.order, 'options.order', validDnsOrders);
dnsOrder = options.order;
}
}

View File

@ -201,6 +201,8 @@ class ResolverBase {
let defaultResolver;
let dnsOrder;
const validDnsOrders = ['verbatim', 'ipv4first', 'ipv6first'];
const validFamilies = [0, 4, 6];
function initializeDns() {
const orderFromCLI = getOptionValue('--dns-result-order');
@ -208,7 +210,7 @@ function initializeDns() {
dnsOrder ??= 'verbatim';
} else {
// Allow the deserialized application to override order from CLI.
validateOneOf(orderFromCLI, '--dns-result-order', ['verbatim', 'ipv4first', 'ipv6first']);
validateOneOf(orderFromCLI, '--dns-result-order', validDnsOrders);
dnsOrder = orderFromCLI;
}
@ -281,7 +283,7 @@ function emitInvalidHostnameWarning(hostname) {
}
function setDefaultResultOrder(value) {
validateOneOf(value, 'dnsOrder', ['verbatim', 'ipv4first', 'ipv6first']);
validateOneOf(value, 'dnsOrder', validDnsOrders);
dnsOrder = value;
}
@ -356,4 +358,6 @@ module.exports = {
errorCodes,
createResolverClass,
initializeDns,
validDnsOrders,
validFamilies,
};