UNPKG

agora-edu-core

Version:

Core APIs for building an online classroom

56 lines (55 loc) 1.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.EduEventCenter = void 0; require("core-js/modules/esnext.set.add-all.js"); require("core-js/modules/esnext.set.delete-all.js"); require("core-js/modules/esnext.set.difference.js"); require("core-js/modules/esnext.set.every.js"); require("core-js/modules/esnext.set.filter.js"); require("core-js/modules/esnext.set.find.js"); require("core-js/modules/esnext.set.intersection.js"); require("core-js/modules/esnext.set.is-disjoint-from.js"); require("core-js/modules/esnext.set.is-subset-of.js"); require("core-js/modules/esnext.set.is-superset-of.js"); require("core-js/modules/esnext.set.join.js"); require("core-js/modules/esnext.set.map.js"); require("core-js/modules/esnext.set.reduce.js"); require("core-js/modules/esnext.set.some.js"); require("core-js/modules/esnext.set.symmetric-difference.js"); require("core-js/modules/esnext.set.union.js"); var _agoraRteSdk = require("agora-rte-sdk"); var _type = require("./type"); var _EduEventCenter; class EduEventCenter extends _agoraRteSdk.AGEventEmitter { constructor() { super(); this._callbacks = new Set(); } emitClasroomEvents(type) { for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; } this.emit(_type.AgoraEduEventType.classroomEvents, type, ...args); } onClassroomEvents(cb) { if (this._callbacks.has(cb)) { return; } this._callbacks.add(cb); this.on(_type.AgoraEduEventType.classroomEvents, cb); } offClassroomEvents(cb) { this._callbacks.delete(cb); this.off(_type.AgoraEduEventType.classroomEvents, cb); } cleanup() { this._callbacks.forEach(cb => { this.offClassroomEvents(cb); }); } } exports.EduEventCenter = EduEventCenter; _EduEventCenter = EduEventCenter; EduEventCenter.shared = new _EduEventCenter();