msw 0.24.0 → 0.24.4

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,6 +1,14 @@
1
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 { status } from './context/status';
5
+ import { cookie } from './context/cookie';
6
+ import { body } from './context/body';
7
+ import { text } from './context/text';
8
+ import { json } from './context/json';
9
+ import { xml } from './context/xml';
10
+ import { delay } from './context/delay';
11
+ import { fetch } from './context/fetch';
4
12
  import { matchRequestUrl } from './utils/matching/matchRequestUrl';
5
13
  export declare enum RESTMethods {
6
14
  HEAD = "HEAD",
@@ -11,166 +19,88 @@ export declare enum RESTMethods {
11
19
  OPTIONS = "OPTIONS",
12
20
  DELETE = "DELETE"
13
21
  }
14
- export declare const restContext: {
22
+ export interface RestContext {
15
23
  set: typeof set;
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: <BodyTypeJSON>(body: BodyTypeJSON) => import("./response").ResponseTransformer<string>;
21
- xml: <BodyType_2 extends string>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
22
- delay: (durationMs?: number | undefined) => import("./response").ResponseTransformer<any>;
23
- fetch: (input: string | MockedRequest<DefaultRequestBodyType, RequestParams>, requestInit?: RequestInit) => any;
24
- };
24
+ status: typeof status;
25
+ cookie: typeof cookie;
26
+ text: typeof text;
27
+ body: typeof body;
28
+ json: typeof json;
29
+ xml: typeof xml;
30
+ delay: typeof delay;
31
+ fetch: typeof fetch;
32
+ }
33
+ export declare const restContext: RestContext;
25
34
  export interface ParsedRestRequest {
26
35
  match: ReturnType<typeof matchRequestUrl>;
27
36
  }
28
37
  export declare const rest: {
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: <BodyTypeJSON>(body: BodyTypeJSON) => import("./response").ResponseTransformer<string>;
36
- xml: <BodyType_2 extends string>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
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: <BodyTypeJSON>(body: BodyTypeJSON) => import("./response").ResponseTransformer<string>;
46
- xml: <BodyType_2 extends string>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
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: <BodyTypeJSON>(body: BodyTypeJSON) => import("./response").ResponseTransformer<string>;
57
- xml: <BodyType_2 extends string>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
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: <BodyTypeJSON>(body: BodyTypeJSON) => import("./response").ResponseTransformer<string>;
67
- xml: <BodyType_2 extends string>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
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: <BodyTypeJSON>(body: BodyTypeJSON) => import("./response").ResponseTransformer<string>;
78
- xml: <BodyType_2 extends string>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
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: <BodyTypeJSON>(body: BodyTypeJSON) => import("./response").ResponseTransformer<string>;
88
- xml: <BodyType_2 extends string>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
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: <BodyTypeJSON>(body: BodyTypeJSON) => import("./response").ResponseTransformer<string>;
99
- xml: <BodyType_2 extends string>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
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: <BodyTypeJSON>(body: BodyTypeJSON) => import("./response").ResponseTransformer<string>;
109
- xml: <BodyType_2 extends string>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
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: <BodyTypeJSON>(body: BodyTypeJSON) => import("./response").ResponseTransformer<string>;
120
- xml: <BodyType_2 extends string>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
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: <BodyTypeJSON>(body: BodyTypeJSON) => import("./response").ResponseTransformer<string>;
130
- xml: <BodyType_2 extends string>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
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: <BodyTypeJSON>(body: BodyTypeJSON) => import("./response").ResponseTransformer<string>;
141
- xml: <BodyType_2 extends string>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
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: <BodyTypeJSON>(body: BodyTypeJSON) => import("./response").ResponseTransformer<string>;
151
- xml: <BodyType_2 extends string>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
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: <BodyTypeJSON>(body: BodyTypeJSON) => import("./response").ResponseTransformer<string>;
162
- xml: <BodyType_2 extends string>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
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: <BodyTypeJSON>(body: BodyTypeJSON) => import("./response").ResponseTransformer<string>;
172
- xml: <BodyType_2 extends string>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
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>;
38
+ /**
39
+ * Captures a HEAD request by a given path.
40
+ * @example
41
+ * rest.head('/numbers', (req, res, ctx) => {
42
+ * return res(ctx.status(302))
43
+ * })
44
+ * @see {@link https://mswjs.io/docs/api/rest `rest`}
45
+ */
46
+ head: <RequestBodyType = DefaultRequestBodyType, ResponseBodyType = any, RequestParamsType extends RequestParams = RequestParams>(mask: Mask, resolver: ResponseResolver<MockedRequest<RequestBodyType, RequestParamsType>, RestContext, ResponseBodyType>) => RequestHandler<MockedRequest<RequestBodyType, RequestParamsType>, RestContext, ParsedRestRequest, MockedRequest<RequestBodyType, RequestParams>, ResponseBodyType>;
47
+ /**
48
+ * Captures a GET request by a given path.
49
+ * @example
50
+ * rest.get('/numbers', (req, res, ctx) => {
51
+ * return res(ctx.json([1, 2, 3]))
52
+ * })
53
+ * @see {@link https://mswjs.io/docs/api/rest `rest`}
54
+ */
55
+ get: <RequestBodyType = DefaultRequestBodyType, ResponseBodyType = any, RequestParamsType extends RequestParams = RequestParams>(mask: Mask, resolver: ResponseResolver<MockedRequest<RequestBodyType, RequestParamsType>, RestContext, ResponseBodyType>) => RequestHandler<MockedRequest<RequestBodyType, RequestParamsType>, RestContext, ParsedRestRequest, MockedRequest<RequestBodyType, RequestParams>, ResponseBodyType>;
56
+ /**
57
+ * Captures a POST request by a given path.
58
+ * @example
59
+ * rest.post('/numbers', (req, res, ctx) => {
60
+ * return res(ctx.text('success'))
61
+ * })
62
+ * @see {@link https://mswjs.io/docs/api/rest `rest`}
63
+ */
64
+ post: <RequestBodyType = DefaultRequestBodyType, ResponseBodyType = any, RequestParamsType extends RequestParams = RequestParams>(mask: Mask, resolver: ResponseResolver<MockedRequest<RequestBodyType, RequestParamsType>, RestContext, ResponseBodyType>) => RequestHandler<MockedRequest<RequestBodyType, RequestParamsType>, RestContext, ParsedRestRequest, MockedRequest<RequestBodyType, RequestParams>, ResponseBodyType>;
65
+ /**
66
+ * Captures a PUT request by a given path.
67
+ * @example
68
+ * rest.put('/numbers', (req, res, ctx) => {
69
+ * const { numbers } = req.body
70
+ * return res(ctx.json(numbers))
71
+ * })
72
+ * @see {@link https://mswjs.io/docs/api/rest `rest`}
73
+ */
74
+ put: <RequestBodyType = DefaultRequestBodyType, ResponseBodyType = any, RequestParamsType extends RequestParams = RequestParams>(mask: Mask, resolver: ResponseResolver<MockedRequest<RequestBodyType, RequestParamsType>, RestContext, ResponseBodyType>) => RequestHandler<MockedRequest<RequestBodyType, RequestParamsType>, RestContext, ParsedRestRequest, MockedRequest<RequestBodyType, RequestParams>, ResponseBodyType>;
75
+ /**
76
+ * Captures a DELETE request by a given path.
77
+ * @example
78
+ * rest.delete('/numbers', (req, res, ctx) => {
79
+ * const index = req.url.searchParams.get('index')
80
+ * prevNumbers.splice(index, 1)
81
+ * return res(ctx.json(nextNumbers))
82
+ * })
83
+ * @see {@link https://mswjs.io/docs/api/rest `rest`}
84
+ */
85
+ delete: <RequestBodyType = DefaultRequestBodyType, ResponseBodyType = any, RequestParamsType extends RequestParams = RequestParams>(mask: Mask, resolver: ResponseResolver<MockedRequest<RequestBodyType, RequestParamsType>, RestContext, ResponseBodyType>) => RequestHandler<MockedRequest<RequestBodyType, RequestParamsType>, RestContext, ParsedRestRequest, MockedRequest<RequestBodyType, RequestParams>, ResponseBodyType>;
86
+ /**
87
+ * Captures a PATCH request by a given path.
88
+ * @example
89
+ * rest.patch('/numbers', (req, res, ctx) => {
90
+ * const { numbers } = req.body
91
+ * const nextNumbers = prevNumbers.concat(number)
92
+ * return res(ctx.json(nextNumbers))
93
+ * })
94
+ * @see {@link https://mswjs.io/docs/api/rest `rest`}
95
+ */
96
+ patch: <RequestBodyType = DefaultRequestBodyType, ResponseBodyType = any, RequestParamsType extends RequestParams = RequestParams>(mask: Mask, resolver: ResponseResolver<MockedRequest<RequestBodyType, RequestParamsType>, RestContext, ResponseBodyType>) => RequestHandler<MockedRequest<RequestBodyType, RequestParamsType>, RestContext, ParsedRestRequest, MockedRequest<RequestBodyType, RequestParams>, ResponseBodyType>;
97
+ /**
98
+ * Captures an OPTIONS request by a given path.
99
+ * @example
100
+ * rest.options('/numbers', (req, res, ctx) => {
101
+ * return res(ctx.set('Allow', 'GET,HEAD,POST'))
102
+ * })
103
+ * @see {@link https://mswjs.io/docs/api/rest `rest`}
104
+ */
105
+ options: <RequestBodyType = DefaultRequestBodyType, ResponseBodyType = any, RequestParamsType extends RequestParams = RequestParams>(mask: Mask, resolver: ResponseResolver<MockedRequest<RequestBodyType, RequestParamsType>, RestContext, ResponseBodyType>) => RequestHandler<MockedRequest<RequestBodyType, RequestParamsType>, RestContext, ParsedRestRequest, MockedRequest<RequestBodyType, RequestParams>, ResponseBodyType>;
176
106
  };
@@ -34,17 +34,20 @@ export declare type ServiceWorkerInstanceTuple = [
34
34
  ];
35
35
  export declare type FindWorker = (scriptUrl: string, mockServiceWorkerUrl: string) => boolean;
36
36
  export declare type StartOptions = SharedOptions & {
37
+ /**
38
+ * Service Worker instance options.
39
+ */
37
40
  serviceWorker?: {
38
41
  url?: string;
39
42
  options?: RegistrationOptions;
40
43
  };
41
44
  /**
42
- * Disable the logging of captured requests
45
+ * Disables the logging of captured requests
43
46
  * into browser's console.
44
47
  */
45
48
  quiet?: boolean;
46
49
  /**
47
- * Defer any network requests until the Service Worker
50
+ * Defers any network requests until the Service Worker
48
51
  * instance is ready. Defaults to `true`.
49
52
  */
50
53
  waitUntilReady?: boolean;
@@ -59,22 +62,36 @@ export declare type ResponseWithSerializedHeaders<BodyType = any> = Omit<MockedR
59
62
  headers: HeadersList;
60
63
  };
61
64
  export interface SetupWorkerApi {
65
+ /**
66
+ * Registers and activates the mock Service Worker.
67
+ * @see {@link https://mswjs.io/docs/api/setup-worker/start `worker.start()`}
68
+ */
62
69
  start: ReturnType<typeof createStart>;
70
+ /**
71
+ * Stops requests interception for the current client.
72
+ * @see {@link https://mswjs.io/docs/api/setup-worker/stop `worker.stop()`}
73
+ */
63
74
  stop: ReturnType<typeof createStop>;
64
75
  /**
65
76
  * Prepends given request handlers to the list of existing handlers.
77
+ * @param {RequestHandler[]} handlers List of runtime request handlers.
78
+ * @see {@link https://mswjs.io/docs/api/setup-worker/use `worker.use()`}
66
79
  */
67
80
  use: (...handlers: RequestHandlersList) => void;
68
81
  /**
69
82
  * Marks all request handlers that respond using `res.once()` as unused.
83
+ * @see {@link https://mswjs.io/docs/api/setup-worker/restore-handlers `worker.restoreHandlers()`}
70
84
  */
71
85
  restoreHandlers: () => void;
72
86
  /**
73
87
  * Resets request handlers to the initial list given to the `setupWorker` call, or to the explicit next request handlers list, if given.
88
+ * @param {RequestHandler[]} nextHandlers List of the new initial request handlers.
89
+ * @see {@link https://mswjs.io/docs/api/setup-worker/reset-handlers `worker.resetHandlers()`}
74
90
  */
75
91
  resetHandlers: (...nextHandlers: RequestHandlersList) => void;
76
92
  /**
77
93
  * Lists all active request handlers.
94
+ * @see {@link https://mswjs.io/docs/api/setup-worker/print-handlers `worker.printHandlers()`}
78
95
  */
79
96
  printHandlers: () => void;
80
97
  }
@@ -1,2 +1,8 @@
1
1
  import { RequestHandlersList, SetupWorkerApi } from './glossary';
2
+ /**
3
+ * Creates a new mock Service Worker registration
4
+ * with the given request handlers.
5
+ * @param {RequestHandler[]} requestHandlers List of request handlers
6
+ * @see {@link https://mswjs.io/docs/api/setup-worker `setupWorker`}
7
+ */
2
8
  export declare function setupWorker(...requestHandlers: RequestHandlersList): SetupWorkerApi;