Nonsense Placement Mandatory

    time-bandit

    0.1.2 • Public • Published

    Time Bandit

    Time Bandit makes it simpler to test your time-dependent code.

    Build Status

    Installation

    npm install time-bandit or yarn add time-bandit

    Example

    const { travel, freeze, unfreeze, hours, minutes } = require('time-bandit')
     
    // Travel 20 hours and 30 minutes into the future
    travel(hours(20) + minutes(30))
     
    // Restore date
    unfreeze()

    API

    travel(duration: number): void

    Travel the given duration of milliseconds and freeze the time.

    const timestamp = Date.now()
     
    travel(1000)
    Date.now() - timestamp // 1000
     
    travel(-2000)
    Date.now() - timestamp // -1000

    freeze(...args): void

    Freeze date and time at the current timestamp.

    freeze(1985, 9, 26, 9, 0, 0)
    new Date() // Sat Oct 26 1985 09:00:00
     
    freeze(1445405280000)
    new Date() // Wed Oct 21 2015 07:28:00
    Date.now() === 1445405280000 // true

    unfreeze(): void

    Restore the native Date object.

    const NativeDate = Date;
     
    freeze()
    Date === NativeDate // false
     
    unfreeze()
    Date === NativeDate // true

    isFrozen(): boolean

    Returns whether the Date object is mocked.

    freeze()
    isFrozen() // true
     
    unfreeze()
    isFrozen() // false

    seconds(amount: number): number

    Returns the given amount of seconds in milliseconds.

    seconds(1) // 1000
    seconds(-5) // -5000
     
    travel(seconds(-5)) // Travel 5 seconds back in time
    travel(seconds(50)) // Travel 50 seconds into the future

    minutes(amount: number): number

    Returns the given amount of minutes in milliseconds.

    minutes(1) // 60,000
    seconds(-5) // -300,000
     
    travel(minutes(-5)) // Travel 5 minutes back in time
    travel(minutes(50)) // Travel 50 minutes into the future

    hours(amount: number): number

    Returns the given amount of hours in milliseconds.

    hours(1) // 3,600,000
    hours(-2) // -7,200,000
     
    travel(hours(-1)) // Travel 1 hour back in time
    travel(hours(23)) // Travel 23 hours into the future

    days(amount: number): number

    Returns the given amount of days in milliseconds.

    days(1) // 86,400,000
    days(-1) // -86,400,000
     
    travel(days(-1)) // Travel 1 day back in time
    travel(days(10)) // Travel 10 days into the future

    Install

    npm i time-bandit

    DownloadsWeekly Downloads

    3

    Version

    0.1.2

    License

    MIT

    Unpacked Size

    8.37 kB

    Total Files

    7

    Last publish

    Collaborators

    • envelope