3.0.2 • Published 7 years ago
fliptime v3.0.2
⛓⏲ fliptime
fluent timer with laps, microtime + parsing, multiple timers, (fallback to performance & Date), shorthand diffs & specifications
usage
yarn add fliptime
npm i fliptime --save
const timer = require('fliptime')
uses microtime polyfill and if you install microtime it will require it when available (for node_gyp compat reasons) formatted with microseconds
simple
timer.start('canada')
setTimeout(() => timer.end('canada').log('canada'), 500)
laps
timer.start('canada')
const lapper = setInterval(() => {
timer.lap('canada')
}, 1000)
setTimeout(() => clearInterval(lapper), 10000)
timer.logLaps('canada')
took
timer.start('canada')
setTimeout(() => console.log(timer.end('canada').took('canada')), 500)
multiple
const sleepfor = require('sleepfor')
timer.start('eh')
timer.start('canada')
sleepfor(100)
timer.lap('canada')
timer.stop('eh')
sleepfor(100)
timer.lap('canada')
timer
.stop('canada')
.log('eh')
.log('canada')
.logLaps('canada')
// second param is whether to use laps
const lapTime = timer.msTook('canada', true)
formats
timer.start('eh')
timer.stop('eh')
const microseconds = timer.took('eh')
const ms = timer.msTook('eh')
const parsed = timer.parsedTook()
⚖️ tillNow
diff for each: milliseconds, seconds, minutes, hours, days, years.
const now = Date.now()
sleepfor(60000)
const {ms, s, m, h, d, y} = timer.tillNow(now)
// ms === 60000
// s === 60
// m === 1
// h === 0
// d === 0
// y === 0
⚖️ tillNowSatisfies
check that the difference is equal or greater than
specification.
const then = Date.now()
sleepfor(60000)
// seconds, hours, minutes, days, years...
// or shorthand: s, h, m, d, y
//
// true: >= 60 seconds
const satisfies = timer.tillNowSatisfies(then, {seconds: 60})
🏊 additional
const now = timer.microtime.now()
const micro = timer.parseMicro(now)
timer.times = {}
timer.laps = {}
timer.index = 0
example
timer.times[name].start
timer.times[name].end
timer.times[name].diff