testdouble-timers
Version:
Fake timers API for testdouble.js.
41 lines (30 loc) • 947 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _lolex = require('lolex');
var _lolex2 = _interopRequireDefault(_lolex);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function use(testdouble) {
var td = testdouble;
td.timers = function () {
var now = void 0;
var methods = [].concat(Array.prototype.slice.call(arguments));
if (typeof methods[0] === 'undefined' || typeof methods[0] === 'string') {
now = 0;
} else {
now = methods.shift();
if (typeof now.getTime === 'function') {
now = now.getTime();
}
}
var clock = _lolex2.default.install(now || 0, methods);
// For automatic restoring by td.reset()
td.reset.onNextReset(clock.uninstall);
// For manual restoring
clock.restore = clock.uninstall;
return clock;
};
}
var timers = { use: use };
exports.default = timers;