INNER CODE UNIT · TypeScript

decode83

margelo/react-native-blurhash · src/utils.ts:31

export function decode83(str: string): number {
	let value = 0;
	for (let i = 0; i < str.length; i++) {
		const c = str[i];
		const digit = digitCharacters.indexOf(c);
		value = value * 83 + digit;
	}
	return value;
}

function validateBlurhash(blurhash: string): void {
	if (!blurhash || blurhash.length < 6) throw new Error('The blurhash string must be at least 6 characters');

	const sizeFlag = decode83(blurhash[0]);
	const numY = Math.floor(sizeFlag / 9) + 1;
	const numX = (sizeFlag % 9) + 1;

	if (blurhash.length !== 4 + 2 * numX * numY)

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…