@fileverse-dev/formulajs 4.4.17 → 4.4.18
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/lib/browser/formula.js +54 -27
- package/lib/browser/formula.min.js +2 -2
- package/lib/browser/formula.min.js.map +1 -1
- package/lib/cjs/index.cjs +58 -31
- package/lib/esm/index.mjs +58 -31
- package/package.json +1 -1
- package/types/cjs/index.d.cts +1 -1
- package/types/esm/index.d.mts +1 -1
package/lib/browser/formula.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* @fileverse-dev/formulajs v4.4.
|
|
1
|
+
/* @fileverse-dev/formulajs v4.4.18 */
|
|
2
2
|
var _excluded = [ "confirmations", "dataDecoded" ];
|
|
3
3
|
|
|
4
4
|
function _objectWithoutProperties(e, t) {
|
|
@@ -4856,36 +4856,63 @@ function _typeof(o) {
|
|
|
4856
4856
|
}
|
|
4857
4857
|
function SORT(array) {
|
|
4858
4858
|
var sort_index = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
|
4859
|
-
var
|
|
4859
|
+
var is_ascending = arguments.length > 2 ? arguments[2] : undefined;
|
|
4860
4860
|
var by_col = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
4861
|
-
if (!array || !Array.isArray(array))
|
|
4862
|
-
|
|
4863
|
-
|
|
4864
|
-
if (
|
|
4865
|
-
|
|
4866
|
-
|
|
4867
|
-
|
|
4868
|
-
if (
|
|
4869
|
-
|
|
4870
|
-
|
|
4871
|
-
|
|
4872
|
-
|
|
4861
|
+
if (!array || !Array.isArray(array)) return na;
|
|
4862
|
+
if (array.length === 0) return 0;
|
|
4863
|
+
var idx = parseNumber(sort_index);
|
|
4864
|
+
if (!idx || idx < 1) return value;
|
|
4865
|
+
idx = idx - 1;
|
|
4866
|
+
var sortOrderNumber = is_ascending === "FALSE" ? -1 : 1;
|
|
4867
|
+
var order = parseNumber(sortOrderNumber);
|
|
4868
|
+
if (order !== 1 && order !== -1) return value;
|
|
4869
|
+
var byCol = parseBool(by_col);
|
|
4870
|
+
if (typeof byCol !== "boolean") return name;
|
|
4871
|
+
var matrix = fillMatrix(array);
|
|
4872
|
+
var working = byCol ? transpose(matrix) : matrix;
|
|
4873
|
+
if (!working.length || !working[0] || idx >= working[0].length) {
|
|
4873
4874
|
return value;
|
|
4874
4875
|
}
|
|
4875
|
-
|
|
4876
|
-
|
|
4877
|
-
return name;
|
|
4878
|
-
}
|
|
4879
|
-
var sortArray = function sortArray(arr) {
|
|
4880
|
-
return arr.sort((function(a, b) {
|
|
4881
|
-
a = parseString(a[sort_index - 1]);
|
|
4882
|
-
b = parseString(b[sort_index - 1]);
|
|
4883
|
-
return sort_order === 1 ? a < b ? sort_order * -1 : sort_order : a > b ? sort_order : sort_order * -1;
|
|
4884
|
-
}));
|
|
4876
|
+
var isBlank = function isBlank(v) {
|
|
4877
|
+
return v === "" || v === null || v === undefined;
|
|
4885
4878
|
};
|
|
4886
|
-
var
|
|
4887
|
-
|
|
4888
|
-
|
|
4879
|
+
var cmp = function cmp(a, b) {
|
|
4880
|
+
var _parseString, _parseString2;
|
|
4881
|
+
var aBlank = isBlank(a);
|
|
4882
|
+
var bBlank = isBlank(b);
|
|
4883
|
+
if (aBlank && bBlank) return 0;
|
|
4884
|
+
if (aBlank) return 1;
|
|
4885
|
+
if (bBlank) return -1;
|
|
4886
|
+
var na = parseNumber(a);
|
|
4887
|
+
var nb = parseNumber(b);
|
|
4888
|
+
var aNum = Number.isFinite(na);
|
|
4889
|
+
var bNum = Number.isFinite(nb);
|
|
4890
|
+
if (aNum && bNum) {
|
|
4891
|
+
if (na < nb) return -1;
|
|
4892
|
+
if (na > nb) return 1;
|
|
4893
|
+
return 0;
|
|
4894
|
+
}
|
|
4895
|
+
var sa = ((_parseString = parseString(a)) !== null && _parseString !== void 0 ? _parseString : "").toString().toLowerCase();
|
|
4896
|
+
var sb = ((_parseString2 = parseString(b)) !== null && _parseString2 !== void 0 ? _parseString2 : "").toString().toLowerCase();
|
|
4897
|
+
if (sa < sb) return -1;
|
|
4898
|
+
if (sa > sb) return 1;
|
|
4899
|
+
return 0;
|
|
4900
|
+
};
|
|
4901
|
+
var decorated = working.map((function(row, i) {
|
|
4902
|
+
return {
|
|
4903
|
+
row: row,
|
|
4904
|
+
i: i
|
|
4905
|
+
};
|
|
4906
|
+
}));
|
|
4907
|
+
decorated.sort((function(A, B) {
|
|
4908
|
+
var base = cmp(A.row[idx], B.row[idx]);
|
|
4909
|
+
if (base !== 0) return base * order;
|
|
4910
|
+
return A.i - B.i;
|
|
4911
|
+
}));
|
|
4912
|
+
var sorted = decorated.map((function(d) {
|
|
4913
|
+
return d.row;
|
|
4914
|
+
}));
|
|
4915
|
+
return byCol ? transpose(sorted) : sorted;
|
|
4889
4916
|
}
|
|
4890
4917
|
function TRANSPOSE(array) {
|
|
4891
4918
|
if (!array) {
|