0.3.0 • Published 10 years ago

latest-events v0.3.0

Weekly downloads
1
License
MIT
Repository
github
Last release
10 years ago

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