event-emitter-grouped
Advanced tools
Comparing version 3.4.0 to 4.0.0-next.1585177619.ceb7a7140140bab0400c305db812901fe1c3033e
@@ -1,28 +0,122 @@ | ||
'use strict'; // Import | ||
'use strict' // Import | ||
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } | ||
function _typeof(obj) { | ||
'@babel/helpers - typeof' | ||
if (typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol') { | ||
_typeof = function _typeof(obj) { | ||
return typeof obj | ||
} | ||
} else { | ||
_typeof = function _typeof(obj) { | ||
return obj && | ||
typeof Symbol === 'function' && | ||
obj.constructor === Symbol && | ||
obj !== Symbol.prototype | ||
? 'symbol' | ||
: typeof obj | ||
} | ||
} | ||
return _typeof(obj) | ||
} | ||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } | ||
function _classCallCheck(instance, Constructor) { | ||
if (!(instance instanceof Constructor)) { | ||
throw new TypeError('Cannot call a class as a function') | ||
} | ||
} | ||
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } | ||
function _defineProperties(target, props) { | ||
for (var i = 0; i < props.length; i++) { | ||
var descriptor = props[i] | ||
descriptor.enumerable = descriptor.enumerable || false | ||
descriptor.configurable = true | ||
if ('value' in descriptor) descriptor.writable = true | ||
Object.defineProperty(target, descriptor.key, descriptor) | ||
} | ||
} | ||
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } | ||
function _createClass(Constructor, protoProps, staticProps) { | ||
if (protoProps) _defineProperties(Constructor.prototype, protoProps) | ||
if (staticProps) _defineProperties(Constructor, staticProps) | ||
return Constructor | ||
} | ||
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } | ||
function _createSuper(Derived) { | ||
return function () { | ||
var Super = _getPrototypeOf(Derived), | ||
result | ||
if (_isNativeReflectConstruct()) { | ||
var NewTarget = _getPrototypeOf(this).constructor | ||
result = Reflect.construct(Super, arguments, NewTarget) | ||
} else { | ||
result = Super.apply(this, arguments) | ||
} | ||
return _possibleConstructorReturn(this, result) | ||
} | ||
} | ||
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } | ||
function _possibleConstructorReturn(self, call) { | ||
if (call && (_typeof(call) === 'object' || typeof call === 'function')) { | ||
return call | ||
} | ||
return _assertThisInitialized(self) | ||
} | ||
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } | ||
function _assertThisInitialized(self) { | ||
if (self === void 0) { | ||
throw new ReferenceError( | ||
"this hasn't been initialised - super() hasn't been called" | ||
) | ||
} | ||
return self | ||
} | ||
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } | ||
function _isNativeReflectConstruct() { | ||
if (typeof Reflect === 'undefined' || !Reflect.construct) return false | ||
if (Reflect.construct.sham) return false | ||
if (typeof Proxy === 'function') return true | ||
try { | ||
Date.prototype.toString.call(Reflect.construct(Date, [], function () {})) | ||
return true | ||
} catch (e) { | ||
return false | ||
} | ||
} | ||
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } | ||
function _getPrototypeOf(o) { | ||
_getPrototypeOf = Object.setPrototypeOf | ||
? Object.getPrototypeOf | ||
: function _getPrototypeOf(o) { | ||
return o.__proto__ || Object.getPrototypeOf(o) | ||
} | ||
return _getPrototypeOf(o) | ||
} | ||
function _inherits(subClass, superClass) { | ||
if (typeof superClass !== 'function' && superClass !== null) { | ||
throw new TypeError('Super expression must either be null or a function') | ||
} | ||
subClass.prototype = Object.create(superClass && superClass.prototype, { | ||
constructor: { value: subClass, writable: true, configurable: true }, | ||
}) | ||
if (superClass) _setPrototypeOf(subClass, superClass) | ||
} | ||
function _setPrototypeOf(o, p) { | ||
_setPrototypeOf = | ||
Object.setPrototypeOf || | ||
function _setPrototypeOf(o, p) { | ||
o.__proto__ = p | ||
return o | ||
} | ||
return _setPrototypeOf(o, p) | ||
} | ||
var _require = require('events'), | ||
EventEmitter = _require.EventEmitter; | ||
EventEmitter = _require.EventEmitter | ||
var _require2 = require('taskgroup'), | ||
TaskGroup = _require2.TaskGroup; | ||
TaskGroup = _require2.TaskGroup | ||
var unbounded = require('unbounded'); // Fetch raw listeners across versions | ||
var unbounded = require('unbounded') // Fetch raw listeners across versions | ||
// Node v10 defines this on the EventEmitter prototype | ||
@@ -33,8 +127,7 @@ // Node v8 omits this | ||
function rawListeners(eventName) { | ||
var events = this._events[eventName]; | ||
if (events == null) return []; | ||
if (typeof events === 'function') return [events]; | ||
return events; | ||
var events = this._events[eventName] | ||
if (events == null) return [] | ||
if (typeof events === 'function') return [events] | ||
return events | ||
} | ||
@@ -55,18 +148,18 @@ /** | ||
var EventEmitterGrouped = /*#__PURE__*/ (function (_EventEmitter) { | ||
_inherits(EventEmitterGrouped, _EventEmitter) | ||
var EventEmitterGrouped = | ||
/*#__PURE__*/ | ||
function (_EventEmitter) { | ||
_inherits(EventEmitterGrouped, _EventEmitter); | ||
var _super = _createSuper(EventEmitterGrouped) | ||
function EventEmitterGrouped() { | ||
_classCallCheck(this, EventEmitterGrouped); | ||
function EventEmitterGrouped() { | ||
_classCallCheck(this, EventEmitterGrouped) | ||
return _possibleConstructorReturn(this, _getPrototypeOf(EventEmitterGrouped).apply(this, arguments)); | ||
} | ||
return _super.apply(this, arguments) | ||
} | ||
_createClass(EventEmitterGrouped, [{ | ||
key: "getListenerGroup", | ||
_createClass(EventEmitterGrouped, [ | ||
{ | ||
key: 'getListenerGroup', | ||
/** | ||
/** | ||
Get a TaskGroup for a particular event. | ||
@@ -79,52 +172,72 @@ For each listener, treat them as Tasks within a TaskGroup, and return the TaskGroup. | ||
*/ | ||
value: function getListenerGroup(eventName) { | ||
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { | ||
args[_key - 1] = arguments[_key]; | ||
} | ||
value: function getListenerGroup(eventName) { | ||
for ( | ||
var _len = arguments.length, | ||
args = new Array(_len > 1 ? _len - 1 : 0), | ||
_key = 1; | ||
_key < _len; | ||
_key++ | ||
) { | ||
args[_key - 1] = arguments[_key] | ||
} | ||
// Get listeners | ||
var next = args.pop(); | ||
var me = this; // Prepare tasks | ||
// Get listeners | ||
var next = args.pop() | ||
var me = this // Prepare tasks | ||
var tasks = new TaskGroup("EventEmitterGrouped for ".concat(eventName)).done(next); // Convert the listeners into objects that we can use | ||
var tasks = new TaskGroup( | ||
'EventEmitterGrouped for '.concat(eventName) | ||
).done(next) // Convert the listeners into objects that we can use | ||
var listenerObjects = (this.rawListeners || rawListeners).call(this, eventName).slice().map(function (listener) { | ||
// The `once` method will actually wrap around the original listener, which isn't what we want for the introspection | ||
// So we must pass fireWithOptionalCallback an array of the method to fire, and the method to introspect | ||
// https://github.com/bevry/docpad/issues/462 | ||
// https://github.com/joyent/node/commit/d1b4dcd6acb1d1c66e423f7992dc6eec8a35c544 | ||
var method = listener.listener ? unbounded.binder.call(unbounded.define(listener, listener.listener), me) : unbounded.binder.call(listener, me); | ||
var length = method.unbounded.length; | ||
var priority = method.unbounded.priority || 0; | ||
var name = method.unbounded.name; | ||
var description = "Listener for [".concat(eventName, "] with name [").concat(name, "], length [").concat(length, "], priority [").concat(priority, "]"); | ||
var result = { | ||
method: method, | ||
length: length, | ||
priority: priority, | ||
name: name, | ||
description: description | ||
}; // Return | ||
var listenerObjects = (this.rawListeners || rawListeners) | ||
.call(this, eventName) | ||
.slice() | ||
.map(function (listener) { | ||
// The `once` method will actually wrap around the original listener, which isn't what we want for the introspection | ||
// So we must pass fireWithOptionalCallback an array of the method to fire, and the method to introspect | ||
// https://github.com/bevry/docpad/issues/462 | ||
// https://github.com/joyent/node/commit/d1b4dcd6acb1d1c66e423f7992dc6eec8a35c544 | ||
var method = listener.listener | ||
? unbounded.binder.call( | ||
unbounded.define(listener, listener.listener), | ||
me | ||
) | ||
: unbounded.binder.call(listener, me) | ||
var length = method.unbounded.length | ||
var priority = method.unbounded.priority || 0 | ||
var name = method.unbounded.name | ||
var description = 'Listener for [' | ||
.concat(eventName, '] with name [') | ||
.concat(name, '], length [') | ||
.concat(length, '], priority [') | ||
.concat(priority, ']') | ||
var result = { | ||
method: method, | ||
length: length, | ||
priority: priority, | ||
name: name, | ||
description: description, | ||
} // Return | ||
return result; | ||
}); // Sort the listeners by highest priority first | ||
return result | ||
}) // Sort the listeners by highest priority first | ||
listenerObjects.sort(function (a, b) { | ||
return b.priority - a.priority; | ||
}); // Add the tasks for the listeners | ||
listenerObjects.sort(function (a, b) { | ||
return b.priority - a.priority | ||
}) // Add the tasks for the listeners | ||
listenerObjects.forEach(function (_ref) { | ||
var description = _ref.description, | ||
method = _ref.method; | ||
// Bind to the task | ||
tasks.addTask(description, { | ||
method: method, | ||
args: args, | ||
ambi: true | ||
}); | ||
}); // Return | ||
listenerObjects.forEach(function (_ref) { | ||
var description = _ref.description, | ||
method = _ref.method | ||
// Bind to the task | ||
tasks.addTask(description, { | ||
method: method, | ||
args: args, | ||
ambi: true, | ||
}) | ||
}) // Return | ||
return tasks; | ||
} | ||
/** | ||
return tasks | ||
}, | ||
/** | ||
Refer to EventEmitter#removeListener | ||
@@ -135,9 +248,9 @@ https://nodejs.org/dist/latest/docs/api/events.html#events_emitter_removelistener_eventname_listener | ||
*/ | ||
}, { | ||
key: "off", | ||
value: function off() { | ||
return this.removeListener.apply(this, arguments); | ||
} | ||
/** | ||
}, | ||
{ | ||
key: 'off', | ||
value: function off() { | ||
return this.removeListener.apply(this, arguments) | ||
}, | ||
/** | ||
Runs the listener group for the event in serial mode (one at a time) | ||
@@ -147,9 +260,9 @@ @param {...*} args - forwarded to {@link EventEmitterGrouped#getListenerGroup} | ||
*/ | ||
}, { | ||
key: "emitSerial", | ||
value: function emitSerial() { | ||
return this.getListenerGroup.apply(this, arguments).run(); | ||
} | ||
/** | ||
}, | ||
{ | ||
key: 'emitSerial', | ||
value: function emitSerial() { | ||
return this.getListenerGroup.apply(this, arguments).run() | ||
}, | ||
/** | ||
Runs the listener group for the event in parallel mode (multiple at a time) | ||
@@ -159,18 +272,21 @@ @param {...*} args - forwarded to {@link EventEmitterGrouped#getListenerGroup} | ||
*/ | ||
}, | ||
{ | ||
key: 'emitParallel', | ||
value: function emitParallel() { | ||
return this.getListenerGroup | ||
.apply(this, arguments) | ||
.setConfig({ | ||
concurrency: 0, | ||
}) | ||
.run() | ||
}, | ||
}, | ||
]) | ||
}, { | ||
key: "emitParallel", | ||
value: function emitParallel() { | ||
return this.getListenerGroup.apply(this, arguments).setConfig({ | ||
concurrency: 0 | ||
}).run(); | ||
} | ||
}]); | ||
return EventEmitterGrouped | ||
})(EventEmitter) // Export | ||
return EventEmitterGrouped; | ||
}(EventEmitter); // Export | ||
EventEmitterGrouped.EventEmitterGrouped = EventEmitterGrouped // backwards compatability | ||
EventEmitterGrouped.EventEmitterGrouped = EventEmitterGrouped; // backwards compatability | ||
module.exports = EventEmitterGrouped; | ||
module.exports = EventEmitterGrouped |
# History | ||
## v4.0.0 2020 March 26 | ||
- Updated dependencies, [base files](https://github.com/bevry/base), and [editions](https://editions.bevry.me) using [boundation](https://github.com/bevry/boundation) | ||
- Minimum required node version changed from `node: >=8` to `node: >=10` to keep up with mandatory ecosystem changes | ||
## v3.4.0 2019 December 9 | ||
@@ -4,0 +9,0 @@ |
{ | ||
"title": "Event Emitter Grouped", | ||
"name": "event-emitter-grouped", | ||
"version": "3.4.0", | ||
"version": "4.0.0-next.1585177619.ceb7a7140140bab0400c305db812901fe1c3033e", | ||
"description": "Emit events in serial or parallel with support for synchronous and asynchronous listeners", | ||
@@ -9,13 +9,16 @@ "homepage": "https://github.com/bevry/event-emitter-grouped", | ||
"keywords": [ | ||
"async", | ||
"browser", | ||
"callback", | ||
"completion", | ||
"emitter", | ||
"event", | ||
"eventemitter", | ||
"events", | ||
"emitter", | ||
"eventemitter", | ||
"async", | ||
"sync", | ||
"flow", | ||
"parallel", | ||
"serial", | ||
"flow", | ||
"completion", | ||
"callback" | ||
"sync", | ||
"typed", | ||
"types" | ||
], | ||
@@ -60,4 +63,3 @@ "badges": { | ||
"Benjamin Lupton <b@lupton.cc> (http://balupton.com)", | ||
"Sean Fridman <mail@seanfridman.com> (http://seanfridman.com)", | ||
"dependabot-preview[bot] (http://github.com/apps/dependabot-preview)" | ||
"Sean Fridman <mail@seanfridman.com> (http://seanfridman.com)" | ||
], | ||
@@ -72,7 +74,7 @@ "bugs": { | ||
"engines": { | ||
"node": ">=8" | ||
"node": ">=10" | ||
}, | ||
"editions": [ | ||
{ | ||
"description": "esnext source code with require for modules", | ||
"description": "ESNext source code for Node.js with Require for modules", | ||
"directory": "source", | ||
@@ -86,3 +88,3 @@ "entry": "index.js", | ||
"engines": { | ||
"node": "8 || 10 || 12", | ||
"node": "10 || 12", | ||
"browsers": false | ||
@@ -92,3 +94,3 @@ } | ||
{ | ||
"description": "esnext compiled for browsers with require for modules", | ||
"description": "ESNext compiled for web browsers with Require for modules", | ||
"directory": "edition-browsers", | ||
@@ -110,23 +112,23 @@ "entry": "index.js", | ||
"dependencies": { | ||
"taskgroup": "^6.4.0", | ||
"unbounded": "^2.2.0" | ||
"taskgroup": "^6.5.0", | ||
"unbounded": "^2.3.0" | ||
}, | ||
"devDependencies": { | ||
"@babel/cli": "^7.7.5", | ||
"@babel/core": "^7.7.5", | ||
"@babel/plugin-proposal-object-rest-spread": "^7.7.4", | ||
"@babel/preset-env": "^7.7.6", | ||
"assert-helpers": "^5.8.0", | ||
"eslint": "^6.7.2", | ||
"eslint-config-bevry": "^2.2.0", | ||
"eslint-config-prettier": "^6.7.0", | ||
"@babel/cli": "^7.8.4", | ||
"@babel/core": "^7.9.0", | ||
"@babel/plugin-proposal-object-rest-spread": "^7.9.0", | ||
"@babel/preset-env": "^7.9.0", | ||
"assert-helpers": "^6.0.0", | ||
"eslint": "^6.8.0", | ||
"eslint-config-bevry": "^2.3.0", | ||
"eslint-config-prettier": "^6.10.1", | ||
"eslint-plugin-babel": "^5.3.0", | ||
"eslint-plugin-prettier": "^3.1.1", | ||
"eslint-plugin-prettier": "^3.1.2", | ||
"jsdoc": "^3.6.3", | ||
"kava": "^4.3.0", | ||
"kava": "^4.4.0", | ||
"minami": "^1.2.3", | ||
"prettier": "^1.19.1", | ||
"projectz": "^1.15.0", | ||
"prettier": "^2.0.2", | ||
"projectz": "^1.19.0", | ||
"surge": "^0.21.3", | ||
"valid-directory": "^1.5.0" | ||
"valid-directory": "^1.6.0" | ||
}, | ||
@@ -152,5 +154,5 @@ "scripts": { | ||
"our:verify": "npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier", | ||
"our:verify:directory": "npx valid-directory", | ||
"our:verify:directory": "valid-directory", | ||
"our:verify:eslint": "eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source", | ||
"our:verify:prettier": "prettier --write ./source/**", | ||
"our:verify:prettier": "prettier --write .", | ||
"test": "node ./source/test.js" | ||
@@ -175,3 +177,6 @@ }, | ||
{ | ||
"targets": "defaults", | ||
"targets": { | ||
"esmodules": false, | ||
"browsers": "defaults" | ||
}, | ||
"modules": false | ||
@@ -178,0 +183,0 @@ } |
119
README.md
@@ -36,43 +36,2 @@ <!-- TITLE/ --> | ||
<!-- INSTALL/ --> | ||
<h2>Install</h2> | ||
<a href="https://npmjs.com" title="npm is a package manager for javascript"><h3>npm</h3></a> | ||
<ul> | ||
<li>Install: <code>npm install --save event-emitter-grouped</code></li> | ||
<li>Require: <code>require('event-emitter-grouped')</code></li> | ||
</ul> | ||
<a href="https://jspm.io" title="Native ES Modules CDN"><h3>jspm</h3></a> | ||
``` html | ||
<script type="module"> | ||
import * as pkg from '//dev.jspm.io/event-emitter-grouped' | ||
</script> | ||
``` | ||
<h3><a href="https://editions.bevry.me" title="Editions are the best way to produce and consume packages you care about.">Editions</a></h3> | ||
<p>This package is published with the following editions:</p> | ||
<ul><li><code>event-emitter-grouped</code> aliases <code>event-emitter-grouped/source/index.js</code></li> | ||
<li><code>event-emitter-grouped/source/index.js</code> is esnext source code with require for modules</li> | ||
<li><code>event-emitter-grouped/edition-browsers/index.js</code> is esnext compiled for browsers with require for modules</li></ul> | ||
<h3><a href="https://www.typescriptlang.org/" title="TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. ">TypeScript</a></h3> | ||
This project provides its type information via inline <a href="http://usejsdoc.org" title="JSDoc is an API documentation generator for JavaScript, similar to Javadoc or phpDocumentor">JSDoc Comments</a>. To make use of this in <a href="https://www.typescriptlang.org/" title="TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. ">TypeScript</a>, set your <code>maxNodeModuleJsDepth</code> compiler option to `5` or thereabouts. You can accomlish this via your `tsconfig.json` file like so: | ||
``` json | ||
{ | ||
"compilerOptions": { | ||
"maxNodeModuleJsDepth": 5 | ||
} | ||
} | ||
``` | ||
<!-- /INSTALL --> | ||
## Usage | ||
@@ -82,3 +41,3 @@ | ||
``` javascript | ||
```javascript | ||
// Importer | ||
@@ -92,7 +51,7 @@ var EventEmitterGrouped = require('event-emitter-grouped') | ||
emitter.on('hello', function (next) { | ||
console.log('\tasync started') | ||
setTimeout(function () { | ||
console.log('\tasync finished') | ||
next() | ||
}, 1000) | ||
console.log('\tasync started') | ||
setTimeout(function () { | ||
console.log('\tasync finished') | ||
next() | ||
}, 1000) | ||
}) | ||
@@ -102,8 +61,8 @@ | ||
emitter.on('hello', function () { | ||
console.log('\tsync started and finished') | ||
console.log('\tsync started and finished') | ||
}) | ||
// Bind a prioritized event | ||
function vipListener () { | ||
console.log('\tvip started and finished') | ||
function vipListener() { | ||
console.log('\tvip started and finished') | ||
} | ||
@@ -116,9 +75,9 @@ vipListener.priority = 1 | ||
emitter.emitSerial('hello', function (err) { | ||
console.log('hello in serial finished') | ||
console.log('hello in serial finished') | ||
// Emit the events in parallel (all at once) | ||
console.log('hello in parallel started') | ||
emitter.emitParallel('hello', function (err) { | ||
console.log('hello in parallel finished') | ||
}) | ||
// Emit the events in parallel (all at once) | ||
console.log('hello in parallel started') | ||
emitter.emitParallel('hello', function (err) { | ||
console.log('hello in parallel finished') | ||
}) | ||
}) | ||
@@ -142,3 +101,44 @@ | ||
<!-- INSTALL/ --> | ||
<h2>Install</h2> | ||
<a href="https://npmjs.com" title="npm is a package manager for javascript"><h3>npm</h3></a> | ||
<ul> | ||
<li>Install: <code>npm install --save event-emitter-grouped</code></li> | ||
<li>Import: <code>import * as pkg from ('event-emitter-grouped')</code></li> | ||
<li>Require: <code>const pkg = require('event-emitter-grouped')</code></li> | ||
</ul> | ||
<a href="https://jspm.io" title="Native ES Modules CDN"><h3>jspm</h3></a> | ||
``` html | ||
<script type="module"> | ||
import * as pkg from '//dev.jspm.io/event-emitter-grouped@4.0.0' | ||
</script> | ||
``` | ||
<h3><a href="https://editions.bevry.me" title="Editions are the best way to produce and consume packages you care about.">Editions</a></h3> | ||
<p>This package is published with the following editions:</p> | ||
<ul><li><code>event-emitter-grouped</code> aliases <code>event-emitter-grouped/source/index.js</code></li> | ||
<li><code>event-emitter-grouped/source/index.js</code> is <a href="https://en.wikipedia.org/wiki/ECMAScript#ES.Next" title="ECMAScript Next">ESNext</a> source code for <a href="https://nodejs.org" title="Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine">Node.js</a> with <a href="https://nodejs.org/dist/latest-v5.x/docs/api/modules.html" title="Node/CJS Modules">Require</a> for modules</li> | ||
<li><code>event-emitter-grouped/edition-browsers/index.js</code> is <a href="https://en.wikipedia.org/wiki/ECMAScript#ES.Next" title="ECMAScript Next">ESNext</a> compiled for web browsers with <a href="https://nodejs.org/dist/latest-v5.x/docs/api/modules.html" title="Node/CJS Modules">Require</a> for modules</li></ul> | ||
<h3><a href="https://www.typescriptlang.org/" title="TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. ">TypeScript</a></h3> | ||
This project provides its type information via inline <a href="http://usejsdoc.org" title="JSDoc is an API documentation generator for JavaScript, similar to Javadoc or phpDocumentor">JSDoc Comments</a>. To make use of this in <a href="https://www.typescriptlang.org/" title="TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. ">TypeScript</a>, set your <code>maxNodeModuleJsDepth</code> compiler option to `5` or thereabouts. You can accomlish this via your `tsconfig.json` file like so: | ||
``` json | ||
{ | ||
"compilerOptions": { | ||
"maxNodeModuleJsDepth": 5 | ||
} | ||
} | ||
``` | ||
<!-- /INSTALL --> | ||
<!-- HISTORY/ --> | ||
@@ -170,3 +170,3 @@ | ||
<ul><li><a href="http://balupton.com">Benjamin Lupton</a> — <a href="https://github.com/bevry/event-emitter-grouped/commits?author=balupton" title="View the GitHub contributions of Benjamin Lupton on repository bevry/event-emitter-grouped">view contributions</a></li></ul> | ||
<ul><li><a href="http://balupton.com">Benjamin Lupton</a></li></ul> | ||
@@ -191,5 +191,4 @@ <h3>Sponsors</h3> | ||
<ul><li><a href="http://balupton.com">Benjamin Lupton</a> — <a href="https://github.com/bevry/event-emitter-grouped/commits?author=balupton" title="View the GitHub contributions of Benjamin Lupton on repository bevry/event-emitter-grouped">view contributions</a></li> | ||
<li><a href="http://seanfridman.com">Sean Fridman</a> — <a href="https://github.com/bevry/event-emitter-grouped/commits?author=sfrdmn" title="View the GitHub contributions of Sean Fridman on repository bevry/event-emitter-grouped">view contributions</a></li> | ||
<li><a href="http://github.com/apps/dependabot-preview">dependabot-preview[bot]</a> — <a href="https://github.com/bevry/event-emitter-grouped/commits?author=dependabot-preview[bot]" title="View the GitHub contributions of dependabot-preview[bot] on repository bevry/event-emitter-grouped">view contributions</a></li></ul> | ||
<ul><li><a href="http://balupton.com">Benjamin Lupton</a></li> | ||
<li><a href="http://seanfridman.com">Sean Fridman</a></li></ul> | ||
@@ -196,0 +195,0 @@ <a href="https://github.com/bevry/event-emitter-grouped/blob/master/CONTRIBUTING.md#files">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a> |
@@ -56,3 +56,3 @@ 'use strict' | ||
.slice() | ||
.map(listener => { | ||
.map((listener) => { | ||
// The `once` method will actually wrap around the original listener, which isn't what we want for the introspection | ||
@@ -82,3 +82,3 @@ // So we must pass fireWithOptionalCallback an array of the method to fire, and the method to introspect | ||
// Add the tasks for the listeners | ||
listenerObjects.forEach(function({ description, method }) { | ||
listenerObjects.forEach(function ({ description, method }) { | ||
// Bind to the task | ||
@@ -85,0 +85,0 @@ tasks.addTask(description, { method, args, ambi: true }) |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
34225
359
7
1
206
1
Updatedtaskgroup@^6.5.0
Updatedunbounded@^2.3.0