msw 2.15.0 → 3.0.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/README.md +8 -0
- package/cli/init.js +12 -9
- package/cli/invariant.js +2 -2
- package/lib/_chunks/attach-sibling-handlers.js +360 -0
- package/lib/_chunks/attach-sibling-handlers.js.map +1 -0
- package/lib/_chunks/colors.js +18 -0
- package/lib/_chunks/colors.js.map +1 -0
- package/lib/_chunks/cookie-store.js +348 -0
- package/lib/_chunks/cookie-store.js.map +1 -0
- package/lib/_chunks/execute-handlers.js +29 -0
- package/lib/_chunks/execute-handlers.js.map +1 -0
- package/lib/_chunks/handlers-controller.d.ts +262 -0
- package/lib/_chunks/has-ref-counted.js +9 -0
- package/lib/_chunks/has-ref-counted.js.map +1 -0
- package/lib/_chunks/http-handler.d.ts +72 -0
- package/lib/_chunks/http-handler.js +182 -0
- package/lib/_chunks/http-handler.js.map +1 -0
- package/lib/_chunks/http-response.js +137 -0
- package/lib/_chunks/http-response.js.map +1 -0
- package/lib/{core → _chunks}/http.d.ts +15 -18
- package/lib/_chunks/http.js +30 -0
- package/lib/_chunks/http.js.map +1 -0
- package/lib/_chunks/interceptor-source.d.ts +163 -0
- package/lib/_chunks/interceptor-source.js +756 -0
- package/lib/_chunks/interceptor-source.js.map +1 -0
- package/lib/_chunks/is-object.js +11 -0
- package/lib/_chunks/is-object.js.map +1 -0
- package/lib/_chunks/match-request-url.d.ts +14 -0
- package/lib/_chunks/request-handler.d.ts +295 -0
- package/lib/_chunks/request-handler.js +369 -0
- package/lib/_chunks/request-handler.js.map +1 -0
- package/lib/_chunks/shared-options.d.ts +20 -0
- package/lib/_chunks/sse.d.ts +95 -0
- package/lib/_chunks/sse.js +599 -0
- package/lib/_chunks/sse.js.map +1 -0
- package/lib/_chunks/symbols.js +22 -0
- package/lib/_chunks/symbols.js.map +1 -0
- package/lib/_chunks/websocket-upgrade.js +46 -0
- package/lib/_chunks/websocket-upgrade.js.map +1 -0
- package/lib/_chunks/ws.d.ts +133 -0
- package/lib/_chunks/ws.js +293 -0
- package/lib/_chunks/ws.js.map +1 -0
- package/lib/browser/index.d.ts +225 -96
- package/lib/browser/index.js +555 -3694
- package/lib/browser/index.js.map +1 -1
- package/lib/core/experimental/index.d.ts +3 -17
- package/lib/core/experimental/index.js +2 -38
- package/lib/core/index.d.ts +15 -27
- package/lib/core/index.js +15 -64
- package/lib/graphql/index.d.ts +550 -0
- package/lib/graphql/index.js +1244 -0
- package/lib/graphql/index.js.map +1 -0
- package/lib/http/index.d.ts +4 -0
- package/lib/http/index.js +4 -0
- package/lib/iife/index.js +35857 -28422
- package/lib/iife/index.js.map +1 -1
- package/lib/mockServiceWorker.js +185 -86
- package/lib/node/index.d.ts +79 -104
- package/lib/node/index.js +103 -201
- package/lib/node/index.js.map +1 -1
- package/lib/sse/index.d.ts +2 -0
- package/lib/sse/index.js +2 -0
- package/lib/{core → utils}/bypass.d.ts +5 -4
- package/lib/utils/bypass.js +41 -0
- package/lib/utils/bypass.js.map +1 -0
- package/lib/utils/delay.d.ts +15 -0
- package/lib/utils/delay.js +45 -0
- package/lib/utils/delay.js.map +1 -0
- package/lib/utils/get-clean-url-string.d.ts +9 -0
- package/lib/utils/get-clean-url-string.js +15 -0
- package/lib/utils/get-clean-url-string.js.map +1 -0
- package/lib/utils/get-response.d.ts +13 -0
- package/lib/utils/get-response.js +23 -0
- package/lib/utils/get-response.js.map +1 -0
- package/lib/utils/is-common-asset-request.d.ts +22 -0
- package/lib/utils/is-common-asset-request.js +31 -0
- package/lib/utils/is-common-asset-request.js.map +1 -0
- package/lib/utils/passthrough.d.ts +31 -0
- package/lib/utils/passthrough.js +41 -0
- package/lib/utils/passthrough.js.map +1 -0
- package/lib/vite/index.d.ts +44 -0
- package/lib/vite/index.js +90 -0
- package/lib/vite/index.js.map +1 -0
- package/lib/vite/runtime.d.ts +6 -0
- package/lib/vite/runtime.js +77 -0
- package/lib/vite/runtime.js.map +1 -0
- package/lib/ws/index.d.ts +4 -0
- package/lib/ws/index.js +4 -0
- package/package.json +93 -201
- package/src/browser/default-network-options.ts +31 -0
- package/src/browser/glossary.ts +11 -23
- package/src/browser/index.ts +5 -1
- package/src/browser/setup-worker.ts +15 -68
- package/src/browser/sources/fallback-http-source.ts +1 -1
- package/src/browser/sources/service-worker-source.ts +76 -69
- package/src/browser/tsconfig.browser.json +4 -2
- package/src/browser/utils/{deserializeRequest.ts → deserialize-request.ts} +3 -4
- package/src/browser/utils/{getAbsoluteWorkerUrl.test.ts → get-absolute-worker-url.test.ts} +3 -3
- package/src/browser/utils/get-worker-instance.ts +2 -2
- package/src/browser/utils/should-invalidate-worker.test.ts +11 -11
- package/src/browser/utils/should-invalidate-worker.ts +1 -1
- package/src/browser/utils/validate-worker-scope.ts +1 -1
- package/src/browser/utils/{workerChannel.ts → worker-channel.ts} +42 -20
- package/src/core/experimental/define-network.test.ts +43 -8
- package/src/core/experimental/define-network.ts +32 -13
- package/src/core/experimental/frames/http-frame.test.ts +15 -13
- package/src/core/experimental/frames/http-frame.ts +10 -9
- package/src/core/experimental/frames/websocket-frame.test.ts +129 -15
- package/src/core/experimental/frames/websocket-frame.ts +71 -20
- package/src/core/experimental/handlers-controller.test.ts +141 -34
- package/src/core/experimental/handlers-controller.ts +107 -30
- package/src/core/experimental/index.ts +1 -0
- package/src/core/experimental/on-unhandled-frame.test.ts +19 -19
- package/src/core/experimental/on-unhandled-frame.ts +7 -12
- package/src/core/experimental/request-utils.test.ts +4 -29
- package/src/core/experimental/request-utils.ts +0 -14
- package/src/core/experimental/sources/interceptor-source.ts +44 -29
- package/src/core/experimental/sources/network-source.test.ts +3 -3
- package/src/core/experimental/sources/network-source.ts +3 -3
- package/src/core/handlers/handler.ts +42 -0
- package/src/core/handlers/{RequestHandler.ts → request-handler.ts} +26 -41
- package/src/core/index.ts +35 -58
- package/src/core/shared-options.ts +21 -0
- package/src/core/type-utils.ts +18 -0
- package/src/core/utils/{cookieStore.ts → cookie-store.ts} +14 -9
- package/src/core/utils/{executeHandlers.ts → execute-handlers.ts} +2 -2
- package/src/core/utils/http-status-messages.ts +69 -0
- package/src/core/utils/internal/{attachSiblingHandlers.ts → attach-sibling-handlers.ts} +20 -0
- package/src/core/utils/internal/{devUtils.test.ts → dev-utils.test.ts} +3 -3
- package/src/core/utils/internal/{Disposable.ts → disposable.ts} +1 -1
- package/src/core/utils/internal/{getCallFrame.test.ts → get-call-frame.test.ts} +1 -1
- package/src/core/utils/internal/{getCallFrame.ts → get-call-frame.ts} +1 -1
- package/src/core/utils/internal/{hasRefCounted.test.ts → has-ref-counted.test.ts} +4 -4
- package/src/core/utils/internal/{hasRefCounted.ts → has-ref-counted.ts} +1 -1
- package/src/core/utils/internal/{isIterable.test.ts → is-iterable.test.ts} +1 -1
- package/src/core/utils/internal/is-iterable.ts +16 -0
- package/src/core/utils/internal/{isObject.test.ts → is-object.test.ts} +1 -1
- package/src/core/utils/internal/{isStringEqual.test.ts → is-string-equal.test.ts} +7 -7
- package/src/core/utils/internal/{jsonParse.test.ts → json-parse.test.ts} +1 -1
- package/src/core/utils/internal/observe-response-body-stream.test.ts +7 -7
- package/src/core/utils/internal/observe-response-body-stream.ts +3 -4
- package/src/core/utils/internal/{parseMultipartData.test.ts → parse-multipart-data.test.ts} +1 -1
- package/src/core/utils/internal/{parseMultipartData.ts → parse-multipart-data.ts} +1 -1
- package/src/core/utils/internal/{toReadonlyArray.test.ts → to-readonly-array.test.ts} +4 -4
- package/src/core/utils/logging/colors.ts +13 -0
- package/src/core/utils/logging/{getStatusCodeColor.test.ts → get-status-code-color.test.ts} +1 -1
- package/src/core/utils/logging/{getTimestamp.test.ts → get-timestamp.test.ts} +1 -1
- package/src/core/utils/logging/{serializeRequest.test.ts → serialize-request.test.ts} +1 -1
- package/src/core/utils/logging/{serializeResponse.test.ts → serialize-response.test.ts} +8 -10
- package/src/core/utils/logging/{serializeResponse.ts → serialize-response.ts} +2 -4
- package/src/core/utils/matching/match-request-url.test.ts +90 -0
- package/src/core/utils/matching/match-request-url.ts +45 -0
- package/src/core/utils/matching/{normalizePath.node.test.ts → normalize-path.node.test.ts} +2 -4
- package/src/core/utils/matching/{normalizePath.test.ts → normalize-path.test.ts} +2 -4
- package/src/core/utils/matching/{normalizePath.ts → normalize-path.ts} +8 -5
- package/src/core/utils/request/{getAllAcceptedMimeTypes.test.ts → get-all-accepted-mime-types.test.ts} +14 -14
- package/src/core/utils/request/get-request-cookies.ts +76 -0
- package/src/core/utils/request/store-response-cookies.ts +15 -0
- package/src/core/utils/request/{toPublicUrl.node.test.ts → to-public-url.node.test.ts} +1 -1
- package/src/core/utils/request/{toPublicUrl.test.ts → to-public-url.test.ts} +2 -2
- package/src/core/utils/{HttpResponse/decorators.ts → response-decorators.ts} +6 -8
- package/src/core/utils/url/{getAbsoluteUrl.node.test.ts → get-absolute-url.node.test.ts} +5 -7
- package/src/core/utils/url/{getAbsoluteUrl.test.ts → get-absolute-url.test.ts} +7 -7
- package/src/core/utils/url/{getAbsoluteUrl.ts → get-absolute-url.ts} +1 -1
- package/src/core/utils/url/is-absolute-url.test.ts +30 -0
- package/src/{core/handlers/GraphQLHandler.test.ts → graphql/graphql-handler.test.ts} +37 -36
- package/src/{core/handlers/GraphQLHandler.ts → graphql/graphql-handler.ts} +54 -41
- package/src/graphql/graphql-subscription-event.ts +39 -0
- package/src/graphql/graphql-subscription.test.ts +208 -0
- package/src/graphql/graphql-subscription.ts +1487 -0
- package/src/graphql/graphql.test.ts +14 -0
- package/src/graphql/graphql.ts +179 -0
- package/src/graphql/index.ts +34 -0
- package/src/{core/utils/internal/parseGraphQLRequest.test.ts → graphql/parse-graphql-request.test.ts} +47 -6
- package/src/{core/utils/internal/parseGraphQLRequest.ts → graphql/parse-graphql-request.ts} +59 -32
- package/src/{core/handlers/HttpHandler.test.ts → http/http-handler.test.ts} +22 -22
- package/src/{core/handlers/HttpHandler.ts → http/http-handler.ts} +16 -18
- package/src/{core/HttpResponse.test.ts → http/http-response.test.ts} +25 -27
- package/src/{core/HttpResponse.ts → http/http-response.ts} +15 -17
- package/src/{core → http}/http.ts +7 -7
- package/src/http/index.test.ts +19 -0
- package/src/http/index.ts +22 -0
- package/src/http/symbols.ts +19 -0
- package/src/iife/index.ts +2 -0
- package/src/mockServiceWorker.js +183 -84
- package/src/node/async-handlers-controller.test.ts +4 -4
- package/src/node/glossary.ts +8 -4
- package/src/node/index.ts +1 -6
- package/src/node/setup-server-common.ts +16 -73
- package/src/node/setup-server.ts +9 -40
- package/src/sse/index.test.ts +14 -0
- package/src/sse/index.ts +7 -0
- package/src/{core → sse}/sse.ts +25 -21
- package/src/tsconfig.core.build.json +5 -1
- package/src/tsconfig.core.json +8 -1
- package/src/tsconfig.node.json +1 -1
- package/src/tsconfig.src.json +1 -1
- package/src/{core → utils}/bypass.test.ts +22 -5
- package/src/{core → utils}/bypass.ts +11 -0
- package/src/{core → utils}/delay.ts +5 -5
- package/src/utils/get-clean-url-string.test.ts +24 -0
- package/src/utils/get-clean-url-string.ts +16 -0
- package/src/{core/getResponse.test.ts → utils/get-response.test.ts} +9 -9
- package/src/{core/getResponse.ts → utils/get-response.ts} +2 -2
- package/src/{core/isCommonAssetRequest.ts → utils/is-common-asset-request.ts} +4 -3
- package/src/utils/passthrough.test.ts +41 -0
- package/src/utils/passthrough.ts +46 -0
- package/src/vite/client.d.ts +16 -0
- package/src/vite/index.ts +4 -0
- package/src/vite/options.d.ts +5 -0
- package/src/vite/plugin.test.ts +918 -0
- package/src/vite/plugin.ts +133 -0
- package/src/vite/runtime.ts +117 -0
- package/src/vite/tsconfig.build.json +7 -0
- package/src/ws/index.ts +23 -0
- package/src/{core/ws/utils/attachWebSocketLogger.ts → ws/utils/attach-websocket-logger.ts} +45 -23
- package/src/{core/ws/utils/getMessageLength.test.ts → ws/utils/get-message-length.test.ts} +4 -4
- package/src/{core/ws/utils/getMessageLength.ts → ws/utils/get-message-length.ts} +1 -1
- package/src/{core/ws/utils/getPublicData.test.ts → ws/utils/get-public-data.test.ts} +7 -7
- package/src/ws/utils/get-public-data.ts +23 -0
- package/src/{core/ws/utils/truncateMessage.test.ts → ws/utils/truncate-message.test.ts} +3 -3
- package/src/{core/ws/WebSocketClientManager.test.ts → ws/websocket-client-manager.test.ts} +8 -9
- package/src/{core/ws/WebSocketClientManager.ts → ws/websocket-client-manager.ts} +24 -28
- package/src/{core/ws/WebSocketClientStore.ts → ws/websocket-client-store.ts} +2 -2
- package/src/{core/handlers/WebSocketHandler.test.ts → ws/websocket-handler.test.ts} +15 -15
- package/src/{core/handlers/WebSocketHandler.ts → ws/websocket-handler.ts} +144 -32
- package/src/{core/ws/WebSocketIndexedDBClientStore.ts → ws/websocket-indexeddb-client-store.ts} +12 -13
- package/src/{core/ws/WebSocketMemoryClientStore.ts → ws/websocket-memory-client-store.ts} +4 -4
- package/src/ws/websocket-upgrade.ts +83 -0
- package/src/{core → ws}/ws.test.ts +3 -4
- package/src/{core → ws}/ws.ts +106 -53
- package/browser/package.json +0 -31
- package/cli/package.json +0 -3
- package/config/package.json +0 -3
- package/config/scripts/postinstall.js +0 -36
- package/lib/browser/index.d.mts +0 -112
- package/lib/browser/index.mjs +0 -3706
- package/lib/browser/index.mjs.map +0 -1
- package/lib/core/HttpResponse-BE_Y2Ak9.d.mts +0 -389
- package/lib/core/HttpResponse-DL-P1EeG.d.ts +0 -389
- package/lib/core/HttpResponse.d.mts +0 -6
- package/lib/core/HttpResponse.d.ts +0 -6
- package/lib/core/HttpResponse.js +0 -176
- package/lib/core/HttpResponse.js.map +0 -1
- package/lib/core/HttpResponse.mjs +0 -159
- package/lib/core/HttpResponse.mjs.map +0 -1
- package/lib/core/bypass.d.mts +0 -16
- package/lib/core/bypass.js +0 -42
- package/lib/core/bypass.js.map +0 -1
- package/lib/core/bypass.mjs +0 -22
- package/lib/core/bypass.mjs.map +0 -1
- package/lib/core/delay.d.mts +0 -18
- package/lib/core/delay.d.ts +0 -18
- package/lib/core/delay.js +0 -77
- package/lib/core/delay.js.map +0 -1
- package/lib/core/delay.mjs +0 -57
- package/lib/core/delay.mjs.map +0 -1
- package/lib/core/experimental/compat.d.mts +0 -17
- package/lib/core/experimental/compat.d.ts +0 -17
- package/lib/core/experimental/compat.js +0 -55
- package/lib/core/experimental/compat.js.map +0 -1
- package/lib/core/experimental/compat.mjs +0 -37
- package/lib/core/experimental/compat.mjs.map +0 -1
- package/lib/core/experimental/define-network.d.mts +0 -75
- package/lib/core/experimental/define-network.d.ts +0 -75
- package/lib/core/experimental/define-network.js +0 -134
- package/lib/core/experimental/define-network.js.map +0 -1
- package/lib/core/experimental/define-network.mjs +0 -119
- package/lib/core/experimental/define-network.mjs.map +0 -1
- package/lib/core/experimental/frames/http-frame.d.mts +0 -77
- package/lib/core/experimental/frames/http-frame.d.ts +0 -77
- package/lib/core/experimental/frames/http-frame.js +0 -197
- package/lib/core/experimental/frames/http-frame.js.map +0 -1
- package/lib/core/experimental/frames/http-frame.mjs +0 -181
- package/lib/core/experimental/frames/http-frame.mjs.map +0 -1
- package/lib/core/experimental/frames/network-frame.d.mts +0 -12
- package/lib/core/experimental/frames/network-frame.d.ts +0 -12
- package/lib/core/experimental/frames/network-frame.js +0 -35
- package/lib/core/experimental/frames/network-frame.js.map +0 -1
- package/lib/core/experimental/frames/network-frame.mjs +0 -15
- package/lib/core/experimental/frames/network-frame.mjs.map +0 -1
- package/lib/core/experimental/frames/websocket-frame.d.mts +0 -55
- package/lib/core/experimental/frames/websocket-frame.d.ts +0 -55
- package/lib/core/experimental/frames/websocket-frame.js +0 -131
- package/lib/core/experimental/frames/websocket-frame.js.map +0 -1
- package/lib/core/experimental/frames/websocket-frame.mjs +0 -118
- package/lib/core/experimental/frames/websocket-frame.mjs.map +0 -1
- package/lib/core/experimental/handlers-controller.d.mts +0 -36
- package/lib/core/experimental/handlers-controller.d.ts +0 -36
- package/lib/core/experimental/handlers-controller.js +0 -146
- package/lib/core/experimental/handlers-controller.js.map +0 -1
- package/lib/core/experimental/handlers-controller.mjs +0 -126
- package/lib/core/experimental/handlers-controller.mjs.map +0 -1
- package/lib/core/experimental/index.d.mts +0 -17
- package/lib/core/experimental/index.js.map +0 -1
- package/lib/core/experimental/index.mjs +0 -27
- package/lib/core/experimental/index.mjs.map +0 -1
- package/lib/core/experimental/on-unhandled-frame.d.mts +0 -12
- package/lib/core/experimental/on-unhandled-frame.d.ts +0 -12
- package/lib/core/experimental/on-unhandled-frame.js +0 -91
- package/lib/core/experimental/on-unhandled-frame.js.map +0 -1
- package/lib/core/experimental/on-unhandled-frame.mjs +0 -71
- package/lib/core/experimental/on-unhandled-frame.mjs.map +0 -1
- package/lib/core/experimental/request-utils.d.mts +0 -12
- package/lib/core/experimental/request-utils.d.ts +0 -12
- package/lib/core/experimental/request-utils.js +0 -50
- package/lib/core/experimental/request-utils.js.map +0 -1
- package/lib/core/experimental/request-utils.mjs +0 -30
- package/lib/core/experimental/request-utils.mjs.map +0 -1
- package/lib/core/experimental/setup-api.d.mts +0 -33
- package/lib/core/experimental/setup-api.d.ts +0 -33
- package/lib/core/experimental/setup-api.js +0 -58
- package/lib/core/experimental/setup-api.js.map +0 -1
- package/lib/core/experimental/setup-api.mjs +0 -40
- package/lib/core/experimental/setup-api.mjs.map +0 -1
- package/lib/core/experimental/sources/interceptor-source.d.mts +0 -28
- package/lib/core/experimental/sources/interceptor-source.d.ts +0 -28
- package/lib/core/experimental/sources/interceptor-source.js +0 -155
- package/lib/core/experimental/sources/interceptor-source.js.map +0 -1
- package/lib/core/experimental/sources/interceptor-source.mjs +0 -135
- package/lib/core/experimental/sources/interceptor-source.mjs.map +0 -1
- package/lib/core/experimental/sources/network-source.d.mts +0 -31
- package/lib/core/experimental/sources/network-source.d.ts +0 -31
- package/lib/core/experimental/sources/network-source.js +0 -51
- package/lib/core/experimental/sources/network-source.js.map +0 -1
- package/lib/core/experimental/sources/network-source.mjs +0 -32
- package/lib/core/experimental/sources/network-source.mjs.map +0 -1
- package/lib/core/getResponse.d.mts +0 -18
- package/lib/core/getResponse.d.ts +0 -18
- package/lib/core/getResponse.js +0 -35
- package/lib/core/getResponse.js.map +0 -1
- package/lib/core/getResponse.mjs +0 -17
- package/lib/core/getResponse.mjs.map +0 -1
- package/lib/core/graphql.d.mts +0 -76
- package/lib/core/graphql.d.ts +0 -76
- package/lib/core/graphql.js +0 -91
- package/lib/core/graphql.js.map +0 -1
- package/lib/core/graphql.mjs +0 -74
- package/lib/core/graphql.mjs.map +0 -1
- package/lib/core/handlers/GraphQLHandler.d.mts +0 -6
- package/lib/core/handlers/GraphQLHandler.d.ts +0 -6
- package/lib/core/handlers/GraphQLHandler.js +0 -232
- package/lib/core/handlers/GraphQLHandler.js.map +0 -1
- package/lib/core/handlers/GraphQLHandler.mjs +0 -221
- package/lib/core/handlers/GraphQLHandler.mjs.map +0 -1
- package/lib/core/handlers/HttpHandler.d.mts +0 -75
- package/lib/core/handlers/HttpHandler.d.ts +0 -75
- package/lib/core/handlers/HttpHandler.js +0 -129
- package/lib/core/handlers/HttpHandler.js.map +0 -1
- package/lib/core/handlers/HttpHandler.mjs +0 -113
- package/lib/core/handlers/HttpHandler.mjs.map +0 -1
- package/lib/core/handlers/RequestHandler.d.mts +0 -6
- package/lib/core/handlers/RequestHandler.d.ts +0 -6
- package/lib/core/handlers/RequestHandler.js +0 -365
- package/lib/core/handlers/RequestHandler.js.map +0 -1
- package/lib/core/handlers/RequestHandler.mjs +0 -348
- package/lib/core/handlers/RequestHandler.mjs.map +0 -1
- package/lib/core/handlers/WebSocketHandler.d.mts +0 -49
- package/lib/core/handlers/WebSocketHandler.d.ts +0 -49
- package/lib/core/handlers/WebSocketHandler.js +0 -178
- package/lib/core/handlers/WebSocketHandler.js.map +0 -1
- package/lib/core/handlers/WebSocketHandler.mjs +0 -160
- package/lib/core/handlers/WebSocketHandler.mjs.map +0 -1
- package/lib/core/http.d.mts +0 -31
- package/lib/core/http.js +0 -41
- package/lib/core/http.js.map +0 -1
- package/lib/core/http.mjs +0 -25
- package/lib/core/http.mjs.map +0 -1
- package/lib/core/index.d.mts +0 -27
- package/lib/core/index.js.map +0 -1
- package/lib/core/index.mjs +0 -52
- package/lib/core/index.mjs.map +0 -1
- package/lib/core/isCommonAssetRequest.d.mts +0 -20
- package/lib/core/isCommonAssetRequest.d.ts +0 -20
- package/lib/core/isCommonAssetRequest.js +0 -42
- package/lib/core/isCommonAssetRequest.js.map +0 -1
- package/lib/core/isCommonAssetRequest.mjs +0 -22
- package/lib/core/isCommonAssetRequest.mjs.map +0 -1
- package/lib/core/on-unhandled-frame-0KmwUmeV.d.ts +0 -56
- package/lib/core/on-unhandled-frame-gkokW4Rr.d.mts +0 -56
- package/lib/core/passthrough.d.mts +0 -24
- package/lib/core/passthrough.d.ts +0 -24
- package/lib/core/passthrough.js +0 -33
- package/lib/core/passthrough.js.map +0 -1
- package/lib/core/passthrough.mjs +0 -13
- package/lib/core/passthrough.mjs.map +0 -1
- package/lib/core/sharedOptions.d.mts +0 -68
- package/lib/core/sharedOptions.d.ts +0 -68
- package/lib/core/sharedOptions.js +0 -17
- package/lib/core/sharedOptions.js.map +0 -1
- package/lib/core/sharedOptions.mjs +0 -1
- package/lib/core/sharedOptions.mjs.map +0 -1
- package/lib/core/sse.d.mts +0 -102
- package/lib/core/sse.d.ts +0 -102
- package/lib/core/sse.js +0 -690
- package/lib/core/sse.js.map +0 -1
- package/lib/core/sse.mjs +0 -672
- package/lib/core/sse.mjs.map +0 -1
- package/lib/core/typeUtils.d.mts +0 -12
- package/lib/core/typeUtils.d.ts +0 -12
- package/lib/core/typeUtils.js +0 -17
- package/lib/core/typeUtils.js.map +0 -1
- package/lib/core/typeUtils.mjs +0 -1
- package/lib/core/typeUtils.mjs.map +0 -1
- package/lib/core/utils/HttpResponse/decorators.d.mts +0 -22
- package/lib/core/utils/HttpResponse/decorators.d.ts +0 -22
- package/lib/core/utils/HttpResponse/decorators.js +0 -84
- package/lib/core/utils/HttpResponse/decorators.js.map +0 -1
- package/lib/core/utils/HttpResponse/decorators.mjs +0 -54
- package/lib/core/utils/HttpResponse/decorators.mjs.map +0 -1
- package/lib/core/utils/cookieStore.d.mts +0 -13
- package/lib/core/utils/cookieStore.d.ts +0 -13
- package/lib/core/utils/cookieStore.js +0 -90
- package/lib/core/utils/cookieStore.js.map +0 -1
- package/lib/core/utils/cookieStore.mjs +0 -74
- package/lib/core/utils/cookieStore.mjs.map +0 -1
- package/lib/core/utils/executeHandlers.d.mts +0 -6
- package/lib/core/utils/executeHandlers.d.ts +0 -6
- package/lib/core/utils/executeHandlers.js +0 -51
- package/lib/core/utils/executeHandlers.js.map +0 -1
- package/lib/core/utils/executeHandlers.mjs +0 -31
- package/lib/core/utils/executeHandlers.mjs.map +0 -1
- package/lib/core/utils/handleRequest.d.mts +0 -30
- package/lib/core/utils/handleRequest.d.ts +0 -30
- package/lib/core/utils/handleRequest.js +0 -76
- package/lib/core/utils/handleRequest.js.map +0 -1
- package/lib/core/utils/handleRequest.mjs +0 -58
- package/lib/core/utils/handleRequest.mjs.map +0 -1
- package/lib/core/utils/internal/Disposable.d.mts +0 -7
- package/lib/core/utils/internal/Disposable.d.ts +0 -7
- package/lib/core/utils/internal/Disposable.js +0 -51
- package/lib/core/utils/internal/Disposable.js.map +0 -1
- package/lib/core/utils/internal/Disposable.mjs +0 -31
- package/lib/core/utils/internal/Disposable.mjs.map +0 -1
- package/lib/core/utils/internal/attachSiblingHandlers.d.mts +0 -15
- package/lib/core/utils/internal/attachSiblingHandlers.d.ts +0 -15
- package/lib/core/utils/internal/attachSiblingHandlers.js +0 -44
- package/lib/core/utils/internal/attachSiblingHandlers.js.map +0 -1
- package/lib/core/utils/internal/attachSiblingHandlers.mjs +0 -24
- package/lib/core/utils/internal/attachSiblingHandlers.mjs.map +0 -1
- package/lib/core/utils/internal/checkGlobals.d.mts +0 -3
- package/lib/core/utils/internal/checkGlobals.d.ts +0 -3
- package/lib/core/utils/internal/checkGlobals.js +0 -34
- package/lib/core/utils/internal/checkGlobals.js.map +0 -1
- package/lib/core/utils/internal/checkGlobals.mjs +0 -14
- package/lib/core/utils/internal/checkGlobals.mjs.map +0 -1
- package/lib/core/utils/internal/devUtils.d.mts +0 -28
- package/lib/core/utils/internal/devUtils.d.ts +0 -28
- package/lib/core/utils/internal/devUtils.js +0 -48
- package/lib/core/utils/internal/devUtils.js.map +0 -1
- package/lib/core/utils/internal/devUtils.mjs +0 -28
- package/lib/core/utils/internal/devUtils.mjs.map +0 -1
- package/lib/core/utils/internal/getCallFrame.d.mts +0 -6
- package/lib/core/utils/internal/getCallFrame.d.ts +0 -6
- package/lib/core/utils/internal/getCallFrame.js +0 -41
- package/lib/core/utils/internal/getCallFrame.js.map +0 -1
- package/lib/core/utils/internal/getCallFrame.mjs +0 -21
- package/lib/core/utils/internal/getCallFrame.mjs.map +0 -1
- package/lib/core/utils/internal/hasRefCounted.d.mts +0 -3
- package/lib/core/utils/internal/hasRefCounted.d.ts +0 -3
- package/lib/core/utils/internal/hasRefCounted.js +0 -34
- package/lib/core/utils/internal/hasRefCounted.js.map +0 -1
- package/lib/core/utils/internal/hasRefCounted.mjs +0 -14
- package/lib/core/utils/internal/hasRefCounted.mjs.map +0 -1
- package/lib/core/utils/internal/isHandlerKind.d.mts +0 -19
- package/lib/core/utils/internal/isHandlerKind.d.ts +0 -19
- package/lib/core/utils/internal/isHandlerKind.js +0 -30
- package/lib/core/utils/internal/isHandlerKind.js.map +0 -1
- package/lib/core/utils/internal/isHandlerKind.mjs +0 -10
- package/lib/core/utils/internal/isHandlerKind.mjs.map +0 -1
- package/lib/core/utils/internal/isIterable.d.mts +0 -20
- package/lib/core/utils/internal/isIterable.d.ts +0 -20
- package/lib/core/utils/internal/isIterable.js +0 -30
- package/lib/core/utils/internal/isIterable.js.map +0 -1
- package/lib/core/utils/internal/isIterable.mjs +0 -10
- package/lib/core/utils/internal/isIterable.mjs.map +0 -1
- package/lib/core/utils/internal/isObject.d.mts +0 -6
- package/lib/core/utils/internal/isObject.d.ts +0 -6
- package/lib/core/utils/internal/isObject.js +0 -27
- package/lib/core/utils/internal/isObject.js.map +0 -1
- package/lib/core/utils/internal/isObject.mjs +0 -7
- package/lib/core/utils/internal/isObject.mjs.map +0 -1
- package/lib/core/utils/internal/isStringEqual.d.mts +0 -6
- package/lib/core/utils/internal/isStringEqual.d.ts +0 -6
- package/lib/core/utils/internal/isStringEqual.js +0 -27
- package/lib/core/utils/internal/isStringEqual.js.map +0 -1
- package/lib/core/utils/internal/isStringEqual.mjs +0 -7
- package/lib/core/utils/internal/isStringEqual.mjs.map +0 -1
- package/lib/core/utils/internal/jsonParse.d.mts +0 -7
- package/lib/core/utils/internal/jsonParse.d.ts +0 -7
- package/lib/core/utils/internal/jsonParse.js +0 -31
- package/lib/core/utils/internal/jsonParse.js.map +0 -1
- package/lib/core/utils/internal/jsonParse.mjs +0 -11
- package/lib/core/utils/internal/jsonParse.mjs.map +0 -1
- package/lib/core/utils/internal/mergeRight.d.mts +0 -7
- package/lib/core/utils/internal/mergeRight.d.ts +0 -7
- package/lib/core/utils/internal/mergeRight.js +0 -43
- package/lib/core/utils/internal/mergeRight.js.map +0 -1
- package/lib/core/utils/internal/mergeRight.mjs +0 -23
- package/lib/core/utils/internal/mergeRight.mjs.map +0 -1
- package/lib/core/utils/internal/observe-response-body-stream.d.mts +0 -18
- package/lib/core/utils/internal/observe-response-body-stream.d.ts +0 -18
- package/lib/core/utils/internal/observe-response-body-stream.js +0 -64
- package/lib/core/utils/internal/observe-response-body-stream.js.map +0 -1
- package/lib/core/utils/internal/observe-response-body-stream.mjs +0 -44
- package/lib/core/utils/internal/observe-response-body-stream.mjs.map +0 -1
- package/lib/core/utils/internal/parseGraphQLRequest.d.mts +0 -6
- package/lib/core/utils/internal/parseGraphQLRequest.d.ts +0 -6
- package/lib/core/utils/internal/parseGraphQLRequest.js +0 -146
- package/lib/core/utils/internal/parseGraphQLRequest.js.map +0 -1
- package/lib/core/utils/internal/parseGraphQLRequest.mjs +0 -129
- package/lib/core/utils/internal/parseGraphQLRequest.mjs.map +0 -1
- package/lib/core/utils/internal/parseMultipartData.d.mts +0 -14
- package/lib/core/utils/internal/parseMultipartData.d.ts +0 -14
- package/lib/core/utils/internal/parseMultipartData.js +0 -84
- package/lib/core/utils/internal/parseMultipartData.js.map +0 -1
- package/lib/core/utils/internal/parseMultipartData.mjs +0 -64
- package/lib/core/utils/internal/parseMultipartData.mjs.map +0 -1
- package/lib/core/utils/internal/pipeEvents.d.mts +0 -8
- package/lib/core/utils/internal/pipeEvents.d.ts +0 -8
- package/lib/core/utils/internal/pipeEvents.js +0 -37
- package/lib/core/utils/internal/pipeEvents.js.map +0 -1
- package/lib/core/utils/internal/pipeEvents.mjs +0 -17
- package/lib/core/utils/internal/pipeEvents.mjs.map +0 -1
- package/lib/core/utils/internal/toReadonlyArray.d.mts +0 -6
- package/lib/core/utils/internal/toReadonlyArray.d.ts +0 -6
- package/lib/core/utils/internal/toReadonlyArray.js +0 -29
- package/lib/core/utils/internal/toReadonlyArray.js.map +0 -1
- package/lib/core/utils/internal/toReadonlyArray.mjs +0 -9
- package/lib/core/utils/internal/toReadonlyArray.mjs.map +0 -1
- package/lib/core/utils/internal/tryCatch.d.mts +0 -3
- package/lib/core/utils/internal/tryCatch.d.ts +0 -3
- package/lib/core/utils/internal/tryCatch.js +0 -32
- package/lib/core/utils/internal/tryCatch.js.map +0 -1
- package/lib/core/utils/internal/tryCatch.mjs +0 -12
- package/lib/core/utils/internal/tryCatch.mjs.map +0 -1
- package/lib/core/utils/logging/getStatusCodeColor.d.mts +0 -11
- package/lib/core/utils/logging/getStatusCodeColor.d.ts +0 -11
- package/lib/core/utils/logging/getStatusCodeColor.js +0 -40
- package/lib/core/utils/logging/getStatusCodeColor.js.map +0 -1
- package/lib/core/utils/logging/getStatusCodeColor.mjs +0 -20
- package/lib/core/utils/logging/getStatusCodeColor.mjs.map +0 -1
- package/lib/core/utils/logging/getTimestamp.d.mts +0 -9
- package/lib/core/utils/logging/getTimestamp.d.ts +0 -9
- package/lib/core/utils/logging/getTimestamp.js +0 -32
- package/lib/core/utils/logging/getTimestamp.js.map +0 -1
- package/lib/core/utils/logging/getTimestamp.mjs +0 -12
- package/lib/core/utils/logging/getTimestamp.mjs.map +0 -1
- package/lib/core/utils/logging/serializeRequest.d.mts +0 -12
- package/lib/core/utils/logging/serializeRequest.d.ts +0 -12
- package/lib/core/utils/logging/serializeRequest.js +0 -34
- package/lib/core/utils/logging/serializeRequest.js.map +0 -1
- package/lib/core/utils/logging/serializeRequest.mjs +0 -14
- package/lib/core/utils/logging/serializeRequest.mjs.map +0 -1
- package/lib/core/utils/logging/serializeResponse.d.mts +0 -9
- package/lib/core/utils/logging/serializeResponse.d.ts +0 -9
- package/lib/core/utils/logging/serializeResponse.js +0 -48
- package/lib/core/utils/logging/serializeResponse.js.map +0 -1
- package/lib/core/utils/logging/serializeResponse.mjs +0 -18
- package/lib/core/utils/logging/serializeResponse.mjs.map +0 -1
- package/lib/core/utils/matching/matchRequestUrl.d.mts +0 -20
- package/lib/core/utils/matching/matchRequestUrl.d.ts +0 -20
- package/lib/core/utils/matching/matchRequestUrl.js +0 -55
- package/lib/core/utils/matching/matchRequestUrl.js.map +0 -1
- package/lib/core/utils/matching/matchRequestUrl.mjs +0 -35
- package/lib/core/utils/matching/matchRequestUrl.mjs.map +0 -1
- package/lib/core/utils/matching/normalizePath.d.mts +0 -13
- package/lib/core/utils/matching/normalizePath.d.ts +0 -13
- package/lib/core/utils/matching/normalizePath.js +0 -33
- package/lib/core/utils/matching/normalizePath.js.map +0 -1
- package/lib/core/utils/matching/normalizePath.mjs +0 -13
- package/lib/core/utils/matching/normalizePath.mjs.map +0 -1
- package/lib/core/utils/request/getAllAcceptedMimeTypes.d.mts +0 -14
- package/lib/core/utils/request/getAllAcceptedMimeTypes.d.ts +0 -14
- package/lib/core/utils/request/getAllAcceptedMimeTypes.js +0 -61
- package/lib/core/utils/request/getAllAcceptedMimeTypes.js.map +0 -1
- package/lib/core/utils/request/getAllAcceptedMimeTypes.mjs +0 -41
- package/lib/core/utils/request/getAllAcceptedMimeTypes.mjs.map +0 -1
- package/lib/core/utils/request/getRequestCookies.d.mts +0 -3
- package/lib/core/utils/request/getRequestCookies.d.ts +0 -3
- package/lib/core/utils/request/getRequestCookies.js +0 -79
- package/lib/core/utils/request/getRequestCookies.js.map +0 -1
- package/lib/core/utils/request/getRequestCookies.mjs +0 -62
- package/lib/core/utils/request/getRequestCookies.mjs.map +0 -1
- package/lib/core/utils/request/onUnhandledRequest.d.mts +0 -9
- package/lib/core/utils/request/onUnhandledRequest.d.ts +0 -9
- package/lib/core/utils/request/onUnhandledRequest.js +0 -76
- package/lib/core/utils/request/onUnhandledRequest.js.map +0 -1
- package/lib/core/utils/request/onUnhandledRequest.mjs +0 -56
- package/lib/core/utils/request/onUnhandledRequest.mjs.map +0 -1
- package/lib/core/utils/request/storeResponseCookies.d.mts +0 -3
- package/lib/core/utils/request/storeResponseCookies.d.ts +0 -3
- package/lib/core/utils/request/storeResponseCookies.js +0 -32
- package/lib/core/utils/request/storeResponseCookies.js.map +0 -1
- package/lib/core/utils/request/storeResponseCookies.mjs +0 -12
- package/lib/core/utils/request/storeResponseCookies.mjs.map +0 -1
- package/lib/core/utils/request/toPublicUrl.d.mts +0 -7
- package/lib/core/utils/request/toPublicUrl.d.ts +0 -7
- package/lib/core/utils/request/toPublicUrl.js +0 -31
- package/lib/core/utils/request/toPublicUrl.js.map +0 -1
- package/lib/core/utils/request/toPublicUrl.mjs +0 -11
- package/lib/core/utils/request/toPublicUrl.mjs.map +0 -1
- package/lib/core/utils/toResponseInit.d.mts +0 -3
- package/lib/core/utils/toResponseInit.d.ts +0 -3
- package/lib/core/utils/toResponseInit.js +0 -31
- package/lib/core/utils/toResponseInit.js.map +0 -1
- package/lib/core/utils/toResponseInit.mjs +0 -11
- package/lib/core/utils/toResponseInit.mjs.map +0 -1
- package/lib/core/utils/url/cleanUrl.d.mts +0 -7
- package/lib/core/utils/url/cleanUrl.d.ts +0 -7
- package/lib/core/utils/url/cleanUrl.js +0 -31
- package/lib/core/utils/url/cleanUrl.js.map +0 -1
- package/lib/core/utils/url/cleanUrl.mjs +0 -11
- package/lib/core/utils/url/cleanUrl.mjs.map +0 -1
- package/lib/core/utils/url/getAbsoluteUrl.d.mts +0 -6
- package/lib/core/utils/url/getAbsoluteUrl.d.ts +0 -6
- package/lib/core/utils/url/getAbsoluteUrl.js +0 -38
- package/lib/core/utils/url/getAbsoluteUrl.js.map +0 -1
- package/lib/core/utils/url/getAbsoluteUrl.mjs +0 -18
- package/lib/core/utils/url/getAbsoluteUrl.mjs.map +0 -1
- package/lib/core/utils/url/isAbsoluteUrl.d.mts +0 -6
- package/lib/core/utils/url/isAbsoluteUrl.d.ts +0 -6
- package/lib/core/utils/url/isAbsoluteUrl.js +0 -27
- package/lib/core/utils/url/isAbsoluteUrl.js.map +0 -1
- package/lib/core/utils/url/isAbsoluteUrl.mjs +0 -7
- package/lib/core/utils/url/isAbsoluteUrl.mjs.map +0 -1
- package/lib/core/ws/WebSocketClientManager.d.mts +0 -65
- package/lib/core/ws/WebSocketClientManager.d.ts +0 -65
- package/lib/core/ws/WebSocketClientManager.js +0 -163
- package/lib/core/ws/WebSocketClientManager.js.map +0 -1
- package/lib/core/ws/WebSocketClientManager.mjs +0 -143
- package/lib/core/ws/WebSocketClientManager.mjs.map +0 -1
- package/lib/core/ws/WebSocketClientStore.d.mts +0 -13
- package/lib/core/ws/WebSocketClientStore.d.ts +0 -13
- package/lib/core/ws/WebSocketClientStore.js +0 -26
- package/lib/core/ws/WebSocketClientStore.js.map +0 -1
- package/lib/core/ws/WebSocketClientStore.mjs +0 -6
- package/lib/core/ws/WebSocketClientStore.mjs.map +0 -1
- package/lib/core/ws/WebSocketIndexedDBClientStore.d.mts +0 -14
- package/lib/core/ws/WebSocketIndexedDBClientStore.d.ts +0 -14
- package/lib/core/ws/WebSocketIndexedDBClientStore.js +0 -131
- package/lib/core/ws/WebSocketIndexedDBClientStore.js.map +0 -1
- package/lib/core/ws/WebSocketIndexedDBClientStore.mjs +0 -111
- package/lib/core/ws/WebSocketIndexedDBClientStore.mjs.map +0 -1
- package/lib/core/ws/WebSocketMemoryClientStore.d.mts +0 -12
- package/lib/core/ws/WebSocketMemoryClientStore.d.ts +0 -12
- package/lib/core/ws/WebSocketMemoryClientStore.js +0 -42
- package/lib/core/ws/WebSocketMemoryClientStore.js.map +0 -1
- package/lib/core/ws/WebSocketMemoryClientStore.mjs +0 -22
- package/lib/core/ws/WebSocketMemoryClientStore.mjs.map +0 -1
- package/lib/core/ws/handleWebSocketEvent.d.mts +0 -20
- package/lib/core/ws/handleWebSocketEvent.d.ts +0 -20
- package/lib/core/ws/handleWebSocketEvent.js +0 -61
- package/lib/core/ws/handleWebSocketEvent.js.map +0 -1
- package/lib/core/ws/handleWebSocketEvent.mjs +0 -43
- package/lib/core/ws/handleWebSocketEvent.mjs.map +0 -1
- package/lib/core/ws/utils/attachWebSocketLogger.d.mts +0 -18
- package/lib/core/ws/utils/attachWebSocketLogger.d.ts +0 -18
- package/lib/core/ws/utils/attachWebSocketLogger.js +0 -228
- package/lib/core/ws/utils/attachWebSocketLogger.js.map +0 -1
- package/lib/core/ws/utils/attachWebSocketLogger.mjs +0 -208
- package/lib/core/ws/utils/attachWebSocketLogger.mjs.map +0 -1
- package/lib/core/ws/utils/getMessageLength.d.mts +0 -11
- package/lib/core/ws/utils/getMessageLength.d.ts +0 -11
- package/lib/core/ws/utils/getMessageLength.js +0 -34
- package/lib/core/ws/utils/getMessageLength.js.map +0 -1
- package/lib/core/ws/utils/getMessageLength.mjs +0 -14
- package/lib/core/ws/utils/getMessageLength.mjs.map +0 -1
- package/lib/core/ws/utils/getPublicData.d.mts +0 -5
- package/lib/core/ws/utils/getPublicData.d.ts +0 -5
- package/lib/core/ws/utils/getPublicData.js +0 -37
- package/lib/core/ws/utils/getPublicData.js.map +0 -1
- package/lib/core/ws/utils/getPublicData.mjs +0 -17
- package/lib/core/ws/utils/getPublicData.mjs.map +0 -1
- package/lib/core/ws/utils/truncateMessage.d.mts +0 -3
- package/lib/core/ws/utils/truncateMessage.d.ts +0 -3
- package/lib/core/ws/utils/truncateMessage.js +0 -31
- package/lib/core/ws/utils/truncateMessage.js.map +0 -1
- package/lib/core/ws/utils/truncateMessage.mjs +0 -11
- package/lib/core/ws/utils/truncateMessage.mjs.map +0 -1
- package/lib/core/ws/webSocketInterceptor.d.mts +0 -5
- package/lib/core/ws/webSocketInterceptor.d.ts +0 -5
- package/lib/core/ws/webSocketInterceptor.js +0 -26
- package/lib/core/ws/webSocketInterceptor.js.map +0 -1
- package/lib/core/ws/webSocketInterceptor.mjs +0 -6
- package/lib/core/ws/webSocketInterceptor.mjs.map +0 -1
- package/lib/core/ws.d.mts +0 -88
- package/lib/core/ws.d.ts +0 -88
- package/lib/core/ws.js +0 -94
- package/lib/core/ws.js.map +0 -1
- package/lib/core/ws.mjs +0 -80
- package/lib/core/ws.mjs.map +0 -1
- package/lib/native/index.d.mts +0 -66
- package/lib/native/index.d.ts +0 -66
- package/lib/native/index.js +0 -88
- package/lib/native/index.js.map +0 -1
- package/lib/native/index.mjs +0 -67
- package/lib/native/index.mjs.map +0 -1
- package/lib/node/index.d.mts +0 -113
- package/lib/node/index.mjs +0 -185
- package/lib/node/index.mjs.map +0 -1
- package/lib/shims/cookie.d.mts +0 -7
- package/lib/shims/cookie.d.ts +0 -7
- package/lib/shims/cookie.js +0 -294
- package/lib/shims/cookie.mjs +0 -286
- package/lib/shims/statuses.d.mts +0 -6
- package/lib/shims/statuses.d.ts +0 -6
- package/lib/shims/statuses.js +0 -195
- package/lib/shims/statuses.mjs +0 -187
- package/native/package.json +0 -30
- package/node/package.json +0 -33
- package/src/browser/utils/pruneGetRequestBody.test.ts +0 -51
- package/src/browser/utils/pruneGetRequestBody.ts +0 -21
- package/src/core/experimental/compat.ts +0 -50
- package/src/core/experimental/setup-api.ts +0 -55
- package/src/core/graphql.test.ts +0 -11
- package/src/core/graphql.ts +0 -136
- package/src/core/passthrough.test.ts +0 -11
- package/src/core/passthrough.ts +0 -25
- package/src/core/sharedOptions.ts +0 -71
- package/src/core/typeUtils.ts +0 -26
- package/src/core/utils/handleRequest.test.ts +0 -574
- package/src/core/utils/handleRequest.ts +0 -117
- package/src/core/utils/internal/checkGlobals.ts +0 -17
- package/src/core/utils/internal/isHandlerKind.test.ts +0 -62
- package/src/core/utils/internal/isHandlerKind.ts +0 -17
- package/src/core/utils/internal/isIterable.ts +0 -32
- package/src/core/utils/internal/mergeRight.test.ts +0 -43
- package/src/core/utils/internal/mergeRight.ts +0 -30
- package/src/core/utils/internal/pipeEvents.test.ts +0 -14
- package/src/core/utils/internal/pipeEvents.ts +0 -26
- package/src/core/utils/internal/tryCatch.test.ts +0 -29
- package/src/core/utils/internal/tryCatch.ts +0 -11
- package/src/core/utils/matching/matchRequestUrl.test.ts +0 -267
- package/src/core/utils/matching/matchRequestUrl.ts +0 -77
- package/src/core/utils/request/getRequestCookies.ts +0 -88
- package/src/core/utils/request/onUnhandledRequest.node.test.ts +0 -62
- package/src/core/utils/request/onUnhandledRequest.test.ts +0 -226
- package/src/core/utils/request/onUnhandledRequest.ts +0 -81
- package/src/core/utils/request/storeResponseCookies.ts +0 -15
- package/src/core/utils/url/cleanUrl.test.ts +0 -22
- package/src/core/utils/url/cleanUrl.ts +0 -16
- package/src/core/utils/url/isAbsoluteUrl.test.ts +0 -32
- package/src/core/ws/handleWebSocketEvent.ts +0 -68
- package/src/core/ws/utils/getPublicData.ts +0 -18
- package/src/core/ws/webSocketInterceptor.ts +0 -3
- package/src/native/index.ts +0 -44
- package/src/package.json +0 -3
- package/src/shims/cookie.ts +0 -7
- package/src/shims/statuses.ts +0 -6
- /package/src/browser/utils/{getAbsoluteWorkerUrl.ts → get-absolute-worker-url.ts} +0 -0
- /package/src/core/utils/internal/{devUtils.ts → dev-utils.ts} +0 -0
- /package/src/core/utils/internal/{isObject.ts → is-object.ts} +0 -0
- /package/src/core/utils/internal/{isStringEqual.ts → is-string-equal.ts} +0 -0
- /package/src/core/utils/internal/{jsonParse.ts → json-parse.ts} +0 -0
- /package/src/core/utils/internal/{toReadonlyArray.ts → to-readonly-array.ts} +0 -0
- /package/src/core/utils/logging/{getStatusCodeColor.ts → get-status-code-color.ts} +0 -0
- /package/src/core/utils/logging/{getTimestamp.ts → get-timestamp.ts} +0 -0
- /package/src/core/utils/logging/{serializeRequest.ts → serialize-request.ts} +0 -0
- /package/src/core/utils/request/{getAllAcceptedMimeTypes.ts → get-all-accepted-mime-types.ts} +0 -0
- /package/src/core/utils/request/{toPublicUrl.ts → to-public-url.ts} +0 -0
- /package/src/core/utils/{toResponseInit.ts → to-response-init.ts} +0 -0
- /package/src/core/utils/url/{isAbsoluteUrl.ts → is-absolute-url.ts} +0 -0
- /package/src/{core → http}/http.test.ts +0 -0
- /package/src/{core/ws/utils/truncateMessage.ts → ws/utils/truncate-message.ts} +0 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { graphql } from './graphql'
|
|
2
|
+
|
|
3
|
+
test('exposes the link-first GraphQL api', () => {
|
|
4
|
+
expect(graphql).toBeDefined()
|
|
5
|
+
expect(Object.keys(graphql)).toEqual(['link'])
|
|
6
|
+
|
|
7
|
+
const link = graphql.link('https://api.example.com/graphql')
|
|
8
|
+
expect(Object.keys(link)).toEqual([
|
|
9
|
+
'operation',
|
|
10
|
+
'query',
|
|
11
|
+
'mutation',
|
|
12
|
+
'subscription',
|
|
13
|
+
])
|
|
14
|
+
})
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
ResponseResolver,
|
|
3
|
+
RequestHandlerOptions,
|
|
4
|
+
} from '#core/handlers/request-handler'
|
|
5
|
+
import {
|
|
6
|
+
GraphQLHandler,
|
|
7
|
+
type GraphQLVariables,
|
|
8
|
+
type GraphQLOperationType,
|
|
9
|
+
type GraphQLResolverExtras,
|
|
10
|
+
type GraphQLResponseBody,
|
|
11
|
+
type GraphQLQuery,
|
|
12
|
+
type GraphQLPredicate,
|
|
13
|
+
} from './graphql-handler'
|
|
14
|
+
import { createRequestId } from '@mswjs/interceptors'
|
|
15
|
+
import { getAllRequestCookies } from '#core/utils/request/get-request-cookies'
|
|
16
|
+
import type { Path } from '#core/utils/matching/match-request-url'
|
|
17
|
+
import { attachSiblingHandlers } from '#core/utils/internal/attach-sibling-handlers'
|
|
18
|
+
import {
|
|
19
|
+
createGraphQLSubscriptionHandler,
|
|
20
|
+
type GraphQLSubscriptionHandlerFactory,
|
|
21
|
+
} from './graphql-subscription'
|
|
22
|
+
|
|
23
|
+
export type GraphQLRequestHandler = <
|
|
24
|
+
Query extends GraphQLQuery = GraphQLQuery,
|
|
25
|
+
Variables extends GraphQLVariables = GraphQLVariables,
|
|
26
|
+
>(
|
|
27
|
+
predicate: GraphQLPredicate<Query, Variables>,
|
|
28
|
+
resolver: GraphQLResponseResolver<
|
|
29
|
+
[Query] extends [never] ? GraphQLQuery : Query,
|
|
30
|
+
Variables
|
|
31
|
+
>,
|
|
32
|
+
options?: RequestHandlerOptions,
|
|
33
|
+
) => GraphQLHandler
|
|
34
|
+
|
|
35
|
+
export type GraphQLOperationHandler = <
|
|
36
|
+
Query extends GraphQLQuery = GraphQLQuery,
|
|
37
|
+
Variables extends GraphQLVariables = GraphQLVariables,
|
|
38
|
+
>(
|
|
39
|
+
resolver: GraphQLResponseResolver<
|
|
40
|
+
[Query] extends [never] ? GraphQLQuery : Query,
|
|
41
|
+
Variables
|
|
42
|
+
>,
|
|
43
|
+
options?: RequestHandlerOptions,
|
|
44
|
+
) => GraphQLHandler
|
|
45
|
+
|
|
46
|
+
export type GraphQLResponseResolver<
|
|
47
|
+
Query extends GraphQLQuery = GraphQLQuery,
|
|
48
|
+
Variables extends GraphQLVariables = GraphQLVariables,
|
|
49
|
+
> = ResponseResolver<
|
|
50
|
+
GraphQLResolverExtras<Variables>,
|
|
51
|
+
null,
|
|
52
|
+
GraphQLResponseBody<[Query] extends [never] ? GraphQLQuery : Query>
|
|
53
|
+
>
|
|
54
|
+
|
|
55
|
+
function createScopedGraphQLHandler(
|
|
56
|
+
operationType: GraphQLOperationType,
|
|
57
|
+
url: Path,
|
|
58
|
+
): GraphQLRequestHandler {
|
|
59
|
+
return (predicate, resolver, options = {}) => {
|
|
60
|
+
return new GraphQLHandler(operationType, predicate, url, resolver, options)
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function createGraphQLOperationHandler(
|
|
65
|
+
url: Path,
|
|
66
|
+
subscriptionFactory?: GraphQLSubscriptionHandlerFactory,
|
|
67
|
+
): GraphQLOperationHandler {
|
|
68
|
+
/**
|
|
69
|
+
* @note An explicitly generic function so the subscription sibling
|
|
70
|
+
* can be created with the same `Query`/`Variables` types as the
|
|
71
|
+
* operation resolver, without casting its resolver info.
|
|
72
|
+
*/
|
|
73
|
+
return <
|
|
74
|
+
Query extends GraphQLQuery = GraphQLQuery,
|
|
75
|
+
Variables extends GraphQLVariables = GraphQLVariables,
|
|
76
|
+
>(
|
|
77
|
+
resolver: GraphQLResponseResolver<
|
|
78
|
+
[Query] extends [never] ? GraphQLQuery : Query,
|
|
79
|
+
Variables
|
|
80
|
+
>,
|
|
81
|
+
options?: RequestHandlerOptions,
|
|
82
|
+
): GraphQLHandler => {
|
|
83
|
+
const handler = new GraphQLHandler(
|
|
84
|
+
'all',
|
|
85
|
+
new RegExp('.*'),
|
|
86
|
+
url,
|
|
87
|
+
resolver,
|
|
88
|
+
options,
|
|
89
|
+
)
|
|
90
|
+
|
|
91
|
+
if (!subscriptionFactory) {
|
|
92
|
+
return handler
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// Attach a catch-all subscription handler as a sibling so the
|
|
96
|
+
// operation handler also matches GraphQL subscriptions over WebSocket.
|
|
97
|
+
// The subscription transport guarantees only actual GraphQL
|
|
98
|
+
// subscriptions are dispatched to it.
|
|
99
|
+
const subscriptionCatchAllHandler = subscriptionFactory<Query, Variables>(
|
|
100
|
+
new RegExp('.*'),
|
|
101
|
+
({ operationName, subscription, request, finalize }) => {
|
|
102
|
+
/**
|
|
103
|
+
* @note Subscriptions are resolved imperatively, so the return
|
|
104
|
+
* value of the resolver is ignored. The request describes the
|
|
105
|
+
* WebSocket connection this subscription is multiplexed over.
|
|
106
|
+
*/
|
|
107
|
+
resolver({
|
|
108
|
+
operationName,
|
|
109
|
+
query: subscription.query,
|
|
110
|
+
variables: subscription.variables,
|
|
111
|
+
cookies: getAllRequestCookies(request),
|
|
112
|
+
request,
|
|
113
|
+
requestId: createRequestId(),
|
|
114
|
+
finalize,
|
|
115
|
+
})
|
|
116
|
+
},
|
|
117
|
+
// Forward the handler options so a one-time operation handler is
|
|
118
|
+
// also consumed by the first subscription it matches.
|
|
119
|
+
options,
|
|
120
|
+
)
|
|
121
|
+
|
|
122
|
+
return attachSiblingHandlers(handler, [subscriptionCatchAllHandler])
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
export interface GraphQLLink {
|
|
127
|
+
query: GraphQLRequestHandler
|
|
128
|
+
mutation: GraphQLRequestHandler
|
|
129
|
+
operation: GraphQLOperationHandler
|
|
130
|
+
/**
|
|
131
|
+
* Intercept a GraphQL subscription.
|
|
132
|
+
*
|
|
133
|
+
* @example
|
|
134
|
+
* const api = graphql.link('https://api.example.com/graphql')
|
|
135
|
+
* api.subscription('OnPostAdded', ({ subscription }) => {
|
|
136
|
+
* subscription.publish({
|
|
137
|
+
* data: { postAdded: { id: 'abc-123' } },
|
|
138
|
+
* })
|
|
139
|
+
* })
|
|
140
|
+
*/
|
|
141
|
+
subscription: GraphQLSubscriptionHandlerFactory
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* A namespace to intercept and mock GraphQL operations
|
|
146
|
+
*
|
|
147
|
+
* @example
|
|
148
|
+
* const api = graphql.link('https://api.example.com/graphql')
|
|
149
|
+
* api.query('GetUser', resolver)
|
|
150
|
+
* api.mutation('DeletePost', resolver)
|
|
151
|
+
*
|
|
152
|
+
* @see {@link https://mswjs.io/docs/api/graphql `graphql` API reference}
|
|
153
|
+
*/
|
|
154
|
+
export const graphql = {
|
|
155
|
+
/**
|
|
156
|
+
* Intercepts GraphQL operations scoped by the given URL.
|
|
157
|
+
*
|
|
158
|
+
* @example
|
|
159
|
+
* const github = graphql.link('https://api.github.com/graphql')
|
|
160
|
+
* github.query('GetRepo', resolver)
|
|
161
|
+
*
|
|
162
|
+
* @see {@link https://mswjs.io/docs/api/graphql#graphqllinkurl `graphql.link()` API reference}
|
|
163
|
+
*/
|
|
164
|
+
link(url: Path): GraphQLLink {
|
|
165
|
+
/**
|
|
166
|
+
* @note Create the subscription handler factory once per link so
|
|
167
|
+
* the `subscription()` and `operation()` handlers share the same
|
|
168
|
+
* underlying subscription transport (deduped by reference).
|
|
169
|
+
*/
|
|
170
|
+
const subscription = createGraphQLSubscriptionHandler(url)
|
|
171
|
+
|
|
172
|
+
return {
|
|
173
|
+
operation: createGraphQLOperationHandler(url, subscription),
|
|
174
|
+
query: createScopedGraphQLHandler('query', url),
|
|
175
|
+
mutation: createScopedGraphQLHandler('mutation', url),
|
|
176
|
+
subscription,
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export {
|
|
2
|
+
graphql,
|
|
3
|
+
type GraphQLRequestHandler,
|
|
4
|
+
type GraphQLOperationHandler,
|
|
5
|
+
type GraphQLResponseResolver,
|
|
6
|
+
type GraphQLLink,
|
|
7
|
+
} from './graphql'
|
|
8
|
+
|
|
9
|
+
export {
|
|
10
|
+
GraphQLHandler,
|
|
11
|
+
type GraphQLQuery,
|
|
12
|
+
type GraphQLVariables,
|
|
13
|
+
type GraphQLRequestBody,
|
|
14
|
+
type GraphQLResponseBody,
|
|
15
|
+
type GraphQLJsonRequestBody,
|
|
16
|
+
type GraphQLOperationType,
|
|
17
|
+
type GraphQLCustomPredicate,
|
|
18
|
+
} from './graphql-handler'
|
|
19
|
+
|
|
20
|
+
export type { ParsedGraphQLRequest } from './parse-graphql-request'
|
|
21
|
+
|
|
22
|
+
export {
|
|
23
|
+
createGraphQLSubscriptionHandler,
|
|
24
|
+
GraphQLSubscription,
|
|
25
|
+
GraphQLSubscriptionHandler,
|
|
26
|
+
GraphQLPassthroughSubscription,
|
|
27
|
+
type GraphQLSubscriptionHandlerFactory,
|
|
28
|
+
type GraphQLSubscriptionHandlerOptions,
|
|
29
|
+
type GraphQLSubscriptionName,
|
|
30
|
+
type GraphQLSubscriptionPayload,
|
|
31
|
+
type GraphQLSubscriptionResolver,
|
|
32
|
+
type GraphQLSubscriptionResolverInfo,
|
|
33
|
+
type GraphQLPassthroughSubscriptionEventMap,
|
|
34
|
+
} from './graphql-subscription'
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @vitest-environment jsdom
|
|
3
|
-
*/
|
|
4
1
|
import { encodeBuffer } from '@mswjs/interceptors'
|
|
5
|
-
import { OperationTypeNode } from 'graphql'
|
|
6
|
-
import
|
|
7
|
-
|
|
2
|
+
import { OperationTypeNode, parse } from 'graphql'
|
|
3
|
+
import {
|
|
4
|
+
parseDocumentNode,
|
|
5
|
+
parseGraphQLRequest,
|
|
6
|
+
type ParsedGraphQLQuery,
|
|
7
|
+
type ParsedGraphQLRequest,
|
|
8
|
+
} from './parse-graphql-request'
|
|
8
9
|
|
|
9
10
|
test('returns true given a GraphQL-compatible request', async () => {
|
|
10
11
|
const getRequest = new Request(
|
|
@@ -95,3 +96,43 @@ test('does not read the original request body', async () => {
|
|
|
95
96
|
// is an internal operation that must not lock the body stream.
|
|
96
97
|
expect(request.bodyUsed).toBe(false)
|
|
97
98
|
})
|
|
99
|
+
|
|
100
|
+
describe('parseDocumentNode', () => {
|
|
101
|
+
const document = parse(`
|
|
102
|
+
query GetComments {
|
|
103
|
+
comments {
|
|
104
|
+
text
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
subscription OnCommentAdded {
|
|
109
|
+
commentAdded {
|
|
110
|
+
text
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
`)
|
|
114
|
+
|
|
115
|
+
test('returns the first operation given no operation name', () => {
|
|
116
|
+
expect(parseDocumentNode(document)).toEqual<ParsedGraphQLQuery>({
|
|
117
|
+
operationType: OperationTypeNode.QUERY,
|
|
118
|
+
operationName: 'GetComments',
|
|
119
|
+
})
|
|
120
|
+
})
|
|
121
|
+
|
|
122
|
+
test('returns the operation matching the given operation name', () => {
|
|
123
|
+
expect(
|
|
124
|
+
parseDocumentNode(document, 'OnCommentAdded'),
|
|
125
|
+
).toEqual<ParsedGraphQLQuery>({
|
|
126
|
+
operationType: OperationTypeNode.SUBSCRIPTION,
|
|
127
|
+
operationName: 'OnCommentAdded',
|
|
128
|
+
})
|
|
129
|
+
})
|
|
130
|
+
|
|
131
|
+
test('resolves no operation given an unknown operation name', () => {
|
|
132
|
+
expect(parseDocumentNode(document, 'Unknown')).toEqual<ParsedGraphQLQuery>({
|
|
133
|
+
operationType: undefined,
|
|
134
|
+
// The requested name is echoed back for diagnostics.
|
|
135
|
+
operationName: 'Unknown',
|
|
136
|
+
})
|
|
137
|
+
})
|
|
138
|
+
})
|
|
@@ -1,21 +1,27 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import {
|
|
2
|
+
parse,
|
|
3
|
+
type DocumentNode,
|
|
4
|
+
type OperationDefinitionNode,
|
|
5
|
+
type OperationTypeNode,
|
|
5
6
|
} from 'graphql'
|
|
6
|
-
import type { GraphQLVariables } from '
|
|
7
|
-
import { toPublicUrl } from '
|
|
8
|
-
import { devUtils } from '
|
|
9
|
-
import { jsonParse } from '
|
|
10
|
-
import { parseMultipartData } from '
|
|
7
|
+
import type { GraphQLVariables } from './graphql-handler'
|
|
8
|
+
import { toPublicUrl } from '#core/utils/request/to-public-url'
|
|
9
|
+
import { devUtils } from '#core/utils/internal/dev-utils'
|
|
10
|
+
import { jsonParse } from '#core/utils/internal/json-parse'
|
|
11
|
+
import { parseMultipartData } from '#core/utils/internal/parse-multipart-data'
|
|
11
12
|
|
|
12
13
|
interface GraphQLInput {
|
|
13
14
|
query: string | null
|
|
14
15
|
variables?: GraphQLVariables
|
|
16
|
+
operationName?: string | null
|
|
15
17
|
}
|
|
16
18
|
|
|
17
19
|
export interface ParsedGraphQLQuery {
|
|
18
|
-
|
|
20
|
+
/**
|
|
21
|
+
* Undefined if the document has no operation matching the
|
|
22
|
+
* requested operation name.
|
|
23
|
+
*/
|
|
24
|
+
operationType?: OperationTypeNode
|
|
19
25
|
operationName?: string
|
|
20
26
|
}
|
|
21
27
|
|
|
@@ -28,36 +34,51 @@ export type ParsedGraphQLRequest<
|
|
|
28
34
|
})
|
|
29
35
|
| undefined
|
|
30
36
|
|
|
31
|
-
export function parseDocumentNode(
|
|
32
|
-
|
|
37
|
+
export function parseDocumentNode(
|
|
38
|
+
node: DocumentNode,
|
|
39
|
+
operationName?: string | null,
|
|
40
|
+
): ParsedGraphQLQuery {
|
|
41
|
+
const operationDefs = node.definitions.filter((definition) => {
|
|
33
42
|
return definition.kind === 'OperationDefinition'
|
|
34
|
-
}) as OperationDefinitionNode
|
|
43
|
+
}) as Array<OperationDefinitionNode>
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* @note A document may bundle multiple operations (e.g. the ones
|
|
47
|
+
* emitted by GraphQL Code Generator). Honor the requested operation
|
|
48
|
+
* name, and resolve nothing if the document has no such operation.
|
|
49
|
+
* Falling back to the first operation would silently resolve one the
|
|
50
|
+
* client never asked for.
|
|
51
|
+
*/
|
|
52
|
+
const operationDef = operationName
|
|
53
|
+
? operationDefs.find((definition) => {
|
|
54
|
+
return definition.name?.value === operationName
|
|
55
|
+
})
|
|
56
|
+
: operationDefs[0]
|
|
35
57
|
|
|
36
58
|
return {
|
|
37
59
|
operationType: operationDef?.operation,
|
|
38
|
-
|
|
60
|
+
/**
|
|
61
|
+
* @note Echo the requested operation name even when the document
|
|
62
|
+
* has no such operation. It makes the "unhandled operation" warnings
|
|
63
|
+
* name the operation the client actually asked for.
|
|
64
|
+
*/
|
|
65
|
+
operationName: operationDef?.name?.value || operationName || undefined,
|
|
39
66
|
}
|
|
40
67
|
}
|
|
41
68
|
|
|
42
|
-
async function parseQuery(
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
* root export. It has to be `require` because tools like Jest have trouble
|
|
47
|
-
* handling dynamic imports. It gets replaced with a dynamic import on build time.
|
|
48
|
-
*/
|
|
49
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
50
|
-
const { parse } = require('graphql')
|
|
51
|
-
|
|
69
|
+
async function parseQuery(
|
|
70
|
+
query: string,
|
|
71
|
+
operationName?: string | null,
|
|
72
|
+
): Promise<ParsedGraphQLQuery | Error> {
|
|
52
73
|
try {
|
|
53
74
|
const ast = parse(query)
|
|
54
|
-
return parseDocumentNode(ast)
|
|
75
|
+
return parseDocumentNode(ast, operationName)
|
|
55
76
|
} catch (error) {
|
|
56
77
|
return error as Error
|
|
57
78
|
}
|
|
58
79
|
}
|
|
59
80
|
|
|
60
|
-
|
|
81
|
+
type GraphQLParsedOperationsMap = Record<string, string[]>
|
|
61
82
|
export type GraphQLMultipartRequestBody = {
|
|
62
83
|
operations: string
|
|
63
84
|
map?: string
|
|
@@ -107,6 +128,7 @@ async function getGraphQLInput(request: Request): Promise<GraphQLInput | null> {
|
|
|
107
128
|
return {
|
|
108
129
|
query,
|
|
109
130
|
variables: jsonParse(variables),
|
|
131
|
+
operationName: url.searchParams.get('operationName'),
|
|
110
132
|
}
|
|
111
133
|
}
|
|
112
134
|
|
|
@@ -130,9 +152,11 @@ async function getGraphQLInput(request: Request): Promise<GraphQLInput | null> {
|
|
|
130
152
|
|
|
131
153
|
const { operations, map, ...files } = responseJson
|
|
132
154
|
const parsedOperations =
|
|
133
|
-
jsonParse<{
|
|
134
|
-
|
|
135
|
-
|
|
155
|
+
jsonParse<{
|
|
156
|
+
query?: string
|
|
157
|
+
variables?: GraphQLVariables
|
|
158
|
+
operationName?: string | null
|
|
159
|
+
}>(operations) || {}
|
|
136
160
|
|
|
137
161
|
if (!parsedOperations.query) {
|
|
138
162
|
return null
|
|
@@ -150,6 +174,7 @@ async function getGraphQLInput(request: Request): Promise<GraphQLInput | null> {
|
|
|
150
174
|
return {
|
|
151
175
|
query: parsedOperations.query,
|
|
152
176
|
variables,
|
|
177
|
+
operationName: parsedOperations.operationName,
|
|
153
178
|
}
|
|
154
179
|
}
|
|
155
180
|
|
|
@@ -157,15 +182,17 @@ async function getGraphQLInput(request: Request): Promise<GraphQLInput | null> {
|
|
|
157
182
|
const requestJson: {
|
|
158
183
|
query: string
|
|
159
184
|
variables?: GraphQLVariables
|
|
185
|
+
operationName?: string | null
|
|
160
186
|
operations?: any /** @todo Annotate this */
|
|
161
187
|
} = await requestClone.json().catch(() => null)
|
|
162
188
|
|
|
163
189
|
if (requestJson?.query) {
|
|
164
|
-
const { query, variables } = requestJson
|
|
190
|
+
const { query, variables, operationName } = requestJson
|
|
165
191
|
|
|
166
192
|
return {
|
|
167
193
|
query,
|
|
168
194
|
variables,
|
|
195
|
+
operationName,
|
|
169
196
|
}
|
|
170
197
|
}
|
|
171
198
|
return null
|
|
@@ -189,8 +216,8 @@ export async function parseGraphQLRequest(
|
|
|
189
216
|
return
|
|
190
217
|
}
|
|
191
218
|
|
|
192
|
-
const { query, variables } = input
|
|
193
|
-
const parsedResult = await parseQuery(query)
|
|
219
|
+
const { query, variables, operationName } = input
|
|
220
|
+
const parsedResult = await parseQuery(query, operationName)
|
|
194
221
|
|
|
195
222
|
if (parsedResult instanceof Error) {
|
|
196
223
|
const requestPublicUrl = toPublicUrl(request.url)
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// @vitest-environment jsdom
|
|
2
2
|
import { createRequestId } from '@mswjs/interceptors'
|
|
3
|
-
import type { HttpRequestResolverExtras } from './
|
|
4
|
-
import { HttpHandler } from './
|
|
5
|
-
import { HttpResponse } from '
|
|
6
|
-
import type { ResponseResolver } from '
|
|
3
|
+
import type { HttpRequestResolverExtras } from './http-handler'
|
|
4
|
+
import { HttpHandler } from './http-handler'
|
|
5
|
+
import { HttpResponse } from './index'
|
|
6
|
+
import type { ResponseResolver } from '#core/handlers/request-handler'
|
|
7
7
|
|
|
8
8
|
const resolver: ResponseResolver<
|
|
9
9
|
HttpRequestResolverExtras<{ userId: string }>
|
|
@@ -12,7 +12,7 @@ const resolver: ResponseResolver<
|
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
describe('info', () => {
|
|
15
|
-
|
|
15
|
+
test('exposes request handler information', () => {
|
|
16
16
|
const handler = new HttpHandler('GET', '/user/:userId', resolver)
|
|
17
17
|
|
|
18
18
|
expect(handler.info.header).toEqual('GET /user/:userId')
|
|
@@ -23,7 +23,7 @@ describe('info', () => {
|
|
|
23
23
|
})
|
|
24
24
|
|
|
25
25
|
describe('parse', () => {
|
|
26
|
-
|
|
26
|
+
test('parses a URL given a matching request', async () => {
|
|
27
27
|
const handler = new HttpHandler('GET', '/user/:userId', resolver)
|
|
28
28
|
const request = new Request(new URL('/user/abc-123', location.href))
|
|
29
29
|
|
|
@@ -38,7 +38,7 @@ describe('parse', () => {
|
|
|
38
38
|
})
|
|
39
39
|
})
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
test('parses a URL and ignores the request method', async () => {
|
|
42
42
|
const handler = new HttpHandler('GET', '/user/:userId', resolver)
|
|
43
43
|
const request = new Request(new URL('/user/def-456', location.href), {
|
|
44
44
|
method: 'POST',
|
|
@@ -55,7 +55,7 @@ describe('parse', () => {
|
|
|
55
55
|
})
|
|
56
56
|
})
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
test('returns negative match result given a non-matching request', async () => {
|
|
59
59
|
const handler = new HttpHandler('GET', '/user/:userId', resolver)
|
|
60
60
|
const request = new Request(new URL('/login', location.href))
|
|
61
61
|
|
|
@@ -70,7 +70,7 @@ describe('parse', () => {
|
|
|
70
70
|
})
|
|
71
71
|
|
|
72
72
|
describe('predicate', () => {
|
|
73
|
-
|
|
73
|
+
test('returns true given a matching request', async () => {
|
|
74
74
|
const handler = new HttpHandler('POST', '/login', resolver)
|
|
75
75
|
const request = new Request(new URL('/login', location.href), {
|
|
76
76
|
method: 'POST',
|
|
@@ -84,7 +84,7 @@ describe('predicate', () => {
|
|
|
84
84
|
).resolves.toBe(true)
|
|
85
85
|
})
|
|
86
86
|
|
|
87
|
-
|
|
87
|
+
test('supports RegExp as the request method', async () => {
|
|
88
88
|
const handler = new HttpHandler(/.+/, '/login', resolver)
|
|
89
89
|
const requests = [
|
|
90
90
|
new Request(new URL('/login', location.href)),
|
|
@@ -102,7 +102,7 @@ describe('predicate', () => {
|
|
|
102
102
|
}
|
|
103
103
|
})
|
|
104
104
|
|
|
105
|
-
|
|
105
|
+
test('returns false given a non-matching request', async () => {
|
|
106
106
|
const handler = new HttpHandler('POST', '/login', resolver)
|
|
107
107
|
const request = new Request(new URL('/user/abc-123', location.href))
|
|
108
108
|
|
|
@@ -114,7 +114,7 @@ describe('predicate', () => {
|
|
|
114
114
|
).resolves.toBe(false)
|
|
115
115
|
})
|
|
116
116
|
|
|
117
|
-
|
|
117
|
+
test('supports custom predicate function', async () => {
|
|
118
118
|
const handler = new HttpHandler(
|
|
119
119
|
'GET',
|
|
120
120
|
({ request }) => {
|
|
@@ -146,7 +146,7 @@ describe('predicate', () => {
|
|
|
146
146
|
})
|
|
147
147
|
|
|
148
148
|
describe('test', () => {
|
|
149
|
-
|
|
149
|
+
test('returns true given a matching request', async () => {
|
|
150
150
|
const handler = new HttpHandler('GET', '/user/:userId', resolver)
|
|
151
151
|
const firstTest = await handler.test({
|
|
152
152
|
request: new Request(new URL('/user/abc-123', location.href)),
|
|
@@ -159,7 +159,7 @@ describe('test', () => {
|
|
|
159
159
|
expect(secondTest).toBe(true)
|
|
160
160
|
})
|
|
161
161
|
|
|
162
|
-
|
|
162
|
+
test('returns false given a non-matching request', async () => {
|
|
163
163
|
const handler = new HttpHandler('GET', '/user/:userId', resolver)
|
|
164
164
|
const firstTest = await handler.test({
|
|
165
165
|
request: new Request(new URL('/login', location.href)),
|
|
@@ -178,7 +178,7 @@ describe('test', () => {
|
|
|
178
178
|
})
|
|
179
179
|
|
|
180
180
|
describe('run', () => {
|
|
181
|
-
|
|
181
|
+
test('returns a mocked response given a matching request', async () => {
|
|
182
182
|
const handler = new HttpHandler('GET', '/user/:userId', resolver)
|
|
183
183
|
const request = new Request(new URL('/user/abc-123', location.href))
|
|
184
184
|
const requestId = createRequestId()
|
|
@@ -203,7 +203,7 @@ describe('run', () => {
|
|
|
203
203
|
})
|
|
204
204
|
})
|
|
205
205
|
|
|
206
|
-
|
|
206
|
+
test('returns null given a non-matching request', async () => {
|
|
207
207
|
const handler = new HttpHandler('POST', '/login', resolver)
|
|
208
208
|
const result = await handler.run({
|
|
209
209
|
request: new Request(new URL('/users', location.href)),
|
|
@@ -213,7 +213,7 @@ describe('run', () => {
|
|
|
213
213
|
expect(result).toBeNull()
|
|
214
214
|
})
|
|
215
215
|
|
|
216
|
-
|
|
216
|
+
test('returns an empty "params" object given request with no URL parameters', async () => {
|
|
217
217
|
const handler = new HttpHandler('GET', '/users', resolver)
|
|
218
218
|
const result = await handler.run({
|
|
219
219
|
request: new Request(new URL('/users', location.href)),
|
|
@@ -223,7 +223,7 @@ describe('run', () => {
|
|
|
223
223
|
expect(result?.parsedResult?.match?.params).toEqual({})
|
|
224
224
|
})
|
|
225
225
|
|
|
226
|
-
|
|
226
|
+
test('exhausts resolver until its generator completes', async () => {
|
|
227
227
|
const handler = new HttpHandler('GET', '/users', function* () {
|
|
228
228
|
let count = 0
|
|
229
229
|
|
|
@@ -254,7 +254,7 @@ describe('run', () => {
|
|
|
254
254
|
})
|
|
255
255
|
|
|
256
256
|
describe('finalize', () => {
|
|
257
|
-
|
|
257
|
+
test('returns the exact response instance if the resolver never accesses finalize', async () => {
|
|
258
258
|
const response = new HttpResponse(
|
|
259
259
|
new ReadableStream({
|
|
260
260
|
start(controller) {
|
|
@@ -275,7 +275,7 @@ describe('finalize', () => {
|
|
|
275
275
|
expect(result?.response).toBe(response)
|
|
276
276
|
})
|
|
277
277
|
|
|
278
|
-
|
|
278
|
+
test('returns the exact response instance if finalize is accessed but never called', async () => {
|
|
279
279
|
const response = new HttpResponse(
|
|
280
280
|
new ReadableStream({
|
|
281
281
|
start(controller) {
|
|
@@ -296,7 +296,7 @@ describe('finalize', () => {
|
|
|
296
296
|
expect(result?.response).toBe(response)
|
|
297
297
|
})
|
|
298
298
|
|
|
299
|
-
|
|
299
|
+
test('defers the cleanup until the response stream settles', async () => {
|
|
300
300
|
const cleanup = vi.fn()
|
|
301
301
|
const response = new HttpResponse(
|
|
302
302
|
new ReadableStream({
|
|
@@ -326,7 +326,7 @@ describe('finalize', () => {
|
|
|
326
326
|
})
|
|
327
327
|
})
|
|
328
328
|
|
|
329
|
-
|
|
329
|
+
test('runs the cleanup immediately for responses without a body', async () => {
|
|
330
330
|
const cleanup = vi.fn()
|
|
331
331
|
const handler = new HttpHandler('GET', '/resource', ({ finalize }) => {
|
|
332
332
|
finalize(cleanup)
|