* @param {{ * lowest? : number, * highest? : number, * figures? : number * }} [options] * @returns {RecordableHistogram}
(options = kEmptyObject)
| 365 | * @returns {RecordableHistogram} |
| 366 | */ |
| 367 | function createHistogram(options = kEmptyObject) { |
| 368 | validateObject(options, 'options'); |
| 369 | const { |
| 370 | lowest = 1, |
| 371 | highest = NumberMAX_SAFE_INTEGER, |
| 372 | figures = 3, |
| 373 | } = options; |
| 374 | if (typeof lowest !== 'bigint') |
| 375 | validateInteger(lowest, 'options.lowest', 1, NumberMAX_SAFE_INTEGER); |
| 376 | if (typeof highest !== 'bigint') { |
| 377 | validateInteger(highest, 'options.highest', |
| 378 | 2 * lowest, NumberMAX_SAFE_INTEGER); |
| 379 | } else if (highest < 2n * lowest) { |
| 380 | throw new ERR_INVALID_ARG_VALUE.RangeError('options.highest', highest); |
| 381 | } |
| 382 | validateInteger(figures, 'options.figures', 1, 5); |
| 383 | return createRecordableHistogram(new _Histogram(lowest, highest, figures)); |
| 384 | } |
| 385 | |
| 386 | module.exports = { |
| 387 | Histogram, |
no test coverage detected
searching dependent graphs…