ilib
Version:
iLib is a cross-engine library of internationalization (i18n) classes written in pure JS
1 lines • 3.71 kB
JavaScript
var Measurement=require("./Measurement.js"),MassUnit=function(options){this.unit="gram",this.amount=0,this.ratios=MassUnit.ratios,this.aliases=MassUnit.aliases,this.aliasesLower=MassUnit.aliasesLower,this.systems=MassUnit.systems,this.parent.call(this,options)};MassUnit.prototype=new Measurement(),MassUnit.prototype.parent=Measurement,(MassUnit.prototype.constructor=MassUnit).ratios={microgram:[1,1,.001,1e-6,3.5274e-8,2.2046e-9,1e-9,1.5747e-10,11023e-16,1e-12,98421e-17],milligram:[2,1e3,1,.001,35274e-9,22046e-10,1e-6,1.5747e-7,1.1023e-9,1e-9,9.8421e-10],gram:[3,1e6,1e3,1,.035274,.00220462,.001,157473e-9,11023e-10,1e-6,9.8421e-7],ounce:[4,2835e4,28349.5,28.3495,1,.0625,.0283495,.00446429,3125e-8,2835e-8,27902e-9],pound:[5,4536e5,453592,453.592,16,1,.453592,.0714286,5e-4,453592e-9,446429e-9],kilogram:[6,1e9,1e6,1e3,35.274,2.20462,1,.157473,.00110231,.001,984207e-9],stone:[7,635e7,635e4,6350.29,224,14,6.35029,1,.007,.00635029,.00625],"short-ton":[8,9072e8,9072e5,907185,32e3,2e3,907.185,142.857,1,.907185,.892857],tonne:[9,1e12,1e9,1e6,35274,2204.62,1e3,157.473,1.10231,1,.984207],"long-ton":[10,1016e9,1016e6,1016e3,35840,2240,1016.05,160,1.12,1.01605,1]},MassUnit.prototype.newUnit=function(params){return new MassUnit(params)},MassUnit.systems={metric:["microgram","milligram","gram","kilogram","tonne"],imperial:["ounce","pound","stone","long-ton"],uscustomary:["ounce","pound","short-ton"],conversions:{metric:{uscustomary:{microgram:"ounce",milligram:"ounce",gram:"ounce",kilogram:"pound",tonne:"short-ton"},imperial:{microgram:"ounce",milligram:"ounce",gram:"ounce",kilogram:"pound",tonne:"long-ton"}},uscustomary:{imperial:{ounce:"ounce",pound:"pound","short-ton":"long-ton"},metric:{ounce:"gram",pound:"kilogram","short-ton":"tonne"}},imperial:{uscustomary:{ounce:"ounce",pound:"pound",stone:"pound","long-ton":"short-ton"},metric:{ounce:"gram",pound:"kilogram",stone:"kilogram","long-ton":"tonne"}}}},MassUnit.prototype.getMeasure=function(){return"mass"},MassUnit.aliases={"µg":"microgram",microgram:"microgram",mcg:"microgram",milligram:"milligram",mg:"milligram",milligrams:"milligram",Milligram:"milligram",Milligrams:"milligram",MilliGram:"milligram",MilliGrams:"milligram",g:"gram",gram:"gram",grams:"gram",Gram:"gram",Grams:"gram",ounce:"ounce",oz:"ounce",Ounce:"ounce",ounces:"ounce",Ounces:"ounce","℥":"ounce",pound:"pound",poundm:"pound","℔":"pound",lb:"pound",lbs:"pound",pounds:"pound",Pound:"pound",Pounds:"pound",kilogram:"kilogram",kg:"kilogram",kilograms:"kilogram","kilo grams":"kilogram","kilo gram":"kilogram",Kilogram:"kilogram",Kilograms:"kilogram",KiloGram:"kilogram",KiloGrams:"kilogram","Kilo gram":"kilogram","Kilo grams":"kilogram","Kilo Gram":"kilogram","Kilo Grams":"kilogram",stone:"stone",st:"stone",stones:"stone",Stone:"stone","metric ton":"tonne",metricton:"tonne",t:"tonne",tonne:"tonne",tonnes:"tonne",Tonne:"tonne","Metric Ton":"tonne",MetricTon:"tonne","long ton":"long-ton",longton:"long-ton",Longton:"long-ton","Long ton":"long-ton","Long Ton":"long-ton","short ton":"short-ton","short tons":"short-ton","Short ton":"short-ton","Short Ton":"short-ton",ton:"short-ton",tons:"short-ton",Ton:"short-ton"},function(){for(var a in MassUnit.aliasesLower={},MassUnit.aliases)MassUnit.aliasesLower[a.toLowerCase()]=MassUnit.aliases[a]}(),MassUnit.convert=function(to,from,mass){from=Measurement.getUnitIdCaseInsensitive(MassUnit,from)||from,to=Measurement.getUnitIdCaseInsensitive(MassUnit,to)||to;var fromRow=MassUnit.ratios[from],toRow=MassUnit.ratios[to];if(void 0!==from&&void 0!==to)return mass*fromRow[toRow[0]]},MassUnit.getMeasures=function(){return Object.keys(MassUnit.ratios)},Measurement._constructors.mass=MassUnit,module.exports=MassUnit;