'use strict'; module.exports = function(timeout = 60) { let rejections = []; return { register: function(errorData) { rejections.push(errorData); setTimeout(() => { this.unregister(errorData); }, timeout * 1000); }, unregister: function(errorData) { let errorIndex = rejections.indexOf(errorData); if (errorIndex !== -1) { rejections.splice(errorIndex, 1); } }, exists: function(errorData) { return rejections.some((item) => item.promise === errorData.promise && item.error === errorData.error); }, find: function(promise) { return rejections.find((item) => item.promise === promise); } } }