UNPKG

@vansite/ts-sharetribe-flex-sdk

Version:

This is a TypeScript SDK for Sharetribe Flex API. It reduces the complexity of the API and provides a more user-friendly interface.

39 lines (38 loc) 1.47 kB
/** * @fileoverview Client for uploading images in the Sharetribe Marketplace API. * * Use this to upload images for listings, user profiles, or other resources. * Returns an image resource with variants ready for responsive display. * * @see https://www.sharetribe.com/api-reference/marketplace.html#images */ import type { AxiosResponse } from "axios"; import MarketplaceApi from "./index"; import { ExtraParameter, ImagesResponse, ImagesUploadParameter } from "../../types"; /** * Images API client */ declare class Images { readonly authRequired = true; private readonly axios; private readonly endpoint; private readonly headers; constructor(api: MarketplaceApi); /** * Upload an image * * @template P * @template EP * @param {P & ImagesUploadParameter} params - Must include `image: File` * @param {EP} [extraParams] - Optional extra parameters (e.g. `expand: true`) * @returns {Promise<AxiosResponse<ImagesResponse<"upload", EP>>>} * * @example * const file = inputElement.files[0]; * const { data } = await sdk.images.upload({ image: file }); * console.log(data.id); // → "img-abc123" * console.log(data.attributes.variants["square-small"]?.url); */ upload<P extends ImagesUploadParameter, EP extends ExtraParameter | undefined = undefined>(params: P, extraParams?: EP): Promise<AxiosResponse<ImagesResponse<"upload", EP>>>; } export default Images;