fliptime

    3.0.2 • Public • Published

    ⛓⏲ fliptime

    NPM version MIT License fliphub

    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

    Install

    npm i fliptime

    DownloadsWeekly Downloads

    32

    Version

    3.0.2

    License

    MIT

    Last publish

    Collaborators

    • aretecode