@qier-player/danmaku
Version:
Powerful danmaku, support many features.
26 lines • 827 B
JavaScript
import { DomListener } from './dom';
var disposeMap = new Map();
export function getDisposeMap() {
return disposeMap;
}
export function addDispose(key, d) {
var _a;
if (!disposeMap.has(key))
disposeMap.set(key, []);
(_a = disposeMap.get(key)) === null || _a === void 0 ? void 0 : _a.push(d);
return d;
}
export function dispose(key) {
var _a;
if (disposeMap.has(key)) {
(_a = disposeMap.get(key)) === null || _a === void 0 ? void 0 : _a.forEach(function (item) { return item.dispose(); });
disposeMap.delete(key);
}
}
export function addDisposeListener(key, node, type, handler, options) {
var domListener = new DomListener(node, type, handler, options);
if (key)
addDispose(key, domListener);
return domListener;
}
//# sourceMappingURL=dispose.js.map