Skip to content

Commit f315403

Browse files
deokjinkimmarco-ippolito
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 <[email protected]> Reviewed-By: Daeyeon Jeong <[email protected]> Reviewed-By: Zijian Liu <[email protected]>
1 parent af68a4c commit f315403

File tree

3 files changed

+12
-6
lines changed

3 files changed

+12
-6
lines changed

lib/dns.js

Lines changed: 3 additions & 2 deletions
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

Lines changed: 3 additions & 2 deletions
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 {
@@ -177,7 +179,6 @@ function createLookupPromise(family, hostname, all, hints, dnsOrder) {
177179
});
178180
}
179181

180-
const validFamilies = [0, 4, 6];
181182
/**
182183
* Get the IP address for a given hostname.
183184
* @param {string} hostname - The hostname to resolve (ex. 'nodejs.org').
@@ -225,7 +226,7 @@ function lookup(hostname, options) {
225226
dnsOrder = options.verbatim ? 'verbatim' : 'ipv4first';
226227
}
227228
if (options?.order != null) {
228-
validateOneOf(options.order, 'options.order', ['ipv4first', 'ipv6first', 'verbatim']);
229+
validateOneOf(options.order, 'options.order', validDnsOrders);
229230
dnsOrder = options.order;
230231
}
231232
}

lib/internal/dns/utils.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,14 +200,16 @@ class ResolverBase {
200200

201201
let defaultResolver;
202202
let dnsOrder;
203+
const validDnsOrders = ['verbatim', 'ipv4first', 'ipv6first'];
204+
const validFamilies = [0, 4, 6];
203205

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

@@ -279,7 +281,7 @@ function emitInvalidHostnameWarning(hostname) {
279281
}
280282

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

@@ -353,4 +355,6 @@ module.exports = {
353355
errorCodes,
354356
createResolverClass,
355357
initializeDns,
358+
validDnsOrders,
359+
validFamilies,
356360
};

0 commit comments

Comments
 (0)