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/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-75fbec12.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-75fbec12.js';
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-a22f5c13.js';
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
- declare type Path = string | RegExp;
12
- declare type PathParams<KeyType extends keyof any = string> = {
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
- declare type Fn = (...arg: any[]) => any;
25
- declare type RequiredDeep<Type, U extends Record<string, unknown> | Fn | undefined = undefined> = Type extends Fn ? Type : Type extends Record<string, any> ? {
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
- declare type GraphQLPayloadContext<QueryType extends Record<string, unknown>> = (payload: QueryType) => ResponseTransformer;
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
- declare type RestHandlerMethod = string | RegExp;
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
- declare type RestContext = DefaultContext & {
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
- declare type RequestQuery = {
166
+ type RequestQuery = {
167
167
  [queryName: string]: string;
168
168
  };
169
- declare type ParsedRestRequest = Match;
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
- declare type ForbiddenFieldNames = '' | 'data' | 'errors' | 'extensions';
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
- declare type ParsedGraphQLRequest<VariablesType extends GraphQLVariables = GraphQLVariables> = (ParsedGraphQLQuery & {
210
+ type ParsedGraphQLRequest<VariablesType extends GraphQLVariables = GraphQLVariables> = (ParsedGraphQLQuery & {
211
211
  variables?: VariablesType;
212
212
  }) | undefined;
213
- declare type GraphQLMultipartRequestBody = {
213
+ type GraphQLMultipartRequestBody = {
214
214
  operations: string;
215
215
  map?: string;
216
216
  } & {
217
217
  [fileName: string]: File;
218
218
  };
219
219
 
220
- declare type ExpectedOperationTypeNode = OperationTypeNode | 'all';
221
- declare type GraphQLHandlerNameSelector = DocumentNode | RegExp | string;
222
- declare type GraphQLContext<QueryType extends Record<string, unknown>> = DefaultContext & {
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
- declare type GraphQLVariables = Record<string, any>;
230
+ type GraphQLVariables = Record<string, any>;
231
231
  interface GraphQLHandlerInfo extends RequestHandlerDefaultInfo {
232
232
  operationType: ExpectedOperationTypeNode;
233
233
  operationName: GraphQLHandlerNameSelector;
234
234
  }
235
- declare type GraphQLRequestBody<VariablesType extends GraphQLVariables> = GraphQLJsonRequestBody<VariablesType> | GraphQLMultipartRequestBody | Record<string, any> | undefined;
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
- declare type ArityOneFunction = (arg: any) => any;
324
- declare type LengthOfTuple<Tuple extends any[]> = Tuple extends {
323
+ type ArityOneFunction = (arg: any) => any;
324
+ type LengthOfTuple<Tuple extends any[]> = Tuple extends {
325
325
  length: infer L;
326
326
  } ? L : never;
327
- declare type DropFirstInTuple<Tuple extends any[]> = ((...args: Tuple) => any) extends (arg: any, ...rest: infer LastArg) => any ? LastArg : Tuple;
328
- declare type LastInTuple<Tuple extends any[]> = Tuple[LengthOfTuple<DropFirstInTuple<Tuple>>];
329
- declare type FirstFnParameterType<Functions extends ArityOneFunction[]> = Parameters<LastInTuple<Functions>>[any];
330
- declare type LastFnParameterType<Functions extends ArityOneFunction[]> = ReturnType<Functions[0]>;
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 || import_codes.default[String(statusCode)];
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