UNPKG

ilib

Version:

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

1 lines 4.01 kB
var Measurement=require("./Measurement.js");var FuelConsumptionUnit=function(t){this.unit="km/liter";this.amount=0;this.aliases=FuelConsumptionUnit.aliases;if(t){if(typeof t.unit!=="undefined"){this.originalUnit=t.unit;this.unit=this.aliases[t.unit]||t.unit}if(typeof t.amount==="object"){if(t.amount.getMeasure()==="fuelconsumption"){this.amount=FuelConsumptionUnit.convert(this.unit,t.amount.getUnit(),t.amount.getAmount())}else{throw"Cannot convert unit "+t.amount.unit+" to fuelconsumption"}}else if(typeof t.amount!=="undefined"){this.amount=parseFloat(t.amount)}}};FuelConsumptionUnit.prototype=new Measurement;FuelConsumptionUnit.prototype.parent=Measurement;FuelConsumptionUnit.prototype.constructor=FuelConsumptionUnit;FuelConsumptionUnit.ratios=["km/liter","liter/100km","mpg","mpg(imp)"];FuelConsumptionUnit.prototype.getMeasure=function(){return"fuelconsumption"};FuelConsumptionUnit.prototype.convert=function(t){if(!t||typeof FuelConsumptionUnit.ratios[this.normalizeUnits(t)]==="undefined"){return undefined}return new FuelConsumptionUnit({unit:t,amount:this})};FuelConsumptionUnit.aliases={"Km/liter":"km/liter","KM/Liter":"km/liter","KM/L":"km/liter","Kilometers Per Liter":"km/liter","kilometers per liter":"km/liter","km/l":"km/liter","Kilometers/Liter":"km/liter","Kilometer/Liter":"km/liter","kilometers/liter":"km/liter","kilometer/liter":"km/liter","km/liter":"km/liter","Liter/100km":"liter/100km","Liters/100km":"liter/100km","Liter/100kms":"liter/100km","Liters/100kms":"liter/100km","liter/100km":"liter/100km","liters/100kms":"liter/100km","liters/100km":"liter/100km","liter/100kms":"liter/100km","Liter/100KM":"liter/100km","Liters/100KM":"liter/100km","L/100km":"liter/100km","L/100KM":"liter/100km","l/100KM":"liter/100km","l/100km":"liter/100km","l/100kms":"liter/100km","MPG(US)":"mpg","USMPG ":"mpg",mpg:"mpg",mpgUS:"mpg","mpg(US)":"mpg","mpg(us)":"mpg","mpg-us":"mpg","mpg Imp":"mpg(imp)","MPG(imp)":"mpg(imp)","mpg(imp)":"mpg(imp)","mpg-imp":"mpg(imp)"};FuelConsumptionUnit.metricToUScustomary={"km/liter":"mpg","liter/100km":"mpg"};FuelConsumptionUnit.metricToImperial={"km/liter":"mpg(imp)","liter/100km":"mpg(imp)"};FuelConsumptionUnit.imperialToMetric={"mpg(imp)":"km/liter"};FuelConsumptionUnit.imperialToUScustomary={"mpg(imp)":"mpg"};FuelConsumptionUnit.uScustomaryToImperial={mpg:"mpg(imp)"};FuelConsumptionUnit.uScustomarylToMetric={mpg:"km/liter"};FuelConsumptionUnit.prototype.localize=function(t){var i;if(t==="en-US"){i=FuelConsumptionUnit.metricToUScustomary[this.unit]||FuelConsumptionUnit.imperialToUScustomary[this.unit]||this.unit}else if(t==="en-GB"){i=FuelConsumptionUnit.metricToImperial[this.unit]||FuelConsumptionUnit.uScustomaryToImperial[this.unit]||this.unit}else{i=FuelConsumptionUnit.uScustomarylToMetric[this.unit]||FuelConsumptionUnit.imperialToUScustomary[this.unit]||this.unit}return new FuelConsumptionUnit({unit:i,amount:this})};FuelConsumptionUnit.convert=function(t,i,e){i=FuelConsumptionUnit.aliases[i]||i;t=FuelConsumptionUnit.aliases[t]||t;var m=0;switch(i){case"km/liter":switch(t){case"km/liter":m=e*1;break;case"liter/100km":m=100/e;break;case"mpg":m=e*2.35215;break;case"mpg(imp)":m=e*2.82481;break}break;case"liter/100km":switch(t){case"km/liter":m=100/e;break;case"liter/100km":m=e*1;break;case"mpg":m=235.215/e;break;case"mpg(imp)":m=282.481/e;break}break;case"mpg":switch(t){case"km/liter":m=e*.425144;break;case"liter/100km":m=235.215/e;break;case"mpg":m=1*e;break;case"mpg(imp)":m=1.20095*e;break}break;case"mpg(imp)":switch(t){case"km/liter":m=e*.354006;break;case"liter/100km":m=282.481/e;break;case"mpg":m=.832674*e;break;case"mpg(imp)":m=1*e;break}break}return m};FuelConsumptionUnit.prototype.scale=function(t){return new FuelConsumptionUnit({unit:this.unit,amount:this.amount})};FuelConsumptionUnit.getMeasures=function(){var t=[];t.push("km/liter");t.push("liter/100km");t.push("mpg");t.push("mpg(imp)");return t};Measurement._constructors["fuelconsumption"]=FuelConsumptionUnit;module.exports=FuelConsumptionUnit;