@launchmenu/core
Version:
An environment for visual keyboard controlled applets
25 lines • 1.84 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.getStringHash = void 0;
// Source: https://stackoverflow.com/a/7616484/8521718
/**
* Retrieves the hash for a given string
* @param string The string to get the hash for
* @param normalized Whether normalize the output number to the range [0, 1]
* @returns The hash number
*/
function getStringHash(string, normalized) {
var hash = 0, i, chr;
if (string.length === 0)
return hash;
for (i = 0; i < string.length; i++) {
chr = string.charCodeAt(i);
hash = (hash << 5) - hash + chr;
hash |= 0; // Convert to 32bit integer
}
if (normalized)
hash = (hash < 0 ? -1 : 1) * hash / Number.MAX_SAFE_INTEGER;
return hash;
}
exports.getStringHash = getStringHash;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0U3RyaW5nSGFzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9nZXRTdHJpbmdIYXNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNEQUFzRDtBQUN0RDs7Ozs7R0FLRztBQUNILFNBQWdCLGFBQWEsQ0FBQyxNQUFjLEVBQUUsVUFBb0I7SUFDOUQsSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUNSLENBQVMsRUFDVCxHQUFXLENBQUM7SUFDaEIsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUM7UUFBRSxPQUFPLElBQUksQ0FBQztJQUNyQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDaEMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxHQUFHLENBQUM7UUFDaEMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLDJCQUEyQjtLQUN6QztJQUVELElBQUcsVUFBVTtRQUFFLElBQUksR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxJQUFJLEdBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFBO0lBQ3JFLE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFiRCxzQ0FhQyJ9
;