{"version":3,"sources":["../src/misc/parseFileSize.ts"],"names":["sizes","parseFileSize","n","integer","decimal","unit","unitSize","value"],"mappings":";;;;AAOA,IAAMA,CAAM,CAAA,CAAC,CAAE,CAAA,CAAA,CAAE,CAAE,CAAA,CAAA,CAAE,CAAE,CAAA,CAAA,CAAE,CAAE,CAAA,CAAA,CAAE,CAAE,CAAA,CAAA,CAAE,EAAE,CAAE,CAAA,CAAA,CAAE,CAAC,CAAA,CACjC,SAASC,CAAAA,CAAcC,CAA4B,CAAA,CACtD,GAAG,OAAOA,CAAM,EAAA,QAAA,CACZ,OAAOA,CAAAA,CACL,GAAG,OAAOA,GAAM,QAAS,CAAA,CAC3B,GAAI,CAACC,CAAQ,CAAA,CAAA,CAAEC,CAAQ,CAAA,CAAC,CAAI,CAAA,MAAA,CAAO,UAAWF,CAAAA,CAAC,CAAC,CAAA,CAAE,KAAM,CAAA,GAAG,EACrDG,CAAOH,CAAAA,CAAAA,CAAE,IAAK,EAAA,CAAE,OAAQ,CAAA,WAAA,CAAY,EAAE,CAAA,CACvB,WAAY,EAAA,CACZ,OAAQ,CAAA,MAAA,CAAO,GAAG,CAAA,CAClB,OAAQ,CAAA,OAAA,CAAQ,GAAG,CACnB,CAAA,OAAA,CAAQ,IAAK,CAAA,GAAG,CAChB,CAAA,OAAA,CAAQ,IAAK,CAAA,GAAG,CAChB,CAAA,OAAA,CAAQ,IAAK,CAAA,GAAG,CAChB,CAAA,OAAA,CAAQ,IAAK,CAAA,GAAG,EAChB,OAAQ,CAAA,IAAA,CAAK,GAAG,CAAA,CAChB,OAAQ,CAAA,IAAA,CAAK,GAAG,CAAA,CACrC,GAAG,EAAEG,CAAQL,IAAAA,CAAAA,CAAAA,CAAQ,MAAM,IAAI,SAAU,CAAA,gDAAgD,EACzF,IAAMM,CAAAA,CAAW,IAAK,CAAA,GAAA,CAAI,IAAKN,CAAAA,CAAAA,CAAMK,CAAI,CAAC,CACtCE,CAAAA,CAAAA,CAAQ,MAAOJ,CAAAA,CAAO,CAAIG,CAAAA,CAAAA,CAC9B,OAAAF,CAAAA,CAAU,OAAOA,CAAO,CAAA,CACrBA,CAAQ,CAAA,CAAA,GACPA,CAAU,CAAA,UAAA,CAAW,CAAKA,EAAAA,EAAAA,CAAO,CAAE,CAAA,CAAA,CACnCG,CAAOH,EAAAA,CAAAA,CAAUE,CAEdC,CAAAA,CAAAA,CACX,CACI,KAAA,MAAM,IAAI,SAElB","file":"chunk-VUQEMPOQ.mjs","sourcesContent":["import { FileSize } from \"../types\";\n\n\n/**\n * 将一个FileSize类型的表示文件大小的字符转化为字节值\n * @param n \n */\nconst sizes={b:0,k:1,m:2,g:3,t:4,p:5,e:6} as Record<string, number>\nexport function parseFileSize(n:FileSize | number):number {\n    if(typeof n === \"number\"){\n        return n\n    }else if(typeof n === \"string\"){\n        let [integer=0,decimal=0] = String(parseFloat(n)).split(\".\")\n        const unit = n.trim().replace(/\\d?\\.*\\d?/,\"\")\n                            .toLowerCase()\n                            .replace(\"byte\",\"b\")\n                            .replace(\"bytes\",\"b\")\n                            .replace(\"kb\",\"k\")\n                            .replace(\"mb\",\"m\")\n                            .replace(\"gb\",\"g\")\n                            .replace(\"tb\",\"t\")\n                            .replace(\"pb\",\"p\")\n                            .replace(\"eb\",\"e\")\n        if(!(unit in sizes)) throw new TypeError('File size must be one of [B,KB,MB,GB,TB,PB,EB]')\n        const unitSize = Math.pow(1024,sizes[unit])\n        let value = Number(integer) * unitSize\n        decimal = Number(decimal)\n        if(decimal>0){\n            decimal = parseFloat(`0.${decimal}`)\n            value+=decimal * unitSize\n        }\n        return value\n    }else{\n        throw new TypeError()\n    }\n}"]}