Skip to content

Commit

Permalink
dns: refactor and use validators
Browse files Browse the repository at this point in the history
The logical NOT operator and validators should be used where
appropriate.

PR-URL: #40022
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Qingyu Deng <i@ayase-lab.com>
  • Loading branch information
VoltrexKeyva authored and targos committed Sep 18, 2021
1 parent f4292bc commit 7c77db0
Showing 1 changed file with 11 additions and 10 deletions.
21 changes: 11 additions & 10 deletions lib/internal/dns/promises.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ const {
QueryReqWrap
} = internalBinding('cares_wrap');
const {
ERR_INVALID_ARG_TYPE,
ERR_INVALID_ARG_VALUE,
ERR_MISSING_ARGS,
} = codes;
Expand All @@ -45,7 +44,7 @@ function onlookup(err, addresses) {
return;
}

const family = this.family ? this.family : isIP(addresses[0]);
const family = this.family || isIP(addresses[0]);
this.resolve({ address: addresses[0], family });
}

Expand All @@ -62,7 +61,7 @@ function onlookupall(err, addresses) {

addresses[i] = {
address,
family: family ? family : isIP(addresses[i])
family: family || isIP(addresses[i])
};
}

Expand Down Expand Up @@ -108,9 +107,11 @@ function lookup(hostname, options) {
var verbatim = getDefaultVerbatim();

// Parse arguments
if (hostname && typeof hostname !== 'string') {
throw new ERR_INVALID_ARG_TYPE('hostname', 'string', hostname);
} else if (options !== null && typeof options === 'object') {
if (hostname) {
validateString(hostname, 'hostname');
}

if (options !== null && typeof options === 'object') {
if (options.hints != null && typeof options.hints !== 'number') {
emitTypeCoercionDeprecationWarning();
}
Expand Down Expand Up @@ -257,15 +258,15 @@ Resolver.prototype.reverse = resolver('getHostByAddr');
Resolver.prototype.resolve = function resolve(hostname, rrtype) {
var resolver;

if (typeof rrtype === 'string') {
if (rrtype !== undefined) {
validateString(rrtype, 'rrtype');

resolver = resolveMap[rrtype];

if (typeof resolver !== 'function')
throw new ERR_INVALID_ARG_VALUE('rrtype', rrtype);
} else if (rrtype === undefined) {
resolver = resolveMap.A;
} else {
throw new ERR_INVALID_ARG_TYPE('rrtype', 'string', rrtype);
resolver = resolveMap.A;
}

return ReflectApply(resolver, this, [hostname]);
Expand Down

0 comments on commit 7c77db0

Please sign in to comment.