teko-oauth2
Version:
Teko Identity OAuth 2 Javascript Library for Web App Client
52 lines (41 loc) • 1.62 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
var Event = /*#__PURE__*/function () {
function Event(name) {
_classCallCheck(this, Event);
this._name = name;
this._callbacks = [];
}
_createClass(Event, [{
key: "addHandler",
value: function addHandler(cb) {
this._callbacks.push(cb);
}
}, {
key: "removeHandler",
value: function removeHandler(cb) {
var idx = this._callbacks.findIndex(function (item) {
return item === cb;
});
if (idx >= 0) {
this._callbacks.splice(idx, 1);
}
}
}, {
key: "raise",
value: function raise() {
for (var i = 0; i < this._callbacks.length; i++) {
var _this$_callbacks;
(_this$_callbacks = this._callbacks)[i].apply(_this$_callbacks, arguments);
}
}
}]);
return Event;
}();
exports["default"] = Event;