42 lines
1.9 KiB
TypeScript
42 lines
1.9 KiB
TypeScript
import { type RequestOptions } from "./request-options.js";
|
|
import type { FilePropertyBag, Fetch } from "./builtin-types.js";
|
|
import type { OpenAI } from "../client.js";
|
|
export type BlobPart = string | ArrayBuffer | ArrayBufferView | Blob | DataView;
|
|
type FsReadStream = AsyncIterable<Uint8Array> & {
|
|
path: string | {
|
|
toString(): string;
|
|
};
|
|
};
|
|
interface BunFile extends Blob {
|
|
readonly name?: string | undefined;
|
|
}
|
|
export declare const checkFileSupport: () => void;
|
|
/**
|
|
* Typically, this is a native "File" class.
|
|
*
|
|
* We provide the {@link toFile} utility to convert a variety of objects
|
|
* into the File class.
|
|
*
|
|
* For convenience, you can also pass a fetch Response, or in Node,
|
|
* the result of fs.createReadStream().
|
|
*/
|
|
export type Uploadable = File | Response | FsReadStream | BunFile;
|
|
/**
|
|
* Construct a `File` instance. This is used to ensure a helpful error is thrown
|
|
* for environments that don't define a global `File` yet.
|
|
*/
|
|
export declare function makeFile(fileBits: BlobPart[], fileName: string | undefined, options?: FilePropertyBag): File;
|
|
export declare function getName(value: any): string | undefined;
|
|
export declare const isAsyncIterable: (value: any) => value is AsyncIterable<any>;
|
|
/**
|
|
* Returns a multipart/form-data request if any part of the given request body contains a File / Blob value.
|
|
* Otherwise returns the request as is.
|
|
*/
|
|
export declare const maybeMultipartFormRequestOptions: (opts: RequestOptions, fetch: OpenAI | Fetch) => Promise<RequestOptions>;
|
|
type MultipartFormRequestOptions = Omit<RequestOptions, 'body'> & {
|
|
body: unknown;
|
|
};
|
|
export declare const multipartFormRequestOptions: (opts: MultipartFormRequestOptions, fetch: OpenAI | Fetch) => Promise<RequestOptions>;
|
|
export declare const createForm: <T = Record<string, unknown>>(body: T | undefined, fetch: OpenAI | Fetch) => Promise<FormData>;
|
|
export {};
|
|
//# sourceMappingURL=uploads.d.ts.map
|