Skip to content

Commit 06c82df

Browse files
committed
lib: update validator jdoc declarations
1 parent 16d2a85 commit 06c82df

File tree

1 file changed

+88
-15
lines changed

1 file changed

+88
-15
lines changed

lib/internal/validators.js

Lines changed: 88 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,12 @@ function parseFileMode(value, name, def) {
7171
}
7272

7373
/**
74-
* @type {(function(unknown, string, number=, number=): void)}
74+
* @function validateInteger
75+
* @param {*} value
76+
* @param {string} name
77+
* @param {number} [min]
78+
* @param {number} [max]
79+
* @returns {asserts value is number}
7580
*/
7681
const validateInteger = hideStackFrames(
7782
(value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) => {
@@ -85,7 +90,12 @@ const validateInteger = hideStackFrames(
8590
);
8691

8792
/**
88-
* @type {(function(unknown, string, number=, number=): void)}
93+
* @function validateInt32
94+
* @param {*} value
95+
* @param {string} name
96+
* @param {number} [min]
97+
* @param {number} [max]
98+
* @returns {asserts value is number}
8999
*/
90100
const validateInt32 = hideStackFrames(
91101
(value, name, min = -2147483648, max = 2147483647) => {
@@ -103,7 +113,12 @@ const validateInt32 = hideStackFrames(
103113
);
104114

105115
/**
106-
* @type {(function(unknown, string, boolean=): void)}
116+
* @function validateUint32
117+
* @param {*} value
118+
* @param {string} name
119+
* @param {number} [min]
120+
* @param {number} [max]
121+
* @returns {asserts value is number}
107122
*/
108123
const validateUint32 = hideStackFrames((value, name, positive = false) => {
109124
if (typeof value !== 'number') {
@@ -120,11 +135,25 @@ const validateUint32 = hideStackFrames((value, name, positive = false) => {
120135
}
121136
});
122137

138+
/**
139+
* @function validateString
140+
* @param {*} value
141+
* @param {string} name
142+
* @returns {asserts value is string}
143+
*/
123144
function validateString(value, name) {
124145
if (typeof value !== 'string')
125146
throw new ERR_INVALID_ARG_TYPE(name, 'string', value);
126147
}
127148

149+
/**
150+
* @function validateNumber
151+
* @param {*} value
152+
* @param {string} name
153+
* @param {number} [min]
154+
* @param {number} [max]
155+
* @returns {asserts value is number}
156+
*/
128157
function validateNumber(value, name, min = undefined, max) {
129158
if (typeof value !== 'number')
130159
throw new ERR_INVALID_ARG_TYPE(name, 'number', value);
@@ -139,7 +168,11 @@ function validateNumber(value, name, min = undefined, max) {
139168
}
140169

141170
/**
142-
* @type {(function(unknown, string, unknown[]): void)}
171+
* @function validateOneOf
172+
* @template T
173+
* @param {T} value
174+
* @param {string} name
175+
* @param {T[]} oneOf
143176
*/
144177
const validateOneOf = hideStackFrames((value, name, oneOf) => {
145178
if (!ArrayPrototypeIncludes(oneOf, value)) {
@@ -152,6 +185,12 @@ const validateOneOf = hideStackFrames((value, name, oneOf) => {
152185
}
153186
});
154187

188+
/**
189+
* @function validateBoolean
190+
* @param {*} value
191+
* @param {string} name
192+
* @returns {asserts value is boolean}
193+
*/
155194
function validateBoolean(value, name) {
156195
if (typeof value !== 'boolean')
157196
throw new ERR_INVALID_ARG_TYPE(name, 'boolean', value);
@@ -164,11 +203,10 @@ function getOwnPropertyValueOrDefault(options, key, defaultValue) {
164203
}
165204

166205
/**
167-
* @type {(function(unknown, string, {
168-
* allowArray?: boolean,
169-
* allowFunction?: boolean,
170-
* nullable?: boolean
171-
* }): void)}
206+
* @function validateObject
207+
* @param {*} value
208+
* @param {string} name
209+
* @param {{allowArray: boolean=, allowFunction: boolean=, nullable: boolean=}} [options]
172210
*/
173211
const validateObject = hideStackFrames(
174212
(value, name, options) => {
@@ -185,7 +223,11 @@ const validateObject = hideStackFrames(
185223
});
186224

187225
/**
188-
* @type {(function(unknown, string, number=): void)}
226+
* @function validateArray
227+
* @param {*} value
228+
* @param {string} name
229+
* @param {number} [minLength]
230+
* @returns {asserts value is unknown[]}
189231
*/
190232
const validateArray = hideStackFrames((value, name, minLength = 0) => {
191233
if (!ArrayIsArray(value)) {
@@ -197,6 +239,12 @@ const validateArray = hideStackFrames((value, name, minLength = 0) => {
197239
}
198240
});
199241

242+
/**
243+
* @function validateSignalName
244+
* @param {*} signal
245+
* @param {string} name
246+
* @returns {asserts signal is keyof signals}
247+
*/
200248
function validateSignalName(signal, name = 'signal') {
201249
validateString(signal, name);
202250

@@ -211,7 +259,9 @@ function validateSignalName(signal, name = 'signal') {
211259
}
212260

213261
/**
214-
* @type {(function(unknown, string=): void)}
262+
* @function validateBuffer
263+
* @param {*} buffer
264+
* @param {string} [name='buffer']
215265
*/
216266
const validateBuffer = hideStackFrames((buffer, name = 'buffer') => {
217267
if (!isArrayBufferView(buffer)) {
@@ -221,6 +271,11 @@ const validateBuffer = hideStackFrames((buffer, name = 'buffer') => {
221271
}
222272
});
223273

274+
/**
275+
* @function validateEncoding
276+
* @param {string} data
277+
* @param {string} encoding
278+
*/
224279
function validateEncoding(data, encoding) {
225280
const normalizedEncoding = normalizeEncoding(encoding);
226281
const length = data.length;
@@ -245,7 +300,9 @@ function validatePort(port, name = 'Port', allowZero = true) {
245300
}
246301

247302
/**
248-
* @type {(function(unknown, string): void)}
303+
* @function validateAbortSignal
304+
* @param {string} signal
305+
* @param {string} name
249306
*/
250307
const validateAbortSignal = hideStackFrames((signal, name) => {
251308
if (signal !== undefined &&
@@ -257,29 +314,45 @@ const validateAbortSignal = hideStackFrames((signal, name) => {
257314
});
258315

259316
/**
260-
* @type {(function(unknown, string): void)}
317+
* @function validateFunction
318+
* @param {*} value
319+
* @param {string} name
320+
* @returns {asserts value is Function}
261321
*/
262322
const validateFunction = hideStackFrames((value, name) => {
263323
if (typeof value !== 'function')
264324
throw new ERR_INVALID_ARG_TYPE(name, 'Function', value);
265325
});
266326

267327
/**
268-
* @type {(function(unknown, string): void)}
328+
* @function validatePlainFunction
329+
* @param {*} value
330+
* @param {string} name
331+
* @returns {asserts value is Function}
269332
*/
270333
const validatePlainFunction = hideStackFrames((value, name) => {
271334
if (typeof value !== 'function' || isAsyncFunction(value))
272335
throw new ERR_INVALID_ARG_TYPE(name, 'Function', value);
273336
});
274337

275338
/**
276-
* @type {(function(unknown, string): void)}
339+
* @function validateUndefined
340+
* @param {*} value
341+
* @param {string} name
342+
* @returns {asserts name is undefined}
277343
*/
278344
const validateUndefined = hideStackFrames((value, name) => {
279345
if (value !== undefined)
280346
throw new ERR_INVALID_ARG_TYPE(name, 'undefined', value);
281347
});
282348

349+
/**
350+
* @function validateUnion
351+
* @template T
352+
* @param {T} value
353+
* @param {string} name
354+
* @param {T[]} union
355+
*/
283356
function validateUnion(value, name, union) {
284357
if (!ArrayPrototypeIncludes(union, value)) {
285358
throw new ERR_INVALID_ARG_TYPE(name, `('${ArrayPrototypeJoin(union, '|')}')`, value);

0 commit comments

Comments
 (0)