Socket
Socket
Sign inDemoInstall

@semantic-ui-react/event-stack

Package Overview
Dependencies
9
Maintainers
2
Versions
10
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 3.1.0 to 3.1.1

21

lib/cjs/event-stack.development.js

@@ -280,4 +280,14 @@ 'use strict';

key: "hasHandlers",
value: function hasHandlers() {
return this.handlerSets.size > 0;
value: function hasHandlers(eventType) {
if (!eventType) {
return this.handlerSets.size > 0;
}
var eventSet = this.handlerSets.get(eventType);
if (eventSet) {
return eventSet.hasHandlers();
}
return false;
}

@@ -375,3 +385,8 @@ }, {

if (this.pools.size === 0) {
var hasHandlers = false;
this.pools.forEach(function (pool) {
return hasHandlers = hasHandlers || pool.hasHandlers(eventType);
});
if (!hasHandlers) {
this.removeTargetHandler(eventType);

@@ -378,0 +393,0 @@ }

2

lib/cjs/event-stack.production.js

@@ -1,1 +0,1 @@

"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var env=require("exenv");require("prop-types");var React=require("react");function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function _createClass(e,t,n){return t&&_defineProperties(e.prototype,t),n&&_defineProperties(e,n),e}function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&_setPrototypeOf(e,t)}function _getPrototypeOf(e){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _setPrototypeOf(e,t){return(_setPrototypeOf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _possibleConstructorReturn(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?_assertThisInitialized(e):t}var EventSet=function(){function e(t){_classCallCheck(this,e),_defineProperty(this,"handlers",void 0),this.handlers=t.slice(0)}return _createClass(e,[{key:"addHandlers",value:function(t){for(var n=this.handlers.slice(0),r=t.length,o=0;o<r;o+=1)n.push(t[o]);return new e(n)}},{key:"dispatchEvent",value:function(e,t){var n=this.handlers.length-1;if(t){for(var r=n;r>=0;r-=1)this.handlers[r].called||(this.handlers[r].called=!0,this.handlers[r](e));for(var o=n;o>=0;o-=1)this.handlers[o].called=!1}else{(0,this.handlers[n])(e)}}},{key:"hasHandlers",value:function(){return this.handlers.length>0}},{key:"removeHandlers",value:function(t){for(var n=[],r=this.handlers.length,o=0;o<r;o+=1){var a=this.handlers[o];-1===t.indexOf(a)&&n.push(a)}return new e(n)}}]),e}();function cloneMap(e){var t=new Map;return e.forEach(function(e,n){t.set(n,e)}),t}function normalizeHandlers(e){return Array.isArray(e)?e:[e]}var isRefObject=function(e){return null!==e&&"object"===_typeof(e)&&e.hasOwnProperty("current")};function normalizeTarget(e){return"document"===e?document:"window"===e?window:isRefObject(e)?e.current||document:e||document}var EventPool=function(){function e(t,n){_classCallCheck(this,e),_defineProperty(this,"handlerSets",void 0),_defineProperty(this,"poolName",void 0),this.handlerSets=n,this.poolName=t}return _createClass(e,[{key:"addHandlers",value:function(t,n){var r=cloneMap(this.handlerSets);if(r.has(t)){var o=r.get(t);r.set(t,o.addHandlers(n))}else r.set(t,new EventSet(n));return new e(this.poolName,r)}},{key:"dispatchEvent",value:function(e,t){var n=this.handlerSets.get(e),r="default"===this.poolName;n&&n.dispatchEvent(t,r)}},{key:"hasHandlers",value:function(){return this.handlerSets.size>0}},{key:"removeHandlers",value:function(t,n){var r=cloneMap(this.handlerSets);if(!r.has(t))return new e(this.poolName,r);var o=r.get(t).removeHandlers(n);return o.hasHandlers()?r.set(t,o):r.delete(t),new e(this.poolName,r)}}]),e}();_defineProperty(EventPool,"createByType",function(e,t,n){var r=new Map;return r.set(t,new EventSet(n)),new EventPool(e,r)});var EventTarget=function(){function e(t){var n=this;_classCallCheck(this,e),_defineProperty(this,"handlers",new Map),_defineProperty(this,"pools",new Map),_defineProperty(this,"target",void 0),_defineProperty(this,"createEmitter",function(e){return function(t){n.pools.forEach(function(n){n.dispatchEvent(e,t)})}}),this.target=t}return _createClass(e,[{key:"addHandlers",value:function(e,t,n){if(this.pools.has(e)){var r=this.pools.get(e);this.pools.set(e,r.addHandlers(t,n))}else this.pools.set(e,EventPool.createByType(e,t,n));this.handlers.has(t)||this.addTargetHandler(t)}},{key:"hasHandlers",value:function(){return this.handlers.size>0}},{key:"removeHandlers",value:function(e,t,n){if(this.pools.has(e)){var r=this.pools.get(e).removeHandlers(t,n);r.hasHandlers()?this.pools.set(e,r):this.pools.delete(e),0===this.pools.size&&this.removeTargetHandler(t)}}},{key:"addTargetHandler",value:function(e){var t=this.createEmitter(e);this.handlers.set(e,t),this.target.addEventListener(e,t,!0)}},{key:"removeTargetHandler",value:function(e){this.handlers.has(e)&&(this.target.removeEventListener(e,this.handlers.get(e),!0),this.handlers.delete(e))}}]),e}(),EventStack=function(){function e(){var t=this;_classCallCheck(this,e),_defineProperty(this,"targets",new Map),_defineProperty(this,"getTarget",function(e){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=normalizeTarget(e);if(t.targets.has(r))return t.targets.get(r);if(!n)return null;var o=new EventTarget(r);return t.targets.set(r,o),o}),_defineProperty(this,"removeTarget",function(e){t.targets.delete(normalizeTarget(e))})}return _createClass(e,[{key:"sub",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(env.canUseDOM){var r=n.target,o=void 0===r?document:r,a=n.pool,s=void 0===a?"default":a;this.getTarget(o).addHandlers(s,e,normalizeHandlers(t))}}},{key:"unsub",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(env.canUseDOM){var r=n.target,o=void 0===r?document:r,a=n.pool,s=void 0===a?"default":a,i=this.getTarget(o,!1);i&&(i.removeHandlers(s,e,normalizeHandlers(t)),i.hasHandlers()||this.removeTarget(o))}}}]),e}(),instance=new EventStack,EventStack$1=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,_getPrototypeOf(t).apply(this,arguments))}return _inherits(t,React.PureComponent),_createClass(t,[{key:"componentDidMount",value:function(){this.subscribe(this.props)}},{key:"componentDidUpdate",value:function(e){this.unsubscribe(e),this.subscribe(this.props)}},{key:"componentWillUnmount",value:function(){this.unsubscribe(this.props)}},{key:"subscribe",value:function(e){var t=e.name,n=e.on,r=e.pool,o=e.target;instance.sub(t,n,{pool:r,target:o})}},{key:"unsubscribe",value:function(e){var t=e.name,n=e.on,r=e.pool,o=e.target;instance.unsub(t,n,{pool:r,target:o})}},{key:"render",value:function(){return null}}]),t}();_defineProperty(EventStack$1,"defaultProps",{pool:"default",target:"document"}),EventStack$1.propTypes={},exports.instance=instance,exports.default=EventStack$1;
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var env=require("exenv");require("prop-types");var React=require("react");function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function _createClass(e,t,n){return t&&_defineProperties(e.prototype,t),n&&_defineProperties(e,n),e}function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&_setPrototypeOf(e,t)}function _getPrototypeOf(e){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _setPrototypeOf(e,t){return(_setPrototypeOf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _possibleConstructorReturn(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?_assertThisInitialized(e):t}var EventSet=function(){function e(t){_classCallCheck(this,e),_defineProperty(this,"handlers",void 0),this.handlers=t.slice(0)}return _createClass(e,[{key:"addHandlers",value:function(t){for(var n=this.handlers.slice(0),r=t.length,o=0;o<r;o+=1)n.push(t[o]);return new e(n)}},{key:"dispatchEvent",value:function(e,t){var n=this.handlers.length-1;if(t){for(var r=n;r>=0;r-=1)this.handlers[r].called||(this.handlers[r].called=!0,this.handlers[r](e));for(var o=n;o>=0;o-=1)this.handlers[o].called=!1}else{(0,this.handlers[n])(e)}}},{key:"hasHandlers",value:function(){return this.handlers.length>0}},{key:"removeHandlers",value:function(t){for(var n=[],r=this.handlers.length,o=0;o<r;o+=1){var a=this.handlers[o];-1===t.indexOf(a)&&n.push(a)}return new e(n)}}]),e}();function cloneMap(e){var t=new Map;return e.forEach(function(e,n){t.set(n,e)}),t}function normalizeHandlers(e){return Array.isArray(e)?e:[e]}var isRefObject=function(e){return null!==e&&"object"===_typeof(e)&&e.hasOwnProperty("current")};function normalizeTarget(e){return"document"===e?document:"window"===e?window:isRefObject(e)?e.current||document:e||document}var EventPool=function(){function e(t,n){_classCallCheck(this,e),_defineProperty(this,"handlerSets",void 0),_defineProperty(this,"poolName",void 0),this.handlerSets=n,this.poolName=t}return _createClass(e,[{key:"addHandlers",value:function(t,n){var r=cloneMap(this.handlerSets);if(r.has(t)){var o=r.get(t);r.set(t,o.addHandlers(n))}else r.set(t,new EventSet(n));return new e(this.poolName,r)}},{key:"dispatchEvent",value:function(e,t){var n=this.handlerSets.get(e),r="default"===this.poolName;n&&n.dispatchEvent(t,r)}},{key:"hasHandlers",value:function(e){if(!e)return this.handlerSets.size>0;var t=this.handlerSets.get(e);return!!t&&t.hasHandlers()}},{key:"removeHandlers",value:function(t,n){var r=cloneMap(this.handlerSets);if(!r.has(t))return new e(this.poolName,r);var o=r.get(t).removeHandlers(n);return o.hasHandlers()?r.set(t,o):r.delete(t),new e(this.poolName,r)}}]),e}();_defineProperty(EventPool,"createByType",function(e,t,n){var r=new Map;return r.set(t,new EventSet(n)),new EventPool(e,r)});var EventTarget=function(){function e(t){var n=this;_classCallCheck(this,e),_defineProperty(this,"handlers",new Map),_defineProperty(this,"pools",new Map),_defineProperty(this,"target",void 0),_defineProperty(this,"createEmitter",function(e){return function(t){n.pools.forEach(function(n){n.dispatchEvent(e,t)})}}),this.target=t}return _createClass(e,[{key:"addHandlers",value:function(e,t,n){if(this.pools.has(e)){var r=this.pools.get(e);this.pools.set(e,r.addHandlers(t,n))}else this.pools.set(e,EventPool.createByType(e,t,n));this.handlers.has(t)||this.addTargetHandler(t)}},{key:"hasHandlers",value:function(){return this.handlers.size>0}},{key:"removeHandlers",value:function(e,t,n){if(this.pools.has(e)){var r=this.pools.get(e).removeHandlers(t,n);r.hasHandlers()?this.pools.set(e,r):this.pools.delete(e);var o=!1;this.pools.forEach(function(e){return o=o||e.hasHandlers(t)}),o||this.removeTargetHandler(t)}}},{key:"addTargetHandler",value:function(e){var t=this.createEmitter(e);this.handlers.set(e,t),this.target.addEventListener(e,t,!0)}},{key:"removeTargetHandler",value:function(e){this.handlers.has(e)&&(this.target.removeEventListener(e,this.handlers.get(e),!0),this.handlers.delete(e))}}]),e}(),EventStack=function(){function e(){var t=this;_classCallCheck(this,e),_defineProperty(this,"targets",new Map),_defineProperty(this,"getTarget",function(e){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=normalizeTarget(e);if(t.targets.has(r))return t.targets.get(r);if(!n)return null;var o=new EventTarget(r);return t.targets.set(r,o),o}),_defineProperty(this,"removeTarget",function(e){t.targets.delete(normalizeTarget(e))})}return _createClass(e,[{key:"sub",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(env.canUseDOM){var r=n.target,o=void 0===r?document:r,a=n.pool,s=void 0===a?"default":a;this.getTarget(o).addHandlers(s,e,normalizeHandlers(t))}}},{key:"unsub",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(env.canUseDOM){var r=n.target,o=void 0===r?document:r,a=n.pool,s=void 0===a?"default":a,i=this.getTarget(o,!1);i&&(i.removeHandlers(s,e,normalizeHandlers(t)),i.hasHandlers()||this.removeTarget(o))}}}]),e}(),instance=new EventStack,EventStack$1=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,_getPrototypeOf(t).apply(this,arguments))}return _inherits(t,React.PureComponent),_createClass(t,[{key:"componentDidMount",value:function(){this.subscribe(this.props)}},{key:"componentDidUpdate",value:function(e){this.unsubscribe(e),this.subscribe(this.props)}},{key:"componentWillUnmount",value:function(){this.unsubscribe(this.props)}},{key:"subscribe",value:function(e){var t=e.name,n=e.on,r=e.pool,o=e.target;instance.sub(t,n,{pool:r,target:o})}},{key:"unsubscribe",value:function(e){var t=e.name,n=e.on,r=e.pool,o=e.target;instance.unsub(t,n,{pool:r,target:o})}},{key:"render",value:function(){return null}}]),t}();_defineProperty(EventStack$1,"defaultProps",{pool:"default",target:"document"}),EventStack$1.propTypes={},exports.instance=instance,exports.default=EventStack$1;

