diff options
author | Masashi Hirano <cherrydog07@gmail.com> | 2018-08-03 00:52:27 +0900 |
---|---|---|
committer | Roman Reiss <me@silverwind.io> | 2018-10-09 20:11:48 +0200 |
commit | d71dd97263afc65c5cbf9e08ddc94c13f2479b8c (patch) | |
tree | e10e97425b5df13dd6cf475e77548fc3d3cf2679 /lib/util.js | |
parent | 186ce7e837bde20bd2726d662721a93c95ba24a6 (diff) | |
download | node-new-d71dd97263afc65c5cbf9e08ddc94c13f2479b8c.tar.gz |
util: support BigInt in util.format
`util.format` and `console.log` now support BigInt via the existing
format specifiers `%i` and `%d`.
PR-URL: https://github.com/nodejs/node/pull/22097
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'lib/util.js')
-rw-r--r-- | lib/util.js | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/lib/util.js b/lib/util.js index 27affda109..2e42beb58b 100644 --- a/lib/util.js +++ b/lib/util.js @@ -102,7 +102,13 @@ function formatWithOptions(inspectOptions, f) { tempStr = tryStringify(arguments[a++]); break; case 100: // 'd' - tempStr = `${Number(arguments[a++])}`; + const tempNum = arguments[a++]; + // eslint-disable-next-line valid-typeof + if (typeof tempNum === 'bigint') { + tempStr = `${tempNum}n`; + } else { + tempStr = `${Number(tempNum)}`; + } break; case 79: // 'O' tempStr = inspect(arguments[a++], inspectOptions); @@ -117,7 +123,13 @@ function formatWithOptions(inspectOptions, f) { break; } case 105: // 'i' - tempStr = `${parseInt(arguments[a++])}`; + const tempInteger = arguments[a++]; + // eslint-disable-next-line valid-typeof + if (typeof tempInteger === 'bigint') { + tempStr = `${tempInteger}n`; + } else { + tempStr = `${parseInt(tempInteger)}`; + } break; case 102: // 'f' tempStr = `${parseFloat(arguments[a++])}`; |