msw 2.10.0 → 2.10.2
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/browser/index.js +8 -8
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/index.mjs +8 -8
- package/lib/browser/index.mjs.map +1 -1
- package/lib/core/{HttpResponse-DzeJL_i8.d.ts → HttpResponse-CCdkF1fJ.d.ts} +103 -2
- package/lib/core/{HttpResponse-BOGtXZ-B.d.mts → HttpResponse-I457nh8V.d.mts} +103 -2
- package/lib/core/HttpResponse.d.mts +3 -1
- package/lib/core/HttpResponse.d.ts +3 -1
- package/lib/core/HttpResponse.js +5 -1
- package/lib/core/HttpResponse.js.map +1 -1
- package/lib/core/HttpResponse.mjs +5 -1
- package/lib/core/HttpResponse.mjs.map +1 -1
- package/lib/core/SetupApi.d.mts +3 -2
- package/lib/core/SetupApi.d.ts +3 -2
- package/lib/core/getResponse.d.mts +3 -1
- package/lib/core/getResponse.d.ts +3 -1
- package/lib/core/graphql.d.mts +1 -2
- package/lib/core/graphql.d.ts +1 -2
- package/lib/core/handlers/GraphQLHandler.d.mts +1 -2
- package/lib/core/handlers/GraphQLHandler.d.ts +1 -2
- package/lib/core/handlers/HttpHandler.d.mts +2 -1
- package/lib/core/handlers/HttpHandler.d.ts +2 -1
- package/lib/core/handlers/RequestHandler.d.mts +3 -1
- package/lib/core/handlers/RequestHandler.d.ts +3 -1
- package/lib/core/handlers/RequestHandler.js.map +1 -1
- package/lib/core/handlers/RequestHandler.mjs.map +1 -1
- package/lib/core/handlers/WebSocketHandler.d.mts +6 -3
- package/lib/core/handlers/WebSocketHandler.d.ts +6 -3
- package/lib/core/handlers/WebSocketHandler.js.map +1 -1
- package/lib/core/handlers/WebSocketHandler.mjs.map +1 -1
- package/lib/core/http.d.mts +2 -1
- package/lib/core/http.d.ts +2 -1
- package/lib/core/index.d.mts +1 -2
- package/lib/core/index.d.ts +1 -2
- package/lib/core/passthrough.d.mts +3 -1
- package/lib/core/passthrough.d.ts +3 -1
- package/lib/core/utils/HttpResponse/decorators.d.mts +3 -1
- package/lib/core/utils/HttpResponse/decorators.d.ts +3 -1
- package/lib/core/utils/executeHandlers.d.mts +3 -1
- package/lib/core/utils/executeHandlers.d.ts +3 -1
- package/lib/core/utils/handleRequest.d.mts +3 -1
- package/lib/core/utils/handleRequest.d.ts +3 -1
- package/lib/core/utils/internal/isHandlerKind.d.mts +3 -2
- package/lib/core/utils/internal/isHandlerKind.d.ts +3 -2
- package/lib/core/utils/internal/parseGraphQLRequest.d.mts +1 -2
- package/lib/core/utils/internal/parseGraphQLRequest.d.ts +1 -2
- package/lib/core/utils/internal/parseMultipartData.d.mts +3 -1
- package/lib/core/utils/internal/parseMultipartData.d.ts +3 -1
- package/lib/core/utils/internal/requestHandlerUtils.d.mts +3 -1
- package/lib/core/utils/internal/requestHandlerUtils.d.ts +3 -1
- package/lib/core/ws/WebSocketClientManager.d.mts +4 -2
- package/lib/core/ws/WebSocketClientManager.d.ts +4 -2
- package/lib/core/ws/WebSocketClientManager.js +10 -0
- package/lib/core/ws/WebSocketClientManager.js.map +1 -1
- package/lib/core/ws/WebSocketClientManager.mjs +10 -0
- package/lib/core/ws/WebSocketClientManager.mjs.map +1 -1
- package/lib/core/ws/handleWebSocketEvent.d.mts +3 -2
- package/lib/core/ws/handleWebSocketEvent.d.ts +3 -2
- package/lib/iife/index.js +23 -9
- package/lib/iife/index.js.map +1 -1
- package/lib/mockServiceWorker.js +1 -1
- package/package.json +3 -3
- package/src/core/HttpResponse.ts +8 -1
- package/src/core/handlers/RequestHandler.ts +17 -2
- package/src/core/handlers/WebSocketHandler.ts +12 -3
- package/src/core/ws/WebSocketClientManager.ts +33 -3
- package/lib/core/GraphQLHandler-DOXAygvT.d.mts +0 -100
- package/lib/core/GraphQLHandler-noP9MRWa.d.ts +0 -100
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { FetchResponse } from '@mswjs/interceptors';
|
|
2
2
|
import { Iterable, AsyncIterable } from './utils/internal/isIterable.js';
|
|
3
3
|
import { MaybePromise, NoInfer } from './typeUtils.js';
|
|
4
|
+
import { OperationTypeNode, DocumentNode, GraphQLError } from 'graphql';
|
|
5
|
+
import { Match, Path } from './utils/matching/matchRequestUrl.js';
|
|
4
6
|
|
|
5
7
|
interface HandlersExecutionResult {
|
|
6
8
|
handler: RequestHandler;
|
|
@@ -22,6 +24,101 @@ declare const executeHandlers: <Handlers extends Array<RequestHandler>>({ reques
|
|
|
22
24
|
resolutionContext?: ResponseResolutionContext;
|
|
23
25
|
}) => Promise<HandlersExecutionResult | null>;
|
|
24
26
|
|
|
27
|
+
interface ParsedGraphQLQuery {
|
|
28
|
+
operationType: OperationTypeNode;
|
|
29
|
+
operationName?: string;
|
|
30
|
+
}
|
|
31
|
+
type ParsedGraphQLRequest<VariablesType extends GraphQLVariables = GraphQLVariables> = (ParsedGraphQLQuery & {
|
|
32
|
+
query: string;
|
|
33
|
+
variables?: VariablesType;
|
|
34
|
+
}) | undefined;
|
|
35
|
+
declare function parseDocumentNode(node: DocumentNode): ParsedGraphQLQuery;
|
|
36
|
+
type GraphQLParsedOperationsMap = Record<string, string[]>;
|
|
37
|
+
type GraphQLMultipartRequestBody = {
|
|
38
|
+
operations: string;
|
|
39
|
+
map?: string;
|
|
40
|
+
} & {
|
|
41
|
+
[fileName: string]: File;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Determines if a given request can be considered a GraphQL request.
|
|
45
|
+
* Does not parse the query and does not guarantee its validity.
|
|
46
|
+
*/
|
|
47
|
+
declare function parseGraphQLRequest(request: Request): Promise<ParsedGraphQLRequest>;
|
|
48
|
+
|
|
49
|
+
type ExpectedOperationTypeNode = OperationTypeNode | 'all';
|
|
50
|
+
type GraphQLHandlerNameSelector = DocumentNode | RegExp | string;
|
|
51
|
+
type GraphQLQuery = Record<string, any> | null;
|
|
52
|
+
type GraphQLVariables = Record<string, any>;
|
|
53
|
+
interface GraphQLHandlerInfo extends RequestHandlerDefaultInfo {
|
|
54
|
+
operationType: ExpectedOperationTypeNode;
|
|
55
|
+
operationName: GraphQLHandlerNameSelector;
|
|
56
|
+
}
|
|
57
|
+
type GraphQLRequestParsedResult = {
|
|
58
|
+
match: Match;
|
|
59
|
+
cookies: Record<string, string>;
|
|
60
|
+
} & (ParsedGraphQLRequest<GraphQLVariables>
|
|
61
|
+
/**
|
|
62
|
+
* An empty version of the ParsedGraphQLRequest
|
|
63
|
+
* which simplifies the return type of the resolver
|
|
64
|
+
* when the request is to a non-matching endpoint
|
|
65
|
+
*/
|
|
66
|
+
| {
|
|
67
|
+
operationType?: undefined;
|
|
68
|
+
operationName?: undefined;
|
|
69
|
+
query?: undefined;
|
|
70
|
+
variables?: undefined;
|
|
71
|
+
});
|
|
72
|
+
type GraphQLResolverExtras<Variables extends GraphQLVariables> = {
|
|
73
|
+
query: string;
|
|
74
|
+
operationName: string;
|
|
75
|
+
variables: Variables;
|
|
76
|
+
cookies: Record<string, string>;
|
|
77
|
+
};
|
|
78
|
+
type GraphQLRequestBody<VariablesType extends GraphQLVariables> = GraphQLJsonRequestBody<VariablesType> | GraphQLMultipartRequestBody | Record<string, any> | undefined;
|
|
79
|
+
interface GraphQLJsonRequestBody<Variables extends GraphQLVariables> {
|
|
80
|
+
query: string;
|
|
81
|
+
variables?: Variables;
|
|
82
|
+
}
|
|
83
|
+
type GraphQLResponseBody<BodyType extends DefaultBodyType> = {
|
|
84
|
+
data?: BodyType | null;
|
|
85
|
+
errors?: readonly Partial<GraphQLError>[] | null;
|
|
86
|
+
extensions?: Record<string, any>;
|
|
87
|
+
} | null | undefined;
|
|
88
|
+
declare function isDocumentNode(value: DocumentNode | any): value is DocumentNode;
|
|
89
|
+
declare class GraphQLHandler extends RequestHandler<GraphQLHandlerInfo, GraphQLRequestParsedResult, GraphQLResolverExtras<any>> {
|
|
90
|
+
private endpoint;
|
|
91
|
+
static parsedRequestCache: WeakMap<Request, ParsedGraphQLRequest<GraphQLVariables>>;
|
|
92
|
+
constructor(operationType: ExpectedOperationTypeNode, operationName: GraphQLHandlerNameSelector, endpoint: Path, resolver: ResponseResolver<GraphQLResolverExtras<any>, any, any>, options?: RequestHandlerOptions);
|
|
93
|
+
/**
|
|
94
|
+
* Parses the request body, once per request, cached across all
|
|
95
|
+
* GraphQL handlers. This is done to avoid multiple parsing of the
|
|
96
|
+
* request body, which each requires a clone of the request.
|
|
97
|
+
*/
|
|
98
|
+
parseGraphQLRequestOrGetFromCache(request: Request): Promise<ParsedGraphQLRequest<GraphQLVariables>>;
|
|
99
|
+
parse(args: {
|
|
100
|
+
request: Request;
|
|
101
|
+
}): Promise<GraphQLRequestParsedResult>;
|
|
102
|
+
predicate(args: {
|
|
103
|
+
request: Request;
|
|
104
|
+
parsedResult: GraphQLRequestParsedResult;
|
|
105
|
+
}): boolean;
|
|
106
|
+
protected extendResolverArgs(args: {
|
|
107
|
+
request: Request;
|
|
108
|
+
parsedResult: GraphQLRequestParsedResult;
|
|
109
|
+
}): {
|
|
110
|
+
query: string;
|
|
111
|
+
operationName: string;
|
|
112
|
+
variables: GraphQLVariables;
|
|
113
|
+
cookies: Record<string, string>;
|
|
114
|
+
};
|
|
115
|
+
log(args: {
|
|
116
|
+
request: Request;
|
|
117
|
+
response: Response;
|
|
118
|
+
parsedResult: GraphQLRequestParsedResult;
|
|
119
|
+
}): Promise<void>;
|
|
120
|
+
}
|
|
121
|
+
|
|
25
122
|
type DefaultRequestMultipartBody = Record<string, string | File | Array<string | File>>;
|
|
26
123
|
type DefaultBodyType = Record<string, any> | DefaultRequestMultipartBody | string | number | boolean | null | undefined;
|
|
27
124
|
type JsonBodyType = Record<string, any> | string | number | boolean | null | undefined;
|
|
@@ -31,7 +128,7 @@ interface RequestHandlerDefaultInfo {
|
|
|
31
128
|
interface RequestHandlerInternalInfo {
|
|
32
129
|
callFrame?: string;
|
|
33
130
|
}
|
|
34
|
-
type ResponseResolverReturnType<ResponseBodyType extends DefaultBodyType = undefined> = ([ResponseBodyType] extends [undefined] ? Response : HttpResponse<ResponseBodyType>) | undefined | void;
|
|
131
|
+
type ResponseResolverReturnType<ResponseBodyType extends DefaultBodyType = undefined> = ([ResponseBodyType] extends [undefined] ? Response : ResponseBodyType extends GraphQLRequestBody<any> ? HttpResponse<ResponseBodyType> | DefaultUnsafeFetchResponse : HttpResponse<ResponseBodyType>) | undefined | void;
|
|
35
132
|
type MaybeAsyncResponseResolverReturnType<ResponseBodyType extends DefaultBodyType> = MaybePromise<ResponseResolverReturnType<ResponseBodyType>>;
|
|
36
133
|
type AsyncResponseResolverReturnType<ResponseBodyType extends DefaultBodyType> = MaybePromise<ResponseResolverReturnType<ResponseBodyType> | Iterable<MaybeAsyncResponseResolverReturnType<ResponseBodyType>, MaybeAsyncResponseResolverReturnType<ResponseBodyType>, MaybeAsyncResponseResolverReturnType<ResponseBodyType>> | AsyncIterable<MaybeAsyncResponseResolverReturnType<ResponseBodyType>, MaybeAsyncResponseResolverReturnType<ResponseBodyType>, MaybeAsyncResponseResolverReturnType<ResponseBodyType>>>;
|
|
37
134
|
type ResponseResolverInfo<ResolverExtraInfo extends Record<string, unknown>, RequestBodyType extends DefaultBodyType = DefaultBodyType> = {
|
|
@@ -125,6 +222,9 @@ interface HttpResponseInit extends ResponseInit {
|
|
|
125
222
|
type?: ResponseType;
|
|
126
223
|
}
|
|
127
224
|
declare const bodyType: unique symbol;
|
|
225
|
+
type DefaultUnsafeFetchResponse = Response & {
|
|
226
|
+
[bodyType]?: never;
|
|
227
|
+
};
|
|
128
228
|
interface StrictRequest<BodyType extends JsonBodyType> extends Request {
|
|
129
229
|
json(): Promise<BodyType>;
|
|
130
230
|
}
|
|
@@ -148,6 +248,7 @@ type StrictResponse<BodyType extends DefaultBodyType> = HttpResponse<BodyType>;
|
|
|
148
248
|
declare class HttpResponse<BodyType extends DefaultBodyType> extends FetchResponse {
|
|
149
249
|
readonly [bodyType]: BodyType;
|
|
150
250
|
constructor(body?: NoInfer<BodyType> | null, init?: HttpResponseInit);
|
|
251
|
+
static error(): HttpResponse<any>;
|
|
151
252
|
/**
|
|
152
253
|
* Create a `Response` with a `Content-Type: "text/plain"` body.
|
|
153
254
|
* @example
|
|
@@ -197,4 +298,4 @@ declare class HttpResponse<BodyType extends DefaultBodyType> extends FetchRespon
|
|
|
197
298
|
static formData(body?: FormData, init?: HttpResponseInit): HttpResponse<FormData>;
|
|
198
299
|
}
|
|
199
300
|
|
|
200
|
-
export { type AsyncResponseResolverReturnType as A, type DefaultBodyType as D, type HttpResponseInit as H, type JsonBodyType as J, type MaybeAsyncResponseResolverReturnType as M, RequestHandler as R, type StrictRequest as S, type ResponseResolver as a, type ResponseResolverReturnType as b, type RequestHandlerOptions as c, type DefaultRequestMultipartBody as d, type
|
|
301
|
+
export { type AsyncResponseResolverReturnType as A, isDocumentNode as B, type RequestHandlerInternalInfo as C, type DefaultBodyType as D, type ExpectedOperationTypeNode as E, type ResponseResolverInfo as F, GraphQLHandler as G, type HttpResponseInit as H, type RequestHandlerArgs as I, type JsonBodyType as J, type RequestHandlerExecutionResult as K, type MaybeAsyncResponseResolverReturnType as M, type ParsedGraphQLRequest as P, RequestHandler as R, type StrictRequest as S, type ResponseResolver as a, type ResponseResolverReturnType as b, type RequestHandlerOptions as c, type DefaultRequestMultipartBody as d, type GraphQLQuery as e, type GraphQLVariables as f, type GraphQLRequestBody as g, type GraphQLJsonRequestBody as h, bodyType as i, type DefaultUnsafeFetchResponse as j, type StrictResponse as k, HttpResponse as l, type GraphQLHandlerNameSelector as m, type GraphQLResolverExtras as n, type GraphQLResponseBody as o, type RequestHandlerDefaultInfo as p, type ResponseResolutionContext as q, type HandlersExecutionResult as r, executeHandlers as s, type ParsedGraphQLQuery as t, parseDocumentNode as u, type GraphQLParsedOperationsMap as v, type GraphQLMultipartRequestBody as w, parseGraphQLRequest as x, type GraphQLHandlerInfo as y, type GraphQLRequestParsedResult as z };
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { FetchResponse } from '@mswjs/interceptors';
|
|
2
2
|
import { Iterable, AsyncIterable } from './utils/internal/isIterable.mjs';
|
|
3
3
|
import { MaybePromise, NoInfer } from './typeUtils.mjs';
|
|
4
|
+
import { OperationTypeNode, DocumentNode, GraphQLError } from 'graphql';
|
|
5
|
+
import { Match, Path } from './utils/matching/matchRequestUrl.mjs';
|
|
4
6
|
|
|
5
7
|
interface HandlersExecutionResult {
|
|
6
8
|
handler: RequestHandler;
|
|
@@ -22,6 +24,101 @@ declare const executeHandlers: <Handlers extends Array<RequestHandler>>({ reques
|
|
|
22
24
|
resolutionContext?: ResponseResolutionContext;
|
|
23
25
|
}) => Promise<HandlersExecutionResult | null>;
|
|
24
26
|
|
|
27
|
+
interface ParsedGraphQLQuery {
|
|
28
|
+
operationType: OperationTypeNode;
|
|
29
|
+
operationName?: string;
|
|
30
|
+
}
|
|
31
|
+
type ParsedGraphQLRequest<VariablesType extends GraphQLVariables = GraphQLVariables> = (ParsedGraphQLQuery & {
|
|
32
|
+
query: string;
|
|
33
|
+
variables?: VariablesType;
|
|
34
|
+
}) | undefined;
|
|
35
|
+
declare function parseDocumentNode(node: DocumentNode): ParsedGraphQLQuery;
|
|
36
|
+
type GraphQLParsedOperationsMap = Record<string, string[]>;
|
|
37
|
+
type GraphQLMultipartRequestBody = {
|
|
38
|
+
operations: string;
|
|
39
|
+
map?: string;
|
|
40
|
+
} & {
|
|
41
|
+
[fileName: string]: File;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Determines if a given request can be considered a GraphQL request.
|
|
45
|
+
* Does not parse the query and does not guarantee its validity.
|
|
46
|
+
*/
|
|
47
|
+
declare function parseGraphQLRequest(request: Request): Promise<ParsedGraphQLRequest>;
|
|
48
|
+
|
|
49
|
+
type ExpectedOperationTypeNode = OperationTypeNode | 'all';
|
|
50
|
+
type GraphQLHandlerNameSelector = DocumentNode | RegExp | string;
|
|
51
|
+
type GraphQLQuery = Record<string, any> | null;
|
|
52
|
+
type GraphQLVariables = Record<string, any>;
|
|
53
|
+
interface GraphQLHandlerInfo extends RequestHandlerDefaultInfo {
|
|
54
|
+
operationType: ExpectedOperationTypeNode;
|
|
55
|
+
operationName: GraphQLHandlerNameSelector;
|
|
56
|
+
}
|
|
57
|
+
type GraphQLRequestParsedResult = {
|
|
58
|
+
match: Match;
|
|
59
|
+
cookies: Record<string, string>;
|
|
60
|
+
} & (ParsedGraphQLRequest<GraphQLVariables>
|
|
61
|
+
/**
|
|
62
|
+
* An empty version of the ParsedGraphQLRequest
|
|
63
|
+
* which simplifies the return type of the resolver
|
|
64
|
+
* when the request is to a non-matching endpoint
|
|
65
|
+
*/
|
|
66
|
+
| {
|
|
67
|
+
operationType?: undefined;
|
|
68
|
+
operationName?: undefined;
|
|
69
|
+
query?: undefined;
|
|
70
|
+
variables?: undefined;
|
|
71
|
+
});
|
|
72
|
+
type GraphQLResolverExtras<Variables extends GraphQLVariables> = {
|
|
73
|
+
query: string;
|
|
74
|
+
operationName: string;
|
|
75
|
+
variables: Variables;
|
|
76
|
+
cookies: Record<string, string>;
|
|
77
|
+
};
|
|
78
|
+
type GraphQLRequestBody<VariablesType extends GraphQLVariables> = GraphQLJsonRequestBody<VariablesType> | GraphQLMultipartRequestBody | Record<string, any> | undefined;
|
|
79
|
+
interface GraphQLJsonRequestBody<Variables extends GraphQLVariables> {
|
|
80
|
+
query: string;
|
|
81
|
+
variables?: Variables;
|
|
82
|
+
}
|
|
83
|
+
type GraphQLResponseBody<BodyType extends DefaultBodyType> = {
|
|
84
|
+
data?: BodyType | null;
|
|
85
|
+
errors?: readonly Partial<GraphQLError>[] | null;
|
|
86
|
+
extensions?: Record<string, any>;
|
|
87
|
+
} | null | undefined;
|
|
88
|
+
declare function isDocumentNode(value: DocumentNode | any): value is DocumentNode;
|
|
89
|
+
declare class GraphQLHandler extends RequestHandler<GraphQLHandlerInfo, GraphQLRequestParsedResult, GraphQLResolverExtras<any>> {
|
|
90
|
+
private endpoint;
|
|
91
|
+
static parsedRequestCache: WeakMap<Request, ParsedGraphQLRequest<GraphQLVariables>>;
|
|
92
|
+
constructor(operationType: ExpectedOperationTypeNode, operationName: GraphQLHandlerNameSelector, endpoint: Path, resolver: ResponseResolver<GraphQLResolverExtras<any>, any, any>, options?: RequestHandlerOptions);
|
|
93
|
+
/**
|
|
94
|
+
* Parses the request body, once per request, cached across all
|
|
95
|
+
* GraphQL handlers. This is done to avoid multiple parsing of the
|
|
96
|
+
* request body, which each requires a clone of the request.
|
|
97
|
+
*/
|
|
98
|
+
parseGraphQLRequestOrGetFromCache(request: Request): Promise<ParsedGraphQLRequest<GraphQLVariables>>;
|
|
99
|
+
parse(args: {
|
|
100
|
+
request: Request;
|
|
101
|
+
}): Promise<GraphQLRequestParsedResult>;
|
|
102
|
+
predicate(args: {
|
|
103
|
+
request: Request;
|
|
104
|
+
parsedResult: GraphQLRequestParsedResult;
|
|
105
|
+
}): boolean;
|
|
106
|
+
protected extendResolverArgs(args: {
|
|
107
|
+
request: Request;
|
|
108
|
+
parsedResult: GraphQLRequestParsedResult;
|
|
109
|
+
}): {
|
|
110
|
+
query: string;
|
|
111
|
+
operationName: string;
|
|
112
|
+
variables: GraphQLVariables;
|
|
113
|
+
cookies: Record<string, string>;
|
|
114
|
+
};
|
|
115
|
+
log(args: {
|
|
116
|
+
request: Request;
|
|
117
|
+
response: Response;
|
|
118
|
+
parsedResult: GraphQLRequestParsedResult;
|
|
119
|
+
}): Promise<void>;
|
|
120
|
+
}
|
|
121
|
+
|
|
25
122
|
type DefaultRequestMultipartBody = Record<string, string | File | Array<string | File>>;
|
|
26
123
|
type DefaultBodyType = Record<string, any> | DefaultRequestMultipartBody | string | number | boolean | null | undefined;
|
|
27
124
|
type JsonBodyType = Record<string, any> | string | number | boolean | null | undefined;
|
|
@@ -31,7 +128,7 @@ interface RequestHandlerDefaultInfo {
|
|
|
31
128
|
interface RequestHandlerInternalInfo {
|
|
32
129
|
callFrame?: string;
|
|
33
130
|
}
|
|
34
|
-
type ResponseResolverReturnType<ResponseBodyType extends DefaultBodyType = undefined> = ([ResponseBodyType] extends [undefined] ? Response : HttpResponse<ResponseBodyType>) | undefined | void;
|
|
131
|
+
type ResponseResolverReturnType<ResponseBodyType extends DefaultBodyType = undefined> = ([ResponseBodyType] extends [undefined] ? Response : ResponseBodyType extends GraphQLRequestBody<any> ? HttpResponse<ResponseBodyType> | DefaultUnsafeFetchResponse : HttpResponse<ResponseBodyType>) | undefined | void;
|
|
35
132
|
type MaybeAsyncResponseResolverReturnType<ResponseBodyType extends DefaultBodyType> = MaybePromise<ResponseResolverReturnType<ResponseBodyType>>;
|
|
36
133
|
type AsyncResponseResolverReturnType<ResponseBodyType extends DefaultBodyType> = MaybePromise<ResponseResolverReturnType<ResponseBodyType> | Iterable<MaybeAsyncResponseResolverReturnType<ResponseBodyType>, MaybeAsyncResponseResolverReturnType<ResponseBodyType>, MaybeAsyncResponseResolverReturnType<ResponseBodyType>> | AsyncIterable<MaybeAsyncResponseResolverReturnType<ResponseBodyType>, MaybeAsyncResponseResolverReturnType<ResponseBodyType>, MaybeAsyncResponseResolverReturnType<ResponseBodyType>>>;
|
|
37
134
|
type ResponseResolverInfo<ResolverExtraInfo extends Record<string, unknown>, RequestBodyType extends DefaultBodyType = DefaultBodyType> = {
|
|
@@ -125,6 +222,9 @@ interface HttpResponseInit extends ResponseInit {
|
|
|
125
222
|
type?: ResponseType;
|
|
126
223
|
}
|
|
127
224
|
declare const bodyType: unique symbol;
|
|
225
|
+
type DefaultUnsafeFetchResponse = Response & {
|
|
226
|
+
[bodyType]?: never;
|
|
227
|
+
};
|
|
128
228
|
interface StrictRequest<BodyType extends JsonBodyType> extends Request {
|
|
129
229
|
json(): Promise<BodyType>;
|
|
130
230
|
}
|
|
@@ -148,6 +248,7 @@ type StrictResponse<BodyType extends DefaultBodyType> = HttpResponse<BodyType>;
|
|
|
148
248
|
declare class HttpResponse<BodyType extends DefaultBodyType> extends FetchResponse {
|
|
149
249
|
readonly [bodyType]: BodyType;
|
|
150
250
|
constructor(body?: NoInfer<BodyType> | null, init?: HttpResponseInit);
|
|
251
|
+
static error(): HttpResponse<any>;
|
|
151
252
|
/**
|
|
152
253
|
* Create a `Response` with a `Content-Type: "text/plain"` body.
|
|
153
254
|
* @example
|
|
@@ -197,4 +298,4 @@ declare class HttpResponse<BodyType extends DefaultBodyType> extends FetchRespon
|
|
|
197
298
|
static formData(body?: FormData, init?: HttpResponseInit): HttpResponse<FormData>;
|
|
198
299
|
}
|
|
199
300
|
|
|
200
|
-
export { type AsyncResponseResolverReturnType as A, type DefaultBodyType as D, type HttpResponseInit as H, type JsonBodyType as J, type MaybeAsyncResponseResolverReturnType as M, RequestHandler as R, type StrictRequest as S, type ResponseResolver as a, type ResponseResolverReturnType as b, type RequestHandlerOptions as c, type DefaultRequestMultipartBody as d, type
|
|
301
|
+
export { type AsyncResponseResolverReturnType as A, isDocumentNode as B, type RequestHandlerInternalInfo as C, type DefaultBodyType as D, type ExpectedOperationTypeNode as E, type ResponseResolverInfo as F, GraphQLHandler as G, type HttpResponseInit as H, type RequestHandlerArgs as I, type JsonBodyType as J, type RequestHandlerExecutionResult as K, type MaybeAsyncResponseResolverReturnType as M, type ParsedGraphQLRequest as P, RequestHandler as R, type StrictRequest as S, type ResponseResolver as a, type ResponseResolverReturnType as b, type RequestHandlerOptions as c, type DefaultRequestMultipartBody as d, type GraphQLQuery as e, type GraphQLVariables as f, type GraphQLRequestBody as g, type GraphQLJsonRequestBody as h, bodyType as i, type DefaultUnsafeFetchResponse as j, type StrictResponse as k, HttpResponse as l, type GraphQLHandlerNameSelector as m, type GraphQLResolverExtras as n, type GraphQLResponseBody as o, type RequestHandlerDefaultInfo as p, type ResponseResolutionContext as q, type HandlersExecutionResult as r, executeHandlers as s, type ParsedGraphQLQuery as t, parseDocumentNode as u, type GraphQLParsedOperationsMap as v, type GraphQLMultipartRequestBody as w, parseGraphQLRequest as x, type GraphQLHandlerInfo as y, type GraphQLRequestParsedResult as z };
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import '@mswjs/interceptors';
|
|
2
|
-
export {
|
|
2
|
+
export { j as DefaultUnsafeFetchResponse, l as HttpResponse, H as HttpResponseInit, S as StrictRequest, k as StrictResponse, i as bodyType } from './HttpResponse-I457nh8V.mjs';
|
|
3
3
|
import './typeUtils.mjs';
|
|
4
4
|
import './utils/internal/isIterable.mjs';
|
|
5
|
+
import 'graphql';
|
|
6
|
+
import './utils/matching/matchRequestUrl.mjs';
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import '@mswjs/interceptors';
|
|
2
|
-
export {
|
|
2
|
+
export { j as DefaultUnsafeFetchResponse, l as HttpResponse, H as HttpResponseInit, S as StrictRequest, k as StrictResponse, i as bodyType } from './HttpResponse-CCdkF1fJ.js';
|
|
3
3
|
import './typeUtils.js';
|
|
4
4
|
import './utils/internal/isIterable.js';
|
|
5
|
+
import 'graphql';
|
|
6
|
+
import './utils/matching/matchRequestUrl.js';
|
package/lib/core/HttpResponse.js
CHANGED
|
@@ -18,7 +18,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var HttpResponse_exports = {};
|
|
20
20
|
__export(HttpResponse_exports, {
|
|
21
|
-
HttpResponse: () => HttpResponse
|
|
21
|
+
HttpResponse: () => HttpResponse,
|
|
22
|
+
bodyType: () => bodyType
|
|
22
23
|
});
|
|
23
24
|
module.exports = __toCommonJS(HttpResponse_exports);
|
|
24
25
|
var import_interceptors = require("@mswjs/interceptors");
|
|
@@ -31,6 +32,9 @@ class HttpResponse extends import_interceptors.FetchResponse {
|
|
|
31
32
|
super(body, responseInit);
|
|
32
33
|
(0, import_decorators.decorateResponse)(this, responseInit);
|
|
33
34
|
}
|
|
35
|
+
static error() {
|
|
36
|
+
return super.error();
|
|
37
|
+
}
|
|
34
38
|
/**
|
|
35
39
|
* Create a `Response` with a `Content-Type: "text/plain"` body.
|
|
36
40
|
* @example
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/HttpResponse.ts"],"sourcesContent":["import { FetchResponse } from '@mswjs/interceptors'\nimport type { DefaultBodyType, JsonBodyType } from './handlers/RequestHandler'\nimport type { NoInfer } from './typeUtils'\nimport {\n decorateResponse,\n normalizeResponseInit,\n} from './utils/HttpResponse/decorators'\n\nexport interface HttpResponseInit extends ResponseInit {\n type?: ResponseType\n}\n\
|
|
1
|
+
{"version":3,"sources":["../../src/core/HttpResponse.ts"],"sourcesContent":["import { FetchResponse } from '@mswjs/interceptors'\nimport type { DefaultBodyType, JsonBodyType } from './handlers/RequestHandler'\nimport type { NoInfer } from './typeUtils'\nimport {\n decorateResponse,\n normalizeResponseInit,\n} from './utils/HttpResponse/decorators'\n\nexport interface HttpResponseInit extends ResponseInit {\n type?: ResponseType\n}\n\nexport const bodyType: unique symbol = Symbol('bodyType')\nexport type DefaultUnsafeFetchResponse = Response & {\n [bodyType]?: never\n}\n\nexport interface StrictRequest<BodyType extends JsonBodyType> extends Request {\n json(): Promise<BodyType>\n}\n\n/**\n * Opaque `Response` type that supports strict body type.\n *\n * @deprecated Please use {@link HttpResponse} instead.\n */\nexport type StrictResponse<BodyType extends DefaultBodyType> =\n HttpResponse<BodyType>\n\n/**\n * A drop-in replacement for the standard `Response` class\n * to allow additional features, like mocking the response `Set-Cookie` header.\n *\n * @example\n * new HttpResponse('Hello world', { status: 201 })\n * HttpResponse.json({ name: 'John' })\n * HttpResponse.formData(form)\n *\n * @see {@link https://mswjs.io/docs/api/http-response `HttpResponse` API reference}\n */\nexport class HttpResponse<\n BodyType extends DefaultBodyType,\n> extends FetchResponse {\n readonly [bodyType]: BodyType = null as any\n\n constructor(body?: NoInfer<BodyType> | null, init?: HttpResponseInit) {\n const responseInit = normalizeResponseInit(init)\n super(body as BodyInit, responseInit)\n decorateResponse(this, responseInit)\n }\n\n static error(): HttpResponse<any> {\n return super.error() as HttpResponse<any>\n }\n\n /**\n * Create a `Response` with a `Content-Type: \"text/plain\"` body.\n * @example\n * HttpResponse.text('hello world')\n * HttpResponse.text('Error', { status: 500 })\n */\n static text<BodyType extends string>(\n body?: NoInfer<BodyType> | null,\n init?: HttpResponseInit,\n ): HttpResponse<BodyType> {\n const responseInit = normalizeResponseInit(init)\n\n if (!responseInit.headers.has('Content-Type')) {\n responseInit.headers.set('Content-Type', 'text/plain')\n }\n\n // Automatically set the \"Content-Length\" response header\n // for non-empty text responses. This enforces consistency and\n // brings mocked responses closer to production.\n if (!responseInit.headers.has('Content-Length')) {\n responseInit.headers.set(\n 'Content-Length',\n body ? new Blob([body]).size.toString() : '0',\n )\n }\n\n return new HttpResponse(body, responseInit)\n }\n\n /**\n * Create a `Response` with a `Content-Type: \"application/json\"` body.\n * @example\n * HttpResponse.json({ firstName: 'John' })\n * HttpResponse.json({ error: 'Not Authorized' }, { status: 401 })\n */\n static json<BodyType extends JsonBodyType>(\n body?: NoInfer<BodyType> | null | undefined,\n init?: HttpResponseInit,\n ): HttpResponse<BodyType> {\n const responseInit = normalizeResponseInit(init)\n\n if (!responseInit.headers.has('Content-Type')) {\n responseInit.headers.set('Content-Type', 'application/json')\n }\n\n /**\n * @note TypeScript is incorrect here.\n * Stringifying undefined will return undefined.\n */\n const responseText = JSON.stringify(body) as string | undefined\n\n if (!responseInit.headers.has('Content-Length')) {\n responseInit.headers.set(\n 'Content-Length',\n responseText ? new Blob([responseText]).size.toString() : '0',\n )\n }\n\n return new HttpResponse(responseText as BodyType, responseInit)\n }\n\n /**\n * Create a `Response` with a `Content-Type: \"application/xml\"` body.\n * @example\n * HttpResponse.xml(`<user name=\"John\" />`)\n * HttpResponse.xml(`<article id=\"abc-123\" />`, { status: 201 })\n */\n static xml<BodyType extends string>(\n body?: BodyType | null,\n init?: HttpResponseInit,\n ): HttpResponse<BodyType> {\n const responseInit = normalizeResponseInit(init)\n\n if (!responseInit.headers.has('Content-Type')) {\n responseInit.headers.set('Content-Type', 'text/xml')\n }\n\n return new HttpResponse(body, responseInit)\n }\n\n /**\n * Create a `Response` with a `Content-Type: \"text/html\"` body.\n * @example\n * HttpResponse.html(`<p class=\"author\">Jane Doe</p>`)\n * HttpResponse.html(`<main id=\"abc-123\">Main text</main>`, { status: 201 })\n */\n static html<BodyType extends string>(\n body?: BodyType | null,\n init?: HttpResponseInit,\n ): HttpResponse<BodyType> {\n const responseInit = normalizeResponseInit(init)\n\n if (!responseInit.headers.has('Content-Type')) {\n responseInit.headers.set('Content-Type', 'text/html')\n }\n\n return new HttpResponse(body, responseInit)\n }\n\n /**\n * Create a `Response` with an `ArrayBuffer` body.\n * @example\n * const buffer = new ArrayBuffer(3)\n * const view = new Uint8Array(buffer)\n * view.set([1, 2, 3])\n *\n * HttpResponse.arrayBuffer(buffer)\n */\n static arrayBuffer(\n body?: ArrayBuffer | SharedArrayBuffer,\n init?: HttpResponseInit,\n ): HttpResponse<ArrayBuffer | SharedArrayBuffer> {\n const responseInit = normalizeResponseInit(init)\n\n if (!responseInit.headers.has('Content-Type')) {\n responseInit.headers.set('Content-Type', 'application/octet-stream')\n }\n\n if (body && !responseInit.headers.has('Content-Length')) {\n responseInit.headers.set('Content-Length', body.byteLength.toString())\n }\n\n return new HttpResponse(body, responseInit)\n }\n\n /**\n * Create a `Response` with a `FormData` body.\n * @example\n * const data = new FormData()\n * data.set('name', 'Alice')\n *\n * HttpResponse.formData(data)\n */\n static formData(\n body?: FormData,\n init?: HttpResponseInit,\n ): HttpResponse<FormData> {\n return new HttpResponse(body, normalizeResponseInit(init))\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA8B;AAG9B,wBAGO;AAMA,MAAM,WAA0B,OAAO,UAAU;AA4BjD,MAAM,qBAEH,kCAAc;AAAA,EACtB,CAAU,QAAQ,IAAc;AAAA,EAEhC,YAAY,MAAiC,MAAyB;AACpE,UAAM,mBAAe,yCAAsB,IAAI;AAC/C,UAAM,MAAkB,YAAY;AACpC,4CAAiB,MAAM,YAAY;AAAA,EACrC;AAAA,EAEA,OAAO,QAA2B;AAChC,WAAO,MAAM,MAAM;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,OAAO,KACL,MACA,MACwB;AACxB,UAAM,mBAAe,yCAAsB,IAAI;AAE/C,QAAI,CAAC,aAAa,QAAQ,IAAI,cAAc,GAAG;AAC7C,mBAAa,QAAQ,IAAI,gBAAgB,YAAY;AAAA,IACvD;AAKA,QAAI,CAAC,aAAa,QAAQ,IAAI,gBAAgB,GAAG;AAC/C,mBAAa,QAAQ;AAAA,QACnB;AAAA,QACA,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,IAAI;AAAA,MAC5C;AAAA,IACF;AAEA,WAAO,IAAI,aAAa,MAAM,YAAY;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,OAAO,KACL,MACA,MACwB;AACxB,UAAM,mBAAe,yCAAsB,IAAI;AAE/C,QAAI,CAAC,aAAa,QAAQ,IAAI,cAAc,GAAG;AAC7C,mBAAa,QAAQ,IAAI,gBAAgB,kBAAkB;AAAA,IAC7D;AAMA,UAAM,eAAe,KAAK,UAAU,IAAI;AAExC,QAAI,CAAC,aAAa,QAAQ,IAAI,gBAAgB,GAAG;AAC/C,mBAAa,QAAQ;AAAA,QACnB;AAAA,QACA,eAAe,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE,KAAK,SAAS,IAAI;AAAA,MAC5D;AAAA,IACF;AAEA,WAAO,IAAI,aAAa,cAA0B,YAAY;AAAA,EAChE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,OAAO,IACL,MACA,MACwB;AACxB,UAAM,mBAAe,yCAAsB,IAAI;AAE/C,QAAI,CAAC,aAAa,QAAQ,IAAI,cAAc,GAAG;AAC7C,mBAAa,QAAQ,IAAI,gBAAgB,UAAU;AAAA,IACrD;AAEA,WAAO,IAAI,aAAa,MAAM,YAAY;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,OAAO,KACL,MACA,MACwB;AACxB,UAAM,mBAAe,yCAAsB,IAAI;AAE/C,QAAI,CAAC,aAAa,QAAQ,IAAI,cAAc,GAAG;AAC7C,mBAAa,QAAQ,IAAI,gBAAgB,WAAW;AAAA,IACtD;AAEA,WAAO,IAAI,aAAa,MAAM,YAAY;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,OAAO,YACL,MACA,MAC+C;AAC/C,UAAM,mBAAe,yCAAsB,IAAI;AAE/C,QAAI,CAAC,aAAa,QAAQ,IAAI,cAAc,GAAG;AAC7C,mBAAa,QAAQ,IAAI,gBAAgB,0BAA0B;AAAA,IACrE;AAEA,QAAI,QAAQ,CAAC,aAAa,QAAQ,IAAI,gBAAgB,GAAG;AACvD,mBAAa,QAAQ,IAAI,kBAAkB,KAAK,WAAW,SAAS,CAAC;AAAA,IACvE;AAEA,WAAO,IAAI,aAAa,MAAM,YAAY;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,OAAO,SACL,MACA,MACwB;AACxB,WAAO,IAAI,aAAa,UAAM,yCAAsB,IAAI,CAAC;AAAA,EAC3D;AACF;","names":[]}
|
|
@@ -11,6 +11,9 @@ class HttpResponse extends FetchResponse {
|
|
|
11
11
|
super(body, responseInit);
|
|
12
12
|
decorateResponse(this, responseInit);
|
|
13
13
|
}
|
|
14
|
+
static error() {
|
|
15
|
+
return super.error();
|
|
16
|
+
}
|
|
14
17
|
/**
|
|
15
18
|
* Create a `Response` with a `Content-Type: "text/plain"` body.
|
|
16
19
|
* @example
|
|
@@ -108,6 +111,7 @@ class HttpResponse extends FetchResponse {
|
|
|
108
111
|
}
|
|
109
112
|
}
|
|
110
113
|
export {
|
|
111
|
-
HttpResponse
|
|
114
|
+
HttpResponse,
|
|
115
|
+
bodyType
|
|
112
116
|
};
|
|
113
117
|
//# sourceMappingURL=HttpResponse.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/HttpResponse.ts"],"sourcesContent":["import { FetchResponse } from '@mswjs/interceptors'\nimport type { DefaultBodyType, JsonBodyType } from './handlers/RequestHandler'\nimport type { NoInfer } from './typeUtils'\nimport {\n decorateResponse,\n normalizeResponseInit,\n} from './utils/HttpResponse/decorators'\n\nexport interface HttpResponseInit extends ResponseInit {\n type?: ResponseType\n}\n\
|
|
1
|
+
{"version":3,"sources":["../../src/core/HttpResponse.ts"],"sourcesContent":["import { FetchResponse } from '@mswjs/interceptors'\nimport type { DefaultBodyType, JsonBodyType } from './handlers/RequestHandler'\nimport type { NoInfer } from './typeUtils'\nimport {\n decorateResponse,\n normalizeResponseInit,\n} from './utils/HttpResponse/decorators'\n\nexport interface HttpResponseInit extends ResponseInit {\n type?: ResponseType\n}\n\nexport const bodyType: unique symbol = Symbol('bodyType')\nexport type DefaultUnsafeFetchResponse = Response & {\n [bodyType]?: never\n}\n\nexport interface StrictRequest<BodyType extends JsonBodyType> extends Request {\n json(): Promise<BodyType>\n}\n\n/**\n * Opaque `Response` type that supports strict body type.\n *\n * @deprecated Please use {@link HttpResponse} instead.\n */\nexport type StrictResponse<BodyType extends DefaultBodyType> =\n HttpResponse<BodyType>\n\n/**\n * A drop-in replacement for the standard `Response` class\n * to allow additional features, like mocking the response `Set-Cookie` header.\n *\n * @example\n * new HttpResponse('Hello world', { status: 201 })\n * HttpResponse.json({ name: 'John' })\n * HttpResponse.formData(form)\n *\n * @see {@link https://mswjs.io/docs/api/http-response `HttpResponse` API reference}\n */\nexport class HttpResponse<\n BodyType extends DefaultBodyType,\n> extends FetchResponse {\n readonly [bodyType]: BodyType = null as any\n\n constructor(body?: NoInfer<BodyType> | null, init?: HttpResponseInit) {\n const responseInit = normalizeResponseInit(init)\n super(body as BodyInit, responseInit)\n decorateResponse(this, responseInit)\n }\n\n static error(): HttpResponse<any> {\n return super.error() as HttpResponse<any>\n }\n\n /**\n * Create a `Response` with a `Content-Type: \"text/plain\"` body.\n * @example\n * HttpResponse.text('hello world')\n * HttpResponse.text('Error', { status: 500 })\n */\n static text<BodyType extends string>(\n body?: NoInfer<BodyType> | null,\n init?: HttpResponseInit,\n ): HttpResponse<BodyType> {\n const responseInit = normalizeResponseInit(init)\n\n if (!responseInit.headers.has('Content-Type')) {\n responseInit.headers.set('Content-Type', 'text/plain')\n }\n\n // Automatically set the \"Content-Length\" response header\n // for non-empty text responses. This enforces consistency and\n // brings mocked responses closer to production.\n if (!responseInit.headers.has('Content-Length')) {\n responseInit.headers.set(\n 'Content-Length',\n body ? new Blob([body]).size.toString() : '0',\n )\n }\n\n return new HttpResponse(body, responseInit)\n }\n\n /**\n * Create a `Response` with a `Content-Type: \"application/json\"` body.\n * @example\n * HttpResponse.json({ firstName: 'John' })\n * HttpResponse.json({ error: 'Not Authorized' }, { status: 401 })\n */\n static json<BodyType extends JsonBodyType>(\n body?: NoInfer<BodyType> | null | undefined,\n init?: HttpResponseInit,\n ): HttpResponse<BodyType> {\n const responseInit = normalizeResponseInit(init)\n\n if (!responseInit.headers.has('Content-Type')) {\n responseInit.headers.set('Content-Type', 'application/json')\n }\n\n /**\n * @note TypeScript is incorrect here.\n * Stringifying undefined will return undefined.\n */\n const responseText = JSON.stringify(body) as string | undefined\n\n if (!responseInit.headers.has('Content-Length')) {\n responseInit.headers.set(\n 'Content-Length',\n responseText ? new Blob([responseText]).size.toString() : '0',\n )\n }\n\n return new HttpResponse(responseText as BodyType, responseInit)\n }\n\n /**\n * Create a `Response` with a `Content-Type: \"application/xml\"` body.\n * @example\n * HttpResponse.xml(`<user name=\"John\" />`)\n * HttpResponse.xml(`<article id=\"abc-123\" />`, { status: 201 })\n */\n static xml<BodyType extends string>(\n body?: BodyType | null,\n init?: HttpResponseInit,\n ): HttpResponse<BodyType> {\n const responseInit = normalizeResponseInit(init)\n\n if (!responseInit.headers.has('Content-Type')) {\n responseInit.headers.set('Content-Type', 'text/xml')\n }\n\n return new HttpResponse(body, responseInit)\n }\n\n /**\n * Create a `Response` with a `Content-Type: \"text/html\"` body.\n * @example\n * HttpResponse.html(`<p class=\"author\">Jane Doe</p>`)\n * HttpResponse.html(`<main id=\"abc-123\">Main text</main>`, { status: 201 })\n */\n static html<BodyType extends string>(\n body?: BodyType | null,\n init?: HttpResponseInit,\n ): HttpResponse<BodyType> {\n const responseInit = normalizeResponseInit(init)\n\n if (!responseInit.headers.has('Content-Type')) {\n responseInit.headers.set('Content-Type', 'text/html')\n }\n\n return new HttpResponse(body, responseInit)\n }\n\n /**\n * Create a `Response` with an `ArrayBuffer` body.\n * @example\n * const buffer = new ArrayBuffer(3)\n * const view = new Uint8Array(buffer)\n * view.set([1, 2, 3])\n *\n * HttpResponse.arrayBuffer(buffer)\n */\n static arrayBuffer(\n body?: ArrayBuffer | SharedArrayBuffer,\n init?: HttpResponseInit,\n ): HttpResponse<ArrayBuffer | SharedArrayBuffer> {\n const responseInit = normalizeResponseInit(init)\n\n if (!responseInit.headers.has('Content-Type')) {\n responseInit.headers.set('Content-Type', 'application/octet-stream')\n }\n\n if (body && !responseInit.headers.has('Content-Length')) {\n responseInit.headers.set('Content-Length', body.byteLength.toString())\n }\n\n return new HttpResponse(body, responseInit)\n }\n\n /**\n * Create a `Response` with a `FormData` body.\n * @example\n * const data = new FormData()\n * data.set('name', 'Alice')\n *\n * HttpResponse.formData(data)\n */\n static formData(\n body?: FormData,\n init?: HttpResponseInit,\n ): HttpResponse<FormData> {\n return new HttpResponse(body, normalizeResponseInit(init))\n }\n}\n"],"mappings":"AAAA,SAAS,qBAAqB;AAG9B;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAMA,MAAM,WAA0B,OAAO,UAAU;AA4BjD,MAAM,qBAEH,cAAc;AAAA,EACtB,CAAU,QAAQ,IAAc;AAAA,EAEhC,YAAY,MAAiC,MAAyB;AACpE,UAAM,eAAe,sBAAsB,IAAI;AAC/C,UAAM,MAAkB,YAAY;AACpC,qBAAiB,MAAM,YAAY;AAAA,EACrC;AAAA,EAEA,OAAO,QAA2B;AAChC,WAAO,MAAM,MAAM;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,OAAO,KACL,MACA,MACwB;AACxB,UAAM,eAAe,sBAAsB,IAAI;AAE/C,QAAI,CAAC,aAAa,QAAQ,IAAI,cAAc,GAAG;AAC7C,mBAAa,QAAQ,IAAI,gBAAgB,YAAY;AAAA,IACvD;AAKA,QAAI,CAAC,aAAa,QAAQ,IAAI,gBAAgB,GAAG;AAC/C,mBAAa,QAAQ;AAAA,QACnB;AAAA,QACA,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,IAAI;AAAA,MAC5C;AAAA,IACF;AAEA,WAAO,IAAI,aAAa,MAAM,YAAY;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,OAAO,KACL,MACA,MACwB;AACxB,UAAM,eAAe,sBAAsB,IAAI;AAE/C,QAAI,CAAC,aAAa,QAAQ,IAAI,cAAc,GAAG;AAC7C,mBAAa,QAAQ,IAAI,gBAAgB,kBAAkB;AAAA,IAC7D;AAMA,UAAM,eAAe,KAAK,UAAU,IAAI;AAExC,QAAI,CAAC,aAAa,QAAQ,IAAI,gBAAgB,GAAG;AAC/C,mBAAa,QAAQ;AAAA,QACnB;AAAA,QACA,eAAe,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE,KAAK,SAAS,IAAI;AAAA,MAC5D;AAAA,IACF;AAEA,WAAO,IAAI,aAAa,cAA0B,YAAY;AAAA,EAChE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,OAAO,IACL,MACA,MACwB;AACxB,UAAM,eAAe,sBAAsB,IAAI;AAE/C,QAAI,CAAC,aAAa,QAAQ,IAAI,cAAc,GAAG;AAC7C,mBAAa,QAAQ,IAAI,gBAAgB,UAAU;AAAA,IACrD;AAEA,WAAO,IAAI,aAAa,MAAM,YAAY;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,OAAO,KACL,MACA,MACwB;AACxB,UAAM,eAAe,sBAAsB,IAAI;AAE/C,QAAI,CAAC,aAAa,QAAQ,IAAI,cAAc,GAAG;AAC7C,mBAAa,QAAQ,IAAI,gBAAgB,WAAW;AAAA,IACtD;AAEA,WAAO,IAAI,aAAa,MAAM,YAAY;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,OAAO,YACL,MACA,MAC+C;AAC/C,UAAM,eAAe,sBAAsB,IAAI;AAE/C,QAAI,CAAC,aAAa,QAAQ,IAAI,cAAc,GAAG;AAC7C,mBAAa,QAAQ,IAAI,gBAAgB,0BAA0B;AAAA,IACrE;AAEA,QAAI,QAAQ,CAAC,aAAa,QAAQ,IAAI,gBAAgB,GAAG;AACvD,mBAAa,QAAQ,IAAI,kBAAkB,KAAK,WAAW,SAAS,CAAC;AAAA,IACvE;AAEA,WAAO,IAAI,aAAa,MAAM,YAAY;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,OAAO,SACL,MACA,MACwB;AACxB,WAAO,IAAI,aAAa,MAAM,sBAAsB,IAAI,CAAC;AAAA,EAC3D;AACF;","names":[]}
|
package/lib/core/SetupApi.d.mts
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { EventMap, Emitter } from 'strict-event-emitter';
|
|
2
|
-
import { R as RequestHandler } from './HttpResponse-
|
|
2
|
+
import { R as RequestHandler } from './HttpResponse-I457nh8V.mjs';
|
|
3
3
|
import { LifeCycleEventEmitter } from './sharedOptions.mjs';
|
|
4
4
|
import { Disposable } from './utils/internal/Disposable.mjs';
|
|
5
5
|
import { WebSocketHandler } from './handlers/WebSocketHandler.mjs';
|
|
6
6
|
import '@mswjs/interceptors';
|
|
7
7
|
import './utils/internal/isIterable.mjs';
|
|
8
8
|
import './typeUtils.mjs';
|
|
9
|
+
import 'graphql';
|
|
10
|
+
import './utils/matching/matchRequestUrl.mjs';
|
|
9
11
|
import './utils/request/onUnhandledRequest.mjs';
|
|
10
12
|
import '@mswjs/interceptors/WebSocket';
|
|
11
|
-
import './utils/matching/matchRequestUrl.mjs';
|
|
12
13
|
|
|
13
14
|
declare abstract class HandlersController {
|
|
14
15
|
abstract prepend(runtimeHandlers: Array<RequestHandler | WebSocketHandler>): void;
|
package/lib/core/SetupApi.d.ts
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { EventMap, Emitter } from 'strict-event-emitter';
|
|
2
|
-
import { R as RequestHandler } from './HttpResponse-
|
|
2
|
+
import { R as RequestHandler } from './HttpResponse-CCdkF1fJ.js';
|
|
3
3
|
import { LifeCycleEventEmitter } from './sharedOptions.js';
|
|
4
4
|
import { Disposable } from './utils/internal/Disposable.js';
|
|
5
5
|
import { WebSocketHandler } from './handlers/WebSocketHandler.js';
|
|
6
6
|
import '@mswjs/interceptors';
|
|
7
7
|
import './utils/internal/isIterable.js';
|
|
8
8
|
import './typeUtils.js';
|
|
9
|
+
import 'graphql';
|
|
10
|
+
import './utils/matching/matchRequestUrl.js';
|
|
9
11
|
import './utils/request/onUnhandledRequest.js';
|
|
10
12
|
import '@mswjs/interceptors/WebSocket';
|
|
11
|
-
import './utils/matching/matchRequestUrl.js';
|
|
12
13
|
|
|
13
14
|
declare abstract class HandlersController {
|
|
14
15
|
abstract prepend(runtimeHandlers: Array<RequestHandler | WebSocketHandler>): void;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { R as RequestHandler } from './HttpResponse-
|
|
1
|
+
import { R as RequestHandler } from './HttpResponse-I457nh8V.mjs';
|
|
2
2
|
import '@mswjs/interceptors';
|
|
3
3
|
import './utils/internal/isIterable.mjs';
|
|
4
4
|
import './typeUtils.mjs';
|
|
5
|
+
import 'graphql';
|
|
6
|
+
import './utils/matching/matchRequestUrl.mjs';
|
|
5
7
|
|
|
6
8
|
/**
|
|
7
9
|
* Finds a response for the given request instance
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { R as RequestHandler } from './HttpResponse-
|
|
1
|
+
import { R as RequestHandler } from './HttpResponse-CCdkF1fJ.js';
|
|
2
2
|
import '@mswjs/interceptors';
|
|
3
3
|
import './utils/internal/isIterable.js';
|
|
4
4
|
import './typeUtils.js';
|
|
5
|
+
import 'graphql';
|
|
6
|
+
import './utils/matching/matchRequestUrl.js';
|
|
5
7
|
|
|
6
8
|
/**
|
|
7
9
|
* Finds a response for the given request instance
|
package/lib/core/graphql.d.mts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { DocumentNode } from 'graphql';
|
|
2
|
-
import { a as ResponseResolver, c as RequestHandlerOptions } from './HttpResponse-
|
|
3
|
-
import { a as GraphQLQuery, b as GraphQLVariables, e as GraphQLHandlerNameSelector, f as GraphQLResolverExtras, g as GraphQLResponseBody, G as GraphQLHandler } from './GraphQLHandler-DOXAygvT.mjs';
|
|
2
|
+
import { e as GraphQLQuery, f as GraphQLVariables, m as GraphQLHandlerNameSelector, a as ResponseResolver, n as GraphQLResolverExtras, o as GraphQLResponseBody, c as RequestHandlerOptions, G as GraphQLHandler } from './HttpResponse-I457nh8V.mjs';
|
|
4
3
|
import { Path } from './utils/matching/matchRequestUrl.mjs';
|
|
5
4
|
import '@mswjs/interceptors';
|
|
6
5
|
import './utils/internal/isIterable.mjs';
|
package/lib/core/graphql.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { DocumentNode } from 'graphql';
|
|
2
|
-
import { a as ResponseResolver, c as RequestHandlerOptions } from './HttpResponse-
|
|
3
|
-
import { a as GraphQLQuery, b as GraphQLVariables, e as GraphQLHandlerNameSelector, f as GraphQLResolverExtras, g as GraphQLResponseBody, G as GraphQLHandler } from './GraphQLHandler-noP9MRWa.js';
|
|
2
|
+
import { e as GraphQLQuery, f as GraphQLVariables, m as GraphQLHandlerNameSelector, a as ResponseResolver, n as GraphQLResolverExtras, o as GraphQLResponseBody, c as RequestHandlerOptions, G as GraphQLHandler } from './HttpResponse-CCdkF1fJ.js';
|
|
4
3
|
import { Path } from './utils/matching/matchRequestUrl.js';
|
|
5
4
|
import '@mswjs/interceptors';
|
|
6
5
|
import './utils/internal/isIterable.js';
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import 'graphql';
|
|
2
|
-
|
|
2
|
+
export { E as ExpectedOperationTypeNode, G as GraphQLHandler, y as GraphQLHandlerInfo, m as GraphQLHandlerNameSelector, h as GraphQLJsonRequestBody, e as GraphQLQuery, g as GraphQLRequestBody, z as GraphQLRequestParsedResult, n as GraphQLResolverExtras, o as GraphQLResponseBody, f as GraphQLVariables, B as isDocumentNode } from '../HttpResponse-I457nh8V.mjs';
|
|
3
3
|
import '../utils/matching/matchRequestUrl.mjs';
|
|
4
|
-
export { E as ExpectedOperationTypeNode, G as GraphQLHandler, l as GraphQLHandlerInfo, e as GraphQLHandlerNameSelector, d as GraphQLJsonRequestBody, a as GraphQLQuery, c as GraphQLRequestBody, m as GraphQLRequestParsedResult, f as GraphQLResolverExtras, g as GraphQLResponseBody, b as GraphQLVariables, n as isDocumentNode } from '../GraphQLHandler-DOXAygvT.mjs';
|
|
5
4
|
import '@mswjs/interceptors';
|
|
6
5
|
import '../utils/internal/isIterable.mjs';
|
|
7
6
|
import '../typeUtils.mjs';
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import 'graphql';
|
|
2
|
-
|
|
2
|
+
export { E as ExpectedOperationTypeNode, G as GraphQLHandler, y as GraphQLHandlerInfo, m as GraphQLHandlerNameSelector, h as GraphQLJsonRequestBody, e as GraphQLQuery, g as GraphQLRequestBody, z as GraphQLRequestParsedResult, n as GraphQLResolverExtras, o as GraphQLResponseBody, f as GraphQLVariables, B as isDocumentNode } from '../HttpResponse-CCdkF1fJ.js';
|
|
3
3
|
import '../utils/matching/matchRequestUrl.js';
|
|
4
|
-
export { E as ExpectedOperationTypeNode, G as GraphQLHandler, l as GraphQLHandlerInfo, e as GraphQLHandlerNameSelector, d as GraphQLJsonRequestBody, a as GraphQLQuery, c as GraphQLRequestBody, m as GraphQLRequestParsedResult, f as GraphQLResolverExtras, g as GraphQLResponseBody, b as GraphQLVariables, n as isDocumentNode } from '../GraphQLHandler-noP9MRWa.js';
|
|
5
4
|
import '@mswjs/interceptors';
|
|
6
5
|
import '../utils/internal/isIterable.js';
|
|
7
6
|
import '../typeUtils.js';
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { R as RequestHandler,
|
|
1
|
+
import { R as RequestHandler, p as RequestHandlerDefaultInfo, a as ResponseResolver, c as RequestHandlerOptions, q as ResponseResolutionContext } from '../HttpResponse-I457nh8V.mjs';
|
|
2
2
|
import { PathParams, Path, Match } from '../utils/matching/matchRequestUrl.mjs';
|
|
3
3
|
import '@mswjs/interceptors';
|
|
4
4
|
import '../utils/internal/isIterable.mjs';
|
|
5
5
|
import '../typeUtils.mjs';
|
|
6
|
+
import 'graphql';
|
|
6
7
|
|
|
7
8
|
type HttpHandlerMethod = string | RegExp;
|
|
8
9
|
interface HttpHandlerInfo extends RequestHandlerDefaultInfo {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { R as RequestHandler,
|
|
1
|
+
import { R as RequestHandler, p as RequestHandlerDefaultInfo, a as ResponseResolver, c as RequestHandlerOptions, q as ResponseResolutionContext } from '../HttpResponse-CCdkF1fJ.js';
|
|
2
2
|
import { PathParams, Path, Match } from '../utils/matching/matchRequestUrl.js';
|
|
3
3
|
import '@mswjs/interceptors';
|
|
4
4
|
import '../utils/internal/isIterable.js';
|
|
5
5
|
import '../typeUtils.js';
|
|
6
|
+
import 'graphql';
|
|
6
7
|
|
|
7
8
|
type HttpHandlerMethod = string | RegExp;
|
|
8
9
|
interface HttpHandlerInfo extends RequestHandlerDefaultInfo {
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import '../utils/internal/isIterable.mjs';
|
|
2
|
-
export { A as AsyncResponseResolverReturnType, D as DefaultBodyType, d as DefaultRequestMultipartBody, J as JsonBodyType, M as MaybeAsyncResponseResolverReturnType, R as RequestHandler,
|
|
2
|
+
export { A as AsyncResponseResolverReturnType, D as DefaultBodyType, d as DefaultRequestMultipartBody, J as JsonBodyType, M as MaybeAsyncResponseResolverReturnType, R as RequestHandler, I as RequestHandlerArgs, p as RequestHandlerDefaultInfo, K as RequestHandlerExecutionResult, C as RequestHandlerInternalInfo, c as RequestHandlerOptions, a as ResponseResolver, F as ResponseResolverInfo, b as ResponseResolverReturnType } from '../HttpResponse-I457nh8V.mjs';
|
|
3
3
|
import '../typeUtils.mjs';
|
|
4
4
|
import '@mswjs/interceptors';
|
|
5
|
+
import 'graphql';
|
|
6
|
+
import '../utils/matching/matchRequestUrl.mjs';
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import '../utils/internal/isIterable.js';
|
|
2
|
-
export { A as AsyncResponseResolverReturnType, D as DefaultBodyType, d as DefaultRequestMultipartBody, J as JsonBodyType, M as MaybeAsyncResponseResolverReturnType, R as RequestHandler,
|
|
2
|
+
export { A as AsyncResponseResolverReturnType, D as DefaultBodyType, d as DefaultRequestMultipartBody, J as JsonBodyType, M as MaybeAsyncResponseResolverReturnType, R as RequestHandler, I as RequestHandlerArgs, p as RequestHandlerDefaultInfo, K as RequestHandlerExecutionResult, C as RequestHandlerInternalInfo, c as RequestHandlerOptions, a as ResponseResolver, F as ResponseResolverInfo, b as ResponseResolverReturnType } from '../HttpResponse-CCdkF1fJ.js';
|
|
3
3
|
import '../typeUtils.js';
|
|
4
4
|
import '@mswjs/interceptors';
|
|
5
|
+
import 'graphql';
|
|
6
|
+
import '../utils/matching/matchRequestUrl.js';
|