msw 0.20.5 → 0.21.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/README.md +1 -1
- package/lib/esm/fetch-deps.js +26 -23
- package/lib/esm/graphql.js +92 -79
- package/lib/esm/index.js +90 -44
- package/lib/esm/{matchRequest-deps.js → matchRequestUrl-deps.js} +29 -17
- package/lib/esm/mockServiceWorker.js +8 -1
- package/lib/esm/rest-deps.js +27 -18
- package/lib/esm/rest.js +1 -1
- package/lib/esm/xml-deps.js +3 -3
- package/lib/types/LiveStorage.d.ts +17 -0
- package/lib/types/context/body.d.ts +2 -2
- package/lib/types/context/errors.d.ts +3 -1
- package/lib/types/context/fetch.d.ts +2 -2
- package/lib/types/context/json.d.ts +5 -3
- package/lib/types/context/text.d.ts +2 -2
- package/lib/types/context/xml.d.ts +2 -2
- package/lib/types/graphql.d.ts +8 -10
- package/lib/types/index.d.ts +3 -3
- package/lib/types/native/index.d.ts +7 -1
- package/lib/types/node/createSetupServer.d.ts +29 -0
- package/lib/types/node/setupServer.d.ts +4 -24
- package/lib/types/response.d.ts +10 -7
- package/lib/types/rest.d.ts +158 -16
- package/lib/types/setupWorker/glossary.d.ts +14 -4
- package/lib/types/setupWorker/start/utils/getWorkerByRegistration.d.ts +2 -1
- package/lib/types/setupWorker/start/utils/getWorkerInstance.d.ts +2 -2
- package/lib/types/sharedOptions.d.ts +1 -1
- package/lib/types/utils/getResponse.d.ts +2 -2
- package/lib/types/utils/handlers/requestHandler.d.ts +74 -0
- package/lib/types/utils/{requestHandlerUtils.d.ts → handlers/requestHandlerUtils.d.ts} +2 -2
- package/lib/types/utils/{isNodeProcess.d.ts → internal/isNodeProcess.d.ts} +1 -0
- package/lib/types/utils/{isStringEqual.d.ts → internal/isStringEqual.d.ts} +0 -0
- package/lib/types/utils/{jsonParse.d.ts → internal/jsonParse.d.ts} +0 -0
- package/lib/types/utils/internal/mergeRight.d.ts +5 -0
- package/lib/types/utils/{logger → logging}/getStatusCodeColor.d.ts +0 -0
- package/lib/types/utils/{logger → logging}/getTimestamp.d.ts +0 -0
- package/lib/types/utils/{logger → logging}/prepareRequest.d.ts +3 -3
- package/lib/types/utils/{logger → logging}/prepareResponse.d.ts +2 -2
- package/lib/types/utils/matching/{matchRequest.d.ts → matchRequestUrl.d.ts} +0 -0
- package/lib/types/utils/request/getPublicUrlFromRequest.d.ts +6 -0
- package/lib/types/utils/request/getRequestCookies.d.ts +1 -1
- package/lib/types/{onUnhandledRequest.d.ts → utils/request/onUnhandledRequest.d.ts} +1 -1
- package/lib/types/utils/request/parseBody.d.ts +5 -0
- package/lib/types/utils/url/getAbsoluteUrl.d.ts +6 -0
- package/lib/types/utils/{getAbsoluteWorkerUrl.d.ts → url/getAbsoluteWorkerUrl.d.ts} +0 -0
- package/lib/types/utils/url/getUrlByMask.d.ts +5 -0
- package/lib/umd/index.js +696 -613
- package/lib/umd/mockServiceWorker.js +8 -1
- package/native/index.js +1508 -133
- package/node/context/delay.d.ts +11 -0
- package/node/context/fetch.d.ts +8 -0
- package/node/context/set.d.ts +2 -0
- package/node/context/status.d.ts +2 -0
- package/node/index.js +1507 -133
- package/node/node/createSetupServer.d.ts +29 -0
- package/node/node/index.d.ts +5 -0
- package/node/node/setupServer.d.ts +7 -0
- package/node/response.d.ts +25 -0
- package/node/utils/NetworkError.d.ts +3 -0
- package/node/utils/getResponse.d.ts +14 -0
- package/{lib/types → node/utils}/handlers/requestHandler.d.ts +13 -12
- package/node/utils/handlers/requestHandlerUtils.d.ts +4 -0
- package/node/utils/internal/compose.d.ts +5 -0
- package/node/utils/internal/isNodeProcess.d.ts +5 -0
- package/node/utils/internal/jsonParse.d.ts +5 -0
- package/node/utils/request/getPublicUrlFromRequest.d.ts +6 -0
- package/node/utils/request/onUnhandledRequest.d.ts +5 -0
- package/node/utils/request/parseBody.d.ts +5 -0
- package/package.json +34 -29
- package/lib/types/utils/getJsonBody.d.ts +0 -5
- package/lib/types/utils/request/parseRequestBody.d.ts +0 -2
- package/lib/types/utils/resolveMask.d.ts +0 -6
- package/lib/types/utils/resolveRelativeUrl.d.ts +0 -6
package/lib/types/rest.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { RequestHandler, ResponseResolver, MockedRequest } from './handlers/requestHandler';
|
|
1
|
+
import { RequestHandler, ResponseResolver, MockedRequest, DefaultRequestBodyType, RequestParams } from './utils/handlers/requestHandler';
|
|
2
2
|
import { Mask } from './setupWorker/glossary';
|
|
3
3
|
import { set } from './context/set';
|
|
4
|
-
import { matchRequestUrl } from './utils/matching/
|
|
4
|
+
import { matchRequestUrl } from './utils/matching/matchRequestUrl';
|
|
5
5
|
export declare enum RESTMethods {
|
|
6
|
+
HEAD = "HEAD",
|
|
6
7
|
GET = "GET",
|
|
7
8
|
POST = "POST",
|
|
8
9
|
PUT = "PUT",
|
|
@@ -12,23 +13,164 @@ export declare enum RESTMethods {
|
|
|
12
13
|
}
|
|
13
14
|
export declare const restContext: {
|
|
14
15
|
set: typeof set;
|
|
15
|
-
status: (statusCode: number, statusText?: string | undefined) => import("./response").ResponseTransformer
|
|
16
|
-
cookie: (name: string, value: string, options?: import("cookie").CookieSerializeOptions | undefined) => import("./response").ResponseTransformer
|
|
17
|
-
body: <
|
|
18
|
-
text: (body:
|
|
19
|
-
json: (body:
|
|
20
|
-
xml: (body:
|
|
21
|
-
delay: (durationMs?: number | undefined) => import("./response").ResponseTransformer
|
|
22
|
-
fetch:
|
|
16
|
+
status: (statusCode: number, statusText?: string | undefined) => import("./response").ResponseTransformer<any>;
|
|
17
|
+
cookie: (name: string, value: string, options?: import("cookie").CookieSerializeOptions | undefined) => import("./response").ResponseTransformer<any>;
|
|
18
|
+
body: <BodyType extends string | Blob | ArrayBufferView | ArrayBuffer | ReadableStream<any> | FormData>(value: BodyType) => import("./response").ResponseTransformer<BodyType>;
|
|
19
|
+
text: <BodyType_1 extends string>(body: BodyType_1) => import("./response").ResponseTransformer<BodyType_1>;
|
|
20
|
+
json: <BodyType_2>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
|
|
21
|
+
xml: <BodyType_3 extends string>(body: BodyType_3) => import("./response").ResponseTransformer<BodyType_3>;
|
|
22
|
+
delay: (durationMs?: number | undefined) => import("./response").ResponseTransformer<any>;
|
|
23
|
+
fetch: (input: string | MockedRequest<DefaultRequestBodyType, RequestParams>, requestInit?: RequestInit) => any;
|
|
23
24
|
};
|
|
24
25
|
export interface ParsedRestRequest {
|
|
25
26
|
match: ReturnType<typeof matchRequestUrl>;
|
|
26
27
|
}
|
|
27
28
|
export declare const rest: {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
head: <RequestBodyType = DefaultRequestBodyType, ResponseBodyType = any, RequestParamsType extends RequestParams = RequestParams>(mask: Mask, resolver: ResponseResolver<MockedRequest<RequestBodyType, RequestParamsType>, {
|
|
30
|
+
set: typeof set;
|
|
31
|
+
status: (statusCode: number, statusText?: string | undefined) => import("./response").ResponseTransformer<any>;
|
|
32
|
+
cookie: (name: string, value: string, options?: import("cookie").CookieSerializeOptions | undefined) => import("./response").ResponseTransformer<any>;
|
|
33
|
+
body: <BodyType extends string | Blob | ArrayBufferView | ArrayBuffer | ReadableStream<any> | FormData>(value: BodyType) => import("./response").ResponseTransformer<BodyType>;
|
|
34
|
+
text: <BodyType_1 extends string>(body: BodyType_1) => import("./response").ResponseTransformer<BodyType_1>;
|
|
35
|
+
json: <BodyType_2>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
|
|
36
|
+
xml: <BodyType_3 extends string>(body: BodyType_3) => import("./response").ResponseTransformer<BodyType_3>;
|
|
37
|
+
delay: (durationMs?: number | undefined) => import("./response").ResponseTransformer<any>;
|
|
38
|
+
fetch: (input: string | MockedRequest<DefaultRequestBodyType, RequestParams>, requestInit?: RequestInit) => any;
|
|
39
|
+
}, ResponseBodyType>) => RequestHandler<MockedRequest<RequestBodyType, RequestParamsType>, {
|
|
40
|
+
set: typeof set;
|
|
41
|
+
status: (statusCode: number, statusText?: string | undefined) => import("./response").ResponseTransformer<any>;
|
|
42
|
+
cookie: (name: string, value: string, options?: import("cookie").CookieSerializeOptions | undefined) => import("./response").ResponseTransformer<any>;
|
|
43
|
+
body: <BodyType extends string | Blob | ArrayBufferView | ArrayBuffer | ReadableStream<any> | FormData>(value: BodyType) => import("./response").ResponseTransformer<BodyType>;
|
|
44
|
+
text: <BodyType_1 extends string>(body: BodyType_1) => import("./response").ResponseTransformer<BodyType_1>;
|
|
45
|
+
json: <BodyType_2>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
|
|
46
|
+
xml: <BodyType_3 extends string>(body: BodyType_3) => import("./response").ResponseTransformer<BodyType_3>;
|
|
47
|
+
delay: (durationMs?: number | undefined) => import("./response").ResponseTransformer<any>;
|
|
48
|
+
fetch: (input: string | MockedRequest<DefaultRequestBodyType, RequestParams>, requestInit?: RequestInit) => any;
|
|
49
|
+
}, ParsedRestRequest, MockedRequest<RequestBodyType, RequestParams>, ResponseBodyType>;
|
|
50
|
+
get: <RequestBodyType = DefaultRequestBodyType, ResponseBodyType = any, RequestParamsType extends RequestParams = RequestParams>(mask: Mask, resolver: ResponseResolver<MockedRequest<RequestBodyType, RequestParamsType>, {
|
|
51
|
+
set: typeof set;
|
|
52
|
+
status: (statusCode: number, statusText?: string | undefined) => import("./response").ResponseTransformer<any>;
|
|
53
|
+
cookie: (name: string, value: string, options?: import("cookie").CookieSerializeOptions | undefined) => import("./response").ResponseTransformer<any>;
|
|
54
|
+
body: <BodyType extends string | Blob | ArrayBufferView | ArrayBuffer | ReadableStream<any> | FormData>(value: BodyType) => import("./response").ResponseTransformer<BodyType>;
|
|
55
|
+
text: <BodyType_1 extends string>(body: BodyType_1) => import("./response").ResponseTransformer<BodyType_1>;
|
|
56
|
+
json: <BodyType_2>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
|
|
57
|
+
xml: <BodyType_3 extends string>(body: BodyType_3) => import("./response").ResponseTransformer<BodyType_3>;
|
|
58
|
+
delay: (durationMs?: number | undefined) => import("./response").ResponseTransformer<any>;
|
|
59
|
+
fetch: (input: string | MockedRequest<DefaultRequestBodyType, RequestParams>, requestInit?: RequestInit) => any;
|
|
60
|
+
}, ResponseBodyType>) => RequestHandler<MockedRequest<RequestBodyType, RequestParamsType>, {
|
|
61
|
+
set: typeof set;
|
|
62
|
+
status: (statusCode: number, statusText?: string | undefined) => import("./response").ResponseTransformer<any>;
|
|
63
|
+
cookie: (name: string, value: string, options?: import("cookie").CookieSerializeOptions | undefined) => import("./response").ResponseTransformer<any>;
|
|
64
|
+
body: <BodyType extends string | Blob | ArrayBufferView | ArrayBuffer | ReadableStream<any> | FormData>(value: BodyType) => import("./response").ResponseTransformer<BodyType>;
|
|
65
|
+
text: <BodyType_1 extends string>(body: BodyType_1) => import("./response").ResponseTransformer<BodyType_1>;
|
|
66
|
+
json: <BodyType_2>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
|
|
67
|
+
xml: <BodyType_3 extends string>(body: BodyType_3) => import("./response").ResponseTransformer<BodyType_3>;
|
|
68
|
+
delay: (durationMs?: number | undefined) => import("./response").ResponseTransformer<any>;
|
|
69
|
+
fetch: (input: string | MockedRequest<DefaultRequestBodyType, RequestParams>, requestInit?: RequestInit) => any;
|
|
70
|
+
}, ParsedRestRequest, MockedRequest<RequestBodyType, RequestParams>, ResponseBodyType>;
|
|
71
|
+
post: <RequestBodyType = DefaultRequestBodyType, ResponseBodyType = any, RequestParamsType extends RequestParams = RequestParams>(mask: Mask, resolver: ResponseResolver<MockedRequest<RequestBodyType, RequestParamsType>, {
|
|
72
|
+
set: typeof set;
|
|
73
|
+
status: (statusCode: number, statusText?: string | undefined) => import("./response").ResponseTransformer<any>;
|
|
74
|
+
cookie: (name: string, value: string, options?: import("cookie").CookieSerializeOptions | undefined) => import("./response").ResponseTransformer<any>;
|
|
75
|
+
body: <BodyType extends string | Blob | ArrayBufferView | ArrayBuffer | ReadableStream<any> | FormData>(value: BodyType) => import("./response").ResponseTransformer<BodyType>;
|
|
76
|
+
text: <BodyType_1 extends string>(body: BodyType_1) => import("./response").ResponseTransformer<BodyType_1>;
|
|
77
|
+
json: <BodyType_2>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
|
|
78
|
+
xml: <BodyType_3 extends string>(body: BodyType_3) => import("./response").ResponseTransformer<BodyType_3>;
|
|
79
|
+
delay: (durationMs?: number | undefined) => import("./response").ResponseTransformer<any>;
|
|
80
|
+
fetch: (input: string | MockedRequest<DefaultRequestBodyType, RequestParams>, requestInit?: RequestInit) => any;
|
|
81
|
+
}, ResponseBodyType>) => RequestHandler<MockedRequest<RequestBodyType, RequestParamsType>, {
|
|
82
|
+
set: typeof set;
|
|
83
|
+
status: (statusCode: number, statusText?: string | undefined) => import("./response").ResponseTransformer<any>;
|
|
84
|
+
cookie: (name: string, value: string, options?: import("cookie").CookieSerializeOptions | undefined) => import("./response").ResponseTransformer<any>;
|
|
85
|
+
body: <BodyType extends string | Blob | ArrayBufferView | ArrayBuffer | ReadableStream<any> | FormData>(value: BodyType) => import("./response").ResponseTransformer<BodyType>;
|
|
86
|
+
text: <BodyType_1 extends string>(body: BodyType_1) => import("./response").ResponseTransformer<BodyType_1>;
|
|
87
|
+
json: <BodyType_2>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
|
|
88
|
+
xml: <BodyType_3 extends string>(body: BodyType_3) => import("./response").ResponseTransformer<BodyType_3>;
|
|
89
|
+
delay: (durationMs?: number | undefined) => import("./response").ResponseTransformer<any>;
|
|
90
|
+
fetch: (input: string | MockedRequest<DefaultRequestBodyType, RequestParams>, requestInit?: RequestInit) => any;
|
|
91
|
+
}, ParsedRestRequest, MockedRequest<RequestBodyType, RequestParams>, ResponseBodyType>;
|
|
92
|
+
put: <RequestBodyType = DefaultRequestBodyType, ResponseBodyType = any, RequestParamsType extends RequestParams = RequestParams>(mask: Mask, resolver: ResponseResolver<MockedRequest<RequestBodyType, RequestParamsType>, {
|
|
93
|
+
set: typeof set;
|
|
94
|
+
status: (statusCode: number, statusText?: string | undefined) => import("./response").ResponseTransformer<any>;
|
|
95
|
+
cookie: (name: string, value: string, options?: import("cookie").CookieSerializeOptions | undefined) => import("./response").ResponseTransformer<any>;
|
|
96
|
+
body: <BodyType extends string | Blob | ArrayBufferView | ArrayBuffer | ReadableStream<any> | FormData>(value: BodyType) => import("./response").ResponseTransformer<BodyType>;
|
|
97
|
+
text: <BodyType_1 extends string>(body: BodyType_1) => import("./response").ResponseTransformer<BodyType_1>;
|
|
98
|
+
json: <BodyType_2>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
|
|
99
|
+
xml: <BodyType_3 extends string>(body: BodyType_3) => import("./response").ResponseTransformer<BodyType_3>;
|
|
100
|
+
delay: (durationMs?: number | undefined) => import("./response").ResponseTransformer<any>;
|
|
101
|
+
fetch: (input: string | MockedRequest<DefaultRequestBodyType, RequestParams>, requestInit?: RequestInit) => any;
|
|
102
|
+
}, ResponseBodyType>) => RequestHandler<MockedRequest<RequestBodyType, RequestParamsType>, {
|
|
103
|
+
set: typeof set;
|
|
104
|
+
status: (statusCode: number, statusText?: string | undefined) => import("./response").ResponseTransformer<any>;
|
|
105
|
+
cookie: (name: string, value: string, options?: import("cookie").CookieSerializeOptions | undefined) => import("./response").ResponseTransformer<any>;
|
|
106
|
+
body: <BodyType extends string | Blob | ArrayBufferView | ArrayBuffer | ReadableStream<any> | FormData>(value: BodyType) => import("./response").ResponseTransformer<BodyType>;
|
|
107
|
+
text: <BodyType_1 extends string>(body: BodyType_1) => import("./response").ResponseTransformer<BodyType_1>;
|
|
108
|
+
json: <BodyType_2>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
|
|
109
|
+
xml: <BodyType_3 extends string>(body: BodyType_3) => import("./response").ResponseTransformer<BodyType_3>;
|
|
110
|
+
delay: (durationMs?: number | undefined) => import("./response").ResponseTransformer<any>;
|
|
111
|
+
fetch: (input: string | MockedRequest<DefaultRequestBodyType, RequestParams>, requestInit?: RequestInit) => any;
|
|
112
|
+
}, ParsedRestRequest, MockedRequest<RequestBodyType, RequestParams>, ResponseBodyType>;
|
|
113
|
+
delete: <RequestBodyType = DefaultRequestBodyType, ResponseBodyType = any, RequestParamsType extends RequestParams = RequestParams>(mask: Mask, resolver: ResponseResolver<MockedRequest<RequestBodyType, RequestParamsType>, {
|
|
114
|
+
set: typeof set;
|
|
115
|
+
status: (statusCode: number, statusText?: string | undefined) => import("./response").ResponseTransformer<any>;
|
|
116
|
+
cookie: (name: string, value: string, options?: import("cookie").CookieSerializeOptions | undefined) => import("./response").ResponseTransformer<any>;
|
|
117
|
+
body: <BodyType extends string | Blob | ArrayBufferView | ArrayBuffer | ReadableStream<any> | FormData>(value: BodyType) => import("./response").ResponseTransformer<BodyType>;
|
|
118
|
+
text: <BodyType_1 extends string>(body: BodyType_1) => import("./response").ResponseTransformer<BodyType_1>;
|
|
119
|
+
json: <BodyType_2>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
|
|
120
|
+
xml: <BodyType_3 extends string>(body: BodyType_3) => import("./response").ResponseTransformer<BodyType_3>;
|
|
121
|
+
delay: (durationMs?: number | undefined) => import("./response").ResponseTransformer<any>;
|
|
122
|
+
fetch: (input: string | MockedRequest<DefaultRequestBodyType, RequestParams>, requestInit?: RequestInit) => any;
|
|
123
|
+
}, ResponseBodyType>) => RequestHandler<MockedRequest<RequestBodyType, RequestParamsType>, {
|
|
124
|
+
set: typeof set;
|
|
125
|
+
status: (statusCode: number, statusText?: string | undefined) => import("./response").ResponseTransformer<any>;
|
|
126
|
+
cookie: (name: string, value: string, options?: import("cookie").CookieSerializeOptions | undefined) => import("./response").ResponseTransformer<any>;
|
|
127
|
+
body: <BodyType extends string | Blob | ArrayBufferView | ArrayBuffer | ReadableStream<any> | FormData>(value: BodyType) => import("./response").ResponseTransformer<BodyType>;
|
|
128
|
+
text: <BodyType_1 extends string>(body: BodyType_1) => import("./response").ResponseTransformer<BodyType_1>;
|
|
129
|
+
json: <BodyType_2>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
|
|
130
|
+
xml: <BodyType_3 extends string>(body: BodyType_3) => import("./response").ResponseTransformer<BodyType_3>;
|
|
131
|
+
delay: (durationMs?: number | undefined) => import("./response").ResponseTransformer<any>;
|
|
132
|
+
fetch: (input: string | MockedRequest<DefaultRequestBodyType, RequestParams>, requestInit?: RequestInit) => any;
|
|
133
|
+
}, ParsedRestRequest, MockedRequest<RequestBodyType, RequestParams>, ResponseBodyType>;
|
|
134
|
+
patch: <RequestBodyType = DefaultRequestBodyType, ResponseBodyType = any, RequestParamsType extends RequestParams = RequestParams>(mask: Mask, resolver: ResponseResolver<MockedRequest<RequestBodyType, RequestParamsType>, {
|
|
135
|
+
set: typeof set;
|
|
136
|
+
status: (statusCode: number, statusText?: string | undefined) => import("./response").ResponseTransformer<any>;
|
|
137
|
+
cookie: (name: string, value: string, options?: import("cookie").CookieSerializeOptions | undefined) => import("./response").ResponseTransformer<any>;
|
|
138
|
+
body: <BodyType extends string | Blob | ArrayBufferView | ArrayBuffer | ReadableStream<any> | FormData>(value: BodyType) => import("./response").ResponseTransformer<BodyType>;
|
|
139
|
+
text: <BodyType_1 extends string>(body: BodyType_1) => import("./response").ResponseTransformer<BodyType_1>;
|
|
140
|
+
json: <BodyType_2>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
|
|
141
|
+
xml: <BodyType_3 extends string>(body: BodyType_3) => import("./response").ResponseTransformer<BodyType_3>;
|
|
142
|
+
delay: (durationMs?: number | undefined) => import("./response").ResponseTransformer<any>;
|
|
143
|
+
fetch: (input: string | MockedRequest<DefaultRequestBodyType, RequestParams>, requestInit?: RequestInit) => any;
|
|
144
|
+
}, ResponseBodyType>) => RequestHandler<MockedRequest<RequestBodyType, RequestParamsType>, {
|
|
145
|
+
set: typeof set;
|
|
146
|
+
status: (statusCode: number, statusText?: string | undefined) => import("./response").ResponseTransformer<any>;
|
|
147
|
+
cookie: (name: string, value: string, options?: import("cookie").CookieSerializeOptions | undefined) => import("./response").ResponseTransformer<any>;
|
|
148
|
+
body: <BodyType extends string | Blob | ArrayBufferView | ArrayBuffer | ReadableStream<any> | FormData>(value: BodyType) => import("./response").ResponseTransformer<BodyType>;
|
|
149
|
+
text: <BodyType_1 extends string>(body: BodyType_1) => import("./response").ResponseTransformer<BodyType_1>;
|
|
150
|
+
json: <BodyType_2>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
|
|
151
|
+
xml: <BodyType_3 extends string>(body: BodyType_3) => import("./response").ResponseTransformer<BodyType_3>;
|
|
152
|
+
delay: (durationMs?: number | undefined) => import("./response").ResponseTransformer<any>;
|
|
153
|
+
fetch: (input: string | MockedRequest<DefaultRequestBodyType, RequestParams>, requestInit?: RequestInit) => any;
|
|
154
|
+
}, ParsedRestRequest, MockedRequest<RequestBodyType, RequestParams>, ResponseBodyType>;
|
|
155
|
+
options: <RequestBodyType = DefaultRequestBodyType, ResponseBodyType = any, RequestParamsType extends RequestParams = RequestParams>(mask: Mask, resolver: ResponseResolver<MockedRequest<RequestBodyType, RequestParamsType>, {
|
|
156
|
+
set: typeof set;
|
|
157
|
+
status: (statusCode: number, statusText?: string | undefined) => import("./response").ResponseTransformer<any>;
|
|
158
|
+
cookie: (name: string, value: string, options?: import("cookie").CookieSerializeOptions | undefined) => import("./response").ResponseTransformer<any>;
|
|
159
|
+
body: <BodyType extends string | Blob | ArrayBufferView | ArrayBuffer | ReadableStream<any> | FormData>(value: BodyType) => import("./response").ResponseTransformer<BodyType>;
|
|
160
|
+
text: <BodyType_1 extends string>(body: BodyType_1) => import("./response").ResponseTransformer<BodyType_1>;
|
|
161
|
+
json: <BodyType_2>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
|
|
162
|
+
xml: <BodyType_3 extends string>(body: BodyType_3) => import("./response").ResponseTransformer<BodyType_3>;
|
|
163
|
+
delay: (durationMs?: number | undefined) => import("./response").ResponseTransformer<any>;
|
|
164
|
+
fetch: (input: string | MockedRequest<DefaultRequestBodyType, RequestParams>, requestInit?: RequestInit) => any;
|
|
165
|
+
}, ResponseBodyType>) => RequestHandler<MockedRequest<RequestBodyType, RequestParamsType>, {
|
|
166
|
+
set: typeof set;
|
|
167
|
+
status: (statusCode: number, statusText?: string | undefined) => import("./response").ResponseTransformer<any>;
|
|
168
|
+
cookie: (name: string, value: string, options?: import("cookie").CookieSerializeOptions | undefined) => import("./response").ResponseTransformer<any>;
|
|
169
|
+
body: <BodyType extends string | Blob | ArrayBufferView | ArrayBuffer | ReadableStream<any> | FormData>(value: BodyType) => import("./response").ResponseTransformer<BodyType>;
|
|
170
|
+
text: <BodyType_1 extends string>(body: BodyType_1) => import("./response").ResponseTransformer<BodyType_1>;
|
|
171
|
+
json: <BodyType_2>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
|
|
172
|
+
xml: <BodyType_3 extends string>(body: BodyType_3) => import("./response").ResponseTransformer<BodyType_3>;
|
|
173
|
+
delay: (durationMs?: number | undefined) => import("./response").ResponseTransformer<any>;
|
|
174
|
+
fetch: (input: string | MockedRequest<DefaultRequestBodyType, RequestParams>, requestInit?: RequestInit) => any;
|
|
175
|
+
}, ParsedRestRequest, MockedRequest<RequestBodyType, RequestParams>, ResponseBodyType>;
|
|
34
176
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { HeadersList } from 'headers-utils';
|
|
2
|
-
import { RequestHandler } from '../handlers/requestHandler';
|
|
2
|
+
import { RequestHandler } from '../utils/handlers/requestHandler';
|
|
3
3
|
import { MockedResponse } from '../response';
|
|
4
4
|
import { SharedOptions } from '../sharedOptions';
|
|
5
5
|
import { ServiceWorkerMessage } from '../utils/createBroadcastChannel';
|
|
@@ -9,6 +9,7 @@ export interface SetupWorkerInternalContext {
|
|
|
9
9
|
worker: ServiceWorker | null;
|
|
10
10
|
registration: ServiceWorkerRegistration | null;
|
|
11
11
|
requestHandlers: RequestHandler<any, any>[];
|
|
12
|
+
keepAliveInterval?: number;
|
|
12
13
|
events: {
|
|
13
14
|
/**
|
|
14
15
|
* Adds an event listener on the given target.
|
|
@@ -25,7 +26,11 @@ export interface SetupWorkerInternalContext {
|
|
|
25
26
|
once<T>(type: string): Promise<ServiceWorkerMessage<T>>;
|
|
26
27
|
};
|
|
27
28
|
}
|
|
28
|
-
export declare type ServiceWorkerInstanceTuple = [
|
|
29
|
+
export declare type ServiceWorkerInstanceTuple = [
|
|
30
|
+
ServiceWorker | null,
|
|
31
|
+
ServiceWorkerRegistration
|
|
32
|
+
];
|
|
33
|
+
export declare type FindWorker = (scriptUrl: string, mockServiceWorkerUrl: string) => boolean;
|
|
29
34
|
export declare type StartOptions = SharedOptions & {
|
|
30
35
|
serviceWorker?: {
|
|
31
36
|
url?: string;
|
|
@@ -41,8 +46,13 @@ export declare type StartOptions = SharedOptions & {
|
|
|
41
46
|
* instance is ready. Defaults to `true`.
|
|
42
47
|
*/
|
|
43
48
|
waitUntilReady?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* A custom lookup function to find a Mock Service Worker in the list
|
|
51
|
+
* of all registered Service Workers on the page.
|
|
52
|
+
*/
|
|
53
|
+
findWorker?: FindWorker;
|
|
44
54
|
};
|
|
45
|
-
export declare type RequestHandlersList = RequestHandler<any, any>[];
|
|
46
|
-
export declare type ResponseWithSerializedHeaders = Omit<MockedResponse
|
|
55
|
+
export declare type RequestHandlersList = RequestHandler<any, any, any, any, any>[];
|
|
56
|
+
export declare type ResponseWithSerializedHeaders<BodyType = any> = Omit<MockedResponse<BodyType>, 'headers'> & {
|
|
47
57
|
headers: HeadersList;
|
|
48
58
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { FindWorker } from '../../glossary';
|
|
1
2
|
/**
|
|
2
3
|
* Attempts to resolve a Service Worker instance from a given registration,
|
|
3
4
|
* regardless of its state (active, installing, waiting).
|
|
4
5
|
*/
|
|
5
|
-
export declare const getWorkerByRegistration: (registration: ServiceWorkerRegistration, absoluteWorkerUrl: string) => ServiceWorker | null;
|
|
6
|
+
export declare const getWorkerByRegistration: (registration: ServiceWorkerRegistration, absoluteWorkerUrl: string, findWorker: FindWorker) => ServiceWorker | null;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ServiceWorkerInstanceTuple } from '../../glossary';
|
|
1
|
+
import { ServiceWorkerInstanceTuple, FindWorker } from '../../glossary';
|
|
2
2
|
/**
|
|
3
3
|
* Returns an active Service Worker instance.
|
|
4
4
|
* When not found, registers a new Service Worker.
|
|
5
5
|
*/
|
|
6
|
-
export declare const getWorkerInstance: (url: string, options
|
|
6
|
+
export declare const getWorkerInstance: (url: string, options: RegistrationOptions | undefined, findWorker: FindWorker) => Promise<ServiceWorkerInstanceTuple | null>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RequestHandlersList } from '../setupWorker/glossary';
|
|
2
|
-
import { RequestHandler, MockedRequest } from '
|
|
2
|
+
import { RequestHandler, MockedRequest } from './handlers/requestHandler';
|
|
3
3
|
import { MockedResponse } from '../response';
|
|
4
4
|
interface ResponsePayload {
|
|
5
5
|
response: MockedResponse | null;
|
|
@@ -10,5 +10,5 @@ interface ResponsePayload {
|
|
|
10
10
|
/**
|
|
11
11
|
* Returns a mocked response for a given request using following request handlers.
|
|
12
12
|
*/
|
|
13
|
-
export declare const getResponse: <R extends MockedRequest, H extends RequestHandlersList>(req: R, handlers: H) => Promise<ResponsePayload>;
|
|
13
|
+
export declare const getResponse: <R extends MockedRequest<import("./handlers/requestHandler").DefaultRequestBodyType, import("./handlers/requestHandler").RequestParams>, H extends RequestHandlersList>(req: R, handlers: H) => Promise<ResponsePayload>;
|
|
14
14
|
export {};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { Headers } from 'headers-utils';
|
|
2
|
+
import { ResponseWithSerializedHeaders } from '../../setupWorker/glossary';
|
|
3
|
+
import { ResponseComposition, MockedResponse } from '../../response';
|
|
4
|
+
import { set } from '../../context/set';
|
|
5
|
+
export declare const defaultContext: {
|
|
6
|
+
status: (statusCode: number, statusText?: string | undefined) => import("../../response").ResponseTransformer<any>;
|
|
7
|
+
set: typeof set;
|
|
8
|
+
delay: (durationMs?: number | undefined) => import("../../response").ResponseTransformer<any>;
|
|
9
|
+
fetch: (input: string | MockedRequest<DefaultRequestBodyType, RequestParams>, requestInit?: RequestInit) => any;
|
|
10
|
+
};
|
|
11
|
+
export declare type DefaultRequestBodyType = Record<string, any> | string | undefined;
|
|
12
|
+
export interface MockedRequest<BodyType = DefaultRequestBodyType, RequestParamsType = RequestParams> {
|
|
13
|
+
url: URL;
|
|
14
|
+
method: Request['method'];
|
|
15
|
+
headers: Headers;
|
|
16
|
+
cookies: Record<string, string>;
|
|
17
|
+
mode: Request['mode'];
|
|
18
|
+
keepalive: Request['keepalive'];
|
|
19
|
+
cache: Request['cache'];
|
|
20
|
+
destination: Request['destination'];
|
|
21
|
+
integrity: Request['integrity'];
|
|
22
|
+
credentials: Request['credentials'];
|
|
23
|
+
redirect: Request['redirect'];
|
|
24
|
+
referrer: Request['referrer'];
|
|
25
|
+
referrerPolicy: Request['referrerPolicy'];
|
|
26
|
+
body: BodyType;
|
|
27
|
+
bodyUsed: Request['bodyUsed'];
|
|
28
|
+
params: RequestParamsType;
|
|
29
|
+
}
|
|
30
|
+
export declare type RequestQuery = {
|
|
31
|
+
[queryName: string]: any;
|
|
32
|
+
};
|
|
33
|
+
export declare type RequestParams = {
|
|
34
|
+
[paramName: string]: any;
|
|
35
|
+
};
|
|
36
|
+
export declare type ResponseResolverReturnType<R> = R | undefined | void;
|
|
37
|
+
export declare type AsyncResponseResolverReturnType<R> = Promise<ResponseResolverReturnType<R>> | ResponseResolverReturnType<R>;
|
|
38
|
+
export declare type ResponseResolver<RequestType = MockedRequest, ContextType = typeof defaultContext, BodyType = any> = (req: RequestType, res: ResponseComposition<BodyType>, context: ContextType) => AsyncResponseResolverReturnType<MockedResponse<BodyType>>;
|
|
39
|
+
export interface RequestHandler<RequestType = MockedRequest, ContextType = typeof defaultContext, ParsedRequest = any, PublicRequest = RequestType, ResponseBodyType = any> {
|
|
40
|
+
/**
|
|
41
|
+
* Parses a captured request to retrieve additional
|
|
42
|
+
* information meant for internal usage in the request handler.
|
|
43
|
+
*/
|
|
44
|
+
parse?: (req: RequestType) => ParsedRequest | null;
|
|
45
|
+
/**
|
|
46
|
+
* Returns a modified request with necessary public properties appended.
|
|
47
|
+
*/
|
|
48
|
+
getPublicRequest?: (req: RequestType, parsedRequest: ParsedRequest) => PublicRequest;
|
|
49
|
+
/**
|
|
50
|
+
* Predicate function that decides whether a Request should be mocked.
|
|
51
|
+
*/
|
|
52
|
+
predicate: (req: RequestType, parsedRequest: ParsedRequest) => boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Returns a mocked response object to the captured request.
|
|
55
|
+
*/
|
|
56
|
+
resolver: ResponseResolver<RequestType, ContextType, ResponseBodyType>;
|
|
57
|
+
/**
|
|
58
|
+
* Returns a map of context utility functions available
|
|
59
|
+
* under the `ctx` argument of request handler.
|
|
60
|
+
*/
|
|
61
|
+
defineContext?: (req: PublicRequest) => ContextType;
|
|
62
|
+
/**
|
|
63
|
+
* Prints out a mocked request/response information
|
|
64
|
+
* upon each request capture into browser's console.
|
|
65
|
+
*/
|
|
66
|
+
log: (req: PublicRequest, res: ResponseWithSerializedHeaders, handler: RequestHandler<RequestType, ContextType, ParsedRequest, PublicRequest, ResponseBodyType>, parsedRequest: ParsedRequest) => void;
|
|
67
|
+
/**
|
|
68
|
+
* Describes whether this request handler should be skipped
|
|
69
|
+
* when dealing with any subsequent matching requests.
|
|
70
|
+
*/
|
|
71
|
+
shouldSkip?: boolean;
|
|
72
|
+
}
|
|
73
|
+
declare const _default: null;
|
|
74
|
+
export default _default;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RequestHandlersList } from '
|
|
1
|
+
import { RequestHandlersList } from '../../setupWorker/glossary';
|
|
2
2
|
export declare function use(currentHandlers: RequestHandlersList, ...handlers: RequestHandlersList): void;
|
|
3
3
|
export declare function restoreHandlers(handlers: RequestHandlersList): void;
|
|
4
|
-
export declare function resetHandlers(initialHandlers: RequestHandlersList, ...nextHandlers: RequestHandlersList): import("
|
|
4
|
+
export declare function resetHandlers(initialHandlers: RequestHandlersList, ...nextHandlers: RequestHandlersList): import("./requestHandler").RequestHandler<any, any, any, any, any>[];
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MockedRequest } from '
|
|
1
|
+
import { MockedRequest } from '../handlers/requestHandler';
|
|
2
2
|
/**
|
|
3
3
|
* Formats a mocked request for introspection in browser's console.
|
|
4
4
|
*/
|
|
@@ -16,7 +16,7 @@ export declare function prepareRequest(req: MockedRequest): {
|
|
|
16
16
|
redirect: RequestRedirect;
|
|
17
17
|
referrer: string;
|
|
18
18
|
referrerPolicy: ReferrerPolicy;
|
|
19
|
-
body:
|
|
19
|
+
body: import("../handlers/requestHandler").DefaultRequestBodyType;
|
|
20
20
|
bodyUsed: boolean;
|
|
21
|
-
params: import("
|
|
21
|
+
params: import("../handlers/requestHandler").RequestParams;
|
|
22
22
|
};
|
|
@@ -2,8 +2,8 @@ import { ResponseWithSerializedHeaders } from '../../setupWorker/glossary';
|
|
|
2
2
|
/**
|
|
3
3
|
* Formats a mocked response for introspection in browser's console.
|
|
4
4
|
*/
|
|
5
|
-
export declare function prepareResponse(res: ResponseWithSerializedHeaders): {
|
|
6
|
-
body:
|
|
5
|
+
export declare function prepareResponse(res: ResponseWithSerializedHeaders<any>): {
|
|
6
|
+
body: import("../handlers/requestHandler").DefaultRequestBodyType;
|
|
7
7
|
status: number;
|
|
8
8
|
statusText: string;
|
|
9
9
|
once: boolean;
|
|
File without changes
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { MockedRequest } from '../handlers/requestHandler';
|
|
2
|
+
/**
|
|
3
|
+
* Returns a relative URL if the given request URL is relative to the current origin.
|
|
4
|
+
* Otherwise returns an absolute URL.
|
|
5
|
+
*/
|
|
6
|
+
export declare const getPublicUrlFromRequest: (request: MockedRequest) => string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MockedRequest } from '
|
|
1
|
+
import { MockedRequest } from '../handlers/requestHandler';
|
|
2
2
|
declare type UnhandledRequestCallback = (req: MockedRequest) => void;
|
|
3
3
|
export declare type OnUnhandledRequest = 'bypass' | 'warn' | 'error' | UnhandledRequestCallback;
|
|
4
4
|
export declare function onUnhandledRequest(request: MockedRequest, onUnhandledRequest?: OnUnhandledRequest): void;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { MockedRequest } from '../handlers/requestHandler';
|
|
2
|
+
/**
|
|
3
|
+
* Parses a given request/response body based on the `Content-Type` header.
|
|
4
|
+
*/
|
|
5
|
+
export declare function parseBody(body?: MockedRequest['body'], headers?: Headers): import("../handlers/requestHandler").DefaultRequestBodyType;
|
|
File without changes
|