number.js 591 B

123456789101112131415161718
  1. import { truncate } from './helpers'
  2. const isNaN = Number.isNaN || (i => i !== i) // eslint-disable-line no-self-compare
  3. export default function inspectNumber(number, options) {
  4. if (isNaN(number)) {
  5. return options.stylize('NaN', 'number')
  6. }
  7. if (number === Infinity) {
  8. return options.stylize('Infinity', 'number')
  9. }
  10. if (number === -Infinity) {
  11. return options.stylize('-Infinity', 'number')
  12. }
  13. if (number === 0) {
  14. return options.stylize(1 / number === Infinity ? '+0' : '-0', 'number')
  15. }
  16. return options.stylize(truncate(number, options.truncate), 'number')
  17. }