tiny-tim
Version:
Meet Tim, a small, simple timer
91 lines (60 loc) • 1.88 kB
Markdown
<p align="center">
<img src="https://github.com/sdgluck/tiny-tim/blob/master/tiny-tim.jpg" />
</p>
<p><h1 align="center">Tiny Tim</h1></p>
<p align="center">Meet Tim, a simple, small timer</p>
<p align="center">Made with ❤ at <a href="http://www.twitter.com/outlandish">@outlandish</a></p>
<p align="center">
<a href="http://badge.fury.io/js/tiny-tim"><img alt="npm version" src="https://badge.fury.io/js/tiny-tim.svg" /></a>
</p>
<hr/>
:cookie: Comes in at `156 bytes` minified. Zero dependencies.
:sparkles: Tiny Tim is compiled using [`babili`](https://github.com/babel/babili) for ES6+ and CommonJS environments.
:point_right: Use your preferred bundler and transpiler as required.
## Install
```sh
npm install --save tiny-tim
```
```sh
yarn add tiny-tim
```
## Import
```js
// ES2015
import timer from 'tiny-tim'
```
```js
// CommonJS
var timer = require('tiny-tim')
```
## Usage
### `timer([unit[, suffix]]) : Function`
Create a timer and start counting!
- __unit__ {String} Unit of time to return _(optional, default=`"s"`)_
- __suffix__ {Boolean} Attach suffix, e.g. unit "s" appends `"s"` _(optional, default=`false`)_
Available units: `"ms"`, `"s"`, `"m"`, `"h"`
Returns a function that stops the timer and returns the duration:
- as a string if with suffix
- or as a number without
## Examples
```js
// Time in seconds with suffix
const seconds = timer('s', true)
setTimeout(() => {
console.log(seconds()) //=> '10s'
}, 10000)
// reuse a timer...
setTimeout(() => {
console.log(seconds()) //=> '15s'
}, 15000)
```
```js
// Time milliseconds without suffix
const milliseconds = timer()
setTimeout(() => {
console.log(milliseconds()) //=> 1000
}, 1000)
```
## Contributing
All pull requests and issues welcome!
If you're not sure how, check out the [great video tutorials on egghead.io](http://bit.ly/2aVzthz)!