@snail-js/api
Version:
Http Request with Decorators Api, build on axios
31 lines (30 loc) • 913 B
TypeScript
export declare enum VersioningType {
Uri = 0,
Header = 1,
Query = 2,
Custom = 3
}
interface VersioningCommonOption {
defaultVersion: string;
}
export interface VersioningUriOption extends VersioningCommonOption {
type: VersioningType.Uri;
prefix?: string;
}
export interface VersioningHeaderOption extends VersioningCommonOption {
type: VersioningType.Header;
header?: string;
}
export interface VersioningQueryOption extends VersioningCommonOption {
type: VersioningType.Query;
key?: string;
}
export interface VersioningCustomOption extends VersioningCommonOption {
type: VersioningType.Custom;
extractor: (requestOptions: unknown) => {
type: VersioningType;
result: string | Record<string, any>;
};
}
export type VersioningOption = VersioningUriOption | VersioningHeaderOption | VersioningQueryOption | VersioningCustomOption;
export {};