latest-events

0.3.0 • Public • Published

Keep latest events

When add or remove events can be received out of order, but we are only interested in the latest event that occured for a given id.

Example:

var latest = latestEvents();
 
// first
latest.process({ action: 'remove', id: 1, date: secondDate });
 
// then later
latest.process({ action: 'add', id: 1, date: firstDate });
latest.process({ action: 'add', id: 2, date: secondDate });
 
latest();
// [{ action: 'add', id: 2, date: secondDate }]
// does not contain event with `id == 1` as `remove` has a later date.

date is anything that can be handled by Date.parse.

We can also process arrays:

var latest = latestEvents();
 
var events = [
    { action: 'add', id: 1, date: firstDate },
    { action: 'remove', id: 1, date: secondDate },
    { action: 'add', id: 2, date: secondDate }
];
 
latest.process(events);
latest.process({ action: 'add', id: 3, date: thirdDate });
 
latest();
// [
//   { action: 'add', id: 2, date: secondDate },
//   { action: 'add', id: 3, date: thirdDate }
// ]

Install

npm:

$ npm install --save latest-events

Bower:

$ bower install --save latest-events

Manually: download file

Readme

Keywords

none

Package Sidebar

Install

npm i latest-events

Weekly Downloads

2

Version

0.3.0

License

MIT

Last publish

Collaborators

  • kimjoar