UNPKG

ilib

Version:

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

1 lines 2.35 kB
var Measurement=require("./Measurement.js"),TemperatureUnit=function(options){this.unit="celsius",this.amount=0,this.ratios=TemperatureUnit.ratios,this.aliases=TemperatureUnit.aliases,this.aliasesLower=TemperatureUnit.aliasesLower,this.systems=TemperatureUnit.systems,this.parent.call(this,options)};TemperatureUnit.prototype=new Measurement(),TemperatureUnit.prototype.parent=Measurement,(TemperatureUnit.prototype.constructor=TemperatureUnit).ratios={celsius:[1,1,1,1.8],kelvin:[2,1,1,1.8],fahrenheit:[3,5/9,5/9,1]},TemperatureUnit.prototype.getMeasure=function(){return"temperature"},TemperatureUnit.prototype.newUnit=function(params){return new TemperatureUnit(params)},TemperatureUnit.systems={metric:["celsius","kelvin"],uscustomary:["fahrenheit"],imperial:["fahrenheit"],conversions:{metric:{uscustomary:{celsius:"fahrenheit",kelvin:"fahrenheit"},imperial:{celsius:"fahrenheit",kelvin:"fahrenheit"}},uscustomary:{metric:{fahrenheit:"celsius"}},imperial:{metric:{fahrenheit:"celsius"}}}},TemperatureUnit.aliases={Celsius:"celsius",C:"celsius",Centegrade:"celsius",Centigrade:"celsius",Fahrenheit:"fahrenheit",F:"fahrenheit",K:"kelvin",Kelvin:"kelvin","°F":"fahrenheit","℉":"fahrenheit","℃":"celsius","°C":"celsius"},function(){for(var a in TemperatureUnit.aliasesLower={},TemperatureUnit.aliases)TemperatureUnit.aliasesLower[a.toLowerCase()]=TemperatureUnit.aliases[a]}(),TemperatureUnit.prototype.convert=function(to){if(to&&void 0!==TemperatureUnit.ratios[this.normalizeUnits(to)])return TemperatureUnit.convert(to,this.unit,this.amount)},TemperatureUnit.convert=function(to,from,temperature){var result=0;return(from=Measurement.getUnitIdCaseInsensitive(TemperatureUnit,from)||from)===(to=Measurement.getUnitIdCaseInsensitive(TemperatureUnit,to)||to)?temperature:("celsius"===from?"fahrenheit"===to?result=9*temperature/5+32:"kelvin"===to&&(result=temperature+273.15):"fahrenheit"===from?"celsius"===to?result=5/9*(temperature-32):"kelvin"===to&&(result=5*(temperature+459.67)/9):"kelvin"===from&&("celsius"===to?result=temperature-273.15:"fahrenheit"===to&&(result=9*temperature/5-459.67)),result)},TemperatureUnit.prototype.scale=function(measurementsystem){return this},TemperatureUnit.getMeasures=function(){return["celsius","kelvin","fahrenheit"]},Measurement._constructors.temperature=TemperatureUnit,module.exports=TemperatureUnit;