- 
      
- 
        Save rauchg/1503944 to your computer and use it in GitHub Desktop. 
Or maybe by ms you should mean s.  I'd expect "5ms" to mean "5 milliseconds", or 5, but 5s to be 5 seconds or 5000.
sorry I meant 5s
I added ms as well
nice one but I would do few changes here
(function (R) {
var _ = {ms:1, s:1000};
_.m = _.s * 60;
_.h = _.m * 60;
_.d = _.h * 24;
function ms (s) {
if (s == Number(s)) return Number(s);
if (/(\d*.?\d+)([mshd]+)/.test(s.toLowerCase()) && R.$2 in _) return R.$1 * _[R.$2];
throw new Error('Unknown time unit: ' + R.$2);
}
if ('object' == typeof window) {
window.ms = ms;
} else {
module.exports = ms;
}
})(RegExp);
ms(".5s");
cheers
Do you seriously use setTimeout(fn, ms('2d')); ??
it can be used as cronjob scheduler for node.js so why not ...
Made a few changes.
- Shorter (@WebReflection)
- Works with '.5s'type strings (@WebReflection)
- Cached the regular expression
- Returns NaN instead of throwing. More consistent with other number manipulation functions
+1 Just tried to require this but was not in npm!
Please publish :)
D
Published to npm as ms
This is my lighter version: https://gist.github.com/1997544
Same output as original :)
BTW, the function is very useful indeed, thanks mate!
@tubalmartin Thanks for the contribution! Unfortunately, it fails two tests. I moved everything to a repository here for you to fork:
https://github.com/guille/ms.js
@guille Thanks for the tests, I'll run them and try to fix those failing!
@guille Pull request made. It passes all tests now :)
https://github.com/tubalmartin/ms.js
ms('5ms') // 5000
...and by 5000 you mean 5 :P
well seconds where left out?
_.ms = 1;
_.s = 1000;
_.m = _.s * 60;