All files / src/compiler/phases/1-parse/utils full_char_code_at.js

73.33% Statements 11/15
33.33% Branches 1/3
100% Functions 1/1
73.33% Lines 11/15

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 15 162x 2x 2x 2x 2x 2x 2x 2x 2x 19837x 19837x          
// Adapted from https://github.com/acornjs/acorn/blob/6584815dca7440e00de841d1dad152302fdd7ca5/src/tokenize.js
// Reproduced under MIT License https://github.com/acornjs/acorn/blob/master/LICENSE
 
/**
 * @param {string} str
 * @param {number} i
 * @returns {number}
 */
export default function full_char_code_at(str, i) {
	const code = str.charCodeAt(i);
	if (code <= 0xd7ff || code >= 0xe000) return code;

	const next = str.charCodeAt(i + 1);
	return (code << 10) + next - 0x35fdc00;
}