msw 1.3.2 → 2.0.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/README.md +45 -29
- package/browser/package.json +5 -0
- package/cli/init.js +3 -3
- package/config/constants.js +1 -2
- package/lib/browser/index.d.ts +104 -0
- package/lib/browser/index.js +752 -0
- package/lib/browser/index.mjs +734 -0
- package/lib/core/GraphQLHandler-b42ca96f.d.ts +74 -0
- package/lib/core/HttpResponse.d.ts +2 -0
- package/lib/core/HttpResponse.js +94 -0
- package/lib/core/HttpResponse.mjs +77 -0
- package/lib/core/RequestHandler-1a5dbdc7.d.ts +172 -0
- package/lib/core/SetupApi.d.ts +26 -0
- package/lib/core/SetupApi.js +83 -0
- package/lib/core/SetupApi.mjs +63 -0
- package/lib/core/bypass.d.ts +16 -0
- package/lib/core/bypass.js +36 -0
- package/lib/core/bypass.mjs +16 -0
- package/lib/core/delay.d.ts +18 -0
- package/lib/core/delay.js +92 -0
- package/lib/core/delay.mjs +72 -0
- package/lib/core/graphql.d.ts +109 -0
- package/lib/core/graphql.js +112 -0
- package/lib/core/graphql.mjs +96 -0
- package/lib/core/handlers/GraphQLHandler.d.ts +5 -0
- package/lib/core/handlers/GraphQLHandler.js +145 -0
- package/lib/core/handlers/GraphQLHandler.mjs +130 -0
- package/lib/core/handlers/HttpHandler.d.ts +62 -0
- package/lib/core/handlers/HttpHandler.js +149 -0
- package/lib/core/handlers/HttpHandler.mjs +133 -0
- package/lib/core/handlers/RequestHandler.d.ts +2 -0
- package/lib/core/handlers/RequestHandler.js +180 -0
- package/lib/core/handlers/RequestHandler.mjs +162 -0
- package/lib/core/http.d.ts +26 -0
- package/lib/core/http.js +39 -0
- package/lib/core/http.mjs +22 -0
- package/lib/core/http.spec.d.ts +2 -0
- package/lib/core/http.spec.js +15 -0
- package/lib/core/http.spec.mjs +14 -0
- package/lib/core/index.d.ts +18 -0
- package/lib/core/index.js +49 -0
- package/lib/core/index.mjs +28 -0
- package/lib/core/passthrough.d.ts +17 -0
- package/lib/core/passthrough.js +32 -0
- package/lib/core/passthrough.mjs +12 -0
- package/lib/core/sharedOptions.d.ts +66 -0
- package/lib/core/sharedOptions.js +16 -0
- package/lib/core/sharedOptions.mjs +0 -0
- package/lib/core/typeUtils.d.ts +7 -0
- package/lib/core/typeUtils.js +16 -0
- package/lib/core/typeUtils.mjs +0 -0
- package/lib/core/utils/HttpResponse/decorators.d.ts +12 -0
- package/lib/core/utils/HttpResponse/decorators.js +80 -0
- package/lib/core/utils/HttpResponse/decorators.mjs +52 -0
- package/lib/core/utils/getResponse.d.ts +2 -0
- package/lib/core/utils/getResponse.js +64 -0
- package/lib/core/utils/getResponse.mjs +44 -0
- package/lib/core/utils/handleRequest.d.ts +30 -0
- package/lib/core/utils/handleRequest.js +102 -0
- package/lib/core/utils/handleRequest.mjs +82 -0
- package/lib/core/utils/internal/Disposable.d.ts +7 -0
- package/lib/core/utils/internal/Disposable.js +53 -0
- package/lib/core/utils/internal/Disposable.mjs +33 -0
- package/lib/core/utils/internal/checkGlobals.d.ts +3 -0
- package/lib/core/utils/internal/checkGlobals.js +33 -0
- package/lib/core/utils/internal/checkGlobals.mjs +13 -0
- package/lib/core/utils/internal/devUtils.d.ts +19 -0
- package/lib/core/utils/internal/devUtils.js +40 -0
- package/lib/core/utils/internal/devUtils.mjs +20 -0
- package/lib/core/utils/internal/getCallFrame.d.ts +6 -0
- package/lib/core/utils/internal/getCallFrame.js +40 -0
- package/lib/core/utils/internal/getCallFrame.mjs +20 -0
- package/lib/core/utils/internal/isIterable.d.ts +6 -0
- package/lib/core/utils/internal/isIterable.js +29 -0
- package/lib/core/utils/internal/isIterable.mjs +9 -0
- package/lib/core/utils/internal/isObject.d.ts +6 -0
- package/lib/core/utils/internal/isObject.js +26 -0
- package/lib/core/utils/internal/isObject.mjs +6 -0
- package/lib/core/utils/internal/isStringEqual.d.ts +6 -0
- package/lib/core/utils/internal/isStringEqual.js +26 -0
- package/lib/core/utils/internal/isStringEqual.mjs +6 -0
- package/lib/core/utils/internal/jsonParse.d.ts +7 -0
- package/lib/core/utils/internal/jsonParse.js +30 -0
- package/lib/core/utils/internal/jsonParse.mjs +10 -0
- package/lib/core/utils/internal/mergeRight.d.ts +7 -0
- package/lib/core/utils/internal/mergeRight.js +39 -0
- package/lib/core/utils/internal/mergeRight.mjs +19 -0
- package/lib/core/utils/internal/parseGraphQLRequest.d.ts +5 -0
- package/lib/core/utils/internal/parseGraphQLRequest.js +184 -0
- package/lib/core/utils/internal/parseGraphQLRequest.mjs +165 -0
- package/lib/core/utils/internal/parseMultipartData.d.ts +10 -0
- package/lib/core/utils/internal/parseMultipartData.js +81 -0
- package/lib/core/utils/internal/parseMultipartData.mjs +61 -0
- package/lib/core/utils/internal/pipeEvents.d.ts +8 -0
- package/lib/core/utils/internal/pipeEvents.js +34 -0
- package/lib/core/utils/internal/pipeEvents.mjs +14 -0
- package/lib/core/utils/internal/requestHandlerUtils.d.ts +8 -0
- package/lib/core/utils/internal/requestHandlerUtils.js +36 -0
- package/lib/core/utils/internal/requestHandlerUtils.mjs +16 -0
- package/lib/core/utils/internal/toReadonlyArray.d.ts +6 -0
- package/lib/core/utils/internal/toReadonlyArray.js +28 -0
- package/lib/core/utils/internal/toReadonlyArray.mjs +8 -0
- package/lib/core/utils/internal/tryCatch.d.ts +3 -0
- package/lib/core/utils/internal/tryCatch.js +31 -0
- package/lib/core/utils/internal/tryCatch.mjs +11 -0
- package/lib/core/utils/internal/uuidv4.d.ts +3 -0
- package/lib/core/utils/internal/uuidv4.js +26 -0
- package/lib/core/utils/internal/uuidv4.mjs +6 -0
- package/lib/core/utils/logging/getStatusCodeColor.d.ts +11 -0
- package/lib/core/utils/logging/getStatusCodeColor.js +39 -0
- package/lib/core/utils/logging/getStatusCodeColor.mjs +19 -0
- package/lib/core/utils/logging/getTimestamp.d.ts +6 -0
- package/lib/core/utils/logging/getTimestamp.js +27 -0
- package/lib/core/utils/logging/getTimestamp.mjs +7 -0
- package/lib/core/utils/logging/serializeRequest.d.ts +12 -0
- package/lib/core/utils/logging/serializeRequest.js +55 -0
- package/lib/core/utils/logging/serializeRequest.mjs +35 -0
- package/lib/core/utils/logging/serializeResponse.d.ts +9 -0
- package/lib/core/utils/logging/serializeResponse.js +69 -0
- package/lib/core/utils/logging/serializeResponse.mjs +39 -0
- package/lib/core/utils/matching/matchRequestUrl.d.ts +19 -0
- package/lib/core/utils/matching/matchRequestUrl.js +50 -0
- package/lib/core/utils/matching/matchRequestUrl.mjs +30 -0
- package/lib/core/utils/matching/normalizePath.d.ts +12 -0
- package/lib/core/utils/matching/normalizePath.js +32 -0
- package/lib/core/utils/matching/normalizePath.mjs +12 -0
- package/lib/core/utils/request/getPublicUrlFromRequest.d.ts +7 -0
- package/lib/core/utils/request/getPublicUrlFromRequest.js +30 -0
- package/lib/core/utils/request/getPublicUrlFromRequest.mjs +10 -0
- package/lib/core/utils/request/getRequestCookies.d.ts +8 -0
- package/lib/core/utils/request/getRequestCookies.js +88 -0
- package/lib/core/utils/request/getRequestCookies.mjs +60 -0
- package/lib/core/utils/request/onUnhandledRequest.d.ts +12 -0
- package/lib/core/utils/request/onUnhandledRequest.js +193 -0
- package/lib/core/utils/request/onUnhandledRequest.mjs +165 -0
- package/lib/core/utils/request/readResponseCookies.d.ts +3 -0
- package/lib/core/utils/request/readResponseCookies.js +45 -0
- package/lib/core/utils/request/readResponseCookies.mjs +27 -0
- package/lib/core/utils/toResponseInit.d.ts +3 -0
- package/lib/core/utils/toResponseInit.js +30 -0
- package/lib/core/utils/toResponseInit.mjs +10 -0
- package/lib/core/utils/url/cleanUrl.d.ts +7 -0
- package/lib/core/utils/url/cleanUrl.js +31 -0
- package/lib/core/utils/url/cleanUrl.mjs +11 -0
- package/lib/core/utils/url/getAbsoluteUrl.d.ts +6 -0
- package/lib/core/utils/url/getAbsoluteUrl.js +37 -0
- package/lib/core/utils/url/getAbsoluteUrl.mjs +17 -0
- package/lib/core/utils/url/isAbsoluteUrl.d.ts +6 -0
- package/lib/core/utils/url/isAbsoluteUrl.js +26 -0
- package/lib/core/utils/url/isAbsoluteUrl.mjs +6 -0
- package/lib/iife/index.js +6204 -12360
- package/lib/mockServiceWorker.js +82 -93
- package/lib/native/index.d.ts +67 -7
- package/lib/native/index.js +74 -1500
- package/lib/native/index.mjs +69 -1514
- package/lib/node/index.d.ts +68 -9
- package/lib/node/index.js +77 -1508
- package/lib/node/index.mjs +71 -1521
- package/native/package.json +2 -1
- package/node/package.json +2 -1
- package/package.json +53 -23
- package/lib/SetupServerApi-1855d9c6.d.ts +0 -20
- package/lib/glossary-de6278a9.d.ts +0 -385
- package/lib/iife/index.js.map +0 -1
- package/lib/index.d.ts +0 -365
- package/lib/index.js +0 -2295
- package/lib/index.js.map +0 -1
- package/lib/node/index.js.map +0 -1
- package/lib/node/index.mjs.map +0 -1
package/lib/index.d.ts
DELETED
|
@@ -1,365 +0,0 @@
|
|
|
1
|
-
import { R as ResponseTransformer, s as status, a as set, d as delay, f as fetch, S as SetupApi, W as WorkerLifecycleEventsMap, b as SetupWorker, c as RequestHandler, e as StartOptions, g as StartReturnType, D as DefaultContext, h as DefaultBodyType, M as MockedRequest, i as ResponseResolver, j as ResponseResolutionContext, k as SerializedResponse, l as RequestHandlerDefaultInfo, m as MockedResponse, n as ResponseLookupResult, o as SharedOptions, p as ServerLifecycleEventsMap } from './glossary-de6278a9.js';
|
|
2
|
-
export { A as AsyncResponseResolverReturnType, h as DefaultBodyType, w as DefaultRequestMultipartBody, B as DelayMode, M as MockedRequest, J as MockedRequestInit, m as MockedResponse, C as RequestCache, G as RequestDestination, c as RequestHandler, E as RequestMode, H as RequestPriority, F as RequestRedirect, I as RequestReferrerPolicy, x as ResponseComposition, y as ResponseCompositionOptions, z as ResponseFunction, i as ResponseResolver, v as ResponseResolverReturnType, R as ResponseTransformer, S as SetupApi, b as SetupWorker, o as SharedOptions, e as StartOptions, t as createResponseComposition, u as defaultContext, q as defaultResponse, r as response } from './glossary-de6278a9.js';
|
|
3
|
-
import * as cookieUtils from 'cookie';
|
|
4
|
-
import { GraphQLError, OperationTypeNode, DocumentNode } from 'graphql';
|
|
5
|
-
import { Emitter } from 'strict-event-emitter';
|
|
6
|
-
import 'type-fest';
|
|
7
|
-
import '@mswjs/interceptors';
|
|
8
|
-
import 'headers-polyfill';
|
|
9
|
-
|
|
10
|
-
type Path = string | RegExp;
|
|
11
|
-
type PathParams<KeyType extends keyof any = string> = {
|
|
12
|
-
[ParamName in KeyType]: string | ReadonlyArray<string>;
|
|
13
|
-
};
|
|
14
|
-
interface Match {
|
|
15
|
-
matches: boolean;
|
|
16
|
-
params?: PathParams;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Returns the result of matching given request URL against a mask.
|
|
20
|
-
*/
|
|
21
|
-
declare function matchRequestUrl(url: URL, path: Path, baseUrl?: string): Match;
|
|
22
|
-
|
|
23
|
-
type Fn = (...arg: any[]) => any;
|
|
24
|
-
type RequiredDeep<Type, U extends Record<string, unknown> | Fn | undefined = undefined> = Type extends Fn ? Type : Type extends Record<string, any> ? {
|
|
25
|
-
[Key in keyof Type]-?: NonNullable<Type[Key]> extends NonNullable<U> ? NonNullable<Type[Key]> : RequiredDeep<NonNullable<Type[Key]>, U>;
|
|
26
|
-
} : Type;
|
|
27
|
-
type GraphQLPayloadContext<QueryType extends Record<string, unknown>> = (payload: QueryType) => ResponseTransformer;
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Sets a given cookie on the mocked response.
|
|
31
|
-
* @example res(ctx.cookie('name', 'value'))
|
|
32
|
-
*/
|
|
33
|
-
declare const cookie: (name: string, value: string, options?: cookieUtils.CookieSerializeOptions) => ResponseTransformer;
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Sets a raw response body. Does not append any `Content-Type` headers.
|
|
37
|
-
* @example
|
|
38
|
-
* res(ctx.body('Successful response'))
|
|
39
|
-
* res(ctx.body(JSON.stringify({ key: 'value' })))
|
|
40
|
-
* @see {@link https://mswjs.io/docs/api/context/body `ctx.body()`}
|
|
41
|
-
*/
|
|
42
|
-
declare const body: <BodyType extends string | Blob | BufferSource | FormData | ReadableStream<any>>(value: BodyType) => ResponseTransformer<BodyType>;
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Sets a given payload as a GraphQL response body.
|
|
46
|
-
* @example
|
|
47
|
-
* res(ctx.data({ user: { firstName: 'John' }}))
|
|
48
|
-
* @see {@link https://mswjs.io/docs/api/context/data `ctx.data()`}
|
|
49
|
-
*/
|
|
50
|
-
declare const data: GraphQLPayloadContext<Record<string, unknown>>;
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Sets the GraphQL extensions on a given response.
|
|
54
|
-
* @example
|
|
55
|
-
* res(ctx.extensions({ tracing: { version: 1 }}))
|
|
56
|
-
* @see {@link https://mswjs.io/docs/api/context/extensions `ctx.extensions()`}
|
|
57
|
-
*/
|
|
58
|
-
declare const extensions: GraphQLPayloadContext<Record<string, unknown>>;
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Sets a given list of GraphQL errors on the mocked response.
|
|
62
|
-
* @example res(ctx.errors([{ message: 'Unauthorized' }]))
|
|
63
|
-
* @see {@link https://mswjs.io/docs/api/context/errors}
|
|
64
|
-
*/
|
|
65
|
-
declare const errors: <ErrorsType extends readonly Partial<GraphQLError>[] | null | undefined>(errorsList: ErrorsType) => ResponseTransformer<string>;
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Sets the given value as the JSON body of the response.
|
|
69
|
-
* Appends a `Content-Type: application/json` header on the
|
|
70
|
-
* mocked response.
|
|
71
|
-
* @example
|
|
72
|
-
* res(ctx.json('Some string'))
|
|
73
|
-
* res(ctx.json({ key: 'value' }))
|
|
74
|
-
* res(ctx.json([1, '2', false, { ok: true }]))
|
|
75
|
-
* @see {@link https://mswjs.io/docs/api/context/json `ctx.json()`}
|
|
76
|
-
*/
|
|
77
|
-
declare const json: <BodyTypeJSON>(body: BodyTypeJSON) => ResponseTransformer<BodyTypeJSON>;
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Sets a textual response body. Appends a `Content-Type: text/plain`
|
|
81
|
-
* header on the mocked response.
|
|
82
|
-
* @example res(ctx.text('Successful response'))
|
|
83
|
-
* @see {@link https://mswjs.io/docs/api/context/text `ctx.text()`}
|
|
84
|
-
*/
|
|
85
|
-
declare const text: <BodyType extends string>(body: BodyType) => ResponseTransformer<BodyType>;
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* Sets an XML response body. Appends a `Content-Type: text/xml` header
|
|
89
|
-
* on the mocked response.
|
|
90
|
-
* @example
|
|
91
|
-
* res(ctx.xml('<node key="value">Content</node>'))
|
|
92
|
-
* @see {@link https://mswjs.io/docs/api/context/xml `ctx.xml()`}
|
|
93
|
-
*/
|
|
94
|
-
declare const xml: <BodyType extends string>(body: BodyType) => ResponseTransformer<BodyType>;
|
|
95
|
-
|
|
96
|
-
declare const index_status: typeof status;
|
|
97
|
-
declare const index_set: typeof set;
|
|
98
|
-
declare const index_cookie: typeof cookie;
|
|
99
|
-
declare const index_body: typeof body;
|
|
100
|
-
declare const index_data: typeof data;
|
|
101
|
-
declare const index_extensions: typeof extensions;
|
|
102
|
-
declare const index_delay: typeof delay;
|
|
103
|
-
declare const index_errors: typeof errors;
|
|
104
|
-
declare const index_fetch: typeof fetch;
|
|
105
|
-
declare const index_json: typeof json;
|
|
106
|
-
declare const index_text: typeof text;
|
|
107
|
-
declare const index_xml: typeof xml;
|
|
108
|
-
declare namespace index {
|
|
109
|
-
export {
|
|
110
|
-
index_status as status,
|
|
111
|
-
index_set as set,
|
|
112
|
-
index_cookie as cookie,
|
|
113
|
-
index_body as body,
|
|
114
|
-
index_data as data,
|
|
115
|
-
index_extensions as extensions,
|
|
116
|
-
index_delay as delay,
|
|
117
|
-
index_errors as errors,
|
|
118
|
-
index_fetch as fetch,
|
|
119
|
-
index_json as json,
|
|
120
|
-
index_text as text,
|
|
121
|
-
index_xml as xml,
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
declare class SetupWorkerApi extends SetupApi<WorkerLifecycleEventsMap> implements SetupWorker {
|
|
126
|
-
private context;
|
|
127
|
-
private startHandler;
|
|
128
|
-
private stopHandler;
|
|
129
|
-
private listeners;
|
|
130
|
-
constructor(...handlers: Array<RequestHandler>);
|
|
131
|
-
private createWorkerContext;
|
|
132
|
-
start(options?: StartOptions): StartReturnType;
|
|
133
|
-
printHandlers(): void;
|
|
134
|
-
stop(): void;
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Sets up a requests interception in the browser with the given request handlers.
|
|
138
|
-
* @param {RequestHandler[]} handlers List of request handlers.
|
|
139
|
-
* @see {@link https://mswjs.io/docs/api/setup-worker `setupWorker`}
|
|
140
|
-
*/
|
|
141
|
-
declare function setupWorker(...handlers: Array<RequestHandler>): SetupWorker;
|
|
142
|
-
|
|
143
|
-
type RestHandlerMethod = string | RegExp;
|
|
144
|
-
interface RestHandlerInfo extends RequestHandlerDefaultInfo {
|
|
145
|
-
method: RestHandlerMethod;
|
|
146
|
-
path: Path;
|
|
147
|
-
}
|
|
148
|
-
declare enum RESTMethods {
|
|
149
|
-
HEAD = "HEAD",
|
|
150
|
-
GET = "GET",
|
|
151
|
-
POST = "POST",
|
|
152
|
-
PUT = "PUT",
|
|
153
|
-
PATCH = "PATCH",
|
|
154
|
-
OPTIONS = "OPTIONS",
|
|
155
|
-
DELETE = "DELETE"
|
|
156
|
-
}
|
|
157
|
-
type RestContext = DefaultContext & {
|
|
158
|
-
cookie: typeof cookie;
|
|
159
|
-
text: typeof text;
|
|
160
|
-
body: typeof body;
|
|
161
|
-
json: typeof json;
|
|
162
|
-
xml: typeof xml;
|
|
163
|
-
};
|
|
164
|
-
declare const restContext: RestContext;
|
|
165
|
-
type RequestQuery = {
|
|
166
|
-
[queryName: string]: string;
|
|
167
|
-
};
|
|
168
|
-
type ParsedRestRequest = Match;
|
|
169
|
-
declare class RestRequest<RequestBody extends DefaultBodyType = DefaultBodyType, RequestParams extends PathParams = PathParams> extends MockedRequest<RequestBody> {
|
|
170
|
-
readonly params: RequestParams;
|
|
171
|
-
constructor(request: MockedRequest<RequestBody>, params: RequestParams);
|
|
172
|
-
}
|
|
173
|
-
/**
|
|
174
|
-
* Request handler for REST API requests.
|
|
175
|
-
* Provides request matching based on method and URL.
|
|
176
|
-
*/
|
|
177
|
-
declare class RestHandler<RequestType extends MockedRequest<DefaultBodyType> = MockedRequest<DefaultBodyType>> extends RequestHandler<RestHandlerInfo, RequestType, ParsedRestRequest, RestRequest<RequestType extends MockedRequest<infer RequestBodyType> ? RequestBodyType : any, PathParams>> {
|
|
178
|
-
constructor(method: RestHandlerMethod, path: Path, resolver: ResponseResolver<any, any>);
|
|
179
|
-
private checkRedundantQueryParameters;
|
|
180
|
-
parse(request: RequestType, resolutionContext?: ResponseResolutionContext): Match;
|
|
181
|
-
protected getPublicRequest(request: RequestType, parsedResult: ParsedRestRequest): RestRequest<any, PathParams>;
|
|
182
|
-
predicate(request: RequestType, parsedResult: ParsedRestRequest): boolean;
|
|
183
|
-
log(request: RequestType, response: SerializedResponse<any>): void;
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
declare const rest: {
|
|
187
|
-
all: <RequestBodyType extends DefaultBodyType = DefaultBodyType, Params extends PathParams<keyof Params> = PathParams, ResponseBody extends DefaultBodyType = DefaultBodyType>(path: Path, resolver: ResponseResolver<RestRequest<RequestBodyType, Params>, RestContext, ResponseBody>) => RestHandler<MockedRequest<DefaultBodyType>>;
|
|
188
|
-
head: <RequestBodyType_1 extends DefaultBodyType = DefaultBodyType, Params_1 extends PathParams<keyof Params_1> = PathParams, ResponseBody_1 extends DefaultBodyType = DefaultBodyType>(path: Path, resolver: ResponseResolver<RestRequest<never, Params_1>, RestContext, ResponseBody_1>) => RestHandler<MockedRequest<DefaultBodyType>>;
|
|
189
|
-
get: <RequestBodyType_2 extends DefaultBodyType = DefaultBodyType, Params_2 extends PathParams<keyof Params_2> = PathParams, ResponseBody_2 extends DefaultBodyType = DefaultBodyType>(path: Path, resolver: ResponseResolver<RestRequest<never, Params_2>, RestContext, ResponseBody_2>) => RestHandler<MockedRequest<DefaultBodyType>>;
|
|
190
|
-
post: <RequestBodyType_3 extends DefaultBodyType = DefaultBodyType, Params_3 extends PathParams<keyof Params_3> = PathParams, ResponseBody_3 extends DefaultBodyType = DefaultBodyType>(path: Path, resolver: ResponseResolver<RestRequest<RequestBodyType_3, Params_3>, RestContext, ResponseBody_3>) => RestHandler<MockedRequest<DefaultBodyType>>;
|
|
191
|
-
put: <RequestBodyType_4 extends DefaultBodyType = DefaultBodyType, Params_4 extends PathParams<keyof Params_4> = PathParams, ResponseBody_4 extends DefaultBodyType = DefaultBodyType>(path: Path, resolver: ResponseResolver<RestRequest<RequestBodyType_4, Params_4>, RestContext, ResponseBody_4>) => RestHandler<MockedRequest<DefaultBodyType>>;
|
|
192
|
-
delete: <RequestBodyType_5 extends DefaultBodyType = DefaultBodyType, Params_5 extends PathParams<keyof Params_5> = PathParams, ResponseBody_5 extends DefaultBodyType = DefaultBodyType>(path: Path, resolver: ResponseResolver<RestRequest<RequestBodyType_5, Params_5>, RestContext, ResponseBody_5>) => RestHandler<MockedRequest<DefaultBodyType>>;
|
|
193
|
-
patch: <RequestBodyType_6 extends DefaultBodyType = DefaultBodyType, Params_6 extends PathParams<keyof Params_6> = PathParams, ResponseBody_6 extends DefaultBodyType = DefaultBodyType>(path: Path, resolver: ResponseResolver<RestRequest<RequestBodyType_6, Params_6>, RestContext, ResponseBody_6>) => RestHandler<MockedRequest<DefaultBodyType>>;
|
|
194
|
-
options: <RequestBodyType_7 extends DefaultBodyType = DefaultBodyType, Params_7 extends PathParams<keyof Params_7> = PathParams, ResponseBody_7 extends DefaultBodyType = DefaultBodyType>(path: Path, resolver: ResponseResolver<RestRequest<RequestBodyType_7, Params_7>, RestContext, ResponseBody_7>) => RestHandler<MockedRequest<DefaultBodyType>>;
|
|
195
|
-
};
|
|
196
|
-
|
|
197
|
-
type ForbiddenFieldNames = '' | 'data' | 'errors' | 'extensions';
|
|
198
|
-
/**
|
|
199
|
-
* Set a custom field on the GraphQL mocked response.
|
|
200
|
-
* @example res(ctx.fields('customField', value))
|
|
201
|
-
* @see {@link https://mswjs.io/docs/api/context/field}
|
|
202
|
-
*/
|
|
203
|
-
declare const field: <FieldNameType extends string, FieldValueType>(fieldName: FieldNameType extends ForbiddenFieldNames ? never : FieldNameType, fieldValue: FieldValueType) => ResponseTransformer<string>;
|
|
204
|
-
|
|
205
|
-
interface ParsedGraphQLQuery {
|
|
206
|
-
operationType: OperationTypeNode;
|
|
207
|
-
operationName?: string;
|
|
208
|
-
}
|
|
209
|
-
type ParsedGraphQLRequest<VariablesType extends GraphQLVariables = GraphQLVariables> = (ParsedGraphQLQuery & {
|
|
210
|
-
variables?: VariablesType;
|
|
211
|
-
}) | undefined;
|
|
212
|
-
type GraphQLMultipartRequestBody = {
|
|
213
|
-
operations: string;
|
|
214
|
-
map?: string;
|
|
215
|
-
} & {
|
|
216
|
-
[fileName: string]: File;
|
|
217
|
-
};
|
|
218
|
-
|
|
219
|
-
type ExpectedOperationTypeNode = OperationTypeNode | 'all';
|
|
220
|
-
type GraphQLHandlerNameSelector = DocumentNode | RegExp | string;
|
|
221
|
-
type GraphQLContext<QueryType extends Record<string, unknown>> = DefaultContext & {
|
|
222
|
-
data: GraphQLPayloadContext<QueryType>;
|
|
223
|
-
extensions: GraphQLPayloadContext<QueryType>;
|
|
224
|
-
errors: typeof errors;
|
|
225
|
-
cookie: typeof cookie;
|
|
226
|
-
field: typeof field;
|
|
227
|
-
};
|
|
228
|
-
declare const graphqlContext: GraphQLContext<any>;
|
|
229
|
-
type GraphQLVariables = Record<string, any>;
|
|
230
|
-
interface GraphQLHandlerInfo extends RequestHandlerDefaultInfo {
|
|
231
|
-
operationType: ExpectedOperationTypeNode;
|
|
232
|
-
operationName: GraphQLHandlerNameSelector;
|
|
233
|
-
}
|
|
234
|
-
type GraphQLRequestBody<VariablesType extends GraphQLVariables> = GraphQLJsonRequestBody<VariablesType> | GraphQLMultipartRequestBody | Record<string, any> | undefined;
|
|
235
|
-
interface GraphQLJsonRequestBody<Variables extends GraphQLVariables> {
|
|
236
|
-
query: string;
|
|
237
|
-
variables?: Variables;
|
|
238
|
-
}
|
|
239
|
-
declare class GraphQLRequest<Variables extends GraphQLVariables> extends MockedRequest<GraphQLRequestBody<Variables>> {
|
|
240
|
-
readonly variables: Variables;
|
|
241
|
-
readonly operationName: string;
|
|
242
|
-
constructor(request: MockedRequest, variables: Variables, operationName: string);
|
|
243
|
-
}
|
|
244
|
-
declare class GraphQLHandler<Request extends GraphQLRequest<any> = GraphQLRequest<any>> extends RequestHandler<GraphQLHandlerInfo, Request, ParsedGraphQLRequest | null, GraphQLRequest<any>> {
|
|
245
|
-
private endpoint;
|
|
246
|
-
constructor(operationType: ExpectedOperationTypeNode, operationName: GraphQLHandlerNameSelector, endpoint: Path, resolver: ResponseResolver<any, any>);
|
|
247
|
-
parse(request: MockedRequest): ParsedGraphQLRequest<GraphQLVariables>;
|
|
248
|
-
protected getPublicRequest(request: Request, parsedResult: ParsedGraphQLRequest): GraphQLRequest<any>;
|
|
249
|
-
predicate(request: MockedRequest, parsedResult: ParsedGraphQLRequest): boolean;
|
|
250
|
-
log(request: Request, response: SerializedResponse<any>, parsedRequest: ParsedGraphQLRequest): void;
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
interface TypedDocumentNode<Result = {
|
|
254
|
-
[key: string]: any;
|
|
255
|
-
}, Variables = {
|
|
256
|
-
[key: string]: any;
|
|
257
|
-
}> extends DocumentNode {
|
|
258
|
-
__apiType?: (variables: Variables) => Result;
|
|
259
|
-
__resultType?: Result;
|
|
260
|
-
__variablesType?: Variables;
|
|
261
|
-
}
|
|
262
|
-
declare const standardGraphQLHandlers: {
|
|
263
|
-
/**
|
|
264
|
-
* Captures any GraphQL operation, regardless of its name, under the current scope.
|
|
265
|
-
* @example
|
|
266
|
-
* graphql.operation((req, res, ctx) => {
|
|
267
|
-
* return res(ctx.data({ name: 'John' }))
|
|
268
|
-
* })
|
|
269
|
-
* @see {@link https://mswjs.io/docs/api/graphql/operation `graphql.operation()`}
|
|
270
|
-
*/
|
|
271
|
-
operation: <Query extends Record<string, any>, Variables extends GraphQLVariables = GraphQLVariables>(resolver: ResponseResolver<GraphQLRequest<Variables>, GraphQLContext<Query>>) => GraphQLHandler<GraphQLRequest<Variables>>;
|
|
272
|
-
/**
|
|
273
|
-
* Captures a GraphQL query by a given name.
|
|
274
|
-
* @example
|
|
275
|
-
* graphql.query('GetUser', (req, res, ctx) => {
|
|
276
|
-
* return res(ctx.data({ user: { name: 'John' } }))
|
|
277
|
-
* })
|
|
278
|
-
* @see {@link https://mswjs.io/docs/api/graphql/query `graphql.query()`}
|
|
279
|
-
*/
|
|
280
|
-
query: <Query_1 extends Record<string, any>, Variables_1 extends GraphQLVariables = GraphQLVariables>(operationName: GraphQLHandlerNameSelector | TypedDocumentNode<Query_1, Variables_1>, resolver: ResponseResolver<GraphQLRequest<Variables_1>, GraphQLContext<Query_1>>) => GraphQLHandler<GraphQLRequest<Variables_1>>;
|
|
281
|
-
/**
|
|
282
|
-
* Captures a GraphQL mutation by a given name.
|
|
283
|
-
* @example
|
|
284
|
-
* graphql.mutation('SavePost', (req, res, ctx) => {
|
|
285
|
-
* return res(ctx.data({ post: { id: 'abc-123' } }))
|
|
286
|
-
* })
|
|
287
|
-
* @see {@link https://mswjs.io/docs/api/graphql/mutation `graphql.mutation()`}
|
|
288
|
-
*/
|
|
289
|
-
mutation: <Query_1 extends Record<string, any>, Variables_1 extends GraphQLVariables = GraphQLVariables>(operationName: GraphQLHandlerNameSelector | TypedDocumentNode<Query_1, Variables_1>, resolver: ResponseResolver<GraphQLRequest<Variables_1>, GraphQLContext<Query_1>>) => GraphQLHandler<GraphQLRequest<Variables_1>>;
|
|
290
|
-
};
|
|
291
|
-
declare function createGraphQLLink(url: Path): typeof standardGraphQLHandlers;
|
|
292
|
-
declare const graphql: {
|
|
293
|
-
link: typeof createGraphQLLink;
|
|
294
|
-
/**
|
|
295
|
-
* Captures any GraphQL operation, regardless of its name, under the current scope.
|
|
296
|
-
* @example
|
|
297
|
-
* graphql.operation((req, res, ctx) => {
|
|
298
|
-
* return res(ctx.data({ name: 'John' }))
|
|
299
|
-
* })
|
|
300
|
-
* @see {@link https://mswjs.io/docs/api/graphql/operation `graphql.operation()`}
|
|
301
|
-
*/
|
|
302
|
-
operation: <Query extends Record<string, any>, Variables extends GraphQLVariables = GraphQLVariables>(resolver: ResponseResolver<GraphQLRequest<Variables>, GraphQLContext<Query>>) => GraphQLHandler<GraphQLRequest<Variables>>;
|
|
303
|
-
/**
|
|
304
|
-
* Captures a GraphQL query by a given name.
|
|
305
|
-
* @example
|
|
306
|
-
* graphql.query('GetUser', (req, res, ctx) => {
|
|
307
|
-
* return res(ctx.data({ user: { name: 'John' } }))
|
|
308
|
-
* })
|
|
309
|
-
* @see {@link https://mswjs.io/docs/api/graphql/query `graphql.query()`}
|
|
310
|
-
*/
|
|
311
|
-
query: <Query_1 extends Record<string, any>, Variables_1 extends GraphQLVariables = GraphQLVariables>(operationName: GraphQLHandlerNameSelector | TypedDocumentNode<Query_1, Variables_1>, resolver: ResponseResolver<GraphQLRequest<Variables_1>, GraphQLContext<Query_1>>) => GraphQLHandler<GraphQLRequest<Variables_1>>;
|
|
312
|
-
/**
|
|
313
|
-
* Captures a GraphQL mutation by a given name.
|
|
314
|
-
* @example
|
|
315
|
-
* graphql.mutation('SavePost', (req, res, ctx) => {
|
|
316
|
-
* return res(ctx.data({ post: { id: 'abc-123' } }))
|
|
317
|
-
* })
|
|
318
|
-
* @see {@link https://mswjs.io/docs/api/graphql/mutation `graphql.mutation()`}
|
|
319
|
-
*/
|
|
320
|
-
mutation: <Query_1 extends Record<string, any>, Variables_1 extends GraphQLVariables = GraphQLVariables>(operationName: GraphQLHandlerNameSelector | TypedDocumentNode<Query_1, Variables_1>, resolver: ResponseResolver<GraphQLRequest<Variables_1>, GraphQLContext<Query_1>>) => GraphQLHandler<GraphQLRequest<Variables_1>>;
|
|
321
|
-
};
|
|
322
|
-
|
|
323
|
-
type ArityOneFunction = (arg: any) => any;
|
|
324
|
-
type LengthOfTuple<Tuple extends any[]> = Tuple extends {
|
|
325
|
-
length: infer L;
|
|
326
|
-
} ? L : never;
|
|
327
|
-
type DropFirstInTuple<Tuple extends any[]> = ((...args: Tuple) => any) extends (arg: any, ...rest: infer LastArg) => any ? LastArg : Tuple;
|
|
328
|
-
type LastInTuple<Tuple extends any[]> = Tuple[LengthOfTuple<DropFirstInTuple<Tuple>>];
|
|
329
|
-
type FirstFnParameterType<Functions extends ArityOneFunction[]> = Parameters<LastInTuple<Functions>>[any];
|
|
330
|
-
type LastFnParameterType<Functions extends ArityOneFunction[]> = ReturnType<Functions[0]>;
|
|
331
|
-
/**
|
|
332
|
-
* Composes a given list of functions into a new function that
|
|
333
|
-
* executes from right to left.
|
|
334
|
-
*/
|
|
335
|
-
declare function compose<Functions extends ArityOneFunction[], LeftReturnType extends FirstFnParameterType<Functions>, RightReturnType extends LastFnParameterType<Functions>>(...fns: Functions): (...args: [LeftReturnType] extends [never] ? never[] : [LeftReturnType]) => RightReturnType;
|
|
336
|
-
|
|
337
|
-
interface HandleRequestOptions<ResponseType> {
|
|
338
|
-
/**
|
|
339
|
-
* Options for the response resolution process.
|
|
340
|
-
*/
|
|
341
|
-
resolutionContext?: {
|
|
342
|
-
baseUrl?: string;
|
|
343
|
-
};
|
|
344
|
-
/**
|
|
345
|
-
* Transforms a `MockedResponse` instance returned from a handler
|
|
346
|
-
* to a response instance supported by the lower tooling (i.e. interceptors).
|
|
347
|
-
*/
|
|
348
|
-
transformResponse?(response: MockedResponse<string>): ResponseType;
|
|
349
|
-
/**
|
|
350
|
-
* Invoked whenever a request is performed as-is.
|
|
351
|
-
*/
|
|
352
|
-
onPassthroughResponse?(request: MockedRequest): void;
|
|
353
|
-
/**
|
|
354
|
-
* Invoked when the mocked response is ready to be sent.
|
|
355
|
-
*/
|
|
356
|
-
onMockedResponse?(response: ResponseType, handler: RequiredDeep<ResponseLookupResult>): void;
|
|
357
|
-
}
|
|
358
|
-
declare function handleRequest<ResponseType extends Record<string, any> = MockedResponse<string>>(request: MockedRequest, handlers: RequestHandler[], options: RequiredDeep<SharedOptions>, emitter: Emitter<ServerLifecycleEventsMap>, handleRequestOptions?: HandleRequestOptions<ResponseType>): Promise<ResponseType | undefined>;
|
|
359
|
-
|
|
360
|
-
/**
|
|
361
|
-
* Removes query parameters and hashes from a given URL string.
|
|
362
|
-
*/
|
|
363
|
-
declare function cleanUrl(path: string): string;
|
|
364
|
-
|
|
365
|
-
export { GraphQLContext, GraphQLHandler, GraphQLJsonRequestBody, GraphQLRequest, GraphQLRequestBody, GraphQLVariables, HandleRequestOptions, Match, ParsedGraphQLRequest, ParsedRestRequest, Path, PathParams, RESTMethods, RequestQuery, RestContext, RestHandler, RestRequest, SetupWorkerApi, cleanUrl, compose, index as context, graphql, graphqlContext, handleRequest, matchRequestUrl, rest, restContext, setupWorker };
|