nav tabs on admin dashboard
This commit is contained in:
37
node_modules/hash.js/lib/hash/utils.js
generated
vendored
37
node_modules/hash.js/lib/hash/utils.js
generated
vendored
@@ -5,6 +5,16 @@ var inherits = require('inherits');
|
||||
|
||||
exports.inherits = inherits;
|
||||
|
||||
function isSurrogatePair(msg, i) {
|
||||
if ((msg.charCodeAt(i) & 0xFC00) !== 0xD800) {
|
||||
return false;
|
||||
}
|
||||
if (i < 0 || i + 1 >= msg.length) {
|
||||
return false;
|
||||
}
|
||||
return (msg.charCodeAt(i + 1) & 0xFC00) === 0xDC00;
|
||||
}
|
||||
|
||||
function toArray(msg, enc) {
|
||||
if (Array.isArray(msg))
|
||||
return msg.slice();
|
||||
@@ -13,14 +23,29 @@ function toArray(msg, enc) {
|
||||
var res = [];
|
||||
if (typeof msg === 'string') {
|
||||
if (!enc) {
|
||||
// Inspired by stringToUtf8ByteArray() in closure-library by Google
|
||||
// https://github.com/google/closure-library/blob/8598d87242af59aac233270742c8984e2b2bdbe0/closure/goog/crypt/crypt.js#L117-L143
|
||||
// Apache License 2.0
|
||||
// https://github.com/google/closure-library/blob/master/LICENSE
|
||||
var p = 0;
|
||||
for (var i = 0; i < msg.length; i++) {
|
||||
var c = msg.charCodeAt(i);
|
||||
var hi = c >> 8;
|
||||
var lo = c & 0xff;
|
||||
if (hi)
|
||||
res.push(hi, lo);
|
||||
else
|
||||
res.push(lo);
|
||||
if (c < 128) {
|
||||
res[p++] = c;
|
||||
} else if (c < 2048) {
|
||||
res[p++] = (c >> 6) | 192;
|
||||
res[p++] = (c & 63) | 128;
|
||||
} else if (isSurrogatePair(msg, i)) {
|
||||
c = 0x10000 + ((c & 0x03FF) << 10) + (msg.charCodeAt(++i) & 0x03FF);
|
||||
res[p++] = (c >> 18) | 240;
|
||||
res[p++] = ((c >> 12) & 63) | 128;
|
||||
res[p++] = ((c >> 6) & 63) | 128;
|
||||
res[p++] = (c & 63) | 128;
|
||||
} else {
|
||||
res[p++] = (c >> 12) | 224;
|
||||
res[p++] = ((c >> 6) & 63) | 128;
|
||||
res[p++] = (c & 63) | 128;
|
||||
}
|
||||
}
|
||||
} else if (enc === 'hex') {
|
||||
msg = msg.replace(/[^a-z0-9]+/ig, '');
|
||||
|
||||
Reference in New Issue
Block a user