@fileverse-dev/formulajs 4.4.11-mod-23 → 4.4.11-mod-23-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/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 ETHERSCAN(...args) {
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
- const API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Etherscan);
13197
- if (!API_KEY) {
13198
- return `${SERVICE_API_KEY.Etherscan}${ERROR_MESSAGES_FLAG.MISSING_KEY}`;
13199
- }
13200
- // TO REMOVE - TEMORARY ADDED TO TEST RATE LIMIT FLOW
13201
- if (API_KEY === 'xxxx') {
13202
- return `${SERVICE_API_KEY.Etherscan}${ERROR_MESSAGES_FLAG.RATE_LIMIT}`;
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
- let action;
13211
- switch (type) {
13212
- case 'all-txns':
13213
- action = 'txlist';
13214
- break;
13215
- case 'token-txns':
13216
- action = 'tokentx';
13217
- break;
13218
- case 'nft-txns':
13219
- action = 'tokennfttx';
13220
- break;
13221
- case 'gas':
13222
- action = 'gastracker';
13223
- break;
13224
- default:
13225
- return `${SERVICE_API_KEY.Etherscan}${ERROR_MESSAGES_FLAG.INVALID_TYPE}`;
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
- let url = `https://api.etherscan.io/v2/api?chainid=${chainId}&module=account&action=${action}&apikey=${API_KEY}`;
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 (['all-txns', 'token-txns', 'nft-txns'].includes(type)) {
13231
- if (!address) return `${SERVICE_API_KEY.Etherscan}${ERROR_MESSAGES_FLAG.INVALID_ADDRESS}`;
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
- try {
13241
- const response = await fetch(url);
13242
- if (!response.ok) throw new Error(`HTTP error! Status: ${response.status}`);
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
- if (typeof json.result === 'string' && json.result.includes('Max rate limit reached')) {
13250
- return `${SERVICE_API_KEY.Etherscan}${ERROR_MESSAGES_FLAG.RATE_LIMIT}`;
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
- return json.result;
13254
- } catch (error) {
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-23",
3
+ "version": "4.4.11-mod-23-patch-1",
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"
@@ -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
  *
@@ -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
  *