Package Exports
- fliptime
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (fliptime) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
⛓⏲ 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