UNPKG

cu-events

Version:

Camelot Unchained Client Library - Events

55 lines (45 loc) 5.38 kB
/** * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var _createClass = (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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } var EVENT_NAME = 'init'; var initialised = false; function run(emitter) { function notify() { emitter.emit(EVENT_NAME, {}); } if (initialised) { notify(); } else { cuAPI.OnInitialized(function () { initialised = true; notify(); }); } } var InitListener = (function () { function InitListener() { _classCallCheck(this, InitListener); this.once = true; } _createClass(InitListener, [{ key: 'start', value: function start(emitter) { // for the init listener, we always want to run it // because it may be called post-init, in which case // it needs to fire the handler immediately run(emitter); } }]); return InitListener; })(); exports['default'] = InitListener; module.exports = exports['default']; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRzL2xpc3RlbmVycy9Jbml0LnRzIl0sIm5hbWVzIjpbInJ1biIsInJ1bi5ub3RpZnkiLCJJbml0TGlzdGVuZXIiLCJJbml0TGlzdGVuZXIuY29uc3RydWN0b3IiLCJJbml0TGlzdGVuZXIuc3RhcnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQTZCQSxJQUFNLFVBQVUsR0FBRyxNQUFNLENBQUM7QUFDMUIsSUFBSSxXQUFXLEdBQUcsS0FBSyxDQUFDO0FBRXhCLFNBQUEsR0FBQSxDQUFhLE9BQXFCLEVBQUE7QUFDaENBLGFBQUFBLE1BQUFBLEdBQUFBO0FBQ0VDLGVBQU9BLENBQUNBLElBQUlBLENBQUNBLFVBQVVBLEVBQUVBLEVBQUVBLENBQUNBLENBQUNBO0tBQzlCQTtBQUNERCxRQUFJQSxXQUFXQSxFQUFFQTtBQUNmQSxjQUFNQSxFQUFFQSxDQUFDQTtLQUNWQSxNQUFNQTtBQUNMQSxhQUFLQSxDQUFDQSxhQUFhQSxDQUFDQSxZQUFBQTtBQUNsQkEsdUJBQVdBLEdBQUdBLElBQUlBLENBQUNBO0FBQ25CQSxrQkFBTUEsRUFBRUEsQ0FBQ0E7U0FDVkEsQ0FBQ0EsQ0FBQ0E7S0FDSkE7Q0FDRkE7O0lBRUQsWUFBQTtBQUVFRSxhQUZGLFlBQUEsR0FFRUE7OEJBRkYsWUFBQTs7QUFHSUMsWUFBSUEsQ0FBQ0EsSUFBSUEsR0FBR0EsSUFBSUEsQ0FBQ0E7S0FDbEJBOztpQkFKSCxZQUFBOztlQUtPRCxlQUFDQSxPQUFxQkEsRUFBQUE7Ozs7QUFJekJFLGVBQUdBLENBQUNBLE9BQU9BLENBQUNBLENBQUNBO1NBQ2RBOzs7V0FWSCxZQUFBOzs7cUJBQUEsWUFBQSIsImZpbGUiOiJ0cy9saXN0ZW5lcnMvSW5pdC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhpcyBTb3VyY2UgQ29kZSBGb3JtIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIG9mIHRoZSBNb3ppbGxhIFB1YmxpY1xuICogTGljZW5zZSwgdi4gMi4wLiBJZiBhIGNvcHkgb2YgdGhlIE1QTCB3YXMgbm90IGRpc3RyaWJ1dGVkIHdpdGggdGhpc1xuICogZmlsZSwgWW91IGNhbiBvYnRhaW4gb25lIGF0IGh0dHA6Ly9tb3ppbGxhLm9yZy9NUEwvMi4wLy5cbiAqL1xuXG4vLyBUaGlzIGxpc3RlbmVyIGhhbmRsZXMgdGhlIGN1QVBJLk9uSW5pdGlhbGl6ZWQuICBXaGVuIHRoZSBjdUFQSSBpc1xuLy8gaW5pdGlhbGlzZWQsIGFueSBoYW5kbGVycyBmb3IgdGhlIFwiaW5pdFwiIHRvcGljIChzZWUgY3UtZXZlbnRzLm9uKCkpXG4vLyBhcmUgdHJpZ2dlcmVkLiAgSWYgYSBoYW5kbGVyIGlzIHJlZ2lzdGVyZWQgZm9yIHRoZSB0b3BpYyBhZnRlclxuLy8gaW5pdGlhbGlzYXRpb24gaGFzIGFscmVhZHkgb2NjdXJlZCwgaXQgaXMgdHJpZ2dlcmVkIGltbWVkaWF0ZWx5LlxuLy9cbi8vIFRoZSBjdS1ldmVudHMub24oKSBtZXRob2QgYWx3YXlzIGNhbGxzIGEgbGlzdGVuZXJzIHN0YXJ0IG1ldGhvZCB0b1xuLy8gZW5zdXJlIGl0IGlzIHN0YXJ0ZWQsIHRoaXMgYWxsb3dzIHRoaXMgbGlzdGVuZXIgdG8gcmVzcG9uZCB0byBwb3N0XG4vLyBpbml0IHJlcXVlc3RzIGZvciBub3RpZmljYXRpb24gdGhhdCBpbml0aWFsc2lhdGlvbiBoYXMgYWNjdXJlZC5cbi8vIEl0IGFsc28gY2hlY2tzIGEgbGlzdGVuZXIncyBvbmNlIHByb3BlcnR5IHdoaWNoIGlmIHNldCBjYXVzZXMgdGhlXG4vLyByZWdpc3RlcmVkIGhhbmRsZXIgdG8gYmUgZGVyZWdpc3RlcmVkIGFzIHNvb24gYXMgaXQgaXMgZmlyZWQsXG4vLyAob25jZSB0aW1lIG9ubHkgZXZlbnRzKS5cbi8vXG4vL1x0VXNhZ2U6XG4vL1x0XHRpbXBvcnQgZXZlbnRzIGZyb20gJ2N1LWV2ZW50cyc7XG4vL1x0XHRldmVudHMub24oXCJpbml0XCIsICgpID0+IHtcbi8vXHRcdFx0Ly8gY3VBUEkgaW5pdGlhbGlzZWQgLyBhbHJlYWR5IGluaXRpYWxpc2VkLlxuLy8gIFx0fSk7XG4vL1xuXG5pbXBvcnQgRXZlbnRFbWl0dGVyIGZyb20gJy4uL2NsYXNzZXMvRXZlbnRFbWl0dGVyJztcblxuZGVjbGFyZSBjb25zdCBjdUFQSTogYW55O1xuXG5jb25zdCBFVkVOVF9OQU1FID0gJ2luaXQnO1xubGV0IGluaXRpYWxpc2VkID0gZmFsc2U7XG5cbmZ1bmN0aW9uIHJ1bihlbWl0dGVyOiBFdmVudEVtaXR0ZXIpIHtcbiAgZnVuY3Rpb24gbm90aWZ5KCkge1xuICAgIGVtaXR0ZXIuZW1pdChFVkVOVF9OQU1FLCB7fSk7XG4gIH1cbiAgaWYgKGluaXRpYWxpc2VkKSB7XG4gICAgbm90aWZ5KCk7XG4gIH0gZWxzZSB7XG4gICAgY3VBUEkuT25Jbml0aWFsaXplZCgoKSA9PiB7XG4gICAgICBpbml0aWFsaXNlZCA9IHRydWU7XG4gICAgICBub3RpZnkoKTtcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJbml0TGlzdGVuZXIge1xuICBvbmNlOiBib29sZWFuO1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLm9uY2UgPSB0cnVlO1xuICB9XG4gIHN0YXJ0KGVtaXR0ZXI6IEV2ZW50RW1pdHRlcik6IHZvaWQge1xuICAgIC8vIGZvciB0aGUgaW5pdCBsaXN0ZW5lciwgd2UgYWx3YXlzIHdhbnQgdG8gcnVuIGl0XG4gICAgLy8gYmVjYXVzZSBpdCBtYXkgYmUgY2FsbGVkIHBvc3QtaW5pdCwgaW4gd2hpY2ggY2FzZVxuICAgIC8vIGl0IG5lZWRzIHRvIGZpcmUgdGhlIGhhbmRsZXIgaW1tZWRpYXRlbHlcbiAgICBydW4oZW1pdHRlcik7XG4gIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiLi4vIn0=