New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

event-emitter-grouped

Package Overview
Dependencies
Maintainers
2
Versions
100
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

event-emitter-grouped - npm Package Compare versions

Comparing version 3.4.0 to 4.0.0-next.1585177619.ceb7a7140140bab0400c305db812901fe1c3033e

316

edition-browsers/index.js

@@ -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 @@ }

@@ -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 })

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc