Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
events-pool
Advanced tools
Accumulate multiple events (and their data) from different sources into a single pool.
Accumulate multiple events from different sources into a single pool and dispatch a callback function afterward. Supports data aggregation as well!
Install events-pool
using NPM:
npm install events-pool --save
import EventsPool from 'events-pool';
/* Create a new event pool */
new EventsPool({
events: 'promotionView',
target: carouselDOMElement,
callback(events, data) {
dataLayer.push(data);
}
});
/* Dispatch a custom event with data */
const promoViewEvent = new CustomEvent('promotionView', {
/* Accumulated data is accessible from callback's "data" argument */
detail: { ... }
});
carouselDOMElement.dispatchEvent(promoViewEvent);
events: Array<string> | string
A single event or a list of event names to listen to.
eventTarget: EventTarget
Default: document
Target (DOMElement) which is expected to dispatch the event(s).
timeout: number
A duration (ms) of the timeout. When aggregate: true
, stands for a time limit within which a new event is expected after catching the previous one.
callback: Function(events: Array<CustomEvent | Event>, data: Array<mixed>)
A callback function executed once the timeout is reached. An instance of each caught event (Event
or CustomEvent
) is being accumulated into a single pool available under the events
argument.
Each data provided through CustomEvent.detail
is accumulated and accessible under the data
argument.
aggregate: boolean
Default: false
Enable/disable aggregation mode. When the latter is enabled, each caught event prolongs the time within which the pool expects to receive a new event by the amount of timeout
. Once no events are received within this time period, a callback
function is called.
Please see the Contribution guide if you would like to contribute to this repository. Thank you.
FAQs
Accumulate multiple events (and their data) from different sources into a single pool.
We found that events-pool demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.