ilib
Version:
iLib is a cross-engine library of internationalization (i18n) classes written in pure JS
1 lines • 9.84 kB
JavaScript
var Measurement=require("./Measurement.js"),JSUtils=require("./JSUtils.js"),DigitalSpeedUnit=function(options){this.unit="byte",this.amount=0,this.ratios=DigitalSpeedUnit.ratios,this.aliases=DigitalSpeedUnit.aliases,this.aliasesLower=DigitalSpeedUnit.aliasesLower,this.systems=DigitalSpeedUnit.systems,this.parent.call(this,options)};DigitalSpeedUnit.prototype=new Measurement(),DigitalSpeedUnit.prototype.parent=Measurement,(DigitalSpeedUnit.prototype.constructor=DigitalSpeedUnit).ratios={"bit-per-second":[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,450,.45,45e-5,45e-8,4.5e-10,45e-14],"byte-per-second":[2,8,1,.0078125,.0009765625,7629394531e-15,9.536743164e-7,7.450580597e-9,9.313225746e-10,7275957614e-21,9094947017e-22,7105427358e-24,8881784197e-25,3600,3.6,.0036,36e-7,3.6e-9,36e-13],"kilobit-per-second":[3,1024,128,1,.125,.0009765625,.0001220703125,9.536743164e-7,1.192092896e-7,9.313225746e-10,1.164153218e-10,9094947017e-22,1136868377e-22,45e4,450,.45,45e-5,45e-8,4.5e-10],"kilobyte-per-second":[4,8192,1024,8,1,.0078125,.0009765625,7629394531e-15,9.536743164e-7,7.450580597e-9,9.313225746e-10,7275957614e-21,9094947017e-22,36e5,3600,3.6,.0036,36e-7,3.6e-9],"megabit-per-second":[5,1048576,131072,1024,128,1,.125,.0009765625,.0001220703125,9.536743164e-7,1.192092896e-7,9.313225746e-10,1.164153218e-10,45e7,45e4,450,.45,45e-5,45e-8],"megabyte-per-second":[6,8388608,1048576,8192,1024,8,1,.0078125,.0009765625,7629394531e-15,9.536743164e-7,7.450580597e-9,9.313225746e-10,36e8,36e5,3600,3.6,.0036,36e-7],"gigabit-per-second":[7,1073741824,134217728,1048576,131072,1024,128,1,.125,.0009765625,.0001220703125,9.536743164e-7,1.192092896e-7,45e10,45e7,45e4,450,.45,45e-5],"gigabyte-per-second":[8,8589934592,1073741824,8388608,1048576,8192,1024,8,1,.0078125,.0009765625,7629394531e-15,9.536743164e-7,36e11,36e8,36e5,3600,3.6,.0036],"terabit-per-second":[9,1099511628e3,137438953472,1073741824,134217728,1048576,131072,1024,128,1,.125,.0009765625,.0001220703125,45e13,45e10,45e7,45e4,450,.45],"terabyte-per-second":[10,8796093022e3,1099511628e3,8589934592,1073741824,8388608,1048576,8192,1024,8,1,.0078125,.0009765625,36e14,36e11,36e8,36e5,3600,3.6],"petabit-per-second":[11,1125899907e6,1407374884e5,1099511628e3,137438953472,1073741824,134217728,1048576,131072,1024,128,1,.125,45e16,45e13,45e10,45e7,45e4,450],"petabyte-per-second":[12,9007199255e6,1125899907e6,8796093022e3,1099511628e3,8589934592,1073741824,8388608,1048576,8192,1024,8,1,36e17,36e14,36e11,36e8,36e5,3600],"byte-per-hour":[13,28800,3600,28.125,3.515625,.0274658203116,.00343322753904,268220901492e-16,335276126856e-17,2.61934474104e-8,3.27418092612e-9,255795384888e-22,319744231092e-23,1,.0078125,9.536743164e-7,9.313225746e-10,9094947017e-22,8881784197e-25],"kilobyte-per-hour":[14,29491200,3686400,28800,3600,28.125,3.515625,.0274658203116,.00343322753904,268220901492e-16,335276126856e-17,2.61934474104e-8,3.27418092612e-9,1024,1,.0078125,9.536743164e-7,9.313225746e-10,9094947017e-22],"megabyte-per-hour":[15,30198988800,3774873600,29491200,3686400,28800,3600,28.125,3.515625,.0274658203116,.00343322753904,268220901492e-16,335276126856e-17,1048576,1024,1,.0078125,9.536743164e-7,9.313225746e-10],"gigabyte-per-hour":[16,30923764531200,3865470566400,30198988800,3774873600,29491200,3686400,28800,3600,28.125,3.515625,.0274658203116,.00343322753904,1073741824,1048576,1024,1,.0078125,9.536743164e-7],"terabyte-per-hour":[17,316659348792e5,39582418608e6,30923764531200,3865470566400,30198988800,3774873600,29491200,3686400,28800,3600,28.125,3.515625,1099511628e3,1073741824,1048576,1024,1,.0078125],"petabyte-per-hour":[18,32425917318e9,40532396652e8,316659348792e5,39582418608e6,30923764531200,3865470566400,30198988800,3774873600,29491200,3686400,28800,3600,1125899907e6,1099511628e3,1073741824,1048576,1024,1]},DigitalSpeedUnit.prototype.newUnit=function(params){return new DigitalSpeedUnit(params)},DigitalSpeedUnit.systems={metric:[],uscustomary:[],imperial:[],conversions:{metric:{},uscustomary:{},imperial:{}}},DigitalSpeedUnit.bitSystem=["bit-per-second","kilobit-per-second","megabit-per-second","gigabit-per-second","terabit-per-second","petabit-per-second"],DigitalSpeedUnit.byteSystem=["byte-per-second","kilobyte-per-second","megabyte-per-second","gigabyte-per-second","terabyte-per-second","petabyte-per-second"],DigitalSpeedUnit.prototype.getMeasure=function(){return"digitalSpeed"},DigitalSpeedUnit.prototype.localize=function(locale){return new DigitalSpeedUnit({unit:this.unit,amount:this.amount})},DigitalSpeedUnit.prototype.scale=function(measurementsystem,units){var systemName=this.getMeasurementSystem(),units=units?units[systemName]:-1<JSUtils.indexOf(DigitalSpeedUnit.byteSystem,this.unit)?DigitalSpeedUnit.byteSystem:DigitalSpeedUnit.bitSystem;return this.newUnit(this.scaleUnits(units))},DigitalSpeedUnit.prototype.expand=function(measurementsystem,units){var systemName=this.getMeasurementSystem(),units=units?units[systemName]:this.unit in DigitalSpeedUnit.byteSystem?DigitalSpeedUnit.byteSystem:DigitalSpeedUnit.bitSystem;return this.list(units,DigitalSpeedUnit.ratios).map(function(item){return new DigitalSpeedUnit(item)})},DigitalSpeedUnit.aliases={"bits/s":"bit-per-second","bit/s":"bit-per-second","bits/second":"bit-per-second","bit/second":"bit-per-second",bps:"bit-per-second","byte/s":"byte-per-second","bytes/s":"byte-per-second","byte/second":"byte-per-second","bytes/second":"byte-per-second",Bps:"byte-per-second","kilobits/s":"kilobit-per-second","kilobits/second":"kilobit-per-second","Kilobits/s":"kilobit-per-second","kilobit/s":"kilobit-per-second","kilobit/second":"kilobit-per-second","Kilobit/s":"kilobit-per-second","kb/s":"kilobit-per-second","Kb/s":"kilobit-per-second",kbps:"kilobit-per-second",Kbps:"kilobit-per-second","kilobyte/s":"kilobyte-per-second","kilobyte/second":"kilobyte-per-second","Kilobyte/s":"kilobyte-per-second","kilobytes/s":"kilobyte-per-second","kilobytes/second":"kilobyte-per-second","Kilobytes/s":"kilobyte-per-second","kB/s":"kilobyte-per-second","KB/s":"kilobyte-per-second",kBps:"kilobyte-per-second",KBps:"kilobyte-per-second","megabit/s":"megabit-per-second","megabits/s":"megabit-per-second","megabit/second":"megabit-per-second","megabits/second":"megabit-per-second","Mb/s":"megabit-per-second","mb/s":"megabit-per-second",mbps:"megabit-per-second",Mbps:"megabit-per-second","megabyte/s":"megabyte-per-second","megabytes/s":"megabyte-per-second","megabyte/second":"megabyte-per-second","megabytes/second":"megabyte-per-second","MB/s":"megabyte-per-second","mB/s":"megabyte-per-second",mBps:"megabyte-per-second",MBps:"megabyte-per-second","gigabit/s":"gigabit-per-second","gigabits/s":"gigabit-per-second","gigabit/second":"gigabit-per-second","gigabits/second":"gigabit-per-second","Gb/s":"gigabit-per-second","gb/s":"gigabit-per-second",gbps:"gigabit-per-second",Gbps:"gigabit-per-second","gigabyte/s":"gigabyte-per-second","gigabytes/s":"gigabyte-per-second","gigabyte/second":"gigabyte-per-second","gigabytes/second":"gigabyte-per-second","GB/s":"gigabyte-per-second","gB/s":"gigabyte-per-second",gBps:"gigabyte-per-second",GBps:"gigabyte-per-second","terabit/second":"terabit-per-second","terabits/second":"terabit-per-second","tb/s":"terabit-per-second","Tb/s":"terabit-per-second",tbps:"terabit-per-second",Tbps:"terabit-per-second","terabyte/s":"terabyte-per-second","terabytes/s":"terabyte-per-second","terabyte/second":"terabyte-per-second","terabytes/second":"terabyte-per-second","TB/s":"terabyte-per-second","tB/s":"terabyte-per-second",tBps:"terabyte-per-second",TBps:"terabyte-per-second","petabit/s":"petabit-per-second","petabits/s":"petabit-per-second","petabit/second":"petabit-per-second","petabits/second":"petabit-per-second","pb/s":"petabit-per-second","Pb/s":"petabit-per-second",pbps:"petabit-per-second",Pbps:"petabit-per-second","petabyte/s":"petabyte-per-second","petabytes/s":"petabyte-per-second","petabyte/second":"petabyte-per-second","petabytes/second":"petabyte-per-second","PB/s":"petabyte-per-second","pB/s":"petabyte-per-second",pBps:"petabyte-per-second",PBps:"petabyte-per-second","byte/h":"byte-per-hour","bytes/h":"byte-per-hour","byte/hour":"byte-per-hour","bytes/hour":"byte-per-hour","B/h":"byte-per-hour",Bph:"byte-per-hour","kilobyte/h":"kilobyte-per-hour","kilobytes/h":"kilobyte-per-hour","kilobyte/hour":"kilobyte-per-hour","kilobytes/hour":"kilobyte-per-hour","kB/h":"kilobyte-per-hour","KB/h":"kilobyte-per-hour",kBph:"kilobyte-per-hour",KBph:"kilobyte-per-hour","megabyte/h":"megabyte-per-hour","megabytes/h":"megabyte-per-hour","megabyte/hour":"megabyte-per-hour","megabytes/hour":"megabyte-per-hour","MB/h":"megabyte-per-hour",MBph:"megabyte-per-hour","gigabyte/h":"gigabyte-per-hour","gigabytes/h":"gigabyte-per-hour","gigabyte/hour":"gigabyte-per-hour","gigabytes/hour":"gigabyte-per-hour","GB/h":"gigabyte-per-hour",GBph:"gigabyte-per-hour","petabyte/h":"petabyte-per-hour","petabytes/h":"petabyte-per-hour","petabyte/hour":"petabyte-per-hour","petabytes/hour":"petabyte-per-hour","PB/h":"petabyte-per-hour",PBph:"petabyte-per-hour"},function(){for(var a in DigitalSpeedUnit.aliasesLower={},DigitalSpeedUnit.aliases)DigitalSpeedUnit.aliasesLower[a.toLowerCase()]=DigitalSpeedUnit.aliases[a]}(),DigitalSpeedUnit.convert=function(to,from,digitalSpeed){from=Measurement.getUnitIdCaseInsensitive(DigitalSpeedUnit,from)||from,to=Measurement.getUnitIdCaseInsensitive(DigitalSpeedUnit,to)||to;var fromRow=DigitalSpeedUnit.ratios[from],toRow=DigitalSpeedUnit.ratios[to];if(void 0!==from&&void 0!==to)return digitalSpeed*fromRow[toRow[0]]},DigitalSpeedUnit.getMeasures=function(){return Object.keys(DigitalSpeedUnit.ratios)},Measurement._constructors.digitalSpeed=DigitalSpeedUnit,module.exports=DigitalSpeedUnit;