Skip to content

Commit 9d44414

Browse files
committed
lib: refactor to use validateInteger
Use validateInteger for record and revise error code of percentile.
1 parent 89113b8 commit 9d44414

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

lib/internal/histogram.js

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
const {
44
MapPrototypeEntries,
5+
NumberIsNaN,
56
NumberIsInteger,
67
NumberMAX_SAFE_INTEGER,
78
ObjectFromEntries,
@@ -185,7 +186,9 @@ class Histogram {
185186
percentile(percentile) {
186187
if (!isHistogram(this))
187188
throw new ERR_INVALID_THIS('Histogram');
188-
validateNumber(percentile, 'percentile', 1, 100);
189+
validateNumber(percentile, 'percentile');
190+
if (NumberIsNaN(percentile) || percentile <= 0 || percentile > 100)
191+
throw new ERR_OUT_OF_RANGE('percentile', '> 0 && <= 100', percentile);
189192

190193
return this[kHandle]?.percentile(percentile);
191194
}
@@ -197,7 +200,9 @@ class Histogram {
197200
percentileBigInt(percentile) {
198201
if (!isHistogram(this))
199202
throw new ERR_INVALID_THIS('Histogram');
200-
validateNumber(percentile, 'percentile', 1, 100);
203+
validateNumber(percentile, 'percentile');
204+
if (NumberIsNaN(percentile) || percentile <= 0 || percentile > 100)
205+
throw new ERR_OUT_OF_RANGE('percentile', '> 0 && <= 100', percentile);
201206

202207
return this[kHandle]?.percentileBigInt(percentile);
203208
}
@@ -277,11 +282,7 @@ class RecordableHistogram extends Histogram {
277282
return;
278283
}
279284

280-
if (!NumberIsInteger(val))
281-
throw new ERR_INVALID_ARG_TYPE('val', ['integer', 'bigint'], val);
282-
283-
if (val < 1 || val > NumberMAX_SAFE_INTEGER)
284-
throw new ERR_OUT_OF_RANGE('val', 'a safe integer greater than 0', val);
285+
validateInteger(val, 'val', 1);
285286

286287
this[kHandle]?.record(val);
287288
}

0 commit comments

Comments
 (0)