Skip to content

Commit

Permalink
lib: refactor to use validateString
Browse files Browse the repository at this point in the history
PR-URL: #37006
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
  • Loading branch information
Lxxyx authored and MylesBorins committed Aug 31, 2021
1 parent 0202ba4 commit 7f54ccc
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 56 deletions.
10 changes: 4 additions & 6 deletions lib/child_process.js
Original file line number Diff line number Diff line change
Expand Up @@ -509,9 +509,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 All @@ -538,9 +537,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 @@ -872,13 +872,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 @@ -895,13 +890,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
30 changes: 10 additions & 20 deletions lib/internal/blocklist.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,10 @@ const kHandle = Symbol('kHandle');
const { owner_symbol } = internalBinding('symbols');

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

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

class BlockList extends JSTransferable {
constructor() {
Expand All @@ -56,10 +55,8 @@ class BlockList extends JSTransferable {
}

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 @@ -68,12 +65,9 @@ class BlockList extends JSTransferable {
}

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 @@ -84,10 +78,8 @@ class BlockList extends JSTransferable {
}

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 @@ -106,10 +98,8 @@ class BlockList extends JSTransferable {
}

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
13 changes: 6 additions & 7 deletions lib/internal/dns/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,10 @@ const {

const errors = require('internal/errors');
const { isIP } = require('internal/net');
const { validateInt32 } = require('internal/validators');
const {
validateInt32,
validateString,
} = require('internal/validators');
const {
ChannelWrap,
strerror,
Expand Down Expand Up @@ -71,9 +74,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 @@ -121,9 +122,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 @@ -28,7 +28,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 @@ -487,9 +487,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

0 comments on commit 7f54ccc

Please sign in to comment.