UNPKG

@coze/uniapp-api

Version:

Official Coze UniApp SDK for seamless AI integration into your applications | 扣子官方 UniApp SDK,助您轻松集成 AI 能力到应用中

56 lines (55 loc) 1.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Events = void 0; /** * 事件系统类,用于替代UniApp的Events */ class Events { constructor() { Object.defineProperty(this, "events", { enumerable: true, configurable: true, writable: true, value: {} }); } on(eventName, callback) { if (!this.events[eventName]) { this.events[eventName] = []; } this.events[eventName].push(callback); return this; } off(eventName, callback) { if (!eventName) { this.events = {}; return this; } if (!callback) { delete this.events[eventName]; return this; } const callbacks = this.events[eventName]; if (callbacks) { const index = callbacks.indexOf(callback); if (index !== -1) { callbacks.splice(index, 1); } if (callbacks.length === 0) { delete this.events[eventName]; } } return this; } // eslint-disable-next-line @typescript-eslint/no-explicit-any trigger(eventName, ...args) { const callbacks = this.events[eventName]; if (callbacks) { callbacks.forEach(callback => { callback(...args); }); } return this; } } exports.Events = Events;