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

100% Statements 15/15
100% Branches 4/4
100% Functions 1/1
100% Lines 15/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 20430x 20430x 2x 2x 2x 2x  
// 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;
}