UNPKG

ilib

Version:

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

1 lines 5.98 kB
var Measurement=require("./Measurement.js"),JSUtils=require("./JSUtils.js"),DigitalStorageUnit=function(options){this.unit="byte",this.amount=0,this.ratios=DigitalStorageUnit.ratios,this.aliases=DigitalStorageUnit.aliases,this.aliasesLower=DigitalStorageUnit.aliasesLower,this.systems=DigitalStorageUnit.systems,this.parent.call(this,options)};DigitalStorageUnit.prototype=new Measurement(),DigitalStorageUnit.prototype.parent=Measurement,(DigitalStorageUnit.prototype.constructor=DigitalStorageUnit).ratios={bit:[1,1,.125,.0009765625,.0001220703125,9.536743164e-7,1.192092896e-7,9.313225746e-10,1.164153218e-10,9094947017e-22,1136868377e-22,8881784197e-25,1110223025e-25],byte:[2,8,1,.0078125,.0009765625,7629394531e-15,9.536743164e-7,7.450580597e-9,9.313225746e-10,7275957614e-21,9094947017e-22,7105427358e-24,8881784197e-25],kilobit:[3,1024,128,1,.125,.0009765625,.0001220703125,9.536743164e-7,1.192092896e-7,9.313225746e-10,1.164153218e-10,9094947017e-22,1136868377e-22],kilobyte:[4,8192,1024,8,1,.0078125,.0009765625,7629394531e-15,9.536743164e-7,7.450580597e-9,9.313225746e-10,7275957614e-21,9094947017e-22],megabit:[5,1048576,131072,1024,128,1,.125,.0009765625,.0001220703125,9.536743164e-7,1.192092896e-7,9.313225746e-10,1.164153218e-10],megabyte:[6,8388608,1048576,8192,1024,8,1,.0078125,.0009765625,7629394531e-15,9.536743164e-7,7.450580597e-9,9.313225746e-10],gigabit:[7,1073741824,134217728,1048576,131072,1024,128,1,.125,.0009765625,.0001220703125,9.536743164e-7,1.192092896e-7],gigabyte:[8,8589934592,1073741824,8388608,1048576,8192,1024,8,1,.0078125,.0009765625,7629394531e-15,9.536743164e-7],terabit:[9,1099511628e3,137438953472,1073741824,134217728,1048576,131072,1024,128,1,.125,.0009765625,.0001220703125],terabyte:[10,8796093022e3,1099511628e3,8589934592,1073741824,8388608,1048576,8192,1024,8,1,.0078125,.0009765625],petabit:[11,1125899907e6,1407374884e5,1099511628e3,137438953472,1073741824,134217728,1048576,131072,1024,128,1,.125],petabyte:[12,9007199255e6,1125899907e6,8796093022e3,1099511628e3,8589934592,1073741824,8388608,1048576,8192,1024,8,1]},DigitalStorageUnit.prototype.newUnit=function(params){return new DigitalStorageUnit(params)},DigitalStorageUnit.systems={metric:[],uscustomary:[],imperial:[],conversions:{metric:{},uscustomary:{},imperial:{}}},DigitalStorageUnit.bitSystem=["bit","kilobit","megabit","gigabit","terabit","petabit"],DigitalStorageUnit.byteSystem=["byte","kilobyte","megabyte","gigabyte","terabyte","petabyte"],DigitalStorageUnit.prototype.getMeasure=function(){return"digitalStorage"},DigitalStorageUnit.prototype.localize=function(locale){return new DigitalStorageUnit({unit:this.unit,amount:this.amount})},DigitalStorageUnit.prototype.scale=function(measurementsystem,units){var systemName=this.getMeasurementSystem(),units=units?units[systemName]:-1<JSUtils.indexOf(DigitalStorageUnit.byteSystem,this.unit)?DigitalStorageUnit.byteSystem:DigitalStorageUnit.bitSystem;return this.newUnit(this.scaleUnits(units))},DigitalStorageUnit.prototype.expand=function(measurementsystem,units){var systemName=this.getMeasurementSystem(),units=units?units[systemName]:this.unit in DigitalStorageUnit.byteSystem?DigitalStorageUnit.byteSystem:DigitalStorageUnit.bitSystem;return this.list(units,DigitalStorageUnit.ratios).map(function(item){return new DigitalStorageUnit(item)})},DigitalStorageUnit.aliases={bits:"bit",bit:"bit",Bits:"bit",Bit:"bit",byte:"byte",bytes:"byte",Byte:"byte",Bytes:"byte",kilobits:"kilobit",Kilobits:"kilobit",KiloBits:"kilobit",kiloBits:"kilobit",kilobit:"kilobit",Kilobit:"kilobit",kiloBit:"kilobit",KiloBit:"kilobit",kb:"kilobit",Kb:"kilobit",kilobyte:"kilobyte",Kilobyte:"kilobyte",kiloByte:"kilobyte",KiloByte:"kilobyte",kilobytes:"kilobyte",Kilobytes:"kilobyte",kiloBytes:"kilobyte",KiloBytes:"kilobyte",kB:"kilobyte",KB:"kilobyte",megabit:"megabit",Megabit:"megabit",megaBit:"megabit",MegaBit:"megabit",megabits:"megabit",Megabits:"megabit",megaBits:"megabit",MegaBits:"megabit",Mb:"megabit",mb:"megabit",megabyte:"megabyte",Megabyte:"megabyte",megaByte:"megabyte",MegaByte:"megabyte",megabytes:"megabyte",Megabytes:"megabyte",megaBytes:"megabyte",MegaBytes:"megabyte",MB:"megabyte",mB:"megabyte",gigabit:"gigabit",Gigabit:"gigabit",gigaBit:"gigabit",GigaBit:"gigabit",gigabits:"gigabit",Gigabits:"gigabit",gigaBits:"gigabyte",GigaBits:"gigabit",Gb:"gigabit",gb:"gigabit",gigabyte:"gigabyte",Gigabyte:"gigabyte",gigaByte:"gigabyte",GigaByte:"gigabyte",gigabytes:"gigabyte",Gigabytes:"gigabyte",gigaBytes:"gigabyte",GigaBytes:"gigabyte",GB:"gigabyte",gB:"gigabyte",terabit:"terabit",Terabit:"terabit",teraBit:"terabit",TeraBit:"terabit",terabits:"terabit",Terabits:"terabit",teraBits:"terabit",TeraBits:"terabit",tb:"terabit",Tb:"terabit",terabyte:"terabyte",Terabyte:"terabyte",teraByte:"terabyte",TeraByte:"terabyte",terabytes:"terabyte",Terabytes:"terabyte",teraBytes:"terabyte",TeraBytes:"terabyte",TB:"terabyte",tB:"terabyte",petabit:"petabit",Petabit:"petabit",petaBit:"petabit",PetaBit:"petabit",petabits:"petabit",Petabits:"petabit",petaBits:"petabit",PetaBits:"petabit",pb:"petabit",Pb:"petabit",petabyte:"petabyte",Petabyte:"petabyte",petaByte:"petabyte",PetaByte:"petabyte",petabytes:"petabyte",Petabytes:"petabyte",petaBytes:"petabyte",PetaBytes:"petabyte",PB:"petabyte",pB:"petabyte"},function(){for(var a in DigitalStorageUnit.aliasesLower={},DigitalStorageUnit.aliases)DigitalStorageUnit.aliasesLower[a.toLowerCase()]=DigitalStorageUnit.aliases[a]}(),DigitalStorageUnit.convert=function(to,from,digitalStorage){from=Measurement.getUnitIdCaseInsensitive(DigitalStorageUnit,from)||from,to=Measurement.getUnitIdCaseInsensitive(DigitalStorageUnit,to)||to;var fromRow=DigitalStorageUnit.ratios[from],toRow=DigitalStorageUnit.ratios[to];if(void 0!==from&&void 0!==to)return digitalStorage*fromRow[toRow[0]]},DigitalStorageUnit.getMeasures=function(){return Object.keys(DigitalStorageUnit.ratios)},Measurement._constructors.digitalStorage=DigitalStorageUnit,module.exports=DigitalStorageUnit;