INNER CODE UNIT · TypeScript

value

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

		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)
		throw new Error(`blurhash length mismatch: length is ${blurhash.length} but it should be ${4 + 2 * numX * numY}`);
}

export function isBlurhashValid(blurhash: string): { isValid: true } | { isValid: false; errorReason: string } {
	try {

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…