From e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d Mon Sep 17 00:00:00 2001 From: Piotr Russ Date: Mon, 16 Nov 2020 00:10:28 +0100 Subject: api, login, auth --- node_modules/ajv/lib/compile/ucs2length.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 node_modules/ajv/lib/compile/ucs2length.js (limited to 'node_modules/ajv/lib/compile/ucs2length.js') diff --git a/node_modules/ajv/lib/compile/ucs2length.js b/node_modules/ajv/lib/compile/ucs2length.js new file mode 100644 index 0000000..d193fb1 --- /dev/null +++ b/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; +}; -- cgit v1.2.3