@speckle/shared
Version:
Shared code between various Speckle JS packages
25 lines • 837 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isValidBase64Image = void 0;
const isValidBase64Image = (data) => {
if (!data.startsWith('data:image/'))
return false;
const parts = data.split(',');
if (parts.length !== 2)
return false;
// Remove all whitespace characters from base64 string
const base64String = parts[1].replace(/\s+/g, '');
// Validate that the cleaned string only has valid base64 characters
const base64Regex = /^[A-Za-z0-9+/]+={0,2}$/;
if (!base64Regex.test(base64String))
return false;
try {
const buffer = Buffer.from(base64String, 'base64');
return buffer.length > 0;
}
catch {
return false;
}
};
exports.isValidBase64Image = isValidBase64Image;
//# sourceMappingURL=base64.js.map