CoolFace
Datasetpublic

basant307/AI_Governance_Project

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes48downloads
Interceptor-af98b768.d.ts64 linesDownload Raw Back to browser
1import { Logger } from '@open-draft/logger';2import { Emitter, Listener } from 'strict-event-emitter';3 4type InterceptorEventMap = Record<string, any>;5type InterceptorSubscription = () => void;6/**7 * Request header name to detect when a single request8 * is being handled by nested interceptors (XHR -> ClientRequest).9 * Obscure by design to prevent collisions with user-defined headers.10 * Ideally, come up with the Interceptor-level mechanism for this.11 * @see https://github.com/mswjs/interceptors/issues/37812 */13declare const INTERNAL_REQUEST_ID_HEADER_NAME = "x-interceptors-internal-request-id";14declare function getGlobalSymbol<V>(symbol: Symbol): V | undefined;15declare function deleteGlobalSymbol(symbol: Symbol): void;16declare enum InterceptorReadyState {17    INACTIVE = "INACTIVE",18    APPLYING = "APPLYING",19    APPLIED = "APPLIED",20    DISPOSING = "DISPOSING",21    DISPOSED = "DISPOSED"22}23type ExtractEventNames<Events extends Record<string, any>> = Events extends Record<infer EventName, any> ? EventName : never;24declare class Interceptor<Events extends InterceptorEventMap> {25    private readonly symbol;26    protected emitter: Emitter<Events>;27    protected subscriptions: Array<InterceptorSubscription>;28    protected logger: Logger;29    readyState: InterceptorReadyState;30    constructor(symbol: symbol);31    /**32     * Determine if this interceptor can be applied33     * in the current environment.34     */35    protected checkEnvironment(): boolean;36    /**37     * Apply this interceptor to the current process.38     * Returns an already running interceptor instance if it's present.39     */40    apply(): void;41    /**42     * Setup the module augments and stubs necessary for this interceptor.43     * This method is not run if there's a running interceptor instance44     * to prevent instantiating an interceptor multiple times.45     */46    protected setup(): void;47    /**48     * Listen to the interceptor's public events.49     */50    on<EventName extends ExtractEventNames<Events>>(event: EventName, listener: Listener<Events[EventName]>): this;51    once<EventName extends ExtractEventNames<Events>>(event: EventName, listener: Listener<Events[EventName]>): this;52    off<EventName extends ExtractEventNames<Events>>(event: EventName, listener: Listener<Events[EventName]>): this;53    removeAllListeners<EventName extends ExtractEventNames<Events>>(event?: EventName): this;54    /**55     * Disposes of any side-effects this interceptor has introduced.56     */57    dispose(): void;58    private getInstance;59    private setInstance;60    private clearInstance;61}62 63export { ExtractEventNames as E, Interceptor as I, InterceptorEventMap as a, InterceptorSubscription as b, INTERNAL_REQUEST_ID_HEADER_NAME as c, deleteGlobalSymbol as d, InterceptorReadyState as e, getGlobalSymbol as g };64 
basant307/AI_Governance_Project · CoolFace