UNPKG

@antv/f6-plugin

Version:
33 lines (29 loc) 758 B
import { __spreadArray } from "tslib"; var events = {}; export function dispatch(key) { var args = []; for (var _i = 1; _i < arguments.length; _i++) { args[_i - 1] = arguments[_i]; } var fns = events[key]; fns === null || fns === void 0 ? void 0 : fns.forEach(function (fn) { fn.apply(null, args); }); } export function subscribe(key, fn) { events[key] = __spreadArray(__spreadArray([], events[key] || []), [fn]); } export function unsubscribe(key, fn) { var _a; if (!fn) { delete events[key]; return; } if (events[key]) { var index = (_a = events[key]) === null || _a === void 0 ? void 0 : _a.indexOf(fn); index > -1 && events[key].splice(index, 1); } } export function unsubscribeAll() { events = {}; }