UNPKG

datafire

Version:

[![Travis][travis-image]][travis-link] [![Downloads][downloads-image]][npm-link] [![NPM version][npm-image]][npm-link] [![license](https://img.shields.io/badge/license-MIT-blue.svg)](https://www.npmjs.com/package/datafire) <!--[![Dependency status][deps-i

35 lines (31 loc) 778 B
const MAX_EVENTS = 1000; const Event = require('./event'); /** * Holds on to a fixed number of project events */ class Monitor { constructor(opts={}) { this.maxEvents = opts.maxEvents || MAX_EVENTS; this.project = opts.project; this.events = { http: [], task: [], } } /** * Starts a new event and adds it to the list * @param {string} type - event type (http or task) * @param {Object} evt - options for created event */ startEvent(type, evt={}) { evt.type = type; evt.project = this.project; let event = new Event(evt); event.start(); let events = this.events[event.type]; if (events.length >= this.maxEvents) events.shift(); events.push(event); return event; } } module.exports = Monitor;