Skip to content

Commit 4fe9916

Browse files
deokjinkimtargos
authored andcommitted
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: #57386 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com> Reviewed-By: Zijian Liu <lxxyxzj@gmail.com>
1 parent 323e3ac commit 4fe9916

File tree

3 files changed

+12
-6
lines changed

3 files changed

+12
-6
lines changed

lib/dns.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ const {
4646
getDefaultResultOrder,
4747
setDefaultResultOrder,
4848
errorCodes: dnsErrorCodes,
49+
validDnsOrders,
50+
validFamilies,
4951
} = require('internal/dns/utils');
5052
const {
5153
Resolver,
@@ -138,7 +140,6 @@ function onlookupall(err, addresses) {
138140

139141
// Easy DNS A/AAAA look up
140142
// lookup(hostname, [options,] callback)
141-
const validFamilies = [0, 4, 6];
142143
function lookup(hostname, options, callback) {
143144
let hints = 0;
144145
let family = 0;
@@ -192,7 +193,7 @@ function lookup(hostname, options, callback) {
192193
dnsOrder = options.verbatim ? 'verbatim' : 'ipv4first';
193194
}
194195
if (options?.order != null) {
195-
validateOneOf(options.order, 'options.order', ['ipv4first', 'ipv6first', 'verbatim']);
196+
validateOneOf(options.order, 'options.order', validDnsOrders);
196197
dnsOrder = options.order;
197198
}
198199
}

lib/internal/dns/promises.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ const {
1616
getDefaultResultOrder,
1717
setDefaultResultOrder,
1818
setDefaultResolver,
19+
validDnsOrders,
20+
validFamilies,
1921
} = require('internal/dns/utils');
2022

2123
const {
@@ -179,7 +181,6 @@ function createLookupPromise(family, hostname, all, hints, dnsOrder) {
179181
});
180182
}
181183

182-
const validFamilies = [0, 4, 6];
183184
/**
184185
* Get the IP address for a given hostname.
185186
* @param {string} hostname - The hostname to resolve (ex. 'nodejs.org').
@@ -227,7 +228,7 @@ function lookup(hostname, options) {
227228
dnsOrder = options.verbatim ? 'verbatim' : 'ipv4first';
228229
}
229230
if (options?.order != null) {
230-
validateOneOf(options.order, 'options.order', ['ipv4first', 'ipv6first', 'verbatim']);
231+
validateOneOf(options.order, 'options.order', validDnsOrders);
231232
dnsOrder = options.order;
232233
}
233234
}

lib/internal/dns/utils.js

+6-2
Original file line numberDiff line numberDiff line change
@@ -201,14 +201,16 @@ class ResolverBase {
201201

202202
let defaultResolver;
203203
let dnsOrder;
204+
const validDnsOrders = ['verbatim', 'ipv4first', 'ipv6first'];
205+
const validFamilies = [0, 4, 6];
204206

205207
function initializeDns() {
206208
const orderFromCLI = getOptionValue('--dns-result-order');
207209
if (!orderFromCLI) {
208210
dnsOrder ??= 'verbatim';
209211
} else {
210212
// Allow the deserialized application to override order from CLI.
211-
validateOneOf(orderFromCLI, '--dns-result-order', ['verbatim', 'ipv4first', 'ipv6first']);
213+
validateOneOf(orderFromCLI, '--dns-result-order', validDnsOrders);
212214
dnsOrder = orderFromCLI;
213215
}
214216

@@ -281,7 +283,7 @@ function emitInvalidHostnameWarning(hostname) {
281283
}
282284

283285
function setDefaultResultOrder(value) {
284-
validateOneOf(value, 'dnsOrder', ['verbatim', 'ipv4first', 'ipv6first']);
286+
validateOneOf(value, 'dnsOrder', validDnsOrders);
285287
dnsOrder = value;
286288
}
287289

@@ -356,4 +358,6 @@ module.exports = {
356358
errorCodes,
357359
createResolverClass,
358360
initializeDns,
361+
validDnsOrders,
362+
validFamilies,
359363
};

0 commit comments

Comments
 (0)