Spaces:
Running
Running
| import type { PublicBucketError, PublicBucketErrorCode } from '$lib/types/bucket-state'; | |
| import { HfBucketError } from './client'; | |
| function codeFromError(error: unknown): PublicBucketErrorCode { | |
| if (error instanceof HfBucketError) { | |
| if (error.status === 401) return 'unauthorized'; | |
| if (error.status === 403) return 'forbidden'; | |
| if (error.status === 404) return 'not_found'; | |
| const message = error.message.toLowerCase(); | |
| if (message.includes('hf_token')) return 'missing_token'; | |
| if (message.includes('timed out')) return 'timeout'; | |
| if (message.includes('valid json')) return 'invalid_json'; | |
| if (message.includes('hash')) return 'hash_mismatch'; | |
| if ( | |
| message.includes('validation') || | |
| message.includes('schema') || | |
| message.includes('duplicate') || | |
| message.includes('unknown') | |
| ) { | |
| return 'invalid_schema'; | |
| } | |
| } | |
| return 'unknown'; | |
| } | |
| export function toPublicBucketError(error: unknown): PublicBucketError { | |
| if (error instanceof HfBucketError) { | |
| return { | |
| code: codeFromError(error), | |
| message: error.message, | |
| status: error.status | |
| }; | |
| } | |
| return { | |
| code: 'unknown', | |
| message: error instanceof Error ? error.message : 'Unknown bucket error.' | |
| }; | |
| } | |