msw 0.44.2 → 0.46.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.
@@ -19,7 +19,7 @@ declare type ForbiddenHeaderError<HeaderName extends string> = `SafeResponseHead
19
19
  * })
20
20
  * @see {@link https://mswjs.io/docs/api/context/set `ctx.set()`}
21
21
  */
22
- declare function set<N extends string | HeadersObject>(...args: N extends string ? Lowercase<N> extends ForbiddenHeaderNames ? ForbiddenHeaderError<N> : [N, string] : N extends HeadersObject<infer CookieName> ? Lowercase<CookieName> extends ForbiddenHeaderNames ? ForbiddenHeaderError<CookieName> : [N] : [N]): ResponseTransformer;
22
+ declare function set<N extends string | HeadersObject>(...args: N extends string ? Lowercase<N> extends ForbiddenHeaderNames ? [ForbiddenHeaderError<N>] : [N, string] : N extends HeadersObject<infer CookieName> ? Lowercase<CookieName> extends ForbiddenHeaderNames ? [ForbiddenHeaderError<CookieName>] : [N] : [N]): ResponseTransformer;
23
23
 
24
24
  declare type DelayMode = 'real' | 'infinite';
25
25
  /**
@@ -123,7 +123,7 @@ interface LifeCycleEventsMap<ResponseType> {
123
123
  'response:bypass': (response: ResponseType, requestId: string) => void;
124
124
  unhandledException: (error: Error, request: MockedRequest) => void;
125
125
  }
126
- declare type LifeCycleEventEmitter<ResponseType> = Pick<StrictEventEmitter<ResponseType>, 'on' | 'removeListener' | 'removeAllListeners'>;
126
+ declare type LifeCycleEventEmitter<ResponseType extends Record<string | symbol, any>> = Pick<StrictEventEmitter<ResponseType>, 'on' | 'removeListener' | 'removeAllListeners'>;
127
127
 
128
128
  declare type WorkerLifecycleEventsMap = LifeCycleEventsMap<Response>;
129
129
  declare type FindWorker = (scriptUrl: string, mockServiceWorkerUrl: string) => boolean;
@@ -194,6 +194,11 @@ interface SetupWorkerApi {
194
194
  * @see {@link https://mswjs.io/docs/api/setup-worker/reset-handlers `worker.resetHandlers()`}
195
195
  */
196
196
  resetHandlers: (...nextHandlers: RequestHandler[]) => void;
197
+ /**
198
+ * Returns a readonly list of currently active request handlers.
199
+ * @see {@link https://mswjs.io/docs/api/setup-worker/list-handlers `worker.listHandlers()`}
200
+ */
201
+ listHandlers(): ReadonlyArray<RequestHandler<RequestHandlerDefaultInfo, MockedRequest<DefaultBodyType>, any, MockedRequest<DefaultBodyType>>>;
197
202
  /**
198
203
  * Lists all active request handlers.
199
204
  * @see {@link https://mswjs.io/docs/api/setup-worker/print-handlers `worker.printHandlers()`}
@@ -221,7 +226,7 @@ declare type ContextMap = Record<string, (...args: any[]) => any>;
221
226
  declare type ResponseResolverReturnType<ReturnType> = ReturnType | undefined | void;
222
227
  declare type MaybeAsyncResponseResolverReturnType<ReturnType> = MaybePromise<ResponseResolverReturnType<ReturnType>>;
223
228
  declare type AsyncResponseResolverReturnType<ReturnType> = MaybeAsyncResponseResolverReturnType<ReturnType> | Generator<MaybeAsyncResponseResolverReturnType<ReturnType>, MaybeAsyncResponseResolverReturnType<ReturnType>, MaybeAsyncResponseResolverReturnType<ReturnType>>;
224
- declare type ResponseResolver<RequestType = MockedRequest, ContextType = typeof defaultContext, BodyType = any> = (req: RequestType, res: ResponseComposition<BodyType>, context: ContextType) => AsyncResponseResolverReturnType<MockedResponse<BodyType>>;
229
+ declare type ResponseResolver<RequestType = MockedRequest, ContextType = typeof defaultContext, BodyType extends DefaultBodyType = any> = (req: RequestType, res: ResponseComposition<BodyType>, context: ContextType) => AsyncResponseResolverReturnType<MockedResponse<BodyType>>;
225
230
  interface RequestHandlerOptions<HandlerInfo> {
226
231
  info: HandlerInfo;
227
232
  resolver: ResponseResolver<any, any>;
@@ -286,9 +291,9 @@ interface MockedResponse<BodyType extends DefaultBodyType = any> {
286
291
  passthrough: boolean;
287
292
  delay?: number;
288
293
  }
289
- declare type ResponseTransformer<BodyType extends TransformerBodyType = any, TransformerBodyType = any> = (res: MockedResponse<TransformerBodyType>) => MaybePromise<MockedResponse<BodyType>>;
290
- declare type ResponseFunction<BodyType = any> = (...transformers: ResponseTransformer<BodyType>[]) => MaybePromise<MockedResponse<BodyType>>;
291
- declare type ResponseComposition<BodyType = any> = ResponseFunction<BodyType> & {
294
+ declare type ResponseTransformer<BodyType extends TransformerBodyType = any, TransformerBodyType extends DefaultBodyType = any> = (res: MockedResponse<TransformerBodyType>) => MaybePromise<MockedResponse<BodyType>>;
295
+ declare type ResponseFunction<BodyType extends DefaultBodyType = any> = (...transformers: ResponseTransformer<BodyType>[]) => MaybePromise<MockedResponse<BodyType>>;
296
+ declare type ResponseComposition<BodyType extends DefaultBodyType = any> = ResponseFunction<BodyType> & {
292
297
  /**
293
298
  * Respond using a given mocked response to the first captured request.
294
299
  * Does not affect any subsequent captured requests.
@@ -301,7 +306,7 @@ declare type ResponseCompositionOptions<BodyType> = {
301
306
  defaultTransformers?: ResponseTransformer<BodyType>[];
302
307
  mockedResponseOverrides?: Partial<MockedResponse>;
303
308
  };
304
- declare function createResponseComposition<BodyType>(responseOverrides?: Partial<MockedResponse<BodyType>>, defaultTransformers?: ResponseTransformer<BodyType>[]): ResponseFunction;
309
+ declare function createResponseComposition<BodyType extends DefaultBodyType>(responseOverrides?: Partial<MockedResponse<BodyType>>, defaultTransformers?: ResponseTransformer<BodyType>[]): ResponseFunction;
305
310
  declare const response: ResponseFunction<any> & {
306
311
  once: ResponseFunction<any>;
307
312
  networkError(message: string): never;
@@ -343,6 +348,11 @@ interface SetupServerApi {
343
348
  * @see {@link https://mswjs.io/docs/api/setup-server/reset-handlers `server.reset-handlers()`}
344
349
  */
345
350
  resetHandlers(...nextHandlers: RequestHandler[]): void;
351
+ /**
352
+ * Returns a readonly list of cyurrently active request handlers.
353
+ * @see {@link https://mswjs.io/docs/api/setup-server/list-handlers `server.listHandlers()`}
354
+ */
355
+ listHandlers(): ReadonlyArray<RequestHandler<RequestHandlerDefaultInfo, MockedRequest<DefaultBodyType>, any, MockedRequest<DefaultBodyType>>>;
346
356
  /**
347
357
  * Lists all active request handlers.
348
358
  * @see {@link https://mswjs.io/docs/api/setup-server/print-handlers `server.print-handlers()`}
package/lib/iife/index.js CHANGED
@@ -10292,7 +10292,7 @@ Learn more about creating the Service Worker script: https://mswjs.io/docs/cli/i
10292
10292
  }
10293
10293
 
10294
10294
  // node_modules/graphql/error/GraphQLError.mjs
10295
- function toNormalizedArgs(args) {
10295
+ function toNormalizedOptions(args) {
10296
10296
  const firstArg = args[0];
10297
10297
  if (firstArg == null || "kind" in firstArg || "length" in firstArg) {
10298
10298
  return {
@@ -10309,7 +10309,7 @@ Learn more about creating the Service Worker script: https://mswjs.io/docs/cli/i
10309
10309
  var GraphQLError = class extends Error {
10310
10310
  constructor(message, ...rawArgs) {
10311
10311
  var _this$nodes, _nodeLocations$, _ref;
10312
- const { nodes, source, positions, path, originalError, extensions: extensions2 } = toNormalizedArgs(rawArgs);
10312
+ const { nodes, source, positions, path, originalError, extensions: extensions2 } = toNormalizedOptions(rawArgs);
10313
10313
  super(message);
10314
10314
  this.name = "GraphQLError";
10315
10315
  this.path = path !== null && path !== void 0 ? path : void 0;
@@ -10398,9 +10398,10 @@ Learn more about creating the Service Worker script: https://mswjs.io/docs/cli/i
10398
10398
 
10399
10399
  // node_modules/graphql/error/syntaxError.mjs
10400
10400
  function syntaxError(source, position, description) {
10401
- return new GraphQLError(`Syntax Error: ${description}`, void 0, source, [
10402
- position
10403
- ]);
10401
+ return new GraphQLError(`Syntax Error: ${description}`, {
10402
+ source,
10403
+ positions: [position]
10404
+ });
10404
10405
  }
10405
10406
 
10406
10407
  // node_modules/graphql/language/ast.mjs
@@ -10521,10 +10522,10 @@ Learn more about creating the Service Worker script: https://mswjs.io/docs/cli/i
10521
10522
  };
10522
10523
  var kindValues = new Set(Object.keys(QueryDocumentKeys));
10523
10524
  var OperationTypeNode;
10524
- (function(OperationTypeNode3) {
10525
- OperationTypeNode3["QUERY"] = "query";
10526
- OperationTypeNode3["MUTATION"] = "mutation";
10527
- OperationTypeNode3["SUBSCRIPTION"] = "subscription";
10525
+ (function(OperationTypeNode2) {
10526
+ OperationTypeNode2["QUERY"] = "query";
10527
+ OperationTypeNode2["MUTATION"] = "mutation";
10528
+ OperationTypeNode2["SUBSCRIPTION"] = "subscription";
10528
10529
  })(OperationTypeNode || (OperationTypeNode = {}));
10529
10530
 
10530
10531
  // node_modules/graphql/language/directiveLocation.mjs
@@ -11210,10 +11211,11 @@ spurious results.`);
11210
11211
  return parser.parseDocument();
