UNPKG

@coze/uniapp-api

Version:

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

56 lines (55 loc) 1.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BaseEventSource = void 0; const types_1 = require("../types"); const types_2 = require("./types"); class BaseEventSource { constructor() { Object.defineProperty(this, "events", { enumerable: true, configurable: true, writable: true, value: new types_1.Events() }); Object.defineProperty(this, "isClosed", { enumerable: true, configurable: true, writable: true, value: false }); } on(eventName, handler) { this.events.on(eventName, handler); return this; } off(eventName, handler) { if (!eventName) { this.events.off(); } else if (!handler) { this.events.off(eventName); } else { this.events.off(eventName, handler); } return this; } trigger(eventName, args = {}) { // Success/Fail should only fired once if (this.isClosed && (eventName === types_2.EventName.Success || eventName === types_2.EventName.Fail)) { return this; } if (eventName === types_2.EventName.Success || eventName === types_2.EventName.Fail) { this.isClosed = true; } const msg = { event: eventName, data: args.data, errMsg: args.errMsg, }; this.events.trigger(eventName, msg); return this; } } exports.BaseEventSource = BaseEventSource;