@fileverse-dev/formulajs 4.4.12-mod-2 → 4.4.12-mod-3-patch-1
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 +230 -77
- package/lib/browser/formula.min.js +2 -2
- package/lib/browser/formula.min.js.map +1 -1
- package/lib/cjs/index.cjs +157 -21
- package/lib/esm/crypto-constants.mjs +29 -1
- package/lib/esm/index.mjs +157 -22
- package/package.json +1 -1
- package/types/cjs/index.d.cts +2 -1
- package/types/esm/index.d.mts +2 -1
package/lib/cjs/index.cjs
CHANGED
|
@@ -1271,6 +1271,7 @@ function ROWS(array) {
|
|
|
1271
1271
|
* @returns
|
|
1272
1272
|
*/
|
|
1273
1273
|
function SORT(array, sort_index = 1, sort_order = 1, by_col = false) {
|
|
1274
|
+
// Accept multiple sort keys like Google Sheets: SORT(range, sort_column, is_ascending, [sort_column2, is_ascending2, ...])
|
|
1274
1275
|
if (!array || !Array.isArray(array)) {
|
|
1275
1276
|
return na
|
|
1276
1277
|
}
|
|
@@ -1279,37 +1280,104 @@ function SORT(array, sort_index = 1, sort_order = 1, by_col = false) {
|
|
|
1279
1280
|
return 0
|
|
1280
1281
|
}
|
|
1281
1282
|
|
|
1282
|
-
|
|
1283
|
-
if (
|
|
1284
|
-
return
|
|
1283
|
+
by_col = parseBool(by_col);
|
|
1284
|
+
if (typeof by_col !== 'boolean') {
|
|
1285
|
+
return name
|
|
1285
1286
|
}
|
|
1286
1287
|
|
|
1287
|
-
|
|
1288
|
-
|
|
1288
|
+
// Collect sort keys (index and order). First key comes from sort_index/sort_order.
|
|
1289
|
+
const sortKeys = [];
|
|
1290
|
+
|
|
1291
|
+
const normalizeOrder = (o) => {
|
|
1292
|
+
// Try boolean first (TRUE -> ascending)
|
|
1293
|
+
const b = parseBool(o);
|
|
1294
|
+
if (typeof b === 'boolean') {
|
|
1295
|
+
return b ? 1 : -1
|
|
1296
|
+
}
|
|
1297
|
+
|
|
1298
|
+
const n = parseNumber(o);
|
|
1299
|
+
if (n === 1 || n === -1) {
|
|
1300
|
+
return n
|
|
1301
|
+
}
|
|
1302
|
+
|
|
1303
|
+
return null
|
|
1304
|
+
};
|
|
1305
|
+
|
|
1306
|
+
const firstIndex = parseNumber(sort_index);
|
|
1307
|
+
if (!firstIndex || firstIndex < 1) {
|
|
1289
1308
|
return value
|
|
1290
1309
|
}
|
|
1291
1310
|
|
|
1292
|
-
|
|
1293
|
-
if (
|
|
1294
|
-
return
|
|
1311
|
+
const firstOrder = normalizeOrder(sort_order);
|
|
1312
|
+
if (firstOrder === null) {
|
|
1313
|
+
return value
|
|
1295
1314
|
}
|
|
1296
1315
|
|
|
1297
|
-
|
|
1298
|
-
arr.sort((a, b) => {
|
|
1299
|
-
a = parseString(a[sort_index - 1]);
|
|
1300
|
-
b = parseString(b[sort_index - 1]);
|
|
1316
|
+
sortKeys.push({ index: firstIndex, order: firstOrder });
|
|
1301
1317
|
|
|
1302
|
-
|
|
1303
|
-
|
|
1318
|
+
// Additional args may contain more sort_index/sort_order pairs
|
|
1319
|
+
if (arguments.length > 4) {
|
|
1320
|
+
// arguments: 0=array,1=sort_index,2=sort_order,3=by_col,4=nextIndex,5=nextOrder,...
|
|
1321
|
+
for (let i = 4; i < arguments.length; i += 2) {
|
|
1322
|
+
const idx = parseNumber(arguments[i]);
|
|
1323
|
+
if (!idx || idx < 1) {
|
|
1324
|
+
return value
|
|
1325
|
+
}
|
|
1326
|
+
|
|
1327
|
+
const ordArg = i + 1 < arguments.length ? arguments[i + 1] : 1;
|
|
1328
|
+
const ord = normalizeOrder(ordArg);
|
|
1329
|
+
if (ord === null) {
|
|
1330
|
+
return value
|
|
1331
|
+
}
|
|
1332
|
+
|
|
1333
|
+
sortKeys.push({ index: idx, order: ord });
|
|
1334
|
+
}
|
|
1335
|
+
}
|
|
1304
1336
|
|
|
1305
1337
|
const matrix = fillMatrix(array);
|
|
1306
|
-
const
|
|
1338
|
+
const working = by_col ? transpose(matrix) : matrix;
|
|
1339
|
+
|
|
1340
|
+
// Validate that all sort indexes are within column bounds
|
|
1341
|
+
const numCols = working[0] ? working[0].length : 0;
|
|
1342
|
+
for (const k of sortKeys) {
|
|
1343
|
+
if (k.index < 1 || k.index > numCols) {
|
|
1344
|
+
return value
|
|
1345
|
+
}
|
|
1346
|
+
}
|
|
1347
|
+
|
|
1348
|
+
const parseForCompare = (val) => {
|
|
1349
|
+
// Preserve numbers when possible
|
|
1350
|
+
if (typeof val === 'number') return val
|
|
1351
|
+
const num = parseNumber(val);
|
|
1352
|
+
if (typeof num === 'number' && !Number.isNaN(num)) return num
|
|
1353
|
+
return parseString(val)
|
|
1354
|
+
};
|
|
1355
|
+
|
|
1356
|
+
const comparator = (aRow, bRow) => {
|
|
1357
|
+
for (const k of sortKeys) {
|
|
1358
|
+
const aVal = parseForCompare(aRow[k.index - 1]);
|
|
1359
|
+
const bVal = parseForCompare(bRow[k.index - 1]);
|
|
1360
|
+
|
|
1361
|
+
if (aVal === bVal) continue
|
|
1362
|
+
|
|
1363
|
+
// Numeric comparison if both are numbers
|
|
1364
|
+
if (typeof aVal === 'number' && typeof bVal === 'number') {
|
|
1365
|
+
return (aVal < bVal ? -1 : 1) * k.order
|
|
1366
|
+
}
|
|
1367
|
+
|
|
1368
|
+
// String comparison
|
|
1369
|
+
const aStr = String(aVal).toLowerCase();
|
|
1370
|
+
const bStr = String(bVal).toLowerCase();
|
|
1371
|
+
return aStr.localeCompare(bStr) * k.order
|
|
1372
|
+
}
|
|
1373
|
+
|
|
1374
|
+
return 0
|
|
1375
|
+
};
|
|
1376
|
+
|
|
1377
|
+
// Sort in-place and return
|
|
1378
|
+
working.sort(comparator);
|
|
1307
1379
|
|
|
1308
|
-
return
|
|
1309
|
-
? by_col
|
|
1310
|
-
? transpose(sortArray(result))
|
|
1311
|
-
: sortArray(result)
|
|
1312
|
-
: value
|
|
1380
|
+
return by_col ? transpose(working) : working
|
|
1313
1381
|
}
|
|
1314
1382
|
|
|
1315
1383
|
/**
|
|
@@ -18508,7 +18576,74 @@ async function TALLY() {
|
|
|
18508
18576
|
}
|
|
18509
18577
|
}
|
|
18510
18578
|
|
|
18511
|
-
|
|
18579
|
+
const duneSimParamsSchema = objectType({
|
|
18580
|
+
wallet: stringType().nonempty(),
|
|
18581
|
+
type: enumType(['activity']),
|
|
18582
|
+
});
|
|
18583
|
+
|
|
18584
|
+
function flattenObject(obj, parentKey = '', res = {}) {
|
|
18585
|
+
for (let key in obj) {
|
|
18586
|
+
if (!Object.prototype.hasOwnProperty.call(obj, key)) continue;
|
|
18587
|
+
const newKey = parentKey ? `${parentKey}_${key}` : key;
|
|
18588
|
+
|
|
18589
|
+
if (typeof obj[key] === 'object' && obj[key] !== null && !Array.isArray(obj[key])) {
|
|
18590
|
+
flattenObject(obj[key], newKey, res);
|
|
18591
|
+
} else if (Array.isArray(obj[key])) {
|
|
18592
|
+
obj[key].forEach((val, i) => {
|
|
18593
|
+
if (typeof val === 'object' && val !== null) {
|
|
18594
|
+
flattenObject(val, `${newKey}_${i}`, res);
|
|
18595
|
+
} else {
|
|
18596
|
+
res[`${newKey}_${i}`] = val;
|
|
18597
|
+
}
|
|
18598
|
+
});
|
|
18599
|
+
} else {
|
|
18600
|
+
res[newKey] = obj[key];
|
|
18601
|
+
}
|
|
18602
|
+
}
|
|
18603
|
+
return res;
|
|
18604
|
+
}
|
|
18605
|
+
|
|
18606
|
+
/* global window */
|
|
18607
|
+
|
|
18608
|
+
|
|
18609
|
+
|
|
18610
|
+
|
|
18611
|
+
|
|
18612
|
+
|
|
18613
|
+
|
|
18614
|
+
async function DUNESIM() {
|
|
18615
|
+
try {
|
|
18616
|
+
const [type, wallet] = argsToArray(arguments);
|
|
18617
|
+
|
|
18618
|
+
validateParams(duneSimParamsSchema, { wallet, type });
|
|
18619
|
+
const address = await fromEnsNameToAddress$1.validateAndGetAddress(wallet);
|
|
18620
|
+
const apiKey = window.localStorage.getItem(SERVICES_API_KEY.DuneSim);
|
|
18621
|
+
const url = `https://api.sim.dune.com/v1/evm/activity/${address}`;
|
|
18622
|
+
|
|
18623
|
+
const { URL: finalUrl, HEADERS } = getUrlAndHeaders({
|
|
18624
|
+
url: url, serviceName: 'DuneSim',
|
|
18625
|
+
headers: {
|
|
18626
|
+
'X-Sim-Api-Key': apiKey,
|
|
18627
|
+
}
|
|
18628
|
+
|
|
18629
|
+
});
|
|
18630
|
+
|
|
18631
|
+
const response = await fetch(finalUrl, {
|
|
18632
|
+
method: 'GET',
|
|
18633
|
+
headers: HEADERS,
|
|
18634
|
+
});
|
|
18635
|
+
if (!response.ok) {
|
|
18636
|
+
throw new NetworkError(SERVICES_API_KEY.DuneSim, response.status)
|
|
18637
|
+
}
|
|
18638
|
+
|
|
18639
|
+
const json = await response.json();
|
|
18640
|
+
const activity = json?.activity || [];
|
|
18641
|
+
return activity.map((item) => flattenObject(item))
|
|
18642
|
+
} catch (err) {
|
|
18643
|
+
return errorMessageHandler(err, 'DUNESIM')
|
|
18644
|
+
}
|
|
18645
|
+
}
|
|
18646
|
+
|
|
18512
18647
|
// export {GNOSISPAY} from './gnosispay/gnosispay.js'
|
|
18513
18648
|
|
|
18514
18649
|
|
|
@@ -18661,6 +18796,7 @@ exports.DPRODUCT = DPRODUCT;
|
|
|
18661
18796
|
exports.DSTDEV = DSTDEV;
|
|
18662
18797
|
exports.DSTDEVP = DSTDEVP;
|
|
18663
18798
|
exports.DSUM = DSUM;
|
|
18799
|
+
exports.DUNESIM = DUNESIM;
|
|
18664
18800
|
exports.DVAR = DVAR;
|
|
18665
18801
|
exports.DVARP = DVARP;
|
|
18666
18802
|
exports.EDATE = EDATE;
|
|
@@ -875,6 +875,34 @@ var TALLY_metadata = {
|
|
|
875
875
|
]
|
|
876
876
|
};
|
|
877
877
|
|
|
878
|
+
// src/crypto/dune-sim/metadata.js
|
|
879
|
+
var DUNESIM_metadata = {
|
|
880
|
+
API_KEY: SERVICES_API_KEY.DuneSim,
|
|
881
|
+
LOGO: "https://t0.gstatic.com/faviconV2?client=SOCIAL&type=FAVICON&fallback_opts=TYPE,SIZE,URL&url=https://docs.sim.dune.com&size=32",
|
|
882
|
+
BRAND_COLOR: "#fef7f5",
|
|
883
|
+
BRAND_SECONDARY_COLOR: "#f9ab99",
|
|
884
|
+
n: "DUNESIM",
|
|
885
|
+
t: 20,
|
|
886
|
+
d: "Query Sim APIs for blockchain activity and ownership data.",
|
|
887
|
+
a: "Query Sim APIs for blockchain activity and ownership data.",
|
|
888
|
+
p: [
|
|
889
|
+
{
|
|
890
|
+
name: "type",
|
|
891
|
+
detail: "Query type. We support only `activity` for now.",
|
|
892
|
+
example: `"activity"`,
|
|
893
|
+
require: "m",
|
|
894
|
+
type: "string"
|
|
895
|
+
},
|
|
896
|
+
{
|
|
897
|
+
name: "wallet",
|
|
898
|
+
detail: "Wallet to get activity for",
|
|
899
|
+
example: `"vitalik.eth"`,
|
|
900
|
+
require: "m",
|
|
901
|
+
type: "string"
|
|
902
|
+
}
|
|
903
|
+
]
|
|
904
|
+
};
|
|
905
|
+
|
|
878
906
|
// src/crypto/crypto-metadata.js
|
|
879
907
|
var FUNCTION_LOCALE = [
|
|
880
908
|
EOA_metadata,
|
|
@@ -894,7 +922,7 @@ var FUNCTION_LOCALE = [
|
|
|
894
922
|
Neynar_metadata,
|
|
895
923
|
SMARTCONTRACT_metadata,
|
|
896
924
|
TALLY_metadata,
|
|
897
|
-
|
|
925
|
+
DUNESIM_metadata,
|
|
898
926
|
// GNOSISPAY_metadata,
|
|
899
927
|
{
|
|
900
928
|
LOGO: "https://raw.githubusercontent.com/mritunjayz/github-storage/refs/heads/main/ploymarket.png",
|
package/lib/esm/index.mjs
CHANGED
|
@@ -1269,6 +1269,7 @@ function ROWS(array) {
|
|
|
1269
1269
|
* @returns
|
|
1270
1270
|
*/
|
|
1271
1271
|
function SORT(array, sort_index = 1, sort_order = 1, by_col = false) {
|
|
1272
|
+
// Accept multiple sort keys like Google Sheets: SORT(range, sort_column, is_ascending, [sort_column2, is_ascending2, ...])
|
|
1272
1273
|
if (!array || !Array.isArray(array)) {
|
|
1273
1274
|
return na
|
|
1274
1275
|
}
|
|
@@ -1277,37 +1278,104 @@ function SORT(array, sort_index = 1, sort_order = 1, by_col = false) {
|
|
|
1277
1278
|
return 0
|
|
1278
1279
|
}
|
|
1279
1280
|
|
|
1280
|
-
|
|
1281
|
-
if (
|
|
1282
|
-
return
|
|
1281
|
+
by_col = parseBool(by_col);
|
|
1282
|
+
if (typeof by_col !== 'boolean') {
|
|
1283
|
+
return name
|
|
1283
1284
|
}
|
|
1284
1285
|
|
|
1285
|
-
|
|
1286
|
-
|
|
1286
|
+
// Collect sort keys (index and order). First key comes from sort_index/sort_order.
|
|
1287
|
+
const sortKeys = [];
|
|
1288
|
+
|
|
1289
|
+
const normalizeOrder = (o) => {
|
|
1290
|
+
// Try boolean first (TRUE -> ascending)
|
|
1291
|
+
const b = parseBool(o);
|
|
1292
|
+
if (typeof b === 'boolean') {
|
|
1293
|
+
return b ? 1 : -1
|
|
1294
|
+
}
|
|
1295
|
+
|
|
1296
|
+
const n = parseNumber(o);
|
|
1297
|
+
if (n === 1 || n === -1) {
|
|
1298
|
+
return n
|
|
1299
|
+
}
|
|
1300
|
+
|
|
1301
|
+
return null
|
|
1302
|
+
};
|
|
1303
|
+
|
|
1304
|
+
const firstIndex = parseNumber(sort_index);
|
|
1305
|
+
if (!firstIndex || firstIndex < 1) {
|
|
1287
1306
|
return value
|
|
1288
1307
|
}
|
|
1289
1308
|
|
|
1290
|
-
|
|
1291
|
-
if (
|
|
1292
|
-
return
|
|
1309
|
+
const firstOrder = normalizeOrder(sort_order);
|
|
1310
|
+
if (firstOrder === null) {
|
|
1311
|
+
return value
|
|
1293
1312
|
}
|
|
1294
1313
|
|
|
1295
|
-
|
|
1296
|
-
arr.sort((a, b) => {
|
|
1297
|
-
a = parseString(a[sort_index - 1]);
|
|
1298
|
-
b = parseString(b[sort_index - 1]);
|
|
1314
|
+
sortKeys.push({ index: firstIndex, order: firstOrder });
|
|
1299
1315
|
|
|
1300
|
-
|
|
1301
|
-
|
|
1316
|
+
// Additional args may contain more sort_index/sort_order pairs
|
|
1317
|
+
if (arguments.length > 4) {
|
|
1318
|
+
// arguments: 0=array,1=sort_index,2=sort_order,3=by_col,4=nextIndex,5=nextOrder,...
|
|
1319
|
+
for (let i = 4; i < arguments.length; i += 2) {
|
|
1320
|
+
const idx = parseNumber(arguments[i]);
|
|
1321
|
+
if (!idx || idx < 1) {
|
|
1322
|
+
return value
|
|
1323
|
+
}
|
|
1324
|
+
|
|
1325
|
+
const ordArg = i + 1 < arguments.length ? arguments[i + 1] : 1;
|
|
1326
|
+
const ord = normalizeOrder(ordArg);
|
|
1327
|
+
if (ord === null) {
|
|
1328
|
+
return value
|
|
1329
|
+
}
|
|
1330
|
+
|
|
1331
|
+
sortKeys.push({ index: idx, order: ord });
|
|
1332
|
+
}
|
|
1333
|
+
}
|
|
1302
1334
|
|
|
1303
1335
|
const matrix = fillMatrix(array);
|
|
1304
|
-
const
|
|
1336
|
+
const working = by_col ? transpose(matrix) : matrix;
|
|
1337
|
+
|
|
1338
|
+
// Validate that all sort indexes are within column bounds
|
|
1339
|
+
const numCols = working[0] ? working[0].length : 0;
|
|
1340
|
+
for (const k of sortKeys) {
|
|
1341
|
+
if (k.index < 1 || k.index > numCols) {
|
|
1342
|
+
return value
|
|
1343
|
+
}
|
|
1344
|
+
}
|
|
1345
|
+
|
|
1346
|
+
const parseForCompare = (val) => {
|
|
1347
|
+
// Preserve numbers when possible
|
|
1348
|
+
if (typeof val === 'number') return val
|
|
1349
|
+
const num = parseNumber(val);
|
|
1350
|
+
if (typeof num === 'number' && !Number.isNaN(num)) return num
|
|
1351
|
+
return parseString(val)
|
|
1352
|
+
};
|
|
1353
|
+
|
|
1354
|
+
const comparator = (aRow, bRow) => {
|
|
1355
|
+
for (const k of sortKeys) {
|
|
1356
|
+
const aVal = parseForCompare(aRow[k.index - 1]);
|
|
1357
|
+
const bVal = parseForCompare(bRow[k.index - 1]);
|
|
1358
|
+
|
|
1359
|
+
if (aVal === bVal) continue
|
|
1360
|
+
|
|
1361
|
+
// Numeric comparison if both are numbers
|
|
1362
|
+
if (typeof aVal === 'number' && typeof bVal === 'number') {
|
|
1363
|
+
return (aVal < bVal ? -1 : 1) * k.order
|
|
1364
|
+
}
|
|
1365
|
+
|
|
1366
|
+
// String comparison
|
|
1367
|
+
const aStr = String(aVal).toLowerCase();
|
|
1368
|
+
const bStr = String(bVal).toLowerCase();
|
|
1369
|
+
return aStr.localeCompare(bStr) * k.order
|
|
1370
|
+
}
|
|
1371
|
+
|
|
1372
|
+
return 0
|
|
1373
|
+
};
|
|
1374
|
+
|
|
1375
|
+
// Sort in-place and return
|
|
1376
|
+
working.sort(comparator);
|
|
1305
1377
|
|
|
1306
|
-
return
|
|
1307
|
-
? by_col
|
|
1308
|
-
? transpose(sortArray(result))
|
|
1309
|
-
: sortArray(result)
|
|
1310
|
-
: value
|
|
1378
|
+
return by_col ? transpose(working) : working
|
|
1311
1379
|
}
|
|
1312
1380
|
|
|
1313
1381
|
/**
|
|
@@ -18506,7 +18574,74 @@ async function TALLY() {
|
|
|
18506
18574
|
}
|
|
18507
18575
|
}
|
|
18508
18576
|
|
|
18509
|
-
|
|
18577
|
+
const duneSimParamsSchema = objectType({
|
|
18578
|
+
wallet: stringType().nonempty(),
|
|
18579
|
+
type: enumType(['activity']),
|
|
18580
|
+
});
|
|
18581
|
+
|
|
18582
|
+
function flattenObject(obj, parentKey = '', res = {}) {
|
|
18583
|
+
for (let key in obj) {
|
|
18584
|
+
if (!Object.prototype.hasOwnProperty.call(obj, key)) continue;
|
|
18585
|
+
const newKey = parentKey ? `${parentKey}_${key}` : key;
|
|
18586
|
+
|
|
18587
|
+
if (typeof obj[key] === 'object' && obj[key] !== null && !Array.isArray(obj[key])) {
|
|
18588
|
+
flattenObject(obj[key], newKey, res);
|
|
18589
|
+
} else if (Array.isArray(obj[key])) {
|
|
18590
|
+
obj[key].forEach((val, i) => {
|
|
18591
|
+
if (typeof val === 'object' && val !== null) {
|
|
18592
|
+
flattenObject(val, `${newKey}_${i}`, res);
|
|
18593
|
+
} else {
|
|
18594
|
+
res[`${newKey}_${i}`] = val;
|
|
18595
|
+
}
|
|
18596
|
+
});
|
|
18597
|
+
} else {
|
|
18598
|
+
res[newKey] = obj[key];
|
|
18599
|
+
}
|
|
18600
|
+
}
|
|
18601
|
+
return res;
|
|
18602
|
+
}
|
|
18603
|
+
|
|
18604
|
+
/* global window */
|
|
18605
|
+
|
|
18606
|
+
|
|
18607
|
+
|
|
18608
|
+
|
|
18609
|
+
|
|
18610
|
+
|
|
18611
|
+
|
|
18612
|
+
async function DUNESIM() {
|
|
18613
|
+
try {
|
|
18614
|
+
const [type, wallet] = argsToArray(arguments);
|
|
18615
|
+
|
|
18616
|
+
validateParams(duneSimParamsSchema, { wallet, type });
|
|
18617
|
+
const address = await fromEnsNameToAddress$1.validateAndGetAddress(wallet);
|
|
18618
|
+
const apiKey = window.localStorage.getItem(SERVICES_API_KEY.DuneSim);
|
|
18619
|
+
const url = `https://api.sim.dune.com/v1/evm/activity/${address}`;
|
|
18620
|
+
|
|
18621
|
+
const { URL: finalUrl, HEADERS } = getUrlAndHeaders({
|
|
18622
|
+
url: url, serviceName: 'DuneSim',
|
|
18623
|
+
headers: {
|
|
18624
|
+
'X-Sim-Api-Key': apiKey,
|
|
18625
|
+
}
|
|
18626
|
+
|
|
18627
|
+
});
|
|
18628
|
+
|
|
18629
|
+
const response = await fetch(finalUrl, {
|
|
18630
|
+
method: 'GET',
|
|
18631
|
+
headers: HEADERS,
|
|
18632
|
+
});
|
|
18633
|
+
if (!response.ok) {
|
|
18634
|
+
throw new NetworkError(SERVICES_API_KEY.DuneSim, response.status)
|
|
18635
|
+
}
|
|
18636
|
+
|
|
18637
|
+
const json = await response.json();
|
|
18638
|
+
const activity = json?.activity || [];
|
|
18639
|
+
return activity.map((item) => flattenObject(item))
|
|
18640
|
+
} catch (err) {
|
|
18641
|
+
return errorMessageHandler(err, 'DUNESIM')
|
|
18642
|
+
}
|
|
18643
|
+
}
|
|
18644
|
+
|
|
18510
18645
|
// export {GNOSISPAY} from './gnosispay/gnosispay.js'
|
|
18511
18646
|
|
|
18512
18647
|
|
|
@@ -18546,4 +18681,4 @@ function MYANIMELIST() {
|
|
|
18546
18681
|
|
|
18547
18682
|
const utils = { errors, symbols, date };
|
|
18548
18683
|
|
|
18549
|
-
export { AAVE, ABS, ACCRINT, ACOS, ACOSH, ACOT, ACOTH, AGGREGATE, AND, ARABIC, ARTEMIS, ASIN, ASINH, ATAN, ATAN2, ATANH, AVEDEV, AVERAGE, AVERAGEA, AVERAGEIF, AVERAGEIFS, BASE, BESSELI, BESSELJ, BESSELK, BESSELY, BETA, BETADIST, BETAINV, BIN2DEC, BIN2HEX, BIN2OCT, BINOM, BINOMDIST, BITAND, BITLSHIFT, BITOR, BITRSHIFT, BITXOR, BLOCKSCOUT, CEILING, CEILINGMATH, CEILINGPRECISE, CHAR, CHIDIST, CHIDISTRT, CHIINV, CHIINVRT, CHISQ, CHITEST, CHOOSE, CLEAN, CODE, COINGECKO, COLUMN, COLUMNS, COMBIN, COMBINA, COMPLEX, CONCAT, CONCATENATE, CONFIDENCE, CONVERT, CORREL, COS, COSH, COT, COTH, COUNT, COUNTA, COUNTBLANK, COUNTIF, COUNTIFS, COUPDAYS, COVAR, COVARIANCE, COVARIANCEP, COVARIANCES, CRITBINOM, CSC, CSCH, CUMIPMT, CUMPRINC, DATE, DATEDIF, DATEVALUE, DAVERAGE, DAY, DAYS, DAYS360, DB, DCOUNT, DCOUNTA, DDB, DEC2BIN, DEC2HEX, DEC2OCT, DECIMAL, DEFILLAMA, DEGREES, DELTA, DEVSQ, DGET, DISC, DMAX, DMIN, DOLLAR, DOLLARDE, DOLLARFR, DPRODUCT, DSTDEV, DSTDEVP, DSUM, DVAR, DVARP, EDATE, EFFECT, EOA, EOMONTH, ERF, ERFC, ERFCPRECISE, ERFPRECISE, ERROR, ETHERSCAN, EVEN, EXACT, EXP, EXPON, EXPONDIST, F, FACT, FACTDOUBLE, FALSE, FARCASTER, FDIST, FDISTRT, FIND, FINV, FINVRT, FIREFLY, FISHER, FISHERINV, FIXED, FLOOR, FLOORMATH, FLOORPRECISE, FLVURL, FORECAST, FREQUENCY, FTEST, FV, FVSCHEDULE, GAMMA, GAMMADIST, GAMMAINV, GAMMALN, GAMMALNPRECISE, GAUSS, GCD, GEOMEAN, GESTEP, GNOSIS, GROWTH, HARMEAN, HEX2BIN, HEX2DEC, HEX2OCT, HLOOKUP, HOUR, HYPGEOM, HYPGEOMDIST, IF, IFERROR, IFNA, IFS, IMABS, IMAGINARY, IMARGUMENT, IMCONJUGATE, IMCOS, IMCOSH, IMCOT, IMCSC, IMCSCH, IMDIV, IMEXP, IMLN, IMLOG10, IMLOG2, IMPOWER, IMPRODUCT, IMREAL, IMSEC, IMSECH, IMSIN, IMSINH, IMSQRT, IMSUB, IMSUM, IMTAN, INDEX, INT, INTERCEPT, IPMT, IRR, ISBLANK, ISDATE, ISERR, ISERROR, ISEVEN, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISO, ISODD, ISOWEEKNUM, ISPMT, ISTEXT, KURT, LARGE, LCM, LEFT, LEN, LENS, LINEST, LN, LOG, LOG10, LOGEST, LOGINV, LOGNORM, LOGNORMDIST, LOGNORMINV, LOOKUP, LOWER, MATCH, MAX, MAXA, MAXIFS, MEDIAN, MEERKAT, MID, MIN, MINA, MINIFS, MINUS$1 as MINUS, MINUTE, MIRR, MMULT, MOD, MODE, MODEMULT, MODESNGL, MONTH, MROUND, MULTINOMIAL, MUNIT, MYANIMELIST, N, NA, NEGBINOM, NEGBINOMDIST, NETWORKDAYS, NETWORKDAYSINTL, NETWORKDAYS_INTL, NEYNAR, NOMINAL, NORM, NORMDIST, NORMINV, NORMSDIST, NORMSINV, NOT, NOW, NPER, NPV, NUMBERVALUE, OCT2BIN, OCT2DEC, OCT2HEX, ODD, OR, PDURATION, PEARSON, PERCENTILE, PERCENTILEEXC, PERCENTILEINC, PERCENTRANK, PERCENTRANKEXC, PERCENTRANKINC, PERMUT, PERMUTATIONA, PHI, PI, PMT, PNL, POISSON, POISSONDIST, POLYMARKET, POWER, PPMT, PRICEDISC, PRIVACYPOOL, PROB, PRODUCT, PROPER, PV, QUARTILE, QUARTILEEXC, QUARTILEINC, QUOTIENT, RADIANS, RAND, RANDBETWEEN, RANK, RANKAVG, RANKEQ, RATE, REPLACE, REPT, RIGHT, ROMAN, ROTKI, ROUND, ROUNDDOWN, ROUNDUP, ROW, ROWS, RRI, RSQ, SAFE, SEARCH, SEC, SECH, SECOND, SERIESSUM, SIGN, SIN, SINH, SKEW, SKEWP, SLN, SLOPE, SMALL, SMARTCONTRACT, SORT, SQRT, SQRTPI, STANDARDIZE, STDEV, STDEVA, STDEVP, STDEVPA, STDEVS, STEYX, SUBSTITUTE, SUBTOTAL, SUM, SUMIF, SUMIFS, SUMPRODUCT, SUMSQ, SUMX2MY2, SUMX2PY2, SUMXMY2, SWITCH, SYD, T, TALLY, TAN, TANH, TBILLEQ, TBILLPRICE, TBILLYIELD, TDIST, TDISTRT, TEXT, TEXTJOIN, TIME, TIMEVALUE, TINV, TODAY, TRANSPOSE, TREND, TRIM, TRIMMEAN, TRUE, TRUNC, TTEST, TYPE, UNICHAR, UNICODE, UNIQUE, UNISWAP, UPPER, VALUE, VAR, VARA, VARP, VARPA, VARS, VLOOKUP, WEEKDAY, WEEKNUM, WEIBULL, WEIBULLDIST, WORKDAY, WORKDAYINTL, WORKDAY_INTL, XIRR, XNPV, XOR, YEAR, YEARFRAC, Z, ZTEST, utils };
|
|
18684
|
+
export { AAVE, ABS, ACCRINT, ACOS, ACOSH, ACOT, ACOTH, AGGREGATE, AND, ARABIC, ARTEMIS, ASIN, ASINH, ATAN, ATAN2, ATANH, AVEDEV, AVERAGE, AVERAGEA, AVERAGEIF, AVERAGEIFS, BASE, BESSELI, BESSELJ, BESSELK, BESSELY, BETA, BETADIST, BETAINV, BIN2DEC, BIN2HEX, BIN2OCT, BINOM, BINOMDIST, BITAND, BITLSHIFT, BITOR, BITRSHIFT, BITXOR, BLOCKSCOUT, CEILING, CEILINGMATH, CEILINGPRECISE, CHAR, CHIDIST, CHIDISTRT, CHIINV, CHIINVRT, CHISQ, CHITEST, CHOOSE, CLEAN, CODE, COINGECKO, COLUMN, COLUMNS, COMBIN, COMBINA, COMPLEX, CONCAT, CONCATENATE, CONFIDENCE, CONVERT, CORREL, COS, COSH, COT, COTH, COUNT, COUNTA, COUNTBLANK, COUNTIF, COUNTIFS, COUPDAYS, COVAR, COVARIANCE, COVARIANCEP, COVARIANCES, CRITBINOM, CSC, CSCH, CUMIPMT, CUMPRINC, DATE, DATEDIF, DATEVALUE, DAVERAGE, DAY, DAYS, DAYS360, DB, DCOUNT, DCOUNTA, DDB, DEC2BIN, DEC2HEX, DEC2OCT, DECIMAL, DEFILLAMA, DEGREES, DELTA, DEVSQ, DGET, DISC, DMAX, DMIN, DOLLAR, DOLLARDE, DOLLARFR, DPRODUCT, DSTDEV, DSTDEVP, DSUM, DUNESIM, DVAR, DVARP, EDATE, EFFECT, EOA, EOMONTH, ERF, ERFC, ERFCPRECISE, ERFPRECISE, ERROR, ETHERSCAN, EVEN, EXACT, EXP, EXPON, EXPONDIST, F, FACT, FACTDOUBLE, FALSE, FARCASTER, FDIST, FDISTRT, FIND, FINV, FINVRT, FIREFLY, FISHER, FISHERINV, FIXED, FLOOR, FLOORMATH, FLOORPRECISE, FLVURL, FORECAST, FREQUENCY, FTEST, FV, FVSCHEDULE, GAMMA, GAMMADIST, GAMMAINV, GAMMALN, GAMMALNPRECISE, GAUSS, GCD, GEOMEAN, GESTEP, GNOSIS, GROWTH, HARMEAN, HEX2BIN, HEX2DEC, HEX2OCT, HLOOKUP, HOUR, HYPGEOM, HYPGEOMDIST, IF, IFERROR, IFNA, IFS, IMABS, IMAGINARY, IMARGUMENT, IMCONJUGATE, IMCOS, IMCOSH, IMCOT, IMCSC, IMCSCH, IMDIV, IMEXP, IMLN, IMLOG10, IMLOG2, IMPOWER, IMPRODUCT, IMREAL, IMSEC, IMSECH, IMSIN, IMSINH, IMSQRT, IMSUB, IMSUM, IMTAN, INDEX, INT, INTERCEPT, IPMT, IRR, ISBLANK, ISDATE, ISERR, ISERROR, ISEVEN, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISO, ISODD, ISOWEEKNUM, ISPMT, ISTEXT, KURT, LARGE, LCM, LEFT, LEN, LENS, LINEST, LN, LOG, LOG10, LOGEST, LOGINV, LOGNORM, LOGNORMDIST, LOGNORMINV, LOOKUP, LOWER, MATCH, MAX, MAXA, MAXIFS, MEDIAN, MEERKAT, MID, MIN, MINA, MINIFS, MINUS$1 as MINUS, MINUTE, MIRR, MMULT, MOD, MODE, MODEMULT, MODESNGL, MONTH, MROUND, MULTINOMIAL, MUNIT, MYANIMELIST, N, NA, NEGBINOM, NEGBINOMDIST, NETWORKDAYS, NETWORKDAYSINTL, NETWORKDAYS_INTL, NEYNAR, NOMINAL, NORM, NORMDIST, NORMINV, NORMSDIST, NORMSINV, NOT, NOW, NPER, NPV, NUMBERVALUE, OCT2BIN, OCT2DEC, OCT2HEX, ODD, OR, PDURATION, PEARSON, PERCENTILE, PERCENTILEEXC, PERCENTILEINC, PERCENTRANK, PERCENTRANKEXC, PERCENTRANKINC, PERMUT, PERMUTATIONA, PHI, PI, PMT, PNL, POISSON, POISSONDIST, POLYMARKET, POWER, PPMT, PRICEDISC, PRIVACYPOOL, PROB, PRODUCT, PROPER, PV, QUARTILE, QUARTILEEXC, QUARTILEINC, QUOTIENT, RADIANS, RAND, RANDBETWEEN, RANK, RANKAVG, RANKEQ, RATE, REPLACE, REPT, RIGHT, ROMAN, ROTKI, ROUND, ROUNDDOWN, ROUNDUP, ROW, ROWS, RRI, RSQ, SAFE, SEARCH, SEC, SECH, SECOND, SERIESSUM, SIGN, SIN, SINH, SKEW, SKEWP, SLN, SLOPE, SMALL, SMARTCONTRACT, SORT, SQRT, SQRTPI, STANDARDIZE, STDEV, STDEVA, STDEVP, STDEVPA, STDEVS, STEYX, SUBSTITUTE, SUBTOTAL, SUM, SUMIF, SUMIFS, SUMPRODUCT, SUMSQ, SUMX2MY2, SUMX2PY2, SUMXMY2, SWITCH, SYD, T, TALLY, TAN, TANH, TBILLEQ, TBILLPRICE, TBILLYIELD, TDIST, TDISTRT, TEXT, TEXTJOIN, TIME, TIMEVALUE, TINV, TODAY, TRANSPOSE, TREND, TRIM, TRIMMEAN, TRUE, TRUNC, TTEST, TYPE, UNICHAR, UNICODE, UNIQUE, UNISWAP, UPPER, VALUE, VAR, VARA, VARP, VARPA, VARS, VLOOKUP, WEEKDAY, WEEKNUM, WEIBULL, WEIBULLDIST, WORKDAY, WORKDAYINTL, WORKDAY_INTL, XIRR, XNPV, XOR, YEAR, YEARFRAC, Z, ZTEST, utils };
|
package/package.json
CHANGED
package/types/cjs/index.d.cts
CHANGED
|
@@ -1292,6 +1292,7 @@ export function DSTDEVP(database: any, field: any, criteria: any): number | Erro
|
|
|
1292
1292
|
* @returns
|
|
1293
1293
|
*/
|
|
1294
1294
|
export function DSUM(database: any, field: any, criteria: any): number | Error;
|
|
1295
|
+
export function DUNESIM(...args: any[]): Promise<any>;
|
|
1295
1296
|
/**
|
|
1296
1297
|
* Estimates variance based on a sample from selected database entries.
|
|
1297
1298
|
*
|
|
@@ -3787,7 +3788,7 @@ export function SMARTCONTRACT(...args: any[]): Promise<any>;
|
|
|
3787
3788
|
* @param {*} by_col Optional. A logical value indicating the desired sort direction; FALSE to sort by row (default), TRUE to sort by column
|
|
3788
3789
|
* @returns
|
|
3789
3790
|
*/
|
|
3790
|
-
export function SORT(array: any, sort_index?: any, sort_order?: any, by_col?: any): any;
|
|
3791
|
+
export function SORT(array: any, sort_index?: any, sort_order?: any, by_col?: any, ...args: any[]): any;
|
|
3791
3792
|
/**
|
|
3792
3793
|
* Returns a positive square root.
|
|
3793
3794
|
*
|
package/types/esm/index.d.mts
CHANGED
|
@@ -1292,6 +1292,7 @@ export function DSTDEVP(database: any, field: any, criteria: any): number | Erro
|
|
|
1292
1292
|
* @returns
|
|
1293
1293
|
*/
|
|
1294
1294
|
export function DSUM(database: any, field: any, criteria: any): number | Error;
|
|
1295
|
+
export function DUNESIM(...args: any[]): Promise<any>;
|
|
1295
1296
|
/**
|
|
1296
1297
|
* Estimates variance based on a sample from selected database entries.
|
|
1297
1298
|
*
|
|
@@ -3787,7 +3788,7 @@ export function SMARTCONTRACT(...args: any[]): Promise<any>;
|
|
|
3787
3788
|
* @param {*} by_col Optional. A logical value indicating the desired sort direction; FALSE to sort by row (default), TRUE to sort by column
|
|
3788
3789
|
* @returns
|
|
3789
3790
|
*/
|
|
3790
|
-
export function SORT(array: any, sort_index?: any, sort_order?: any, by_col?: any): any;
|
|
3791
|
+
export function SORT(array: any, sort_index?: any, sort_order?: any, by_col?: any, ...args: any[]): any;
|
|
3791
3792
|
/**
|
|
3792
3793
|
* Returns a positive square root.
|
|
3793
3794
|
*
|