UNPKG

serverless-spy

Version:

CDK-based library for writing elegant integration tests on AWS serverless architecture and an additional web console to monitor events in real time.

58 lines (44 loc) 1.3 kB
'use strict' function ReInterval (callback, interval, args) { var self = this; this._callback = callback; this._args = args; this._interval = setInterval(callback, interval, this._args); this.reschedule = function (interval) { // if no interval entered, use the interval passed in on creation if (!interval) interval = self._interval; if (self._interval) clearInterval(self._interval); self._interval = setInterval(self._callback, interval, self._args); }; this.clear = function () { if (self._interval) { clearInterval(self._interval); self._interval = undefined; } }; this.destroy = function () { if (self._interval) { clearInterval(self._interval); } self._callback = undefined; self._interval = undefined; self._args = undefined; }; } function reInterval () { if (typeof arguments[0] !== 'function') throw new Error('callback needed'); if (typeof arguments[1] !== 'number') throw new Error('interval needed'); var args; if (arguments.length > 0) { args = new Array(arguments.length - 2); for (var i = 0; i < args.length; i++) { args[i] = arguments[i + 2]; } } return new ReInterval(arguments[0], arguments[1], args); } module.exports = reInterval;