@fileverse-dev/formulajs 4.4.17 → 4.4.19
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 +57 -30
- package/lib/browser/formula.min.js +2 -2
- package/lib/browser/formula.min.js.map +1 -1
- package/lib/cjs/index.cjs +62 -31
- package/lib/esm/index.mjs +62 -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.19 */
|
|
2
2
|
var _excluded = [ "confirmations", "dataDecoded" ];
|
|
3
3
|
|
|
4
4
|
function _objectWithoutProperties(e, t) {
|
|
@@ -4854,38 +4854,65 @@ function _typeof(o) {
|
|
|
4854
4854
|
}
|
|
4855
4855
|
return jStat.rows(array);
|
|
4856
4856
|
}
|
|
4857
|
-
function SORT(
|
|
4858
|
-
var
|
|
4859
|
-
var
|
|
4860
|
-
var
|
|
4861
|
-
if (!
|
|
4862
|
-
|
|
4863
|
-
|
|
4864
|
-
if (
|
|
4865
|
-
|
|
4866
|
-
|
|
4867
|
-
|
|
4868
|
-
if (
|
|
4857
|
+
function SORT(inputArray) {
|
|
4858
|
+
var sortIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
|
4859
|
+
var isAscending = arguments.length > 2 ? arguments[2] : undefined;
|
|
4860
|
+
var sortByColumn = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
4861
|
+
if (!inputArray || !Array.isArray(inputArray)) return na;
|
|
4862
|
+
if (inputArray.length === 0) return 0;
|
|
4863
|
+
var sortColumnIndex = parseNumber(sortIndex);
|
|
4864
|
+
if (!sortColumnIndex || sortColumnIndex < 1) return value;
|
|
4865
|
+
sortColumnIndex = sortColumnIndex - 1;
|
|
4866
|
+
var sortDirection = isAscending.toLowerCase() === "false" ? -1 : 1;
|
|
4867
|
+
var parsedSortDirection = parseNumber(sortDirection);
|
|
4868
|
+
if (parsedSortDirection !== 1 && parsedSortDirection !== -1) return value;
|
|
4869
|
+
var isSortByColumn = parseBool(sortByColumn);
|
|
4870
|
+
if (typeof isSortByColumn !== "boolean") return name;
|
|
4871
|
+
var normalizedMatrix = fillMatrix(inputArray);
|
|
4872
|
+
var orientedMatrix = isSortByColumn ? transpose(normalizedMatrix) : normalizedMatrix;
|
|
4873
|
+
if (!orientedMatrix.length || !orientedMatrix[0] || sortColumnIndex >= orientedMatrix[0].length) {
|
|
4869
4874
|
return value;
|
|
4870
4875
|
}
|
|
4871
|
-
|
|
4872
|
-
|
|
4873
|
-
return value;
|
|
4874
|
-
}
|
|
4875
|
-
by_col = parseBool(by_col);
|
|
4876
|
-
if (typeof by_col !== "boolean") {
|
|
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(value) {
|
|
4877
|
+
return value === "" || value === null || value === undefined;
|
|
4885
4878
|
};
|
|
4886
|
-
var
|
|
4887
|
-
|
|
4888
|
-
|
|
4879
|
+
var compareValues = function compareValues(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 parsedA = parseNumber(a);
|
|
4887
|
+
var parsedB = parseNumber(b);
|
|
4888
|
+
var isANumber = Number.isFinite(parsedA);
|
|
4889
|
+
var isBNumber = Number.isFinite(parsedB);
|
|
4890
|
+
if (isANumber && isBNumber) {
|
|
4891
|
+
if (parsedA < parsedB) return -1;
|
|
4892
|
+
if (parsedA > parsedB) return 1;
|
|
4893
|
+
return 0;
|
|
4894
|
+
}
|
|
4895
|
+
var stringA = ((_parseString = parseString(a)) !== null && _parseString !== void 0 ? _parseString : "").toString().toLowerCase();
|
|
4896
|
+
var stringB = ((_parseString2 = parseString(b)) !== null && _parseString2 !== void 0 ? _parseString2 : "").toString().toLowerCase();
|
|
4897
|
+
if (stringA < stringB) return -1;
|
|
4898
|
+
if (stringA > stringB) return 1;
|
|
4899
|
+
return 0;
|
|
4900
|
+
};
|
|
4901
|
+
var rowsWithOriginalIndex = orientedMatrix.map((function(row, rowIndex) {
|
|
4902
|
+
return {
|
|
4903
|
+
row: row,
|
|
4904
|
+
rowIndex: rowIndex
|
|
4905
|
+
};
|
|
4906
|
+
}));
|
|
4907
|
+
rowsWithOriginalIndex.sort((function(rowA, rowB) {
|
|
4908
|
+
var baseComparison = compareValues(rowA.row[sortColumnIndex], rowB.row[sortColumnIndex]);
|
|
4909
|
+
if (baseComparison !== 0) return baseComparison * parsedSortDirection;
|
|
4910
|
+
return rowA.rowIndex - rowB.rowIndex;
|
|
4911
|
+
}));
|
|
4912
|
+
var sortedMatrix = rowsWithOriginalIndex.map((function(item) {
|
|
4913
|
+
return item.row;
|
|
4914
|
+
}));
|
|
4915
|
+
return isSortByColumn ? transpose(sortedMatrix) : sortedMatrix;
|
|
4889
4916
|
}
|
|
4890
4917
|
function TRANSPOSE(array) {
|
|
4891
4918
|
if (!array) {
|