@sankhyalabs/core 2.5.1 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,11 +14,13 @@
14
14
 
15
15
  - [compare](StringUtils.md#compare)
16
16
  - [decodeHtmlEntities](StringUtils.md#decodehtmlentities)
17
+ - [formatBytes](StringUtils.md#formatbytes)
17
18
  - [getBooleanValue](StringUtils.md#getbooleanvalue)
18
19
  - [hashCode](StringUtils.md#hashcode)
19
20
  - [isEmpty](StringUtils.md#isempty)
20
21
  - [padEnd](StringUtils.md#padend)
21
22
  - [padStart](StringUtils.md#padstart)
23
+ - [prettyPrecision](StringUtils.md#prettyprecision)
22
24
  - [replaceAccentuatedChars](StringUtils.md#replaceaccentuatedchars)
23
25
  - [replaceAccentuatedCharsKeepSymbols](StringUtils.md#replaceaccentuatedcharskeepsymbols)
24
26
  - [replaceAccentuatedCharsLower](StringUtils.md#replaceaccentuatedcharslower)
@@ -90,6 +92,31 @@ src/utils/StringUtils.ts:53
90
92
 
91
93
  ___
92
94
 
95
+ ### formatBytes
96
+
97
+ ▸ `Static` **formatBytes**(`bytes`): `string`
98
+
99
+ Utilitário para formatar bytes em string legível, convertendo para
100
+ múltiplos maiores caso necessário.
101
+
102
+ #### Parameters
103
+
104
+ | Name | Type |
105
+ | :------ | :------ |
106
+ | `bytes` | `number` |
107
+
108
+ #### Returns
109
+
110
+ `string`
111
+
112
+ string formatada de acordo com a unidade.
113
+
114
+ #### Defined in
115
+
116
+ src/utils/StringUtils.ts:303
117
+
118
+ ___
119
+
93
120
  ### getBooleanValue
94
121
 
95
122
  ▸ `Static` **getBooleanValue**(`value`, `defaultValue?`): `boolean`
@@ -255,6 +282,31 @@ src/utils/StringUtils.ts:177
255
282
 
256
283
  ___
257
284
 
285
+ ### prettyPrecision
286
+
287
+ ▸ `Static` `Private` **prettyPrecision**(`strNumber`): `string`
288
+
289
+ Método interno. Remove zeros depois da vírgula diminuindo o tamanho
290
+ da string.
291
+
292
+ #### Parameters
293
+
294
+ | Name | Type | Description |
295
+ | :------ | :------ | :------ |
296
+ | `strNumber` | `string` | representação textual do número a ser ajustado. |
297
+
298
+ #### Returns
299
+
300
+ `string`
301
+
302
+ simplificação do strNumber, sem os zeros à direita depois do ponto.
303
+
304
+ #### Defined in
305
+
306
+ src/utils/StringUtils.ts:329
307
+
308
+ ___
309
+
258
310
  ### replaceAccentuatedChars
259
311
 
260
312
  ▸ `Static` **replaceAccentuatedChars**(`text`, `removeSpecialChars?`): `string`
@@ -145,4 +145,18 @@ export declare class StringUtils {
145
145
  * @returns String sem espaços em branco.
146
146
  */
147
147
  static replaceBlankCharacters(value: string): string;
148
+ /**
149
+ * Utilitário para formatar bytes em string legível, convertendo para
150
+ * múltiplos maiores caso necessário.
151
+ * @param byte quantidade de bytes a serem representados.
152
+ * @returns string formatada de acordo com a unidade.
153
+ */
154
+ static formatBytes(bytes: number): string;
155
+ /**
156
+ * Método interno. Remove zeros depois da vírgula diminuindo o tamanho
157
+ * da string.
158
+ * @param strNumber representação textual do número a ser ajustado.
159
+ * @returns simplificação do strNumber, sem os zeros à direita depois do ponto.
160
+ */
161
+ private static prettyPrecision;
148
162
  }
@@ -269,5 +269,49 @@ export class StringUtils {
269
269
  static replaceBlankCharacters(value) {
270
270
  return (value || "").replace(/ /g, "");
271
271
  }
272
+ /**
273
+ * Utilitário para formatar bytes em string legível, convertendo para
274
+ * múltiplos maiores caso necessário.
275
+ * @param byte quantidade de bytes a serem representados.
276
+ * @returns string formatada de acordo com a unidade.
277
+ */
278
+ static formatBytes(bytes) {
279
+ const units = ["B", "KB", "MB", "GB"];
280
+ let unit, value, base;
281
+ if (bytes < 1024) {
282
+ return `${bytes.toString()}B`;
283
+ }
284
+ base = Math.log(bytes) / Math.log(1024);
285
+ const offSet = Math.floor(base);
286
+ if (offSet >= units.length) {
287
+ return `${bytes.toString()}B`;
288
+ }
289
+ value = this.prettyPrecision(Math.pow(1024, base - offSet).toFixed(2).toString());
290
+ unit = units[offSet];
291
+ return `${value}${unit}`;
292
+ }
293
+ /**
294
+ * Método interno. Remove zeros depois da vírgula diminuindo o tamanho
295
+ * da string.
296
+ * @param strNumber representação textual do número a ser ajustado.
297
+ * @returns simplificação do strNumber, sem os zeros à direita depois do ponto.
298
+ */
299
+ static prettyPrecision(strNumber) {
300
+ const parts = strNumber.split(".");
301
+ if (parts.length > 1) {
302
+ const lastPart = parts.length - 1;
303
+ let lastPartStr = parts[lastPart];
304
+ while (lastPartStr.length > 0 && lastPartStr[lastPartStr.length - 1] === "0") {
305
+ lastPartStr = lastPartStr.slice(0, lastPartStr.length - 1);
306
+ }
307
+ if (lastPartStr) {
308
+ parts[lastPart] = lastPartStr;
309
+ }
310
+ else {
311
+ parts.pop();
312
+ }
313
+ }
314
+ return parts.join(".");
315
+ }
272
316
  }
273
317
  //# sourceMappingURL=StringUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StringUtils.js","sourceRoot":"","sources":["../../src/utils/StringUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StringUtils.js","sourceRoot":"","sources":["../../src/utils/StringUtils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sankhyalabs/core",
3
- "version": "2.5.1",
3
+ "version": "2.6.0",
4
4
  "description": "Modulo core JavaScript da Sankhya.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -293,4 +293,53 @@ export class StringUtils {
293
293
  static replaceBlankCharacters(value: string): string{
294
294
  return (value || "").replace(/ /g, "");
295
295
  }
296
+
297
+ /**
298
+ * Utilitário para formatar bytes em string legível, convertendo para
299
+ * múltiplos maiores caso necessário.
300
+ * @param byte quantidade de bytes a serem representados.
301
+ * @returns string formatada de acordo com a unidade.
302
+ */
303
+ static formatBytes(bytes: number): string {
304
+ const units = ["B", "KB", "MB", "GB"];
305
+ let unit: string, value: string, base: number;
306
+
307
+ if (bytes < 1024) {
308
+ return `${bytes.toString()}B`;
309
+ }
310
+
311
+ base = Math.log(bytes) / Math.log(1024);
312
+ const offSet = Math.floor(base);
313
+ if (offSet >= units.length) {
314
+ return `${bytes.toString()}B`;
315
+ }
316
+
317
+ value = this.prettyPrecision(Math.pow(1024, base - offSet).toFixed(2).toString());
318
+ unit = units[offSet];
319
+
320
+ return `${value}${unit}`;
321
+ }
322
+
323
+ /**
324
+ * Método interno. Remove zeros depois da vírgula diminuindo o tamanho
325
+ * da string.
326
+ * @param strNumber representação textual do número a ser ajustado.
327
+ * @returns simplificação do strNumber, sem os zeros à direita depois do ponto.
328
+ */
329
+ private static prettyPrecision(strNumber: string): string {
330
+ const parts = strNumber.split(".");
331
+ if (parts.length > 1) {
332
+ const lastPart = parts.length - 1;
333
+ let lastPartStr = parts[lastPart];
334
+ while (lastPartStr.length > 0 && lastPartStr[lastPartStr.length - 1] === "0") {
335
+ lastPartStr = lastPartStr.slice(0, lastPartStr.length - 1);
336
+ }
337
+ if (lastPartStr) {
338
+ parts[lastPart] = lastPartStr;
339
+ } else {
340
+ parts.pop();
341
+ }
342
+ }
343
+ return parts.join(".");
344
+ }
296
345
  }