1.0.5 • Published 1 year ago

sr-timer v1.0.5

Weekly downloads
5
License
ISC
Repository
github
Last release
1 year ago

srTimer

Simple javascript timer application. Originally made to run my cube timer app at http://www.solvingrubik.com/ Can easily be included and configured to work on any webpage.

Instalation

Download the timer.js file and put it in your web directory.

OR

Install the package using npm

npm install --save sr-timer

Usage

Import the library

import SRTimer from 'sr-timer'

Create a new instance of the timer. The timer will automatically bind to window key events to listen for the spacebar to start / stop the timer.

let timer = new SRTimer()

Optionally an alternate keycode can be passed in to the constructor customize what key is listens for.

let timer = new SRTimer(65) // use 'A' key

If you don't want the timer to bind to window events you can pass in null as the timer key.

let timer = new SRTimer(null) // start / stop timer manually
timer.start()
...
timer.stop()
const elapsed = timer.getElapsedTime()

When you no longer need the timer make sure to call unbind to stop listening for keyevents

timer.unbind();
delete timer;

Registering Listeners

Listeners can be registered to receive events when the timer starts, stops, ticks, or resets. This allows the timer to call your custom code to fit any of your application's needs.

timer.addStartListener(() => {
  console.log('timer started')
})

timer.addStopListener(stopEvent => {
  console.log(`elapsed time ${stopEvent.time}`)
})

API

MethodDescriptionExample
start()starts the timertimer.start()
stop()stops the timer and sets the elapsed time.timer.stop()
reset()resets the timer and sets elapsed time back to 0timer.reset()
isRunning()returns true if the timer is currently startedtimer.isRunning()
getElapsedTime()Gives the current elapsed time as a formatted stringlet elapsed = timer.getElapsedTime()
addStartListener(listener: () => void)register listener for when the timer startstimer.addStartListener(() => { console.log('started') })
addStopListener(listener: (event: TimerEvent) => void)register listener for when the timer stopstimer.addStopListener(event => { console.log('stopped', event) })
addResetListener(listener: () => void)register listener for when the timer resetstimer.addResetListener(() => { console.log('reset') })
addTickListener(listener: (event: TimerEvent) => void)register listener for when the timer tickstimer.addTickListener(event => { console.log('tick', event) })

Development

Build the dist

npm run build

Publish to registry

  1. update version in package.json
  2. build bundle npm run build and build library tsc
  3. run npm publish
1.0.5

1 year ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago