1234567891011121314151617181920212223 |
- /* eslint-disable no-bitwise */
- /**
- * Return a simple hash code from a string.
- * Source from: https://github.com/sindresorhus/fnv1a/blob/master/index.js#L25
- */
- export function hashcode(str) {
- let hash = 2166136261;
- let isUnicoded = false;
- let string = str;
- for (let i = 0, ii = string.length; i < ii; i += 1) {
- let characterCode = string.charCodeAt(i);
- // Non-ASCII characters trigger the Unicode escape logic
- if (characterCode > 0x7f && !isUnicoded) {
- string = unescape(encodeURIComponent(string));
- characterCode = string.charCodeAt(i);
- isUnicoded = true;
- }
- hash ^= characterCode;
- hash += (hash << 1) + (hash << 4) + (hash << 7) + (hash << 8) + (hash << 24);
- }
- return hash >>> 0;
- }
- //# sourceMappingURL=hashcode.js.map
|