msw 0.41.1 → 0.42.0

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.
@@ -1,51 +1,8 @@
1
1
  import { PartialDeep } from 'type-fest';
2
2
  import { IsomorphicResponse } from '@mswjs/interceptors';
3
- import { Headers, FlatHeadersObject } from 'headers-polyfill';
3
+ import { FlatHeadersObject, Headers } from 'headers-polyfill';
4
4
  import { StrictEventEmitter } from 'strict-event-emitter';
5
5
 
6
- declare type MaybePromise<ValueType = any> = ValueType | Promise<ValueType>;
7
- /**
8
- * Internal representation of a mocked response instance.
9
- */
10
- interface MockedResponse<BodyType = any> {
11
- body: BodyType;
12
- status: number;
13
- statusText: string;
14
- headers: Headers;
15
- once: boolean;
16
- passthrough: boolean;
17
- delay?: number;
18
- }
19
- declare type ResponseTransformer<BodyType extends TransformerBodyType = any, TransformerBodyType = any> = (res: MockedResponse<TransformerBodyType>) => MaybePromise<MockedResponse<BodyType>>;
20
- declare type ResponseFunction<BodyType = any> = (...transformers: ResponseTransformer<BodyType>[]) => MaybePromise<MockedResponse<BodyType>>;
21
- declare type ResponseComposition<BodyType = any> = ResponseFunction<BodyType> & {
22
- /**
23
- * Respond using a given mocked response to the first captured request.
24
- * Does not affect any subsequent captured requests.
25
- */
26
- once: ResponseFunction<BodyType>;
27
- networkError: (message: string) => void;
28
- };
29
- declare const defaultResponse: Omit<MockedResponse, 'headers'>;
30
- declare type ResponseCompositionOptions<BodyType> = {
31
- defaultTransformers?: ResponseTransformer<BodyType>[];
32
- mockedResponseOverrides?: Partial<MockedResponse>;
33
- };
34
- declare function createResponseComposition<BodyType>(responseOverrides?: Partial<MockedResponse<BodyType>>, defaultTransformers?: ResponseTransformer<BodyType>[]): ResponseFunction;
35
- declare const response: ResponseFunction<any> & {
36
- once: ResponseFunction<any>;
37
- networkError(message: string): never;
38
- };
39
-
40
- /**
41
- * Sets a response status code and text.
42
- * @example
43
- * res(ctx.status(301))
44
- * res(ctx.status(400, 'Custom status text'))
45
- * @see {@link https://mswjs.io/docs/api/context/status `ctx.status()`}
46
- */
47
- declare const status: (statusCode: number, statusText?: string) => ResponseTransformer;
48
-
49
6
  declare type HeadersObject<KeyType extends string = string> = Record<KeyType, string | string[]>;
50
7
  /**
51
8
  * @see https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name
@@ -75,6 +32,14 @@ declare type DelayMode = 'real' | 'infinite';
75
32
  */
76
33
  declare const delay: (durationOrMode?: DelayMode | number) => ResponseTransformer;
77
34
 
35
+ /**
36
+ * Performs a bypassed request inside a request handler.
37
+ * @example
38
+ * const originalResponse = await ctx.fetch(req)
39
+ * @see {@link https://mswjs.io/docs/api/context/fetch `ctx.fetch()`}
40
+ */
41
+ declare const fetch: (input: string | MockedRequest, requestInit?: RequestInit) => Promise<Response>;
42
+
78
43
  interface ResponseLookupResult {
79
44
  handler?: RequestHandler;
80
45
  publicRequest?: any;
@@ -146,11 +111,12 @@ interface StartOptions extends SharedOptions {
146
111
  */
147
112
  findWorker?: FindWorker;
148
113
  }
149
- interface SerializedResponse<BodyType = any> {
114
+ interface SerializedResponse<BodyType extends DefaultBodyType = any> {
150
115
  status: number;
151
116
  statusText: string;
152
117
  headers: FlatHeadersObject;
153
118
  body: BodyType;
119
+ delay?: number;
154
120
  }
155
121
  declare type StartReturnType = Promise<ServiceWorkerRegistration | undefined>;
156
122
  declare type StopHandler = () => void;
@@ -285,13 +251,48 @@ declare abstract class RequestHandler<HandlerInfo extends RequestHandlerDefaultI
285
251
  */
286
252
  declare function passthrough(): MockedResponse<null>;
287
253
 
254
+ declare type MaybePromise<ValueType = any> = ValueType | Promise<ValueType>;
288
255
  /**
289
- * Performs a bypassed request inside a request handler.
256
+ * Internal representation of a mocked response instance.
257
+ */
258
+ interface MockedResponse<BodyType extends DefaultBodyType = any> {
259
+ body: BodyType;
260
+ status: number;
261
+ statusText: string;
262
+ headers: Headers;
263
+ once: boolean;
264
+ passthrough: boolean;
265
+ delay?: number;
266
+ }
267
+ declare type ResponseTransformer<BodyType extends TransformerBodyType = any, TransformerBodyType = any> = (res: MockedResponse<TransformerBodyType>) => MaybePromise<MockedResponse<BodyType>>;
268
+ declare type ResponseFunction<BodyType = any> = (...transformers: ResponseTransformer<BodyType>[]) => MaybePromise<MockedResponse<BodyType>>;
269
+ declare type ResponseComposition<BodyType = any> = ResponseFunction<BodyType> & {
270
+ /**
271
+ * Respond using a given mocked response to the first captured request.
272
+ * Does not affect any subsequent captured requests.
273
+ */
274
+ once: ResponseFunction<BodyType>;
275
+ networkError: (message: string) => void;
276
+ };
277
+ declare const defaultResponse: Omit<MockedResponse, 'headers'>;
278
+ declare type ResponseCompositionOptions<BodyType> = {
279
+ defaultTransformers?: ResponseTransformer<BodyType>[];
280
+ mockedResponseOverrides?: Partial<MockedResponse>;
281
+ };
282
+ declare function createResponseComposition<BodyType>(responseOverrides?: Partial<MockedResponse<BodyType>>, defaultTransformers?: ResponseTransformer<BodyType>[]): ResponseFunction;
283
+ declare const response: ResponseFunction<any> & {
284
+ once: ResponseFunction<any>;
285
+ networkError(message: string): never;
286
+ };
287
+
288
+ /**
289
+ * Sets a response status code and text.
290
290
  * @example
291
- * const originalResponse = await ctx.fetch(req)
292
- * @see {@link https://mswjs.io/docs/api/context/fetch `ctx.fetch()`}
291
+ * res(ctx.status(301))
292
+ * res(ctx.status(400, 'Custom status text'))
293
+ * @see {@link https://mswjs.io/docs/api/context/status `ctx.status()`}
293
294
  */
294
- declare const fetch: (input: string | MockedRequest, requestInit?: RequestInit) => Promise<Response>;
295
+ declare const status: (statusCode: number, statusText?: string) => ResponseTransformer;
295
296
 
296
297
  declare type ServerLifecycleEventsMap = LifeCycleEventsMap<IsomorphicResponse>;
297
298
  interface SetupServerApi {