Socket
Socket
Sign inDemoInstall

events-pool

Package Overview
Dependencies
0
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    events-pool

Accumulate multiple events (and their data) from different sources into a single pool.


Version published
Weekly downloads
2
decreased by-66.67%
Maintainers
1
Install size
28.4 kB
Created
Weekly downloads
 

Readme

Source

Coverage Status

Events pool

Accumulate multiple events from different sources into a single pool and dispatch a callback function afterward. Supports data aggregation as well!

Getting started

Installation

Install events-pool using NPM:

npm install events-pool --save

Usage

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);

Options

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.

Contribution

Please see the Contribution guide if you would like to contribute to this repository. Thank you.

Keywords

FAQs

Last updated on 27 Aug 2017

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.

Install

Related posts

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