积分421 / 贡献0

提问31答案被采纳5文章47

[经验分享] filesize三方库发布啦 原创

润开鸿_坚果 显示全部楼层 发表于 2024-7-21 09:32:29

filesize

filesize.js provides a simple way to get a human-readable file size string from a number (float or integer) or string.

一、下载安装

ohpm install @nutpi/filesize

OpenHarmony ohpm 环境配置等更多内容,请参考[如何安装 OpenHarmony ohpm 包]()

二、使用


import {filesize} from "@nutpi/filesize";



filesize(265318, {standard: "jedec"}); // "259.1 KB"

Testing

filesize has 100% code coverage with its tests.

--------------|---------|----------|---------|---------|-----------------------
File          | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
--------------|---------|----------|---------|---------|-----------------------
All files     |     100 |    95.52 |     100 |     100 |                    
 filesize.cjs |     100 |    95.52 |     100 |     100 | 77-78,173,196,199,210
--------------|---------|----------|---------|---------|-----------------------

Optional settings

filesize() accepts an optional descriptor Object as a second argument, so you can customize the output.

base

(number) Number base, default is 10

bits

(boolean) Enables bit sizes, default is false

exponent

(number) Specifies the symbol via exponent, e.g. 2 is MB for base 2, default is -1

fullform

(boolean) Enables full form of unit of measure, default is false

fullforms

(array) Array of full form overrides, default is []

locale (overrides 'separator')

(string || boolean) BCP 47 language tag to specify a locale, or true to use default locale, default is ""

localeOptions (overrides 'separator', requires string for 'locale' option)

(object) Dictionary of options defined by ECMA-402 ([Number.prototype.toLocaleString]()). Requires locale option to be explicitly passed as a string, otherwise is ignored.

output

(string) Output of function (array, exponent, object, or string), default is string

pad

(boolean) Decimal place end padding, default is false

precision

(number) Sets precision of numerical output, default is 0

round

(number) Decimal place, default is 2

roundingMethod

(string) Rounding method, can be round, floor, or ceil, default is round

separator

(string) Decimal separator character, default is .

spacer

(string) Character between the result and symbol, default is " "

standard

(string) Standard unit of measure, can be iec, jedec, or si. Default is si (base 10). The si option is an alias of jedec, such that it is not valid for other configuration options.

symbols

(object) Dictionary of IEC/JEDEC symbols to replace for localization, defaults to english if no match is found; SI is handled automatically with JEDEC values.

Examples

filesize(500);                        // "500 B"
filesize(500, {bits: true});          // "4 kbit"
filesize(265318, {base: 2});          // "259.1 KiB"
filesize(265318);                     // "265.32 kB"
filesize(265318, {round: 0});         // "265 kB"
filesize(265318, {output: "array"});  // [265.32, "kB"]
filesize(265318, {output: "object"}); // {value: 265.32, symbol: "kB", exponent: 1, unit: "kB"}
filesize(1, {symbols: {B: "Б"}});     // "1 Б"
filesize(1024);                       // "1.02 kB"
filesize(1024, {exponent: 0});        // "1024 B"
filesize(1024, {output: "exponent"}); // 1
filesize(265318, {standard: "jedec"});  // "259.1 KB"
filesize(265318, {base: 2, fullform: true}); // "259.1 kibibytes"
filesize(12, {fullform: true, fullforms: ["байтов"]});  // "12 байтов"
filesize(265318, {separator: ","});   // "265,32 kB"
filesize(265318, {locale: "de"});   // "265,32 kB"

Partial Application

partial() takes the second parameter of filesize() and returns a new function with the configuration applied upon execution. This can be used to reduce Object creation if you call filesize() without caching the descriptor in lexical scope.

import {partial} from "filesize";
const size = partial({standard: "jedec"});

size(265318); // "259.1 KB"

三、开源协议

本项目基于 [MIT]() ,请自由地享受和参与开源。感谢坚果派的小伙伴做出的努力。

四、运行环境

DevEco Studio NEXT Developer Beta1 Build Version: 5.0.3.401,

适用于API:12及以上,在真机Mate60测试ok。

五、关于坚果派

团队介绍:坚果派由坚果等人创建,团队拥有12个华为HDE,以及若干其他领域的三十余位万粉博主运营。专注于分享HarmonyOS/OpenHarmony,ArkUI-X,元服务,仓颉,团队成员聚集在北京,上海,南京,深圳,广州,宁夏等地,目前已开发鸿蒙原生应用,三方库40+。

©著作权归作者所有,转载或内容合作请联系作者

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部