Spaces:
Running
Running
File size: 1,195 Bytes
c6afb12 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | 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.'
};
}
|