jest-matchmedia-mock
Version:
Mock for fully testing any media queries with Jest
58 lines (57 loc) • 1.82 kB
TypeScript
interface MediaQueryList {
readonly matches: boolean;
readonly media: string;
onchange: MediaQueryListener | null;
/** @deprecated */
addListener(listener: MediaQueryListener): void;
/** @deprecated */
removeListener(listener: MediaQueryListener): void;
addEventListener(type: 'change', listener: MediaQueryListener): void;
removeEventListener(type: 'change', listener: MediaQueryListener): void;
dispatchEvent(event: Event): boolean;
}
declare type MediaQueryListener = (this: MediaQueryList, ev: MediaQueryListEvent) => void;
export default class MatchMedia {
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 {};