ms:Tiny Millisecond Module od Guillerma Raucha

Tento fragment kódu je nyní k dispozici s úložištěm GitHub:https://github.com/guille/ms.js

Chtěl jsem předat jednoduchý, ale užitečný modul, který Guillermo Rauch poslal jako Gist na GitHub. Tento jednoduchý modul dostupný prostřednictvím NPM jako ms , poskytuje jednoduchou funkci pro přeměnu lidsky čitelného řetězce na milisekundy.

// Created by milliseconds

/**

# ms.js

No more painful `setTimeout(fn, 60 * 4 * 3 * 2 * 1 * Infinity * NaN * '☃')`.

    ms('2d')      // 172800000
    ms('1.5h')    // 5400000
    ms('1h')      // 3600000
    ms('1m')      // 60000
    ms('5s')      // 5000
    ms('500ms')   // 500
    ms('100')     // 100
    ms(100)       // 100

**/

(function (g) {
  var r = /(\d*.?\d+)([mshd]+)/
    , _ = {}

  _.ms = 1;
  _.s = 1000;
  _.m = _.s * 60;
  _.h = _.m * 60;
  _.d = _.h * 24;

  function ms (s) {
    if (s == Number(s)) return Number(s);
    r.exec(s.toLowerCase());
    return RegExp.$1 * _[RegExp.$2];
  }

  g.top ? g.ms = ms : module.exports = ms;
})(this);

Velmi pěkný malý klenot od Guillera. Mějte tuto funkci po ruce, abyste se uchránili před matematickými výrazy pro výpočty času!