msw 0.48.2 → 0.49.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/{SetupApi-75fbec12.d.ts → SetupApi-0d3126ba.d.ts} +31 -31
- package/lib/{SetupServerApi-49722346.d.ts → SetupServerApi-3406bf53.d.ts} +3 -3
- package/lib/{glossary-a22f5c13.d.ts → glossary-6a87827e.d.ts} +2 -2
- package/lib/iife/index.js +6 -6
- package/lib/iife/index.js.map +1 -1
- package/lib/index.d.ts +27 -27
- package/lib/index.js +137 -8
- package/lib/index.js.map +1 -1
- package/lib/mockServiceWorker.js +1 -1
- package/lib/native/index.d.ts +2 -2
- package/lib/native/index.js +137 -8
- package/lib/native/index.mjs +137 -8
- package/lib/node/index.d.ts +4 -4
- package/lib/node/index.js +137 -8
- package/lib/node/index.js.map +1 -1
- package/lib/node/index.mjs +137 -8
- package/lib/node/index.mjs.map +1 -1
- package/package.json +5 -5
package/lib/index.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { R as ResponseTransformer, s as status, a as set, d as delay, f as fetch, b as RequestHandler, S as SetupApi, W as WorkerLifecycleEventsMap, c as StartOptions, e as StartReturnType, D as DefaultContext, g as DefaultBodyType, M as MockedRequest, h as ResponseResolver, i as ResponseResolutionContext, j as SerializedResponse, k as RequestHandlerDefaultInfo, l as MockedResponse, m as ResponseLookupResult, n as SharedOptions } from './SetupApi-
|
|
2
|
-
export { A as AsyncResponseResolverReturnType, g as DefaultBodyType, v as DefaultRequestMultipartBody, z as DelayMode, M as MockedRequest, I as MockedRequestInit, l as MockedResponse, B as RequestCache, F as RequestDestination, b as RequestHandler, C as RequestMode, G as RequestPriority, E as RequestRedirect, H as RequestReferrerPolicy, w as ResponseComposition, x as ResponseCompositionOptions, y as ResponseFunction, h as ResponseResolver, u as ResponseResolverReturnType, R as ResponseTransformer, S as SetupApi, t as SetupWorkerApi, n as SharedOptions, c as StartOptions, p as createResponseComposition, q as defaultContext, o as defaultResponse, r as response } from './SetupApi-
|
|
1
|
+
import { R as ResponseTransformer, s as status, a as set, d as delay, f as fetch, b as RequestHandler, S as SetupApi, W as WorkerLifecycleEventsMap, c as StartOptions, e as StartReturnType, D as DefaultContext, g as DefaultBodyType, M as MockedRequest, h as ResponseResolver, i as ResponseResolutionContext, j as SerializedResponse, k as RequestHandlerDefaultInfo, l as MockedResponse, m as ResponseLookupResult, n as SharedOptions } from './SetupApi-0d3126ba.js';
|
|
2
|
+
export { A as AsyncResponseResolverReturnType, g as DefaultBodyType, v as DefaultRequestMultipartBody, z as DelayMode, M as MockedRequest, I as MockedRequestInit, l as MockedResponse, B as RequestCache, F as RequestDestination, b as RequestHandler, C as RequestMode, G as RequestPriority, E as RequestRedirect, H as RequestReferrerPolicy, w as ResponseComposition, x as ResponseCompositionOptions, y as ResponseFunction, h as ResponseResolver, u as ResponseResolverReturnType, R as ResponseTransformer, S as SetupApi, t as SetupWorkerApi, n as SharedOptions, c as StartOptions, p as createResponseComposition, q as defaultContext, o as defaultResponse, r as response } from './SetupApi-0d3126ba.js';
|
|
3
3
|
import * as cookieUtils from 'cookie';
|
|
4
4
|
import { GraphQLError, OperationTypeNode, DocumentNode } from 'graphql';
|
|
5
5
|
import { StrictEventEmitter } from 'strict-event-emitter';
|
|
6
|
-
import { S as ServerLifecycleEventsMap } from './glossary-
|
|
6
|
+
import { S as ServerLifecycleEventsMap } from './glossary-6a87827e.js';
|
|
7
7
|
import 'headers-polyfill';
|
|
8
8
|
import '@mswjs/interceptors';
|
|
9
9
|
import 'type-fest';
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
type Path = string | RegExp;
|
|
12
|
+
type PathParams<KeyType extends keyof any = string> = {
|
|
13
13
|
[ParamName in KeyType]: string | ReadonlyArray<string>;
|
|
14
14
|
};
|
|
15
15
|
interface Match {
|
|
@@ -21,11 +21,11 @@ interface Match {
|
|
|
21
21
|
*/
|
|
22
22
|
declare function matchRequestUrl(url: URL, path: Path, baseUrl?: string): Match;
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
type Fn = (...arg: any[]) => any;
|
|
25
|
+
type RequiredDeep<Type, U extends Record<string, unknown> | Fn | undefined = undefined> = Type extends Fn ? Type : Type extends Record<string, any> ? {
|
|
26
26
|
[Key in keyof Type]-?: NonNullable<Type[Key]> extends NonNullable<U> ? NonNullable<Type[Key]> : RequiredDeep<NonNullable<Type[Key]>, U>;
|
|
27
27
|
} : Type;
|
|
28
|
-
|
|
28
|
+
type GraphQLPayloadContext<QueryType extends Record<string, unknown>> = (payload: QueryType) => ResponseTransformer;
|
|
29
29
|
|
|
30
30
|
/**
|
|
31
31
|
* Sets a given cookie on the mocked response.
|
|
@@ -128,7 +128,7 @@ declare class SetupWorkerApi extends SetupApi<WorkerLifecycleEventsMap> {
|
|
|
128
128
|
private startHandler;
|
|
129
129
|
private stopHandler;
|
|
130
130
|
private listeners;
|
|
131
|
-
constructor(handlers: Array<RequestHandler>);
|
|
131
|
+
constructor(...handlers: Array<RequestHandler>);
|
|
132
132
|
private createWorkerContext;
|
|
133
133
|
start(options?: StartOptions): StartReturnType;
|
|
134
134
|
printHandlers(): void;
|
|
@@ -141,7 +141,7 @@ declare class SetupWorkerApi extends SetupApi<WorkerLifecycleEventsMap> {
|
|
|
141
141
|
*/
|
|
142
142
|
declare function setupWorker(...handlers: Array<RequestHandler>): SetupWorkerApi;
|
|
143
143
|
|
|
144
|
-
|
|
144
|
+
type RestHandlerMethod = string | RegExp;
|
|
145
145
|
interface RestHandlerInfo extends RequestHandlerDefaultInfo {
|
|
146
146
|
method: RestHandlerMethod;
|
|
147
147
|
path: Path;
|
|
@@ -155,7 +155,7 @@ declare enum RESTMethods {
|
|
|
155
155
|
OPTIONS = "OPTIONS",
|
|
156
156
|
DELETE = "DELETE"
|
|
157
157
|
}
|
|
158
|
-
|
|
158
|
+
type RestContext = DefaultContext & {
|
|
159
159
|
cookie: typeof cookie;
|
|
160
160
|
text: typeof text;
|
|
161
161
|
body: typeof body;
|
|
@@ -163,10 +163,10 @@ declare type RestContext = DefaultContext & {
|
|
|
163
163
|
xml: typeof xml;
|
|
164
164
|
};
|
|
165
165
|
declare const restContext: RestContext;
|
|
166
|
-
|
|
166
|
+
type RequestQuery = {
|
|
167
167
|
[queryName: string]: string;
|
|
168
168
|
};
|
|
169
|
-
|
|
169
|
+
type ParsedRestRequest = Match;
|
|
170
170
|
declare class RestRequest<RequestBody extends DefaultBodyType = DefaultBodyType, RequestParams extends PathParams = PathParams> extends MockedRequest<RequestBody> {
|
|
171
171
|
readonly params: RequestParams;
|
|
172
172
|
constructor(request: MockedRequest<RequestBody>, params: RequestParams);
|
|
@@ -195,7 +195,7 @@ declare const rest: {
|
|
|
195
195
|
options: <RequestBodyType_7 extends DefaultBodyType = DefaultBodyType, Params_7 extends PathParams<keyof Params_7> = PathParams<string>, ResponseBody_7 extends DefaultBodyType = DefaultBodyType>(path: Path, resolver: ResponseResolver<RestRequest<RequestBodyType_7, Params_7>, RestContext, ResponseBody_7>) => RestHandler<MockedRequest<DefaultBodyType>>;
|
|
196
196
|
};
|
|
197
197
|
|
|
198
|
-
|
|
198
|
+
type ForbiddenFieldNames = '' | 'data' | 'errors' | 'extensions';
|
|
199
199
|
/**
|
|
200
200
|
* Set a custom field on the GraphQL mocked response.
|
|
201
201
|
* @example res(ctx.fields('customField', value))
|
|
@@ -207,19 +207,19 @@ interface ParsedGraphQLQuery {
|
|
|
207
207
|
operationType: OperationTypeNode;
|
|
208
208
|
operationName?: string;
|
|
209
209
|
}
|
|
210
|
-
|
|
210
|
+
type ParsedGraphQLRequest<VariablesType extends GraphQLVariables = GraphQLVariables> = (ParsedGraphQLQuery & {
|
|
211
211
|
variables?: VariablesType;
|
|
212
212
|
}) | undefined;
|
|
213
|
-
|
|
213
|
+
type GraphQLMultipartRequestBody = {
|
|
214
214
|
operations: string;
|
|
215
215
|
map?: string;
|
|
216
216
|
} & {
|
|
217
217
|
[fileName: string]: File;
|
|
218
218
|
};
|
|
219
219
|
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
220
|
+
type ExpectedOperationTypeNode = OperationTypeNode | 'all';
|
|
221
|
+
type GraphQLHandlerNameSelector = DocumentNode | RegExp | string;
|
|
222
|
+
type GraphQLContext<QueryType extends Record<string, unknown>> = DefaultContext & {
|
|
223
223
|
data: GraphQLPayloadContext<QueryType>;
|
|
224
224
|
extensions: GraphQLPayloadContext<QueryType>;
|
|
225
225
|
errors: typeof errors;
|
|
@@ -227,12 +227,12 @@ declare type GraphQLContext<QueryType extends Record<string, unknown>> = Default
|
|
|
227
227
|
field: typeof field;
|
|
228
228
|
};
|
|
229
229
|
declare const graphqlContext: GraphQLContext<any>;
|
|
230
|
-
|
|
230
|
+
type GraphQLVariables = Record<string, any>;
|
|
231
231
|
interface GraphQLHandlerInfo extends RequestHandlerDefaultInfo {
|
|
232
232
|
operationType: ExpectedOperationTypeNode;
|
|
233
233
|
operationName: GraphQLHandlerNameSelector;
|
|
234
234
|
}
|
|
235
|
-
|
|
235
|
+
type GraphQLRequestBody<VariablesType extends GraphQLVariables> = GraphQLJsonRequestBody<VariablesType> | GraphQLMultipartRequestBody | Record<string, any> | undefined;
|
|
236
236
|
interface GraphQLJsonRequestBody<Variables extends GraphQLVariables> {
|
|
237
237
|
query: string;
|
|
238
238
|
variables?: Variables;
|
|
@@ -320,14 +320,14 @@ declare const graphql: {
|
|
|
320
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>, any>) => GraphQLHandler<GraphQLRequest<Variables_1>>;
|
|
321
321
|
};
|
|
322
322
|
|
|
323
|
-
|
|
324
|
-
|
|
323
|
+
type ArityOneFunction = (arg: any) => any;
|
|
324
|
+
type LengthOfTuple<Tuple extends any[]> = Tuple extends {
|
|
325
325
|
length: infer L;
|
|
326
326
|
} ? L : never;
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
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
331
|
/**
|
|
332
332
|
* Composes a given list of functions into a new function that
|
|
333
333
|
* executes from right to left.
|
package/lib/index.js
CHANGED
|
@@ -91,12 +91,141 @@ __export(context_exports, {
|
|
|
91
91
|
xml: () => xml
|
|
92
92
|
});
|
|
93
93
|
|
|
94
|
+
// node_modules/statuses/codes.json
|
|
95
|
+
var _00 = "Continue";
|
|
96
|
+
var _01 = "Switching Protocols";
|
|
97
|
+
var _02 = "Processing";
|
|
98
|
+
var _03 = "Early Hints";
|
|
99
|
+
var _002 = "OK";
|
|
100
|
+
var _012 = "Created";
|
|
101
|
+
var _022 = "Accepted";
|
|
102
|
+
var _032 = "Non-Authoritative Information";
|
|
103
|
+
var _04 = "No Content";
|
|
104
|
+
var _05 = "Reset Content";
|
|
105
|
+
var _06 = "Partial Content";
|
|
106
|
+
var _07 = "Multi-Status";
|
|
107
|
+
var _08 = "Already Reported";
|
|
108
|
+
var _26 = "IM Used";
|
|
109
|
+
var _003 = "Multiple Choices";
|
|
110
|
+
var _013 = "Moved Permanently";
|
|
111
|
+
var _023 = "Found";
|
|
112
|
+
var _033 = "See Other";
|
|
113
|
+
var _042 = "Not Modified";
|
|
114
|
+
var _052 = "Use Proxy";
|
|
115
|
+
var _072 = "Temporary Redirect";
|
|
116
|
+
var _082 = "Permanent Redirect";
|
|
117
|
+
var _004 = "Bad Request";
|
|
118
|
+
var _014 = "Unauthorized";
|
|
119
|
+
var _024 = "Payment Required";
|
|
120
|
+
var _034 = "Forbidden";
|
|
121
|
+
var _043 = "Not Found";
|
|
122
|
+
var _053 = "Method Not Allowed";
|
|
123
|
+
var _062 = "Not Acceptable";
|
|
124
|
+
var _073 = "Proxy Authentication Required";
|
|
125
|
+
var _083 = "Request Timeout";
|
|
126
|
+
var _09 = "Conflict";
|
|
127
|
+
var _10 = "Gone";
|
|
128
|
+
var _11 = "Length Required";
|
|
129
|
+
var _12 = "Precondition Failed";
|
|
130
|
+
var _13 = "Payload Too Large";
|
|
131
|
+
var _14 = "URI Too Long";
|
|
132
|
+
var _15 = "Unsupported Media Type";
|
|
133
|
+
var _16 = "Range Not Satisfiable";
|
|
134
|
+
var _17 = "Expectation Failed";
|
|
135
|
+
var _18 = "I'm a Teapot";
|
|
136
|
+
var _21 = "Misdirected Request";
|
|
137
|
+
var _22 = "Unprocessable Entity";
|
|
138
|
+
var _23 = "Locked";
|
|
139
|
+
var _24 = "Failed Dependency";
|
|
140
|
+
var _25 = "Too Early";
|
|
141
|
+
var _262 = "Upgrade Required";
|
|
142
|
+
var _28 = "Precondition Required";
|
|
143
|
+
var _29 = "Too Many Requests";
|
|
144
|
+
var _31 = "Request Header Fields Too Large";
|
|
145
|
+
var _51 = "Unavailable For Legal Reasons";
|
|
146
|
+
var _005 = "Internal Server Error";
|
|
147
|
+
var _015 = "Not Implemented";
|
|
148
|
+
var _025 = "Bad Gateway";
|
|
149
|
+
var _035 = "Service Unavailable";
|
|
150
|
+
var _044 = "Gateway Timeout";
|
|
151
|
+
var _054 = "HTTP Version Not Supported";
|
|
152
|
+
var _063 = "Variant Also Negotiates";
|
|
153
|
+
var _074 = "Insufficient Storage";
|
|
154
|
+
var _084 = "Loop Detected";
|
|
155
|
+
var _092 = "Bandwidth Limit Exceeded";
|
|
156
|
+
var _102 = "Not Extended";
|
|
157
|
+
var _112 = "Network Authentication Required";
|
|
158
|
+
var codes_default = {
|
|
159
|
+
"100": _00,
|
|
160
|
+
"101": _01,
|
|
161
|
+
"102": _02,
|
|
162
|
+
"103": _03,
|
|
163
|
+
"200": _002,
|
|
164
|
+
"201": _012,
|
|
165
|
+
"202": _022,
|
|
166
|
+
"203": _032,
|
|
167
|
+
"204": _04,
|
|
168
|
+
"205": _05,
|
|
169
|
+
"206": _06,
|
|
170
|
+
"207": _07,
|
|
171
|
+
"208": _08,
|
|
172
|
+
"226": _26,
|
|
173
|
+
"300": _003,
|
|
174
|
+
"301": _013,
|
|
175
|
+
"302": _023,
|
|
176
|
+
"303": _033,
|
|
177
|
+
"304": _042,
|
|
178
|
+
"305": _052,
|
|
179
|
+
"307": _072,
|
|
180
|
+
"308": _082,
|
|
181
|
+
"400": _004,
|
|
182
|
+
"401": _014,
|
|
183
|
+
"402": _024,
|
|
184
|
+
"403": _034,
|
|
185
|
+
"404": _043,
|
|
186
|
+
"405": _053,
|
|
187
|
+
"406": _062,
|
|
188
|
+
"407": _073,
|
|
189
|
+
"408": _083,
|
|
190
|
+
"409": _09,
|
|
191
|
+
"410": _10,
|
|
192
|
+
"411": _11,
|
|
193
|
+
"412": _12,
|
|
194
|
+
"413": _13,
|
|
195
|
+
"414": _14,
|
|
196
|
+
"415": _15,
|
|
197
|
+
"416": _16,
|
|
198
|
+
"417": _17,
|
|
199
|
+
"418": _18,
|
|
200
|
+
"421": _21,
|
|
201
|
+
"422": _22,
|
|
202
|
+
"423": _23,
|
|
203
|
+
"424": _24,
|
|
204
|
+
"425": _25,
|
|
205
|
+
"426": _262,
|
|
206
|
+
"428": _28,
|
|
207
|
+
"429": _29,
|
|
208
|
+
"431": _31,
|
|
209
|
+
"451": _51,
|
|
210
|
+
"500": _005,
|
|
211
|
+
"501": _015,
|
|
212
|
+
"502": _025,
|
|
213
|
+
"503": _035,
|
|
214
|
+
"504": _044,
|
|
215
|
+
"505": _054,
|
|
216
|
+
"506": _063,
|
|
217
|
+
"507": _074,
|
|
218
|
+
"508": _084,
|
|
219
|
+
"509": _092,
|
|
220
|
+
"510": _102,
|
|
221
|
+
"511": _112
|
|
222
|
+
};
|
|
223
|
+
|
|
94
224
|
// src/context/status.ts
|
|
95
|
-
var import_codes = __toESM(require("statuses/codes.json"));
|
|
96
225
|
var status = (statusCode, statusText) => {
|
|
97
226
|
return (res) => {
|
|
98
227
|
res.status = statusCode;
|
|
99
|
-
res.statusText = statusText ||
|
|
228
|
+
res.statusText = statusText || codes_default[String(statusCode)];
|
|
100
229
|
return res;
|
|
101
230
|
};
|
|
102
231
|
};
|
|
@@ -1740,8 +1869,8 @@ function toReadonlyArray(source) {
|
|
|
1740
1869
|
|
|
1741
1870
|
// src/SetupApi.ts
|
|
1742
1871
|
var SetupApi = class {
|
|
1743
|
-
constructor(initialHandlers) {
|
|
1744
|
-
this.validateHandlers(initialHandlers);
|
|
1872
|
+
constructor(...initialHandlers) {
|
|
1873
|
+
this.validateHandlers(...initialHandlers);
|
|
1745
1874
|
this.initialHandlers = toReadonlyArray(initialHandlers);
|
|
1746
1875
|
this.currentHandlers = [...initialHandlers];
|
|
1747
1876
|
this.emitter = new import_strict_event_emitter.StrictEventEmitter();
|
|
@@ -1749,7 +1878,7 @@ var SetupApi = class {
|
|
|
1749
1878
|
pipeEvents(this.emitter, this.publicEmitter);
|
|
1750
1879
|
this.events = this.createLifeCycleEvents();
|
|
1751
1880
|
}
|
|
1752
|
-
validateHandlers(handlers) {
|
|
1881
|
+
validateHandlers(...handlers) {
|
|
1753
1882
|
for (const handler of handlers) {
|
|
1754
1883
|
(0, import_outvariant3.invariant)(!Array.isArray(handler), devUtils.formatMessage('Failed to construct "%s" given an Array of request handlers. Make sure you spread the request handlers when calling the respective setup function.'), this.constructor.name);
|
|
1755
1884
|
}
|
|
@@ -1789,8 +1918,8 @@ var SetupApi = class {
|
|
|
1789
1918
|
|
|
1790
1919
|
// src/setupWorker/setupWorker.ts
|
|
1791
1920
|
var SetupWorkerApi = class extends SetupApi {
|
|
1792
|
-
constructor(handlers) {
|
|
1793
|
-
super(handlers);
|
|
1921
|
+
constructor(...handlers) {
|
|
1922
|
+
super(...handlers);
|
|
1794
1923
|
this.startHandler = null;
|
|
1795
1924
|
this.stopHandler = null;
|
|
1796
1925
|
(0, import_outvariant4.invariant)(!(0, import_is_node_process3.isNodeProcess)(), devUtils.formatMessage("Failed to execute `setupWorker` in a non-browser environment. Consider using `setupServer` for Node.js environment instead."));
|
|
@@ -1894,7 +2023,7 @@ var SetupWorkerApi = class extends SetupApi {
|
|
|
1894
2023
|
}
|
|
1895
2024
|
};
|
|
1896
2025
|
function setupWorker(...handlers) {
|
|
1897
|
-
return new SetupWorkerApi(handlers);
|
|
2026
|
+
return new SetupWorkerApi(...handlers);
|
|
1898
2027
|
}
|
|
1899
2028
|
|
|
1900
2029
|
// src/rest.ts
|