@prefecthq/prefect-ui-library
Version:
This library is the Vue and Typescript component library for [Prefect 2](https://github.com/PrefectHQ/prefect) and [Prefect Cloud 2](https://www.prefect.io/cloud/). _The components and utilities in this project are not meant to be used independently_.
36 lines (35 loc) • 2.24 kB
TypeScript
import { AxiosInstance, AxiosRequestConfig, AxiosResponse, RawAxiosRequestHeaders } from 'axios';
import { MaybeGetter } from '../types';
import { MaybeArray } from '../types/utilities';
export type AxiosInstanceSetupHook = (instance: AxiosInstance) => void;
export type PrefectConfig = {
baseUrl: string;
token?: string;
};
type ConfigFunction<R, T extends PrefectConfig = PrefectConfig> = (config: T) => R;
export type ApiBaseUrl<T extends PrefectConfig = PrefectConfig> = string | ConfigFunction<string, T>;
export type ApiHeaders<T extends PrefectConfig = PrefectConfig> = RawAxiosRequestHeaders | ConfigFunction<RawAxiosRequestHeaders, T>;
export declare const getPrefectBaseUrl: ApiBaseUrl;
export declare const getPrefectUIHeaders: RawAxiosRequestHeaders;
export declare const getAuthorizationHeaders: ApiHeaders;
export declare class Api<T extends PrefectConfig = PrefectConfig> {
protected readonly apiConfig: MaybeGetter<T>;
protected apiHeaders: MaybeArray<ApiHeaders>;
protected apiBaseUrl: ApiBaseUrl;
protected routePrefix: string | undefined;
protected instanceSetupHook: AxiosInstanceSetupHook | null;
constructor(apiConfig: MaybeGetter<T>, instanceSetupHook?: AxiosInstanceSetupHook | null);
protected getConfig(): T;
protected composeBaseUrl(): string;
protected composeHeaders(): RawAxiosRequestHeaders;
protected combinePath(route: string | undefined): string;
protected instance(): AxiosInstance;
protected get<T, R = AxiosResponse<T>>(route?: string, config?: AxiosRequestConfig): Promise<R>;
protected delete<T, R = AxiosResponse<T>>(route?: string, config?: AxiosRequestConfig): Promise<R>;
protected head<T, R = AxiosResponse<T>>(route?: string, config?: AxiosRequestConfig): Promise<R>;
protected options<T, R = AxiosResponse<T>>(route?: string, config?: AxiosRequestConfig): Promise<R>;
protected post<T, R = AxiosResponse<T>>(route?: string, data?: any, config?: AxiosRequestConfig): Promise<R>;
protected put<T, R = AxiosResponse<T>>(route?: string, data?: any, config?: AxiosRequestConfig): Promise<R>;
protected patch<T, R = AxiosResponse<T>>(route?: string, data?: any, config?: AxiosRequestConfig): Promise<R>;
}
export {};