timers: support name in validateTimerDuration()
Allow passing a name to validateTimerDuration() so that error messages can reflect the name of the thing being validated. PR-URL: https://github.com/nodejs/node/pull/26215 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Anatoli Papirovski <apapirovski@mac.com> Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
parent
4804a18812
commit
a1d05e49fe
@ -737,7 +737,7 @@ ClientRequest.prototype.setTimeout = function setTimeout(msecs, callback) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
listenSocketTimeout(this);
|
listenSocketTimeout(this);
|
||||||
msecs = validateTimerDuration(msecs);
|
msecs = validateTimerDuration(msecs, 'msecs');
|
||||||
if (callback) this.once('timeout', callback);
|
if (callback) this.once('timeout', callback);
|
||||||
|
|
||||||
if (this.socket) {
|
if (this.socket) {
|
||||||
|
@ -196,7 +196,7 @@ function setStreamTimeout(msecs, callback) {
|
|||||||
this.timeout = msecs;
|
this.timeout = msecs;
|
||||||
|
|
||||||
// Type checking identical to timers.enroll()
|
// Type checking identical to timers.enroll()
|
||||||
msecs = validateTimerDuration(msecs);
|
msecs = validateTimerDuration(msecs, 'msecs');
|
||||||
|
|
||||||
// Attempt to clear an existing timer in both cases -
|
// Attempt to clear an existing timer in both cases -
|
||||||
// even if it will be rescheduled we don't want to leak an existing timer.
|
// even if it will be rescheduled we don't want to leak an existing timer.
|
||||||
|
@ -136,10 +136,10 @@ function setUnrefTimeout(callback, after, arg1, arg2, arg3) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Type checking used by timers.enroll() and Socket#setTimeout()
|
// Type checking used by timers.enroll() and Socket#setTimeout()
|
||||||
function validateTimerDuration(msecs) {
|
function validateTimerDuration(msecs, name) {
|
||||||
validateNumber(msecs, 'msecs');
|
validateNumber(msecs, name);
|
||||||
if (msecs < 0 || !isFinite(msecs)) {
|
if (msecs < 0 || !isFinite(msecs)) {
|
||||||
throw new ERR_OUT_OF_RANGE('msecs', 'a non-negative finite number', msecs);
|
throw new ERR_OUT_OF_RANGE(name, 'a non-negative finite number', msecs);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ensure that msecs fits into signed int32
|
// Ensure that msecs fits into signed int32
|
||||||
|
@ -408,7 +408,7 @@ exports.unenroll = util.deprecate(unenroll,
|
|||||||
// This function does not start the timer, see `active()`.
|
// This function does not start the timer, see `active()`.
|
||||||
// Using existing objects as timers slightly reduces object overhead.
|
// Using existing objects as timers slightly reduces object overhead.
|
||||||
function enroll(item, msecs) {
|
function enroll(item, msecs) {
|
||||||
msecs = validateTimerDuration(msecs);
|
msecs = validateTimerDuration(msecs, 'msecs');
|
||||||
|
|
||||||
// if this item was already in a list somewhere
|
// if this item was already in a list somewhere
|
||||||
// then we should unenroll it from that
|
// then we should unenroll it from that
|
||||||
|
Loading…
x
Reference in New Issue
Block a user