Socket
Book a DemoInstallSign in
Socket

newsemitter

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

newsemitter

An event emitter that emits only new events.

latest
Source
npmnpm
Version
1.0.2
Version published
Maintainers
1
Created
Source

node-newsemitter

An event emitter that emits only new events. Because sometimes we don't care about old events.

Depfu codecov

Usage

const NewsEmitter = require('newsemitter');
const news = new NewsEmitter();

news.on('item', (item) => {
  console.log('new item:', item.title);
});

news.emit('item', { title: 'hello there' });
news.emit('item', { title: 'hello world' });
news.emit('item', { title: 'hello there' });
news.emit('item', { title: 'hey' });
news.emit('item', { title: 'hey' });
news.emit('item', { title: 'hey' });

// new item: hello there
// new item: hello world
// new item: hey

API

new NewsEmitter([options])

Creates an instance of a NewsEmitter. options can be

  • filter - An array of events that will be affected. If not given, event names will not be filtered.
  • ignore - An array of events that will be ignored. Defaults to ['newListener', 'removeListener'].
  • maxHistory - Maximum number of history items to remember. Default is 10.
  • manageHistory - If true, does not add emitted events to history. Instead expects you to manually manage history with addHistory(). Defaults to false.
  • identifier - Function used to compare one event to another. Called with a list of arguments that NewsEmitter#emit() is called with, sans event name. Should return a string. Default is JSON.stringify.

NewsEmitter#emit(event)

Emits an event, only if it has not been emitted before. Returns true if item is new and emtted. False otherwise.

NewsEmitter#reset([event])

Resets history of an event. If no event given, resets all history.

NewsEmitter#addHistory(event, arr)

Adds items in arr as event's history. Truncated as necessary based on max history length considering the last item in the array as newest.

Install

npm install newsemitter

Tests

Tests are written with mocha

npm test

Keywords

event

FAQs

Package last updated on 12 Dec 2020

Did you know?

Socket

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