Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lib: refactor to use validateString #37006

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions lib/_tls_common.js
Original file line number Diff line number Diff line change
Expand Up @@ -228,8 +228,7 @@ exports.createSecureContext = function createSecureContext(options) {
}

if (sigalgs !== undefined) {
if (typeof sigalgs !== 'string')
throw new ERR_INVALID_ARG_TYPE('options.sigalgs', 'string', sigalgs);
validateString(sigalgs, 'options.sigalgs');

if (sigalgs === '')
throw new ERR_INVALID_ARG_VALUE('options.sigalgs', sigalgs);
Expand Down
10 changes: 4 additions & 6 deletions lib/child_process.js
Original file line number Diff line number Diff line change
Expand Up @@ -474,9 +474,8 @@ function normalizeSpawnArguments(file, args, options) {
throw new ERR_INVALID_ARG_TYPE('options', 'object', options);

// Validate the cwd, if present.
if (options.cwd != null &&
typeof options.cwd !== 'string') {
throw new ERR_INVALID_ARG_TYPE('options.cwd', 'string', options.cwd);
if (options.cwd != null) {
validateString(options.cwd, 'options.cwd');
}

// Validate detached, if present.
Expand Down Expand Up @@ -505,9 +504,8 @@ function normalizeSpawnArguments(file, args, options) {
}

// Validate argv0, if present.
if (options.argv0 != null &&
typeof options.argv0 !== 'string') {
throw new ERR_INVALID_ARG_TYPE('options.argv0', 'string', options.argv0);
if (options.argv0 != null) {
validateString(options.argv0, 'options.argv0');
}

// Validate windowsHide, if present.
Expand Down
18 changes: 4 additions & 14 deletions lib/dgram.js
Original file line number Diff line number Diff line change
Expand Up @@ -856,13 +856,8 @@ Socket.prototype.addSourceSpecificMembership = function(sourceAddress,
interfaceAddress) {
healthCheck(this);

if (typeof sourceAddress !== 'string') {
throw new ERR_INVALID_ARG_TYPE('sourceAddress', 'string', sourceAddress);
}

if (typeof groupAddress !== 'string') {
throw new ERR_INVALID_ARG_TYPE('groupAddress', 'string', groupAddress);
}
validateString(sourceAddress, 'sourceAddress');
validateString(groupAddress, 'groupAddress');

const err =
this[kStateSymbol].handle.addSourceSpecificMembership(sourceAddress,
Expand All @@ -879,13 +874,8 @@ Socket.prototype.dropSourceSpecificMembership = function(sourceAddress,
interfaceAddress) {
healthCheck(this);

if (typeof sourceAddress !== 'string') {
throw new ERR_INVALID_ARG_TYPE('sourceAddress', 'string', sourceAddress);
}

if (typeof groupAddress !== 'string') {
throw new ERR_INVALID_ARG_TYPE('groupAddress', 'string', groupAddress);
}
validateString(sourceAddress, 'sourceAddress');
validateString(groupAddress, 'groupAddress');

const err =
this[kStateSymbol].handle.dropSourceSpecificMembership(sourceAddress,
Expand Down
4 changes: 2 additions & 2 deletions lib/dns.js
Original file line number Diff line number Diff line change
Expand Up @@ -99,8 +99,8 @@ function lookup(hostname, options, callback) {
let verbatim = false;

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

if (typeof options === 'function') {
Expand Down
29 changes: 10 additions & 19 deletions lib/internal/blocklist.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ const {
ERR_INVALID_ARG_VALUE,
} = require('internal/errors').codes;

const { validateInt32 } = require('internal/validators');
const { validateInt32, validateString } = require('internal/validators');

class BlockList {
constructor(handle = new BlockListHandle()) {
Expand Down Expand Up @@ -52,10 +52,8 @@ class BlockList {
}

addAddress(address, family = 'ipv4') {
if (typeof address !== 'string')
throw new ERR_INVALID_ARG_TYPE('address', 'string', address);
if (typeof family !== 'string')
throw new ERR_INVALID_ARG_TYPE('family', 'string', family);
validateString(address, 'address');
validateString(family, 'family');
family = family.toLowerCase();
if (family !== 'ipv4' && family !== 'ipv6')
throw new ERR_INVALID_ARG_VALUE('family', family);
Expand All @@ -64,12 +62,9 @@ class BlockList {
}

addRange(start, end, family = 'ipv4') {
if (typeof start !== 'string')
throw new ERR_INVALID_ARG_TYPE('start', 'string', start);
if (typeof end !== 'string')
throw new ERR_INVALID_ARG_TYPE('end', 'string', end);
if (typeof family !== 'string')
throw new ERR_INVALID_ARG_TYPE('family', 'string', family);
validateString(start, 'start');
validateString(end, 'end');
validateString(family, 'family');
family = family.toLowerCase();
if (family !== 'ipv4' && family !== 'ipv6')
throw new ERR_INVALID_ARG_VALUE('family', family);
Expand All @@ -80,10 +75,8 @@ class BlockList {
}

addSubnet(network, prefix, family = 'ipv4') {
if (typeof network !== 'string')
throw new ERR_INVALID_ARG_TYPE('network', 'string', network);
if (typeof family !== 'string')
throw new ERR_INVALID_ARG_TYPE('family', 'string', family);
validateString(network, 'network');
validateString(family, 'family');
family = family.toLowerCase();
let type;
switch (family) {
Expand All @@ -102,10 +95,8 @@ class BlockList {
}

check(address, family = 'ipv4') {
if (typeof address !== 'string')
throw new ERR_INVALID_ARG_TYPE('address', 'string', address);
if (typeof family !== 'string')
throw new ERR_INVALID_ARG_TYPE('family', 'string', family);
validateString(address, 'address');
validateString(family, 'family');
family = family.toLowerCase();
if (family !== 'ipv4' && family !== 'ipv6')
throw new ERR_INVALID_ARG_VALUE('family', family);
Expand Down
9 changes: 3 additions & 6 deletions lib/internal/crypto/pbkdf2.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,11 @@ const {
const {
validateCallback,
validateInteger,
validateString,
validateUint32,
} = require('internal/validators');

const {
ERR_INVALID_ARG_TYPE,
ERR_MISSING_OPTION,
} = require('internal/errors').codes;
const { ERR_MISSING_OPTION } = require('internal/errors').codes;

const {
getArrayBufferOrView,
Expand Down Expand Up @@ -86,8 +84,7 @@ function pbkdf2Sync(password, salt, iterations, keylen, digest) {
}

function check(password, salt, iterations, keylen, digest) {
if (typeof digest !== 'string')
throw new ERR_INVALID_ARG_TYPE('digest', 'string', digest);
validateString(digest, 'digest');

password = getArrayBufferOrView(password, 'password');
salt = getArrayBufferOrView(salt, 'salt');
Expand Down
14 changes: 7 additions & 7 deletions lib/internal/dns/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,11 @@ const {

const errors = require('internal/errors');
const { isIP } = require('internal/net');
const { validateArray, validateInt32 } = require('internal/validators');
const {
validateArray,
validateInt32,
validateString,
} = require('internal/validators');
const {
ChannelWrap,
strerror,
Expand Down Expand Up @@ -68,9 +72,7 @@ class Resolver {
const newSet = [];

ArrayPrototypeForEach(servers, (serv, index) => {
if (typeof serv !== 'string') {
throw new ERR_INVALID_ARG_TYPE(`servers[${index}]`, 'string', serv);
}
validateString(serv, `servers[${index}]`);
let ipVersion = isIP(serv);

if (ipVersion !== 0)
Expand Down Expand Up @@ -118,9 +120,7 @@ class Resolver {
}

setLocalAddress(ipv4, ipv6) {
if (typeof ipv4 !== 'string') {
throw new ERR_INVALID_ARG_TYPE('ipv4', 'String', ipv4);
}
validateString(ipv4, 'ipv4');

if (typeof ipv6 !== 'string' && ipv6 !== undefined) {
throw new ERR_INVALID_ARG_TYPE('ipv6', ['String', 'undefined'], ipv6);
Expand Down
6 changes: 2 additions & 4 deletions lib/internal/event_target.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ const {
ERR_INVALID_THIS,
}
} = require('internal/errors');
const { validateObject } = require('internal/validators');
const { validateObject, validateString } = require('internal/validators');

const { customInspectSymbol } = require('internal/util');
const { inspect } = require('util');
Expand Down Expand Up @@ -509,9 +509,7 @@ class NodeEventTarget extends EventTarget {
return this;
}
emit(type, arg) {
if (typeof type !== 'string') {
throw new ERR_INVALID_ARG_TYPE('type', 'string', type);
}
validateString(type, 'type');
const hadListeners = this.listenerCount(type) > 0;
this[kHybridDispatch](arg, type);
return hadListeners;
Expand Down
10 changes: 5 additions & 5 deletions lib/internal/process/warning.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ const {

const assert = require('internal/assert');
const { ERR_INVALID_ARG_TYPE } = require('internal/errors').codes;
const { validateString } = require('internal/validators');

// Lazily loaded
let fs;
Expand Down Expand Up @@ -120,14 +121,13 @@ function emitWarning(warning, type, code, ctor) {
code = undefined;
type = 'Warning';
}
if (type !== undefined && typeof type !== 'string') {
throw new ERR_INVALID_ARG_TYPE('type', 'string', type);
}
if (type !== undefined)
validateString(type, 'type');
if (typeof code === 'function') {
ctor = code;
code = undefined;
} else if (code !== undefined && typeof code !== 'string') {
throw new ERR_INVALID_ARG_TYPE('code', 'string', code);
} else if (code !== undefined) {
validateString(code, 'code');
}
if (typeof warning === 'string') {
warning = createWarningObject(warning, type, code, ctor, detail);
Expand Down