@@ -10,4 +10,4 @@ import EventSet from './EventSet';

dispatchEvent(eventType: string, event: Event): void;
hasHandlers(): boolean;
hasHandlers(eventType?: String): boolean;
removeHandlers(eventType: String, eventHandlers: EventListeners): EventPool;
}

@@ -321,4 +321,14 @@ (function (global, factory) {

key: "hasHandlers",
value: function hasHandlers() {
return this.handlerSets.size > 0;
value: function hasHandlers(eventType) {
if (!eventType) {
return this.handlerSets.size > 0;
}
var eventSet = this.handlerSets.get(eventType);
if (eventSet) {
return eventSet.hasHandlers();
}
return false;
}

@@ -416,3 +426,8 @@ }, {

if (this.pools.size === 0) {
var hasHandlers = false;
this.pools.forEach(function (pool) {
return hasHandlers = hasHandlers || pool.hasHandlers(eventType);
});
if (!hasHandlers) {
this.removeTargetHandler(eventType);

@@ -419,0 +434,0 @@ }

@@ -1,1 +0,1 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("prop-types"),require("react")):"function"==typeof define&&define.amd?define(["exports","prop-types","react"],t):t(e.EventStack={},e.PropTypes,e.React)}(this,function(e,t,n){"use strict";function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function i(e,t,n){return t&&s(e.prototype,t),n&&s(e,n),e}function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function u(e){return(u=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function l(e,t){return(l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function c(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}var d,h=(function(e){var t,n;t=!("undefined"==typeof window||!window.document||!window.document.createElement),n={canUseDOM:t,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:t&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:t&&!!window.screen},e.exports?e.exports=n:window.ExecutionEnvironment=n}(d={exports:{}},d.exports),d.exports).canUseDOM,f=function(){function e(t){o(this,e),a(this,"handlers",void 0),this.handlers=t.slice(0)}return i(e,[{key:"addHandlers",value:function(t){for(var n=this.handlers.slice(0),r=t.length,o=0;o<r;o+=1)n.push(t[o]);return new e(n)}},{key:"dispatchEvent",value:function(e,t){var n=this.handlers.length-1;if(t){for(var r=n;r>=0;r-=1)this.handlers[r].called||(this.handlers[r].called=!0,this.handlers[r](e));for(var o=n;o>=0;o-=1)this.handlers[o].called=!1}else{(0,this.handlers[n])(e)}}},{key:"hasHandlers",value:function(){return this.handlers.length>0}},{key:"removeHandlers",value:function(t){for(var n=[],r=this.handlers.length,o=0;o<r;o+=1){var s=this.handlers[o];-1===t.indexOf(s)&&n.push(s)}return new e(n)}}]),e}();function p(e){var t=new Map;return e.forEach(function(e,n){t.set(n,e)}),t}function v(e){return Array.isArray(e)?e:[e]}var y=function(e){return null!==e&&"object"===r(e)&&e.hasOwnProperty("current")};function m(e){return"document"===e?document:"window"===e?window:y(e)?e.current||document:e||document}var g=function(){function e(t,n){o(this,e),a(this,"handlerSets",void 0),a(this,"poolName",void 0),this.handlerSets=n,this.poolName=t}return i(e,[{key:"addHandlers",value:function(t,n){var r=p(this.handlerSets);if(r.has(t)){var o=r.get(t);r.set(t,o.addHandlers(n))}else r.set(t,new f(n));return new e(this.poolName,r)}},{key:"dispatchEvent",value:function(e,t){var n=this.handlerSets.get(e),r="default"===this.poolName;n&&n.dispatchEvent(t,r)}},{key:"hasHandlers",value:function(){return this.handlerSets.size>0}},{key:"removeHandlers",value:function(t,n){var r=p(this.handlerSets);if(!r.has(t))return new e(this.poolName,r);var o=r.get(t).removeHandlers(n);return o.hasHandlers()?r.set(t,o):r.delete(t),new e(this.poolName,r)}}]),e}();a(g,"createByType",function(e,t,n){var r=new Map;return r.set(t,new f(n)),new g(e,r)});var b=function(){function e(t){var n=this;o(this,e),a(this,"handlers",new Map),a(this,"pools",new Map),a(this,"target",void 0),a(this,"createEmitter",function(e){return function(t){n.pools.forEach(function(n){n.dispatchEvent(e,t)})}}),this.target=t}return i(e,[{key:"addHandlers",value:function(e,t,n){if(this.pools.has(e)){var r=this.pools.get(e);this.pools.set(e,r.addHandlers(t,n))}else this.pools.set(e,g.createByType(e,t,n));this.handlers.has(t)||this.addTargetHandler(t)}},{key:"hasHandlers",value:function(){return this.handlers.size>0}},{key:"removeHandlers",value:function(e,t,n){if(this.pools.has(e)){var r=this.pools.get(e).removeHandlers(t,n);r.hasHandlers()?this.pools.set(e,r):this.pools.delete(e),0===this.pools.size&&this.removeTargetHandler(t)}}},{key:"addTargetHandler",value:function(e){var t=this.createEmitter(e);this.handlers.set(e,t),this.target.addEventListener(e,t,!0)}},{key:"removeTargetHandler",value:function(e){this.handlers.has(e)&&(this.target.removeEventListener(e,this.handlers.get(e),!0),this.handlers.delete(e))}}]),e}(),w=new(function(){function e(){var t=this;o(this,e),a(this,"targets",new Map),a(this,"getTarget",function(e){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=m(e);if(t.targets.has(r))return t.targets.get(r);if(!n)return null;var o=new b(r);return t.targets.set(r,o),o}),a(this,"removeTarget",function(e){t.targets.delete(m(e))})}return i(e,[{key:"sub",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(h){var r=n.target,o=void 0===r?document:r,s=n.pool,i=void 0===s?"default":s;this.getTarget(o).addHandlers(i,e,v(t))}}},{key:"unsub",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(h){var r=n.target,o=void 0===r?document:r,s=n.pool,i=void 0===s?"default":s,a=this.getTarget(o,!1);a&&(a.removeHandlers(i,e,v(t)),a.hasHandlers()||this.removeTarget(o))}}}]),e}()),k=function(e){function t(){return o(this,t),c(this,u(t).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&l(e,t)}(t,n.PureComponent),i(t,[{key:"componentDidMount",value:function(){this.subscribe(this.props)}},{key:"componentDidUpdate",value:function(e){this.unsubscribe(e),this.subscribe(this.props)}},{key:"componentWillUnmount",value:function(){this.unsubscribe(this.props)}},{key:"subscribe",value:function(e){var t=e.name,n=e.on,r=e.pool,o=e.target;w.sub(t,n,{pool:r,target:o})}},{key:"unsubscribe",value:function(e){var t=e.name,n=e.on,r=e.pool,o=e.target;w.unsub(t,n,{pool:r,target:o})}},{key:"render",value:function(){return null}}]),t}();a(k,"defaultProps",{pool:"default",target:"document"}),k.propTypes={},e.instance=w,e.default=k,Object.defineProperty(e,"__esModule",{value:!0})});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("prop-types"),require("react")):"function"==typeof define&&define.amd?define(["exports","prop-types","react"],t):t(e.EventStack={},e.PropTypes,e.React)}(this,function(e,t,n){"use strict";function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function a(e,t,n){return t&&s(e.prototype,t),n&&s(e,n),e}function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function u(e){return(u=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function l(e,t){return(l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function c(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}var h,d=(function(e){var t,n;t=!("undefined"==typeof window||!window.document||!window.document.createElement),n={canUseDOM:t,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:t&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:t&&!!window.screen},e.exports?e.exports=n:window.ExecutionEnvironment=n}(h={exports:{}},h.exports),h.exports).canUseDOM,f=function(){function e(t){o(this,e),i(this,"handlers",void 0),this.handlers=t.slice(0)}return a(e,[{key:"addHandlers",value:function(t){for(var n=this.handlers.slice(0),r=t.length,o=0;o<r;o+=1)n.push(t[o]);return new e(n)}},{key:"dispatchEvent",value:function(e,t){var n=this.handlers.length-1;if(t){for(var r=n;r>=0;r-=1)this.handlers[r].called||(this.handlers[r].called=!0,this.handlers[r](e));for(var o=n;o>=0;o-=1)this.handlers[o].called=!1}else{(0,this.handlers[n])(e)}}},{key:"hasHandlers",value:function(){return this.handlers.length>0}},{key:"removeHandlers",value:function(t){for(var n=[],r=this.handlers.length,o=0;o<r;o+=1){var s=this.handlers[o];-1===t.indexOf(s)&&n.push(s)}return new e(n)}}]),e}();function p(e){var t=new Map;return e.forEach(function(e,n){t.set(n,e)}),t}function v(e){return Array.isArray(e)?e:[e]}var y=function(e){return null!==e&&"object"===r(e)&&e.hasOwnProperty("current")};function m(e){return"document"===e?document:"window"===e?window:y(e)?e.current||document:e||document}var g=function(){function e(t,n){o(this,e),i(this,"handlerSets",void 0),i(this,"poolName",void 0),this.handlerSets=n,this.poolName=t}return a(e,[{key:"addHandlers",value:function(t,n){var r=p(this.handlerSets);if(r.has(t)){var o=r.get(t);r.set(t,o.addHandlers(n))}else r.set(t,new f(n));return new e(this.poolName,r)}},{key:"dispatchEvent",value:function(e,t){var n=this.handlerSets.get(e),r="default"===this.poolName;n&&n.dispatchEvent(t,r)}},{key:"hasHandlers",value:function(e){if(!e)return this.handlerSets.size>0;var t=this.handlerSets.get(e);return!!t&&t.hasHandlers()}},{key:"removeHandlers",value:function(t,n){var r=p(this.handlerSets);if(!r.has(t))return new e(this.poolName,r);var o=r.get(t).removeHandlers(n);return o.hasHandlers()?r.set(t,o):r.delete(t),new e(this.poolName,r)}}]),e}();i(g,"createByType",function(e,t,n){var r=new Map;return r.set(t,new f(n)),new g(e,r)});var b=function(){function e(t){var n=this;o(this,e),i(this,"handlers",new Map),i(this,"pools",new Map),i(this,"target",void 0),i(this,"createEmitter",function(e){return function(t){n.pools.forEach(function(n){n.dispatchEvent(e,t)})}}),this.target=t}return a(e,[{key:"addHandlers",value:function(e,t,n){if(this.pools.has(e)){var r=this.pools.get(e);this.pools.set(e,r.addHandlers(t,n))}else this.pools.set(e,g.createByType(e,t,n));this.handlers.has(t)||this.addTargetHandler(t)}},{key:"hasHandlers",value:function(){return this.handlers.size>0}},{key:"removeHandlers",value:function(e,t,n){if(this.pools.has(e)){var r=this.pools.get(e).removeHandlers(t,n);r.hasHandlers()?this.pools.set(e,r):this.pools.delete(e);var o=!1;this.pools.forEach(function(e){return o=o||e.hasHandlers(t)}),o||this.removeTargetHandler(t)}}},{key:"addTargetHandler",value:function(e){var t=this.createEmitter(e);this.handlers.set(e,t),this.target.addEventListener(e,t,!0)}},{key:"removeTargetHandler",value:function(e){this.handlers.has(e)&&(this.target.removeEventListener(e,this.handlers.get(e),!0),this.handlers.delete(e))}}]),e}(),w=new(function(){function e(){var t=this;o(this,e),i(this,"targets",new Map),i(this,"getTarget",function(e){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=m(e);if(t.targets.has(r))return t.targets.get(r);if(!n)return null;var o=new b(r);return t.targets.set(r,o),o}),i(this,"removeTarget",function(e){t.targets.delete(m(e))})}return a(e,[{key:"sub",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(d){var r=n.target,o=void 0===r?document:r,s=n.pool,a=void 0===s?"default":s;this.getTarget(o).addHandlers(a,e,v(t))}}},{key:"unsub",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(d){var r=n.target,o=void 0===r?document:r,s=n.pool,a=void 0===s?"default":s,i=this.getTarget(o,!1);i&&(i.removeHandlers(a,e,v(t)),i.hasHandlers()||this.removeTarget(o))}}}]),e}()),k=function(e){function t(){return o(this,t),c(this,u(t).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&l(e,t)}(t,n.PureComponent),a(t,[{key:"componentDidMount",value:function(){this.subscribe(this.props)}},{key:"componentDidUpdate",value:function(e){this.unsubscribe(e),this.subscribe(this.props)}},{key:"componentWillUnmount",value:function(){this.unsubscribe(this.props)}},{key:"subscribe",value:function(e){var t=e.name,n=e.on,r=e.pool,o=e.target;w.sub(t,n,{pool:r,target:o})}},{key:"unsubscribe",value:function(e){var t=e.name,n=e.on,r=e.pool,o=e.target;w.unsub(t,n,{pool:r,target:o})}},{key:"render",value:function(){return null}}]),t}();i(k,"defaultProps",{pool:"default",target:"document"}),k.propTypes={},e.instance=w,e.default=k,Object.defineProperty(e,"__esModule",{value:!0})});
{
"name": "@semantic-ui-react/event-stack",
"version": "3.1.0",
"version": "3.1.1",
"repository": "https://github.com/layershifter/event-stack",

@@ -5,0 +5,0 @@ "author": "layershifter <alexander.mcgarret@gmail.com>",

@@ -60,3 +60,15 @@ import EventPool from './EventPool'

it('returns "false" if has not handlers', () => {
it('returns "true" if eventType has handlers', () => {
const pool = EventPool.createByType('default', 'click', [() => {}])
expect(pool.hasHandlers('click')).toBeTruthy()
})
it('returns "false" if eventType has no handlers', () => {
const pool = EventPool.createByType('default', 'click', [() => {}])
expect(pool.hasHandlers('keydown')).toBeFalsy()
})
it('returns "false" if has no handlers', () => {
const pool = new EventPool('default', new Map())

@@ -63,0 +75,0 @@

@@ -48,4 +48,11 @@ import EventSet from './EventSet'

public hasHandlers(): boolean {
return this.handlerSets.size > 0
public hasHandlers(eventType?: String): boolean {
if (!eventType) {
return this.handlerSets.size > 0
}
const eventSet = this.handlerSets.get(eventType);
if (eventSet) {
return eventSet.hasHandlers();
}
return false;
}

@@ -52,0 +59,0 @@

@@ -63,2 +63,16 @@ import simulant from 'simulant'

it('removes handlers when the pool has multiple eventTypes', () => {
const handler1 = jasmine.createSpy()
const handler2 = jasmine.createSpy()
eventTarget.addHandlers('default', 'click', [handler1])
eventTarget.addHandlers('default', 'keydown', [handler2])
expect(eventTarget.hasHandlers()).toBeTruthy();
eventTarget.removeHandlers('default', 'click', [handler1])
eventTarget.removeHandlers('default', 'keydown', [handler2])
expect(eventTarget.hasHandlers()).toBeFalsy();
})
it('removes handlers with multiple pools', () => {

@@ -65,0 +79,0 @@ const handler1 = jasmine.createSpy()

@@ -45,3 +45,5 @@ import EventPool from './EventPool'

if (this.pools.size === 0) {
let hasHandlers = false;
this.pools.forEach(pool => hasHandlers = hasHandlers || pool.hasHandlers(eventType))
if (!hasHandlers) {
this.removeTargetHandler(eventType)

@@ -48,0 +50,0 @@ }

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc