(value: unknown)
| 28 | } |
| 29 | |
| 30 | function parseErrorObject(value: unknown): AppCommandError | null { |
| 31 | const obj = asObject(value) |
| 32 | if (!obj) return null |
| 33 | |
| 34 | const code = normalizeString(obj.code) |
| 35 | const message = normalizeString(obj.message) |
| 36 | const detailRaw = normalizeString(obj.detail) |
| 37 | const detail = detailRaw ?? null |
| 38 | const i18nKey = normalizeString(obj.i18n_key) |
| 39 | const i18nParams = parseI18nParams(obj.i18n_params) |
| 40 | |
| 41 | if (!code || !message) return null |
| 42 | |
| 43 | return { |
| 44 | code, |
| 45 | message, |
| 46 | detail, |
| 47 | i18n_key: i18nKey, |
| 48 | i18n_params: i18nParams, |
| 49 | } |
| 50 | } |
| 51 | |
| 52 | export function extractAppCommandError(error: unknown): AppCommandError | null { |
| 53 | const direct = parseErrorObject(error) |
no test coverage detected