- CLI entry point with yargs parsing for speckl-compile <file> --output-dir --bom-format - TypeScript parser with AST types for all SpeckDL primitives - Generator for PROV-O JSON-LD provenance graphs - Generator for CycloneDX v1.6 BOMs - Generator for SPDX 3.0.1 BOMs - E2E test verifying RetryHandler.speck parsing and all output formats All tests pass.
17 lines
642 B
JavaScript
17 lines
642 B
JavaScript
import { truncate } from './helpers.js';
|
|
const isNaN = Number.isNaN || (i => i !== i); // eslint-disable-line no-self-compare
|
|
export default function inspectNumber(number, options) {
|
|
if (isNaN(number)) {
|
|
return options.stylize('NaN', 'number');
|
|
}
|
|
if (number === Infinity) {
|
|
return options.stylize('Infinity', 'number');
|
|
}
|
|
if (number === -Infinity) {
|
|
return options.stylize('-Infinity', 'number');
|
|
}
|
|
if (number === 0) {
|
|
return options.stylize(1 / number === Infinity ? '+0' : '-0', 'number');
|
|
}
|
|
return options.stylize(truncate(String(number), options.truncate), 'number');
|
|
}
|