Spaces:
Running
Running
import { PartialDeep } from 'type-fest'; | |
import { RequestHandler } from "../core/handlers/RequestHandler"; | |
import { WebSocketHandler } from "../core/handlers/WebSocketHandler"; | |
import { SharedOptions, LifeCycleEventEmitter, LifeCycleEventsMap } from "../core/sharedOptions"; | |
import { BatchInterceptor, Interceptor, HttpRequestEventMap } from '@mswjs/interceptors'; | |
import { SetupApi } from "../core/SetupApi"; | |
interface SetupServerCommon { | |
/** | |
* Starts requests interception based on the previously provided request handlers. | |
* | |
* @see {@link https://mswjs.io/docs/api/setup-server/listen `server.listen()` API reference} | |
*/ | |
listen(options?: PartialDeep<SharedOptions>): void; | |
/** | |
* Stops requests interception by restoring all augmented modules. | |
* | |
* @see {@link https://mswjs.io/docs/api/setup-server/close `server.close()` API reference} | |
*/ | |
close(): void; | |
/** | |
* Prepends given request handlers to the list of existing handlers. | |
* | |
* @see {@link https://mswjs.io/docs/api/setup-server/use `server.use()` API reference} | |
*/ | |
use(...handlers: Array<RequestHandler | WebSocketHandler>): void; | |
/** | |
* Marks all request handlers that respond using `res.once()` as unused. | |
* | |
* @see {@link https://mswjs.io/docs/api/setup-server/restore-handlers `server.restore-handlers()` API reference} | |
*/ | |
restoreHandlers(): void; | |
/** | |
* Resets request handlers to the initial list given to the `setupServer` call, or to the explicit next request handlers list, if given. | |
* | |
* @see {@link https://mswjs.io/docs/api/setup-server/reset-handlers `server.reset-handlers()` API reference} | |
*/ | |
resetHandlers(...nextHandlers: Array<RequestHandler | WebSocketHandler>): void; | |
/** | |
* Returns a readonly list of currently active request handlers. | |
* | |
* @see {@link https://mswjs.io/docs/api/setup-server/list-handlers `server.listHandlers()` API reference} | |
*/ | |
listHandlers(): ReadonlyArray<RequestHandler | WebSocketHandler>; | |
/** | |
* Life-cycle events. | |
* Life-cycle events allow you to subscribe to the internal library events occurring during the request/response handling. | |
* | |
* @see {@link https://mswjs.io/docs/api/life-cycle-events Life-cycle Events API reference} | |
*/ | |
events: LifeCycleEventEmitter<LifeCycleEventsMap>; | |
} | |
interface SetupServer extends SetupServerCommon { | |
/** | |
* Wraps the given function in a boundary. Any changes to the | |
* network behavior (e.g. adding runtime request handlers via | |
* `server.use()`) will be scoped to this boundary only. | |
* @param callback A function to run (e.g. a test) | |
* | |
* @see {@link https://mswjs.io/docs/api/setup-server/boundary `server.boundary()` API reference} | |
*/ | |
boundary<Args extends Array<any>, R>(callback: (...args: Args) => R): (...args: Args) => R; | |
} | |
/** | |
* @note This API is extended by both "msw/node" and "msw/native" | |
* so be minding about the things you import! | |
*/ | |
declare class SetupServerCommonApi extends SetupApi<LifeCycleEventsMap> implements SetupServerCommon { | |
protected readonly interceptor: BatchInterceptor<Array<Interceptor<HttpRequestEventMap>>, HttpRequestEventMap>; | |
private resolvedOptions; | |
constructor(interceptors: Array<{ | |
new (): Interceptor<HttpRequestEventMap>; | |
}>, handlers: Array<RequestHandler | WebSocketHandler>); | |
/** | |
* Subscribe to all requests that are using the interceptor object | |
*/ | |
private init; | |
listen(options?: Partial<SharedOptions>): void; | |
close(): void; | |
} | |
declare class SetupServerApi extends SetupServerCommonApi implements SetupServer { | |
constructor(handlers: Array<RequestHandler | WebSocketHandler>); | |
boundary<Args extends Array<any>, R>(callback: (...args: Args) => R): (...args: Args) => R; | |
close(): void; | |
} | |
/** | |
* Sets up a requests interception in Node.js with the given request handlers. | |
* @param {RequestHandler[]} handlers List of request handlers. | |
* | |
* @see {@link https://mswjs.io/docs/api/setup-server `setupServer()` API reference} | |
*/ | |
declare const setupServer: (...handlers: Array<RequestHandler | WebSocketHandler>) => SetupServerApi; | |
export { type SetupServer, SetupServerApi, setupServer }; | |