UNPKG

devexpress-richedit

Version:

DevExpress Rich Text Editor is an advanced word-processing tool designed for working with rich text documents.

25 lines (24 loc) 763 B
import { ListUtils } from '@devexpress/utils/lib/utils/list'; export class EventDispatcher { listeners = []; clear() { ListUtils.clear(this.listeners); } add(listener) { if (!ListUtils.unsafeAnyOf(this.listeners, currListener => currListener === listener)) this.listeners.push(listener); } remove(listener) { for (let i = 0, currListener; currListener = this.listeners[i]; i++) { if (currListener === listener) { this.listeners.splice(i, 1); break; } } } dispose() { const listeners = this.listeners; this.listeners = []; listeners.forEach(listener => listener.dispose?.()); } }