@jorsek/ezd-client
Version:
38 lines (37 loc) • 1.03 kB
TypeScript
import { AxiosInstance } from "axios";
import "reflect-metadata";
import { Content } from "./resources/Content";
import { Contribute } from "./resources/Contribute";
import { Search } from "./resources/Search";
export interface IClientArgs {
org: string;
token: string;
rootMapId: string;
timeout?: number;
scheme?: string;
hostname?: string;
env?: string;
content_root?: string;
loginRedirect?: string;
loginRequired?: boolean;
interceptors?: Array<(axios: AxiosInstance) => void>;
rateLimit?: {
maxRequests?: number;
maxRPS: number;
};
}
export default class Client {
readonly base_url: string;
content_axios: AxiosInstance;
contribute_axios: AxiosInstance;
content: Content;
search: Search;
contribute: Contribute;
content_service_token: string;
initial_args: IClientArgs;
constructor(args: IClientArgs);
iframe_url(): string;
user_token(): string;
login(): Promise<void>;
prepare(args: any): Promise<Client>;
}