UNPKG

@standards/duration

Version:

Human-readable, convenient, friendly durations. Converts durations given as strings to milliseconds or to custom units from milliseconds to weeks.

6 lines (5 loc) 1.51 kB
/*! * @standards/duration v1.1.3 | ISC @ Richard King <richrdkng@gmail.com> (www.richrdkng.com) */ System.register("duration",[],(function(e){"use strict";return{execute:function(){const t={w:6048e5,wk:6048e5,wks:6048e5,week:6048e5,weeks:6048e5,d:864e5,dy:864e5,day:864e5,days:864e5,h:36e5,hr:36e5,hrs:36e5,hour:36e5,hours:36e5,m:6e4,mn:6e4,min:6e4,mins:6e4,minute:6e4,minutes:6e4,s:1e3,sec:1e3,secs:1e3,second:1e3,seconds:1e3,ms:1,msec:1,msecs:1,millisec:1,millisecond:1,milliseconds:1},n=/(-?)([\d\s\-_,.]+)\s*([a-zA-Z]*)/g,s=/[\s\-_,]/g,o={};function r(e){return"string"==typeof e&&e.length>0||"number"==typeof e&&e>-1/0&&e<1/0&&!isNaN(e)}function i(e,i,u){u=u||(i&&"object"==typeof i?i:{});const c=r(i)?i:0,f="string"==typeof u.unit?u.unit.toLowerCase():"ms",m="boolean"!=typeof u.round||u.round,y=e+""+c+f+m,a=y in o;if(a)return o[y];if("string"==typeof(e=r(e)?e:c)){let o=0;if(e.length>0)for(let r,i,u;r=n.exec(e);)i=parseFloat(r[2].replace(s,"")),r[1]&&(i=-i),isNaN(i)||(u=r[3].toLowerCase()||"ms",u in t&&(o+=i*t[u]));e=o}return f in t?e/=t[f]:e=0,0!==e&&m&&0===(e=Math.round(e))&&(e=Math.abs(e)),a||(o[y]=e),e}i.createCustom=function(e,t,n){return function(s,o,r){let u="string"==typeof t||"number"==typeof t?t:0;"string"!=typeof o&&"number"!=typeof o||(u=o);let c=t&&"object"==typeof t?t:{};return n&&"object"==typeof n&&(c=n),r=r||(o&&"object"==typeof o?o:{}),i(s="string"==typeof s||"number"==typeof s?s:e,u,r=Object.assign(c,r))}},e("default",i)}}})); //# sourceMappingURL=index.system.min.js.map