All files / src/compiler/phases/2-analyze utils.js

100% Statements 14/14
100% Branches 2/2
100% Functions 1/1
100% Lines 14/14

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 13 14 152x 2x 2x 2x 2x 2x 2x 100x 100x 100x 100x 100x 100x 100x  
const regex_return_characters = /\r/g;
 
/**
 * @param {string} str
 * @returns {string}
 */
export function hash(str) {
	str = str.replace(regex_return_characters, '');
	let hash = 5381;
	let i = str.length;
 
	while (i--) hash = ((hash << 5) - hash) ^ str.charCodeAt(i);
	return (hash >>> 0).toString(36);
}