magic-stopwatch
v1.0.1
Published
A light and pause-able stopwatch module.
Downloads
5
Readme
npm install magic-stopwatch
- yarn add magic-stopwatch
A light and pause-able stopwatch module.
Quickstart
import { Stopwatch } from 'magic-stopwatch';
// By default, the stopwatch uses the 'performance' type if available
// - 'performance' type uses Performance Hooks: https://nodejs.org/api/perf_hooks.html#performancenow
// - 'date' type to use Date.now()
const stopwatch = new Stopwatch({ type: 'performance' });
stopwatch.start();
// do something for 5 seconds...
const middleLap = stopwatch.lap();
// { elapsed: 5000, timestamp: 1662925989428 }
// do something for 5 more seconds...
const stopLap = stopwatch.stop();
// { elapsed: 10000, timestamp: 1662925989428 }
You can also use this within modern browsers (that can atleast support BigInt):
<script src="https://unpkg.com/[email protected]/webpack/magic-stopwatch.min.js"></script>
And can be accessed with the magicStopwatch
global.
const stopwatch = new magicStopwatch.Stopwatch();
API
Stopwatch
- A stopwatch that records in milliseconds.new Stopwatch({ type, startNow })
type
- The type of timing the stopwatch will use, defaults toperformance
if available, else it will usedate
. (Date.now()
)startNow
- Whether or not to immediately start the stopwatch.
laps: StopwatchLap[]
- The laps the stopwatch has, recorded with.lap()
.elapsed: number
- A getter that returns the amount of time elapsed on the stopwatch.stopped: boolean
- Whether or not the stopwatch has stopped.startTime: number
- The time the stopwatch started at. Will be-1
if not started.stopTime: number
- The time the stopwatch stopped at. Will be-1
if not stopped.start()
- Starts the stopwatch.lap() -> StopwatchLap
- Creates a lap and stores it inlaps
.stop(recordLap) -> StopwatchLap
- Stops the stopwatch.recordLap = false
- Whether or not to record the lap inlaps
.
reset()
- Resets the stopwatch.
PreciseStopwatch
- A stopwatch that records in nanoseconds.new PreciseStopwatch({ type, startNow })
type
- The type of timing the stopwatch will use, defaults tohrtime
if available, else it will useperformance
.startNow
- Whether or not to immediately start the stopwatch.
laps: PreciseStopwatchLap[]
- The laps the stopwatch has, recorded with.lap()
.elapsed: number
- A getter that returns the amount of time elapsed on the stopwatch.stopped: boolean
- Whether or not the stopwatch has stopped.startTime: bigint
- The time the stopwatch started at. Will be-1n
if not started.stopTime: bigint
- The time the stopwatch stopped at. Will be-1n
if not stopped.start()
- Starts the stopwatch.lap() -> PreciseStopwatchLap
- Creates a lap and stores it inlaps
.stop(recordLap) -> PreciseStopwatchLap
- Stops the stopwatch.recordLap = false
- Whether or not to record the lap inlaps
.
reset()
- Resets the stopwatch.