@fileverse-dev/formulajs 4.4.11-mod-27 → 4.4.11-mod-28

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
@@ -13126,6 +13126,13 @@ if(!timestamp || !chain || !apiKey) return
13126
13126
 
13127
13127
  };
13128
13128
 
13129
+ function toTimestamp(dateStr) {
13130
+ // Expecting format: "DD/MM/YYYY"
13131
+ const [day, month, year] = dateStr.split("/").map(Number);
13132
+ const date = new Date(year, month - 1, day);
13133
+ return Math.floor(date.getTime() / 1000); // Unix timestamp in seconds
13134
+ }
13135
+
13129
13136
  async function handleScanRequest({
13130
13137
  scanKey,
13131
13138
  baseUrl,
@@ -13166,8 +13173,8 @@ if (scanKey === SERVICE_API_KEY.Gnosisscan) chainId = 'gnosis';
13166
13173
 
13167
13174
  if (!isNaN(startDate) && !isNaN(endDate)) {
13168
13175
  const [startBlock, endBlock] = await Promise.all([
13169
- fromTimeStampToBlock(startDate, chain, API_KEY),
13170
- fromTimeStampToBlock(endDate, chain, API_KEY),
13176
+ fromTimeStampToBlock(toTimestamp(startDate), chain, API_KEY),
13177
+ fromTimeStampToBlock(toTimestamp(endDate), chain, API_KEY),
13171
13178
  ]);
13172
13179
  url += `&startblock=${startBlock}&endblock=${endBlock}`;
13173
13180
  }
@@ -13191,13 +13198,6 @@ if (scanKey === SERVICE_API_KEY.Gnosisscan) chainId = 'gnosis';
13191
13198
  }
13192
13199
  }
13193
13200
 
13194
- function toTimestamp(dateStr) {
13195
- // Expecting format: "DD/MM/YYYY"
13196
- const [day, month, year] = dateStr.split("/").map(Number);
13197
- const date = new Date(year, month - 1, day);
13198
- return Math.floor(date.getTime() / 1000); // Unix timestamp in seconds
13199
- }
13200
-
13201
13201
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
13202
13202
 
13203
13203
  var sha3 = {exports: {}};
@@ -13959,66 +13959,58 @@ function bytesToHex(bytes) {
13959
13959
  return Array.from(bytes).map(b => b.toString(16).padStart(2, "0")).join("");
13960
13960
  }
13961
13961
 
