Wauplin's picture
Wauplin HF Staff
Upload folder using huggingface_hub
a53aa3c
import { normalise_file, FileData } from "@gradio/client";
export class BlurhashFileData {
image?: FileData;
blurhash?: string;
width?: number;
height?: number;
constructor({ image, blurhash, width, height }: { image?: FileData; blurhash?: string; width?: number; height?: number }) {
this.image = image ? new FileData(image) : undefined;
this.blurhash = blurhash;
this.width = width;
this.height = height;
}
}
export function normalise_blurhash_file(
file: BlurhashFileData | null,
server_url: string,
proxy_url: string | null
): BlurhashFileData | null;
export function normalise_blurhash_file(
file: BlurhashFileData[] | null,
server_url: string,
proxy_url: string | null
): BlurhashFileData[] | null;
export function normalise_blurhash_file(
file: BlurhashFileData[] | BlurhashFileData | null,
server_url: string, // root: string,
proxy_url: string | null // root_url: string | null
): BlurhashFileData[] | BlurhashFileData | null;
export function normalise_blurhash_file(
blurhash_file: BlurhashFileData[] | BlurhashFileData | null,
server_url: string, // root: string,
proxy_url: string | null // root_url: string | null
): BlurhashFileData[] | BlurhashFileData | null {
if (blurhash_file == null) {
return null;
}
if (Array.isArray(blurhash_file)) {
const normalized_files: (BlurhashFileData | null)[] = [];
for (const x of blurhash_file) {
normalized_files.push(normalise_blurhash_file(x, server_url, proxy_url));
}
return normalized_files as BlurhashFileData[];
}
const file_data = blurhash_file.image ? normalise_file(blurhash_file.image, server_url, null) : null;
return new BlurhashFileData({
image: file_data ? file_data : undefined,
blurhash: blurhash_file.blurhash,
width: blurhash_file.width,
height: blurhash_file.height,
});
}