@snail-js/api
Version:
Http Request with Decorators Api, build on axios
36 lines (35 loc) • 1.72 kB
TypeScript
import "reflect-metadata";
import { AxiosInstance } from "axios";
import { Strategy, ApiInstanceOptions, VersioningOption, CacheStorage, ApiProxy, StandardResponseWithoutData, SnailServerStatusCodeRuleOptions, ResponseJsonData } from "../typings";
import { SnailApi } from "./snailApi";
import { SnailSse } from "./snailSse";
export declare const CacheStorageMap: Map<string, CacheStorage>;
export declare const CacheForMap: Map<string, string[]>;
export declare const ExpireSourceMap: Map<string, Set<string>>;
export declare const AxiosInstanceMap: Map<string, AxiosInstance>;
export declare const StrategyMap: Map<string, (new () => Strategy)[]>;
export declare const VersioningMap: Map<string, VersioningOption>;
export declare const ServerStatusCodeRuleMap: Map<string, SnailServerStatusCodeRuleOptions>;
export declare class SnailServer<RT extends StandardResponseWithoutData | ResponseJsonData = StandardResponseWithoutData, DK extends string = "data"> {
private Name;
private BaseURL;
private Version;
private EnableLog;
constructor();
private init;
private initServerStatusCodeRule;
private initLog;
private initStrategy;
private initVersioning;
registerStrategies: (...strategys: Array<new () => Strategy>) => void;
createApi<TApiClass extends SnailApi>(constructor: new (options: ApiInstanceOptions) => TApiClass): ApiProxy<TApiClass, RT, DK>;
private initCacheManage;
private initExpireSource;
private initAxios;
private getServerOptions;
createSse<T extends SnailSse>(constructor: new (server: SnailServer) => T): SnailSse;
get version(): string;
get name(): string;
get enableLog(): boolean;
get baseUrl(): string;
}