13962
- async function FIREFLY(platform, contentType, identifier) {
13962
+ async function FIREFLY(platform, contentType, identifier, start = 0, end = 10) {
13963
13963
  const API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Firefly);
13964
13964
  if (!API_KEY) return `${SERVICE_API_KEY.Firefly}${ERROR_MESSAGES_FLAG.MISSING_KEY}`;
13965
13965
 
13966
13966
  const baseUrl = "https://openapi.firefly.land/v1/fileverse/fetch";
13967
- const headers = {
13968
- "x-api-key": API_KEY,
13967
+ const headers = { "x-api-key": API_KEY };
13968
+
13969
+ const typeMap = {
13970
+ farcaster: {
13971
+ posts: "farcasterid",
13972
+ replies: "farcasterpostid",
13973
+ channels: "farcasterchannels",
13974
+ },
13975
+ lens: {
13976
+ posts: "lensid",
13977
+ replies: "lenspostid",
13978
+ }
13969
13979
  };
13970
13980
 
13971
- let query = "";
13972
- let type = "";
13981
+ const platformType = typeMap[platform]?.[contentType];
13982
+ if (!platformType) return `${SERVICE_API_KEY.Firefly}${ERROR_MESSAGES_FLAG.INVALID_TYPE}`;
13973
13983
 
13974
- // normalize input
13975
- const normalizedId = identifier.trim().replace(/.*\/([^\/]+)$/, "$1"); // extract last part of URL if needed
13976
-
13977
- if (platform === "farcaster") {
13978
- if (contentType === "posts") {
13979
- type = "farcasterid";
13980
- query = normalizedId;
13981
- } else if (contentType === "replies") {
13982
- type = "farcasterpostid";
13983
- query = normalizedId.startsWith("0x") ? normalizedId : Number(normalizedId).toString();
13984
- } else {
13985
- return `${SERVICE_API_KEY.Firefly}${ERROR_MESSAGES_FLAG.INVALID_TYPE}`;
13986
- }
13987
- } else if (platform === "lens") {
13988
- if (contentType === "posts") {
13989
- type = "lensid";
13990
- query = normalizedId;
13991
- } else if (contentType === "replies") {
13992
- type = "lenspostid";
13993
- query = normalizedId;
13994
- } else {
13995
- return `${SERVICE_API_KEY.Firefly}${ERROR_MESSAGES_FLAG.INVALID_TYPE}`;
13996
- }
13997
- } else {
13998
- return `${SERVICE_API_KEY.Firefly}${ERROR_MESSAGES_FLAG.INVALID_PARAM}`;
13999
- }
13984
+ const query = identifier
13985
+ .split(",")
13986
+ .map(s => s.trim())
13987
+ .filter(Boolean)
13988
+ .join(",");
14000
13989
 
14001
13990
  const url = new URL(baseUrl);
14002
13991
  url.searchParams.set("query", query);
14003
- url.searchParams.set("type", type);
14004
- url.searchParams.set("size", "10");
14005
- url.searchParams.set("cursor", "0");
13992
+ url.searchParams.set("type", platformType);
13993
+ url.searchParams.set("start", String(start));
13994
+ url.searchParams.set("end", String(end));
14006
13995
 
14007
13996
  try {
14008
13997
  const res = await fetch(url.toString(), { headers });
14009
13998
  if (!res.ok) throw new Error(`HTTP ${res.status}`);
13999
+
14010
14000
  const json = await res.json();
14011
- const flattened = Array.isArray(json?.data)
14012
- ? json.data.map(item => ({
14013
- id: item?.id || null,
14014
- author: item?.author?.username || item?.author?.handle || "",
14015
- text: item?.text || item?.metadata?.content?.content || "",
14016
- createdAt: item?.createdAt || "",
14017
- platform: platform,
14018
- }))
14019
- : [];
14020
-
14021
- return flattened;
14001
+ if (!Array.isArray(json?.data)) return [];
14002
+
14003
+ return json.data.map(item => {
14004
+ const flat = {};
14005
+ for (const [key, value] of Object.entries(item)) {
14006
+ if (typeof value !== "object" || value === null) {
14007
+ flat[key] = value;
14008
+ }
14009
+ }
14010
+ flat.platform = platform;
14011
+ return flat;
14012
+ });
14013
+
14022
14014
  } catch (err) {
14023
14015
  console.error("FIREFLY fetch error:", err);
14024
14016
  return ERROR_MESSAGES_FLAG.DEFAULT;
@@ -14026,6 +14018,9 @@ async function FIREFLY(platform, contentType, identifier) {
14026
14018
  }
14027
14019
 
14028
14020
 
14021
+
14022
+
14023
+
14029
14024
  async function BLOCKSCOUT(address, type, chain, startTimestamp, endTimestamp, page, offset) {
14030
14025
  if (!chain) {
14031
14026
  chain = 'ethereum';
@@ -14041,6 +14036,17 @@ async function BLOCKSCOUT(address, type, chain, startTimestamp, endTimestamp, pa
14041
14036
  startTimestamp = Math.floor(startTimestamp / 1000);
14042
14037
  }
14043
14038
 
14039
+ if(isNaN(startTimestamp)){
14040
+ startTimestamp = toTimestamp(startTimestamp);
14041
+ }
14042
+
14043
+
14044
+ if(isNaN(endTimestamp) && endTimestamp){
14045
+ endTimestamp = toTimestamp(endTimestamp);
14046
+ }
14047
+
14048
+
14049
+
14044
14050
  const hostname = BLOCKSCOUT_CHAINS_MAP[chain];
14045
14051
 
14046
14052
  let requestUrl;
@@ -14165,7 +14171,7 @@ async function NEYNAR(
14165
14171
  return ERROR_MESSAGES_FLAG.DEFAULT;
14166
14172
  }
14167
14173
  }
14168
- async function GNOSIS({
14174
+ async function GNOSISPAY({
14169
14175
  cardId,
14170
14176
  startDate,
14171
14177
  endDate,
@@ -14181,11 +14187,11 @@ async function GNOSIS({
14181
14187
  url.searchParams.set('limit', limit.toString());
14182
14188
  url.searchParams.set('offset', offset.toString());
14183
14189
 
14184
- if (!isNaN(startDate)) {
14190
+ if (!isNaN(toTimestamp(startDate))) {
14185
14191
  url.searchParams.set('startDate', new Date(startDate * 1000).toISOString());
14186
14192
  }
14187
14193
 
14188
- if (!isNaN(endDate)) {
14194
+ if (!isNaN(toTimestamp(endDate))) {
14189
14195
  url.searchParams.set('endDate', new Date(endDate * 1000).toISOString());
14190
14196
  }
14191
14197
 
@@ -14520,4 +14526,4 @@ async function SAFE(address, utility, chain, limit, offset) {
14520
14526
 
14521
14527
  const utils = { errors, symbols, date };
14522
14528
 
14523
- 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 };
14529
+ 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, GNOSISPAY, 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-27",
3
+ "version": "4.4.11-mod-28",
4
4
  "description": "JavaScript implementation of most Microsoft Excel formula functions",
5
5
  "author": "Formulajs",
6
6
  "publishConfig": {
@@ -1529,7 +1529,7 @@ export namespace FINV { }
1529
1529
  * @returns
1530
1530
  */
1531
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>;
1532
+ export function FIREFLY(platform: any, contentType: any, identifier: any, start?: number, end?: number): Promise<any>;
1533
1533
  /**
1534
1534
  * Returns the Fisher transformation.
1535
1535
  *
@@ -1791,7 +1791,7 @@ export function GEOMEAN(...args: any[]): any;
1791
1791
  * @returns
1792
1792
  */
1793
1793
  export function GESTEP(number: any, step: any): any;
1794
- export function GNOSIS({ cardId, startDate, endDate, limit, offset, }: {
1794
+ export function GNOSISPAY({ cardId, startDate, endDate, limit, offset, }: {
1795
1795
  cardId: any;
1796
1796
  startDate: any;
1797
1797
  endDate: any;
@@ -1529,7 +1529,7 @@ export namespace FINV { }
1529
1529
  * @returns
1530
1530
  */
1531
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>;
1532
+ export function FIREFLY(platform: any, contentType: any, identifier: any, start?: number, end?: number): Promise<any>;
1533
1533
  /**
1534
1534
  * Returns the Fisher transformation.
1535
1535
  *
@@ -1791,7 +1791,7 @@ export function GEOMEAN(...args: any[]): any;
1791
1791
  * @returns
1792
1792
  */
1793
1793
  export function GESTEP(number: any, step: any): any;
1794
- export function GNOSIS({ cardId, startDate, endDate, limit, offset, }: {
1794
+ export function GNOSISPAY({ cardId, startDate, endDate, limit, offset, }: {
1795
1795
  cardId: any;
1796
1796
  startDate: any;
1797
1797
  endDate: any;