msw 2.0.12 → 2.0.14
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.d.mts +104 -0
- package/lib/browser/index.d.ts +1 -1
- package/lib/browser/index.js +1 -0
- package/lib/browser/index.js.map +1 -0
- package/lib/browser/index.mjs +1 -0
- package/lib/browser/index.mjs.map +1 -0
- package/lib/core/{GraphQLHandler-da09c680.d.ts → GraphQLHandler-JB4bsrLF.d.ts} +4 -2
- package/lib/core/GraphQLHandler-mT-MmgeB.d.mts +99 -0
- package/lib/core/HttpResponse.d.mts +2 -0
- package/lib/core/HttpResponse.d.ts +1 -1
- package/lib/core/HttpResponse.js +1 -0
- package/lib/core/HttpResponse.js.map +1 -0
- package/lib/core/HttpResponse.mjs +1 -0
- package/lib/core/HttpResponse.mjs.map +1 -0
- package/lib/core/RequestHandler-YiqamK0M.d.mts +179 -0
- package/lib/core/{RequestHandler-25f9cfd1.d.ts → RequestHandler-rmY-HeFN.d.ts} +4 -4
- package/lib/core/SetupApi.d.mts +26 -0
- package/lib/core/SetupApi.d.ts +1 -1
- package/lib/core/SetupApi.js +1 -0
- package/lib/core/SetupApi.js.map +1 -0
- package/lib/core/SetupApi.mjs +1 -0
- package/lib/core/SetupApi.mjs.map +1 -0
- package/lib/core/bypass.d.mts +16 -0
- package/lib/core/bypass.d.ts +1 -1
- package/lib/core/bypass.js +1 -0
- package/lib/core/bypass.js.map +1 -0
- package/lib/core/bypass.mjs +1 -0
- package/lib/core/bypass.mjs.map +1 -0
- package/lib/core/delay.d.mts +18 -0
- package/lib/core/delay.d.ts +1 -1
- package/lib/core/delay.js +1 -0
- package/lib/core/delay.js.map +1 -0
- package/lib/core/delay.mjs +1 -0
- package/lib/core/delay.mjs.map +1 -0
- package/lib/core/graphql.d.mts +111 -0
- package/lib/core/graphql.d.ts +11 -9
- package/lib/core/graphql.js +1 -0
- package/lib/core/graphql.js.map +1 -0
- package/lib/core/graphql.mjs +1 -0
- package/lib/core/graphql.mjs.map +1 -0
- package/lib/core/handlers/GraphQLHandler.d.mts +5 -0
- package/lib/core/handlers/GraphQLHandler.d.ts +2 -2
- package/lib/core/handlers/GraphQLHandler.js +8 -6
- package/lib/core/handlers/GraphQLHandler.js.map +1 -0
- package/lib/core/handlers/GraphQLHandler.mjs +8 -6
- package/lib/core/handlers/GraphQLHandler.mjs.map +1 -0
- package/lib/core/handlers/HttpHandler.d.mts +62 -0
- package/lib/core/handlers/HttpHandler.d.ts +2 -2
- package/lib/core/handlers/HttpHandler.js +1 -0
- package/lib/core/handlers/HttpHandler.js.map +1 -0
- package/lib/core/handlers/HttpHandler.mjs +1 -0
- package/lib/core/handlers/HttpHandler.mjs.map +1 -0
- package/lib/core/handlers/RequestHandler.d.mts +2 -0
- package/lib/core/handlers/RequestHandler.d.ts +1 -1
- package/lib/core/handlers/RequestHandler.js +3 -2
- package/lib/core/handlers/RequestHandler.js.map +1 -0
- package/lib/core/handlers/RequestHandler.mjs +3 -2
- package/lib/core/handlers/RequestHandler.mjs.map +1 -0
- package/lib/core/http.d.mts +28 -0
- package/lib/core/http.d.ts +13 -11
- package/lib/core/http.js +1 -0
- package/lib/core/http.js.map +1 -0
- package/lib/core/http.mjs +1 -0
- package/lib/core/http.mjs.map +1 -0
- package/lib/core/index.d.mts +18 -0
- package/lib/core/index.d.ts +4 -4
- package/lib/core/index.js +1 -0
- package/lib/core/index.js.map +1 -0
- package/lib/core/index.mjs +1 -0
- package/lib/core/index.mjs.map +1 -0
- package/lib/core/passthrough.d.mts +17 -0
- package/lib/core/passthrough.js +1 -0
- package/lib/core/passthrough.js.map +1 -0
- package/lib/core/passthrough.mjs +1 -0
- package/lib/core/passthrough.mjs.map +1 -0
- package/lib/core/sharedOptions.d.mts +66 -0
- package/lib/core/sharedOptions.d.ts +2 -2
- package/lib/core/sharedOptions.js +1 -0
- package/lib/core/sharedOptions.js.map +1 -0
- package/lib/core/sharedOptions.mjs +1 -0
- package/lib/core/sharedOptions.mjs.map +1 -0
- package/lib/core/typeUtils.d.mts +7 -0
- package/lib/core/typeUtils.d.ts +1 -1
- package/lib/core/typeUtils.js +1 -0
- package/lib/core/typeUtils.js.map +1 -0
- package/lib/core/typeUtils.mjs +1 -0
- package/lib/core/typeUtils.mjs.map +1 -0
- package/lib/core/utils/HttpResponse/decorators.d.mts +12 -0
- package/lib/core/utils/HttpResponse/decorators.d.ts +2 -2
- package/lib/core/utils/HttpResponse/decorators.js +1 -0
- package/lib/core/utils/HttpResponse/decorators.js.map +1 -0
- package/lib/core/utils/HttpResponse/decorators.mjs +1 -0
- package/lib/core/utils/HttpResponse/decorators.mjs.map +1 -0
- package/lib/core/utils/getResponse.d.mts +2 -0
- package/lib/core/utils/getResponse.d.ts +1 -1
- package/lib/core/utils/getResponse.js +1 -0
- package/lib/core/utils/getResponse.js.map +1 -0
- package/lib/core/utils/getResponse.mjs +1 -0
- package/lib/core/utils/getResponse.mjs.map +1 -0
- package/lib/core/utils/handleRequest.d.mts +37 -0
- package/lib/core/utils/handleRequest.d.ts +2 -2
- package/lib/core/utils/handleRequest.js +1 -0
- package/lib/core/utils/handleRequest.js.map +1 -0
- package/lib/core/utils/handleRequest.mjs +1 -0
- package/lib/core/utils/handleRequest.mjs.map +1 -0
- package/lib/core/utils/internal/Disposable.d.mts +7 -0
- package/lib/core/utils/internal/Disposable.d.ts +1 -1
- package/lib/core/utils/internal/Disposable.js +1 -0
- package/lib/core/utils/internal/Disposable.js.map +1 -0
- package/lib/core/utils/internal/Disposable.mjs +1 -0
- package/lib/core/utils/internal/Disposable.mjs.map +1 -0
- package/lib/core/utils/internal/checkGlobals.d.mts +3 -0
- package/lib/core/utils/internal/checkGlobals.js +1 -0
- package/lib/core/utils/internal/checkGlobals.js.map +1 -0
- package/lib/core/utils/internal/checkGlobals.mjs +1 -0
- package/lib/core/utils/internal/checkGlobals.mjs.map +1 -0
- package/lib/core/utils/internal/devUtils.d.mts +19 -0
- package/lib/core/utils/internal/devUtils.js +1 -0
- package/lib/core/utils/internal/devUtils.js.map +1 -0
- package/lib/core/utils/internal/devUtils.mjs +1 -0
- package/lib/core/utils/internal/devUtils.mjs.map +1 -0
- package/lib/core/utils/internal/getCallFrame.d.mts +6 -0
- package/lib/core/utils/internal/getCallFrame.js +1 -0
- package/lib/core/utils/internal/getCallFrame.js.map +1 -0
- package/lib/core/utils/internal/getCallFrame.mjs +1 -0
- package/lib/core/utils/internal/getCallFrame.mjs.map +1 -0
- package/lib/core/utils/internal/isIterable.d.mts +6 -0
- package/lib/core/utils/internal/isIterable.js +1 -0
- package/lib/core/utils/internal/isIterable.js.map +1 -0
- package/lib/core/utils/internal/isIterable.mjs +1 -0
- package/lib/core/utils/internal/isIterable.mjs.map +1 -0
- package/lib/core/utils/internal/isObject.d.mts +6 -0
- package/lib/core/utils/internal/isObject.js +1 -0
- package/lib/core/utils/internal/isObject.js.map +1 -0
- package/lib/core/utils/internal/isObject.mjs +1 -0
- package/lib/core/utils/internal/isObject.mjs.map +1 -0
- package/lib/core/utils/internal/isStringEqual.d.mts +6 -0
- package/lib/core/utils/internal/isStringEqual.js +1 -0
- package/lib/core/utils/internal/isStringEqual.js.map +1 -0
- package/lib/core/utils/internal/isStringEqual.mjs +1 -0
- package/lib/core/utils/internal/isStringEqual.mjs.map +1 -0
- package/lib/core/utils/internal/jsonParse.d.mts +7 -0
- package/lib/core/utils/internal/jsonParse.js +1 -0
- package/lib/core/utils/internal/jsonParse.js.map +1 -0
- package/lib/core/utils/internal/jsonParse.mjs +1 -0
- package/lib/core/utils/internal/jsonParse.mjs.map +1 -0
- package/lib/core/utils/internal/mergeRight.d.mts +7 -0
- package/lib/core/utils/internal/mergeRight.js +1 -0
- package/lib/core/utils/internal/mergeRight.js.map +1 -0
- package/lib/core/utils/internal/mergeRight.mjs +1 -0
- package/lib/core/utils/internal/mergeRight.mjs.map +1 -0
- package/lib/core/utils/internal/parseGraphQLRequest.d.mts +5 -0
- package/lib/core/utils/internal/parseGraphQLRequest.d.ts +2 -2
- package/lib/core/utils/internal/parseGraphQLRequest.js +1 -0
- package/lib/core/utils/internal/parseGraphQLRequest.js.map +1 -0
- package/lib/core/utils/internal/parseGraphQLRequest.mjs +1 -0
- package/lib/core/utils/internal/parseGraphQLRequest.mjs.map +1 -0
- package/lib/core/utils/internal/parseMultipartData.d.mts +10 -0
- package/lib/core/utils/internal/parseMultipartData.d.ts +1 -1
- package/lib/core/utils/internal/parseMultipartData.js +1 -0
- package/lib/core/utils/internal/parseMultipartData.js.map +1 -0
- package/lib/core/utils/internal/parseMultipartData.mjs +1 -0
- package/lib/core/utils/internal/parseMultipartData.mjs.map +1 -0
- package/lib/core/utils/internal/pipeEvents.d.mts +8 -0
- package/lib/core/utils/internal/pipeEvents.js +1 -0
- package/lib/core/utils/internal/pipeEvents.js.map +1 -0
- package/lib/core/utils/internal/pipeEvents.mjs +1 -0
- package/lib/core/utils/internal/pipeEvents.mjs.map +1 -0
- package/lib/core/utils/internal/requestHandlerUtils.d.mts +8 -0
- package/lib/core/utils/internal/requestHandlerUtils.d.ts +1 -1
- package/lib/core/utils/internal/requestHandlerUtils.js +1 -0
- package/lib/core/utils/internal/requestHandlerUtils.js.map +1 -0
- package/lib/core/utils/internal/requestHandlerUtils.mjs +1 -0
- package/lib/core/utils/internal/requestHandlerUtils.mjs.map +1 -0
- package/lib/core/utils/internal/toReadonlyArray.d.mts +6 -0
- package/lib/core/utils/internal/toReadonlyArray.js +1 -0
- package/lib/core/utils/internal/toReadonlyArray.js.map +1 -0
- package/lib/core/utils/internal/toReadonlyArray.mjs +1 -0
- package/lib/core/utils/internal/toReadonlyArray.mjs.map +1 -0
- package/lib/core/utils/internal/tryCatch.d.mts +3 -0
- package/lib/core/utils/internal/tryCatch.js +1 -0
- package/lib/core/utils/internal/tryCatch.js.map +1 -0
- package/lib/core/utils/internal/tryCatch.mjs +1 -0
- package/lib/core/utils/internal/tryCatch.mjs.map +1 -0
- package/lib/core/utils/internal/uuidv4.d.mts +3 -0
- package/lib/core/utils/internal/uuidv4.js +1 -0
- package/lib/core/utils/internal/uuidv4.js.map +1 -0
- package/lib/core/utils/internal/uuidv4.mjs +1 -0
- package/lib/core/utils/internal/uuidv4.mjs.map +1 -0
- package/lib/core/utils/logging/getStatusCodeColor.d.mts +11 -0
- package/lib/core/utils/logging/getStatusCodeColor.js +1 -0
- package/lib/core/utils/logging/getStatusCodeColor.js.map +1 -0
- package/lib/core/utils/logging/getStatusCodeColor.mjs +1 -0
- package/lib/core/utils/logging/getStatusCodeColor.mjs.map +1 -0
- package/lib/core/utils/logging/getTimestamp.d.mts +6 -0
- package/lib/core/utils/logging/getTimestamp.js +1 -0
- package/lib/core/utils/logging/getTimestamp.js.map +1 -0
- package/lib/core/utils/logging/getTimestamp.mjs +1 -0
- package/lib/core/utils/logging/getTimestamp.mjs.map +1 -0
- package/lib/core/utils/logging/serializeRequest.d.mts +12 -0
- package/lib/core/utils/logging/serializeRequest.d.ts +1 -1
- package/lib/core/utils/logging/serializeRequest.js +1 -0
- package/lib/core/utils/logging/serializeRequest.js.map +1 -0
- package/lib/core/utils/logging/serializeRequest.mjs +1 -0
- package/lib/core/utils/logging/serializeRequest.mjs.map +1 -0
- package/lib/core/utils/logging/serializeResponse.d.mts +9 -0
- package/lib/core/utils/logging/serializeResponse.d.ts +1 -1
- package/lib/core/utils/logging/serializeResponse.js +1 -0
- package/lib/core/utils/logging/serializeResponse.js.map +1 -0
- package/lib/core/utils/logging/serializeResponse.mjs +1 -0
- package/lib/core/utils/logging/serializeResponse.mjs.map +1 -0
- package/lib/core/utils/matching/matchRequestUrl.d.mts +19 -0
- package/lib/core/utils/matching/matchRequestUrl.d.ts +1 -1
- package/lib/core/utils/matching/matchRequestUrl.js +1 -0
- package/lib/core/utils/matching/matchRequestUrl.js.map +1 -0
- package/lib/core/utils/matching/matchRequestUrl.mjs +1 -0
- package/lib/core/utils/matching/matchRequestUrl.mjs.map +1 -0
- package/lib/core/utils/matching/normalizePath.d.mts +12 -0
- package/lib/core/utils/matching/normalizePath.js +1 -0
- package/lib/core/utils/matching/normalizePath.js.map +1 -0
- package/lib/core/utils/matching/normalizePath.mjs +1 -0
- package/lib/core/utils/matching/normalizePath.mjs.map +1 -0
- package/lib/core/utils/request/getPublicUrlFromRequest.d.mts +7 -0
- package/lib/core/utils/request/getPublicUrlFromRequest.js +1 -0
- package/lib/core/utils/request/getPublicUrlFromRequest.js.map +1 -0
- package/lib/core/utils/request/getPublicUrlFromRequest.mjs +1 -0
- package/lib/core/utils/request/getPublicUrlFromRequest.mjs.map +1 -0
- package/lib/core/utils/request/getRequestCookies.d.mts +8 -0
- package/lib/core/utils/request/getRequestCookies.js +1 -0
- package/lib/core/utils/request/getRequestCookies.js.map +1 -0
- package/lib/core/utils/request/getRequestCookies.mjs +1 -0
- package/lib/core/utils/request/getRequestCookies.mjs.map +1 -0
- package/lib/core/utils/request/onUnhandledRequest.d.mts +12 -0
- package/lib/core/utils/request/onUnhandledRequest.d.ts +2 -2
- package/lib/core/utils/request/onUnhandledRequest.js +1 -0
- package/lib/core/utils/request/onUnhandledRequest.js.map +1 -0
- package/lib/core/utils/request/onUnhandledRequest.mjs +1 -0
- package/lib/core/utils/request/onUnhandledRequest.mjs.map +1 -0
- package/lib/core/utils/request/readResponseCookies.d.mts +3 -0
- package/lib/core/utils/request/readResponseCookies.js +1 -0
- package/lib/core/utils/request/readResponseCookies.js.map +1 -0
- package/lib/core/utils/request/readResponseCookies.mjs +1 -0
- package/lib/core/utils/request/readResponseCookies.mjs.map +1 -0
- package/lib/core/utils/toResponseInit.d.mts +3 -0
- package/lib/core/utils/toResponseInit.js +1 -0
- package/lib/core/utils/toResponseInit.js.map +1 -0
- package/lib/core/utils/toResponseInit.mjs +1 -0
- package/lib/core/utils/toResponseInit.mjs.map +1 -0
- package/lib/core/utils/url/cleanUrl.d.mts +7 -0
- package/lib/core/utils/url/cleanUrl.js +1 -0
- package/lib/core/utils/url/cleanUrl.js.map +1 -0
- package/lib/core/utils/url/cleanUrl.mjs +1 -0
- package/lib/core/utils/url/cleanUrl.mjs.map +1 -0
- package/lib/core/utils/url/getAbsoluteUrl.d.mts +6 -0
- package/lib/core/utils/url/getAbsoluteUrl.js +1 -0
- package/lib/core/utils/url/getAbsoluteUrl.js.map +1 -0
- package/lib/core/utils/url/getAbsoluteUrl.mjs +1 -0
- package/lib/core/utils/url/getAbsoluteUrl.mjs.map +1 -0
- package/lib/core/utils/url/isAbsoluteUrl.d.mts +6 -0
- package/lib/core/utils/url/isAbsoluteUrl.js +1 -0
- package/lib/core/utils/url/isAbsoluteUrl.js.map +1 -0
- package/lib/core/utils/url/isAbsoluteUrl.mjs +1 -0
- package/lib/core/utils/url/isAbsoluteUrl.mjs.map +1 -0
- package/lib/iife/index.js +25 -23
- package/lib/iife/index.js.map +1 -0
- package/lib/mockServiceWorker.js +1 -1
- package/lib/native/index.d.mts +75 -0
- package/lib/native/index.js +1 -0
- package/lib/native/index.js.map +1 -0
- package/lib/native/index.mjs +1 -0
- package/lib/native/index.mjs.map +1 -0
- package/lib/node/index.d.mts +75 -0
- package/lib/node/index.d.ts +1 -1
- package/lib/node/index.js +1 -0
- package/lib/node/index.js.map +1 -0
- package/lib/node/index.mjs +1 -0
- package/lib/node/index.mjs.map +1 -0
- package/package.json +5 -4
- package/src/browser/global.browser.d.ts +1 -0
- package/src/browser/index.ts +3 -0
- package/src/browser/setupWorker/glossary.ts +259 -0
- package/src/browser/setupWorker/setupWorker.node.test.ts +10 -0
- package/src/browser/setupWorker/setupWorker.ts +199 -0
- package/src/browser/setupWorker/start/createFallbackRequestListener.ts +67 -0
- package/src/browser/setupWorker/start/createFallbackStart.ts +21 -0
- package/src/browser/setupWorker/start/createRequestListener.ts +127 -0
- package/src/browser/setupWorker/start/createResponseListener.ts +58 -0
- package/src/browser/setupWorker/start/createStartHandler.ts +143 -0
- package/src/browser/setupWorker/start/utils/createMessageChannel.ts +32 -0
- package/src/browser/setupWorker/start/utils/enableMocking.ts +32 -0
- package/src/browser/setupWorker/start/utils/getWorkerByRegistration.ts +25 -0
- package/src/browser/setupWorker/start/utils/getWorkerInstance.ts +94 -0
- package/src/browser/setupWorker/start/utils/prepareStartHandler.test.ts +59 -0
- package/src/browser/setupWorker/start/utils/prepareStartHandler.ts +44 -0
- package/src/browser/setupWorker/start/utils/printStartMessage.test.ts +84 -0
- package/src/browser/setupWorker/start/utils/printStartMessage.ts +40 -0
- package/src/browser/setupWorker/start/utils/validateWorkerScope.ts +18 -0
- package/src/browser/setupWorker/stop/createFallbackStop.ts +11 -0
- package/src/browser/setupWorker/stop/createStop.ts +29 -0
- package/src/browser/setupWorker/stop/utils/printStopMessage.test.ts +26 -0
- package/src/browser/setupWorker/stop/utils/printStopMessage.ts +12 -0
- package/src/browser/tsconfig.browser.build.json +6 -0
- package/src/browser/tsconfig.browser.json +9 -0
- package/src/browser/utils/deferNetworkRequestsUntil.test.ts +48 -0
- package/src/browser/utils/deferNetworkRequestsUntil.ts +29 -0
- package/src/browser/utils/getAbsoluteWorkerUrl.test.ts +31 -0
- package/src/browser/utils/getAbsoluteWorkerUrl.ts +7 -0
- package/src/browser/utils/parseWorkerRequest.ts +15 -0
- package/src/browser/utils/pruneGetRequestBody.test.ts +53 -0
- package/src/browser/utils/pruneGetRequestBody.ts +21 -0
- package/src/browser/utils/requestIntegrityCheck.ts +23 -0
- package/src/browser/utils/supportsReadableStreamTransfer.ts +17 -0
- package/src/core/HttpResponse.test.ts +200 -0
- package/src/core/HttpResponse.ts +134 -0
- package/src/core/SetupApi.ts +95 -0
- package/src/core/bypass.test.ts +47 -0
- package/src/core/bypass.ts +36 -0
- package/src/core/delay.ts +70 -0
- package/src/core/graphql.test.ts +11 -0
- package/src/core/graphql.ts +146 -0
- package/src/core/handlers/GraphQLHandler.test.ts +835 -0
- package/src/core/handlers/GraphQLHandler.ts +266 -0
- package/src/core/handlers/HttpHandler.test.ts +218 -0
- package/src/core/handlers/HttpHandler.ts +169 -0
- package/src/core/handlers/RequestHandler.ts +343 -0
- package/src/core/http.test.ts +15 -0
- package/src/core/http.ts +64 -0
- package/src/core/index.ts +59 -0
- package/src/core/passthrough.test.ts +13 -0
- package/src/core/passthrough.ts +23 -0
- package/src/core/sharedOptions.ts +66 -0
- package/src/core/typeUtils.ts +20 -0
- package/src/core/utils/HttpResponse/decorators.ts +56 -0
- package/src/core/utils/getResponse.ts +55 -0
- package/src/core/utils/handleRequest.test.ts +554 -0
- package/src/core/utils/handleRequest.ts +132 -0
- package/src/core/utils/internal/Disposable.ts +9 -0
- package/src/core/utils/internal/checkGlobals.ts +17 -0
- package/src/core/utils/internal/devUtils.ts +31 -0
- package/src/core/utils/internal/getCallFrame.test.ts +154 -0
- package/src/core/utils/internal/getCallFrame.ts +35 -0
- package/src/core/utils/internal/isIterable.test.ts +23 -0
- package/src/core/utils/internal/isIterable.ts +12 -0
- package/src/core/utils/internal/isObject.test.ts +20 -0
- package/src/core/utils/internal/isObject.ts +6 -0
- package/src/core/utils/internal/isStringEqual.test.ts +45 -0
- package/src/core/utils/internal/isStringEqual.ts +6 -0
- package/src/core/utils/internal/jsonParse.test.ts +13 -0
- package/src/core/utils/internal/jsonParse.ts +13 -0
- package/src/core/utils/internal/mergeRight.test.ts +43 -0
- package/src/core/utils/internal/mergeRight.ts +27 -0
- package/src/core/utils/internal/parseGraphQLRequest.test.ts +99 -0
- package/src/core/utils/internal/parseGraphQLRequest.ts +205 -0
- package/src/core/utils/internal/parseMultipartData.test.ts +76 -0
- package/src/core/utils/internal/parseMultipartData.ts +104 -0
- package/src/core/utils/internal/pipeEvents.test.ts +14 -0
- package/src/core/utils/internal/pipeEvents.ts +25 -0
- package/src/core/utils/internal/requestHandlerUtils.ts +21 -0
- package/src/core/utils/internal/toReadonlyArray.test.ts +30 -0
- package/src/core/utils/internal/toReadonlyArray.ts +8 -0
- package/src/core/utils/internal/tryCatch.test.ts +29 -0
- package/src/core/utils/internal/tryCatch.ts +11 -0
- package/src/core/utils/internal/uuidv4.ts +3 -0
- package/src/core/utils/logging/getStatusCodeColor.test.ts +22 -0
- package/src/core/utils/logging/getStatusCodeColor.ts +20 -0
- package/src/core/utils/logging/getTimestamp.test.ts +18 -0
- package/src/core/utils/logging/getTimestamp.ts +12 -0
- package/src/core/utils/logging/serializeRequest.test.ts +23 -0
- package/src/core/utils/logging/serializeRequest.ts +23 -0
- package/src/core/utils/logging/serializeResponse.test.ts +77 -0
- package/src/core/utils/logging/serializeResponse.ts +31 -0
- package/src/core/utils/matching/matchRequestUrl.test.ts +114 -0
- package/src/core/utils/matching/matchRequestUrl.ts +73 -0
- package/src/core/utils/matching/normalizePath.node.test.ts +44 -0
- package/src/core/utils/matching/normalizePath.test.ts +50 -0
- package/src/core/utils/matching/normalizePath.ts +21 -0
- package/src/core/utils/request/getPublicUrlFromRequest.test.ts +26 -0
- package/src/core/utils/request/getPublicUrlFromRequest.ts +15 -0
- package/src/core/utils/request/getRequestCookies.node.test.ts +29 -0
- package/src/core/utils/request/getRequestCookies.test.ts +64 -0
- package/src/core/utils/request/getRequestCookies.ts +75 -0
- package/src/core/utils/request/onUnhandledRequest.test.ts +215 -0
- package/src/core/utils/request/onUnhandledRequest.ts +247 -0
- package/src/core/utils/request/readResponseCookies.ts +9 -0
- package/src/core/utils/toResponseInit.ts +7 -0
- package/src/core/utils/url/cleanUrl.test.ts +17 -0
- package/src/core/utils/url/cleanUrl.ts +12 -0
- package/src/core/utils/url/getAbsoluteUrl.node.test.ts +19 -0
- package/src/core/utils/url/getAbsoluteUrl.test.ts +29 -0
- package/src/core/utils/url/getAbsoluteUrl.ts +26 -0
- package/src/core/utils/url/isAbsoluteUrl.test.ts +32 -0
- package/src/core/utils/url/isAbsoluteUrl.ts +6 -0
- package/src/iife/index.ts +2 -0
- package/src/mockServiceWorker.js +287 -0
- package/src/native/index.ts +17 -0
- package/src/node/SetupServerApi.ts +113 -0
- package/src/node/glossary.ts +62 -0
- package/src/node/index.ts +3 -0
- package/src/node/setupServer.ts +21 -0
- package/src/node/utils/isNodeExceptionLike.ts +14 -0
- package/src/tsconfig.core.build.json +6 -0
- package/src/tsconfig.node.build.json +6 -0
- package/src/tsconfig.node.json +8 -0
- package/src/tsconfig.src.json +15 -0
package/lib/core/passthrough.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/core/passthrough.ts"],"sourcesContent":["/**\n * Performs the intercepted request as-is.\n *\n * This stops request handler lookup so no other handlers\n * can affect this request past this point.\n * Unlike `bypass()`, this will not trigger an additional request.\n *\n * @example\n * http.get('/resource', () => {\n * return passthrough()\n * })\n *\n * @see {@link https://mswjs.io/docs/api/passthrough `passthrough()` API reference}\n */\nexport function passthrough(): Response {\n return new Response(null, {\n status: 302,\n statusText: 'Passthrough',\n headers: {\n 'x-msw-intention': 'passthrough',\n },\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAcO,SAAS,cAAwB;AACtC,SAAO,IAAI,SAAS,MAAM;AAAA,IACxB,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,SAAS;AAAA,MACP,mBAAmB;AAAA,IACrB;AAAA,EACF,CAAC;AACH;","names":[]}
|
package/lib/core/passthrough.mjs
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/core/passthrough.ts"],"sourcesContent":["/**\n * Performs the intercepted request as-is.\n *\n * This stops request handler lookup so no other handlers\n * can affect this request past this point.\n * Unlike `bypass()`, this will not trigger an additional request.\n *\n * @example\n * http.get('/resource', () => {\n * return passthrough()\n * })\n *\n * @see {@link https://mswjs.io/docs/api/passthrough `passthrough()` API reference}\n */\nexport function passthrough(): Response {\n return new Response(null, {\n status: 302,\n statusText: 'Passthrough',\n headers: {\n 'x-msw-intention': 'passthrough',\n },\n })\n}\n"],"mappings":"AAcO,SAAS,cAAwB;AACtC,SAAO,IAAI,SAAS,MAAM;AAAA,IACxB,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,SAAS;AAAA,MACP,mBAAmB;AAAA,IACrB;AAAA,EACF,CAAC;AACH;","names":[]}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Emitter } from 'strict-event-emitter';
|
|
2
|
+
import { UnhandledRequestStrategy } from './utils/request/onUnhandledRequest.mjs';
|
|
3
|
+
import './RequestHandler-YiqamK0M.mjs';
|
|
4
|
+
import './typeUtils.mjs';
|
|
5
|
+
|
|
6
|
+
interface SharedOptions {
|
|
7
|
+
/**
|
|
8
|
+
* Specifies how to react to a request that has no corresponding
|
|
9
|
+
* request handler. Warns on unhandled requests by default.
|
|
10
|
+
*
|
|
11
|
+
* @example worker.start({ onUnhandledRequest: 'bypass' })
|
|
12
|
+
* @example worker.start({ onUnhandledRequest: 'warn' })
|
|
13
|
+
* @example server.listen({ onUnhandledRequest: 'error' })
|
|
14
|
+
*/
|
|
15
|
+
onUnhandledRequest?: UnhandledRequestStrategy;
|
|
16
|
+
}
|
|
17
|
+
type LifeCycleEventsMap = {
|
|
18
|
+
'request:start': [
|
|
19
|
+
args: {
|
|
20
|
+
request: Request;
|
|
21
|
+
requestId: string;
|
|
22
|
+
}
|
|
23
|
+
];
|
|
24
|
+
'request:match': [
|
|
25
|
+
args: {
|
|
26
|
+
request: Request;
|
|
27
|
+
requestId: string;
|
|
28
|
+
}
|
|
29
|
+
];
|
|
30
|
+
'request:unhandled': [
|
|
31
|
+
args: {
|
|
32
|
+
request: Request;
|
|
33
|
+
requestId: string;
|
|
34
|
+
}
|
|
35
|
+
];
|
|
36
|
+
'request:end': [
|
|
37
|
+
args: {
|
|
38
|
+
request: Request;
|
|
39
|
+
requestId: string;
|
|
40
|
+
}
|
|
41
|
+
];
|
|
42
|
+
'response:mocked': [
|
|
43
|
+
args: {
|
|
44
|
+
response: Response;
|
|
45
|
+
request: Request;
|
|
46
|
+
requestId: string;
|
|
47
|
+
}
|
|
48
|
+
];
|
|
49
|
+
'response:bypass': [
|
|
50
|
+
args: {
|
|
51
|
+
response: Response;
|
|
52
|
+
request: Request;
|
|
53
|
+
requestId: string;
|
|
54
|
+
}
|
|
55
|
+
];
|
|
56
|
+
unhandledException: [
|
|
57
|
+
args: {
|
|
58
|
+
error: Error;
|
|
59
|
+
request: Request;
|
|
60
|
+
requestId: string;
|
|
61
|
+
}
|
|
62
|
+
];
|
|
63
|
+
};
|
|
64
|
+
type LifeCycleEventEmitter<EventsMap extends Record<string | symbol, any>> = Pick<Emitter<EventsMap>, 'on' | 'removeListener' | 'removeAllListeners'>;
|
|
65
|
+
|
|
66
|
+
export type { LifeCycleEventEmitter, LifeCycleEventsMap, SharedOptions };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Emitter } from 'strict-event-emitter';
|
|
2
2
|
import { UnhandledRequestStrategy } from './utils/request/onUnhandledRequest.js';
|
|
3
|
-
import './RequestHandler-
|
|
3
|
+
import './RequestHandler-rmY-HeFN.js';
|
|
4
4
|
import './typeUtils.js';
|
|
5
5
|
|
|
6
6
|
interface SharedOptions {
|
|
@@ -63,4 +63,4 @@ type LifeCycleEventsMap = {
|
|
|
63
63
|
};
|
|
64
64
|
type LifeCycleEventEmitter<EventsMap extends Record<string | symbol, any>> = Pick<Emitter<EventsMap>, 'on' | 'removeListener' | 'removeAllListeners'>;
|
|
65
65
|
|
|
66
|
-
export { LifeCycleEventEmitter, LifeCycleEventsMap, SharedOptions };
|
|
66
|
+
export type { LifeCycleEventEmitter, LifeCycleEventsMap, SharedOptions };
|
|
@@ -14,3 +14,4 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
14
14
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
15
|
var sharedOptions_exports = {};
|
|
16
16
|
module.exports = __toCommonJS(sharedOptions_exports);
|
|
17
|
+
//# sourceMappingURL=sharedOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/core/sharedOptions.ts"],"sourcesContent":["import type { Emitter } from 'strict-event-emitter'\nimport type { UnhandledRequestStrategy } from './utils/request/onUnhandledRequest'\n\nexport interface SharedOptions {\n /**\n * Specifies how to react to a request that has no corresponding\n * request handler. Warns on unhandled requests by default.\n *\n * @example worker.start({ onUnhandledRequest: 'bypass' })\n * @example worker.start({ onUnhandledRequest: 'warn' })\n * @example server.listen({ onUnhandledRequest: 'error' })\n */\n onUnhandledRequest?: UnhandledRequestStrategy\n}\n\nexport type LifeCycleEventsMap = {\n 'request:start': [\n args: {\n request: Request\n requestId: string\n },\n ]\n 'request:match': [\n args: {\n request: Request\n requestId: string\n },\n ]\n 'request:unhandled': [\n args: {\n request: Request\n requestId: string\n },\n ]\n 'request:end': [\n args: {\n request: Request\n requestId: string\n },\n ]\n 'response:mocked': [\n args: {\n response: Response\n request: Request\n requestId: string\n },\n ]\n 'response:bypass': [\n args: {\n response: Response\n request: Request\n requestId: string\n },\n ]\n unhandledException: [\n args: {\n error: Error\n request: Request\n requestId: string\n },\n ]\n}\n\nexport type LifeCycleEventEmitter<\n EventsMap extends Record<string | symbol, any>,\n> = Pick<Emitter<EventsMap>, 'on' | 'removeListener' | 'removeAllListeners'>\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=sharedOptions.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
type Fn = (...arg: any[]) => any;
|
|
2
|
+
type MaybePromise<T> = T | Promise<T>;
|
|
3
|
+
type RequiredDeep<Type, U extends Record<string, unknown> | Fn | undefined = undefined> = Type extends Fn ? Type : Type extends Record<string, any> ? {
|
|
4
|
+
[Key in keyof Type]-?: NonNullable<Type[Key]> extends NonNullable<U> ? NonNullable<Type[Key]> : RequiredDeep<NonNullable<Type[Key]>, U>;
|
|
5
|
+
} : Type;
|
|
6
|
+
|
|
7
|
+
export type { MaybePromise, RequiredDeep };
|
package/lib/core/typeUtils.d.ts
CHANGED
|
@@ -4,4 +4,4 @@ type RequiredDeep<Type, U extends Record<string, unknown> | Fn | undefined = und
|
|
|
4
4
|
[Key in keyof Type]-?: NonNullable<Type[Key]> extends NonNullable<U> ? NonNullable<Type[Key]> : RequiredDeep<NonNullable<Type[Key]>, U>;
|
|
5
5
|
} : Type;
|
|
6
6
|
|
|
7
|
-
export { MaybePromise, RequiredDeep };
|
|
7
|
+
export type { MaybePromise, RequiredDeep };
|
package/lib/core/typeUtils.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/core/typeUtils.ts"],"sourcesContent":["type Fn = (...arg: any[]) => any\n\nexport type MaybePromise<T> = T | Promise<T>\n\nexport type RequiredDeep<\n Type,\n U extends Record<string, unknown> | Fn | undefined = undefined,\n> = Type extends Fn\n ? Type\n : /**\n * @note The \"Fn\" type satisfies the predicate below.\n * It must always come first, before the Record check.\n */\n Type extends Record<string, any>\n ? {\n [Key in keyof Type]-?: NonNullable<Type[Key]> extends NonNullable<U>\n ? NonNullable<Type[Key]>\n : RequiredDeep<NonNullable<Type[Key]>, U>\n }\n : Type\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
package/lib/core/typeUtils.mjs
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=typeUtils.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { H as HttpResponseInit } from '../../RequestHandler-YiqamK0M.mjs';
|
|
2
|
+
import '../../typeUtils.mjs';
|
|
3
|
+
|
|
4
|
+
interface HttpResponseDecoratedInit extends HttpResponseInit {
|
|
5
|
+
status: number;
|
|
6
|
+
statusText: string;
|
|
7
|
+
headers: Headers;
|
|
8
|
+
}
|
|
9
|
+
declare function normalizeResponseInit(init?: HttpResponseInit): HttpResponseDecoratedInit;
|
|
10
|
+
declare function decorateResponse(response: Response, init: HttpResponseDecoratedInit): Response;
|
|
11
|
+
|
|
12
|
+
export { type HttpResponseDecoratedInit, decorateResponse, normalizeResponseInit };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { H as HttpResponseInit } from '../../RequestHandler-
|
|
1
|
+
import { H as HttpResponseInit } from '../../RequestHandler-rmY-HeFN.js';
|
|
2
2
|
import '../../typeUtils.js';
|
|
3
3
|
|
|
4
4
|
interface HttpResponseDecoratedInit extends HttpResponseInit {
|
|
@@ -9,4 +9,4 @@ interface HttpResponseDecoratedInit extends HttpResponseInit {
|
|
|
9
9
|
declare function normalizeResponseInit(init?: HttpResponseInit): HttpResponseDecoratedInit;
|
|
10
10
|
declare function decorateResponse(response: Response, init: HttpResponseDecoratedInit): Response;
|
|
11
11
|
|
|
12
|
-
export { HttpResponseDecoratedInit, decorateResponse, normalizeResponseInit };
|
|
12
|
+
export { type HttpResponseDecoratedInit, decorateResponse, normalizeResponseInit };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/core/utils/HttpResponse/decorators.ts"],"sourcesContent":["import statuses from '@bundled-es-modules/statuses'\nimport type { HttpResponseInit } from '../../HttpResponse'\n\nconst { message } = statuses\n\nexport interface HttpResponseDecoratedInit extends HttpResponseInit {\n status: number\n statusText: string\n headers: Headers\n}\n\nexport function normalizeResponseInit(\n init: HttpResponseInit = {},\n): HttpResponseDecoratedInit {\n const status = init?.status || 200\n const statusText = init?.statusText || message[status] || ''\n const headers = new Headers(init?.headers)\n\n return {\n ...init,\n headers,\n status,\n statusText,\n }\n}\n\nexport function decorateResponse(\n response: Response,\n init: HttpResponseDecoratedInit,\n): Response {\n // Allow to mock the response type.\n if (init.type) {\n Object.defineProperty(response, 'type', {\n value: init.type,\n enumerable: true,\n writable: false,\n })\n }\n\n // Cookie forwarding is only relevant in the browser.\n if (typeof document !== 'undefined') {\n // Write the mocked response cookies to the document.\n // Note that Fetch API Headers will concatenate multiple \"Set-Cookie\"\n // headers into a single comma-separated string, just as it does\n // with any other multi-value headers.\n const responseCookies = init.headers.get('Set-Cookie')?.split(',') || []\n\n for (const cookieString of responseCookies) {\n // No need to parse the cookie headers because it's defined\n // as the valid cookie string to begin with.\n document.cookie = cookieString\n }\n }\n\n return response\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAqB;AAGrB,MAAM,EAAE,QAAQ,IAAI,gBAAAA;AAQb,SAAS,sBACd,OAAyB,CAAC,GACC;AAC3B,QAAM,UAAS,6BAAM,WAAU;AAC/B,QAAM,cAAa,6BAAM,eAAc,QAAQ,MAAM,KAAK;AAC1D,QAAM,UAAU,IAAI,QAAQ,6BAAM,OAAO;AAEzC,SAAO,iCACF,OADE;AAAA,IAEL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,SAAS,iBACd,UACA,MACU;AA7BZ;AA+BE,MAAI,KAAK,MAAM;AACb,WAAO,eAAe,UAAU,QAAQ;AAAA,MACtC,OAAO,KAAK;AAAA,MACZ,YAAY;AAAA,MACZ,UAAU;AAAA,IACZ,CAAC;AAAA,EACH;AAGA,MAAI,OAAO,aAAa,aAAa;AAKnC,UAAM,oBAAkB,UAAK,QAAQ,IAAI,YAAY,MAA7B,mBAAgC,MAAM,SAAQ,CAAC;AAEvE,eAAW,gBAAgB,iBAAiB;AAG1C,eAAS,SAAS;AAAA,IACpB;AAAA,EACF;AAEA,SAAO;AACT;","names":["statuses"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/core/utils/HttpResponse/decorators.ts"],"sourcesContent":["import statuses from '@bundled-es-modules/statuses'\nimport type { HttpResponseInit } from '../../HttpResponse'\n\nconst { message } = statuses\n\nexport interface HttpResponseDecoratedInit extends HttpResponseInit {\n status: number\n statusText: string\n headers: Headers\n}\n\nexport function normalizeResponseInit(\n init: HttpResponseInit = {},\n): HttpResponseDecoratedInit {\n const status = init?.status || 200\n const statusText = init?.statusText || message[status] || ''\n const headers = new Headers(init?.headers)\n\n return {\n ...init,\n headers,\n status,\n statusText,\n }\n}\n\nexport function decorateResponse(\n response: Response,\n init: HttpResponseDecoratedInit,\n): Response {\n // Allow to mock the response type.\n if (init.type) {\n Object.defineProperty(response, 'type', {\n value: init.type,\n enumerable: true,\n writable: false,\n })\n }\n\n // Cookie forwarding is only relevant in the browser.\n if (typeof document !== 'undefined') {\n // Write the mocked response cookies to the document.\n // Note that Fetch API Headers will concatenate multiple \"Set-Cookie\"\n // headers into a single comma-separated string, just as it does\n // with any other multi-value headers.\n const responseCookies = init.headers.get('Set-Cookie')?.split(',') || []\n\n for (const cookieString of responseCookies) {\n // No need to parse the cookie headers because it's defined\n // as the valid cookie string to begin with.\n document.cookie = cookieString\n }\n }\n\n return response\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,OAAO,cAAc;AAGrB,MAAM,EAAE,QAAQ,IAAI;AAQb,SAAS,sBACd,OAAyB,CAAC,GACC;AAC3B,QAAM,UAAS,6BAAM,WAAU;AAC/B,QAAM,cAAa,6BAAM,eAAc,QAAQ,MAAM,KAAK;AAC1D,QAAM,UAAU,IAAI,QAAQ,6BAAM,OAAO;AAEzC,SAAO,iCACF,OADE;AAAA,IAEL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,SAAS,iBACd,UACA,MACU;AA7BZ;AA+BE,MAAI,KAAK,MAAM;AACb,WAAO,eAAe,UAAU,QAAQ;AAAA,MACtC,OAAO,KAAK;AAAA,MACZ,YAAY;AAAA,MACZ,UAAU;AAAA,IACZ,CAAC;AAAA,EACH;AAGA,MAAI,OAAO,aAAa,aAAa;AAKnC,UAAM,oBAAkB,UAAK,QAAQ,IAAI,YAAY,MAA7B,mBAAgC,MAAM,SAAQ,CAAC;AAEvE,eAAW,gBAAgB,iBAAiB;AAG1C,eAAS,SAAS;AAAA,IACpB;AAAA,EACF;AAEA,SAAO;AACT;","names":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { h as ResponseLookupResult, i as ResponseResolutionContext, j as getResponse } from '../RequestHandler-
|
|
1
|
+
export { h as ResponseLookupResult, i as ResponseResolutionContext, j as getResponse } from '../RequestHandler-rmY-HeFN.js';
|
|
2
2
|
import '../typeUtils.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/core/utils/getResponse.ts"],"sourcesContent":["import {\n RequestHandler,\n RequestHandlerExecutionResult,\n} from '../handlers/RequestHandler'\n\nexport interface ResponseLookupResult {\n handler: RequestHandler\n parsedResult?: any\n response?: Response\n}\n\nexport interface ResponseResolutionContext {\n baseUrl?: string\n}\n\n/**\n * Returns a mocked response for a given request using following request handlers.\n */\nexport const getResponse = async <Handler extends Array<RequestHandler>>(\n request: Request,\n handlers: Handler,\n resolutionContext?: ResponseResolutionContext,\n): Promise<ResponseLookupResult | null> => {\n let matchingHandler: RequestHandler | null = null\n let result: RequestHandlerExecutionResult<any> | null = null\n\n for (const handler of handlers) {\n result = await handler.run({ request, resolutionContext })\n\n // If the handler produces some result for this request,\n // it automatically becomes matching.\n if (result !== null) {\n matchingHandler = handler\n }\n\n // Stop the lookup if this handler returns a mocked response.\n // If it doesn't, it will still be considered the last matching\n // handler until any of them returns a response. This way we can\n // distinguish between fallthrough handlers without responses\n // and the lack of a matching handler.\n if (result?.response) {\n break\n }\n }\n\n if (matchingHandler) {\n return {\n handler: matchingHandler,\n parsedResult: result?.parsedResult,\n response: result?.response,\n }\n }\n\n return null\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAkBO,MAAM,cAAc,CACzB,SACA,UACA,sBACyC;AACzC,MAAI,kBAAyC;AAC7C,MAAI,SAAoD;AAExD,aAAW,WAAW,UAAU;AAC9B,aAAS,MAAM,QAAQ,IAAI,EAAE,SAAS,kBAAkB,CAAC;AAIzD,QAAI,WAAW,MAAM;AACnB,wBAAkB;AAAA,IACpB;AAOA,QAAI,iCAAQ,UAAU;AACpB;AAAA,IACF;AAAA,EACF;AAEA,MAAI,iBAAiB;AACnB,WAAO;AAAA,MACL,SAAS;AAAA,MACT,cAAc,iCAAQ;AAAA,MACtB,UAAU,iCAAQ;AAAA,IACpB;AAAA,EACF;AAEA,SAAO;AACT;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/core/utils/getResponse.ts"],"sourcesContent":["import {\n RequestHandler,\n RequestHandlerExecutionResult,\n} from '../handlers/RequestHandler'\n\nexport interface ResponseLookupResult {\n handler: RequestHandler\n parsedResult?: any\n response?: Response\n}\n\nexport interface ResponseResolutionContext {\n baseUrl?: string\n}\n\n/**\n * Returns a mocked response for a given request using following request handlers.\n */\nexport const getResponse = async <Handler extends Array<RequestHandler>>(\n request: Request,\n handlers: Handler,\n resolutionContext?: ResponseResolutionContext,\n): Promise<ResponseLookupResult | null> => {\n let matchingHandler: RequestHandler | null = null\n let result: RequestHandlerExecutionResult<any> | null = null\n\n for (const handler of handlers) {\n result = await handler.run({ request, resolutionContext })\n\n // If the handler produces some result for this request,\n // it automatically becomes matching.\n if (result !== null) {\n matchingHandler = handler\n }\n\n // Stop the lookup if this handler returns a mocked response.\n // If it doesn't, it will still be considered the last matching\n // handler until any of them returns a response. This way we can\n // distinguish between fallthrough handlers without responses\n // and the lack of a matching handler.\n if (result?.response) {\n break\n }\n }\n\n if (matchingHandler) {\n return {\n handler: matchingHandler,\n parsedResult: result?.parsedResult,\n response: result?.response,\n }\n }\n\n return null\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAkBO,MAAM,cAAc,CACzB,SACA,UACA,sBACyC;AACzC,MAAI,kBAAyC;AAC7C,MAAI,SAAoD;AAExD,aAAW,WAAW,UAAU;AAC9B,aAAS,MAAM,QAAQ,IAAI,EAAE,SAAS,kBAAkB,CAAC;AAIzD,QAAI,WAAW,MAAM;AACnB,wBAAkB;AAAA,IACpB;AAOA,QAAI,iCAAQ,UAAU;AACpB;AAAA,IACF;AAAA,EACF;AAEA,MAAI,iBAAiB;AACnB,WAAO;AAAA,MACL,SAAS;AAAA,MACT,cAAc,iCAAQ;AAAA,MACtB,UAAU,iCAAQ;AAAA,IACpB;AAAA,EACF;AAEA,SAAO;AACT;","names":[]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Emitter } from 'strict-event-emitter';
|
|
2
|
+
import { h as ResponseLookupResult, R as RequestHandler } from '../RequestHandler-YiqamK0M.mjs';
|
|
3
|
+
import { SharedOptions, LifeCycleEventsMap } from '../sharedOptions.mjs';
|
|
4
|
+
import { RequiredDeep } from '../typeUtils.mjs';
|
|
5
|
+
import './request/onUnhandledRequest.mjs';
|
|
6
|
+
|
|
7
|
+
interface HandleRequestOptions {
|
|
8
|
+
/**
|
|
9
|
+
* `resolutionContext` is not part of the general public api
|
|
10
|
+
* but is exposed to aid in creating extensions like
|
|
11
|
+
* `@mswjs/http-middleware`.
|
|
12
|
+
*/
|
|
13
|
+
resolutionContext?: {
|
|
14
|
+
/**
|
|
15
|
+
* A base url to use when resolving relative urls.
|
|
16
|
+
* @note This is primarily used by the `@mswjs/http-middleware`
|
|
17
|
+
* to resolve relative urls in the context of the running server
|
|
18
|
+
*/
|
|
19
|
+
baseUrl?: string;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Transforms a `MockedResponse` instance returned from a handler
|
|
23
|
+
* to a response instance supported by the lower tooling (i.e. interceptors).
|
|
24
|
+
*/
|
|
25
|
+
transformResponse?(response: Response): Response;
|
|
26
|
+
/**
|
|
27
|
+
* Invoked whenever a request is performed as-is.
|
|
28
|
+
*/
|
|
29
|
+
onPassthroughResponse?(request: Request): void;
|
|
30
|
+
/**
|
|
31
|
+
* Invoked when the mocked response is ready to be sent.
|
|
32
|
+
*/
|
|
33
|
+
onMockedResponse?(response: Response, handler: RequiredDeep<ResponseLookupResult>): void;
|
|
34
|
+
}
|
|
35
|
+
declare function handleRequest(request: Request, requestId: string, handlers: Array<RequestHandler>, options: RequiredDeep<SharedOptions>, emitter: Emitter<LifeCycleEventsMap>, handleRequestOptions?: HandleRequestOptions): Promise<Response | undefined>;
|
|
36
|
+
|
|
37
|
+
export { type HandleRequestOptions, handleRequest };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Emitter } from 'strict-event-emitter';
|
|
2
|
-
import { h as ResponseLookupResult, R as RequestHandler } from '../RequestHandler-
|
|
2
|
+
import { h as ResponseLookupResult, R as RequestHandler } from '../RequestHandler-rmY-HeFN.js';
|
|
3
3
|
import { SharedOptions, LifeCycleEventsMap } from '../sharedOptions.js';
|
|
4
4
|
import { RequiredDeep } from '../typeUtils.js';
|
|
5
5
|
import './request/onUnhandledRequest.js';
|
|
@@ -34,4 +34,4 @@ interface HandleRequestOptions {
|
|
|
34
34
|
}
|
|
35
35
|
declare function handleRequest(request: Request, requestId: string, handlers: Array<RequestHandler>, options: RequiredDeep<SharedOptions>, emitter: Emitter<LifeCycleEventsMap>, handleRequestOptions?: HandleRequestOptions): Promise<Response | undefined>;
|
|
36
36
|
|
|
37
|
-
export { HandleRequestOptions, handleRequest };
|
|
37
|
+
export { type HandleRequestOptions, handleRequest };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/core/utils/handleRequest.ts"],"sourcesContent":["import { until } from '@open-draft/until'\nimport { Emitter } from 'strict-event-emitter'\nimport { RequestHandler } from '../handlers/RequestHandler'\nimport { LifeCycleEventsMap, SharedOptions } from '../sharedOptions'\nimport { RequiredDeep } from '../typeUtils'\nimport { ResponseLookupResult, getResponse } from './getResponse'\nimport { onUnhandledRequest } from './request/onUnhandledRequest'\nimport { readResponseCookies } from './request/readResponseCookies'\n\nexport interface HandleRequestOptions {\n /**\n * `resolutionContext` is not part of the general public api\n * but is exposed to aid in creating extensions like\n * `@mswjs/http-middleware`.\n */\n resolutionContext?: {\n /**\n * A base url to use when resolving relative urls.\n * @note This is primarily used by the `@mswjs/http-middleware`\n * to resolve relative urls in the context of the running server\n */\n baseUrl?: string\n }\n\n /**\n * Transforms a `MockedResponse` instance returned from a handler\n * to a response instance supported by the lower tooling (i.e. interceptors).\n */\n transformResponse?(response: Response): Response\n\n /**\n * Invoked whenever a request is performed as-is.\n */\n onPassthroughResponse?(request: Request): void\n\n /**\n * Invoked when the mocked response is ready to be sent.\n */\n onMockedResponse?(\n response: Response,\n handler: RequiredDeep<ResponseLookupResult>,\n ): void\n}\n\nexport async function handleRequest(\n request: Request,\n requestId: string,\n handlers: Array<RequestHandler>,\n options: RequiredDeep<SharedOptions>,\n emitter: Emitter<LifeCycleEventsMap>,\n handleRequestOptions?: HandleRequestOptions,\n): Promise<Response | undefined> {\n emitter.emit('request:start', { request, requestId })\n\n // Perform bypassed requests (i.e. issued via \"ctx.fetch\") as-is.\n if (request.headers.get('x-msw-intention') === 'bypass') {\n emitter.emit('request:end', { request, requestId })\n handleRequestOptions?.onPassthroughResponse?.(request)\n return\n }\n\n // Resolve a mocked response from the list of request handlers.\n const lookupResult = await until(() => {\n return getResponse(\n request,\n handlers,\n handleRequestOptions?.resolutionContext,\n )\n })\n\n if (lookupResult.error) {\n // Allow developers to react to unhandled exceptions in request handlers.\n emitter.emit('unhandledException', {\n error: lookupResult.error,\n request,\n requestId,\n })\n throw lookupResult.error\n }\n\n // If the handler lookup returned nothing, no request handler was found\n // matching this request. Report the request as unhandled.\n if (!lookupResult.data) {\n await onUnhandledRequest(request, handlers, options.onUnhandledRequest)\n emitter.emit('request:unhandled', { request, requestId })\n emitter.emit('request:end', { request, requestId })\n handleRequestOptions?.onPassthroughResponse?.(request)\n return\n }\n\n const { response } = lookupResult.data\n\n // When the handled request returned no mocked response, warn the developer,\n // as it may be an oversight on their part. Perform the request as-is.\n if (!response) {\n emitter.emit('request:end', { request, requestId })\n handleRequestOptions?.onPassthroughResponse?.(request)\n return\n }\n\n // Perform the request as-is when the developer explicitly returned \"req.passthrough()\".\n // This produces no warning as the request was handled.\n if (\n response.status === 302 &&\n response.headers.get('x-msw-intention') === 'passthrough'\n ) {\n emitter.emit('request:end', { request, requestId })\n handleRequestOptions?.onPassthroughResponse?.(request)\n return\n }\n\n // Store all the received response cookies in the virtual cookie store.\n readResponseCookies(request, response)\n\n emitter.emit('request:match', { request, requestId })\n\n const requiredLookupResult =\n lookupResult.data as RequiredDeep<ResponseLookupResult>\n\n const transformedResponse =\n handleRequestOptions?.transformResponse?.(response) ||\n (response as any as Response)\n\n handleRequestOptions?.onMockedResponse?.(\n transformedResponse,\n requiredLookupResult,\n )\n\n emitter.emit('request:end', { request, requestId })\n\n return transformedResponse\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAsB;AAKtB,yBAAkD;AAClD,gCAAmC;AACnC,iCAAoC;AAqCpC,SAAsB,cACpB,SACA,WACA,UACA,SACA,SACA,sBAC+B;AAAA;AAnDjC;AAoDE,YAAQ,KAAK,iBAAiB,EAAE,SAAS,UAAU,CAAC;AAGpD,QAAI,QAAQ,QAAQ,IAAI,iBAAiB,MAAM,UAAU;AACvD,cAAQ,KAAK,eAAe,EAAE,SAAS,UAAU,CAAC;AAClD,yEAAsB,0BAAtB,8CAA8C;AAC9C;AAAA,IACF;AAGA,UAAM,eAAe,UAAM,oBAAM,MAAM;AACrC,iBAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA,6DAAsB;AAAA,MACxB;AAAA,IACF,CAAC;AAED,QAAI,aAAa,OAAO;AAEtB,cAAQ,KAAK,sBAAsB;AAAA,QACjC,OAAO,aAAa;AAAA,QACpB;AAAA,QACA;AAAA,MACF,CAAC;AACD,YAAM,aAAa;AAAA,IACrB;AAIA,QAAI,CAAC,aAAa,MAAM;AACtB,gBAAM,8CAAmB,SAAS,UAAU,QAAQ,kBAAkB;AACtE,cAAQ,KAAK,qBAAqB,EAAE,SAAS,UAAU,CAAC;AACxD,cAAQ,KAAK,eAAe,EAAE,SAAS,UAAU,CAAC;AAClD,yEAAsB,0BAAtB,8CAA8C;AAC9C;AAAA,IACF;AAEA,UAAM,EAAE,SAAS,IAAI,aAAa;AAIlC,QAAI,CAAC,UAAU;AACb,cAAQ,KAAK,eAAe,EAAE,SAAS,UAAU,CAAC;AAClD,yEAAsB,0BAAtB,8CAA8C;AAC9C;AAAA,IACF;AAIA,QACE,SAAS,WAAW,OACpB,SAAS,QAAQ,IAAI,iBAAiB,MAAM,eAC5C;AACA,cAAQ,KAAK,eAAe,EAAE,SAAS,UAAU,CAAC;AAClD,yEAAsB,0BAAtB,8CAA8C;AAC9C;AAAA,IACF;AAGA,wDAAoB,SAAS,QAAQ;AAErC,YAAQ,KAAK,iBAAiB,EAAE,SAAS,UAAU,CAAC;AAEpD,UAAM,uBACJ,aAAa;AAEf,UAAM,wBACJ,kEAAsB,sBAAtB,8CAA0C,cACzC;AAEH,uEAAsB,qBAAtB;AAAA;AAAA,MACE;AAAA,MACA;AAAA;AAGF,YAAQ,KAAK,eAAe,EAAE,SAAS,UAAU,CAAC;AAElD,WAAO;AAAA,EACT;AAAA;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/core/utils/handleRequest.ts"],"sourcesContent":["import { until } from '@open-draft/until'\nimport { Emitter } from 'strict-event-emitter'\nimport { RequestHandler } from '../handlers/RequestHandler'\nimport { LifeCycleEventsMap, SharedOptions } from '../sharedOptions'\nimport { RequiredDeep } from '../typeUtils'\nimport { ResponseLookupResult, getResponse } from './getResponse'\nimport { onUnhandledRequest } from './request/onUnhandledRequest'\nimport { readResponseCookies } from './request/readResponseCookies'\n\nexport interface HandleRequestOptions {\n /**\n * `resolutionContext` is not part of the general public api\n * but is exposed to aid in creating extensions like\n * `@mswjs/http-middleware`.\n */\n resolutionContext?: {\n /**\n * A base url to use when resolving relative urls.\n * @note This is primarily used by the `@mswjs/http-middleware`\n * to resolve relative urls in the context of the running server\n */\n baseUrl?: string\n }\n\n /**\n * Transforms a `MockedResponse` instance returned from a handler\n * to a response instance supported by the lower tooling (i.e. interceptors).\n */\n transformResponse?(response: Response): Response\n\n /**\n * Invoked whenever a request is performed as-is.\n */\n onPassthroughResponse?(request: Request): void\n\n /**\n * Invoked when the mocked response is ready to be sent.\n */\n onMockedResponse?(\n response: Response,\n handler: RequiredDeep<ResponseLookupResult>,\n ): void\n}\n\nexport async function handleRequest(\n request: Request,\n requestId: string,\n handlers: Array<RequestHandler>,\n options: RequiredDeep<SharedOptions>,\n emitter: Emitter<LifeCycleEventsMap>,\n handleRequestOptions?: HandleRequestOptions,\n): Promise<Response | undefined> {\n emitter.emit('request:start', { request, requestId })\n\n // Perform bypassed requests (i.e. issued via \"ctx.fetch\") as-is.\n if (request.headers.get('x-msw-intention') === 'bypass') {\n emitter.emit('request:end', { request, requestId })\n handleRequestOptions?.onPassthroughResponse?.(request)\n return\n }\n\n // Resolve a mocked response from the list of request handlers.\n const lookupResult = await until(() => {\n return getResponse(\n request,\n handlers,\n handleRequestOptions?.resolutionContext,\n )\n })\n\n if (lookupResult.error) {\n // Allow developers to react to unhandled exceptions in request handlers.\n emitter.emit('unhandledException', {\n error: lookupResult.error,\n request,\n requestId,\n })\n throw lookupResult.error\n }\n\n // If the handler lookup returned nothing, no request handler was found\n // matching this request. Report the request as unhandled.\n if (!lookupResult.data) {\n await onUnhandledRequest(request, handlers, options.onUnhandledRequest)\n emitter.emit('request:unhandled', { request, requestId })\n emitter.emit('request:end', { request, requestId })\n handleRequestOptions?.onPassthroughResponse?.(request)\n return\n }\n\n const { response } = lookupResult.data\n\n // When the handled request returned no mocked response, warn the developer,\n // as it may be an oversight on their part. Perform the request as-is.\n if (!response) {\n emitter.emit('request:end', { request, requestId })\n handleRequestOptions?.onPassthroughResponse?.(request)\n return\n }\n\n // Perform the request as-is when the developer explicitly returned \"req.passthrough()\".\n // This produces no warning as the request was handled.\n if (\n response.status === 302 &&\n response.headers.get('x-msw-intention') === 'passthrough'\n ) {\n emitter.emit('request:end', { request, requestId })\n handleRequestOptions?.onPassthroughResponse?.(request)\n return\n }\n\n // Store all the received response cookies in the virtual cookie store.\n readResponseCookies(request, response)\n\n emitter.emit('request:match', { request, requestId })\n\n const requiredLookupResult =\n lookupResult.data as RequiredDeep<ResponseLookupResult>\n\n const transformedResponse =\n handleRequestOptions?.transformResponse?.(response) ||\n (response as any as Response)\n\n handleRequestOptions?.onMockedResponse?.(\n transformedResponse,\n requiredLookupResult,\n )\n\n emitter.emit('request:end', { request, requestId })\n\n return transformedResponse\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,SAAS,aAAa;AAKtB,SAA+B,mBAAmB;AAClD,SAAS,0BAA0B;AACnC,SAAS,2BAA2B;AAqCpC,SAAsB,cACpB,SACA,WACA,UACA,SACA,SACA,sBAC+B;AAAA;AAnDjC;AAoDE,YAAQ,KAAK,iBAAiB,EAAE,SAAS,UAAU,CAAC;AAGpD,QAAI,QAAQ,QAAQ,IAAI,iBAAiB,MAAM,UAAU;AACvD,cAAQ,KAAK,eAAe,EAAE,SAAS,UAAU,CAAC;AAClD,yEAAsB,0BAAtB,8CAA8C;AAC9C;AAAA,IACF;AAGA,UAAM,eAAe,MAAM,MAAM,MAAM;AACrC,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA,6DAAsB;AAAA,MACxB;AAAA,IACF,CAAC;AAED,QAAI,aAAa,OAAO;AAEtB,cAAQ,KAAK,sBAAsB;AAAA,QACjC,OAAO,aAAa;AAAA,QACpB;AAAA,QACA;AAAA,MACF,CAAC;AACD,YAAM,aAAa;AAAA,IACrB;AAIA,QAAI,CAAC,aAAa,MAAM;AACtB,YAAM,mBAAmB,SAAS,UAAU,QAAQ,kBAAkB;AACtE,cAAQ,KAAK,qBAAqB,EAAE,SAAS,UAAU,CAAC;AACxD,cAAQ,KAAK,eAAe,EAAE,SAAS,UAAU,CAAC;AAClD,yEAAsB,0BAAtB,8CAA8C;AAC9C;AAAA,IACF;AAEA,UAAM,EAAE,SAAS,IAAI,aAAa;AAIlC,QAAI,CAAC,UAAU;AACb,cAAQ,KAAK,eAAe,EAAE,SAAS,UAAU,CAAC;AAClD,yEAAsB,0BAAtB,8CAA8C;AAC9C;AAAA,IACF;AAIA,QACE,SAAS,WAAW,OACpB,SAAS,QAAQ,IAAI,iBAAiB,MAAM,eAC5C;AACA,cAAQ,KAAK,eAAe,EAAE,SAAS,UAAU,CAAC;AAClD,yEAAsB,0BAAtB,8CAA8C;AAC9C;AAAA,IACF;AAGA,wBAAoB,SAAS,QAAQ;AAErC,YAAQ,KAAK,iBAAiB,EAAE,SAAS,UAAU,CAAC;AAEpD,UAAM,uBACJ,aAAa;AAEf,UAAM,wBACJ,kEAAsB,sBAAtB,8CAA0C,cACzC;AAEH,uEAAsB,qBAAtB;AAAA;AAAA,MACE;AAAA,MACA;AAAA;AAGF,YAAQ,KAAK,eAAe,EAAE,SAAS,UAAU,CAAC;AAElD,WAAO;AAAA,EACT;AAAA;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/core/utils/internal/Disposable.ts"],"sourcesContent":["export type DisposableSubscription = () => Promise<void> | void\n\nexport class Disposable {\n protected subscriptions: Array<DisposableSubscription> = []\n\n public async dispose() {\n await Promise.all(this.subscriptions.map((subscription) => subscription()))\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAM,WAAW;AAAA,EAAjB;AACL,SAAU,gBAA+C,CAAC;AAAA;AAAA,EAE7C,UAAU;AAAA;AACrB,YAAM,QAAQ,IAAI,KAAK,cAAc,IAAI,CAAC,iBAAiB,aAAa,CAAC,CAAC;AAAA,IAC5E;AAAA;AACF;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/core/utils/internal/Disposable.ts"],"sourcesContent":["export type DisposableSubscription = () => Promise<void> | void\n\nexport class Disposable {\n protected subscriptions: Array<DisposableSubscription> = []\n\n public async dispose() {\n await Promise.all(this.subscriptions.map((subscription) => subscription()))\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAEO,MAAM,WAAW;AAAA,EAAjB;AACL,SAAU,gBAA+C,CAAC;AAAA;AAAA,EAE7C,UAAU;AAAA;AACrB,YAAM,QAAQ,IAAI,KAAK,cAAc,IAAI,CAAC,iBAAiB,aAAa,CAAC,CAAC;AAAA,IAC5E;AAAA;AACF;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/core/utils/internal/checkGlobals.ts"],"sourcesContent":["import { invariant } from 'outvariant'\nimport { devUtils } from './devUtils'\n\nexport function checkGlobals() {\n /**\n * MSW expects the \"URL\" constructor to be defined.\n * It's not present in React Native so suggest a polyfill\n * instead of failing silently.\n * @see https://github.com/mswjs/msw/issues/1408\n */\n invariant(\n typeof URL !== 'undefined',\n devUtils.formatMessage(\n `Global \"URL\" class is not defined. This likely means that you're running MSW in an environment that doesn't support all Node.js standard API (e.g. React Native). If that's the case, please use an appropriate polyfill for the \"URL\" class, like \"react-native-url-polyfill\".`,\n ),\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAA0B;AAC1B,sBAAyB;AAElB,SAAS,eAAe;AAO7B;AAAA,IACE,OAAO,QAAQ;AAAA,IACf,yBAAS;AAAA,MACP;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/core/utils/internal/checkGlobals.ts"],"sourcesContent":["import { invariant } from 'outvariant'\nimport { devUtils } from './devUtils'\n\nexport function checkGlobals() {\n /**\n * MSW expects the \"URL\" constructor to be defined.\n * It's not present in React Native so suggest a polyfill\n * instead of failing silently.\n * @see https://github.com/mswjs/msw/issues/1408\n */\n invariant(\n typeof URL !== 'undefined',\n devUtils.formatMessage(\n `Global \"URL\" class is not defined. This likely means that you're running MSW in an environment that doesn't support all Node.js standard API (e.g. React Native). If that's the case, please use an appropriate polyfill for the \"URL\" class, like \"react-native-url-polyfill\".`,\n ),\n )\n}\n"],"mappings":"AAAA,SAAS,iBAAiB;AAC1B,SAAS,gBAAgB;AAElB,SAAS,eAAe;AAO7B;AAAA,IACE,OAAO,QAAQ;AAAA,IACf,SAAS;AAAA,MACP;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Formats a given message by appending the library's prefix string.
|
|
3
|
+
*/
|
|
4
|
+
declare function formatMessage(message: string, ...positionals: any[]): string;
|
|
5
|
+
/**
|
|
6
|
+
* Prints a library-specific warning.
|
|
7
|
+
*/
|
|
8
|
+
declare function warn(message: string, ...positionals: any[]): void;
|
|
9
|
+
/**
|
|
10
|
+
* Prints a library-specific error.
|
|
11
|
+
*/
|
|
12
|
+
declare function error(message: string, ...positionals: any[]): void;
|
|
13
|
+
declare const devUtils: {
|
|
14
|
+
formatMessage: typeof formatMessage;
|
|
15
|
+
warn: typeof warn;
|
|
16
|
+
error: typeof error;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export { devUtils };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/core/utils/internal/devUtils.ts"],"sourcesContent":["import { format } from 'outvariant'\n\nconst LIBRARY_PREFIX = '[MSW]'\n\n/**\n * Formats a given message by appending the library's prefix string.\n */\nfunction formatMessage(message: string, ...positionals: any[]): string {\n const interpolatedMessage = format(message, ...positionals)\n return `${LIBRARY_PREFIX} ${interpolatedMessage}`\n}\n\n/**\n * Prints a library-specific warning.\n */\nfunction warn(message: string, ...positionals: any[]): void {\n console.warn(formatMessage(message, ...positionals))\n}\n\n/**\n * Prints a library-specific error.\n */\nfunction error(message: string, ...positionals: any[]): void {\n console.error(formatMessage(message, ...positionals))\n}\n\nexport const devUtils = {\n formatMessage,\n warn,\n error,\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAuB;AAEvB,MAAM,iBAAiB;AAKvB,SAAS,cAAc,YAAoB,aAA4B;AACrE,QAAM,0BAAsB,0BAAO,SAAS,GAAG,WAAW;AAC1D,SAAO,GAAG,cAAc,IAAI,mBAAmB;AACjD;AAKA,SAAS,KAAK,YAAoB,aAA0B;AAC1D,UAAQ,KAAK,cAAc,SAAS,GAAG,WAAW,CAAC;AACrD;AAKA,SAAS,MAAM,YAAoB,aAA0B;AAC3D,UAAQ,MAAM,cAAc,SAAS,GAAG,WAAW,CAAC;AACtD;AAEO,MAAM,WAAW;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AACF;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/core/utils/internal/devUtils.ts"],"sourcesContent":["import { format } from 'outvariant'\n\nconst LIBRARY_PREFIX = '[MSW]'\n\n/**\n * Formats a given message by appending the library's prefix string.\n */\nfunction formatMessage(message: string, ...positionals: any[]): string {\n const interpolatedMessage = format(message, ...positionals)\n return `${LIBRARY_PREFIX} ${interpolatedMessage}`\n}\n\n/**\n * Prints a library-specific warning.\n */\nfunction warn(message: string, ...positionals: any[]): void {\n console.warn(formatMessage(message, ...positionals))\n}\n\n/**\n * Prints a library-specific error.\n */\nfunction error(message: string, ...positionals: any[]): void {\n console.error(formatMessage(message, ...positionals))\n}\n\nexport const devUtils = {\n formatMessage,\n warn,\n error,\n}\n"],"mappings":"AAAA,SAAS,cAAc;AAEvB,MAAM,iBAAiB;AAKvB,SAAS,cAAc,YAAoB,aAA4B;AACrE,QAAM,sBAAsB,OAAO,SAAS,GAAG,WAAW;AAC1D,SAAO,GAAG,cAAc,IAAI,mBAAmB;AACjD;AAKA,SAAS,KAAK,YAAoB,aAA0B;AAC1D,UAAQ,KAAK,cAAc,SAAS,GAAG,WAAW,CAAC;AACrD;AAKA,SAAS,MAAM,YAAoB,aAA0B;AAC3D,UAAQ,MAAM,cAAc,SAAS,GAAG,WAAW,CAAC;AACtD;AAEO,MAAM,WAAW;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AACF;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/core/utils/internal/getCallFrame.ts"],"sourcesContent":["// Ignore the source files traces for local testing.\nconst SOURCE_FRAME = /[\\/\\\\]msw[\\/\\\\]src[\\/\\\\](.+)/\n\nconst BUILD_FRAME =\n /(node_modules)?[\\/\\\\]lib[\\/\\\\](core|browser|node|native|iife)[\\/\\\\]|^[^\\/\\\\]*$/\n\n/**\n * Return the stack trace frame of a function's invocation.\n */\nexport function getCallFrame(error: Error) {\n // In <IE11, new Error may return an undefined stack\n const stack = error.stack\n\n if (!stack) {\n return\n }\n\n const frames: string[] = stack.split('\\n').slice(1)\n\n // Get the first frame that doesn't reference the library's internal trace.\n // Assume that frame is the invocation frame.\n const declarationFrame = frames.find((frame) => {\n return !(SOURCE_FRAME.test(frame) || BUILD_FRAME.test(frame))\n })\n\n if (!declarationFrame) {\n return\n }\n\n // Extract file reference from the stack frame.\n const declarationPath = declarationFrame\n .replace(/\\s*at [^()]*\\(([^)]+)\\)/, '$1')\n .replace(/^@/, '')\n return declarationPath\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,MAAM,eAAe;AAErB,MAAM,cACJ;AAKK,SAAS,aAAa,OAAc;AAEzC,QAAM,QAAQ,MAAM;AAEpB,MAAI,CAAC,OAAO;AACV;AAAA,EACF;AAEA,QAAM,SAAmB,MAAM,MAAM,IAAI,EAAE,MAAM,CAAC;AAIlD,QAAM,mBAAmB,OAAO,KAAK,CAAC,UAAU;AAC9C,WAAO,EAAE,aAAa,KAAK,KAAK,KAAK,YAAY,KAAK,KAAK;AAAA,EAC7D,CAAC;AAED,MAAI,CAAC,kBAAkB;AACrB;AAAA,EACF;AAGA,QAAM,kBAAkB,iBACrB,QAAQ,2BAA2B,IAAI,EACvC,QAAQ,MAAM,EAAE;AACnB,SAAO;AACT;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/core/utils/internal/getCallFrame.ts"],"sourcesContent":["// Ignore the source files traces for local testing.\nconst SOURCE_FRAME = /[\\/\\\\]msw[\\/\\\\]src[\\/\\\\](.+)/\n\nconst BUILD_FRAME =\n /(node_modules)?[\\/\\\\]lib[\\/\\\\](core|browser|node|native|iife)[\\/\\\\]|^[^\\/\\\\]*$/\n\n/**\n * Return the stack trace frame of a function's invocation.\n */\nexport function getCallFrame(error: Error) {\n // In <IE11, new Error may return an undefined stack\n const stack = error.stack\n\n if (!stack) {\n return\n }\n\n const frames: string[] = stack.split('\\n').slice(1)\n\n // Get the first frame that doesn't reference the library's internal trace.\n // Assume that frame is the invocation frame.\n const declarationFrame = frames.find((frame) => {\n return !(SOURCE_FRAME.test(frame) || BUILD_FRAME.test(frame))\n })\n\n if (!declarationFrame) {\n return\n }\n\n // Extract file reference from the stack frame.\n const declarationPath = declarationFrame\n .replace(/\\s*at [^()]*\\(([^)]+)\\)/, '$1')\n .replace(/^@/, '')\n return declarationPath\n}\n"],"mappings":"AACA,MAAM,eAAe;AAErB,MAAM,cACJ;AAKK,SAAS,aAAa,OAAc;AAEzC,QAAM,QAAQ,MAAM;AAEpB,MAAI,CAAC,OAAO;AACV;AAAA,EACF;AAEA,QAAM,SAAmB,MAAM,MAAM,IAAI,EAAE,MAAM,CAAC;AAIlD,QAAM,mBAAmB,OAAO,KAAK,CAAC,UAAU;AAC9C,WAAO,EAAE,aAAa,KAAK,KAAK,KAAK,YAAY,KAAK,KAAK;AAAA,EAC7D,CAAC;AAED,MAAI,CAAC,kBAAkB;AACrB;AAAA,EACF;AAGA,QAAM,kBAAkB,iBACrB,QAAQ,2BAA2B,IAAI,EACvC,QAAQ,MAAM,EAAE;AACnB,SAAO;AACT;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/core/utils/internal/isIterable.ts"],"sourcesContent":["/**\n * Determines if the given function is an iterator.\n */\nexport function isIterable<IteratorType>(\n fn: any,\n): fn is Generator<IteratorType, IteratorType, IteratorType> {\n if (!fn) {\n return false\n }\n\n return typeof (fn as Generator<unknown>)[Symbol.iterator] == 'function'\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGO,SAAS,WACd,IAC2D;AAC3D,MAAI,CAAC,IAAI;AACP,WAAO;AAAA,EACT;AAEA,SAAO,OAAQ,GAA0B,OAAO,QAAQ,KAAK;AAC/D;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/core/utils/internal/isIterable.ts"],"sourcesContent":["/**\n * Determines if the given function is an iterator.\n */\nexport function isIterable<IteratorType>(\n fn: any,\n): fn is Generator<IteratorType, IteratorType, IteratorType> {\n if (!fn) {\n return false\n }\n\n return typeof (fn as Generator<unknown>)[Symbol.iterator] == 'function'\n}\n"],"mappings":"AAGO,SAAS,WACd,IAC2D;AAC3D,MAAI,CAAC,IAAI;AACP,WAAO;AAAA,EACT;AAEA,SAAO,OAAQ,GAA0B,OAAO,QAAQ,KAAK;AAC/D;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/core/utils/internal/isObject.ts"],"sourcesContent":["/**\n * Determines if the given value is an object.\n */\nexport function isObject(value: any): boolean {\n return value != null && typeof value === 'object' && !Array.isArray(value)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGO,SAAS,SAAS,OAAqB;AAC5C,SAAO,SAAS,QAAQ,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK;AAC3E;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/core/utils/internal/isObject.ts"],"sourcesContent":["/**\n * Determines if the given value is an object.\n */\nexport function isObject(value: any): boolean {\n return value != null && typeof value === 'object' && !Array.isArray(value)\n}\n"],"mappings":"AAGO,SAAS,SAAS,OAAqB;AAC5C,SAAO,SAAS,QAAQ,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK;AAC3E;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/core/utils/internal/isStringEqual.ts"],"sourcesContent":["/**\n * Performs a case-insensitive comparison of two given strings.\n */\nexport function isStringEqual(actual: string, expected: string): boolean {\n return actual.toLowerCase() === expected.toLowerCase()\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGO,SAAS,cAAc,QAAgB,UAA2B;AACvE,SAAO,OAAO,YAAY,MAAM,SAAS,YAAY;AACvD;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/core/utils/internal/isStringEqual.ts"],"sourcesContent":["/**\n * Performs a case-insensitive comparison of two given strings.\n */\nexport function isStringEqual(actual: string, expected: string): boolean {\n return actual.toLowerCase() === expected.toLowerCase()\n}\n"],"mappings":"AAGO,SAAS,cAAc,QAAgB,UAA2B;AACvE,SAAO,OAAO,YAAY,MAAM,SAAS,YAAY;AACvD;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/core/utils/internal/jsonParse.ts"],"sourcesContent":["/**\n * Parses a given value into a JSON.\n * Does not throw an exception on an invalid JSON string.\n */\nexport function jsonParse<ValueType extends Record<string, any>>(\n value: any,\n): ValueType | undefined {\n try {\n return JSON.parse(value)\n } catch (error) {\n return undefined\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIO,SAAS,UACd,OACuB;AACvB,MAAI;AACF,WAAO,KAAK,MAAM,KAAK;AAAA,EACzB,SAAS,OAAO;AACd,WAAO;AAAA,EACT;AACF;","names":[]}
|