diff options
author | Rebecca Turner <me@re-becca.org> | 2016-06-24 13:43:51 -0700 |
---|---|---|
committer | Jeremiah Senkpiel <fishrock123@rocketmail.com> | 2016-06-27 11:46:15 +0200 |
commit | d538811fc8b920f3f36d5f21a4c23e270367ceb0 (patch) | |
tree | 11cee6c00aa843f16a71819039396f80bf6abe22 /deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/string-width/index.js | |
parent | 1db31a34948eee311abd9881bbf5d906d0cd678b (diff) | |
download | android-node-v8-d538811fc8b920f3f36d5f21a4c23e270367ceb0.tar.gz android-node-v8-d538811fc8b920f3f36d5f21a4c23e270367ceb0.tar.bz2 android-node-v8-d538811fc8b920f3f36d5f21a4c23e270367ceb0.zip |
deps: upgrade npm to 3.10.2
Contains the following npm releases:
- https://github.com/npm/npm/releases/tag/v3.9.6
- https://github.com/npm/npm/releases/tag/v3.10.0
- https://github.com/npm/npm/releases/tag/v3.10.1
- https://github.com/npm/npm/releases/tag/v3.10.2
PR-URL: https://github.com/nodejs/node/pull/7410
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Diffstat (limited to 'deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/string-width/index.js')
-rw-r--r-- | deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/string-width/index.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/string-width/index.js b/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/string-width/index.js new file mode 100644 index 0000000000..aa2f839b6d --- /dev/null +++ b/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/string-width/index.js @@ -0,0 +1,32 @@ +'use strict'; +var stripAnsi = require('strip-ansi'); +var codePointAt = require('code-point-at'); +var isFullwidthCodePoint = require('is-fullwidth-code-point'); + +// https://github.com/nodejs/io.js/blob/cff7300a578be1b10001f2d967aaedc88aee6402/lib/readline.js#L1345 +module.exports = function (str) { + if (typeof str !== 'string' || str.length === 0) { + return 0; + } + + var width = 0; + + str = stripAnsi(str); + + for (var i = 0; i < str.length; i++) { + var code = codePointAt(str, i); + + // surrogates + if (code >= 0x10000) { + i++; + } + + if (isFullwidthCodePoint(code)) { + width += 2; + } else { + width++; + } + } + + return width; +}; |