@sankhyalabs/core 5.3.0 → 5.4.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.
- package/.docs/classes/ArrayUtils.md +3 -3
- package/.docs/classes/NumberUtils.md +26 -0
- package/dist/utils/ArrayUtils.js +13 -1
- package/dist/utils/ArrayUtils.js.map +1 -1
- package/dist/utils/NumberUtils.d.ts +8 -0
- package/dist/utils/NumberUtils.js +22 -0
- package/dist/utils/NumberUtils.js.map +1 -1
- package/package.json +1 -1
- package/src/utils/ArrayUtils.ts +16 -2
- package/src/utils/NumberUtils.ts +24 -0
|
@@ -47,7 +47,7 @@ Filtra um array a partir de um critério textual.
|
|
|
47
47
|
|
|
48
48
|
#### Defined in
|
|
49
49
|
|
|
50
|
-
src/utils/ArrayUtils.ts:
|
|
50
|
+
src/utils/ArrayUtils.ts:17
|
|
51
51
|
|
|
52
52
|
___
|
|
53
53
|
|
|
@@ -71,7 +71,7 @@ Converte texto para caixa alta e substitui caracteres acentuados.
|
|
|
71
71
|
|
|
72
72
|
#### Defined in
|
|
73
73
|
|
|
74
|
-
src/utils/ArrayUtils.ts:
|
|
74
|
+
src/utils/ArrayUtils.ts:35
|
|
75
75
|
|
|
76
76
|
___
|
|
77
77
|
|
|
@@ -96,4 +96,4 @@ Ordena valores de um array alfabeticamente.
|
|
|
96
96
|
|
|
97
97
|
#### Defined in
|
|
98
98
|
|
|
99
|
-
src/utils/ArrayUtils.ts:
|
|
99
|
+
src/utils/ArrayUtils.ts:45
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
### Methods
|
|
14
14
|
|
|
15
15
|
- [changeFormat](NumberUtils.md#changeformat)
|
|
16
|
+
- [compare](NumberUtils.md#compare)
|
|
16
17
|
- [format](NumberUtils.md#format)
|
|
17
18
|
- [getValueOrDefault](NumberUtils.md#getvalueordefault)
|
|
18
19
|
- [getValueOrZero](NumberUtils.md#getvalueorzero)
|
|
@@ -64,6 +65,31 @@ src/utils/NumberUtils.ts:168
|
|
|
64
65
|
|
|
65
66
|
___
|
|
66
67
|
|
|
68
|
+
### compare
|
|
69
|
+
|
|
70
|
+
▸ `Static` **compare**(`a`, `b`): `number`
|
|
71
|
+
|
|
72
|
+
Determina a ordem de umeros.
|
|
73
|
+
|
|
74
|
+
#### Parameters
|
|
75
|
+
|
|
76
|
+
| Name | Type | Description |
|
|
77
|
+
| :------ | :------ | :------ |
|
|
78
|
+
| `a` | `number` | Primeio número para comparação. |
|
|
79
|
+
| `b` | `number` | Segundo número para comparação. |
|
|
80
|
+
|
|
81
|
+
#### Returns
|
|
82
|
+
|
|
83
|
+
`number`
|
|
84
|
+
|
|
85
|
+
- Um numeral negativo se o primeiro argumento é menor que o segundo, zero se os dois são iguais e um numeral positivo quando o primeiro é maior que o segundo.
|
|
86
|
+
|
|
87
|
+
#### Defined in
|
|
88
|
+
|
|
89
|
+
src/utils/NumberUtils.ts:249
|
|
90
|
+
|
|
91
|
+
___
|
|
92
|
+
|
|
67
93
|
### format
|
|
68
94
|
|
|
69
95
|
▸ `Static` **format**(`value`, `precision`, `prettyPrecision?`): `string`
|
package/dist/utils/ArrayUtils.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { StringUtils } from "./StringUtils.js";
|
|
2
|
+
import { NumberUtils } from './NumberUtils.js';
|
|
2
3
|
/**
|
|
3
4
|
* `ArrayUtils`: Utilitário com a responsabilidade de manipular Arrays.
|
|
4
5
|
*/
|
|
@@ -39,7 +40,18 @@ export default class ArrayUtils {
|
|
|
39
40
|
* @returns - Array ordenado alfabeticamente..
|
|
40
41
|
*/
|
|
41
42
|
static sortAlphabetically(originalArray, fieldName = "label") {
|
|
42
|
-
return originalArray.sort((fieldA, fieldB) =>
|
|
43
|
+
return originalArray.sort((fieldA, fieldB) => {
|
|
44
|
+
const valueStringA = fieldA[fieldName];
|
|
45
|
+
const valueStringB = fieldB[fieldName];
|
|
46
|
+
const valueIntA = NumberUtils.stringToNumber(valueStringA);
|
|
47
|
+
const valueIntB = NumberUtils.stringToNumber(valueStringB);
|
|
48
|
+
if (isNaN(valueIntA) || isNaN(valueIntB)) {
|
|
49
|
+
return StringUtils.compare(valueStringA, valueStringB);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
return NumberUtils.compare(valueIntA, valueIntB);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
43
55
|
}
|
|
44
56
|
}
|
|
45
57
|
//# sourceMappingURL=ArrayUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArrayUtils.js","sourceRoot":"","sources":["../../src/utils/ArrayUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,UAAU;IAC3B;;;;;;;;OAQG;IACH,MAAM,CAAC,iBAAiB,CAAC,QAAgB,EAAE,aAAyB,EAAE,sBAA+B,IAAI,EAAE,YAAoB,OAAO;QACnI,IAAG,CAAC,QAAQ,EAAC;YACR,OAAO,aAAa,CAAC;SACxB;QACD,MAAM,kBAAkB,GAAG,UAAU,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QACtE,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAC9C,MAAM,SAAS,GAAW,UAAU,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAC5E,OAAO,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QACH,OAAO,mBAAmB,CAAC,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;IACzG,CAAC;IAED;;;;;OAKG;IACK,MAAM,CAAC,qBAAqB,CAAC,QAAe;QAChD,OAAO,WAAW,CAAC,kCAAkC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IAClF,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,aAAyB,EAAE,YAAoB,OAAO;QAC5E,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"ArrayUtils.js","sourceRoot":"","sources":["../../src/utils/ArrayUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,UAAU;IAC3B;;;;;;;;OAQG;IACH,MAAM,CAAC,iBAAiB,CAAC,QAAgB,EAAE,aAAyB,EAAE,sBAA+B,IAAI,EAAE,YAAoB,OAAO;QACnI,IAAG,CAAC,QAAQ,EAAC;YACR,OAAO,aAAa,CAAC;SACxB;QACD,MAAM,kBAAkB,GAAG,UAAU,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QACtE,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAC9C,MAAM,SAAS,GAAW,UAAU,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAC5E,OAAO,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QACH,OAAO,mBAAmB,CAAC,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;IACzG,CAAC;IAED;;;;;OAKG;IACK,MAAM,CAAC,qBAAqB,CAAC,QAAe;QAChD,OAAO,WAAW,CAAC,kCAAkC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IAClF,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,aAAyB,EAAE,YAAoB,OAAO;QAC5E,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YAE3C,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YACvC,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YAEvC,MAAM,SAAS,GAAG,WAAW,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAC3D,MAAM,SAAS,GAAG,WAAW,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAE3D,IAAG,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,EAAC;gBACtC,OAAO,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;aACvD;iBAAM;gBACL,OAAO,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;aAClD;QACH,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
@@ -100,4 +100,12 @@ export declare class NumberUtils {
|
|
|
100
100
|
* Informo: ("100.16", 3) | 100.16
|
|
101
101
|
*/
|
|
102
102
|
static round(value: number, decimals?: number): number;
|
|
103
|
+
/**
|
|
104
|
+
* Determina a ordem de umeros.
|
|
105
|
+
*
|
|
106
|
+
* @param a - Primeio número para comparação.
|
|
107
|
+
* @param b - Segundo número para comparação.
|
|
108
|
+
* @returns - Um numeral negativo se o primeiro argumento é menor que o segundo, zero se os dois são iguais e um numeral positivo quando o primeiro é maior que o segundo.
|
|
109
|
+
*/
|
|
110
|
+
static compare(a: number, b: number): number;
|
|
103
111
|
}
|
|
@@ -32,6 +32,28 @@ export class NumberUtils {
|
|
|
32
32
|
const multiplier = Math.pow(10, decimals);
|
|
33
33
|
return Math.round(value * multiplier) / multiplier;
|
|
34
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Determina a ordem de umeros.
|
|
37
|
+
*
|
|
38
|
+
* @param a - Primeio número para comparação.
|
|
39
|
+
* @param b - Segundo número para comparação.
|
|
40
|
+
* @returns - Um numeral negativo se o primeiro argumento é menor que o segundo, zero se os dois são iguais e um numeral positivo quando o primeiro é maior que o segundo.
|
|
41
|
+
*/
|
|
42
|
+
static compare(a, b) {
|
|
43
|
+
if (a === undefined) {
|
|
44
|
+
return b === undefined ? 0 : 1;
|
|
45
|
+
}
|
|
46
|
+
else if (b === undefined) {
|
|
47
|
+
return -1;
|
|
48
|
+
}
|
|
49
|
+
if (a === null) {
|
|
50
|
+
return b === null ? 0 : 1;
|
|
51
|
+
}
|
|
52
|
+
else if (b === null) {
|
|
53
|
+
return -1;
|
|
54
|
+
}
|
|
55
|
+
return a > b ? 1 : (a < b ? -1 : 0);
|
|
56
|
+
}
|
|
35
57
|
}
|
|
36
58
|
/**
|
|
37
59
|
* Converte o dado numérico de string para number.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberUtils.js","sourceRoot":"","sources":["../../src/utils/NumberUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,mCAAmC,GAAW,qCAAqC,CAAC;AAE1F;;GAEG;AACH,MAAM,OAAO,WAAW;IA6MpB;;;;;;;;;;;;;;;;;;;;;;;MAuBE;IACF,MAAM,CAAC,KAAK,CAAC,KAAa,EAAE,WAAmB,CAAC;QAC5C,MAAM,UAAU,GAAG,SAAA,EAAE,EAAI,QAAQ,CAAA,CAAC;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC;IACvD,CAAC;;
|
|
1
|
+
{"version":3,"file":"NumberUtils.js","sourceRoot":"","sources":["../../src/utils/NumberUtils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/utils/ArrayUtils.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { StringUtils } from "./StringUtils.js";
|
|
2
|
+
import { NumberUtils } from './NumberUtils.js';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* `ArrayUtils`: Utilitário com a responsabilidade de manipular Arrays.
|
|
@@ -37,11 +38,24 @@ export default class ArrayUtils {
|
|
|
37
38
|
|
|
38
39
|
/**
|
|
39
40
|
* Ordena valores de um array alfabeticamente.
|
|
40
|
-
*
|
|
41
|
+
*
|
|
41
42
|
* @param originalArray - Array a ser ordenado.
|
|
42
43
|
* @returns - Array ordenado alfabeticamente..
|
|
43
44
|
*/
|
|
44
45
|
static sortAlphabetically(originalArray: Array<any>, fieldName: string = "label"): Array<any>{
|
|
45
|
-
return originalArray.sort((fieldA, fieldB) =>
|
|
46
|
+
return originalArray.sort((fieldA, fieldB) => {
|
|
47
|
+
|
|
48
|
+
const valueStringA = fieldA[fieldName];
|
|
49
|
+
const valueStringB = fieldB[fieldName];
|
|
50
|
+
|
|
51
|
+
const valueIntA = NumberUtils.stringToNumber(valueStringA);
|
|
52
|
+
const valueIntB = NumberUtils.stringToNumber(valueStringB);
|
|
53
|
+
|
|
54
|
+
if(isNaN(valueIntA) || isNaN(valueIntB)){
|
|
55
|
+
return StringUtils.compare(valueStringA, valueStringB)
|
|
56
|
+
} else {
|
|
57
|
+
return NumberUtils.compare(valueIntA, valueIntB);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
46
60
|
}
|
|
47
61
|
}
|
package/src/utils/NumberUtils.ts
CHANGED
|
@@ -238,4 +238,28 @@ export class NumberUtils {
|
|
|
238
238
|
const multiplier = 10 ** decimals;
|
|
239
239
|
return Math.round(value * multiplier) / multiplier;
|
|
240
240
|
}
|
|
241
|
+
|
|
242
|
+
/**
|
|
243
|
+
* Determina a ordem de umeros.
|
|
244
|
+
*
|
|
245
|
+
* @param a - Primeio número para comparação.
|
|
246
|
+
* @param b - Segundo número para comparação.
|
|
247
|
+
* @returns - Um numeral negativo se o primeiro argumento é menor que o segundo, zero se os dois são iguais e um numeral positivo quando o primeiro é maior que o segundo.
|
|
248
|
+
*/
|
|
249
|
+
static compare(a: number, b: number): number{
|
|
250
|
+
|
|
251
|
+
if(a === undefined){
|
|
252
|
+
return b === undefined ? 0 : 1;
|
|
253
|
+
} else if(b === undefined){
|
|
254
|
+
return -1;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
if(a === null){
|
|
258
|
+
return b === null ? 0 : 1;
|
|
259
|
+
} else if(b === null){
|
|
260
|
+
return -1;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
return a > b ? 1 : (a < b ? -1 : 0);
|
|
264
|
+
}
|
|
241
265
|
}
|