11211
11212
  }
11212
11213
  var Parser = class {
11213
- constructor(source, options) {
11214
+ constructor(source, options = {}) {
11214
11215
  const sourceObj = isSource(source) ? source : new Source(source);
11215
11216
  this._lexer = new Lexer(sourceObj);
11216
11217
  this._options = options;
11218
+ this._tokenCounter = 0;
11217
11219
  }
11218
11220
  parseName() {
11219
11221
  const token = this.expectToken(TokenKind.NAME);
@@ -11392,10 +11394,9 @@ spurious results.`);
11392
11394
  });
11393
11395
  }
11394
11396
  parseFragmentDefinition() {
11395
- var _this$_options;
11396
11397
  const start = this._lexer.token;
11397
11398
  this.expectKeyword("fragment");
11398
- if (((_this$_options = this._options) === null || _this$_options === void 0 ? void 0 : _this$_options.allowLegacyFragmentVariables) === true) {
11399
+ if (this._options.allowLegacyFragmentVariables === true) {
11399
11400
  return this.node(start, {
11400
11401
  kind: Kind.FRAGMENT_DEFINITION,
11401
11402
  name: this.parseFragmentName(),
@@ -11427,13 +11428,13 @@ spurious results.`);
11427
11428
  case TokenKind.BRACE_L:
11428
11429
  return this.parseObject(isConst);
11429
11430
  case TokenKind.INT:
11430
- this._lexer.advance();
11431
+ this.advanceLexer();
11431
11432
  return this.node(token, {
11432
11433
  kind: Kind.INT,
11433
11434
  value: token.value
11434
11435
  });
11435
11436
  case TokenKind.FLOAT:
11436
- this._lexer.advance();
11437
+ this.advanceLexer();
11437
11438
  return this.node(token, {
11438
11439
  kind: Kind.FLOAT,
11439
11440
  value: token.value
@@ -11442,7 +11443,7 @@ spurious results.`);
11442
11443
  case TokenKind.BLOCK_STRING:
11443
11444
  return this.parseStringLiteral();
11444
11445
  case TokenKind.NAME:
11445
- this._lexer.advance();
11446
+ this.advanceLexer();
11446
11447
  switch (token.value) {
11447
11448
  case "true":
11448
11449
  return this.node(token, {
@@ -11484,7 +11485,7 @@ spurious results.`);
11484
11485
  }
11485
11486
  parseStringLiteral() {
11486
11487
  const token = this._lexer.token;
11487
- this._lexer.advance();
11488
+ this.advanceLexer();
11488
11489
  return this.node(token, {
11489
11490
  kind: Kind.STRING,
11490
11491
  value: token.value,
@@ -11930,8 +11931,7 @@ spurious results.`);
11930
11931
  throw this.unexpected(start);
11931
11932
  }
11932
11933
  node(startToken, node) {
11933
- var _this$_options2;
11934
- if (((_this$_options2 = this._options) === null || _this$_options2 === void 0 ? void 0 : _this$_options2.noLocation) !== true) {
11934
+ if (this._options.noLocation !== true) {
11935
11935
  node.loc = new Location(startToken, this._lexer.lastToken, this._lexer.source);
11936
11936
  }
11937
11937
  return node;
@@ -11942,7 +11942,7 @@ spurious results.`);
11942
11942
  expectToken(kind) {
11943
11943
  const token = this._lexer.token;
11944
11944
  if (token.kind === kind) {
11945
- this._lexer.advance();
11945
+ this.advanceLexer();
11946
11946
  return token;
11947
11947
  }
11948
11948
  throw syntaxError(this._lexer.source, token.start, `Expected ${getTokenKindDesc(kind)}, found ${getTokenDesc(token)}.`);
@@ -11950,7 +11950,7 @@ spurious results.`);
11950
11950
  expectOptionalToken(kind) {
11951
11951
  const token = this._lexer.token;
11952
11952
  if (token.kind === kind) {
11953
- this._lexer.advance();
11953
+ this.advanceLexer();
11954
11954
  return true;
11955
11955
  }
11956
11956
  return false;
@@ -11958,7 +11958,7 @@ spurious results.`);
11958
11958
  expectKeyword(value) {
11959
11959
  const token = this._lexer.token;
11960
11960
  if (token.kind === TokenKind.NAME && token.value === value) {
11961
- this._lexer.advance();
11961
+ this.advanceLexer();
11962
11962
  } else {
11963
11963
  throw syntaxError(this._lexer.source, token.start, `Expected "${value}", found ${getTokenDesc(token)}.`);
11964
11964
  }
@@ -11966,7 +11966,7 @@ spurious results.`);
11966
11966
  expectOptionalKeyword(value) {
11967
11967
  const token = this._lexer.token;
11968
11968
  if (token.kind === TokenKind.NAME && token.value === value) {
11969
- this._lexer.advance();
11969
+ this.advanceLexer();
11970
11970
  return true;
11971
11971
  }
11972
11972
  return false;
@@ -12009,6 +12009,16 @@ spurious results.`);
12009
12009
  } while (this.expectOptionalToken(delimiterKind));
12010
12010
  return nodes;
12011
12011
  }
12012
+ advanceLexer() {
12013
+ const { maxTokens } = this._options;
12014
+ const token = this._lexer.advance();
12015
+ if (maxTokens !== void 0 && token.kind !== TokenKind.EOF) {
12016
+ ++this._tokenCounter;
12017
+ if (this._tokenCounter > maxTokens) {
12018
+ throw syntaxError(this._lexer.source, token.start, `Document contains more that ${maxTokens} tokens. Parsing aborted.`);
12019
+ }
12020
+ }
12021
+ }
12012
12022
  };
12013
12023
  function getTokenDesc(token) {
12014
12024
  const value = token.value;
@@ -13322,6 +13332,13 @@ If this message still persists after updating, please report an issue: https://g
13322
13332
  source.emit._isPiped = true;
13323
13333
  }
13324
13334
 
13335
+ // src/utils/internal/toReadonlyArray.ts
13336
+ function toReadonlyArray(source) {
13337
+ const clone = [...source];
13338
+ Object.freeze(clone);
13339
+ return clone;
13340
+ }
13341
+
13325
13342
  // src/setupWorker/setupWorker.ts
13326
13343
  var listeners = [];
13327
13344
  function setupWorker(...requestHandlers) {
@@ -13416,8 +13433,12 @@ If this message still persists after updating, please report an issue: https://g
13416
13433
  resetHandlers(...nextHandlers) {
13417
13434
  context.requestHandlers = resetHandlers(requestHandlers, ...nextHandlers);
13418
13435
  },
13436
+ listHandlers() {
13437
+ return toReadonlyArray(context.requestHandlers);
13438
+ },
13419
13439
  printHandlers() {
13420
- context.requestHandlers.forEach((handler) => {
13440
+ const handlers = this.listHandlers();
13441
+ handlers.forEach((handler) => {
13421
13442
  const { header, callFrame } = handler.info;
13422
13443
  const pragma = handler.info.hasOwnProperty("operationType") ? "[graphql]" : "[rest]";
13423
13444
  console.groupCollapsed(`${pragma} ${header}`);
@@ -13475,14 +13496,14 @@ If this message still persists after updating, please report an issue: https://g
13475
13496
  }
13476
13497
  var standardGraphQLHandlers = {
13477
13498
  operation: createGraphQLOperationHandler("*"),
13478
- query: createScopedGraphQLHandler(OperationTypeNode.QUERY, "*"),
13479
- mutation: createScopedGraphQLHandler(OperationTypeNode.MUTATION, "*")
13499
+ query: createScopedGraphQLHandler("query", "*"),
13500
+ mutation: createScopedGraphQLHandler("mutation", "*")
13480
13501
  };
13481
13502
  function createGraphQLLink(url) {
13482
13503
  return {
13483
13504
  operation: createGraphQLOperationHandler(url),
13484
- query: createScopedGraphQLHandler(OperationTypeNode.QUERY, url),
13485
- mutation: createScopedGraphQLHandler(OperationTypeNode.MUTATION, url)
13505
+ query: createScopedGraphQLHandler("query", url),
13506
+ mutation: createScopedGraphQLHandler("mutation", url)
13486
13507
  };
13487
13508
  }
13488
13509
  var graphql = __spreadProps(__spreadValues({}, standardGraphQLHandlers), {