UNPKG

@fal-ai/client

Version:

The fal.ai client for JavaScript and TypeScript

39 lines (38 loc) 1.51 kB
import { RequiredConfig } from "./config"; import { Result, ValidationErrorInfo } from "./types/common"; export type ResponseHandler<Output> = (response: Response) => Promise<Output>; export type ResponseHandlerCreator<Output> = (config: RequiredConfig) => ResponseHandler<Output>; type ApiErrorArgs = { message: string; status: number; body?: any; requestId?: string; /** * The type of timeout that occurred. If "user", this was a user-specified * timeout via startTimeout and should NOT be retried. */ timeoutType?: string; }; export declare class ApiError<Body> extends Error { readonly status: number; readonly body: Body; readonly requestId: string; readonly timeoutType?: string; constructor({ message, status, body, requestId, timeoutType }: ApiErrorArgs); /** * Returns true if this error was caused by a user-specified timeout * (via startTimeout parameter). These errors should NOT be retried. */ get isUserTimeout(): boolean; } type ValidationErrorBody = { detail: ValidationErrorInfo[]; }; export declare class ValidationError extends ApiError<ValidationErrorBody> { constructor(args: ApiErrorArgs); get fieldErrors(): ValidationErrorInfo[]; getFieldErrors(field: string): ValidationErrorInfo[]; } export declare function defaultResponseHandler<Output>(response: Response): Promise<Output>; export declare function resultResponseHandler<Output>(response: Response): Promise<Result<Output>>; export {};