const MAX_IMAGE_DATA_URL_CHARS = 3 * 1024 * 1024

/** 驗證並回傳 data URL；undefined 表示不更新此欄位 */
export function parseOptionalImageDataUrl(
    value: unknown
): { ok: true; value: string } | { ok: true; skip: true } | { ok: false } {
    if (value === undefined) {
        return { ok: true, skip: true }
    }
    const s = String(value ?? '').trim()
    if (!s) {
        return { ok: true, skip: true }
    }
    if (!s.startsWith('data:image/')) {
        return { ok: false }
    }
    if (s.length > MAX_IMAGE_DATA_URL_CHARS) {
        return { ok: false }
    }
    return { ok: true, value: s }
}
