UNPKG

@huggingface/hub

Version:

Utilities to interact with the Hugging Face hub

48 lines (44 loc) 1.24 kB
import { HUB_URL } from "../consts"; import { createApiError } from "../error"; import type { CredentialsParams } from "../types/public"; import { checkCredentials } from "../utils/checkCredentials"; export async function addCollectionItem( params: { /** * The slug of the collection to add the item to. */ slug: string; /** * The item to add to the collection. */ item: { type: "paper" | "collection" | "space" | "model" | "dataset"; id: string; }; /** * A note to attach to the item in the collection. The maximum size for a note is 500 characters. */ note?: string; hubUrl?: string; /** * Custom fetch function to use instead of the default one, for example to use a proxy or edit headers. */ fetch?: typeof fetch; } & Partial<CredentialsParams> ): Promise<void> { const accessToken = checkCredentials(params); const res = await (params.fetch ?? fetch)(`${params.hubUrl ?? HUB_URL}/api/collections/${params.slug}/items`, { method: "POST", body: JSON.stringify({ item: params.item, note: params.note, }), headers: { Authorization: `Bearer ${accessToken}`, "Content-Type": "application/json", }, }); if (!res.ok) { throw await createApiError(res); } }