UNPKG

2.41 kBTypeScriptView Raw
1import { RouteMatcherFunction, RouteMatcherUrl, MatcherDefinition } from './Matchers.js';
2import type { FetchMockGlobalConfig, FetchImplementations } from './FetchMock.js';
3import type { CallLog } from './CallHistory.js';
4export type UserRouteSpecificConfig = {
5 name?: RouteName;
6 method?: string;
7 headers?: {
8 [key: string]: string | number;
9 };
10 missingHeaders?: string[];
11 query?: {
12 [key: string]: string;
13 };
14 params?: {
15 [key: string]: string;
16 };
17 body?: object;
18 matcherFunction?: RouteMatcherFunction;
19 url?: RouteMatcherUrl;
20 response?: RouteResponse | RouteResponseFunction;
21 repeat?: number;
22 delay?: number;
23 sticky?: boolean;
24};
25export type InternalRouteConfig = {
26 usesBody?: boolean;
27 isFallback?: boolean;
28};
29export type UserRouteConfig = UserRouteSpecificConfig & FetchMockGlobalConfig;
30export type RouteConfig = UserRouteConfig & FetchImplementations & InternalRouteConfig;
31export type RouteResponseConfig = {
32 body?: BodyInit | object;
33 status?: number;
34 headers?: {
35 [key: string]: string;
36 };
37 throws?: Error;
38 redirectUrl?: string;
39 options?: ResponseInit;
40};
41export type ResponseInitUsingHeaders = {
42 status: number;
43 statusText: string;
44 headers: Headers;
45};
46export type RouteResponseObjectData = RouteResponseConfig | object;
47export type RouteResponseData = Response | number | string | RouteResponseObjectData;
48export type RouteResponsePromise = Promise<RouteResponseData>;
49export type RouteResponseFunction = (arg0: CallLog) => RouteResponseData | RouteResponsePromise;
50export type RouteResponse = RouteResponseData | RouteResponsePromise | RouteResponseFunction;
51export type RouteName = string;
52declare class Route {
53 #private;
54 config: RouteConfig;
55 matcher: RouteMatcherFunction;
56 constructor(config: RouteConfig);
57 reset(): void;
58 constructResponse(responseInput: RouteResponseConfig): {
59 response: Response;
60 responseOptions: ResponseInit;
61 responseInput: RouteResponseConfig;
62 };
63 constructResponseOptions(responseInput: RouteResponseConfig): ResponseInitUsingHeaders;
64 constructResponseBody(responseInput: RouteResponseConfig, responseOptions: ResponseInitUsingHeaders): BodyInit;
65 static defineMatcher(matcher: MatcherDefinition): void;
66 static registeredMatchers: MatcherDefinition[];
67}
68export default Route;