UNPKG

@speckle/shared

Version:

Shared code between various Speckle JS packages

21 lines (16 loc) 596 B
export const isValidBase64Image = (data: string): boolean => { 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 } }