@univerjs/engine-formula 0.2.13 → 0.2.15
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/cjs/index.js +2 -2
- package/lib/es/index.js +444 -256
- package/lib/types/engine/utils/compare.d.ts +11 -3
- package/lib/types/engine/value-object/array-value-object.d.ts +12 -1
- package/lib/types/functions/base-function.d.ts +6 -6
- package/lib/types/functions/lookup/xlookup/index.d.ts +8 -2
- package/lib/types/functions/lookup/xmatch/index.d.ts +1 -2
- package/lib/types/functions/math/function-map.d.ts +1 -1
- package/lib/types/functions/text/function-map.d.ts +1 -1
- package/lib/types/functions/text/leftb/__test__/index.spec.d.ts +16 -0
- package/lib/types/functions/text/leftb/index.d.ts +9 -0
- package/lib/types/functions/text/mid/__test__/index.spec.d.ts +16 -0
- package/lib/types/functions/text/mid/index.d.ts +8 -0
- package/lib/types/functions/text/textafter/index.d.ts +2 -1
- package/lib/types/functions/text/textbefore/index.d.ts +2 -1
- package/lib/umd/index.js +2 -2
- package/package.json +6 -6
package/lib/es/index.js
CHANGED
|
@@ -2,7 +2,7 @@ var __defProp = Object.defineProperty;
|
|
|
2
2
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value;
|
|
3
3
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: !0 });
|
|
4
4
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key != "symbol" ? key + "" : key, value);
|
|
5
|
-
import { ObjectMatrix, LRUMap, hashAlgorithm, Tools, AbsoluteRefType, RANGE_TYPE, Disposable, moveRangeByOffset, isValidRange,
|
|
5
|
+
import { ObjectMatrix, LRUMap, hashAlgorithm, Tools, AbsoluteRefType, RANGE_TYPE, Disposable, moveRangeByOffset, isValidRange, BuildTextUtils, numfmt, isRealNum, isNullCell, CellValueType, BooleanNumber, isFormulaString, isFormulaId, Inject, UniverInstanceType, IUniverInstanceService, CommandType, createIdentifier, toDisposable, Injector, sortRules, OnLifecycle, LifecycleStages, requestImmediateMacroTask, IConfigService, ICommandService, Optional, Plugin } from "@univerjs/core";
|
|
6
6
|
import { Subject } from "rxjs";
|
|
7
7
|
import { DataSyncPrimaryController } from "@univerjs/rpc";
|
|
8
8
|
function isInDirtyRange(dirtyRanges, unitId, sheetId, row, column) {
|
|
@@ -1207,7 +1207,7 @@ function getCellValue(cell) {
|
|
|
1207
1207
|
if (body == null)
|
|
1208
1208
|
return 0;
|
|
1209
1209
|
const data = body.dataStream;
|
|
1210
|
-
return
|
|
1210
|
+
return BuildTextUtils.transform.getPlainText(data);
|
|
1211
1211
|
}
|
|
1212
1212
|
return (cell == null ? void 0 : cell.v) || 0;
|
|
1213
1213
|
}
|
|
@@ -1351,6 +1351,23 @@ function escapeRegExp(str) {
|
|
|
1351
1351
|
return str.replace(/[.+^${}()|[\]\\]/g, "\\$&");
|
|
1352
1352
|
}
|
|
1353
1353
|
__name(escapeRegExp, "escapeRegExp");
|
|
1354
|
+
function getMatchModeValue(matchModeValue) {
|
|
1355
|
+
switch (matchModeValue) {
|
|
1356
|
+
case 1:
|
|
1357
|
+
return 2;
|
|
1358
|
+
case 0:
|
|
1359
|
+
return 0;
|
|
1360
|
+
case -1:
|
|
1361
|
+
return 1;
|
|
1362
|
+
default:
|
|
1363
|
+
return 0;
|
|
1364
|
+
}
|
|
1365
|
+
}
|
|
1366
|
+
__name(getMatchModeValue, "getMatchModeValue");
|
|
1367
|
+
function getSearchModeValue(searchModeValue) {
|
|
1368
|
+
return searchModeValue === -2 ? 1 : 0;
|
|
1369
|
+
}
|
|
1370
|
+
__name(getSearchModeValue, "getSearchModeValue");
|
|
1354
1371
|
const _BaseValueObject = class _BaseValueObject extends ObjectClassType {
|
|
1355
1372
|
constructor(_rawValue) {
|
|
1356
1373
|
super(), this._rawValue = _rawValue;
|
|
@@ -4097,49 +4114,56 @@ const _ArrayValueObject = class _ArrayValueObject extends BaseValueObject {
|
|
|
4097
4114
|
return result = itemValue, resultPosition = { row, column }, !1;
|
|
4098
4115
|
searchType === ArrayOrderSearchType.MAX ? itemValue.isGreaterThan(valueObject).getValue() === !0 && (maxOrMin2 == null || itemValue.minus(valueObject).abs().isLessThanOrEqual(maxOrMin2.minus(valueObject).abs()).getValue() === !0) && (maxOrMin2 = itemValue, maxOrMinPosition = { row, column }) : searchType === ArrayOrderSearchType.MIN && itemValue.isLessThan(valueObject).getValue() === !0 && (maxOrMin2 == null || itemValue.minus(valueObject).abs().isLessThanOrEqual(maxOrMin2.minus(valueObject).abs()).getValue() === !0) && (maxOrMin2 = itemValue, maxOrMinPosition = { row, column });
|
|
4099
4116
|
}, "_handleMatch");
|
|
4100
|
-
if (isDesc)
|
|
4101
|
-
const rowCount = this._values.length;
|
|
4102
|
-
if (this._values[0] == null)
|
|
4103
|
-
return;
|
|
4104
|
-
const columnCount = this._values[0].length;
|
|
4105
|
-
for (let r = rowCount - 1; r >= 0; r--)
|
|
4106
|
-
for (let c = columnCount - 1; c >= 0; c--) {
|
|
4107
|
-
const itemValue = this._values[r][c];
|
|
4108
|
-
_handleMatch(itemValue, r, c);
|
|
4109
|
-
}
|
|
4110
|
-
} else
|
|
4111
|
-
this.iterator((itemValue, r, c) => {
|
|
4112
|
-
_handleMatch(itemValue, r, c);
|
|
4113
|
-
});
|
|
4114
|
-
if (result != null)
|
|
4117
|
+
if (isDesc ? this.iteratorReverse((itemValue, r, c) => _handleMatch(itemValue, r, c)) : this.iterator((itemValue, r, c) => _handleMatch(itemValue, r, c)), result != null)
|
|
4115
4118
|
return resultPosition;
|
|
4116
4119
|
if (maxOrMin2 != null)
|
|
4117
4120
|
return maxOrMinPosition;
|
|
4118
4121
|
}
|
|
4119
|
-
binarySearch(valueObject, searchType = ArrayBinarySearchType.MIN) {
|
|
4122
|
+
binarySearch(valueObject, searchType = ArrayBinarySearchType.MIN, matchType = ArrayOrderSearchType.MIN) {
|
|
4120
4123
|
if (valueObject.isError())
|
|
4121
4124
|
return;
|
|
4122
4125
|
const { stringArray, stringPosition, numberArray, numberPosition } = this.flattenPosition();
|
|
4123
|
-
return valueObject.isString() ? this._binarySearch(valueObject, stringArray, stringPosition, searchType) : this._binarySearch(valueObject, numberArray, numberPosition, searchType);
|
|
4126
|
+
return valueObject.isString() ? this._binarySearch(valueObject, stringArray, stringPosition, searchType, matchType) : this._binarySearch(valueObject, numberArray, numberPosition, searchType, matchType);
|
|
4124
4127
|
}
|
|
4125
|
-
|
|
4126
|
-
|
|
4127
|
-
|
|
4128
|
+
/**
|
|
4129
|
+
* searchType defaults to ascending order
|
|
4130
|
+
*
|
|
4131
|
+
* matchType defaults to the maximum value less than the search value, which is used for the default matching mode of VLOOKUP/LOOKUP/HLOOKUP.
|
|
4132
|
+
* @param valueObject
|
|
4133
|
+
* @param searchArray
|
|
4134
|
+
* @param positionArray
|
|
4135
|
+
* @param searchType
|
|
4136
|
+
* @param matchType
|
|
4137
|
+
* @returns
|
|
4138
|
+
*/
|
|
4139
|
+
_binarySearch(valueObject, searchArray, positionArray, searchType = ArrayBinarySearchType.MIN, matchType = ArrayOrderSearchType.MIN) {
|
|
4140
|
+
const compareFunc = getCompare(), value = Number(valueObject.getValue()), isValueNumber = !Number.isNaN(value);
|
|
4141
|
+
let start = 0, end = searchArray.length - 1, exactMatchIndex = -1, nearestSmallerIndex = -1, nearestLargerIndex = -1;
|
|
4128
4142
|
for (; start <= end; ) {
|
|
4129
4143
|
const middle = Math.floor((start + end) / 2), compareTo = searchArray[middle];
|
|
4130
|
-
let
|
|
4144
|
+
let compareResult;
|
|
4131
4145
|
if (compareTo.isNull())
|
|
4132
|
-
|
|
4146
|
+
compareResult = searchType === ArrayBinarySearchType.MIN ? 1 : -1;
|
|
4133
4147
|
else {
|
|
4134
4148
|
const compareToValue = compareTo.getValue();
|
|
4135
|
-
|
|
4149
|
+
if (isValueNumber) {
|
|
4150
|
+
const compareToNumber = Number(compareToValue);
|
|
4151
|
+
compareResult = Number.isNaN(compareToNumber) ? 1 : Math.sign(compareToNumber - value);
|
|
4152
|
+
} else
|
|
4153
|
+
compareResult = compareFunc(compareToValue.toString().toLocaleLowerCase(), valueObject.getValue().toString().toLocaleLowerCase());
|
|
4154
|
+
}
|
|
4155
|
+
if (searchType === ArrayBinarySearchType.MAX && (compareResult = -compareResult), compareResult === 0) {
|
|
4156
|
+
exactMatchIndex = middle;
|
|
4157
|
+
break;
|
|
4136
4158
|
}
|
|
4137
|
-
|
|
4138
|
-
return positionArray[middle];
|
|
4139
|
-
compare === -1 ? (start = middle + 1, searchType === ArrayBinarySearchType.MIN && (lastValue = middle)) : (end = middle - 1, searchType === ArrayBinarySearchType.MAX && (lastValue = middle));
|
|
4159
|
+
compareResult < 0 ? (nearestSmallerIndex = middle, start = middle + 1) : (nearestLargerIndex = middle, end = middle - 1);
|
|
4140
4160
|
}
|
|
4141
|
-
if (
|
|
4142
|
-
return positionArray[
|
|
4161
|
+
if (matchType === ArrayOrderSearchType.NORMAL)
|
|
4162
|
+
return exactMatchIndex !== -1 ? positionArray[exactMatchIndex] : void 0;
|
|
4163
|
+
if (matchType === ArrayOrderSearchType.MIN)
|
|
4164
|
+
return exactMatchIndex !== -1 ? positionArray[exactMatchIndex] : searchType === ArrayBinarySearchType.MIN ? positionArray[nearestSmallerIndex] : positionArray[nearestLargerIndex];
|
|
4165
|
+
if (matchType === ArrayOrderSearchType.MAX)
|
|
4166
|
+
return exactMatchIndex !== -1 ? positionArray[exactMatchIndex] : searchType === ArrayBinarySearchType.MIN ? positionArray[nearestLargerIndex] : positionArray[nearestSmallerIndex];
|
|
4143
4167
|
}
|
|
4144
4168
|
sum() {
|
|
4145
4169
|
let accumulatorAll = NumberValueObject.create(0);
|
|
@@ -5209,6 +5233,103 @@ function getR1C1Ref(index, absoluteRefType = AbsoluteRefType.ALL, isRow) {
|
|
|
5209
5233
|
__name(getR1C1Ref, "getR1C1Ref");
|
|
5210
5234
|
const functionArray = [];
|
|
5211
5235
|
var FUNCTION_NAMES_ARRAY = /* @__PURE__ */ ((FUNCTION_NAMES_ARRAY2) => FUNCTION_NAMES_ARRAY2)(FUNCTION_NAMES_ARRAY || {});
|
|
5236
|
+
const _CellReferenceObject = class _CellReferenceObject extends BaseReferenceObject {
|
|
5237
|
+
constructor(token) {
|
|
5238
|
+
super(token);
|
|
5239
|
+
const grid = deserializeRangeWithSheet(token);
|
|
5240
|
+
this.setForcedUnitIdDirect(grid.unitId), this.setForcedSheetName(grid.sheetName), this.setRangeData(grid.range);
|
|
5241
|
+
}
|
|
5242
|
+
isCell() {
|
|
5243
|
+
return !0;
|
|
5244
|
+
}
|
|
5245
|
+
unionBy(referenceObject) {
|
|
5246
|
+
if (!referenceObject.isCell())
|
|
5247
|
+
return ErrorValueObject.create(ErrorType$1.REF);
|
|
5248
|
+
const cellReferenceObject = referenceObject, newRangeData = this.unionRange(this.getRangeData(), cellReferenceObject.getRangeData());
|
|
5249
|
+
return this._createRange(newRangeData);
|
|
5250
|
+
}
|
|
5251
|
+
unionRange(rangeData1, rangeData2) {
|
|
5252
|
+
const startRow1 = rangeData1.startRow, startColumn1 = rangeData1.startColumn, startRow2 = rangeData2.startRow, startColumn2 = rangeData2.startColumn, range = {
|
|
5253
|
+
startRow: -1,
|
|
5254
|
+
startColumn: -1,
|
|
5255
|
+
endRow: -1,
|
|
5256
|
+
endColumn: -1
|
|
5257
|
+
};
|
|
5258
|
+
return startRow1 > startRow2 ? (range.startRow = startRow2, range.endRow = startRow1) : (range.startRow = startRow1, range.endRow = startRow2), startColumn1 > startColumn2 ? (range.startColumn = startColumn2, range.endColumn = startColumn1) : (range.startColumn = startColumn1, range.endColumn = startColumn2), rangeData1.startAbsoluteRefType && (range.startAbsoluteRefType = rangeData1.startAbsoluteRefType), rangeData2.startAbsoluteRefType && (range.endAbsoluteRefType = rangeData2.startAbsoluteRefType), range;
|
|
5259
|
+
}
|
|
5260
|
+
_createRange(newRangeData) {
|
|
5261
|
+
const rangeReferenceObject = new RangeReferenceObject(
|
|
5262
|
+
newRangeData,
|
|
5263
|
+
this.getForcedSheetId(),
|
|
5264
|
+
this.getForcedUnitId()
|
|
5265
|
+
);
|
|
5266
|
+
rangeReferenceObject.setUnitData(this.getUnitData()), rangeReferenceObject.setDefaultSheetId(this.getDefaultSheetId()), rangeReferenceObject.setDefaultUnitId(this.getDefaultUnitId()), rangeReferenceObject.setRuntimeData(this.getRuntimeData()), rangeReferenceObject.setUnitStylesData(this.getUnitStylesData()), rangeReferenceObject.setArrayFormulaCellData(this.getArrayFormulaCellData()), rangeReferenceObject.setRuntimeArrayFormulaCellData(this.getRuntimeArrayFormulaCellData()), rangeReferenceObject.setRuntimeFeatureCellData(this.getRuntimeFeatureCellData());
|
|
5267
|
+
const { x, y } = this.getRefOffset();
|
|
5268
|
+
rangeReferenceObject.setRefOffset(x, y);
|
|
5269
|
+
const forceSheetId = this.getForcedSheetId();
|
|
5270
|
+
rangeReferenceObject.setForcedSheetName(this.getForcedSheetName()), forceSheetId != null && rangeReferenceObject.setForcedSheetIdDirect(forceSheetId);
|
|
5271
|
+
const forcedUnitId = this.getForcedUnitId();
|
|
5272
|
+
return forcedUnitId && rangeReferenceObject.setForcedUnitIdDirect(forcedUnitId), rangeReferenceObject;
|
|
5273
|
+
}
|
|
5274
|
+
};
|
|
5275
|
+
__name(_CellReferenceObject, "CellReferenceObject");
|
|
5276
|
+
let CellReferenceObject = _CellReferenceObject;
|
|
5277
|
+
const _ColumnReferenceObject = class _ColumnReferenceObject extends BaseReferenceObject {
|
|
5278
|
+
constructor(token) {
|
|
5279
|
+
super(token);
|
|
5280
|
+
const grid = deserializeRangeWithSheet(token);
|
|
5281
|
+
this.setForcedUnitIdDirect(grid.unitId), this.setForcedSheetName(grid.sheetName);
|
|
5282
|
+
const range = {
|
|
5283
|
+
startColumn: grid.range.startColumn,
|
|
5284
|
+
startRow: Number.NaN,
|
|
5285
|
+
endColumn: -1,
|
|
5286
|
+
endRow: Number.NaN
|
|
5287
|
+
};
|
|
5288
|
+
this.setRangeData(range);
|
|
5289
|
+
}
|
|
5290
|
+
isColumn() {
|
|
5291
|
+
return !0;
|
|
5292
|
+
}
|
|
5293
|
+
unionBy(referenceObject) {
|
|
5294
|
+
if (!referenceObject.isColumn())
|
|
5295
|
+
return ErrorValueObject.create(ErrorType$1.REF);
|
|
5296
|
+
const columnReferenceObject = referenceObject;
|
|
5297
|
+
if (columnReferenceObject.getForcedSheetName() !== void 0 && columnReferenceObject.getForcedSheetName() !== "")
|
|
5298
|
+
return ErrorValueObject.create(ErrorType$1.REF);
|
|
5299
|
+
const currentRangeData = this.getRangeData(), newColumnRange = columnReferenceObject.getRangeData(), newColumn = newColumnRange.startColumn, column = currentRangeData.startColumn;
|
|
5300
|
+
return newColumn > column ? currentRangeData.endColumn = newColumn : (currentRangeData.startColumn = newColumn, currentRangeData.endColumn = column), newColumnRange.startAbsoluteRefType && (currentRangeData.endAbsoluteRefType = newColumnRange.startAbsoluteRefType), currentRangeData.rangeType = RANGE_TYPE.COLUMN, this.setToken(`${this.getToken()}${matchToken.COLON}${columnReferenceObject.getToken()}`), this;
|
|
5301
|
+
}
|
|
5302
|
+
};
|
|
5303
|
+
__name(_ColumnReferenceObject, "ColumnReferenceObject");
|
|
5304
|
+
let ColumnReferenceObject = _ColumnReferenceObject;
|
|
5305
|
+
const _RowReferenceObject = class _RowReferenceObject extends BaseReferenceObject {
|
|
5306
|
+
constructor(token) {
|
|
5307
|
+
super(token);
|
|
5308
|
+
const grid = deserializeRangeWithSheet(token);
|
|
5309
|
+
this.setForcedUnitIdDirect(grid.unitId), this.setForcedSheetName(grid.sheetName);
|
|
5310
|
+
const range = {
|
|
5311
|
+
startColumn: Number.NaN,
|
|
5312
|
+
startRow: grid.range.startRow,
|
|
5313
|
+
endColumn: Number.NaN,
|
|
5314
|
+
endRow: -1
|
|
5315
|
+
};
|
|
5316
|
+
this.setRangeData(range);
|
|
5317
|
+
}
|
|
5318
|
+
isRow() {
|
|
5319
|
+
return !0;
|
|
5320
|
+
}
|
|
5321
|
+
unionBy(referenceObject) {
|
|
5322
|
+
if (!referenceObject.isRow())
|
|
5323
|
+
return ErrorValueObject.create(ErrorType$1.REF);
|
|
5324
|
+
const rowReferenceObject = referenceObject;
|
|
5325
|
+
if (rowReferenceObject.getForcedSheetName() !== void 0 && rowReferenceObject.getForcedSheetName() !== "")
|
|
5326
|
+
return ErrorValueObject.create(ErrorType$1.REF);
|
|
5327
|
+
const currentRangeData = this.getRangeData(), newRowRange = rowReferenceObject.getRangeData(), newRow = newRowRange.startRow, row = currentRangeData.startRow;
|
|
5328
|
+
return newRow > row ? currentRangeData.endRow = newRow : (currentRangeData.startRow = newRow, currentRangeData.endRow = row), newRowRange.startAbsoluteRefType && (currentRangeData.endAbsoluteRefType = newRowRange.startAbsoluteRefType), currentRangeData.rangeType = RANGE_TYPE.ROW, this.setToken(`${this.getToken()}${matchToken.COLON}${rowReferenceObject.getToken()}`), this;
|
|
5329
|
+
}
|
|
5330
|
+
};
|
|
5331
|
+
__name(_RowReferenceObject, "RowReferenceObject");
|
|
5332
|
+
let RowReferenceObject = _RowReferenceObject;
|
|
5212
5333
|
function expandArrayValueObject(rowCount, columnCount, valueObject, defaultValue) {
|
|
5213
5334
|
const result = [];
|
|
5214
5335
|
if (valueObject.isArray()) {
|
|
@@ -5418,103 +5539,6 @@ function isSameValueObjectType(left, right) {
|
|
|
5418
5539
|
return !!((isLeftBlank || left.isNull()) && (isRightBlank || right.isNull()) || left.isString() && !isLeftBlank && right.isString() && !isRightBlank);
|
|
5419
5540
|
}
|
|
5420
5541
|
__name(isSameValueObjectType, "isSameValueObjectType");
|
|
5421
|
-
const _CellReferenceObject = class _CellReferenceObject extends BaseReferenceObject {
|
|
5422
|
-
constructor(token) {
|
|
5423
|
-
super(token);
|
|
5424
|
-
const grid = deserializeRangeWithSheet(token);
|
|
5425
|
-
this.setForcedUnitIdDirect(grid.unitId), this.setForcedSheetName(grid.sheetName), this.setRangeData(grid.range);
|
|
5426
|
-
}
|
|
5427
|
-
isCell() {
|
|
5428
|
-
return !0;
|
|
5429
|
-
}
|
|
5430
|
-
unionBy(referenceObject) {
|
|
5431
|
-
if (!referenceObject.isCell())
|
|
5432
|
-
return ErrorValueObject.create(ErrorType$1.REF);
|
|
5433
|
-
const cellReferenceObject = referenceObject, newRangeData = this.unionRange(this.getRangeData(), cellReferenceObject.getRangeData());
|
|
5434
|
-
return this._createRange(newRangeData);
|
|
5435
|
-
}
|
|
5436
|
-
unionRange(rangeData1, rangeData2) {
|
|
5437
|
-
const startRow1 = rangeData1.startRow, startColumn1 = rangeData1.startColumn, startRow2 = rangeData2.startRow, startColumn2 = rangeData2.startColumn, range = {
|
|
5438
|
-
startRow: -1,
|
|
5439
|
-
startColumn: -1,
|
|
5440
|
-
endRow: -1,
|
|
5441
|
-
endColumn: -1
|
|
5442
|
-
};
|
|
5443
|
-
return startRow1 > startRow2 ? (range.startRow = startRow2, range.endRow = startRow1) : (range.startRow = startRow1, range.endRow = startRow2), startColumn1 > startColumn2 ? (range.startColumn = startColumn2, range.endColumn = startColumn1) : (range.startColumn = startColumn1, range.endColumn = startColumn2), rangeData1.startAbsoluteRefType && (range.startAbsoluteRefType = rangeData1.startAbsoluteRefType), rangeData2.startAbsoluteRefType && (range.endAbsoluteRefType = rangeData2.startAbsoluteRefType), range;
|
|
5444
|
-
}
|
|
5445
|
-
_createRange(newRangeData) {
|
|
5446
|
-
const rangeReferenceObject = new RangeReferenceObject(
|
|
5447
|
-
newRangeData,
|
|
5448
|
-
this.getForcedSheetId(),
|
|
5449
|
-
this.getForcedUnitId()
|
|
5450
|
-
);
|
|
5451
|
-
rangeReferenceObject.setUnitData(this.getUnitData()), rangeReferenceObject.setDefaultSheetId(this.getDefaultSheetId()), rangeReferenceObject.setDefaultUnitId(this.getDefaultUnitId()), rangeReferenceObject.setRuntimeData(this.getRuntimeData()), rangeReferenceObject.setUnitStylesData(this.getUnitStylesData()), rangeReferenceObject.setArrayFormulaCellData(this.getArrayFormulaCellData()), rangeReferenceObject.setRuntimeArrayFormulaCellData(this.getRuntimeArrayFormulaCellData()), rangeReferenceObject.setRuntimeFeatureCellData(this.getRuntimeFeatureCellData());
|
|
5452
|
-
const { x, y } = this.getRefOffset();
|
|
5453
|
-
rangeReferenceObject.setRefOffset(x, y);
|
|
5454
|
-
const forceSheetId = this.getForcedSheetId();
|
|
5455
|
-
rangeReferenceObject.setForcedSheetName(this.getForcedSheetName()), forceSheetId != null && rangeReferenceObject.setForcedSheetIdDirect(forceSheetId);
|
|
5456
|
-
const forcedUnitId = this.getForcedUnitId();
|
|
5457
|
-
return forcedUnitId && rangeReferenceObject.setForcedUnitIdDirect(forcedUnitId), rangeReferenceObject;
|
|
5458
|
-
}
|
|
5459
|
-
};
|
|
5460
|
-
__name(_CellReferenceObject, "CellReferenceObject");
|
|
5461
|
-
let CellReferenceObject = _CellReferenceObject;
|
|
5462
|
-
const _RowReferenceObject = class _RowReferenceObject extends BaseReferenceObject {
|
|
5463
|
-
constructor(token) {
|
|
5464
|
-
super(token);
|
|
5465
|
-
const grid = deserializeRangeWithSheet(token);
|
|
5466
|
-
this.setForcedUnitIdDirect(grid.unitId), this.setForcedSheetName(grid.sheetName);
|
|
5467
|
-
const range = {
|
|
5468
|
-
startColumn: Number.NaN,
|
|
5469
|
-
startRow: grid.range.startRow,
|
|
5470
|
-
endColumn: Number.NaN,
|
|
5471
|
-
endRow: -1
|
|
5472
|
-
};
|
|
5473
|
-
this.setRangeData(range);
|
|
5474
|
-
}
|
|
5475
|
-
isRow() {
|
|
5476
|
-
return !0;
|
|
5477
|
-
}
|
|
5478
|
-
unionBy(referenceObject) {
|
|
5479
|
-
if (!referenceObject.isRow())
|
|
5480
|
-
return ErrorValueObject.create(ErrorType$1.REF);
|
|
5481
|
-
const rowReferenceObject = referenceObject;
|
|
5482
|
-
if (rowReferenceObject.getForcedSheetName() !== void 0 && rowReferenceObject.getForcedSheetName() !== "")
|
|
5483
|
-
return ErrorValueObject.create(ErrorType$1.REF);
|
|
5484
|
-
const currentRangeData = this.getRangeData(), newRowRange = rowReferenceObject.getRangeData(), newRow = newRowRange.startRow, row = currentRangeData.startRow;
|
|
5485
|
-
return newRow > row ? currentRangeData.endRow = newRow : (currentRangeData.startRow = newRow, currentRangeData.endRow = row), newRowRange.startAbsoluteRefType && (currentRangeData.endAbsoluteRefType = newRowRange.startAbsoluteRefType), currentRangeData.rangeType = RANGE_TYPE.ROW, this.setToken(`${this.getToken()}${matchToken.COLON}${rowReferenceObject.getToken()}`), this;
|
|
5486
|
-
}
|
|
5487
|
-
};
|
|
5488
|
-
__name(_RowReferenceObject, "RowReferenceObject");
|
|
5489
|
-
let RowReferenceObject = _RowReferenceObject;
|
|
5490
|
-
const _ColumnReferenceObject = class _ColumnReferenceObject extends BaseReferenceObject {
|
|
5491
|
-
constructor(token) {
|
|
5492
|
-
super(token);
|
|
5493
|
-
const grid = deserializeRangeWithSheet(token);
|
|
5494
|
-
this.setForcedUnitIdDirect(grid.unitId), this.setForcedSheetName(grid.sheetName);
|
|
5495
|
-
const range = {
|
|
5496
|
-
startColumn: grid.range.startColumn,
|
|
5497
|
-
startRow: Number.NaN,
|
|
5498
|
-
endColumn: -1,
|
|
5499
|
-
endRow: Number.NaN
|
|
5500
|
-
};
|
|
5501
|
-
this.setRangeData(range);
|
|
5502
|
-
}
|
|
5503
|
-
isColumn() {
|
|
5504
|
-
return !0;
|
|
5505
|
-
}
|
|
5506
|
-
unionBy(referenceObject) {
|
|
5507
|
-
if (!referenceObject.isColumn())
|
|
5508
|
-
return ErrorValueObject.create(ErrorType$1.REF);
|
|
5509
|
-
const columnReferenceObject = referenceObject;
|
|
5510
|
-
if (columnReferenceObject.getForcedSheetName() !== void 0 && columnReferenceObject.getForcedSheetName() !== "")
|
|
5511
|
-
return ErrorValueObject.create(ErrorType$1.REF);
|
|
5512
|
-
const currentRangeData = this.getRangeData(), newColumnRange = columnReferenceObject.getRangeData(), newColumn = newColumnRange.startColumn, column = currentRangeData.startColumn;
|
|
5513
|
-
return newColumn > column ? currentRangeData.endColumn = newColumn : (currentRangeData.startColumn = newColumn, currentRangeData.endColumn = column), newColumnRange.startAbsoluteRefType && (currentRangeData.endAbsoluteRefType = newColumnRange.startAbsoluteRefType), currentRangeData.rangeType = RANGE_TYPE.COLUMN, this.setToken(`${this.getToken()}${matchToken.COLON}${columnReferenceObject.getToken()}`), this;
|
|
5514
|
-
}
|
|
5515
|
-
};
|
|
5516
|
-
__name(_ColumnReferenceObject, "ColumnReferenceObject");
|
|
5517
|
-
let ColumnReferenceObject = _ColumnReferenceObject;
|
|
5518
5542
|
const _BaseFunction = class _BaseFunction extends Disposable {
|
|
5519
5543
|
constructor(_name) {
|
|
5520
5544
|
super();
|
|
@@ -5654,8 +5678,8 @@ const _BaseFunction = class _BaseFunction extends Disposable {
|
|
|
5654
5678
|
}
|
|
5655
5679
|
return logicValue;
|
|
5656
5680
|
}
|
|
5657
|
-
binarySearch(value, searchArray, resultArray, searchType) {
|
|
5658
|
-
const rowOrColumn = searchArray.binarySearch(value, searchType);
|
|
5681
|
+
binarySearch(value, searchArray, resultArray, searchType, matchType) {
|
|
5682
|
+
const rowOrColumn = searchArray.binarySearch(value, searchType, matchType);
|
|
5659
5683
|
if (rowOrColumn == null)
|
|
5660
5684
|
return ErrorValueObject.create(ErrorType$1.NA);
|
|
5661
5685
|
let resultValue;
|
|
@@ -5682,8 +5706,8 @@ const _BaseFunction = class _BaseFunction extends Disposable {
|
|
|
5682
5706
|
const resultValue = resultArray.get(position.row, position.column) || NullValueObject.create();
|
|
5683
5707
|
return resultValue.isNull() ? ErrorValueObject.create(ErrorType$1.NA) : resultValue;
|
|
5684
5708
|
}
|
|
5685
|
-
binarySearchExpand(value, searchArray, resultArray, axis = 0, searchType) {
|
|
5686
|
-
const rowOrColumn = searchArray.binarySearch(value, searchType);
|
|
5709
|
+
binarySearchExpand(value, searchArray, resultArray, axis = 0, searchType, matchType) {
|
|
5710
|
+
const rowOrColumn = searchArray.binarySearch(value, searchType, matchType);
|
|
5687
5711
|
return rowOrColumn == null ? ErrorValueObject.create(ErrorType$1.NA) : axis === 0 ? resultArray.slice([rowOrColumn, rowOrColumn + 1]) : resultArray.slice(void 0, [rowOrColumn, rowOrColumn + 1]);
|
|
5688
5712
|
}
|
|
5689
5713
|
equalSearchExpand(value, searchArray, resultArray, isFirst = !0, axis = 0) {
|
|
@@ -14843,11 +14867,17 @@ const _Xlookup = class _Xlookup extends BaseFunction {
|
|
|
14843
14867
|
if (lookupValue.isArray()) {
|
|
14844
14868
|
let resultArray2;
|
|
14845
14869
|
return rowCountLookup === 1 ? resultArray2 = returnArray.slice([0, 1]) : resultArray2 = returnArray.slice(void 0, [0, 1]), resultArray2 == null ? ErrorValueObject.create(ErrorType$1.NA) : lookupValue.map((value) => {
|
|
14870
|
+
const checkErrorCombination = this._checkErrorCombination(matchModeValue, searchModeValue);
|
|
14871
|
+
if (checkErrorCombination)
|
|
14872
|
+
return checkErrorCombination;
|
|
14846
14873
|
const result = this._handleSingleObject(value, lookupArray, resultArray2, matchModeValue, searchModeValue);
|
|
14847
14874
|
return result.isError() ? ifNotFound : result;
|
|
14848
14875
|
});
|
|
14849
14876
|
}
|
|
14850
14877
|
if (columnCountLookup === columnCountReturn && rowCountLookup === rowCountReturn) {
|
|
14878
|
+
const checkErrorCombination = this._checkErrorCombination(matchModeValue, searchModeValue);
|
|
14879
|
+
if (checkErrorCombination)
|
|
14880
|
+
return checkErrorCombination;
|
|
14851
14881
|
const result = this._handleSingleObject(lookupValue, lookupArray, returnArray, matchModeValue, searchModeValue);
|
|
14852
14882
|
return result.isError() ? ifNotFound : result;
|
|
14853
14883
|
}
|
|
@@ -14857,13 +14887,18 @@ const _Xlookup = class _Xlookup extends BaseFunction {
|
|
|
14857
14887
|
return resultArray == null ? ErrorValueObject.create(ErrorType$1.NA) : resultArray;
|
|
14858
14888
|
}
|
|
14859
14889
|
_handleExpandObject(value, searchArray, resultArray, matchModeValue, searchModeValue, axis = 0) {
|
|
14860
|
-
|
|
14861
|
-
|
|
14862
|
-
|
|
14863
|
-
|
|
14864
|
-
|
|
14865
|
-
|
|
14866
|
-
|
|
14890
|
+
if ((searchModeValue === 2 || searchModeValue === -2) && matchModeValue !== 2) {
|
|
14891
|
+
const searchType = getSearchModeValue(searchModeValue), matchType = getMatchModeValue(matchModeValue);
|
|
14892
|
+
return this.binarySearchExpand(
|
|
14893
|
+
value,
|
|
14894
|
+
searchArray,
|
|
14895
|
+
resultArray,
|
|
14896
|
+
axis,
|
|
14897
|
+
searchType,
|
|
14898
|
+
matchType
|
|
14899
|
+
);
|
|
14900
|
+
}
|
|
14901
|
+
return matchModeValue === 2 ? this.fuzzySearchExpand(value, searchArray, resultArray, searchModeValue !== -1, axis) : matchModeValue === -1 || matchModeValue === 1 ? this.orderSearchExpand(
|
|
14867
14902
|
value,
|
|
14868
14903
|
searchArray,
|
|
14869
14904
|
resultArray,
|
|
@@ -14873,7 +14908,11 @@ const _Xlookup = class _Xlookup extends BaseFunction {
|
|
|
14873
14908
|
) : this.equalSearchExpand(value, searchArray, resultArray, searchModeValue !== -1, axis);
|
|
14874
14909
|
}
|
|
14875
14910
|
_handleSingleObject(value, searchArray, resultArray, matchModeValue, searchModeValue) {
|
|
14876
|
-
|
|
14911
|
+
if ((searchModeValue === 2 || searchModeValue === -2) && matchModeValue !== 2) {
|
|
14912
|
+
const searchType = getSearchModeValue(searchModeValue), matchType = getMatchModeValue(matchModeValue);
|
|
14913
|
+
return this.binarySearch(value, searchArray, resultArray, searchType, matchType);
|
|
14914
|
+
}
|
|
14915
|
+
return matchModeValue === 2 ? this.fuzzySearch(value, searchArray, resultArray, searchModeValue !== -1) : matchModeValue === -1 || matchModeValue === 1 ? this.orderSearch(
|
|
14877
14916
|
value,
|
|
14878
14917
|
searchArray,
|
|
14879
14918
|
resultArray,
|
|
@@ -14881,8 +14920,14 @@ const _Xlookup = class _Xlookup extends BaseFunction {
|
|
|
14881
14920
|
searchModeValue === -1
|
|
14882
14921
|
) : this.equalSearch(value, searchArray, resultArray, searchModeValue !== -1);
|
|
14883
14922
|
}
|
|
14884
|
-
|
|
14885
|
-
|
|
14923
|
+
/**
|
|
14924
|
+
* Wildcard matching and binary search cannot appear at the same time
|
|
14925
|
+
* @param matchModeValue
|
|
14926
|
+
* @param searchModeValue
|
|
14927
|
+
* @returns
|
|
14928
|
+
*/
|
|
14929
|
+
_checkErrorCombination(matchModeValue, searchModeValue) {
|
|
14930
|
+
return matchModeValue === 2 && (searchModeValue === -2 || searchModeValue === 2) ? ErrorValueObject.create(ErrorType$1.VALUE) : null;
|
|
14886
14931
|
}
|
|
14887
14932
|
};
|
|
14888
14933
|
__name(_Xlookup, "Xlookup");
|
|
@@ -14924,8 +14969,8 @@ const _Xmatch = class _Xmatch extends BaseFunction {
|
|
|
14924
14969
|
_handleSingleObject(value, searchArray, matchModeValue, searchModeValue) {
|
|
14925
14970
|
let rowOrColumn;
|
|
14926
14971
|
if ((searchModeValue === 2 || searchModeValue === -2) && matchModeValue !== 2) {
|
|
14927
|
-
const searchType =
|
|
14928
|
-
rowOrColumn = searchArray.binarySearch(value, searchType);
|
|
14972
|
+
const searchType = getSearchModeValue(searchModeValue), matchType = getMatchModeValue(matchModeValue);
|
|
14973
|
+
rowOrColumn = searchArray.binarySearch(value, searchType, matchType);
|
|
14929
14974
|
} else if (matchModeValue === 2) {
|
|
14930
14975
|
const matchObject = searchArray.compare(value, compareToken.EQUALS);
|
|
14931
14976
|
let position;
|
|
@@ -14948,9 +14993,6 @@ const _Xmatch = class _Xmatch extends BaseFunction {
|
|
|
14948
14993
|
}
|
|
14949
14994
|
return rowOrColumn == null ? ErrorValueObject.create(ErrorType$1.NA) : NumberValueObject.create(rowOrColumn + 1);
|
|
14950
14995
|
}
|
|
14951
|
-
_getSearchModeValue(searchModeValue) {
|
|
14952
|
-
return searchModeValue === -2 ? ArrayBinarySearchType.MAX : ArrayBinarySearchType.MIN;
|
|
14953
|
-
}
|
|
14954
14996
|
};
|
|
14955
14997
|
__name(_Xmatch, "Xmatch");
|
|
14956
14998
|
let Xmatch = _Xmatch;
|
|
@@ -14987,9 +15029,7 @@ const functionLookup = [
|
|
|
14987
15029
|
[Wraprows, FUNCTION_NAMES_LOOKUP.WRAPROWS],
|
|
14988
15030
|
[Xlookup, FUNCTION_NAMES_LOOKUP.XLOOKUP],
|
|
14989
15031
|
[Xmatch, FUNCTION_NAMES_LOOKUP.XMATCH]
|
|
14990
|
-
]
|
|
14991
|
-
var FUNCTION_NAMES_MATH = /* @__PURE__ */ ((FUNCTION_NAMES_MATH2) => (FUNCTION_NAMES_MATH2.ABS = "ABS", FUNCTION_NAMES_MATH2.ACOS = "ACOS", FUNCTION_NAMES_MATH2.ACOSH = "ACOSH", FUNCTION_NAMES_MATH2.ACOT = "ACOT", FUNCTION_NAMES_MATH2.ACOTH = "ACOTH", FUNCTION_NAMES_MATH2.AGGREGATE = "AGGREGATE", FUNCTION_NAMES_MATH2.ARABIC = "ARABIC", FUNCTION_NAMES_MATH2.ASIN = "ASIN", FUNCTION_NAMES_MATH2.ASINH = "ASINH", FUNCTION_NAMES_MATH2.ATAN = "ATAN", FUNCTION_NAMES_MATH2.ATAN2 = "ATAN2", FUNCTION_NAMES_MATH2.ATANH = "ATANH", FUNCTION_NAMES_MATH2.BASE = "BASE", FUNCTION_NAMES_MATH2.CEILING = "CEILING", FUNCTION_NAMES_MATH2.CEILING_MATH = "CEILING.MATH", FUNCTION_NAMES_MATH2.CEILING_PRECISE = "CEILING.PRECISE", FUNCTION_NAMES_MATH2.COMBIN = "COMBIN", FUNCTION_NAMES_MATH2.COMBINA = "COMBINA", FUNCTION_NAMES_MATH2.COS = "COS", FUNCTION_NAMES_MATH2.COSH = "COSH", FUNCTION_NAMES_MATH2.COT = "COT", FUNCTION_NAMES_MATH2.COTH = "COTH", FUNCTION_NAMES_MATH2.CSC = "CSC", FUNCTION_NAMES_MATH2.CSCH = "CSCH", FUNCTION_NAMES_MATH2.DECIMAL = "DECIMAL", FUNCTION_NAMES_MATH2.DEGREES = "DEGREES", FUNCTION_NAMES_MATH2.EVEN = "EVEN", FUNCTION_NAMES_MATH2.EXP = "EXP", FUNCTION_NAMES_MATH2.FACT = "FACT", FUNCTION_NAMES_MATH2.FACTDOUBLE = "FACTDOUBLE", FUNCTION_NAMES_MATH2.FLOOR = "FLOOR", FUNCTION_NAMES_MATH2.FLOOR_MATH = "FLOOR.MATH", FUNCTION_NAMES_MATH2.FLOOR_PRECISE = "FLOOR.PRECISE", FUNCTION_NAMES_MATH2.GCD = "GCD", FUNCTION_NAMES_MATH2.INT = "INT", FUNCTION_NAMES_MATH2.ISO_CEILING = "ISO.CEILING", FUNCTION_NAMES_MATH2.LCM = "LCM", FUNCTION_NAMES_MATH2.LET = "LET", FUNCTION_NAMES_MATH2.LN = "LN", FUNCTION_NAMES_MATH2.LOG = "LOG", FUNCTION_NAMES_MATH2.LOG10 = "LOG10", FUNCTION_NAMES_MATH2.MDETERM = "MDETERM", FUNCTION_NAMES_MATH2.MINVERSE = "MINVERSE", FUNCTION_NAMES_MATH2.MMULT = "MMULT", FUNCTION_NAMES_MATH2.MOD = "MOD", FUNCTION_NAMES_MATH2.MROUND = "MROUND", FUNCTION_NAMES_MATH2.MULTINOMIAL = "MULTINOMIAL", FUNCTION_NAMES_MATH2.MUNIT = "MUNIT", FUNCTION_NAMES_MATH2.ODD = "ODD", FUNCTION_NAMES_MATH2.PI = "PI", FUNCTION_NAMES_MATH2.POWER = "POWER", FUNCTION_NAMES_MATH2.PRODUCT = "PRODUCT", FUNCTION_NAMES_MATH2.QUOTIENT = "QUOTIENT", FUNCTION_NAMES_MATH2.RADIANS = "RADIANS", FUNCTION_NAMES_MATH2.RAND = "RAND", FUNCTION_NAMES_MATH2.RANDARRAY = "RANDARRAY", FUNCTION_NAMES_MATH2.RANDBETWEEN = "RANDBETWEEN", FUNCTION_NAMES_MATH2.ROMAN = "ROMAN", FUNCTION_NAMES_MATH2.ROUND = "ROUND", FUNCTION_NAMES_MATH2.ROUNDDOWN = "ROUNDDOWN", FUNCTION_NAMES_MATH2.ROUNDUP = "ROUNDUP", FUNCTION_NAMES_MATH2.SEC = "SEC", FUNCTION_NAMES_MATH2.SECH = "SECH", FUNCTION_NAMES_MATH2.SERIESSUM = "SERIESSUM", FUNCTION_NAMES_MATH2.SEQUENCE = "SEQUENCE", FUNCTION_NAMES_MATH2.SIGN = "SIGN", FUNCTION_NAMES_MATH2.SIN = "SIN", FUNCTION_NAMES_MATH2.SINH = "SINH", FUNCTION_NAMES_MATH2.SQRT = "SQRT", FUNCTION_NAMES_MATH2.SQRTPI = "SQRTPI", FUNCTION_NAMES_MATH2.SUBTOTAL = "SUBTOTAL", FUNCTION_NAMES_MATH2.SUM = "SUM", FUNCTION_NAMES_MATH2.SUMIF = "SUMIF", FUNCTION_NAMES_MATH2.SUMIFS = "SUMIFS", FUNCTION_NAMES_MATH2.SUMPRODUCT = "SUMPRODUCT", FUNCTION_NAMES_MATH2.SUMSQ = "SUMSQ", FUNCTION_NAMES_MATH2.SUMX2MY2 = "SUMX2MY2", FUNCTION_NAMES_MATH2.SUMX2PY2 = "SUMX2PY2", FUNCTION_NAMES_MATH2.SUMXMY2 = "SUMXMY2", FUNCTION_NAMES_MATH2.TAN = "TAN", FUNCTION_NAMES_MATH2.TANH = "TANH", FUNCTION_NAMES_MATH2.TRUNC = "TRUNC", FUNCTION_NAMES_MATH2))(FUNCTION_NAMES_MATH || {});
|
|
14992
|
-
const _Abs = class _Abs extends BaseFunction {
|
|
15032
|
+
], _Abs = class _Abs extends BaseFunction {
|
|
14993
15033
|
constructor() {
|
|
14994
15034
|
super(...arguments);
|
|
14995
15035
|
__publicField(this, "minParams", 1);
|
|
@@ -15775,6 +15815,7 @@ const _FloorPrecise = class _FloorPrecise extends BaseFunction {
|
|
|
15775
15815
|
};
|
|
15776
15816
|
__name(_FloorPrecise, "FloorPrecise");
|
|
15777
15817
|
let FloorPrecise = _FloorPrecise;
|
|
15818
|
+
var FUNCTION_NAMES_MATH = /* @__PURE__ */ ((FUNCTION_NAMES_MATH2) => (FUNCTION_NAMES_MATH2.ABS = "ABS", FUNCTION_NAMES_MATH2.ACOS = "ACOS", FUNCTION_NAMES_MATH2.ACOSH = "ACOSH", FUNCTION_NAMES_MATH2.ACOT = "ACOT", FUNCTION_NAMES_MATH2.ACOTH = "ACOTH", FUNCTION_NAMES_MATH2.AGGREGATE = "AGGREGATE", FUNCTION_NAMES_MATH2.ARABIC = "ARABIC", FUNCTION_NAMES_MATH2.ASIN = "ASIN", FUNCTION_NAMES_MATH2.ASINH = "ASINH", FUNCTION_NAMES_MATH2.ATAN = "ATAN", FUNCTION_NAMES_MATH2.ATAN2 = "ATAN2", FUNCTION_NAMES_MATH2.ATANH = "ATANH", FUNCTION_NAMES_MATH2.BASE = "BASE", FUNCTION_NAMES_MATH2.CEILING = "CEILING", FUNCTION_NAMES_MATH2.CEILING_MATH = "CEILING.MATH", FUNCTION_NAMES_MATH2.CEILING_PRECISE = "CEILING.PRECISE", FUNCTION_NAMES_MATH2.COMBIN = "COMBIN", FUNCTION_NAMES_MATH2.COMBINA = "COMBINA", FUNCTION_NAMES_MATH2.COS = "COS", FUNCTION_NAMES_MATH2.COSH = "COSH", FUNCTION_NAMES_MATH2.COT = "COT", FUNCTION_NAMES_MATH2.COTH = "COTH", FUNCTION_NAMES_MATH2.CSC = "CSC", FUNCTION_NAMES_MATH2.CSCH = "CSCH", FUNCTION_NAMES_MATH2.DECIMAL = "DECIMAL", FUNCTION_NAMES_MATH2.DEGREES = "DEGREES", FUNCTION_NAMES_MATH2.EVEN = "EVEN", FUNCTION_NAMES_MATH2.EXP = "EXP", FUNCTION_NAMES_MATH2.FACT = "FACT", FUNCTION_NAMES_MATH2.FACTDOUBLE = "FACTDOUBLE", FUNCTION_NAMES_MATH2.FLOOR = "FLOOR", FUNCTION_NAMES_MATH2.FLOOR_MATH = "FLOOR.MATH", FUNCTION_NAMES_MATH2.FLOOR_PRECISE = "FLOOR.PRECISE", FUNCTION_NAMES_MATH2.GCD = "GCD", FUNCTION_NAMES_MATH2.INT = "INT", FUNCTION_NAMES_MATH2.ISO_CEILING = "ISO.CEILING", FUNCTION_NAMES_MATH2.LCM = "LCM", FUNCTION_NAMES_MATH2.LET = "LET", FUNCTION_NAMES_MATH2.LN = "LN", FUNCTION_NAMES_MATH2.LOG = "LOG", FUNCTION_NAMES_MATH2.LOG10 = "LOG10", FUNCTION_NAMES_MATH2.MDETERM = "MDETERM", FUNCTION_NAMES_MATH2.MINVERSE = "MINVERSE", FUNCTION_NAMES_MATH2.MMULT = "MMULT", FUNCTION_NAMES_MATH2.MOD = "MOD", FUNCTION_NAMES_MATH2.MROUND = "MROUND", FUNCTION_NAMES_MATH2.MULTINOMIAL = "MULTINOMIAL", FUNCTION_NAMES_MATH2.MUNIT = "MUNIT", FUNCTION_NAMES_MATH2.ODD = "ODD", FUNCTION_NAMES_MATH2.PI = "PI", FUNCTION_NAMES_MATH2.POWER = "POWER", FUNCTION_NAMES_MATH2.PRODUCT = "PRODUCT", FUNCTION_NAMES_MATH2.QUOTIENT = "QUOTIENT", FUNCTION_NAMES_MATH2.RADIANS = "RADIANS", FUNCTION_NAMES_MATH2.RAND = "RAND", FUNCTION_NAMES_MATH2.RANDARRAY = "RANDARRAY", FUNCTION_NAMES_MATH2.RANDBETWEEN = "RANDBETWEEN", FUNCTION_NAMES_MATH2.ROMAN = "ROMAN", FUNCTION_NAMES_MATH2.ROUND = "ROUND", FUNCTION_NAMES_MATH2.ROUNDDOWN = "ROUNDDOWN", FUNCTION_NAMES_MATH2.ROUNDUP = "ROUNDUP", FUNCTION_NAMES_MATH2.SEC = "SEC", FUNCTION_NAMES_MATH2.SECH = "SECH", FUNCTION_NAMES_MATH2.SERIESSUM = "SERIESSUM", FUNCTION_NAMES_MATH2.SEQUENCE = "SEQUENCE", FUNCTION_NAMES_MATH2.SIGN = "SIGN", FUNCTION_NAMES_MATH2.SIN = "SIN", FUNCTION_NAMES_MATH2.SINH = "SINH", FUNCTION_NAMES_MATH2.SQRT = "SQRT", FUNCTION_NAMES_MATH2.SQRTPI = "SQRTPI", FUNCTION_NAMES_MATH2.SUBTOTAL = "SUBTOTAL", FUNCTION_NAMES_MATH2.SUM = "SUM", FUNCTION_NAMES_MATH2.SUMIF = "SUMIF", FUNCTION_NAMES_MATH2.SUMIFS = "SUMIFS", FUNCTION_NAMES_MATH2.SUMPRODUCT = "SUMPRODUCT", FUNCTION_NAMES_MATH2.SUMSQ = "SUMSQ", FUNCTION_NAMES_MATH2.SUMX2MY2 = "SUMX2MY2", FUNCTION_NAMES_MATH2.SUMX2PY2 = "SUMX2PY2", FUNCTION_NAMES_MATH2.SUMXMY2 = "SUMXMY2", FUNCTION_NAMES_MATH2.TAN = "TAN", FUNCTION_NAMES_MATH2.TANH = "TANH", FUNCTION_NAMES_MATH2.TRUNC = "TRUNC", FUNCTION_NAMES_MATH2))(FUNCTION_NAMES_MATH || {});
|
|
15778
15819
|
const _Gcd = class _Gcd extends BaseFunction {
|
|
15779
15820
|
constructor() {
|
|
15780
15821
|
super(...arguments);
|
|
@@ -16630,6 +16671,51 @@ const _Sech = class _Sech extends BaseFunction {
|
|
|
16630
16671
|
};
|
|
16631
16672
|
__name(_Sech, "Sech");
|
|
16632
16673
|
let Sech = _Sech;
|
|
16674
|
+
const _Sequence = class _Sequence extends BaseFunction {
|
|
16675
|
+
constructor() {
|
|
16676
|
+
super(...arguments);
|
|
16677
|
+
__publicField(this, "minParams", 1);
|
|
16678
|
+
__publicField(this, "maxParams", 4);
|
|
16679
|
+
}
|
|
16680
|
+
calculate(rows, columns, start, step) {
|
|
16681
|
+
let _rows = rows, _columns = columns != null ? columns : NumberValueObject.create(1), _start = start != null ? start : NumberValueObject.create(1), _step = step != null ? step : NumberValueObject.create(1);
|
|
16682
|
+
_rows.isNull() && (_rows = NumberValueObject.create(1)), _columns.isNull() && (_columns = NumberValueObject.create(1)), _start.isNull() && (_start = NumberValueObject.create(1)), _step.isNull() && (_step = NumberValueObject.create(1));
|
|
16683
|
+
const maxRowLength = Math.max(
|
|
16684
|
+
_rows.isArray() ? _rows.getRowCount() : 1,
|
|
16685
|
+
_columns.isArray() ? _columns.getRowCount() : 1,
|
|
16686
|
+
_start.isArray() ? _start.getRowCount() : 1,
|
|
16687
|
+
_step.isArray() ? _step.getRowCount() : 1
|
|
16688
|
+
), maxColumnLength = Math.max(
|
|
16689
|
+
_rows.isArray() ? _rows.getColumnCount() : 1,
|
|
16690
|
+
_columns.isArray() ? _columns.getColumnCount() : 1,
|
|
16691
|
+
_start.isArray() ? _start.getColumnCount() : 1,
|
|
16692
|
+
_step.isArray() ? _step.getColumnCount() : 1
|
|
16693
|
+
), rowsArray = expandArrayValueObject(maxRowLength, maxColumnLength, _rows, ErrorValueObject.create(ErrorType$1.NA)), columnsArray = expandArrayValueObject(maxRowLength, maxColumnLength, _columns, ErrorValueObject.create(ErrorType$1.NA)), startArray = expandArrayValueObject(maxRowLength, maxColumnLength, _start, ErrorValueObject.create(ErrorType$1.NA)), stepArray = expandArrayValueObject(maxRowLength, maxColumnLength, _step, ErrorValueObject.create(ErrorType$1.NA)), resultArray = rowsArray.mapValue((rowsObject, rowIndex, columnIndex) => {
|
|
16694
|
+
const columnsObject = columnsArray.get(rowIndex, columnIndex), startObject = startArray.get(rowIndex, columnIndex), stepObject = stepArray.get(rowIndex, columnIndex);
|
|
16695
|
+
return rowsObject.isError() ? rowsObject : columnsObject.isError() ? columnsObject : startObject.isError() ? startObject : stepObject.isError() ? stepObject : this._getResult(rowsObject, columnsObject, startObject, stepObject, maxRowLength, maxColumnLength);
|
|
16696
|
+
});
|
|
16697
|
+
return maxRowLength === 1 && maxColumnLength === 1 ? resultArray.get(0, 0) : resultArray;
|
|
16698
|
+
}
|
|
16699
|
+
_getResult(rowsObject, columnsObject, startObject, stepObject, maxRowLength, maxColumnLength) {
|
|
16700
|
+
const { isError, errorObject, variants } = checkVariantsErrorIsStringToNumber(rowsObject, columnsObject, startObject, stepObject);
|
|
16701
|
+
if (isError)
|
|
16702
|
+
return errorObject;
|
|
16703
|
+
const [_rowsObject, _columnsObject, _startObject, _stepObject] = variants, rowsValue = Math.floor(+_rowsObject.getValue()), columnsValue = Math.floor(+_columnsObject.getValue()), startValue = +_startObject.getValue(), stepValue = +_stepObject.getValue();
|
|
16704
|
+
if (rowsValue < 0 || columnsValue < 0)
|
|
16705
|
+
return ErrorValueObject.create(ErrorType$1.VALUE);
|
|
16706
|
+
if (rowsValue === 0 || columnsValue === 0)
|
|
16707
|
+
return ErrorValueObject.create(ErrorType$1.CALC);
|
|
16708
|
+
const result = [];
|
|
16709
|
+
for (let r = 0; r < rowsValue; r++) {
|
|
16710
|
+
result[r] = [];
|
|
16711
|
+
for (let c = 0; c < columnsValue; c++)
|
|
16712
|
+
result[r][c] = startValue + (r * columnsValue + c) * stepValue;
|
|
16713
|
+
}
|
|
16714
|
+
return maxRowLength > 1 || maxColumnLength > 1 ? NumberValueObject.create(result[0][0]) : ArrayValueObject.createByArray(result);
|
|
16715
|
+
}
|
|
16716
|
+
};
|
|
16717
|
+
__name(_Sequence, "Sequence");
|
|
16718
|
+
let Sequence = _Sequence;
|
|
16633
16719
|
const _Seriessum = class _Seriessum extends BaseFunction {
|
|
16634
16720
|
constructor() {
|
|
16635
16721
|
super(...arguments);
|
|
@@ -16695,51 +16781,6 @@ const _Seriessum = class _Seriessum extends BaseFunction {
|
|
|
16695
16781
|
};
|
|
16696
16782
|
__name(_Seriessum, "Seriessum");
|
|
16697
16783
|
let Seriessum = _Seriessum;
|
|
16698
|
-
const _Sequence = class _Sequence extends BaseFunction {
|
|
16699
|
-
constructor() {
|
|
16700
|
-
super(...arguments);
|
|
16701
|
-
__publicField(this, "minParams", 1);
|
|
16702
|
-
__publicField(this, "maxParams", 4);
|
|
16703
|
-
}
|
|
16704
|
-
calculate(rows, columns, start, step) {
|
|
16705
|
-
let _rows = rows, _columns = columns != null ? columns : NumberValueObject.create(1), _start = start != null ? start : NumberValueObject.create(1), _step = step != null ? step : NumberValueObject.create(1);
|
|
16706
|
-
_rows.isNull() && (_rows = NumberValueObject.create(1)), _columns.isNull() && (_columns = NumberValueObject.create(1)), _start.isNull() && (_start = NumberValueObject.create(1)), _step.isNull() && (_step = NumberValueObject.create(1));
|
|
16707
|
-
const maxRowLength = Math.max(
|
|
16708
|
-
_rows.isArray() ? _rows.getRowCount() : 1,
|
|
16709
|
-
_columns.isArray() ? _columns.getRowCount() : 1,
|
|
16710
|
-
_start.isArray() ? _start.getRowCount() : 1,
|
|
16711
|
-
_step.isArray() ? _step.getRowCount() : 1
|
|
16712
|
-
), maxColumnLength = Math.max(
|
|
16713
|
-
_rows.isArray() ? _rows.getColumnCount() : 1,
|
|
16714
|
-
_columns.isArray() ? _columns.getColumnCount() : 1,
|
|
16715
|
-
_start.isArray() ? _start.getColumnCount() : 1,
|
|
16716
|
-
_step.isArray() ? _step.getColumnCount() : 1
|
|
16717
|
-
), rowsArray = expandArrayValueObject(maxRowLength, maxColumnLength, _rows, ErrorValueObject.create(ErrorType$1.NA)), columnsArray = expandArrayValueObject(maxRowLength, maxColumnLength, _columns, ErrorValueObject.create(ErrorType$1.NA)), startArray = expandArrayValueObject(maxRowLength, maxColumnLength, _start, ErrorValueObject.create(ErrorType$1.NA)), stepArray = expandArrayValueObject(maxRowLength, maxColumnLength, _step, ErrorValueObject.create(ErrorType$1.NA)), resultArray = rowsArray.mapValue((rowsObject, rowIndex, columnIndex) => {
|
|
16718
|
-
const columnsObject = columnsArray.get(rowIndex, columnIndex), startObject = startArray.get(rowIndex, columnIndex), stepObject = stepArray.get(rowIndex, columnIndex);
|
|
16719
|
-
return rowsObject.isError() ? rowsObject : columnsObject.isError() ? columnsObject : startObject.isError() ? startObject : stepObject.isError() ? stepObject : this._getResult(rowsObject, columnsObject, startObject, stepObject, maxRowLength, maxColumnLength);
|
|
16720
|
-
});
|
|
16721
|
-
return maxRowLength === 1 && maxColumnLength === 1 ? resultArray.get(0, 0) : resultArray;
|
|
16722
|
-
}
|
|
16723
|
-
_getResult(rowsObject, columnsObject, startObject, stepObject, maxRowLength, maxColumnLength) {
|
|
16724
|
-
const { isError, errorObject, variants } = checkVariantsErrorIsStringToNumber(rowsObject, columnsObject, startObject, stepObject);
|
|
16725
|
-
if (isError)
|
|
16726
|
-
return errorObject;
|
|
16727
|
-
const [_rowsObject, _columnsObject, _startObject, _stepObject] = variants, rowsValue = Math.floor(+_rowsObject.getValue()), columnsValue = Math.floor(+_columnsObject.getValue()), startValue = +_startObject.getValue(), stepValue = +_stepObject.getValue();
|
|
16728
|
-
if (rowsValue < 0 || columnsValue < 0)
|
|
16729
|
-
return ErrorValueObject.create(ErrorType$1.VALUE);
|
|
16730
|
-
if (rowsValue === 0 || columnsValue === 0)
|
|
16731
|
-
return ErrorValueObject.create(ErrorType$1.CALC);
|
|
16732
|
-
const result = [];
|
|
16733
|
-
for (let r = 0; r < rowsValue; r++) {
|
|
16734
|
-
result[r] = [];
|
|
16735
|
-
for (let c = 0; c < columnsValue; c++)
|
|
16736
|
-
result[r][c] = startValue + (r * columnsValue + c) * stepValue;
|
|
16737
|
-
}
|
|
16738
|
-
return maxRowLength > 1 || maxColumnLength > 1 ? NumberValueObject.create(result[0][0]) : ArrayValueObject.createByArray(result);
|
|
16739
|
-
}
|
|
16740
|
-
};
|
|
16741
|
-
__name(_Sequence, "Sequence");
|
|
16742
|
-
let Sequence = _Sequence;
|
|
16743
16784
|
const _Sign = class _Sign extends BaseFunction {
|
|
16744
16785
|
constructor() {
|
|
16745
16786
|
super(...arguments);
|
|
@@ -18360,9 +18401,7 @@ const functionStatistical = [
|
|
|
18360
18401
|
[VarS, FUNCTION_NAMES_STATISTICAL.VAR_S],
|
|
18361
18402
|
[Vara, FUNCTION_NAMES_STATISTICAL.VARA],
|
|
18362
18403
|
[Varpa, FUNCTION_NAMES_STATISTICAL.VARPA]
|
|
18363
|
-
]
|
|
18364
|
-
var FUNCTION_NAMES_TEXT = /* @__PURE__ */ ((FUNCTION_NAMES_TEXT2) => (FUNCTION_NAMES_TEXT2.ASC = "ASC", FUNCTION_NAMES_TEXT2.ARRAYTOTEXT = "ARRAYTOTEXT", FUNCTION_NAMES_TEXT2.BAHTTEXT = "BAHTTEXT", FUNCTION_NAMES_TEXT2.CHAR = "CHAR", FUNCTION_NAMES_TEXT2.CLEAN = "CLEAN", FUNCTION_NAMES_TEXT2.CODE = "CODE", FUNCTION_NAMES_TEXT2.CONCAT = "CONCAT", FUNCTION_NAMES_TEXT2.CONCATENATE = "CONCATENATE", FUNCTION_NAMES_TEXT2.DBCS = "DBCS", FUNCTION_NAMES_TEXT2.DOLLAR = "DOLLAR", FUNCTION_NAMES_TEXT2.EXACT = "EXACT", FUNCTION_NAMES_TEXT2.FIND = "FIND", FUNCTION_NAMES_TEXT2.FINDB = "FINDB", FUNCTION_NAMES_TEXT2.FIXED = "FIXED", FUNCTION_NAMES_TEXT2.LEFT = "LEFT", FUNCTION_NAMES_TEXT2.LEFTB = "LEFTB", FUNCTION_NAMES_TEXT2.LEN = "LEN", FUNCTION_NAMES_TEXT2.LENB = "LENB", FUNCTION_NAMES_TEXT2.LOWER = "LOWER", FUNCTION_NAMES_TEXT2.MID = "MID", FUNCTION_NAMES_TEXT2.MIDB = "MIDB", FUNCTION_NAMES_TEXT2.NUMBERVALUE = "NUMBERVALUE", FUNCTION_NAMES_TEXT2.PHONETIC = "PHONETIC", FUNCTION_NAMES_TEXT2.PROPER = "PROPER", FUNCTION_NAMES_TEXT2.REPLACE = "REPLACE", FUNCTION_NAMES_TEXT2.REPLACEB = "REPLACEB", FUNCTION_NAMES_TEXT2.REPT = "REPT", FUNCTION_NAMES_TEXT2.RIGHT = "RIGHT", FUNCTION_NAMES_TEXT2.RIGHTB = "RIGHTB", FUNCTION_NAMES_TEXT2.SEARCH = "SEARCH", FUNCTION_NAMES_TEXT2.SEARCHB = "SEARCHB", FUNCTION_NAMES_TEXT2.SUBSTITUTE = "SUBSTITUTE", FUNCTION_NAMES_TEXT2.T = "T", FUNCTION_NAMES_TEXT2.TEXT = "TEXT", FUNCTION_NAMES_TEXT2.TEXTAFTER = "TEXTAFTER", FUNCTION_NAMES_TEXT2.TEXTBEFORE = "TEXTBEFORE", FUNCTION_NAMES_TEXT2.TEXTJOIN = "TEXTJOIN", FUNCTION_NAMES_TEXT2.TEXTSPLIT = "TEXTSPLIT", FUNCTION_NAMES_TEXT2.TRIM = "TRIM", FUNCTION_NAMES_TEXT2.UNICHAR = "UNICHAR", FUNCTION_NAMES_TEXT2.UNICODE = "UNICODE", FUNCTION_NAMES_TEXT2.UPPER = "UPPER", FUNCTION_NAMES_TEXT2.VALUE = "VALUE", FUNCTION_NAMES_TEXT2.VALUETOTEXT = "VALUETOTEXT", FUNCTION_NAMES_TEXT2.CALL = "CALL", FUNCTION_NAMES_TEXT2.EUROCONVERT = "EUROCONVERT", FUNCTION_NAMES_TEXT2.REGISTER_ID = "REGISTER.ID", FUNCTION_NAMES_TEXT2))(FUNCTION_NAMES_TEXT || {});
|
|
18365
|
-
const _Concat = class _Concat extends BaseFunction {
|
|
18404
|
+
], _Concat = class _Concat extends BaseFunction {
|
|
18366
18405
|
constructor() {
|
|
18367
18406
|
super(...arguments);
|
|
18368
18407
|
__publicField(this, "minParams", 1);
|
|
@@ -18419,6 +18458,61 @@ const _Concatenate = class _Concatenate extends BaseFunction {
|
|
|
18419
18458
|
};
|
|
18420
18459
|
__name(_Concatenate, "Concatenate");
|
|
18421
18460
|
let Concatenate = _Concatenate;
|
|
18461
|
+
var FUNCTION_NAMES_TEXT = /* @__PURE__ */ ((FUNCTION_NAMES_TEXT2) => (FUNCTION_NAMES_TEXT2.ASC = "ASC", FUNCTION_NAMES_TEXT2.ARRAYTOTEXT = "ARRAYTOTEXT", FUNCTION_NAMES_TEXT2.BAHTTEXT = "BAHTTEXT", FUNCTION_NAMES_TEXT2.CHAR = "CHAR", FUNCTION_NAMES_TEXT2.CLEAN = "CLEAN", FUNCTION_NAMES_TEXT2.CODE = "CODE", FUNCTION_NAMES_TEXT2.CONCAT = "CONCAT", FUNCTION_NAMES_TEXT2.CONCATENATE = "CONCATENATE", FUNCTION_NAMES_TEXT2.DBCS = "DBCS", FUNCTION_NAMES_TEXT2.DOLLAR = "DOLLAR", FUNCTION_NAMES_TEXT2.EXACT = "EXACT", FUNCTION_NAMES_TEXT2.FIND = "FIND", FUNCTION_NAMES_TEXT2.FINDB = "FINDB", FUNCTION_NAMES_TEXT2.FIXED = "FIXED", FUNCTION_NAMES_TEXT2.LEFT = "LEFT", FUNCTION_NAMES_TEXT2.LEFTB = "LEFTB", FUNCTION_NAMES_TEXT2.LEN = "LEN", FUNCTION_NAMES_TEXT2.LENB = "LENB", FUNCTION_NAMES_TEXT2.LOWER = "LOWER", FUNCTION_NAMES_TEXT2.MID = "MID", FUNCTION_NAMES_TEXT2.MIDB = "MIDB", FUNCTION_NAMES_TEXT2.NUMBERVALUE = "NUMBERVALUE", FUNCTION_NAMES_TEXT2.PHONETIC = "PHONETIC", FUNCTION_NAMES_TEXT2.PROPER = "PROPER", FUNCTION_NAMES_TEXT2.REPLACE = "REPLACE", FUNCTION_NAMES_TEXT2.REPLACEB = "REPLACEB", FUNCTION_NAMES_TEXT2.REPT = "REPT", FUNCTION_NAMES_TEXT2.RIGHT = "RIGHT", FUNCTION_NAMES_TEXT2.RIGHTB = "RIGHTB", FUNCTION_NAMES_TEXT2.SEARCH = "SEARCH", FUNCTION_NAMES_TEXT2.SEARCHB = "SEARCHB", FUNCTION_NAMES_TEXT2.SUBSTITUTE = "SUBSTITUTE", FUNCTION_NAMES_TEXT2.T = "T", FUNCTION_NAMES_TEXT2.TEXT = "TEXT", FUNCTION_NAMES_TEXT2.TEXTAFTER = "TEXTAFTER", FUNCTION_NAMES_TEXT2.TEXTBEFORE = "TEXTBEFORE", FUNCTION_NAMES_TEXT2.TEXTJOIN = "TEXTJOIN", FUNCTION_NAMES_TEXT2.TEXTSPLIT = "TEXTSPLIT", FUNCTION_NAMES_TEXT2.TRIM = "TRIM", FUNCTION_NAMES_TEXT2.UNICHAR = "UNICHAR", FUNCTION_NAMES_TEXT2.UNICODE = "UNICODE", FUNCTION_NAMES_TEXT2.UPPER = "UPPER", FUNCTION_NAMES_TEXT2.VALUE = "VALUE", FUNCTION_NAMES_TEXT2.VALUETOTEXT = "VALUETOTEXT", FUNCTION_NAMES_TEXT2.CALL = "CALL", FUNCTION_NAMES_TEXT2.EUROCONVERT = "EUROCONVERT", FUNCTION_NAMES_TEXT2.REGISTER_ID = "REGISTER.ID", FUNCTION_NAMES_TEXT2))(FUNCTION_NAMES_TEXT || {});
|
|
18462
|
+
function charLenByte(str) {
|
|
18463
|
+
let byteCount = 0;
|
|
18464
|
+
for (let i = 0; i < str.length; i++) {
|
|
18465
|
+
const charCode = str.charCodeAt(i);
|
|
18466
|
+
charCode >= 12352 && charCode <= 12543 || // Japanese hiragana and katakana
|
|
18467
|
+
charCode >= 19968 && charCode <= 40959 || // Chinese (simplified and traditional)
|
|
18468
|
+
charCode >= 44032 && charCode <= 55215 ? byteCount += 2 : byteCount += 1;
|
|
18469
|
+
}
|
|
18470
|
+
return byteCount;
|
|
18471
|
+
}
|
|
18472
|
+
__name(charLenByte, "charLenByte");
|
|
18473
|
+
const _Leftb = class _Leftb extends BaseFunction {
|
|
18474
|
+
constructor() {
|
|
18475
|
+
super(...arguments);
|
|
18476
|
+
__publicField(this, "minParams", 1);
|
|
18477
|
+
__publicField(this, "maxParams", 2);
|
|
18478
|
+
}
|
|
18479
|
+
calculate(text, numBytes) {
|
|
18480
|
+
if (text.isError())
|
|
18481
|
+
return text;
|
|
18482
|
+
if (numBytes != null && numBytes.isError())
|
|
18483
|
+
return numBytes;
|
|
18484
|
+
const _numBytes = numBytes || NumberValueObject.create(1), maxRowLength = Math.max(
|
|
18485
|
+
text.isArray() ? text.getRowCount() : 1,
|
|
18486
|
+
_numBytes && _numBytes.isArray() ? _numBytes.getRowCount() : 1
|
|
18487
|
+
), maxColumnLength = Math.max(
|
|
18488
|
+
text.isArray() ? text.getColumnCount() : 1,
|
|
18489
|
+
_numBytes && _numBytes.isArray() ? _numBytes.getColumnCount() : 1
|
|
18490
|
+
), textArray = expandArrayValueObject(maxRowLength, maxColumnLength, text), numBytesArray = expandArrayValueObject(maxRowLength, maxColumnLength, _numBytes);
|
|
18491
|
+
return textArray.map((textValue, rowIndex, columnIndex) => this._handleSingleText(textValue, rowIndex, columnIndex, numBytesArray));
|
|
18492
|
+
}
|
|
18493
|
+
_handleSingleText(textValue, rowIndex, columnIndex, numBytesArray) {
|
|
18494
|
+
let numBytes = numBytesArray.get(rowIndex, columnIndex) || NumberValueObject.create(1);
|
|
18495
|
+
if (numBytes.isError())
|
|
18496
|
+
return numBytes;
|
|
18497
|
+
let textValueString = textValue.getValue();
|
|
18498
|
+
if (textValue.isNull() && (textValueString = ""), textValue.isBoolean() && (textValueString = textValueString ? "TRUE" : "FALSE"), textValueString = `${textValueString}`, (numBytes.isString() || numBytes.isBoolean() || numBytes.isNull()) && (numBytes = numBytes.convertToNumberObjectValue()), numBytes.isError())
|
|
18499
|
+
return numBytes;
|
|
18500
|
+
const numBytesValueNumber = Math.floor(+numBytes.getValue());
|
|
18501
|
+
return numBytesValueNumber < 0 ? ErrorValueObject.create(ErrorType$1.VALUE) : StringValueObject.create(this._sliceByBytes(textValueString, numBytesValueNumber));
|
|
18502
|
+
}
|
|
18503
|
+
_sliceByBytes(text, numBytes) {
|
|
18504
|
+
let byteCount = 0, sliceIndex = 0;
|
|
18505
|
+
for (let i = 0; i < text.length; i++) {
|
|
18506
|
+
const char = text[i], charByteLength = charLenByte(char);
|
|
18507
|
+
if (byteCount + charByteLength > numBytes)
|
|
18508
|
+
break;
|
|
18509
|
+
byteCount += charByteLength, sliceIndex++;
|
|
18510
|
+
}
|
|
18511
|
+
return [...text].slice(0, sliceIndex).join("");
|
|
18512
|
+
}
|
|
18513
|
+
};
|
|
18514
|
+
__name(_Leftb, "Leftb");
|
|
18515
|
+
let Leftb = _Leftb;
|
|
18422
18516
|
const _Len = class _Len extends BaseFunction {
|
|
18423
18517
|
constructor() {
|
|
18424
18518
|
super(...arguments);
|
|
@@ -18446,17 +18540,6 @@ const _Len = class _Len extends BaseFunction {
|
|
|
18446
18540
|
};
|
|
18447
18541
|
__name(_Len, "Len");
|
|
18448
18542
|
let Len = _Len;
|
|
18449
|
-
function charLenByte(str) {
|
|
18450
|
-
let byteCount = 0;
|
|
18451
|
-
for (let i = 0; i < str.length; i++) {
|
|
18452
|
-
const charCode = str.charCodeAt(i);
|
|
18453
|
-
charCode >= 12352 && charCode <= 12543 || // Japanese hiragana and katakana
|
|
18454
|
-
charCode >= 19968 && charCode <= 40959 || // Chinese (simplified and traditional)
|
|
18455
|
-
charCode >= 44032 && charCode <= 55215 ? byteCount += 2 : byteCount += 1;
|
|
18456
|
-
}
|
|
18457
|
-
return byteCount;
|
|
18458
|
-
}
|
|
18459
|
-
__name(charLenByte, "charLenByte");
|
|
18460
18543
|
const _Lenb = class _Lenb extends BaseFunction {
|
|
18461
18544
|
constructor() {
|
|
18462
18545
|
super(...arguments);
|
|
@@ -18503,6 +18586,47 @@ const _Lower = class _Lower extends BaseFunction {
|
|
|
18503
18586
|
};
|
|
18504
18587
|
__name(_Lower, "Lower");
|
|
18505
18588
|
let Lower = _Lower;
|
|
18589
|
+
const _Mid = class _Mid extends BaseFunction {
|
|
18590
|
+
constructor() {
|
|
18591
|
+
super(...arguments);
|
|
18592
|
+
__publicField(this, "minParams", 3);
|
|
18593
|
+
__publicField(this, "maxParams", 3);
|
|
18594
|
+
}
|
|
18595
|
+
calculate(withinText, startNum, numChars) {
|
|
18596
|
+
if (withinText.isError())
|
|
18597
|
+
return withinText;
|
|
18598
|
+
if (startNum.isError())
|
|
18599
|
+
return startNum;
|
|
18600
|
+
if (numChars.isError())
|
|
18601
|
+
return numChars;
|
|
18602
|
+
const maxRowLength = Math.max(
|
|
18603
|
+
withinText.isArray() ? withinText.getRowCount() : 1,
|
|
18604
|
+
startNum.isArray() ? startNum.getRowCount() : 1,
|
|
18605
|
+
numChars.isArray() ? numChars.getRowCount() : 1
|
|
18606
|
+
), maxColumnLength = Math.max(
|
|
18607
|
+
withinText.isArray() ? withinText.getColumnCount() : 1,
|
|
18608
|
+
startNum.isArray() ? startNum.getColumnCount() : 1,
|
|
18609
|
+
numChars.isArray() ? numChars.getColumnCount() : 1
|
|
18610
|
+
), withinTextArray = expandArrayValueObject(maxRowLength, maxColumnLength, withinText), startNumArray = expandArrayValueObject(maxRowLength, maxColumnLength, startNum), numCharsArray = expandArrayValueObject(maxRowLength, maxColumnLength, numChars);
|
|
18611
|
+
return withinTextArray.map((withinTextValue, rowIndex, columnIndex) => this._handleSingleText(withinTextValue, rowIndex, columnIndex, startNumArray, numCharsArray));
|
|
18612
|
+
}
|
|
18613
|
+
_handleSingleText(withinTextValue, rowIndex, columnIndex, startNumArray, numCharsArray) {
|
|
18614
|
+
let startNumValue = startNumArray.get(rowIndex, columnIndex) || NullValueObject.create(), numCharsValue = numCharsArray.get(rowIndex, columnIndex) || NullValueObject.create();
|
|
18615
|
+
if (startNumValue.isError())
|
|
18616
|
+
return startNumValue;
|
|
18617
|
+
if (numCharsValue.isError())
|
|
18618
|
+
return numCharsValue;
|
|
18619
|
+
let withinTextValueString = withinTextValue.getValue();
|
|
18620
|
+
if (withinTextValue.isNull() && (withinTextValueString = ""), withinTextValue.isBoolean() && (withinTextValueString = withinTextValueString ? "TRUE" : "FALSE"), withinTextValueString = `${withinTextValueString}`, (startNumValue.isString() || startNumValue.isBoolean() || startNumValue.isNull()) && (startNumValue = startNumValue.convertToNumberObjectValue()), startNumValue.isError())
|
|
18621
|
+
return startNumValue;
|
|
18622
|
+
if ((numCharsValue.isString() || numCharsValue.isBoolean() || numCharsValue.isNull()) && (numCharsValue = numCharsValue.convertToNumberObjectValue()), numCharsValue.isError())
|
|
18623
|
+
return numCharsValue;
|
|
18624
|
+
const startNumValueNumber = Math.floor(+startNumValue.getValue()) - 1, numCharsValueNumber = numCharsValue.getValue();
|
|
18625
|
+
return startNumValueNumber < 0 || numCharsValueNumber < 0 ? ErrorValueObject.create(ErrorType$1.VALUE) : StringValueObject.create(withinTextValueString.substring(startNumValueNumber, startNumValueNumber + numCharsValueNumber));
|
|
18626
|
+
}
|
|
18627
|
+
};
|
|
18628
|
+
__name(_Mid, "Mid");
|
|
18629
|
+
let Mid = _Mid;
|
|
18506
18630
|
const _Rept = class _Rept extends BaseFunction {
|
|
18507
18631
|
constructor() {
|
|
18508
18632
|
super(...arguments);
|
|
@@ -18538,7 +18662,7 @@ const _Rept = class _Rept extends BaseFunction {
|
|
|
18538
18662
|
};
|
|
18539
18663
|
__name(_Rept, "Rept");
|
|
18540
18664
|
let Rept = _Rept;
|
|
18541
|
-
const getFormatPreview = /* @__PURE__ */ __name((pattern, value) => numfmt.format(pattern, value), "getFormatPreview"), _Text = class _Text extends BaseFunction {
|
|
18665
|
+
const getFormatPreview = /* @__PURE__ */ __name((pattern, value) => numfmt.format(pattern, value, { throws: !1 }), "getFormatPreview"), _Text = class _Text extends BaseFunction {
|
|
18542
18666
|
constructor() {
|
|
18543
18667
|
super(...arguments);
|
|
18544
18668
|
__publicField(this, "minParams", 2);
|
|
@@ -18557,19 +18681,24 @@ const getFormatPreview = /* @__PURE__ */ __name((pattern, value) => numfmt.forma
|
|
|
18557
18681
|
formatText.isArray() ? formatText.getColumnCount() : 1
|
|
18558
18682
|
), textArray = expandArrayValueObject(maxRowLength, maxColumnLength, text), formatTextArray = expandArrayValueObject(maxRowLength, maxColumnLength, formatText);
|
|
18559
18683
|
return textArray.map((textValue, rowIndex, columnIndex) => {
|
|
18560
|
-
if (textValue.isError()
|
|
18684
|
+
if (textValue.isError())
|
|
18561
18685
|
return textValue;
|
|
18562
18686
|
let formatTextValue = formatTextArray.get(rowIndex, columnIndex) || StringValueObject.create(" ");
|
|
18563
18687
|
if (formatTextValue.isError())
|
|
18564
18688
|
return formatTextValue;
|
|
18565
18689
|
if (formatTextValue.isBoolean())
|
|
18566
18690
|
return ErrorValueObject.create(ErrorType$1.VALUE);
|
|
18567
|
-
|
|
18568
|
-
|
|
18691
|
+
if (textValue.isBoolean())
|
|
18692
|
+
return textValue;
|
|
18569
18693
|
let textValueNumber = textValue.getValue();
|
|
18570
|
-
textValue.isNull() && (textValueNumber = 0)
|
|
18571
|
-
|
|
18572
|
-
|
|
18694
|
+
if (textValue.isNull() && (textValueNumber = 0), textValue.isString()) {
|
|
18695
|
+
if (!isRealNum(textValueNumber))
|
|
18696
|
+
return textValue;
|
|
18697
|
+
textValueNumber = Number(textValueNumber);
|
|
18698
|
+
}
|
|
18699
|
+
formatTextValue.isNull() && (formatTextValue = StringValueObject.create(" "));
|
|
18700
|
+
const formatTextValueString = `${formatTextValue.getValue()}`, previewText = getFormatPreview(formatTextValueString, textValueNumber);
|
|
18701
|
+
return StringValueObject.create(formatTextValueString === " " ? previewText.trimEnd() : previewText);
|
|
18573
18702
|
});
|
|
18574
18703
|
}
|
|
18575
18704
|
};
|
|
@@ -18582,8 +18711,6 @@ const _Textafter = class _Textafter extends BaseFunction {
|
|
|
18582
18711
|
__publicField(this, "maxParams", 6);
|
|
18583
18712
|
}
|
|
18584
18713
|
calculate(text, delimiter, instanceNum, matchMode, matchEnd, ifNotFound) {
|
|
18585
|
-
let _delimiter = delimiter;
|
|
18586
|
-
_delimiter.isArray() && (_delimiter = _delimiter.get(0, 0));
|
|
18587
18714
|
let instanceNumIsNull = !1, _instanceNum = instanceNum != null ? instanceNum : NumberValueObject.create(1);
|
|
18588
18715
|
_instanceNum.isNull() && (instanceNumIsNull = !0, _instanceNum = NumberValueObject.create(1));
|
|
18589
18716
|
const onlyThreeVariant = !matchMode, _matchMode = matchMode != null ? matchMode : NumberValueObject.create(0), _matchEnd = matchEnd != null ? matchEnd : NumberValueObject.create(0), _ifNotFound = ifNotFound != null ? ifNotFound : ErrorValueObject.create(ErrorType$1.NA), maxRowLength = Math.max(
|
|
@@ -18598,19 +18725,22 @@ const _Textafter = class _Textafter extends BaseFunction {
|
|
|
18598
18725
|
_matchMode.isArray() ? _matchMode.getColumnCount() : 1,
|
|
18599
18726
|
_matchEnd.isArray() ? _matchEnd.getColumnCount() : 1,
|
|
18600
18727
|
_ifNotFound.isArray() ? _ifNotFound.getColumnCount() : 1
|
|
18601
|
-
), textArray = expandArrayValueObject(maxRowLength, maxColumnLength, text, ErrorValueObject.create(ErrorType$1.NA)), instanceNumArray = expandArrayValueObject(maxRowLength, maxColumnLength, _instanceNum, ErrorValueObject.create(ErrorType$1.NA)), matchModeArray = expandArrayValueObject(maxRowLength, maxColumnLength, _matchMode, ErrorValueObject.create(ErrorType$1.NA)), matchEndArray = expandArrayValueObject(maxRowLength, maxColumnLength, _matchEnd, ErrorValueObject.create(ErrorType$1.NA)), ifNotFoundArray = expandArrayValueObject(maxRowLength, maxColumnLength, _ifNotFound, ErrorValueObject.create(ErrorType$1.NA)), resultArray = this._getResultArray(textArray,
|
|
18728
|
+
), textArray = expandArrayValueObject(maxRowLength, maxColumnLength, text, ErrorValueObject.create(ErrorType$1.NA)), instanceNumArray = expandArrayValueObject(maxRowLength, maxColumnLength, _instanceNum, ErrorValueObject.create(ErrorType$1.NA)), matchModeArray = expandArrayValueObject(maxRowLength, maxColumnLength, _matchMode, ErrorValueObject.create(ErrorType$1.NA)), matchEndArray = expandArrayValueObject(maxRowLength, maxColumnLength, _matchEnd, ErrorValueObject.create(ErrorType$1.NA)), ifNotFoundArray = expandArrayValueObject(maxRowLength, maxColumnLength, _ifNotFound, ErrorValueObject.create(ErrorType$1.NA)), resultArray = this._getResultArray(textArray, delimiter, instanceNumArray, matchModeArray, matchEndArray, ifNotFoundArray, instanceNumIsNull, onlyThreeVariant);
|
|
18602
18729
|
return maxRowLength === 1 && maxColumnLength === 1 ? resultArray.get(0, 0) : resultArray;
|
|
18603
18730
|
}
|
|
18604
|
-
_getResultArray(textArray,
|
|
18731
|
+
_getResultArray(textArray, delimiter, instanceNumArray, matchModeArray, matchEndArray, ifNotFoundArray, instanceNumIsNull, onlyThreeVariant) {
|
|
18605
18732
|
return textArray.map((textObject, rowIndex, columnIndex) => {
|
|
18606
|
-
const instanceNumObject = instanceNumArray.get(rowIndex, columnIndex), matchModeObject = matchModeArray.get(rowIndex, columnIndex), matchEndObject = matchEndArray.get(rowIndex, columnIndex), ifNotFoundObject = ifNotFoundArray.get(rowIndex, columnIndex), _variantsError = this._checkVariantsError(textObject, instanceNumObject, matchModeObject, matchEndObject
|
|
18733
|
+
const instanceNumObject = instanceNumArray.get(rowIndex, columnIndex), matchModeObject = matchModeArray.get(rowIndex, columnIndex), matchEndObject = matchEndArray.get(rowIndex, columnIndex), ifNotFoundObject = ifNotFoundArray.get(rowIndex, columnIndex), _variantsError = this._checkVariantsError(textObject, instanceNumObject, matchModeObject, matchEndObject);
|
|
18607
18734
|
if (_variantsError.isError())
|
|
18608
18735
|
return _variantsError;
|
|
18609
|
-
const textValue = this._getStringValue(textObject), delimiterValue = this.
|
|
18736
|
+
const textValue = this._getStringValue(textObject), delimiterValue = this._getDelimiterValue(delimiter);
|
|
18737
|
+
if (delimiterValue instanceof ErrorValueObject)
|
|
18738
|
+
return delimiterValue;
|
|
18739
|
+
const _variantsNumberFloorValue = this._getVariantsNumberFloorValue(instanceNumObject, matchModeObject, matchEndObject);
|
|
18610
18740
|
if (_variantsNumberFloorValue instanceof ErrorValueObject)
|
|
18611
18741
|
return _variantsNumberFloorValue;
|
|
18612
18742
|
const [instanceNumValue, matchModeValue, matchEndValue] = _variantsNumberFloorValue;
|
|
18613
|
-
return instanceNumValue === 0 || matchModeValue < 0 || matchModeValue > 1 || matchEndValue < 0 || matchEndValue > 1 ? ErrorValueObject.create(ErrorType$1.VALUE) : delimiterValue
|
|
18743
|
+
return instanceNumValue === 0 || matchModeValue < 0 || matchModeValue > 1 || matchEndValue < 0 || matchEndValue > 1 ? ErrorValueObject.create(ErrorType$1.VALUE) : delimiterValue.includes("") ? instanceNumValue > 0 ? StringValueObject.create(textValue) : StringValueObject.create("") : !instanceNumIsNull && Math.abs(instanceNumValue) > textValue.length ? ErrorValueObject.create(ErrorType$1.VALUE) : delimiterValue.every((item) => item.length > textValue.length) ? ErrorValueObject.create(ErrorType$1.NA) : this._getResult(textValue, delimiterValue, instanceNumValue, matchModeValue, matchEndValue, ifNotFoundObject, onlyThreeVariant);
|
|
18614
18744
|
});
|
|
18615
18745
|
}
|
|
18616
18746
|
_checkVariantsError(...variantas) {
|
|
@@ -18625,6 +18755,24 @@ const _Textafter = class _Textafter extends BaseFunction {
|
|
|
18625
18755
|
let value = `${variant.getValue()}`;
|
|
18626
18756
|
return variant.isNull() && (value = ""), variant.isBoolean() && (value = value.toLocaleUpperCase()), value;
|
|
18627
18757
|
}
|
|
18758
|
+
_getDelimiterValue(delimiter) {
|
|
18759
|
+
const delimiterValue = [];
|
|
18760
|
+
if (delimiter.isArray()) {
|
|
18761
|
+
let isError = !1, errorObject = ErrorValueObject.create(ErrorType$1.VALUE);
|
|
18762
|
+
if (delimiter.iterator((delimiterObject) => {
|
|
18763
|
+
const _delimiterObject = delimiterObject;
|
|
18764
|
+
if (_delimiterObject.isError())
|
|
18765
|
+
return isError = !0, errorObject = _delimiterObject, !1;
|
|
18766
|
+
delimiterValue.push(this._getStringValue(_delimiterObject));
|
|
18767
|
+
}), isError)
|
|
18768
|
+
return errorObject;
|
|
18769
|
+
} else {
|
|
18770
|
+
if (delimiter.isError())
|
|
18771
|
+
return delimiter;
|
|
18772
|
+
delimiterValue.push(this._getStringValue(delimiter));
|
|
18773
|
+
}
|
|
18774
|
+
return delimiterValue;
|
|
18775
|
+
}
|
|
18628
18776
|
_getVariantsNumberFloorValue(...variants) {
|
|
18629
18777
|
const values = [];
|
|
18630
18778
|
for (let i = 0; i < variants.length; i++) {
|
|
@@ -18637,23 +18785,32 @@ const _Textafter = class _Textafter extends BaseFunction {
|
|
|
18637
18785
|
return values;
|
|
18638
18786
|
}
|
|
18639
18787
|
_getResult(textValue, delimiterValue, instanceNumValue, matchModeValue, matchEndValue, ifNotFoundObject, onlyThreeVariant) {
|
|
18640
|
-
const matchNum = textValue.match(new RegExp(delimiterValue, `g${matchModeValue ? "i" : ""}`));
|
|
18641
|
-
if (matchNum && matchNum.length < Math.abs(instanceNumValue) && onlyThreeVariant)
|
|
18642
|
-
return ErrorValueObject.create(ErrorType$1.NA);
|
|
18643
|
-
if (!matchNum || matchNum.length < Math.abs(instanceNumValue))
|
|
18644
|
-
return matchEndValue ? instanceNumValue > 0 ? StringValueObject.create("") : StringValueObject.create(textValue) : ifNotFoundObject;
|
|
18645
18788
|
let substrText = matchModeValue ? textValue.toLocaleLowerCase() : textValue;
|
|
18646
|
-
const _delimiterValue = matchModeValue ? delimiterValue.toLocaleLowerCase() : delimiterValue;
|
|
18647
|
-
let resultIndex = 0;
|
|
18789
|
+
const _delimiterValue = matchModeValue ? delimiterValue.map((item) => item.toLocaleLowerCase()) : delimiterValue;
|
|
18790
|
+
let resultIndex = 0, matchNum = 0, preDelimiterLength = 0;
|
|
18648
18791
|
for (let i = 0; i < Math.abs(instanceNumValue); i++)
|
|
18649
18792
|
if (instanceNumValue < 0) {
|
|
18650
|
-
const
|
|
18651
|
-
|
|
18793
|
+
const delimiterItem = _delimiterValue.map((item) => ({
|
|
18794
|
+
index: substrText.lastIndexOf(item),
|
|
18795
|
+
length: item.length
|
|
18796
|
+
})).filter((item) => item.index !== -1).sort((a, b) => b.index - a.index)[0];
|
|
18797
|
+
if (!delimiterItem)
|
|
18798
|
+
break;
|
|
18799
|
+
resultIndex = delimiterItem.index, substrText = substrText.substr(0, delimiterItem.index), preDelimiterLength = delimiterItem.length, matchNum++;
|
|
18652
18800
|
} else {
|
|
18653
|
-
const
|
|
18654
|
-
|
|
18801
|
+
const delimiterItem = _delimiterValue.map((item) => ({
|
|
18802
|
+
index: substrText.indexOf(item),
|
|
18803
|
+
length: item.length
|
|
18804
|
+
})).filter((item) => item.index !== -1).sort((a, b) => a.index - b.index)[0];
|
|
18805
|
+
if (!delimiterItem)
|
|
18806
|
+
break;
|
|
18807
|
+
resultIndex += delimiterItem.index + preDelimiterLength, substrText = substrText.substr(delimiterItem.index + delimiterItem.length), preDelimiterLength = delimiterItem.length, matchNum++;
|
|
18655
18808
|
}
|
|
18656
|
-
|
|
18809
|
+
if (matchNum && matchNum < Math.abs(instanceNumValue) && onlyThreeVariant)
|
|
18810
|
+
return ErrorValueObject.create(ErrorType$1.NA);
|
|
18811
|
+
if (!matchNum || matchNum < Math.abs(instanceNumValue))
|
|
18812
|
+
return matchEndValue ? instanceNumValue > 0 ? StringValueObject.create("") : StringValueObject.create(textValue) : ifNotFoundObject;
|
|
18813
|
+
const result = textValue.substr(resultIndex + preDelimiterLength);
|
|
18657
18814
|
return StringValueObject.create(result);
|
|
18658
18815
|
}
|
|
18659
18816
|
};
|
|
@@ -18666,8 +18823,6 @@ const _Textbefore = class _Textbefore extends BaseFunction {
|
|
|
18666
18823
|
__publicField(this, "maxParams", 6);
|
|
18667
18824
|
}
|
|
18668
18825
|
calculate(text, delimiter, instanceNum, matchMode, matchEnd, ifNotFound) {
|
|
18669
|
-
let _delimiter = delimiter;
|
|
18670
|
-
_delimiter.isArray() && (_delimiter = _delimiter.get(0, 0));
|
|
18671
18826
|
let instanceNumIsNull = !1, _instanceNum = instanceNum != null ? instanceNum : NumberValueObject.create(1);
|
|
18672
18827
|
_instanceNum.isNull() && (instanceNumIsNull = !0, _instanceNum = NumberValueObject.create(1));
|
|
18673
18828
|
const onlyThreeVariant = !matchMode, _matchMode = matchMode != null ? matchMode : NumberValueObject.create(0), _matchEnd = matchEnd != null ? matchEnd : NumberValueObject.create(0), _ifNotFound = ifNotFound != null ? ifNotFound : ErrorValueObject.create(ErrorType$1.NA), maxRowLength = Math.max(
|
|
@@ -18682,19 +18837,22 @@ const _Textbefore = class _Textbefore extends BaseFunction {
|
|
|
18682
18837
|
_matchMode.isArray() ? _matchMode.getColumnCount() : 1,
|
|
18683
18838
|
_matchEnd.isArray() ? _matchEnd.getColumnCount() : 1,
|
|
18684
18839
|
_ifNotFound.isArray() ? _ifNotFound.getColumnCount() : 1
|
|
18685
|
-
), textArray = expandArrayValueObject(maxRowLength, maxColumnLength, text, ErrorValueObject.create(ErrorType$1.NA)), instanceNumArray = expandArrayValueObject(maxRowLength, maxColumnLength, _instanceNum, ErrorValueObject.create(ErrorType$1.NA)), matchModeArray = expandArrayValueObject(maxRowLength, maxColumnLength, _matchMode, ErrorValueObject.create(ErrorType$1.NA)), matchEndArray = expandArrayValueObject(maxRowLength, maxColumnLength, _matchEnd, ErrorValueObject.create(ErrorType$1.NA)), ifNotFoundArray = expandArrayValueObject(maxRowLength, maxColumnLength, _ifNotFound, ErrorValueObject.create(ErrorType$1.NA)), resultArray = this._getResultArray(textArray,
|
|
18840
|
+
), textArray = expandArrayValueObject(maxRowLength, maxColumnLength, text, ErrorValueObject.create(ErrorType$1.NA)), instanceNumArray = expandArrayValueObject(maxRowLength, maxColumnLength, _instanceNum, ErrorValueObject.create(ErrorType$1.NA)), matchModeArray = expandArrayValueObject(maxRowLength, maxColumnLength, _matchMode, ErrorValueObject.create(ErrorType$1.NA)), matchEndArray = expandArrayValueObject(maxRowLength, maxColumnLength, _matchEnd, ErrorValueObject.create(ErrorType$1.NA)), ifNotFoundArray = expandArrayValueObject(maxRowLength, maxColumnLength, _ifNotFound, ErrorValueObject.create(ErrorType$1.NA)), resultArray = this._getResultArray(textArray, delimiter, instanceNumArray, matchModeArray, matchEndArray, ifNotFoundArray, instanceNumIsNull, onlyThreeVariant);
|
|
18686
18841
|
return maxRowLength === 1 && maxColumnLength === 1 ? resultArray.get(0, 0) : resultArray;
|
|
18687
18842
|
}
|
|
18688
|
-
_getResultArray(textArray,
|
|
18843
|
+
_getResultArray(textArray, delimiter, instanceNumArray, matchModeArray, matchEndArray, ifNotFoundArray, instanceNumIsNull, onlyThreeVariant) {
|
|
18689
18844
|
return textArray.map((textObject, rowIndex, columnIndex) => {
|
|
18690
|
-
const instanceNumObject = instanceNumArray.get(rowIndex, columnIndex), matchModeObject = matchModeArray.get(rowIndex, columnIndex), matchEndObject = matchEndArray.get(rowIndex, columnIndex), ifNotFoundObject = ifNotFoundArray.get(rowIndex, columnIndex), _variantsError = this._checkVariantsError(textObject, instanceNumObject, matchModeObject, matchEndObject
|
|
18845
|
+
const instanceNumObject = instanceNumArray.get(rowIndex, columnIndex), matchModeObject = matchModeArray.get(rowIndex, columnIndex), matchEndObject = matchEndArray.get(rowIndex, columnIndex), ifNotFoundObject = ifNotFoundArray.get(rowIndex, columnIndex), _variantsError = this._checkVariantsError(textObject, instanceNumObject, matchModeObject, matchEndObject);
|
|
18691
18846
|
if (_variantsError.isError())
|
|
18692
18847
|
return _variantsError;
|
|
18693
|
-
const textValue = this._getStringValue(textObject), delimiterValue = this.
|
|
18848
|
+
const textValue = this._getStringValue(textObject), delimiterValue = this._getDelimiterValue(delimiter);
|
|
18849
|
+
if (delimiterValue instanceof ErrorValueObject)
|
|
18850
|
+
return delimiterValue;
|
|
18851
|
+
const _variantsNumberFloorValue = this._getVariantsNumberFloorValue(instanceNumObject, matchModeObject, matchEndObject);
|
|
18694
18852
|
if (_variantsNumberFloorValue instanceof ErrorValueObject)
|
|
18695
18853
|
return _variantsNumberFloorValue;
|
|
18696
18854
|
const [instanceNumValue, matchModeValue, matchEndValue] = _variantsNumberFloorValue;
|
|
18697
|
-
return instanceNumValue === 0 || matchModeValue < 0 || matchModeValue > 1 || matchEndValue < 0 || matchEndValue > 1 ? ErrorValueObject.create(ErrorType$1.VALUE) : delimiterValue
|
|
18855
|
+
return instanceNumValue === 0 || matchModeValue < 0 || matchModeValue > 1 || matchEndValue < 0 || matchEndValue > 1 ? ErrorValueObject.create(ErrorType$1.VALUE) : delimiterValue.includes("") ? instanceNumValue > 0 ? StringValueObject.create("") : StringValueObject.create(textValue) : !instanceNumIsNull && Math.abs(instanceNumValue) > textValue.length ? ErrorValueObject.create(ErrorType$1.VALUE) : delimiterValue.every((item) => item.length > textValue.length) ? ErrorValueObject.create(ErrorType$1.NA) : this._getResult(textValue, delimiterValue, instanceNumValue, matchModeValue, matchEndValue, ifNotFoundObject, onlyThreeVariant);
|
|
18698
18856
|
});
|
|
18699
18857
|
}
|
|
18700
18858
|
_checkVariantsError(...variantas) {
|
|
@@ -18709,6 +18867,24 @@ const _Textbefore = class _Textbefore extends BaseFunction {
|
|
|
18709
18867
|
let value = `${variant.getValue()}`;
|
|
18710
18868
|
return variant.isNull() && (value = ""), variant.isBoolean() && (value = value.toLocaleUpperCase()), value;
|
|
18711
18869
|
}
|
|
18870
|
+
_getDelimiterValue(delimiter) {
|
|
18871
|
+
const delimiterValue = [];
|
|
18872
|
+
if (delimiter.isArray()) {
|
|
18873
|
+
let isError = !1, errorObject = ErrorValueObject.create(ErrorType$1.VALUE);
|
|
18874
|
+
if (delimiter.iterator((delimiterObject) => {
|
|
18875
|
+
const _delimiterObject = delimiterObject;
|
|
18876
|
+
if (_delimiterObject.isError())
|
|
18877
|
+
return isError = !0, errorObject = _delimiterObject, !1;
|
|
18878
|
+
delimiterValue.push(this._getStringValue(_delimiterObject));
|
|
18879
|
+
}), isError)
|
|
18880
|
+
return errorObject;
|
|
18881
|
+
} else {
|
|
18882
|
+
if (delimiter.isError())
|
|
18883
|
+
return delimiter;
|
|
18884
|
+
delimiterValue.push(this._getStringValue(delimiter));
|
|
18885
|
+
}
|
|
18886
|
+
return delimiterValue;
|
|
18887
|
+
}
|
|
18712
18888
|
_getVariantsNumberFloorValue(...variants) {
|
|
18713
18889
|
const values = [];
|
|
18714
18890
|
for (let i = 0; i < variants.length; i++) {
|
|
@@ -18721,22 +18897,31 @@ const _Textbefore = class _Textbefore extends BaseFunction {
|
|
|
18721
18897
|
return values;
|
|
18722
18898
|
}
|
|
18723
18899
|
_getResult(textValue, delimiterValue, instanceNumValue, matchModeValue, matchEndValue, ifNotFoundObject, onlyThreeVariant) {
|
|
18724
|
-
const matchNum = textValue.match(new RegExp(delimiterValue, `g${matchModeValue ? "i" : ""}`));
|
|
18725
|
-
if (matchNum && matchNum.length < Math.abs(instanceNumValue) && onlyThreeVariant)
|
|
18726
|
-
return ErrorValueObject.create(ErrorType$1.NA);
|
|
18727
|
-
if (!matchNum || matchNum.length < Math.abs(instanceNumValue))
|
|
18728
|
-
return matchEndValue ? instanceNumValue > 0 ? StringValueObject.create(textValue) : StringValueObject.create("") : ifNotFoundObject;
|
|
18729
18900
|
let substrText = matchModeValue ? textValue.toLocaleLowerCase() : textValue;
|
|
18730
|
-
const _delimiterValue = matchModeValue ? delimiterValue.toLocaleLowerCase() : delimiterValue;
|
|
18731
|
-
let resultIndex = 0;
|
|
18901
|
+
const _delimiterValue = matchModeValue ? delimiterValue.map((item) => item.toLocaleLowerCase()) : delimiterValue;
|
|
18902
|
+
let resultIndex = 0, matchNum = 0, preDelimiterLength = 0;
|
|
18732
18903
|
for (let i = 0; i < Math.abs(instanceNumValue); i++)
|
|
18733
18904
|
if (instanceNumValue < 0) {
|
|
18734
|
-
const
|
|
18735
|
-
|
|
18905
|
+
const delimiterItem = _delimiterValue.map((item) => ({
|
|
18906
|
+
index: substrText.lastIndexOf(item),
|
|
18907
|
+
length: item.length
|
|
18908
|
+
})).filter((item) => item.index !== -1).sort((a, b) => b.index - a.index)[0];
|
|
18909
|
+
if (!delimiterItem)
|
|
18910
|
+
break;
|
|
18911
|
+
resultIndex = delimiterItem.index, substrText = substrText.substr(0, delimiterItem.index), matchNum++;
|
|
18736
18912
|
} else {
|
|
18737
|
-
const
|
|
18738
|
-
|
|
18913
|
+
const delimiterItem = _delimiterValue.map((item) => ({
|
|
18914
|
+
index: substrText.indexOf(item),
|
|
18915
|
+
length: item.length
|
|
18916
|
+
})).filter((item) => item.index !== -1).sort((a, b) => a.index - b.index)[0];
|
|
18917
|
+
if (!delimiterItem)
|
|
18918
|
+
break;
|
|
18919
|
+
resultIndex += delimiterItem.index + preDelimiterLength, substrText = substrText.substr(delimiterItem.index + delimiterItem.length), preDelimiterLength = delimiterItem.length, matchNum++;
|
|
18739
18920
|
}
|
|
18921
|
+
if (matchNum && matchNum < Math.abs(instanceNumValue) && onlyThreeVariant)
|
|
18922
|
+
return ErrorValueObject.create(ErrorType$1.NA);
|
|
18923
|
+
if (!matchNum || matchNum < Math.abs(instanceNumValue))
|
|
18924
|
+
return matchEndValue ? instanceNumValue > 0 ? StringValueObject.create(textValue) : StringValueObject.create("") : ifNotFoundObject;
|
|
18740
18925
|
const result = textValue.substr(0, resultIndex);
|
|
18741
18926
|
return StringValueObject.create(result);
|
|
18742
18927
|
}
|
|
@@ -18751,7 +18936,7 @@ const _Textsplit = class _Textsplit extends BaseFunction {
|
|
|
18751
18936
|
}
|
|
18752
18937
|
calculate(text, colDelimiter, rowDelimiter, ignoreEmpty, matchMode, padWith) {
|
|
18753
18938
|
let _rowDelimiter = rowDelimiter != null ? rowDelimiter : StringValueObject.create("\\s");
|
|
18754
|
-
const _ignoreEmpty = ignoreEmpty != null ? ignoreEmpty : NumberValueObject.create(0), _matchMode = matchMode != null ? matchMode : NumberValueObject.create(0), _padWith = padWith != null ? padWith : StringValueObject.create(ErrorType$1.NA), { _variant: _colDelimiter, values: colDelimiterValue } = this._getStringValues(colDelimiter), { _variant, values: rowDelimiterValue } = this._getStringValues(_rowDelimiter);
|
|
18939
|
+
const _ignoreEmpty = ignoreEmpty != null ? ignoreEmpty : NumberValueObject.create(0), _matchMode = matchMode != null ? matchMode : NumberValueObject.create(0), _padWith = padWith != null ? padWith : StringValueObject.create(ErrorType$1.NA), { _variant: _colDelimiter, values: colDelimiterValue } = this._getStringValues(colDelimiter), { _variant, values: rowDelimiterValue } = this._getStringValues(_rowDelimiter, !1);
|
|
18755
18940
|
_rowDelimiter = _variant;
|
|
18756
18941
|
const maxRowLength = Math.max(
|
|
18757
18942
|
text.isArray() ? text.getRowCount() : 1,
|
|
@@ -18773,14 +18958,14 @@ const _Textsplit = class _Textsplit extends BaseFunction {
|
|
|
18773
18958
|
);
|
|
18774
18959
|
return maxRowLength === 1 && maxColumnLength === 1 ? resultArray.get(0, 0) : resultArray.map((item) => item.get(0, 0));
|
|
18775
18960
|
}
|
|
18776
|
-
_getStringValues(variant) {
|
|
18961
|
+
_getStringValues(variant, isNotNull = !0) {
|
|
18777
18962
|
let _variant = variant;
|
|
18778
18963
|
const values = [];
|
|
18779
18964
|
if (_variant.isArray())
|
|
18780
18965
|
_variant.iterator((variantObject) => {
|
|
18781
18966
|
if (variantObject != null && variantObject.isError())
|
|
18782
18967
|
return _variant = variantObject, !1;
|
|
18783
|
-
if (variantObject != null && variantObject.isNull())
|
|
18968
|
+
if (variantObject != null && variantObject.isNull() && isNotNull)
|
|
18784
18969
|
return _variant = ErrorValueObject.create(ErrorType$1.VALUE), !1;
|
|
18785
18970
|
const value = this._getRegExpStringValue(variantObject);
|
|
18786
18971
|
if (value === "")
|
|
@@ -18788,6 +18973,7 @@ const _Textsplit = class _Textsplit extends BaseFunction {
|
|
|
18788
18973
|
values.push(value);
|
|
18789
18974
|
});
|
|
18790
18975
|
else {
|
|
18976
|
+
_variant.isNull() && isNotNull && (_variant = ErrorValueObject.create(ErrorType$1.VALUE));
|
|
18791
18977
|
const value = this._getRegExpStringValue(_variant);
|
|
18792
18978
|
value === "" && (_variant = ErrorValueObject.create(ErrorType$1.VALUE)), values.push(value);
|
|
18793
18979
|
}
|
|
@@ -18859,11 +19045,13 @@ const functionText = [
|
|
|
18859
19045
|
[Len, FUNCTION_NAMES_TEXT.LEN],
|
|
18860
19046
|
[Lenb, FUNCTION_NAMES_TEXT.LENB],
|
|
18861
19047
|
[Lower, FUNCTION_NAMES_TEXT.LOWER],
|
|
19048
|
+
[Mid, FUNCTION_NAMES_TEXT.MID],
|
|
18862
19049
|
[Rept, FUNCTION_NAMES_TEXT.REPT],
|
|
18863
19050
|
[Text, FUNCTION_NAMES_TEXT.TEXT],
|
|
18864
19051
|
[Textafter, FUNCTION_NAMES_TEXT.TEXTAFTER],
|
|
18865
19052
|
[Textbefore, FUNCTION_NAMES_TEXT.TEXTBEFORE],
|
|
18866
|
-
[Textsplit, FUNCTION_NAMES_TEXT.TEXTSPLIT]
|
|
19053
|
+
[Textsplit, FUNCTION_NAMES_TEXT.TEXTSPLIT],
|
|
19054
|
+
[Leftb, FUNCTION_NAMES_TEXT.LEFTB]
|
|
18867
19055
|
], functionUniver = [];
|
|
18868
19056
|
var FUNCTION_NAMES_UNIVER = /* @__PURE__ */ ((FUNCTION_NAMES_UNIVER2) => FUNCTION_NAMES_UNIVER2)(FUNCTION_NAMES_UNIVER || {});
|
|
18869
19057
|
const functionWeb = [];
|