1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| "use strict";
| Object.defineProperty(exports, "__esModule", { value: true });
| // When attaching listeners, it's very easy to forget about them.
| // Especially if you do error handling and set timeouts.
| // So instead of checking if it's proper to throw an error on every timeout ever,
| // use this simple tool which will remove all listeners you have attached.
| exports.default = () => {
| const handlers = [];
| return {
| once(origin, event, fn) {
| origin.once(event, fn);
| handlers.push({ origin, event, fn });
| },
| unhandleAll() {
| for (const handler of handlers) {
| const { origin, event, fn } = handler;
| origin.removeListener(event, fn);
| }
| handlers.length = 0;
| }
| };
| };
|
|