msw 2.14.0 → 2.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/core/experimental/index.d.mts +3 -3
- package/lib/core/experimental/index.d.ts +3 -3
- package/lib/core/experimental/index.js +3 -0
- package/lib/core/experimental/index.js.map +1 -1
- package/lib/core/experimental/index.mjs +6 -0
- package/lib/core/experimental/index.mjs.map +1 -1
- package/lib/mockServiceWorker.js +1 -1
- package/lib/node/index.d.mts +1 -1
- package/lib/node/index.d.ts +1 -1
- package/lib/node/index.js +2 -0
- package/lib/node/index.js.map +1 -1
- package/lib/node/index.mjs +1 -0
- package/package.json +2 -2
- package/src/core/experimental/index.ts +6 -0
- package/src/node/index.ts +1 -0
|
@@ -4,14 +4,14 @@ export { InterceptorSource } from './sources/interceptor-source.mjs';
|
|
|
4
4
|
export { N as NetworkFrame } from '../on-unhandled-frame-Cr1KOZ0I.mjs';
|
|
5
5
|
export { HttpNetworkFrame, HttpNetworkFrameEventMap } from './frames/http-frame.mjs';
|
|
6
6
|
export { WebSocketNetworkFrame, WebSocketNetworkFrameEventMap } from './frames/websocket-frame.mjs';
|
|
7
|
+
export { HandlersController, InMemoryHandlersController } from './handlers-controller.mjs';
|
|
7
8
|
import 'rettime';
|
|
8
|
-
import './handlers-controller.mjs';
|
|
9
|
-
import '../HttpResponse-CxHR1nNN.mjs';
|
|
10
9
|
import '@mswjs/interceptors';
|
|
10
|
+
import '@mswjs/interceptors/WebSocket';
|
|
11
|
+
import '../HttpResponse-CxHR1nNN.mjs';
|
|
11
12
|
import '../utils/internal/isIterable.mjs';
|
|
12
13
|
import '../typeUtils.mjs';
|
|
13
14
|
import 'graphql';
|
|
14
15
|
import '../utils/matching/matchRequestUrl.mjs';
|
|
15
16
|
import '../handlers/WebSocketHandler.mjs';
|
|
16
17
|
import 'strict-event-emitter';
|
|
17
|
-
import '@mswjs/interceptors/WebSocket';
|
|
@@ -4,14 +4,14 @@ export { InterceptorSource } from './sources/interceptor-source.js';
|
|
|
4
4
|
export { N as NetworkFrame } from '../on-unhandled-frame-BBR-P3kV.js';
|
|
5
5
|
export { HttpNetworkFrame, HttpNetworkFrameEventMap } from './frames/http-frame.js';
|
|
6
6
|
export { WebSocketNetworkFrame, WebSocketNetworkFrameEventMap } from './frames/websocket-frame.js';
|
|
7
|
+
export { HandlersController, InMemoryHandlersController } from './handlers-controller.js';
|
|
7
8
|
import 'rettime';
|
|
8
|
-
import './handlers-controller.js';
|
|
9
|
-
import '../HttpResponse-aGiIzO91.js';
|
|
10
9
|
import '@mswjs/interceptors';
|
|
10
|
+
import '@mswjs/interceptors/WebSocket';
|
|
11
|
+
import '../HttpResponse-aGiIzO91.js';
|
|
11
12
|
import '../utils/internal/isIterable.js';
|
|
12
13
|
import '../typeUtils.js';
|
|
13
14
|
import 'graphql';
|
|
14
15
|
import '../utils/matching/matchRequestUrl.js';
|
|
15
16
|
import '../handlers/WebSocketHandler.js';
|
|
16
17
|
import 'strict-event-emitter';
|
|
17
|
-
import '@mswjs/interceptors/WebSocket';
|
|
@@ -18,7 +18,9 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var experimental_exports = {};
|
|
20
20
|
__export(experimental_exports, {
|
|
21
|
+
HandlersController: () => import_handlers_controller.HandlersController,
|
|
21
22
|
HttpNetworkFrame: () => import_http_frame.HttpNetworkFrame,
|
|
23
|
+
InMemoryHandlersController: () => import_handlers_controller.InMemoryHandlersController,
|
|
22
24
|
InterceptorSource: () => import_interceptor_source.InterceptorSource,
|
|
23
25
|
NetworkFrame: () => import_network_frame.NetworkFrame,
|
|
24
26
|
NetworkSource: () => import_network_source.NetworkSource,
|
|
@@ -32,4 +34,5 @@ var import_interceptor_source = require("./sources/interceptor-source");
|
|
|
32
34
|
var import_network_frame = require("./frames/network-frame");
|
|
33
35
|
var import_http_frame = require("./frames/http-frame");
|
|
34
36
|
var import_websocket_frame = require("./frames/websocket-frame");
|
|
37
|
+
var import_handlers_controller = require("./handlers-controller");
|
|
35
38
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/core/experimental/index.ts"],"sourcesContent":["export { defineNetwork, type DefineNetworkOptions } from './define-network'\n\n/* Network sources */\nexport { NetworkSource } from './sources/network-source'\nexport { InterceptorSource } from './sources/interceptor-source'\n\n/* Frames */\nexport { NetworkFrame } from './frames/network-frame'\nexport {\n HttpNetworkFrame,\n type HttpNetworkFrameEventMap,\n} from './frames/http-frame'\nexport {\n WebSocketNetworkFrame,\n type WebSocketNetworkFrameEventMap,\n} from './frames/websocket-frame'\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAyD;AAGzD,4BAA8B;AAC9B,gCAAkC;AAGlC,2BAA6B;AAC7B,wBAGO;AACP,6BAGO;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/core/experimental/index.ts"],"sourcesContent":["export { defineNetwork, type DefineNetworkOptions } from './define-network'\n\n/* Network sources */\nexport { NetworkSource } from './sources/network-source'\nexport { InterceptorSource } from './sources/interceptor-source'\n\n/* Frames */\nexport { NetworkFrame } from './frames/network-frame'\nexport {\n HttpNetworkFrame,\n type HttpNetworkFrameEventMap,\n} from './frames/http-frame'\nexport {\n WebSocketNetworkFrame,\n type WebSocketNetworkFrameEventMap,\n} from './frames/websocket-frame'\n\n/* Handler controllers */\nexport {\n HandlersController,\n InMemoryHandlersController,\n} from './handlers-controller'\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAyD;AAGzD,4BAA8B;AAC9B,gCAAkC;AAGlC,2BAA6B;AAC7B,wBAGO;AACP,6BAGO;AAGP,iCAGO;","names":[]}
|
|
@@ -8,8 +8,14 @@ import {
|
|
|
8
8
|
import {
|
|
9
9
|
WebSocketNetworkFrame
|
|
10
10
|
} from './frames/websocket-frame.mjs';
|
|
11
|
+
import {
|
|
12
|
+
HandlersController,
|
|
13
|
+
InMemoryHandlersController
|
|
14
|
+
} from './handlers-controller.mjs';
|
|
11
15
|
export {
|
|
16
|
+
HandlersController,
|
|
12
17
|
HttpNetworkFrame,
|
|
18
|
+
InMemoryHandlersController,
|
|
13
19
|
InterceptorSource,
|
|
14
20
|
NetworkFrame,
|
|
15
21
|
NetworkSource,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/core/experimental/index.ts"],"sourcesContent":["export { defineNetwork, type DefineNetworkOptions } from './define-network'\n\n/* Network sources */\nexport { NetworkSource } from './sources/network-source'\nexport { InterceptorSource } from './sources/interceptor-source'\n\n/* Frames */\nexport { NetworkFrame } from './frames/network-frame'\nexport {\n HttpNetworkFrame,\n type HttpNetworkFrameEventMap,\n} from './frames/http-frame'\nexport {\n WebSocketNetworkFrame,\n type WebSocketNetworkFrameEventMap,\n} from './frames/websocket-frame'\n"],"mappings":"AAAA,SAAS,qBAAgD;AAGzD,SAAS,qBAAqB;AAC9B,SAAS,yBAAyB;AAGlC,SAAS,oBAAoB;AAC7B;AAAA,EACE;AAAA,OAEK;AACP;AAAA,EACE;AAAA,OAEK;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/core/experimental/index.ts"],"sourcesContent":["export { defineNetwork, type DefineNetworkOptions } from './define-network'\n\n/* Network sources */\nexport { NetworkSource } from './sources/network-source'\nexport { InterceptorSource } from './sources/interceptor-source'\n\n/* Frames */\nexport { NetworkFrame } from './frames/network-frame'\nexport {\n HttpNetworkFrame,\n type HttpNetworkFrameEventMap,\n} from './frames/http-frame'\nexport {\n WebSocketNetworkFrame,\n type WebSocketNetworkFrameEventMap,\n} from './frames/websocket-frame'\n\n/* Handler controllers */\nexport {\n HandlersController,\n InMemoryHandlersController,\n} from './handlers-controller'\n"],"mappings":"AAAA,SAAS,qBAAgD;AAGzD,SAAS,qBAAqB;AAC9B,SAAS,yBAAyB;AAGlC,SAAS,oBAAoB;AAC7B;AAAA,EACE;AAAA,OAEK;AACP;AAAA,EACE;AAAA,OAEK;AAGP;AAAA,EACE;AAAA,EACA;AAAA,OACK;","names":[]}
|
package/lib/mockServiceWorker.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* - Please do NOT modify this file.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
const PACKAGE_VERSION = '2.14.
|
|
10
|
+
const PACKAGE_VERSION = '2.14.1'
|
|
11
11
|
const INTEGRITY_CHECKSUM = '4db4a41e972cec1b64cc569c66952d82'
|
|
12
12
|
const IS_MOCKED_RESPONSE = Symbol('isMockedResponse')
|
|
13
13
|
const activeClientIds = new Set()
|
package/lib/node/index.d.mts
CHANGED
|
@@ -110,4 +110,4 @@ declare class SetupServerApi extends SetupServerCommonApi implements SetupServer
|
|
|
110
110
|
constructor(handlers: Array<AnyHandler>, interceptors: Array<Interceptor<any>>);
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
-
export { type SetupServer, SetupServerApi, SetupServerCommonApi, defaultNetworkOptions, setupServer };
|
|
113
|
+
export { AsyncHandlersController, type SetupServer, SetupServerApi, SetupServerCommonApi, defaultNetworkOptions, setupServer };
|
package/lib/node/index.d.ts
CHANGED
|
@@ -110,4 +110,4 @@ declare class SetupServerApi extends SetupServerCommonApi implements SetupServer
|
|
|
110
110
|
constructor(handlers: Array<AnyHandler>, interceptors: Array<Interceptor<any>>);
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
-
export { type SetupServer, SetupServerApi, SetupServerCommonApi, defaultNetworkOptions, setupServer };
|
|
113
|
+
export { AsyncHandlersController, type SetupServer, SetupServerApi, SetupServerCommonApi, defaultNetworkOptions, setupServer };
|
package/lib/node/index.js
CHANGED
|
@@ -20,6 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/node/index.ts
|
|
21
21
|
var index_exports = {};
|
|
22
22
|
__export(index_exports, {
|
|
23
|
+
AsyncHandlersController: () => AsyncHandlersController,
|
|
23
24
|
SetupServerApi: () => SetupServerApi,
|
|
24
25
|
SetupServerCommonApi: () => SetupServerCommonApi,
|
|
25
26
|
defaultNetworkOptions: () => defaultNetworkOptions,
|
|
@@ -199,6 +200,7 @@ var SetupServerApi = class extends SetupServerCommonApi {
|
|
|
199
200
|
};
|
|
200
201
|
// Annotate the CommonJS export names for ESM import in node:
|
|
201
202
|
0 && (module.exports = {
|
|
203
|
+
AsyncHandlersController,
|
|
202
204
|
SetupServerApi,
|
|
203
205
|
SetupServerCommonApi,
|
|
204
206
|
defaultNetworkOptions,
|
package/lib/node/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/node/index.ts","../../src/node/setup-server.ts","../../src/node/async-handlers-controller.ts","../../src/node/setup-server-common.ts"],"sourcesContent":["export type { SetupServer } from './glossary'\nexport {\n setupServer,\n SetupServerApi,\n defaultNetworkOptions,\n} from './setup-server'\nexport { SetupServerCommonApi } from './setup-server-common'\n","import type { Interceptor } from '@mswjs/interceptors'\nimport { ClientRequestInterceptor } from '@mswjs/interceptors/ClientRequest'\nimport { XMLHttpRequestInterceptor } from '@mswjs/interceptors/XMLHttpRequest'\nimport { FetchInterceptor } from '@mswjs/interceptors/fetch'\nimport { WebSocketInterceptor } from '@mswjs/interceptors/WebSocket'\nimport {\n defineNetwork,\n type DefineNetworkOptions,\n} from '#core/experimental/define-network'\nimport type { AnyHandler } from '#core/experimental/handlers-controller'\nimport { InterceptorSource } from '#core/experimental/sources/interceptor-source'\nimport type { SetupServer } from './glossary'\nimport { AsyncHandlersController } from './async-handlers-controller'\nimport {\n defineSetupServerApi,\n SetupServerCommonApi,\n} from './setup-server-common'\n\nconst defaultInterceptors: Array<Interceptor<any>> = [\n new ClientRequestInterceptor(),\n new XMLHttpRequestInterceptor(),\n new FetchInterceptor(),\n /**\n * @fixme WebSocketInterceptor is in a browser-only export of Interceptors\n * while the Interceptor class imported from the root module points to `lib/node`.\n * An absolute madness to solve as it requires to duplicate the build config we have\n * in MSW: shared core, CJS/ESM patching, .d.ts patching...\n */\n new WebSocketInterceptor() as any,\n]\n\nexport const defaultNetworkOptions: DefineNetworkOptions<[InterceptorSource]> =\n {\n sources: [\n new InterceptorSource({\n interceptors: defaultInterceptors,\n }),\n ],\n onUnhandledFrame: 'warn',\n context: {\n quiet: true,\n },\n }\n\n/**\n * Enables request interception in Node.js with the given request handlers.\n * @see {@link https://mswjs.io/docs/api/setup-server `setupServer()` API reference}\n */\nexport function setupServer(...handlers: Array<AnyHandler>): SetupServer {\n const handlersController = new AsyncHandlersController(handlers)\n const network = defineNetwork({\n ...defaultNetworkOptions,\n handlers: handlersController,\n })\n\n const commonApi = defineSetupServerApi(network)\n\n return {\n ...commonApi,\n boundary: handlersController.boundary.bind(handlersController),\n }\n}\n\n/**\n * @deprecated\n * Please use the `defineNetwork` API instead.\n */\nexport class SetupServerApi\n extends SetupServerCommonApi\n implements SetupServer\n{\n #handlersController: AsyncHandlersController\n\n public boundary: AsyncHandlersController['boundary']\n\n constructor(\n handlers: Array<AnyHandler>,\n interceptors: Array<Interceptor<any>>,\n ) {\n const controller = new AsyncHandlersController(handlers)\n super(interceptors, controller)\n\n const { sources: _, ...networkOptions } = defaultNetworkOptions\n this.network.configure(networkOptions)\n\n this.#handlersController = controller\n this.boundary = this.#handlersController.boundary.bind(\n this.#handlersController,\n )\n }\n}\n","import { AsyncLocalStorage } from 'node:async_hooks'\nimport {\n HandlersController,\n type AnyHandler,\n type HandlersMap,\n type HandlersControllerState,\n} from '#core/experimental/handlers-controller'\n\nexport interface AsyncHandlersControllerContext {\n initialHandlers: HandlersMap\n handlers: HandlersMap\n}\n\nexport class AsyncHandlersController extends HandlersController {\n #asyncContext: AsyncLocalStorage<AsyncHandlersControllerContext>\n #fallbackContext: AsyncHandlersControllerContext\n\n constructor(initialHandlers: Array<AnyHandler>) {\n super()\n\n const initialState = this.getInitialState(initialHandlers)\n\n this.#asyncContext = new AsyncLocalStorage()\n this.#fallbackContext = {\n initialHandlers: initialState.initialHandlers,\n handlers: initialState.handlers,\n }\n }\n\n protected getState() {\n const { initialHandlers, handlers } = this.#getContext()\n\n return {\n initialHandlers,\n handlers,\n }\n }\n\n protected setState(nextState: HandlersControllerState): void {\n const context = this.#getContext()\n\n if (nextState.initialHandlers) {\n context.initialHandlers = nextState.initialHandlers\n }\n\n if (nextState.handlers) {\n context.handlers = nextState.handlers\n }\n }\n\n public boundary<Args extends Array<any>, R>(callback: (...args: Args) => R) {\n return (...args: Args) => {\n const initialHandlers = { ...this.getState().handlers }\n\n return this.#asyncContext.run(\n {\n initialHandlers,\n handlers: { ...initialHandlers },\n },\n callback,\n ...args,\n )\n }\n }\n\n #getContext() {\n return this.#asyncContext.getStore() || this.#fallbackContext\n }\n}\n","import type { PartialDeep } from 'type-fest'\nimport type { Interceptor } from '@mswjs/interceptors'\nimport {\n NetworkReadyState,\n defineNetwork,\n type NetworkApi,\n} from '#core/experimental/define-network'\nimport type { AnyHandler } from '#core/experimental/handlers-controller'\nimport type { HandlersController } from '#core/experimental/handlers-controller'\nimport { InterceptorSource } from '#core/experimental/sources/interceptor-source'\nimport { fromLegacyOnUnhandledRequest } from '#core/experimental/compat'\nimport type { ListenOptions, SetupServerCommon } from './glossary'\n\n/**\n * Define the common `setupServer` API around the given network.\n * This is used by both `msw/node` and `msw/native` to implement the same\n * baseline setup methods, like `.use()`, `.resetHandlers()`, `.close()`, etc.\n */\nexport function defineSetupServerApi(\n network: NetworkApi<any>,\n): SetupServerCommon {\n return {\n events: network.events,\n listen(options) {\n network.configure({\n onUnhandledFrame: fromLegacyOnUnhandledRequest(() => {\n return options?.onUnhandledRequest || 'warn'\n }),\n })\n\n network.enable()\n },\n use: network.use.bind(network),\n resetHandlers: network.resetHandlers.bind(network),\n restoreHandlers: network.restoreHandlers.bind(network),\n listHandlers: network.listHandlers.bind(network),\n close() {\n /**\n * @note Ignore closing after closed for backwards compatibility.\n */\n if (network.readyState === NetworkReadyState.DISABLED) {\n return\n }\n\n network.disable()\n },\n }\n}\n\n/**\n * @deprecated\n * Please use the `defineNetwork` API instead.\n */\nexport class SetupServerCommonApi implements SetupServerCommon {\n protected network: NetworkApi<[InterceptorSource]>\n\n constructor(\n interceptors: Array<Interceptor<any>>,\n handlers: Array<AnyHandler> | HandlersController,\n ) {\n this.network = defineNetwork({\n sources: [new InterceptorSource({ interceptors })],\n handlers,\n })\n }\n\n get events() {\n return this.network.events\n }\n\n public listen(options?: PartialDeep<ListenOptions>): void {\n this.network.configure({\n onUnhandledFrame: fromLegacyOnUnhandledRequest(() => {\n return options?.onUnhandledRequest || 'warn'\n }),\n })\n\n this.network.enable()\n }\n\n public use(...handlers: Array<AnyHandler>): void {\n this.network.use(...handlers)\n }\n\n public resetHandlers(...nextHandlers: Array<AnyHandler>): void {\n return this.network.resetHandlers(...nextHandlers)\n }\n\n public restoreHandlers(): void {\n return this.network.restoreHandlers()\n }\n\n public listHandlers(): ReadonlyArray<AnyHandler> {\n return this.network.listHandlers()\n }\n\n public close(): void {\n this.network.disable()\n }\n}\n"],"mappings":"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","names":["import_define_network","import_interceptor_source"]}
|
|
1
|
+
{"version":3,"sources":["../../src/node/index.ts","../../src/node/setup-server.ts","../../src/node/async-handlers-controller.ts","../../src/node/setup-server-common.ts"],"sourcesContent":["export type { SetupServer } from './glossary'\nexport {\n setupServer,\n SetupServerApi,\n defaultNetworkOptions,\n} from './setup-server'\nexport { SetupServerCommonApi } from './setup-server-common'\nexport { AsyncHandlersController } from './async-handlers-controller'\n","import type { Interceptor } from '@mswjs/interceptors'\nimport { ClientRequestInterceptor } from '@mswjs/interceptors/ClientRequest'\nimport { XMLHttpRequestInterceptor } from '@mswjs/interceptors/XMLHttpRequest'\nimport { FetchInterceptor } from '@mswjs/interceptors/fetch'\nimport { WebSocketInterceptor } from '@mswjs/interceptors/WebSocket'\nimport {\n defineNetwork,\n type DefineNetworkOptions,\n} from '#core/experimental/define-network'\nimport type { AnyHandler } from '#core/experimental/handlers-controller'\nimport { InterceptorSource } from '#core/experimental/sources/interceptor-source'\nimport type { SetupServer } from './glossary'\nimport { AsyncHandlersController } from './async-handlers-controller'\nimport {\n defineSetupServerApi,\n SetupServerCommonApi,\n} from './setup-server-common'\n\nconst defaultInterceptors: Array<Interceptor<any>> = [\n new ClientRequestInterceptor(),\n new XMLHttpRequestInterceptor(),\n new FetchInterceptor(),\n /**\n * @fixme WebSocketInterceptor is in a browser-only export of Interceptors\n * while the Interceptor class imported from the root module points to `lib/node`.\n * An absolute madness to solve as it requires to duplicate the build config we have\n * in MSW: shared core, CJS/ESM patching, .d.ts patching...\n */\n new WebSocketInterceptor() as any,\n]\n\nexport const defaultNetworkOptions: DefineNetworkOptions<[InterceptorSource]> =\n {\n sources: [\n new InterceptorSource({\n interceptors: defaultInterceptors,\n }),\n ],\n onUnhandledFrame: 'warn',\n context: {\n quiet: true,\n },\n }\n\n/**\n * Enables request interception in Node.js with the given request handlers.\n * @see {@link https://mswjs.io/docs/api/setup-server `setupServer()` API reference}\n */\nexport function setupServer(...handlers: Array<AnyHandler>): SetupServer {\n const handlersController = new AsyncHandlersController(handlers)\n const network = defineNetwork({\n ...defaultNetworkOptions,\n handlers: handlersController,\n })\n\n const commonApi = defineSetupServerApi(network)\n\n return {\n ...commonApi,\n boundary: handlersController.boundary.bind(handlersController),\n }\n}\n\n/**\n * @deprecated\n * Please use the `defineNetwork` API instead.\n */\nexport class SetupServerApi\n extends SetupServerCommonApi\n implements SetupServer\n{\n #handlersController: AsyncHandlersController\n\n public boundary: AsyncHandlersController['boundary']\n\n constructor(\n handlers: Array<AnyHandler>,\n interceptors: Array<Interceptor<any>>,\n ) {\n const controller = new AsyncHandlersController(handlers)\n super(interceptors, controller)\n\n const { sources: _, ...networkOptions } = defaultNetworkOptions\n this.network.configure(networkOptions)\n\n this.#handlersController = controller\n this.boundary = this.#handlersController.boundary.bind(\n this.#handlersController,\n )\n }\n}\n","import { AsyncLocalStorage } from 'node:async_hooks'\nimport {\n HandlersController,\n type AnyHandler,\n type HandlersMap,\n type HandlersControllerState,\n} from '#core/experimental/handlers-controller'\n\nexport interface AsyncHandlersControllerContext {\n initialHandlers: HandlersMap\n handlers: HandlersMap\n}\n\nexport class AsyncHandlersController extends HandlersController {\n #asyncContext: AsyncLocalStorage<AsyncHandlersControllerContext>\n #fallbackContext: AsyncHandlersControllerContext\n\n constructor(initialHandlers: Array<AnyHandler>) {\n super()\n\n const initialState = this.getInitialState(initialHandlers)\n\n this.#asyncContext = new AsyncLocalStorage()\n this.#fallbackContext = {\n initialHandlers: initialState.initialHandlers,\n handlers: initialState.handlers,\n }\n }\n\n protected getState() {\n const { initialHandlers, handlers } = this.#getContext()\n\n return {\n initialHandlers,\n handlers,\n }\n }\n\n protected setState(nextState: HandlersControllerState): void {\n const context = this.#getContext()\n\n if (nextState.initialHandlers) {\n context.initialHandlers = nextState.initialHandlers\n }\n\n if (nextState.handlers) {\n context.handlers = nextState.handlers\n }\n }\n\n public boundary<Args extends Array<any>, R>(callback: (...args: Args) => R) {\n return (...args: Args) => {\n const initialHandlers = { ...this.getState().handlers }\n\n return this.#asyncContext.run(\n {\n initialHandlers,\n handlers: { ...initialHandlers },\n },\n callback,\n ...args,\n )\n }\n }\n\n #getContext() {\n return this.#asyncContext.getStore() || this.#fallbackContext\n }\n}\n","import type { PartialDeep } from 'type-fest'\nimport type { Interceptor } from '@mswjs/interceptors'\nimport {\n NetworkReadyState,\n defineNetwork,\n type NetworkApi,\n} from '#core/experimental/define-network'\nimport type { AnyHandler } from '#core/experimental/handlers-controller'\nimport type { HandlersController } from '#core/experimental/handlers-controller'\nimport { InterceptorSource } from '#core/experimental/sources/interceptor-source'\nimport { fromLegacyOnUnhandledRequest } from '#core/experimental/compat'\nimport type { ListenOptions, SetupServerCommon } from './glossary'\n\n/**\n * Define the common `setupServer` API around the given network.\n * This is used by both `msw/node` and `msw/native` to implement the same\n * baseline setup methods, like `.use()`, `.resetHandlers()`, `.close()`, etc.\n */\nexport function defineSetupServerApi(\n network: NetworkApi<any>,\n): SetupServerCommon {\n return {\n events: network.events,\n listen(options) {\n network.configure({\n onUnhandledFrame: fromLegacyOnUnhandledRequest(() => {\n return options?.onUnhandledRequest || 'warn'\n }),\n })\n\n network.enable()\n },\n use: network.use.bind(network),\n resetHandlers: network.resetHandlers.bind(network),\n restoreHandlers: network.restoreHandlers.bind(network),\n listHandlers: network.listHandlers.bind(network),\n close() {\n /**\n * @note Ignore closing after closed for backwards compatibility.\n */\n if (network.readyState === NetworkReadyState.DISABLED) {\n return\n }\n\n network.disable()\n },\n }\n}\n\n/**\n * @deprecated\n * Please use the `defineNetwork` API instead.\n */\nexport class SetupServerCommonApi implements SetupServerCommon {\n protected network: NetworkApi<[InterceptorSource]>\n\n constructor(\n interceptors: Array<Interceptor<any>>,\n handlers: Array<AnyHandler> | HandlersController,\n ) {\n this.network = defineNetwork({\n sources: [new InterceptorSource({ interceptors })],\n handlers,\n })\n }\n\n get events() {\n return this.network.events\n }\n\n public listen(options?: PartialDeep<ListenOptions>): void {\n this.network.configure({\n onUnhandledFrame: fromLegacyOnUnhandledRequest(() => {\n return options?.onUnhandledRequest || 'warn'\n }),\n })\n\n this.network.enable()\n }\n\n public use(...handlers: Array<AnyHandler>): void {\n this.network.use(...handlers)\n }\n\n public resetHandlers(...nextHandlers: Array<AnyHandler>): void {\n return this.network.resetHandlers(...nextHandlers)\n }\n\n public restoreHandlers(): void {\n return this.network.restoreHandlers()\n }\n\n public listHandlers(): ReadonlyArray<AnyHandler> {\n return this.network.listHandlers()\n }\n\n public close(): void {\n this.network.disable()\n }\n}\n"],"mappings":"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","names":["import_define_network","import_interceptor_source"]}
|
package/lib/node/index.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "msw",
|
|
3
|
-
"version": "2.14.
|
|
3
|
+
"version": "2.14.1",
|
|
4
4
|
"description": "Seamless REST/GraphQL API mocking library for browser and Node.js.",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"main": "./lib/core/index.js",
|
|
@@ -286,7 +286,7 @@
|
|
|
286
286
|
"vitest-environment-miniflare": "^2.14.4",
|
|
287
287
|
"webpack": "^5.106.2",
|
|
288
288
|
"webpack-http-server": "^0.5.0",
|
|
289
|
-
"msw": "^2.14.
|
|
289
|
+
"msw": "^2.14.1"
|
|
290
290
|
},
|
|
291
291
|
"peerDependencies": {
|
|
292
292
|
"typescript": ">= 4.8.x"
|
package/src/node/index.ts
CHANGED