GitXplorerGitXplorer
s

timeproxy

public
23 stars
1 forks
1 issues

Commits

List of commits on branch master.
Unverified
daa53210393b6c51c12b97df8f68db57073f4bf7

Add support for template literals

sselbekk committed 7 years ago
Unverified
ba32a8442b1b50fb58fb953d77ae856f0d06eb92

Fix typo

sselbekk committed 7 years ago
Unverified
d0613ab5958eb963d5e3a4b9728adad773aa1dae

Add moar badges

sselbekk committed 7 years ago
Unverified
d40de0ab3da3b177989022bc4b49ae34fc279d59

1.1.0

sselbekk committed 7 years ago
Unverified
f44b8f79187cee7bd00df17d26a6f049dce4816b

Add relative time support

sselbekk committed 7 years ago
Unverified
9cb579efb6acd4df4910f62b493356840faea66b

Add support for four types of fractions and of

sselbekk committed 7 years ago

README

The README file for this repository.

timeproxy

npm version Build Status Coverage Status Y2K Compliant

Simple library for time constants

Now with template literal support

Creating time constants can be a pain. You want to name them after what they are, like SESSION_TIMEOUT or MAX_REQUESTS, but you also want to make sure the code reflects how long of a period it is. Meet timeproxy.

Using some quite clever ES2015 proxies, you can now have both.

Usage

npm install timeproxy

timeproxy works by parsing the name of the "constant" you specify and returning the amount of milliseconds you require.

import tp from 'timeproxy';

const TIMEOUT_LIMIT = tp.FIVE_SECONDS;
const AGE_LIMIT = tp.ONE_WEEK_AND_SIX_DAYS;

If you prefer, you can use template literals instead:

import tp from 'timeproxy';

const TIMEOUT_LIMIT = tp`five seconds`;
const AGE_LIMIT = tp`1 week and 6 days`;
const SESSION_TIMEOUT = tp`${60} minutes`;

There's support for seconds, minutes, hours, days and weeks. You can even write fractions!

Here's a few examples of what you can do:

import tp from 'timeproxy';

const REQUEST_TIMEOUT = tp.THIRTY_SECONDS;
const UPDATE_DELAY = tp.HALF_A_SECOND;
const COOKIE_EXPIRATION = tp.FOUR_WEEKS;
const IN_ALMOST_A_MINUTE = tp.IN_FIFTY_NINE_SECONDS;

const REQUEST_TIMEOUT = tp`thirty seconds`;
const UPDATE_DELAY = tp`.5 seconds`;
const COOKIE_EXPIRATION = tp`4 weeks`;
const IN_ALMOST_A_MINUTE = tp`IN_59-SEconds`;

I've written a blog post about this as well - please refer to it for more examples.

Contribute!

If there are features you'd like to see in this tiny library, please let me know through an issue. If you feel up for it, please create a pull request and I'll make sure to look at it as soon as possible.