UNPKG

typescript-dotnet-events

Version:

Basic events/dispatching library. Part of the TypeScript.NET-Core libraries.

7 lines (6 loc) 1.76 kB
"use strict"; /*! * @author electricessence / https://github.com/electricessence/ * Licensing: MIT https://github.com/electricessence/TypeScript.NET-Core/blob/master/LICENSE.md */Object.defineProperty(exports,"__esModule",{value:!0});var tslib_1=require("tslib"),Types_1=require("typescript-dotnet-core/Types"),DisposableBase_1=require("typescript-dotnet-core/Disposable/DisposableBase"),ArgumentNullException_1=require("typescript-dotnet-core/Exceptions/ArgumentNullException"),ArgumentException_1=require("typescript-dotnet-core/Exceptions/ArgumentException"),Compare_1=require("typescript-dotnet-core/Compare"),NAME="EventDispatcherEntry",EventDispatcherEntry=function(p){function e(e,t,r,s){var n=p.call(this,NAME,s)||this;if(n.type=e,n.listener=t,n.params=r,!t)throw new ArgumentNullException_1.default("listener");if(Types_1.default.isObject(t)&&!Types_1.default.hasMemberOfType(t,"handleEvent",Types_1.default.FUNCTION))throw new ArgumentException_1.default("listener","is invalid type. Must be a function or an object with 'handleEvent'.");var i=n;return i.type=e,i.listener=t,i.params=r,n}return tslib_1.__extends(e,p),e.prototype._onDispose=function(){p.prototype._onDispose.call(this),this.listener=null},e.prototype.dispatch=function(e){var t=this;if(t.wasDisposed)return!1;var r=t.listener,s=r&&e.type==t.type;return s&&(Types_1.default.isFunction(r)?t.listener(e):r.handleEvent(e)),s},e.prototype.matches=function(e,t){return this.type==e&&this.listener==t},e.prototype.equals=function(e){return this.matches(e.type,e.listener)&&Compare_1.areEquivalent(this.params,e.params,!1)},e}(DisposableBase_1.default);exports.EventDispatcherEntry=EventDispatcherEntry,exports.default=EventDispatcherEntry; //# sourceMappingURL=EventDispatcherEntry.js.map