eventemitter2
Advanced tools
Comparing version 6.4.1 to 6.4.2
@@ -9,6 +9,11 @@ # Change Log | ||
## [6.4.2] - 2020-05-28 | ||
### Fixed | ||
- removed eval usage to avoid Content Security Policy issue (#259) @DigitalBrainJS | ||
## [6.4.1] - 2020-05-10 | ||
### Fixed | ||
- increased emitter performance in wildcard mode | ||
- increased emitter performance in wildcard mode @DigitalBrainJS | ||
@@ -15,0 +20,0 @@ ## [6.4.0] - 2020-05-04 |
@@ -302,13 +302,35 @@ /*! | ||
var message= 'value must be type of ' + types.join('|'); | ||
var conditions= types.map(function(type){ | ||
return 'a==="'+ type.toLowerCase()+'"'; | ||
}).join('||'); | ||
var len= types.length; | ||
var firstType= types[0]; | ||
var secondType= types[1]; | ||
return new Function( | ||
'm', | ||
'return function(v, reject){var a= typeof v;if(!('+ conditions + '))reject(m);return v;}' | ||
)(message); | ||
if (len === 1) { | ||
return function (v, reject) { | ||
if (typeof v === firstType) { | ||
return v; | ||
} | ||
reject(message); | ||
} | ||
} | ||
if (len === 2) { | ||
return function (v, reject) { | ||
var kind= typeof v; | ||
if (kind === firstType || kind === secondType) return v; | ||
reject(message); | ||
} | ||
} | ||
return function (v, reject) { | ||
var kind = typeof v; | ||
var i = len; | ||
while (i-- > 0) { | ||
if (kind === types[i]) return v; | ||
} | ||
reject(message); | ||
} | ||
} | ||
var functionReducer= makeTypeReducer(['function']); | ||
var objectFunctionReducer= makeTypeReducer(['object', 'function']); | ||
@@ -320,3 +342,3 @@ | ||
var timer= 0; | ||
var subscribeClosed; | ||
var subscriptionClosed; | ||
@@ -366,3 +388,3 @@ var promise = new Promise(function (resolve, reject, onCancel) { | ||
executor(_resolve, _reject, function (cb) { | ||
if (subscribeClosed) { | ||
if (subscriptionClosed) { | ||
throw Error('Unable to subscribe on cancel event asynchronously') | ||
@@ -375,3 +397,3 @@ } | ||
}); | ||
subscribeClosed= true; | ||
subscriptionClosed= true; | ||
} | ||
@@ -378,0 +400,0 @@ |
{ | ||
"name": "eventemitter2", | ||
"version": "6.4.1", | ||
"version": "6.4.2", | ||
"description": "A feature-rich Node.js event emitter implementation with namespaces, wildcards, TTL, async listeners and browser/worker support.", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
[![Build Status](https://travis-ci.org/EventEmitter2/EventEmitter2.svg?branch=master)](https://travis-ci.org/EventEmitter2/EventEmitter2) | ||
[![Coverage Status](https://coveralls.io/repos/github/EventEmitter2/EventEmitter2/badge.svg?branch=master)](https://coveralls.io/github/EventEmitter2/EventEmitter2?branch=master) | ||
[![Coverage Status](https://coveralls.io/repos/github/EventEmitter2/EventEmitter2/badge.svg?branch=v6.4.1)](https://coveralls.io/github/EventEmitter2/EventEmitter2?branch=v6.4.1) | ||
[![NPM version](https://badge.fury.io/js/eventemitter2.svg)](http://badge.fury.io/js/eventemitter2) | ||
@@ -4,0 +4,0 @@ [![Dependency Status](https://img.shields.io/david/asyncly/eventemitter2.svg)](https://david-dm.org/asyncly/eventemitter2) |
83928
1531