agora-edu-core
Version:
Core APIs for building an online classroom
56 lines (55 loc) • 1.94 kB
JavaScript
;
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();