first commit

This commit is contained in:
Raul Lugo
2024-12-25 20:30:57 +01:00
commit 6ef22531bb
165 changed files with 53426 additions and 0 deletions

24
src/utils.ts Normal file
View File

@@ -0,0 +1,24 @@
import { ApiError, ValidationError } from "./types/errors.ts";
import { FileContent, ValidationResult } from "./types/validation.ts";
export function toBlob(content: FileContent): Blob {
if (content instanceof Blob) return content;
return new Blob([content]);
}
export async function handleResponse(
response: Response,
): Promise<ValidationResult> {
if (!response.ok) {
const errorData = await response.json().catch(() => ({
message: response.statusText,
status: `${response.status}`,
})) as ApiError;
throw new ValidationError(
errorData.message || "Unknown error",
response.status,
);
}
const data = await response.json();
return data as ValidationResult;
}