UNPKG

bus-plus

Version:

bus bus-plus 公交车 mitter 事件订阅 事件发布

1 lines 3.3 kB
"use strict";var __webpack_require__={};__webpack_require__.d=function(e,r){for(var t in r)__webpack_require__.o(r,t)&&!__webpack_require__.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},__webpack_require__.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},__webpack_require__.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};function _array_like_to_array(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,a=Array(r);t<r;t++)a[t]=e[t];return a}function _array_without_holes(e){if(Array.isArray(e))return _array_like_to_array(e)}function _class_call_check(e,r){if(!(e instanceof r))throw TypeError("Cannot call a class as a function")}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var a=r[t];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function _create_class(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),e}function _define_property(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function _iterable_to_array(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _non_iterable_spread(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _to_consumable_array(e){return _array_without_holes(e)||_iterable_to_array(e)||_unsupported_iterable_to_array(e)||_non_iterable_spread()}function _unsupported_iterable_to_array(e,r){if(e){if("string"==typeof e)return _array_like_to_array(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return _array_like_to_array(e,r)}}__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{BusPlus:function(){return BusPlus}});var BusPlus=function(){function e(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Map;_class_call_check(this,e),_define_property(this,"maps",void 0),this.maps=r}return _create_class(e,[{key:"useEvent",value:function(e,r,t){var a={once:t,handle:r};if(this.maps.has(e)){var n=this.maps.get(e);n.push(a),this.maps.set(e,n)}else this.maps.set(e,[a])}},{key:"on",value:function(e,r){return this.useEvent(e,r,!1),this}},{key:"once",value:function(e,r){this.useEvent(e,r,!0)}},{key:"off",value:function(e,r){if("function"==typeof r){var t=this.maps.get(e)||[];this.maps.set(e,t.filter(function(e){return e.handle!==r}))}else this.maps.delete(e);return this}},{key:"emit",value:function(e){for(var r=this,t=arguments.length,a=Array(t>1?t-1:0),n=1;n<t;n++)a[n-1]=arguments[n];return(this.maps.get(e)||[]).forEach(function(t){t.handle.apply(t,_to_consumable_array(a)),t.once&&r.off(e,t.handle)}),this}},{key:"has",value:function(e,r){return(this.maps.get(e)||[]).some(function(e){return e.handle===r})}},{key:"clear",value:function(){return this.maps.clear(),this}}]),e}();module.exports=__webpack_exports__;