Skip to content

Commit 88d71dc

Browse files
authored
lib: refactor to use min/max of validateNumber
Fix NumberIsNaN is called two times and change error code to ERR_OUT_OF_RANGE when RangeError is occurred in test. PR-URL: #45772 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Darshan Sen <[email protected]>
1 parent bfadee5 commit 88d71dc

File tree

2 files changed

+4
-11
lines changed

2 files changed

+4
-11
lines changed

lib/internal/histogram.js

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
const {
44
MapPrototypeEntries,
55
NumberIsNaN,
6-
NumberIsInteger,
76
NumberMAX_SAFE_INTEGER,
87
ObjectFromEntries,
98
ReflectConstruct,
@@ -186,9 +185,8 @@ class Histogram {
186185
if (!isHistogram(this))
187186
throw new ERR_INVALID_THIS('Histogram');
188187
validateNumber(percentile, 'percentile');
189-
190188
if (NumberIsNaN(percentile) || percentile <= 0 || percentile > 100)
191-
throw new ERR_INVALID_ARG_VALUE.RangeError('percentile', percentile);
189+
throw new ERR_OUT_OF_RANGE('percentile', '> 0 && <= 100', percentile);
192190

193191
return this[kHandle]?.percentile(percentile);
194192
}
@@ -201,9 +199,8 @@ class Histogram {
201199
if (!isHistogram(this))
202200
throw new ERR_INVALID_THIS('Histogram');
203201
validateNumber(percentile, 'percentile');
204-
205202
if (NumberIsNaN(percentile) || percentile <= 0 || percentile > 100)
206-
throw new ERR_INVALID_ARG_VALUE.RangeError('percentile', percentile);
203+
throw new ERR_OUT_OF_RANGE('percentile', '> 0 && <= 100', percentile);
207204

208205
return this[kHandle]?.percentileBigInt(percentile);
209206
}
@@ -283,11 +280,7 @@ class RecordableHistogram extends Histogram {
283280
return;
284281
}
285282

286-
if (!NumberIsInteger(val))
287-
throw new ERR_INVALID_ARG_TYPE('val', ['integer', 'bigint'], val);
288-
289-
if (val < 1 || val > NumberMAX_SAFE_INTEGER)
290-
throw new ERR_OUT_OF_RANGE('val', 'a safe integer greater than 0', val);
283+
validateInteger(val, 'val', 1);
291284

292285
this[kHandle]?.record(val);
293286
}

test/sequential/test-performance-eventloopdelay.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ const { sleep } = require('internal/util');
9191
() => histogram.percentile(i),
9292
{
9393
name: 'RangeError',
94-
code: 'ERR_INVALID_ARG_VALUE'
94+
code: 'ERR_OUT_OF_RANGE'
9595
}
9696
);
9797
});

0 commit comments

Comments
 (0)