@fileverse-dev/formulajs 4.4.11-mod-23 → 4.4.11-mod-24
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 +654 -244
- package/lib/browser/formula.min.js +2 -2
- package/lib/browser/formula.min.js.map +1 -1
- package/lib/cjs/index.cjs +259 -52
- package/lib/esm/crypto-constants.mjs +122 -3
- package/lib/esm/index.mjs +255 -53
- package/package.json +2 -1
- package/types/cjs/index.d.cts +24 -0
- package/types/esm/index.d.mts +24 -0
package/lib/esm/index.mjs
CHANGED
|
@@ -13102,13 +13102,17 @@ const ERROR_MESSAGES_FLAG = {
|
|
|
13102
13102
|
MISSING_KEY: '_MISSING',
|
|
13103
13103
|
INVALID_CHAIN: '_INVALID_CHAIN',
|
|
13104
13104
|
INVALID_TYPE: '_INVALID_TYPE',
|
|
13105
|
-
INVALID_ADDRESS: '_INVALID_ADDRESS'
|
|
13105
|
+
INVALID_ADDRESS: '_INVALID_ADDRESS',
|
|
13106
|
+
INVALID_PARAM: '_INVALID_PARAM'
|
|
13106
13107
|
};
|
|
13107
13108
|
|
|
13108
13109
|
const SERVICE_API_KEY = {
|
|
13109
13110
|
Etherscan: "ETHERSCAN_API_KEY",
|
|
13110
13111
|
Coingecko: "COINGECKO_API_KEY",
|
|
13111
13112
|
Safe: "SAFE_API_KEY",
|
|
13113
|
+
Basescan: "BASESCAN_API_KEY",
|
|
13114
|
+
Gnosisscan: "GNOSIS_API_KEY",
|
|
13115
|
+
Firefly: "FIRE_FLY_API_KEY"
|
|
13112
13116
|
};
|
|
13113
13117
|
|
|
13114
13118
|
const fromTimeStampToBlock = async (timestamp, chain, apiKey) => {
|
|
@@ -13121,6 +13125,131 @@ if(!timestamp || !chain || !apiKey) return
|
|
|
13121
13125
|
|
|
13122
13126
|
};
|
|
13123
13127
|
|
|
13128
|
+
async function handleScanRequest({
|
|
13129
|
+
scanKey,
|
|
13130
|
+
baseUrl,
|
|
13131
|
+
type,
|
|
13132
|
+
chain,
|
|
13133
|
+
address,
|
|
13134
|
+
startDate,
|
|
13135
|
+
endDate,
|
|
13136
|
+
}) {
|
|
13137
|
+
const API_KEY = window.localStorage.getItem(scanKey);
|
|
13138
|
+
if (!API_KEY) return `${scanKey}${ERROR_MESSAGES_FLAG.MISSING_KEY}`;
|
|
13139
|
+
if (API_KEY === 'xxxx') return `${scanKey}${ERROR_MESSAGES_FLAG.RATE_LIMIT}`;
|
|
13140
|
+
|
|
13141
|
+
const chainId = CHAIN_ID_MAP[chain?.toLowerCase()];
|
|
13142
|
+
if (!chainId) return `${scanKey}${ERROR_MESSAGES_FLAG.INVALID_CHAIN}`;
|
|
13143
|
+
|
|
13144
|
+
const ACTION_MAP = {
|
|
13145
|
+
'all-txns': 'txlist',
|
|
13146
|
+
'token-txns': 'tokentx',
|
|
13147
|
+
'nft-txns': 'tokennfttx',
|
|
13148
|
+
'gas': 'gastracker',
|
|
13149
|
+
};
|
|
13150
|
+
|
|
13151
|
+
const action = ACTION_MAP[type];
|
|
13152
|
+
if (!action) return `${scanKey}${ERROR_MESSAGES_FLAG.INVALID_TYPE}`;
|
|
13153
|
+
|
|
13154
|
+
let url = `${baseUrl}?chainid=${chainId}&module=account&action=${action}&apikey=${API_KEY}`;
|
|
13155
|
+
|
|
13156
|
+
if (['all-txns', 'token-txns', 'nft-txns'].includes(type)) {
|
|
13157
|
+
if (!address) return `${scanKey}${ERROR_MESSAGES_FLAG.INVALID_ADDRESS}`;
|
|
13158
|
+
url += `&address=${address}&startblock=0&endblock=99999999&sort=asc`;
|
|
13159
|
+
|
|
13160
|
+
if (!isNaN(startDate) && !isNaN(endDate)) {
|
|
13161
|
+
const [startBlock, endBlock] = await Promise.all([
|
|
13162
|
+
fromTimeStampToBlock(startDate, chain, API_KEY),
|
|
13163
|
+
fromTimeStampToBlock(endDate, chain, API_KEY),
|
|
13164
|
+
]);
|
|
13165
|
+
url += `&startblock=${startBlock}&endblock=${endBlock}`;
|
|
13166
|
+
}
|
|
13167
|
+
}
|
|
13168
|
+
|
|
13169
|
+
try {
|
|
13170
|
+
const res = await fetch(url);
|
|
13171
|
+
if (!res.ok) throw new Error(`HTTP error: ${res.status}`);
|
|
13172
|
+
const json = await res.json();
|
|
13173
|
+
|
|
13174
|
+
if (typeof json.result === 'string') {
|
|
13175
|
+
if (json.result.includes('Invalid API Key')) return `${scanKey}${ERROR_MESSAGES_FLAG.INVALID_API_KEY}`;
|
|
13176
|
+
if (json.result.includes('Max rate limit reached')) return `${scanKey}${ERROR_MESSAGES_FLAG.RATE_LIMIT}`;
|
|
13177
|
+
}
|
|
13178
|
+
|
|
13179
|
+
return json.result;
|
|
13180
|
+
} catch (err) {
|
|
13181
|
+
console.error(`[${scanKey}]`, err);
|
|
13182
|
+
return ERROR_MESSAGES_FLAG.DEFAULT;
|
|
13183
|
+
}
|
|
13184
|
+
}
|
|
13185
|
+
|
|
13186
|
+
async function FIREFLY(platform, contentType, identifier) {
|
|
13187
|
+
const API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Firefly);
|
|
13188
|
+
if (!API_KEY) return `${SERVICE_API_KEY.Firefly}${ERROR_MESSAGES_FLAG.MISSING_KEY}`;
|
|
13189
|
+
|
|
13190
|
+
const baseUrl = "https://openapi.firefly.land/v1/fileverse/fetch";
|
|
13191
|
+
const headers = {
|
|
13192
|
+
"x-api-key": API_KEY,
|
|
13193
|
+
};
|
|
13194
|
+
|
|
13195
|
+
let query = "";
|
|
13196
|
+
let type = "";
|
|
13197
|
+
|
|
13198
|
+
// normalize input
|
|
13199
|
+
const normalizedId = identifier.trim().replace(/.*\/([^\/]+)$/, "$1"); // extract last part of URL if needed
|
|
13200
|
+
|
|
13201
|
+
if (platform === "farcaster") {
|
|
13202
|
+
if (contentType === "posts") {
|
|
13203
|
+
type = "farcasterid";
|
|
13204
|
+
query = normalizedId;
|
|
13205
|
+
} else if (contentType === "replies") {
|
|
13206
|
+
type = "farcasterpostid";
|
|
13207
|
+
query = normalizedId.startsWith("0x") ? normalizedId : Number(normalizedId).toString();
|
|
13208
|
+
} else {
|
|
13209
|
+
return `${SERVICE_API_KEY.Firefly}${ERROR_MESSAGES_FLAG.INVALID_TYPE}`;
|
|
13210
|
+
}
|
|
13211
|
+
} else if (platform === "lens") {
|
|
13212
|
+
if (contentType === "posts") {
|
|
13213
|
+
type = "lensid";
|
|
13214
|
+
query = normalizedId;
|
|
13215
|
+
} else if (contentType === "replies") {
|
|
13216
|
+
type = "lenspostid";
|
|
13217
|
+
query = normalizedId;
|
|
13218
|
+
} else {
|
|
13219
|
+
return `${SERVICE_API_KEY.Firefly}${ERROR_MESSAGES_FLAG.INVALID_TYPE}`;
|
|
13220
|
+
}
|
|
13221
|
+
} else {
|
|
13222
|
+
return `${SERVICE_API_KEY.Firefly}${ERROR_MESSAGES_FLAG.INVALID_PARAM}`;
|
|
13223
|
+
}
|
|
13224
|
+
|
|
13225
|
+
const url = new URL(baseUrl);
|
|
13226
|
+
url.searchParams.set("query", query);
|
|
13227
|
+
url.searchParams.set("type", type);
|
|
13228
|
+
url.searchParams.set("size", "10");
|
|
13229
|
+
url.searchParams.set("cursor", "0");
|
|
13230
|
+
|
|
13231
|
+
try {
|
|
13232
|
+
const res = await fetch(url.toString(), { headers });
|
|
13233
|
+
if (!res.ok) throw new Error(`HTTP ${res.status}`);
|
|
13234
|
+
const json = await res.json();
|
|
13235
|
+
const flattened = Array.isArray(json?.data)
|
|
13236
|
+
? json.data.map(item => ({
|
|
13237
|
+
id: item?.id || null,
|
|
13238
|
+
author: item?.author?.username || item?.author?.handle || "",
|
|
13239
|
+
text: item?.text || item?.metadata?.content?.content || "",
|
|
13240
|
+
createdAt: item?.createdAt || "",
|
|
13241
|
+
platform: platform,
|
|
13242
|
+
}))
|
|
13243
|
+
: [];
|
|
13244
|
+
|
|
13245
|
+
return flattened;
|
|
13246
|
+
} catch (err) {
|
|
13247
|
+
console.error("FIREFLY fetch error:", err);
|
|
13248
|
+
return ERROR_MESSAGES_FLAG.DEFAULT;
|
|
13249
|
+
}
|
|
13250
|
+
}
|
|
13251
|
+
|
|
13252
|
+
|
|
13124
13253
|
async function BLOCKSCOUT(address, type, chain, startTimestamp, endTimestamp, page, offset) {
|
|
13125
13254
|
if (!chain) {
|
|
13126
13255
|
chain = 'ethereum';
|
|
@@ -13190,73 +13319,146 @@ async function BLOCKSCOUT(address, type, chain, startTimestamp, endTimestamp, pa
|
|
|
13190
13319
|
}
|
|
13191
13320
|
}
|
|
13192
13321
|
|
|
13193
|
-
async function
|
|
13322
|
+
async function BASESCAN(...args) {
|
|
13323
|
+
const [type, chain, address, startDate, endDate] = args;
|
|
13324
|
+
return handleScanRequest({
|
|
13325
|
+
scanKey: SERVICE_API_KEY.Basescan,
|
|
13326
|
+
baseUrl: 'https://api.basescan.org/api',
|
|
13327
|
+
type,
|
|
13328
|
+
chain,
|
|
13329
|
+
address,
|
|
13330
|
+
startDate,
|
|
13331
|
+
endDate,
|
|
13332
|
+
});
|
|
13333
|
+
}
|
|
13334
|
+
async function GNOSISSCAN(...args) {
|
|
13194
13335
|
const [type, chain, address, startDate, endDate] = args;
|
|
13336
|
+
return handleScanRequest({
|
|
13337
|
+
scanKey: SERVICE_API_KEY.Gnosisscan,
|
|
13338
|
+
baseUrl: 'https://api.gnosisscan.io/api',
|
|
13339
|
+
type,
|
|
13340
|
+
chain,
|
|
13341
|
+
address,
|
|
13342
|
+
startDate,
|
|
13343
|
+
endDate,
|
|
13344
|
+
});
|
|
13345
|
+
}
|
|
13195
13346
|
|
|
13196
|
-
|
|
13197
|
-
|
|
13198
|
-
|
|
13199
|
-
|
|
13200
|
-
|
|
13201
|
-
|
|
13202
|
-
|
|
13203
|
-
|
|
13347
|
+
async function NEYNAR(
|
|
13348
|
+
fid,
|
|
13349
|
+
viewerFid,
|
|
13350
|
+
sortType,
|
|
13351
|
+
limit,
|
|
13352
|
+
cursor
|
|
13353
|
+
) {
|
|
13354
|
+
const API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Neynar);
|
|
13355
|
+
if (!API_KEY) return `${SERVICE_API_KEY.Neynar}${ERROR_MESSAGES_FLAG.MISSING_KEY}`;
|
|
13204
13356
|
|
|
13205
|
-
const chainId = CHAIN_ID_MAP[chain?.toLowerCase()];
|
|
13206
|
-
if (!chainId) {
|
|
13207
|
-
return `${SERVICE_API_KEY.Etherscan}${ERROR_MESSAGES_FLAG.INVALID_CHAIN}`;
|
|
13208
|
-
}
|
|
13209
13357
|
|
|
13210
|
-
|
|
13211
|
-
|
|
13212
|
-
|
|
13213
|
-
|
|
13214
|
-
|
|
13215
|
-
|
|
13216
|
-
|
|
13217
|
-
|
|
13218
|
-
|
|
13219
|
-
|
|
13220
|
-
|
|
13221
|
-
|
|
13222
|
-
|
|
13223
|
-
|
|
13224
|
-
|
|
13225
|
-
|
|
13358
|
+
const url = new URL('https://api.neynar.com/v2/farcaster/followers');
|
|
13359
|
+
url.searchParams.set('fid', fid.toString());
|
|
13360
|
+
url.searchParams.set('sort_type', sortType);
|
|
13361
|
+
url.searchParams.set('limit', limit.toString());
|
|
13362
|
+
if (viewerFid !== null) url.searchParams.set('viewer_fid', viewerFid.toString());
|
|
13363
|
+
if (cursor) url.searchParams.set('cursor', cursor);
|
|
13364
|
+
|
|
13365
|
+
try {
|
|
13366
|
+
const response = await fetch(url.toString(), {
|
|
13367
|
+
headers: {
|
|
13368
|
+
'x-api-key': API_KEY,
|
|
13369
|
+
'x-neynar-experimental': 'false'
|
|
13370
|
+
}
|
|
13371
|
+
});
|
|
13372
|
+
if (!response.ok) throw new Error(`HTTP ${response.status}`);
|
|
13373
|
+
const json = await response.json();
|
|
13374
|
+
if (!json?.users?.length) return [];
|
|
13375
|
+
|
|
13376
|
+
return json.users.map(({ user }) => ({
|
|
13377
|
+
username: user.username,
|
|
13378
|
+
custody_address: user.custody_address,
|
|
13379
|
+
follower_count: user.follower_count,
|
|
13380
|
+
country: user.profile?.location?.address?.country || '',
|
|
13381
|
+
city: user.profile?.location?.address?.city || ''
|
|
13382
|
+
}));
|
|
13383
|
+
} catch (err) {
|
|
13384
|
+
console.error('NEYNAR_FETCH_FOLLOWERS error:', err);
|
|
13385
|
+
return ERROR_MESSAGES_FLAG.DEFAULT;
|
|
13226
13386
|
}
|
|
13387
|
+
}
|
|
13388
|
+
async function GNOSIS({
|
|
13389
|
+
cardId,
|
|
13390
|
+
startDate,
|
|
13391
|
+
endDate,
|
|
13392
|
+
limit = 20,
|
|
13393
|
+
offset = 0,
|
|
13394
|
+
}) {
|
|
13395
|
+
const apiKeyKey = SERVICE_API_KEY.GnosisPay;
|
|
13396
|
+
const API_KEY = window.localStorage.getItem(apiKeyKey);
|
|
13397
|
+
if (!API_KEY) return `${apiKeyKey}${ERROR_MESSAGES_FLAG.MISSING_KEY}`;
|
|
13398
|
+
if (!cardId) return `${apiKeyKey}${ERROR_MESSAGES_FLAG.INVALID_PARAM}`;
|
|
13227
13399
|
|
|
13228
|
-
|
|
13400
|
+
const url = new URL(`https://api.gnosispay.com/cards/${cardId}/transactions`);
|
|
13401
|
+
url.searchParams.set('limit', limit.toString());
|
|
13402
|
+
url.searchParams.set('offset', offset.toString());
|
|
13229
13403
|
|
|
13230
|
-
if (
|
|
13231
|
-
|
|
13232
|
-
url += `&address=${address}&startblock=0&endblock=99999999&sort=asc`;
|
|
13233
|
-
if (startDate && endDate && !isNaN(startDate) && !isNaN(endDate)) {
|
|
13234
|
-
const startBlock = await fromTimeStampToBlock(startDate, chain, API_KEY);
|
|
13235
|
-
const endBlock = await fromTimeStampToBlock(endDate, chain, API_KEY);
|
|
13236
|
-
url += `&startblock=${startBlock}&endblock=${endBlock}`;
|
|
13237
|
-
}
|
|
13404
|
+
if (!isNaN(startDate)) {
|
|
13405
|
+
url.searchParams.set('startDate', new Date(startDate * 1000).toISOString());
|
|
13238
13406
|
}
|
|
13239
13407
|
|
|
13240
|
-
|
|
13241
|
-
|
|
13242
|
-
|
|
13243
|
-
const json = await response.json();
|
|
13244
|
-
|
|
13245
|
-
if (typeof json.result === 'string' && json.result.includes('Invalid API Key')) {
|
|
13246
|
-
return `${SERVICE_API_KEY.Etherscan}${ERROR_MESSAGES_FLAG.INVALID_API_KEY}`;
|
|
13247
|
-
}
|
|
13408
|
+
if (!isNaN(endDate)) {
|
|
13409
|
+
url.searchParams.set('endDate', new Date(endDate * 1000).toISOString());
|
|
13410
|
+
}
|
|
13248
13411
|
|
|
13249
|
-
|
|
13250
|
-
|
|
13251
|
-
|
|
13412
|
+
try {
|
|
13413
|
+
const res = await fetch(url.toString(), {
|
|
13414
|
+
headers: {
|
|
13415
|
+
Authorization: `Bearer ${API_KEY}`,
|
|
13416
|
+
'Content-Type': 'application/json',
|
|
13417
|
+
},
|
|
13418
|
+
});
|
|
13252
13419
|
|
|
13253
|
-
|
|
13254
|
-
|
|
13420
|
+
if (!res.ok) throw new Error(`HTTP error! Status: ${res.status}`);
|
|
13421
|
+
|
|
13422
|
+
const json = await res.json();
|
|
13423
|
+
|
|
13424
|
+
if (!Array.isArray(json)) return [];
|
|
13425
|
+
|
|
13426
|
+
return json.map(tx => ({
|
|
13427
|
+
createdAt: tx.createdAt,
|
|
13428
|
+
clearedAt: tx.clearedAt,
|
|
13429
|
+
country: tx.country,
|
|
13430
|
+
merchant: tx.merchant,
|
|
13431
|
+
billingAmount: tx.billingAmount,
|
|
13432
|
+
billingCurrency: tx.billingCurrency,
|
|
13433
|
+
transactionAmount: tx.transactionAmount,
|
|
13434
|
+
transactionCurrency: tx.transactionCurrency,
|
|
13435
|
+
transactionType: tx.transactionType,
|
|
13436
|
+
kind: tx.kind,
|
|
13437
|
+
status: tx.status || null,
|
|
13438
|
+
mcc: tx.mcc,
|
|
13439
|
+
}));
|
|
13440
|
+
} catch (err) {
|
|
13441
|
+
console.error('GNOSISPAY_CARD_TXNS error:', err);
|
|
13255
13442
|
return ERROR_MESSAGES_FLAG.DEFAULT;
|
|
13256
13443
|
}
|
|
13257
13444
|
}
|
|
13258
13445
|
|
|
13259
13446
|
|
|
13447
|
+
|
|
13448
|
+
async function ETHERSCAN(...args) {
|
|
13449
|
+
const [type, chain, address, startDate, endDate] = args;
|
|
13450
|
+
return handleScanRequest({
|
|
13451
|
+
scanKey: SERVICE_API_KEY.Etherscan,
|
|
13452
|
+
baseUrl: 'https://api.etherscan.io/v2/api',
|
|
13453
|
+
type,
|
|
13454
|
+
chain,
|
|
13455
|
+
address,
|
|
13456
|
+
startDate,
|
|
13457
|
+
endDate,
|
|
13458
|
+
});
|
|
13459
|
+
}
|
|
13460
|
+
|
|
13461
|
+
|
|
13260
13462
|
async function COINGECKO(token, vs_currencies) {
|
|
13261
13463
|
const API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Coingecko);
|
|
13262
13464
|
const url = `https://api.coingecko.com/api/v3/simple/price?vs_currencies=${vs_currencies}&ids=${token}`;
|
|
@@ -13407,4 +13609,4 @@ async function SAFE(address, utility, chain, limit, offset) {
|
|
|
13407
13609
|
|
|
13408
13610
|
const utils = { errors, symbols, date };
|
|
13409
13611
|
|
|
13410
|
-
export { ABS, ACCRINT, ACOS, ACOSH, ACOT, ACOTH, AGGREGATE, AND, ARABIC, 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, 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, FDIST, FDISTRT, FIND, FINV, FINVRT, FISHER, FISHERINV, FIXED, FLOOR, FLOORMATH, FLOORPRECISE, FLVURL, FORECAST, FREQUENCY, FTEST, FV, FVSCHEDULE, GAMMA, GAMMADIST, GAMMAINV, GAMMALN, GAMMALNPRECISE, GAUSS, GCD, GEOMEAN, GESTEP, 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, LINEST, LN, LOG, LOG10, LOGEST, LOGINV, LOGNORM, LOGNORMDIST, LOGNORMINV, LOOKUP, LOWER, MATCH, MAX, MAXA, MAXIFS, MEDIAN, MID, MIN, MINA, MINIFS, MINUTE, MIRR, MMULT, MOD, MODE, MODEMULT, MODESNGL, MONTH, MROUND, MULTINOMIAL, MUNIT, N, NA, NEGBINOM, NEGBINOMDIST, NETWORKDAYS, NETWORKDAYSINTL, NETWORKDAYS_INTL, 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, POWER, PPMT, PRICEDISC, PROB, PRODUCT, PROPER, PV, QUARTILE, QUARTILEEXC, QUARTILEINC, QUOTIENT, RADIANS, RAND, RANDBETWEEN, RANK, RANKAVG, RANKEQ, RATE, REPLACE, REPT, RIGHT, ROMAN, ROUND, ROUNDDOWN, ROUNDUP, ROW, ROWS, RRI, RSQ, SAFE, SEARCH, SEC, SECH, SECOND, SERIESSUM, SIGN, SIN, SINH, SKEW, SKEWP, SLN, SLOPE, SMALL, SORT, SQRT, SQRTPI, STANDARDIZE, STDEV, STDEVA, STDEVP, STDEVPA, STDEVS, STEYX, SUBSTITUTE, SUBTOTAL, SUM, SUMIF, SUMIFS, SUMPRODUCT, SUMSQ, SUMX2MY2, SUMX2PY2, SUMXMY2, SWITCH, SYD, T, TAN, TANH, TBILLEQ, TBILLPRICE, TBILLYIELD, TDIST, TDISTRT, TEXT, TEXTJOIN, TIME, TIMEVALUE, TINV, TODAY, TRANSPOSE, TREND, TRIM, TRIMMEAN, TRUE, TRUNC, TTEST, TYPE, UNICHAR, UNICODE, UNIQUE, UPPER, VALUE, VAR, VARA, VARP, VARPA, VARS, VLOOKUP, WEEKDAY, WEEKNUM, WEIBULL, WEIBULLDIST, WORKDAY, WORKDAYINTL, WORKDAY_INTL, XIRR, XNPV, XOR, YEAR, YEARFRAC, Z, ZTEST, utils };
|
|
13612
|
+
export { ABS, ACCRINT, ACOS, ACOSH, ACOT, ACOTH, AGGREGATE, AND, ARABIC, ASIN, ASINH, ATAN, ATAN2, ATANH, AVEDEV, AVERAGE, AVERAGEA, AVERAGEIF, AVERAGEIFS, BASE, BASESCAN, 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, 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, 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, GNOSISSCAN, 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, LINEST, LN, LOG, LOG10, LOGEST, LOGINV, LOGNORM, LOGNORMDIST, LOGNORMINV, LOOKUP, LOWER, MATCH, MAX, MAXA, MAXIFS, MEDIAN, MID, MIN, MINA, MINIFS, MINUTE, MIRR, MMULT, MOD, MODE, MODEMULT, MODESNGL, MONTH, MROUND, MULTINOMIAL, MUNIT, 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, POWER, PPMT, PRICEDISC, PROB, PRODUCT, PROPER, PV, QUARTILE, QUARTILEEXC, QUARTILEINC, QUOTIENT, RADIANS, RAND, RANDBETWEEN, RANK, RANKAVG, RANKEQ, RATE, REPLACE, REPT, RIGHT, ROMAN, ROUND, ROUNDDOWN, ROUNDUP, ROW, ROWS, RRI, RSQ, SAFE, SEARCH, SEC, SECH, SECOND, SERIESSUM, SIGN, SIN, SINH, SKEW, SKEWP, SLN, SLOPE, SMALL, SORT, SQRT, SQRTPI, STANDARDIZE, STDEV, STDEVA, STDEVP, STDEVPA, STDEVS, STEYX, SUBSTITUTE, SUBTOTAL, SUM, SUMIF, SUMIFS, SUMPRODUCT, SUMSQ, SUMX2MY2, SUMX2PY2, SUMXMY2, SWITCH, SYD, T, TAN, TANH, TBILLEQ, TBILLPRICE, TBILLYIELD, TDIST, TDISTRT, TEXT, TEXTJOIN, TIME, TIMEVALUE, TINV, TODAY, TRANSPOSE, TREND, TRIM, TRIMMEAN, TRUE, TRUNC, TTEST, TYPE, UNICHAR, UNICODE, UNIQUE, 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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fileverse-dev/formulajs",
|
|
3
|
-
"version": "4.4.11-mod-
|
|
3
|
+
"version": "4.4.11-mod-24",
|
|
4
4
|
"description": "JavaScript implementation of most Microsoft Excel formula functions",
|
|
5
5
|
"author": "Formulajs",
|
|
6
6
|
"publishConfig": {
|
|
@@ -59,6 +59,7 @@
|
|
|
59
59
|
"types": "tsc"
|
|
60
60
|
},
|
|
61
61
|
"dependencies": {
|
|
62
|
+
"@fileverse-dev/formulajs": "^4.4.11-mod-23",
|
|
62
63
|
"bessel": "^1.0.2",
|
|
63
64
|
"esbuild": "^0.25.4",
|
|
64
65
|
"jstat": "^1.9.6"
|
package/types/cjs/index.d.cts
CHANGED
|
@@ -192,6 +192,7 @@ export function AVERAGEIFS(...args: any[]): number;
|
|
|
192
192
|
* @returns
|
|
193
193
|
*/
|
|
194
194
|
export function BASE(number: any, radix: any, min_length: any): any;
|
|
195
|
+
export function BASESCAN(...args: any[]): Promise<any>;
|
|
195
196
|
/**
|
|
196
197
|
* Returns the modified Bessel function In(x).
|
|
197
198
|
*
|
|
@@ -1528,6 +1529,7 @@ export namespace FINV { }
|
|
|
1528
1529
|
* @returns
|
|
1529
1530
|
*/
|
|
1530
1531
|
export function FINVRT(probability: any, deg_freedom1: any, deg_freedom2: any, ...args: any[]): any;
|
|
1532
|
+
export function FIREFLY(platform: any, contentType: any, identifier: any): Promise<any>;
|
|
1531
1533
|
/**
|
|
1532
1534
|
* Returns the Fisher transformation.
|
|
1533
1535
|
*
|
|
@@ -1789,6 +1791,27 @@ export function GEOMEAN(...args: any[]): any;
|
|
|
1789
1791
|
* @returns
|
|
1790
1792
|
*/
|
|
1791
1793
|
export function GESTEP(number: any, step: any): any;
|
|
1794
|
+
export function GNOSIS({ cardId, startDate, endDate, limit, offset, }: {
|
|
1795
|
+
cardId: any;
|
|
1796
|
+
startDate: any;
|
|
1797
|
+
endDate: any;
|
|
1798
|
+
limit?: number;
|
|
1799
|
+
offset?: number;
|
|
1800
|
+
}): Promise<string | {
|
|
1801
|
+
createdAt: any;
|
|
1802
|
+
clearedAt: any;
|
|
1803
|
+
country: any;
|
|
1804
|
+
merchant: any;
|
|
1805
|
+
billingAmount: any;
|
|
1806
|
+
billingCurrency: any;
|
|
1807
|
+
transactionAmount: any;
|
|
1808
|
+
transactionCurrency: any;
|
|
1809
|
+
transactionType: any;
|
|
1810
|
+
kind: any;
|
|
1811
|
+
status: any;
|
|
1812
|
+
mcc: any;
|
|
1813
|
+
}[]>;
|
|
1814
|
+
export function GNOSISSCAN(...args: any[]): Promise<any>;
|
|
1792
1815
|
/**
|
|
1793
1816
|
* Returns values along an exponential trend.
|
|
1794
1817
|
*
|
|
@@ -2818,6 +2841,7 @@ export function NETWORKDAYSINTL(start_date: any, end_date: any, weekend: any, ho
|
|
|
2818
2841
|
* @returns
|
|
2819
2842
|
*/
|
|
2820
2843
|
export function NETWORKDAYS_INTL(start_date: any, end_date: any, weekend: any, holidays: any): number | Error;
|
|
2844
|
+
export function NEYNAR(fid: any, viewerFid: any, sortType: any, limit: any, cursor: any): Promise<any>;
|
|
2821
2845
|
/**
|
|
2822
2846
|
* Returns the annual nominal interest rate.
|
|
2823
2847
|
*
|
package/types/esm/index.d.mts
CHANGED
|
@@ -192,6 +192,7 @@ export function AVERAGEIFS(...args: any[]): number;
|
|
|
192
192
|
* @returns
|
|
193
193
|
*/
|
|
194
194
|
export function BASE(number: any, radix: any, min_length: any): any;
|
|
195
|
+
export function BASESCAN(...args: any[]): Promise<any>;
|
|
195
196
|
/**
|
|
196
197
|
* Returns the modified Bessel function In(x).
|
|
197
198
|
*
|
|
@@ -1528,6 +1529,7 @@ export namespace FINV { }
|
|
|
1528
1529
|
* @returns
|
|
1529
1530
|
*/
|
|
1530
1531
|
export function FINVRT(probability: any, deg_freedom1: any, deg_freedom2: any, ...args: any[]): any;
|
|
1532
|
+
export function FIREFLY(platform: any, contentType: any, identifier: any): Promise<any>;
|
|
1531
1533
|
/**
|
|
1532
1534
|
* Returns the Fisher transformation.
|
|
1533
1535
|
*
|
|
@@ -1789,6 +1791,27 @@ export function GEOMEAN(...args: any[]): any;
|
|
|
1789
1791
|
* @returns
|
|
1790
1792
|
*/
|
|
1791
1793
|
export function GESTEP(number: any, step: any): any;
|
|
1794
|
+
export function GNOSIS({ cardId, startDate, endDate, limit, offset, }: {
|
|
1795
|
+
cardId: any;
|
|
1796
|
+
startDate: any;
|
|
1797
|
+
endDate: any;
|
|
1798
|
+
limit?: number;
|
|
1799
|
+
offset?: number;
|
|
1800
|
+
}): Promise<string | {
|
|
1801
|
+
createdAt: any;
|
|
1802
|
+
clearedAt: any;
|
|
1803
|
+
country: any;
|
|
1804
|
+
merchant: any;
|
|
1805
|
+
billingAmount: any;
|
|
1806
|
+
billingCurrency: any;
|
|
1807
|
+
transactionAmount: any;
|
|
1808
|
+
transactionCurrency: any;
|
|
1809
|
+
transactionType: any;
|
|
1810
|
+
kind: any;
|
|
1811
|
+
status: any;
|
|
1812
|
+
mcc: any;
|
|
1813
|
+
}[]>;
|
|
1814
|
+
export function GNOSISSCAN(...args: any[]): Promise<any>;
|
|
1792
1815
|
/**
|
|
1793
1816
|
* Returns values along an exponential trend.
|
|
1794
1817
|
*
|
|
@@ -2818,6 +2841,7 @@ export function NETWORKDAYSINTL(start_date: any, end_date: any, weekend: any, ho
|
|
|
2818
2841
|
* @returns
|
|
2819
2842
|
*/
|
|
2820
2843
|
export function NETWORKDAYS_INTL(start_date: any, end_date: any, weekend: any, holidays: any): number | Error;
|
|
2844
|
+
export function NEYNAR(fid: any, viewerFid: any, sortType: any, limit: any, cursor: any): Promise<any>;
|
|
2821
2845
|
/**
|
|
2822
2846
|
* Returns the annual nominal interest rate.
|
|
2823
2847
|
*
|