UNPKG

ilib

Version:

iLib is a cross-engine library of internationalization (i18n) classes written in pure JS

1 lines 4.33 kB
var Measurement=require("./Measurement.js"),TimeUnit=function(options){this.unit="second",this.amount=0,this.ratios=TimeUnit.ratios,this.aliases=TimeUnit.aliases,this.aliasesLower=TimeUnit.aliasesLower,this.systems=TimeUnit.systems,this.parent.call(this,options)};TimeUnit.prototype=new Measurement(),TimeUnit.prototype.parent=Measurement,(TimeUnit.prototype.constructor=TimeUnit).ratios={nanosecond:[1,1,.001,1e-6,1e-9,16667e-15,27778e-17,11574e-18,16534e-19,38027e-20,31689e-21,31689e-22,31689e-23,3.1689e-20],microsecond:[2,1e3,1,.001,1e-6,1.6667e-8,2.7778e-10,11574e-15,16534e-16,38027e-17,31689e-18,31689e-19,31689e-20,31689e-21],millisecond:[3,1e6,1e3,1,.001,16667e-9,2.7778e-7,1.1574e-8,1.6534e-9,3.8027e-10,31689e-15,31689e-16,31689e-17,31689e-18],second:[4,1e9,1e6,1e3,1,.0166667,277778e-9,11574e-9,16534e-10,3.8027e-7,3.1689e-8,3.1689e-9,3.1689e-10,31689e-15],minute:[5,6e10,6e7,6e4,60,1,.0166667,694444e-9,99206e-9,22816e-9,19013e-10,1.9013e-7,1.9013e-8,1.9013e-9],hour:[6,36e11,36e8,36e5,3600,60,1,.0416667,.00595238,.00136895,11408e-8,11408e-9,11408e-10,1.1408e-7],day:[7,864e11,864e8,864e5,86400,1440,24,1,.142857,.0328549,.00273791,273791e-9,27379e-9,27379e-10],week:[8,6048e11,6048e8,6048e5,604800,10080,168,7,1,.229984,.0191654,.00191654,191654e-9,191654e-10],month:[9,263e13,263e10,263e7,263e4,43829.1,730.484,30.4368,4.34812,1,.0833333,.00833333,833333e-9,833333e-10],year:[10,3156e13,3156e10,3156e7,3156e4,525949,8765.81,365.242,52.1775,12,1,.1,.01,.001],decade:[11,3156e14,3156e11,3156e8,3156e5,5259e3,87658.1,3652.42,521.775,120,10,1,.1,.01],century:[12,3156e15,3156e15,3156e9,3156e6,5259e4,876581,36524.2,5217.75,1200,100,10,1,.1],millenium:[13,3156e16,3156e16,3156e10,3156e7,5259e5,8765810,365242,52177.5,12e3,1e3,100,10,1]},TimeUnit.prototype.getMeasure=function(){return"time"},TimeUnit.prototype.newUnit=function(params){return new TimeUnit(params)},TimeUnit.systems={metric:["nanosecond","microsecond","millisecond","second","minute","hour","day","week","month","year","decade","century"],uscustomary:["nanosecond","microsecond","millisecond","second","minute","hour","day","week","month","year","decade","century"],imperial:["nanosecond","microsecond","millisecond","second","minute","hour","day","week","month","year","decade","century"],conversions:{metric:{},uscustomary:{},imperial:{}}},TimeUnit.aliases={ns:"nanosecond",NS:"nanosecond",nS:"nanosecond",Ns:"nanosecond",Nanosecond:"nanosecond",Nanoseconds:"nanosecond",nanosecond:"nanosecond",nanoseconds:"nanosecond",NanoSecond:"nanosecond",NanoSeconds:"nanosecond","μs":"microsecond","μS":"microsecond",microsecond:"microsecond",microseconds:"microsecond",Microsecond:"microsecond",Microseconds:"microsecond",MicroSecond:"microsecond",MicroSeconds:"microsecond",ms:"millisecond",MS:"millisecond",mS:"millisecond",Ms:"millisecond",millisecond:"millisecond",milliseconds:"millisecond",Millisecond:"millisecond",Milliseconds:"millisecond",MilliSecond:"millisecond",MilliSeconds:"millisecond",s:"second",S:"second",sec:"second",second:"second",seconds:"second",Second:"second",Seconds:"second",min:"minute",Min:"minute",minute:"minute",minutes:"minute",Minute:"minute",Minutes:"minute",h:"hour",H:"hour",hr:"hour",Hr:"hour",hR:"hour",HR:"hour",hour:"hour",hours:"hour",Hour:"hour",Hours:"hour",Hrs:"hour",hrs:"hour",day:"day",days:"day",Day:"day",Days:"day",week:"week",weeks:"week",Week:"week",Weeks:"week",month:"month",Month:"month",months:"month",Months:"month",year:"year",years:"year",Year:"year",Years:"year",yr:"year",Yr:"year",yrs:"year",Yrs:"year",decade:"decade",decades:"decade",Decade:"decade",Decades:"decade",century:"century",centuries:"century",Century:"century",Centuries:"century",millenium:"millenium",milleniums:"millenium",millenia:"millenium","mill.":"millenium",milm:"millenium"},function(){for(var a in TimeUnit.aliasesLower={},TimeUnit.aliases)TimeUnit.aliasesLower[a.toLowerCase()]=TimeUnit.aliases[a]}(),TimeUnit.convert=function(to,from,time){from=Measurement.getUnitIdCaseInsensitive(TimeUnit,from)||from,to=Measurement.getUnitIdCaseInsensitive(TimeUnit,to)||to;var fromRow=TimeUnit.ratios[from],toRow=TimeUnit.ratios[to];if(void 0!==from&&void 0!==to)return time*fromRow[toRow[0]]},TimeUnit.getMeasures=function(){return Object.keys(TimeUnit.ratios)},Measurement._constructors.time=TimeUnit,module.exports=TimeUnit;