All files / tr8-script/domain/utils hasher.ts

100% Statements 5/5
100% Branches 0/0
100% Functions 1/1
100% Lines 4/4

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12  68x   68x 308x     68x        
function fastHash(s: string, base: number): number {
  let hash = 0;
 
  for (let i = 0; i < s.length; i++) {
    hash = ((hash << 5) - hash) ^ s.charCodeAt(i);
  }
 
  return (hash >>> 0) % base;
}
 
export { fastHash };