(error: unknown, filePath: string)
| 270 | } |
| 271 | |
| 272 | function formatErrorMessage(error: unknown, filePath: string): string { |
| 273 | const validationIssues = findValidationIssues(error); |
| 274 | if (validationIssues !== undefined) { |
| 275 | return [ |
| 276 | `Invalid configuration in ${filePath}.`, |
| 277 | 'Validation issues:', |
| 278 | ...validationIssues.map((issue) => ` ${formatIssuePath(issue.path)}: ${issue.message}`), |
| 279 | ].join('\n'); |
| 280 | } |
| 281 | |
| 282 | const zodError = findZodError(error); |
| 283 | if (zodError !== undefined) { |
| 284 | return [ |
| 285 | `Invalid configuration in ${filePath}.`, |
| 286 | 'Validation issues:', |
| 287 | ...zodError.issues.map((issue) => ` ${formatIssuePath(issue.path)}: ${issue.message}`), |
| 288 | ].join('\n'); |
| 289 | } |
| 290 | return error instanceof Error ? error.message : String(error); |
| 291 | } |
| 292 | |
| 293 | function findValidationIssues(error: unknown): readonly KimiConfigValidationIssue[] | undefined { |
| 294 | if (!(error instanceof Error)) return undefined; |
no test coverage detected