UNPKG

@egjs/component

Version:

A base class utility that manages events and options in modules.

11 lines (10 loc) 2.79 kB
/* Copyright (c) NAVER Corp. name: @egjs/component license: MIT author: NAVER Corp. repository: https://github.com/naver/egjs-component version: 3.0.5 */ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Component=t()}(this,function(){"use strict";function f(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),f=[];try{for(;(void 0===t||0<t--)&&!(r=i.next()).done;)f.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return f}(arguments[t]));return e}function a(e){return void 0===e}var e,o=function(){function e(e,t){var n,r;if(this._canceled=!1,t)try{for(var o=function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return{value:(e=e&&r>=e.length?void 0:e)&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(Object.keys(t)),i=o.next();!i.done;i=o.next()){var f=i.value;this[f]=t[f]}}catch(e){n={error:e}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}this.eventType=e}var t=e.prototype;return t.stop=function(){this._canceled=!0},t.isCanceled=function(){return this._canceled},e}(),t=function(){function e(){this._eventHandler={}}var t=e.prototype;return t.trigger=function(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];var r=t instanceof o?t.eventType:t,r=f(this._eventHandler[r]||[]);return r.length<=0||(t instanceof o?(t.currentTarget=this,r.forEach(function(e){e(t)})):r.forEach(function(e){e.apply(void 0,f(n))})),this},t.once=function(n,r){var o,i=this;if("object"==typeof n&&a(r)){var e,t=n;for(e in t)this.once(e,t[e])}else"string"==typeof n&&"function"==typeof r&&(o=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];r.apply(void 0,f(e)),i.off(n,o)},this.on(n,o));return this},t.hasOn=function(e){return!!this._eventHandler[e]},t.on=function(e,t){if("object"==typeof e&&a(t)){var n,r=e;for(n in r)this.on(n,r[n])}else{var o;"string"==typeof e&&"function"==typeof t&&(o=this._eventHandler[e],a(o)&&(this._eventHandler[e]=[],o=this._eventHandler[e]),o.push(t))}return this},t.off=function(e,t){if(a(e))this._eventHandler={};else if(a(t))if("string"==typeof e)delete this._eventHandler[e];else{var n,r=e;for(n in r)this.off(n,r[n])}else{var o=this._eventHandler[e];if(o)for(var i=o.length,f=0;f<i;++f)if(o[f]===t){o.splice(f,1),i<=1&&delete this._eventHandler[e];break}}return this},e.VERSION="3.0.5",e}(),n={ComponentEvent:o,default:t};for(e in n)t[e]=n[e];return t}); //# sourceMappingURL=component.min.js.map