UNPKG

vitest-matchmedia-mock

Version:
59 lines (58 loc) 2.41 kB
interface MediaQueryList { readonly matches: boolean; readonly media: string; onchange: ((this: MediaQueryList, ev: MediaQueryListEvent) => any) | null; /** @deprecated */ addListener(callback: ((this: MediaQueryList, ev: MediaQueryListEvent) => any) | null): void; /** @deprecated */ removeListener(callback: ((this: MediaQueryList, ev: MediaQueryListEvent) => any) | null): void; addEventListener<K extends keyof MediaQueryListEventMap>(type: K, listener: (this: MediaQueryList, ev: MediaQueryListEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener<K extends keyof MediaQueryListEventMap>(type: K, listener: (this: MediaQueryList, ev: MediaQueryListEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } type MediaQueryListener = (this: MediaQueryList, ev: MediaQueryListEvent) => void; export default class MatchMediaMock { private mediaQueries; private mediaQueryList; private currentMediaQuery; constructor(); /** * Adds a new listener function for the specified media query * @private */ private addListener; /** * Removes a previously added listener function for the specified media query * @private */ private removeListener; /** * Updates the currently used media query, * and calls previously added listener functions registered for this media query * @public */ useMediaQuery(mediaQuery: string): never | void; /** * Returns an array listing the media queries for which the matchMedia has registered listeners * @public */ getMediaQueries(): string[]; /** * Returns a copy of the array of listeners for the specified media query * @public */ getListeners(mediaQuery: string): MediaQueryListener[]; /** * Clears all registered media queries and their listeners * @public */ clear(): void; /** * Clears all registered media queries and their listeners, * and destroys the implementation of `window.matchMedia` * @public */ destroy(): void; } export {};