msw 0.22.2 → 0.24.1
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/lib/esm/errors-deps.js +48 -8
- package/lib/esm/fetch-deps.js +37 -35
- package/lib/esm/{matchRequestUrl-deps.js → getCallFrame-deps.js} +27 -15
- package/lib/esm/graphql.js +46 -2
- package/lib/esm/index.js +34 -23
- package/lib/esm/rest-deps.js +71 -1
- package/lib/esm/rest.js +1 -1
- package/lib/esm/xml-deps.js +14 -10
- package/lib/types/context/body.d.ts +4 -2
- package/lib/types/context/cookie.d.ts +2 -3
- package/lib/types/context/data.d.ts +5 -3
- package/lib/types/context/delay.d.ts +4 -3
- package/lib/types/context/errors.d.ts +3 -3
- package/lib/types/context/fetch.d.ts +4 -3
- package/lib/types/context/json.d.ts +7 -8
- package/lib/types/context/set.d.ts +4 -0
- package/lib/types/context/status.d.ts +7 -0
- package/lib/types/context/text.d.ts +4 -3
- package/lib/types/context/xml.d.ts +4 -2
- package/lib/types/graphql.d.ts +58 -2
- package/lib/types/index.d.ts +2 -1
- package/lib/types/node/glossary.d.ts +13 -3
- package/lib/types/node/setupServer.d.ts +5 -0
- package/lib/types/response.d.ts +5 -2
- package/lib/types/rest.d.ts +87 -187
- package/lib/types/setupWorker/glossary.d.ts +23 -2
- package/lib/types/setupWorker/setupWorker.d.ts +6 -0
- package/lib/types/utils/handlers/requestHandler.d.ts +13 -1
- package/lib/types/utils/internal/compose.d.ts +9 -1
- package/lib/types/utils/internal/getCallFrame.d.ts +4 -0
- package/lib/umd/index.js +242 -58
- package/native/index.js +2011 -114
- package/node/index.js +2016 -114
- package/package.json +1 -1
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { ResponseTransformer } from '../response';
|
|
2
|
-
declare type JSONContextOptions = {
|
|
3
|
-
merge?: boolean;
|
|
4
|
-
};
|
|
5
2
|
/**
|
|
6
3
|
* Sets the given value as the JSON body of the response.
|
|
4
|
+
* Appends a `Content-Type: application/json` header on the
|
|
5
|
+
* mocked response.
|
|
7
6
|
* @example
|
|
8
|
-
* res(json(
|
|
9
|
-
* res(json('
|
|
10
|
-
* res(json([1, '2', false, { ok: true }]))
|
|
7
|
+
* res(ctx.json('Some string'))
|
|
8
|
+
* res(ctx.json({ key: 'value' }))
|
|
9
|
+
* res(ctx.json([1, '2', false, { ok: true }]))
|
|
10
|
+
* @see {@link https://mswjs.io/docs/api/context/json `ctx.json()`}
|
|
11
11
|
*/
|
|
12
|
-
export declare const json: <BodyTypeJSON>(body: BodyTypeJSON
|
|
13
|
-
export {};
|
|
12
|
+
export declare const json: <BodyTypeJSON>(body: BodyTypeJSON) => ResponseTransformer<string>;
|
|
@@ -1,2 +1,6 @@
|
|
|
1
1
|
import { ResponseTransformer } from '../response';
|
|
2
|
+
/**
|
|
3
|
+
* Sets one or multiple response headers.
|
|
4
|
+
* @see {@link https://mswjs.io/docs/api/context/set `ctx.set()`}
|
|
5
|
+
*/
|
|
2
6
|
export declare function set<N extends string | Record<string, string | string[]>>(...args: N extends string ? [N, string] : [N]): ResponseTransformer;
|
|
@@ -1,2 +1,9 @@
|
|
|
1
1
|
import { ResponseTransformer } from '../response';
|
|
2
|
+
/**
|
|
3
|
+
* Sets a response status code and text.
|
|
4
|
+
* @example
|
|
5
|
+
* res(ctx.status(301))
|
|
6
|
+
* res(ctx.status(400, 'Custom status text'))
|
|
7
|
+
* @see {@link https://mswjs.io/docs/api/context/status `ctx.status()`}
|
|
8
|
+
*/
|
|
2
9
|
export declare const status: (statusCode: number, statusText?: string | undefined) => ResponseTransformer;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { ResponseTransformer } from '../response';
|
|
2
2
|
/**
|
|
3
|
-
* Sets a
|
|
4
|
-
*
|
|
5
|
-
* res(text('
|
|
3
|
+
* Sets a textual response body. Appends a `Content-Type: text/plain`
|
|
4
|
+
* header on the mocked response.
|
|
5
|
+
* @example res(ctx.text('Successful response'))
|
|
6
|
+
* @see {@link https://mswjs.io/docs/api/context/text `ctx.text()`}
|
|
6
7
|
*/
|
|
7
8
|
export declare const text: <BodyType extends string>(body: BodyType) => ResponseTransformer<BodyType>;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { ResponseTransformer } from '../response';
|
|
2
2
|
/**
|
|
3
|
-
* Sets
|
|
3
|
+
* Sets an XML response body. Appends a `Content-Type: text/xml` header
|
|
4
|
+
* on the mocked response.
|
|
4
5
|
* @example
|
|
5
|
-
* res(xml('<key>
|
|
6
|
+
* res(ctx.xml('<node key="value">Content</node>'))
|
|
7
|
+
* @see {@link https://mswjs.io/docs/api/context/xml `ctx.xml()`}
|
|
6
8
|
*/
|
|
7
9
|
export declare const xml: <BodyType extends string>(body: BodyType) => ResponseTransformer<BodyType>;
|
package/lib/types/graphql.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { set } from './context/set';
|
|
|
6
6
|
import { status } from './context/status';
|
|
7
7
|
import { delay } from './context/delay';
|
|
8
8
|
import { fetch } from './context/fetch';
|
|
9
|
-
import {
|
|
9
|
+
import { data } from './context/data';
|
|
10
10
|
import { errors } from './context/errors';
|
|
11
11
|
declare type GraphQLRequestHandlerSelector = RegExp | string;
|
|
12
12
|
export declare type GraphQLMockedRequest<VariablesType = Record<string, any>> = Omit<MockedRequest, 'body'> & {
|
|
@@ -18,7 +18,7 @@ export interface GraphQLMockedContext<QueryType> {
|
|
|
18
18
|
status: typeof status;
|
|
19
19
|
delay: typeof delay;
|
|
20
20
|
fetch: typeof fetch;
|
|
21
|
-
data:
|
|
21
|
+
data: typeof data;
|
|
22
22
|
errors: typeof errors;
|
|
23
23
|
}
|
|
24
24
|
export declare const graphqlContext: GraphQLMockedContext<any>;
|
|
@@ -33,15 +33,71 @@ export interface GraphQLRequestParsedResult<VariablesType> {
|
|
|
33
33
|
variables: VariablesType | undefined;
|
|
34
34
|
}
|
|
35
35
|
declare const graphqlStandardHandlers: {
|
|
36
|
+
/**
|
|
37
|
+
* Captures any GraphQL operation, regardless of its name, under the current scope.
|
|
38
|
+
* @example
|
|
39
|
+
* graphql.operation((req, res, ctx) => {
|
|
40
|
+
* return res(ctx.data({ name: 'John' }))
|
|
41
|
+
* })
|
|
42
|
+
* @see {@link https://mswjs.io/docs/api/graphql/operation `graphql.operation()`}
|
|
43
|
+
*/
|
|
36
44
|
operation: <QueryType, VariablesType = Record<string, any>>(resolver: GraphQLResponseResolver<QueryType, VariablesType>) => RequestHandler<GraphQLMockedRequest<VariablesType>, GraphQLMockedContext<QueryType>, GraphQLRequestParsedResult<VariablesType>, GraphQLMockedRequest<VariablesType>, any>;
|
|
45
|
+
/**
|
|
46
|
+
* Captures a GraphQL query by a given name.
|
|
47
|
+
* @example
|
|
48
|
+
* graphql.query('GetUser', (req, res, ctx) => {
|
|
49
|
+
* return res(ctx.data({ user: { name: 'John' } }))
|
|
50
|
+
* })
|
|
51
|
+
* @see {@link https://mswjs.io/docs/api/graphql/query `graphql.query()`}
|
|
52
|
+
*/
|
|
37
53
|
query: <QueryType_1, VariablesType_1 = Record<string, any>>(expectedOperationName: GraphQLRequestHandlerSelector, resolver: GraphQLResponseResolver<QueryType_1, VariablesType_1>) => RequestHandler<GraphQLMockedRequest<VariablesType_1>, GraphQLMockedContext<QueryType_1>, GraphQLRequestParsedResult<VariablesType_1>, GraphQLMockedRequest<VariablesType_1>, any>;
|
|
54
|
+
/**
|
|
55
|
+
* Captures a GraphQL mutation by a given name.
|
|
56
|
+
* @example
|
|
57
|
+
* graphql.mutation('SavePost', (req, res, ctx) => {
|
|
58
|
+
* return res(ctx.data({ post: { id: 'abc-123' } }))
|
|
59
|
+
* })
|
|
60
|
+
* @see {@link https://mswjs.io/docs/api/graphql/mutation `graphql.mutation()`}
|
|
61
|
+
*/
|
|
38
62
|
mutation: <QueryType_1, VariablesType_1 = Record<string, any>>(expectedOperationName: GraphQLRequestHandlerSelector, resolver: GraphQLResponseResolver<QueryType_1, VariablesType_1>) => RequestHandler<GraphQLMockedRequest<VariablesType_1>, GraphQLMockedContext<QueryType_1>, GraphQLRequestParsedResult<VariablesType_1>, GraphQLMockedRequest<VariablesType_1>, any>;
|
|
39
63
|
};
|
|
64
|
+
/**
|
|
65
|
+
* Creates a GraphQL mocking API scoped to the given endpoint.
|
|
66
|
+
* @param uri Endpoint URL, or path.
|
|
67
|
+
* @example
|
|
68
|
+
* const api = graphql.link('https://api.site.com/graphql)
|
|
69
|
+
* api.query('GetUser', resolver)
|
|
70
|
+
* @see {@link https://mswjs.io/docs/api/graphql/link `graphql.link()`}
|
|
71
|
+
*/
|
|
40
72
|
declare function createGraphQLLink(uri: Mask): typeof graphqlStandardHandlers;
|
|
41
73
|
export declare const graphql: {
|
|
42
74
|
link: typeof createGraphQLLink;
|
|
75
|
+
/**
|
|
76
|
+
* Captures any GraphQL operation, regardless of its name, under the current scope.
|
|
77
|
+
* @example
|
|
78
|
+
* graphql.operation((req, res, ctx) => {
|
|
79
|
+
* return res(ctx.data({ name: 'John' }))
|
|
80
|
+
* })
|
|
81
|
+
* @see {@link https://mswjs.io/docs/api/graphql/operation `graphql.operation()`}
|
|
82
|
+
*/
|
|
43
83
|
operation: <QueryType, VariablesType = Record<string, any>>(resolver: GraphQLResponseResolver<QueryType, VariablesType>) => RequestHandler<GraphQLMockedRequest<VariablesType>, GraphQLMockedContext<QueryType>, GraphQLRequestParsedResult<VariablesType>, GraphQLMockedRequest<VariablesType>, any>;
|
|
84
|
+
/**
|
|
85
|
+
* Captures a GraphQL query by a given name.
|
|
86
|
+
* @example
|
|
87
|
+
* graphql.query('GetUser', (req, res, ctx) => {
|
|
88
|
+
* return res(ctx.data({ user: { name: 'John' } }))
|
|
89
|
+
* })
|
|
90
|
+
* @see {@link https://mswjs.io/docs/api/graphql/query `graphql.query()`}
|
|
91
|
+
*/
|
|
44
92
|
query: <QueryType_1, VariablesType_1 = Record<string, any>>(expectedOperationName: GraphQLRequestHandlerSelector, resolver: GraphQLResponseResolver<QueryType_1, VariablesType_1>) => RequestHandler<GraphQLMockedRequest<VariablesType_1>, GraphQLMockedContext<QueryType_1>, GraphQLRequestParsedResult<VariablesType_1>, GraphQLMockedRequest<VariablesType_1>, any>;
|
|
93
|
+
/**
|
|
94
|
+
* Captures a GraphQL mutation by a given name.
|
|
95
|
+
* @example
|
|
96
|
+
* graphql.mutation('SavePost', (req, res, ctx) => {
|
|
97
|
+
* return res(ctx.data({ post: { id: 'abc-123' } }))
|
|
98
|
+
* })
|
|
99
|
+
* @see {@link https://mswjs.io/docs/api/graphql/mutation `graphql.mutation()`}
|
|
100
|
+
*/
|
|
45
101
|
mutation: <QueryType_1, VariablesType_1 = Record<string, any>>(expectedOperationName: GraphQLRequestHandlerSelector, resolver: GraphQLResponseResolver<QueryType_1, VariablesType_1>) => RequestHandler<GraphQLMockedRequest<VariablesType_1>, GraphQLMockedContext<QueryType_1>, GraphQLRequestParsedResult<VariablesType_1>, GraphQLMockedRequest<VariablesType_1>, any>;
|
|
46
102
|
};
|
|
47
103
|
export {};
|
package/lib/types/index.d.ts
CHANGED
|
@@ -3,7 +3,8 @@ export { setupWorker } from './setupWorker/setupWorker';
|
|
|
3
3
|
export { SetupWorkerApi } from './setupWorker/glossary';
|
|
4
4
|
export { response, defaultResponse, createResponseComposition, MockedResponse, ResponseTransformer, ResponseComposition, ResponseCompositionOptions, ResponseFunction, } from './response';
|
|
5
5
|
export { context };
|
|
6
|
-
export { MockedRequest, RequestHandler, RequestParams, RequestQuery, ResponseResolver, ResponseResolverReturnType, AsyncResponseResolverReturnType,
|
|
6
|
+
export { defaultContext, MockedRequest, RequestHandler, RequestHandlerMetaInfo, RequestParams, RequestQuery, ResponseResolver, ResponseResolverReturnType, AsyncResponseResolverReturnType, } from './utils/handlers/requestHandler';
|
|
7
7
|
export { rest, restContext, RESTMethods, ParsedRestRequest } from './rest';
|
|
8
8
|
export { graphql, graphqlContext, GraphQLMockedRequest, GraphQLMockedContext, GraphQLRequestPayload, GraphQLResponseResolver, GraphQLRequestParsedResult, } from './graphql';
|
|
9
9
|
export { matchRequestUrl } from './utils/matching/matchRequestUrl';
|
|
10
|
+
export { compose } from './utils/internal/compose';
|
|
@@ -2,23 +2,33 @@ import { SharedOptions } from '../sharedOptions';
|
|
|
2
2
|
import { RequestHandlersList } from '../setupWorker/glossary';
|
|
3
3
|
export interface SetupServerApi {
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* Starts requests interception based on the previously provided request handlers.
|
|
6
|
+
* @see {@link https://mswjs.io/docs/api/setup-server/listen `server.listen()`}
|
|
6
7
|
*/
|
|
7
8
|
listen: (options?: SharedOptions) => void;
|
|
9
|
+
/**
|
|
10
|
+
* Stops requests interception by restoring all augmented modules.
|
|
11
|
+
* @see {@link https://mswjs.io/docs/api/setup-server/close `server.close()`}
|
|
12
|
+
*/
|
|
13
|
+
close: () => void;
|
|
8
14
|
/**
|
|
9
15
|
* Prepends given request handlers to the list of existing handlers.
|
|
16
|
+
* @see {@link https://mswjs.io/docs/api/setup-server/use `server.use()`}
|
|
10
17
|
*/
|
|
11
18
|
use: (...handlers: RequestHandlersList) => void;
|
|
12
19
|
/**
|
|
13
20
|
* Marks all request handlers that respond using `res.once()` as unused.
|
|
21
|
+
* @see {@link https://mswjs.io/docs/api/setup-server/restore-handlers `server.restore-handlers()`}
|
|
14
22
|
*/
|
|
15
23
|
restoreHandlers: () => void;
|
|
16
24
|
/**
|
|
17
25
|
* Resets request handlers to the initial list given to the `setupServer` call, or to the explicit next request handlers list, if given.
|
|
26
|
+
* @see {@link https://mswjs.io/docs/api/setup-server/reset-handlers `server.reset-handlers()`}
|
|
18
27
|
*/
|
|
19
28
|
resetHandlers: (...nextHandlers: RequestHandlersList) => void;
|
|
20
29
|
/**
|
|
21
|
-
*
|
|
30
|
+
* Lists all active request handlers.
|
|
31
|
+
* @see {@link https://mswjs.io/docs/api/setup-server/print-handlers `server.print-handlers()`}
|
|
22
32
|
*/
|
|
23
|
-
|
|
33
|
+
printHandlers: () => void;
|
|
24
34
|
}
|
|
@@ -1 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sets up a requests interception in NodeJS with the given request handlers.
|
|
3
|
+
* @param {RequestHandler[]} requestHandlers List of request handlers.
|
|
4
|
+
* @see {@link https://mswjs.io/docs/api/setup-server `setupServer`}
|
|
5
|
+
*/
|
|
1
6
|
export declare const setupServer: (...requestHandlers: import("../setupWorker/glossary").RequestHandlersList) => import("./glossary").SetupServerApi;
|
package/lib/types/response.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { Headers } from 'headers-utils';
|
|
2
|
+
/**
|
|
3
|
+
* Internal representation of a mocked response instance.
|
|
4
|
+
*/
|
|
2
5
|
export interface MockedResponse<BodyType = any> {
|
|
3
6
|
body: BodyType;
|
|
4
7
|
status: number;
|
|
@@ -7,8 +10,8 @@ export interface MockedResponse<BodyType = any> {
|
|
|
7
10
|
once: boolean;
|
|
8
11
|
delay?: number;
|
|
9
12
|
}
|
|
10
|
-
export declare type ResponseTransformer<BodyType = any> = (res: MockedResponse<BodyType>) => MockedResponse<BodyType
|
|
11
|
-
export declare type ResponseFunction<BodyType = any> = (...transformers: ResponseTransformer<BodyType>[]) => MockedResponse<BodyType
|
|
13
|
+
export declare type ResponseTransformer<BodyType = any> = (res: MockedResponse<BodyType>) => MockedResponse<BodyType> | Promise<MockedResponse<BodyType>>;
|
|
14
|
+
export declare type ResponseFunction<BodyType = any> = (...transformers: ResponseTransformer<BodyType>[]) => MockedResponse<BodyType> | Promise<MockedResponse<BodyType>>;
|
|
12
15
|
export declare type ResponseComposition<BodyType = any> = ResponseFunction<BodyType> & {
|
|
13
16
|
/**
|
|
14
17
|
* Respond using a given mocked response to the first captured request.
|
package/lib/types/rest.d.ts
CHANGED
|
@@ -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,196 +19,88 @@ export declare enum RESTMethods {
|
|
|
11
19
|
OPTIONS = "OPTIONS",
|
|
12
20
|
DELETE = "DELETE"
|
|
13
21
|
}
|
|
14
|
-
export
|
|
22
|
+
export interface RestContext {
|
|
15
23
|
set: typeof set;
|
|
16
|
-
status:
|
|
17
|
-
cookie:
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
json:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
};
|
|
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;
|
|
27
34
|
export interface ParsedRestRequest {
|
|
28
35
|
match: ReturnType<typeof matchRequestUrl>;
|
|
29
36
|
}
|
|
30
37
|
export declare const rest: {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
json: <BodyTypeJSON>(body: BodyTypeJSON, { merge }?: {
|
|
100
|
-
merge?: boolean | undefined;
|
|
101
|
-
}) => import("./response").ResponseTransformer<BodyTypeJSON>;
|
|
102
|
-
xml: <BodyType_2 extends string>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
|
|
103
|
-
delay: (durationMs?: number | undefined) => import("./response").ResponseTransformer<any>;
|
|
104
|
-
fetch: (input: string | MockedRequest<DefaultRequestBodyType, RequestParams>, requestInit?: RequestInit) => any;
|
|
105
|
-
}, ParsedRestRequest, MockedRequest<RequestBodyType, RequestParams>, ResponseBodyType>;
|
|
106
|
-
put: <RequestBodyType = DefaultRequestBodyType, ResponseBodyType = any, RequestParamsType extends RequestParams = RequestParams>(mask: Mask, resolver: ResponseResolver<MockedRequest<RequestBodyType, RequestParamsType>, {
|
|
107
|
-
set: typeof set;
|
|
108
|
-
status: (statusCode: number, statusText?: string | undefined) => import("./response").ResponseTransformer<any>;
|
|
109
|
-
cookie: (name: string, value: string, options?: import("cookie").CookieSerializeOptions | undefined) => import("./response").ResponseTransformer<any>;
|
|
110
|
-
body: <BodyType extends string | Blob | ArrayBufferView | ArrayBuffer | ReadableStream<any> | FormData>(value: BodyType) => import("./response").ResponseTransformer<BodyType>;
|
|
111
|
-
text: <BodyType_1 extends string>(body: BodyType_1) => import("./response").ResponseTransformer<BodyType_1>;
|
|
112
|
-
json: <BodyTypeJSON>(body: BodyTypeJSON, { merge }?: {
|
|
113
|
-
merge?: boolean | undefined;
|
|
114
|
-
}) => import("./response").ResponseTransformer<BodyTypeJSON>;
|
|
115
|
-
xml: <BodyType_2 extends string>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
|
|
116
|
-
delay: (durationMs?: number | undefined) => import("./response").ResponseTransformer<any>;
|
|
117
|
-
fetch: (input: string | MockedRequest<DefaultRequestBodyType, RequestParams>, requestInit?: RequestInit) => any;
|
|
118
|
-
}, ResponseBodyType>) => RequestHandler<MockedRequest<RequestBodyType, RequestParamsType>, {
|
|
119
|
-
set: typeof set;
|
|
120
|
-
status: (statusCode: number, statusText?: string | undefined) => import("./response").ResponseTransformer<any>;
|
|
121
|
-
cookie: (name: string, value: string, options?: import("cookie").CookieSerializeOptions | undefined) => import("./response").ResponseTransformer<any>;
|
|
122
|
-
body: <BodyType extends string | Blob | ArrayBufferView | ArrayBuffer | ReadableStream<any> | FormData>(value: BodyType) => import("./response").ResponseTransformer<BodyType>;
|
|
123
|
-
text: <BodyType_1 extends string>(body: BodyType_1) => import("./response").ResponseTransformer<BodyType_1>;
|
|
124
|
-
json: <BodyTypeJSON>(body: BodyTypeJSON, { merge }?: {
|
|
125
|
-
merge?: boolean | undefined;
|
|
126
|
-
}) => import("./response").ResponseTransformer<BodyTypeJSON>;
|
|
127
|
-
xml: <BodyType_2 extends string>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
|
|
128
|
-
delay: (durationMs?: number | undefined) => import("./response").ResponseTransformer<any>;
|
|
129
|
-
fetch: (input: string | MockedRequest<DefaultRequestBodyType, RequestParams>, requestInit?: RequestInit) => any;
|
|
130
|
-
}, ParsedRestRequest, MockedRequest<RequestBodyType, RequestParams>, ResponseBodyType>;
|
|
131
|
-
delete: <RequestBodyType = DefaultRequestBodyType, ResponseBodyType = any, RequestParamsType extends RequestParams = RequestParams>(mask: Mask, resolver: ResponseResolver<MockedRequest<RequestBodyType, RequestParamsType>, {
|
|
132
|
-
set: typeof set;
|
|
133
|
-
status: (statusCode: number, statusText?: string | undefined) => import("./response").ResponseTransformer<any>;
|
|
134
|
-
cookie: (name: string, value: string, options?: import("cookie").CookieSerializeOptions | undefined) => import("./response").ResponseTransformer<any>;
|
|
135
|
-
body: <BodyType extends string | Blob | ArrayBufferView | ArrayBuffer | ReadableStream<any> | FormData>(value: BodyType) => import("./response").ResponseTransformer<BodyType>;
|
|
136
|
-
text: <BodyType_1 extends string>(body: BodyType_1) => import("./response").ResponseTransformer<BodyType_1>;
|
|
137
|
-
json: <BodyTypeJSON>(body: BodyTypeJSON, { merge }?: {
|
|
138
|
-
merge?: boolean | undefined;
|
|
139
|
-
}) => import("./response").ResponseTransformer<BodyTypeJSON>;
|
|
140
|
-
xml: <BodyType_2 extends string>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
|
|
141
|
-
delay: (durationMs?: number | undefined) => import("./response").ResponseTransformer<any>;
|
|
142
|
-
fetch: (input: string | MockedRequest<DefaultRequestBodyType, RequestParams>, requestInit?: RequestInit) => any;
|
|
143
|
-
}, ResponseBodyType>) => RequestHandler<MockedRequest<RequestBodyType, RequestParamsType>, {
|
|
144
|
-
set: typeof set;
|
|
145
|
-
status: (statusCode: number, statusText?: string | undefined) => import("./response").ResponseTransformer<any>;
|
|
146
|
-
cookie: (name: string, value: string, options?: import("cookie").CookieSerializeOptions | undefined) => import("./response").ResponseTransformer<any>;
|
|
147
|
-
body: <BodyType extends string | Blob | ArrayBufferView | ArrayBuffer | ReadableStream<any> | FormData>(value: BodyType) => import("./response").ResponseTransformer<BodyType>;
|
|
148
|
-
text: <BodyType_1 extends string>(body: BodyType_1) => import("./response").ResponseTransformer<BodyType_1>;
|
|
149
|
-
json: <BodyTypeJSON>(body: BodyTypeJSON, { merge }?: {
|
|
150
|
-
merge?: boolean | undefined;
|
|
151
|
-
}) => import("./response").ResponseTransformer<BodyTypeJSON>;
|
|
152
|
-
xml: <BodyType_2 extends string>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
|
|
153
|
-
delay: (durationMs?: number | undefined) => import("./response").ResponseTransformer<any>;
|
|
154
|
-
fetch: (input: string | MockedRequest<DefaultRequestBodyType, RequestParams>, requestInit?: RequestInit) => any;
|
|
155
|
-
}, ParsedRestRequest, MockedRequest<RequestBodyType, RequestParams>, ResponseBodyType>;
|
|
156
|
-
patch: <RequestBodyType = DefaultRequestBodyType, ResponseBodyType = any, RequestParamsType extends RequestParams = RequestParams>(mask: Mask, resolver: ResponseResolver<MockedRequest<RequestBodyType, RequestParamsType>, {
|
|
157
|
-
set: typeof set;
|
|
158
|
-
status: (statusCode: number, statusText?: string | undefined) => import("./response").ResponseTransformer<any>;
|
|
159
|
-
cookie: (name: string, value: string, options?: import("cookie").CookieSerializeOptions | undefined) => import("./response").ResponseTransformer<any>;
|
|
160
|
-
body: <BodyType extends string | Blob | ArrayBufferView | ArrayBuffer | ReadableStream<any> | FormData>(value: BodyType) => import("./response").ResponseTransformer<BodyType>;
|
|
161
|
-
text: <BodyType_1 extends string>(body: BodyType_1) => import("./response").ResponseTransformer<BodyType_1>;
|
|
162
|
-
json: <BodyTypeJSON>(body: BodyTypeJSON, { merge }?: {
|
|
163
|
-
merge?: boolean | undefined;
|
|
164
|
-
}) => import("./response").ResponseTransformer<BodyTypeJSON>;
|
|
165
|
-
xml: <BodyType_2 extends string>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
|
|
166
|
-
delay: (durationMs?: number | undefined) => import("./response").ResponseTransformer<any>;
|
|
167
|
-
fetch: (input: string | MockedRequest<DefaultRequestBodyType, RequestParams>, requestInit?: RequestInit) => any;
|
|
168
|
-
}, ResponseBodyType>) => RequestHandler<MockedRequest<RequestBodyType, RequestParamsType>, {
|
|
169
|
-
set: typeof set;
|
|
170
|
-
status: (statusCode: number, statusText?: string | undefined) => import("./response").ResponseTransformer<any>;
|
|
171
|
-
cookie: (name: string, value: string, options?: import("cookie").CookieSerializeOptions | undefined) => import("./response").ResponseTransformer<any>;
|
|
172
|
-
body: <BodyType extends string | Blob | ArrayBufferView | ArrayBuffer | ReadableStream<any> | FormData>(value: BodyType) => import("./response").ResponseTransformer<BodyType>;
|
|
173
|
-
text: <BodyType_1 extends string>(body: BodyType_1) => import("./response").ResponseTransformer<BodyType_1>;
|
|
174
|
-
json: <BodyTypeJSON>(body: BodyTypeJSON, { merge }?: {
|
|
175
|
-
merge?: boolean | undefined;
|
|
176
|
-
}) => import("./response").ResponseTransformer<BodyTypeJSON>;
|
|
177
|
-
xml: <BodyType_2 extends string>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
|
|
178
|
-
delay: (durationMs?: number | undefined) => import("./response").ResponseTransformer<any>;
|
|
179
|
-
fetch: (input: string | MockedRequest<DefaultRequestBodyType, RequestParams>, requestInit?: RequestInit) => any;
|
|
180
|
-
}, ParsedRestRequest, MockedRequest<RequestBodyType, RequestParams>, ResponseBodyType>;
|
|
181
|
-
options: <RequestBodyType = DefaultRequestBodyType, ResponseBodyType = any, RequestParamsType extends RequestParams = RequestParams>(mask: Mask, resolver: ResponseResolver<MockedRequest<RequestBodyType, RequestParamsType>, {
|
|
182
|
-
set: typeof set;
|
|
183
|
-
status: (statusCode: number, statusText?: string | undefined) => import("./response").ResponseTransformer<any>;
|
|
184
|
-
cookie: (name: string, value: string, options?: import("cookie").CookieSerializeOptions | undefined) => import("./response").ResponseTransformer<any>;
|
|
185
|
-
body: <BodyType extends string | Blob | ArrayBufferView | ArrayBuffer | ReadableStream<any> | FormData>(value: BodyType) => import("./response").ResponseTransformer<BodyType>;
|
|
186
|
-
text: <BodyType_1 extends string>(body: BodyType_1) => import("./response").ResponseTransformer<BodyType_1>;
|
|
187
|
-
json: <BodyTypeJSON>(body: BodyTypeJSON, { merge }?: {
|
|
188
|
-
merge?: boolean | undefined;
|
|
189
|
-
}) => import("./response").ResponseTransformer<BodyTypeJSON>;
|
|
190
|
-
xml: <BodyType_2 extends string>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
|
|
191
|
-
delay: (durationMs?: number | undefined) => import("./response").ResponseTransformer<any>;
|
|
192
|
-
fetch: (input: string | MockedRequest<DefaultRequestBodyType, RequestParams>, requestInit?: RequestInit) => any;
|
|
193
|
-
}, ResponseBodyType>) => RequestHandler<MockedRequest<RequestBodyType, RequestParamsType>, {
|
|
194
|
-
set: typeof set;
|
|
195
|
-
status: (statusCode: number, statusText?: string | undefined) => import("./response").ResponseTransformer<any>;
|
|
196
|
-
cookie: (name: string, value: string, options?: import("cookie").CookieSerializeOptions | undefined) => import("./response").ResponseTransformer<any>;
|
|
197
|
-
body: <BodyType extends string | Blob | ArrayBufferView | ArrayBuffer | ReadableStream<any> | FormData>(value: BodyType) => import("./response").ResponseTransformer<BodyType>;
|
|
198
|
-
text: <BodyType_1 extends string>(body: BodyType_1) => import("./response").ResponseTransformer<BodyType_1>;
|
|
199
|
-
json: <BodyTypeJSON>(body: BodyTypeJSON, { merge }?: {
|
|
200
|
-
merge?: boolean | undefined;
|
|
201
|
-
}) => import("./response").ResponseTransformer<BodyTypeJSON>;
|
|
202
|
-
xml: <BodyType_2 extends string>(body: BodyType_2) => import("./response").ResponseTransformer<BodyType_2>;
|
|
203
|
-
delay: (durationMs?: number | undefined) => import("./response").ResponseTransformer<any>;
|
|
204
|
-
fetch: (input: string | MockedRequest<DefaultRequestBodyType, RequestParams>, requestInit?: RequestInit) => any;
|
|
205
|
-
}, 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>;
|
|
206
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
|
-
*
|
|
45
|
+
* Disables the logging of captured requests
|
|
43
46
|
* into browser's console.
|
|
44
47
|
*/
|
|
45
48
|
quiet?: boolean;
|
|
46
49
|
/**
|
|
47
|
-
*
|
|
50
|
+
* Defers any network requests until the Service Worker
|
|
48
51
|
* instance is ready. Defaults to `true`.
|
|
49
52
|
*/
|
|
50
53
|
waitUntilReady?: boolean;
|
|
@@ -59,18 +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;
|
|
92
|
+
/**
|
|
93
|
+
* Lists all active request handlers.
|
|
94
|
+
* @see {@link https://mswjs.io/docs/api/setup-worker/print-handlers `worker.printHandlers()`}
|
|
95
|
+
*/
|
|
96
|
+
printHandlers: () => void;
|
|
76
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;
|