diff options
author | Kat Marchán <kzm@zkat.tech> | 2018-08-29 12:03:09 -0700 |
---|---|---|
committer | Anna Henningsen <anna@addaleax.net> | 2018-09-02 12:51:59 +0200 |
commit | 78f5685acc8fa574c32ed60d07de6273c60639b9 (patch) | |
tree | c3381e90e1c734763d98f079aad5d5f45438ca6d /deps/npm/node_modules/ajv/lib/compile/ucs2length.js | |
parent | 1287e524eeba4632decce231da161426efb8fc34 (diff) | |
download | android-node-v8-78f5685acc8fa574c32ed60d07de6273c60639b9.tar.gz android-node-v8-78f5685acc8fa574c32ed60d07de6273c60639b9.tar.bz2 android-node-v8-78f5685acc8fa574c32ed60d07de6273c60639b9.zip |
deps: upgrade npm to 6.4.1
PR-URL: https://github.com/nodejs/node/pull/22591
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Diffstat (limited to 'deps/npm/node_modules/ajv/lib/compile/ucs2length.js')
-rw-r--r-- | deps/npm/node_modules/ajv/lib/compile/ucs2length.js | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/deps/npm/node_modules/ajv/lib/compile/ucs2length.js b/deps/npm/node_modules/ajv/lib/compile/ucs2length.js new file mode 100644 index 0000000000..d193fb1700 --- /dev/null +++ b/deps/npm/node_modules/ajv/lib/compile/ucs2length.js @@ -0,0 +1,20 @@ +'use strict'; + +// https://mathiasbynens.be/notes/javascript-encoding +// https://github.com/bestiejs/punycode.js - punycode.ucs2.decode +module.exports = function ucs2length(str) { + var length = 0 + , len = str.length + , pos = 0 + , value; + while (pos < len) { + length++; + value = str.charCodeAt(pos++); + if (value >= 0xD800 && value <= 0xDBFF && pos < len) { + // high surrogate, and there is a next character + value = str.charCodeAt(pos); + if ((value & 0xFC00) == 0xDC00) pos++; // low surrogate + } + } + return length; +}; |