signalstats/src/lib/hash.ts
2024-12-31 16:16:18 +01:00

13 lines
321 B
TypeScript

// https://stackoverflow.com/a/7616484
export const hashString = (str: string) => {
let hash = 0,
i,
chr;
if (str.length === 0) return hash;
for (i = 0; i < str.length; i++) {
chr = str.charCodeAt(i);
hash = (hash << 5) - hash + chr;
hash |= 0; // Convert to 32bit integer
}
return hash;
};