All files / app/events index.ts

100% Statements 7/7
100% Branches 0/0
100% Functions 2/2
100% Lines 7/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29                      23x 23x 23x 23x     307x       312x       23x      
import { Events } from 'types';
 
import { SearchEventsHandle } from './search';
import { FavoritesEventsHandle } from './favorites';
import { RelationsEventsHandle } from './relations';
import { AchievementsEventsHandle } from './achievements';
 
type Callback = (args: any) => void;
type Event = Events | keyof DocumentEventMap;
 
class EventsHandle {
  search = new SearchEventsHandle();
  favorites = new FavoritesEventsHandle();
  achievements = new AchievementsEventsHandle();
  relations = new RelationsEventsHandle();
 
  on(event: Event, callback: Callback) {
    document.addEventListener(event, callback);
  }
 
  off(event: Event, callback: Callback) {
    document.removeEventListener(event, callback);
  }
}
 
const events = new EventsHandle();
 
export { events };