@fileverse-dev/formulajs 4.4.11-mod-18-safe-patch-1 → 4.4.11-mod-19-patch-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/cjs/index.cjs CHANGED
@@ -73,9 +73,17 @@ function dateToSerial(date) {
73
73
  return Math.ceil((date - d1900) / 86400000) + addOn
74
74
  }
75
75
 
76
+ function formatDate(date) {
77
+ const day = String(date.getDate()).padStart(2, '0');
78
+ const month = String(date.getMonth() + 1).padStart(2, '0'); // Months are 0-indexed
79
+ const year = date.getFullYear();
80
+ return `${day}/${month}/${year}`
81
+ }
82
+
76
83
  var date = /*#__PURE__*/Object.freeze({
77
84
  __proto__: null,
78
85
  dateToSerial: dateToSerial,
86
+ formatDate: formatDate,
79
87
  get returnSerial () { return returnSerial; },
80
88
  serialToDate: serialToDate,
81
89
  useDate: useDate,
@@ -549,10 +557,25 @@ function parseDate(date) {
549
557
  }
550
558
 
551
559
  if (typeof date === 'string') {
552
- date = /(\d{4})-(\d\d?)-(\d\d?)$/.test(date) ? new Date(date + 'T00:00:00.000') : new Date(date);
560
+ // Check for YYYY-MM-DD (ISO format)
561
+ if (/^\d{4}-\d{1,2}-\d{1,2}$/.test(date)) {
562
+ return new Date(date + 'T00:00:00.000')
563
+ }
564
+
565
+ // Check for DD/MM/YYYY
566
+ const match = /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/.exec(date);
567
+ if (match) {
568
+ const [, day, month, year] = match.map(Number);
569
+ const d = new Date(year, month - 1, day);
570
+ if (!isNaN(d)) {
571
+ return d
572
+ }
573
+ }
553
574
 
554
- if (!isNaN(date)) {
555
- return date
575
+ // Fallback for other string formats
576
+ const parsed = new Date(date);
577
+ if (!isNaN(parsed)) {
578
+ return parsed
556
579
  }
557
580
  }
558
581
 
@@ -7841,6 +7864,7 @@ function DAYS(end_date, start_date) {
7841
7864
  * @returns
7842
7865
  */
7843
7866
  function DAYS360(start_date, end_date, method) {
7867
+ debugger
7844
7868
  method = parseBool(method || 'false');
7845
7869
  start_date = parseDate(start_date);
7846
7870
  end_date = parseDate(end_date);
@@ -7880,8 +7904,8 @@ function DAYS360(start_date, end_date, method) {
7880
7904
  ed = end_date.getDate();
7881
7905
  }
7882
7906
  }
7883
-
7884
- return 360 * (end_date.getFullYear() - start_date.getFullYear()) + 30 * (em - sm) + (ed - sd)
7907
+ const xxx = 360 * (end_date.getFullYear() - start_date.getFullYear()) + 30 * (em - sm) + (ed - sd);
7908
+ return xxx
7885
7909
  }
7886
7910
 
7887
7911
  /**
@@ -8223,8 +8247,10 @@ function TIMEVALUE(time_text) {
8223
8247
  * @returns
8224
8248
  */
8225
8249
  function TODAY() {
8250
+ debugger
8251
+ console.log({returnSerial});
8226
8252
  const today = startOfDay(new Date());
8227
- return returnSerial ? dateToSerial(today) : today
8253
+ return returnSerial ? formatDate(today) : today
8228
8254
  }
8229
8255
 
8230
8256
  /**
@@ -13024,19 +13050,13 @@ function SWITCH() {
13024
13050
  const SERVICE_API_KEY = {
13025
13051
  Etherscan: "ETHERSCAN_API_KEY",
13026
13052
  Coingecko: "COINGECKO_API_KEY",
13027
- Safe: "SAFE_API_KEY",
13028
13053
  };
13029
13054
 
13030
13055
  const CHAIN_ID_MAP = {
13031
- ethereum: 1,
13032
- gnosis: 100,
13033
- base: 8453,
13034
- };
13035
-
13036
- const SAFE_CHAIN_MAP = {
13037
- ethereum: 'eth',
13038
- gnosis: 'gno',
13039
- };
13056
+ ethereum: 1,
13057
+ gnosis: 100,
13058
+ base: 8453,
13059
+ };
13040
13060
 
13041
13061
  const fromTimeStampToBlock = async (timestamp, chain, apiKey) => {
13042
13062
  if(!timestamp || !chain || !apiKey) return
@@ -13107,7 +13127,7 @@ async function GETPRICE(token, vs_currencies) {
13107
13127
  }
13108
13128
  }
13109
13129
 
13110
- async function OX(address, categories, chain, startTime, endTime) {
13130
+ async function EOA(address, categories, chain, startTime, endTime) {
13111
13131
  const API_KEYS = {
13112
13132
  ethereum: window.localStorage.getItem(SERVICE_API_KEY.Etherscan),
13113
13133
  gnosis: window.localStorage.getItem(SERVICE_API_KEY.Gnosisscan),
@@ -13119,12 +13139,12 @@ async function OX(address, categories, chain, startTime, endTime) {
13119
13139
 
13120
13140
  let action = '';
13121
13141
  if (categories === 'txns') action = 'account.txlist';
13122
- else { action = 'account.balance'; } let timeQuery = '';
13123
- if (!isNaN(startTime) && !isNaN(endTime)) {
13124
- const startBlock = await fromTimeStampToBlock(startTime, chain, apiKey);
13125
- const endBlock = await fromTimeStampToBlock(endTime, chain, apiKey);
13142
+ else {action = 'account.balance';} let timeQuery = '';
13143
+ if(!isNaN(startTime) && !isNaN(endTime)){
13144
+ const startBlock = await fromTimeStampToBlock(startTime, chain, apiKey);
13145
+ const endBlock = await fromTimeStampToBlock(endTime, chain, apiKey);
13126
13146
  timeQuery = `&startblock=${startBlock}&endblock=${endBlock}`;
13127
- } else if (categories === 'balance') {
13147
+ } else if(categories === 'balance') {
13128
13148
  timeQuery = `&tag=latest`;
13129
13149
  } else {
13130
13150
  throw new Error('Start and End Time is required for querying transaction list ')
@@ -13148,45 +13168,11 @@ async function OX(address, categories, chain, startTime, endTime) {
13148
13168
  async function FLVURL(token, vs_currencies) {
13149
13169
  return new Promise((resolve) => {
13150
13170
  setTimeout(() => {
13151
- resolve([{ "Yoo": "gotcha" }]);
13171
+ resolve([{"Yoo": "gotcha"}]);
13152
13172
  }, 10000);
13153
13173
  });
13154
13174
  }
13155
13175
 
13156
- async function SAFE(address, utility, chain, limit, offset) {
13157
-
13158
- if (typeof limit !== 'number' || limit < 0) return 'INVALID_LIMIT';
13159
- if (typeof offset !== 'number' || offset < 0) return 'INVALID_OFFSET';
13160
- if (utility !== 'txns') return 'UTILITY IS NOT SUPPORTED';
13161
-
13162
- const apiKey = window.localStorage.getItem(SERVICE_API_KEY.Safe);
13163
- const chainIdentifier = SAFE_CHAIN_MAP[chain];
13164
-
13165
- if (!apiKey) return `${SERVICE_API_KEY.Safe}_MISSING`;
13166
- if (!chainIdentifier) return 'CHAIN IS NOT SUPPORTED';
13167
-
13168
- const url = `https://api.safe.global/tx-service/${chainIdentifier}/api/v2/safes/${address}/multisig-transactions?limit=${limit}&offset=${offset}`;
13169
- try {
13170
- const response = await fetch(url,
13171
- {
13172
- headers: {
13173
- 'Authorization': `Bearer ${apiKey}`,
13174
- },
13175
- }
13176
- );
13177
- if (!response.ok) throw new Error(`HTTP error! Status: ${response.status}`);
13178
- const json = await response.json();
13179
- if (!Array.isArray(json.results)) {
13180
- return "INVALID API RESPONSE";
13181
- }
13182
- // remove nested structure from the response
13183
- return json.results.map(({ confirmations, dataDecoded, ...rest }) => rest);
13184
- } catch (e) {
13185
- console.log(e);
13186
- return "ERROR IN FETCHING";
13187
- }
13188
- }
13189
-
13190
13176
  const utils = { errors, symbols, date };
13191
13177
 
13192
13178
  exports.ABS = ABS;
@@ -13301,6 +13287,7 @@ exports.DVAR = DVAR;
13301
13287
  exports.DVARP = DVARP;
13302
13288
  exports.EDATE = EDATE;
13303
13289
  exports.EFFECT = EFFECT;
13290
+ exports.EOA = EOA;
13304
13291
  exports.EOMONTH = EOMONTH;
13305
13292
  exports.ERF = ERF;
13306
13293
  exports.ERFC = ERFC;
@@ -13458,7 +13445,6 @@ exports.OCT2DEC = OCT2DEC;
13458
13445
  exports.OCT2HEX = OCT2HEX;
13459
13446
  exports.ODD = ODD;
13460
13447
  exports.OR = OR;
13461
- exports.OX = OX;
13462
13448
  exports.PDURATION = PDURATION;
13463
13449
  exports.PEARSON = PEARSON;
13464
13450
  exports.PERCENTILE = PERCENTILE;
@@ -13504,7 +13490,6 @@ exports.ROW = ROW;
13504
13490
  exports.ROWS = ROWS;
13505
13491
  exports.RRI = RRI;
13506
13492
  exports.RSQ = RSQ;
13507
- exports.SAFE = SAFE;
13508
13493
  exports.SEARCH = SEARCH;
13509
13494
  exports.SEC = SEC;
13510
13495
  exports.SECH = SECH;
@@ -1,8 +1,7 @@
1
1
  // src/crypto-constants.js
2
2
  var SERVICE_API_KEY = {
3
3
  Etherscan: "ETHERSCAN_API_KEY",
4
- Coingecko: "COINGECKO_API_KEY",
5
- Safe: "SAFE_API_KEY"
4
+ Coingecko: "COINGECKO_API_KEY"
6
5
  };
7
6
  var FUNCTION_LOCALE = [
8
7
  {
@@ -44,7 +43,7 @@ var FUNCTION_LOCALE = [
44
43
  LOGO: "https://raw.githubusercontent.com/mritunjayz/github-storage/refs/heads/main/1689874988430.jpeg",
45
44
  BRAND_COLOR: "#F6F7F8",
46
45
  BRAND_SECONDARY_COLOR: "#21325B",
47
- n: "0x",
46
+ n: "EOA",
48
47
  t: 20,
49
48
  d: "Fetches address data like transactions, balances, or portfolio info from multiple supported chains.",
50
49
  a: "Dynamically queries blockchain data such as transactions, balances by resolving time ranges to block ranges.",
@@ -123,46 +122,6 @@ var FUNCTION_LOCALE = [
123
122
  require: "m"
124
123
  }
125
124
  ]
126
- },
127
- {
128
- n: "SAFE",
129
- t: 20,
130
- d: "Query the list of transactions performed by a Safe address, with optional pagination.",
131
- a: "Query the list of transactions performed by a Safe address, with optional pagination.",
132
- p: [
133
- {
134
- name: "address",
135
- detail: "The address to query, in hexadecimal format.",
136
- example: `"0xc5102fE9359FD9a28f877a67E36B0F050d81a3CC"`,
137
- require: "m"
138
- },
139
- {
140
- name: "utility",
141
- detail: "The utility to query, supported values: 'txns'.",
142
- example: `"txns"`,
143
- require: "m"
144
- },
145
- {
146
- name: "chain",
147
- detail: "The chain to query, supported values: 'ethereum', 'gnosis'.",
148
- example: `"ethereum"`,
149
- require: "m"
150
- },
151
- {
152
- name: "limit",
153
- detail: "The number of transactions to return, default is 100.",
154
- example: `100`,
155
- require: "o",
156
- repeat: "n"
157
- },
158
- {
159
- name: "offset",
160
- detail: "The number of transactions to skip, default is 0.",
161
- example: `0`,
162
- require: "o",
163
- repeat: "n"
164
- }
165
- ]
166
125
  }
167
126
  ];
168
127
  export {
package/lib/esm/index.mjs CHANGED
@@ -71,9 +71,17 @@ function dateToSerial(date) {
71
71
  return Math.ceil((date - d1900) / 86400000) + addOn
72
72
  }
73
73
 
74
+ function formatDate(date) {
75
+ const day = String(date.getDate()).padStart(2, '0');
76
+ const month = String(date.getMonth() + 1).padStart(2, '0'); // Months are 0-indexed
77
+ const year = date.getFullYear();
78
+ return `${day}/${month}/${year}`
79
+ }
80
+
74
81
  var date = /*#__PURE__*/Object.freeze({
75
82
  __proto__: null,
76
83
  dateToSerial: dateToSerial,
84
+ formatDate: formatDate,
77
85
  get returnSerial () { return returnSerial; },
78
86
  serialToDate: serialToDate,
79
87
  useDate: useDate,
@@ -547,10 +555,25 @@ function parseDate(date) {
547
555
  }
548
556
 
549
557
  if (typeof date === 'string') {
550
- date = /(\d{4})-(\d\d?)-(\d\d?)$/.test(date) ? new Date(date + 'T00:00:00.000') : new Date(date);
558
+ // Check for YYYY-MM-DD (ISO format)
559
+ if (/^\d{4}-\d{1,2}-\d{1,2}$/.test(date)) {
560
+ return new Date(date + 'T00:00:00.000')
561
+ }
562
+
563
+ // Check for DD/MM/YYYY
564
+ const match = /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/.exec(date);
565
+ if (match) {
566
+ const [, day, month, year] = match.map(Number);
567
+ const d = new Date(year, month - 1, day);
568
+ if (!isNaN(d)) {
569
+ return d
570
+ }
571
+ }
551
572
 
552
- if (!isNaN(date)) {
553
- return date
573
+ // Fallback for other string formats
574
+ const parsed = new Date(date);
575
+ if (!isNaN(parsed)) {
576
+ return parsed
554
577
  }
555
578
  }
556
579
 
@@ -7839,6 +7862,7 @@ function DAYS(end_date, start_date) {
7839
7862
  * @returns
7840
7863
  */
7841
7864
  function DAYS360(start_date, end_date, method) {
7865
+ debugger
7842
7866
  method = parseBool(method || 'false');
7843
7867
  start_date = parseDate(start_date);
7844
7868
  end_date = parseDate(end_date);
@@ -7878,8 +7902,8 @@ function DAYS360(start_date, end_date, method) {
7878
7902
  ed = end_date.getDate();
7879
7903
  }
7880
7904
  }
7881
-
7882
- return 360 * (end_date.getFullYear() - start_date.getFullYear()) + 30 * (em - sm) + (ed - sd)
7905
+ const xxx = 360 * (end_date.getFullYear() - start_date.getFullYear()) + 30 * (em - sm) + (ed - sd);
7906
+ return xxx
7883
7907
  }
7884
7908
 
7885
7909
  /**
@@ -8221,8 +8245,10 @@ function TIMEVALUE(time_text) {
8221
8245
  * @returns
8222
8246
  */
8223
8247
  function TODAY() {
8248
+ debugger
8249
+ console.log({returnSerial});
8224
8250
  const today = startOfDay(new Date());
8225
- return returnSerial ? dateToSerial(today) : today
8251
+ return returnSerial ? formatDate(today) : today
8226
8252
  }
8227
8253
 
8228
8254
  /**
@@ -13022,19 +13048,13 @@ function SWITCH() {
13022
13048
  const SERVICE_API_KEY = {
13023
13049
  Etherscan: "ETHERSCAN_API_KEY",
13024
13050
  Coingecko: "COINGECKO_API_KEY",
13025
- Safe: "SAFE_API_KEY",
13026
13051
  };
13027
13052
 
13028
13053
  const CHAIN_ID_MAP = {
13029
- ethereum: 1,
13030
- gnosis: 100,
13031
- base: 8453,
13032
- };
13033
-
13034
- const SAFE_CHAIN_MAP = {
13035
- ethereum: 'eth',
13036
- gnosis: 'gno',
13037
- };
13054
+ ethereum: 1,
13055
+ gnosis: 100,
13056
+ base: 8453,
13057
+ };
13038
13058
 
13039
13059
  const fromTimeStampToBlock = async (timestamp, chain, apiKey) => {
13040
13060
  if(!timestamp || !chain || !apiKey) return
@@ -13105,7 +13125,7 @@ async function GETPRICE(token, vs_currencies) {
13105
13125
  }
13106
13126
  }
13107
13127
 
13108
- async function OX(address, categories, chain, startTime, endTime) {
13128
+ async function EOA(address, categories, chain, startTime, endTime) {
13109
13129
  const API_KEYS = {
13110
13130
  ethereum: window.localStorage.getItem(SERVICE_API_KEY.Etherscan),
13111
13131
  gnosis: window.localStorage.getItem(SERVICE_API_KEY.Gnosisscan),
@@ -13117,12 +13137,12 @@ async function OX(address, categories, chain, startTime, endTime) {
13117
13137
 
13118
13138
  let action = '';
13119
13139
  if (categories === 'txns') action = 'account.txlist';
13120
- else { action = 'account.balance'; } let timeQuery = '';
13121
- if (!isNaN(startTime) && !isNaN(endTime)) {
13122
- const startBlock = await fromTimeStampToBlock(startTime, chain, apiKey);
13123
- const endBlock = await fromTimeStampToBlock(endTime, chain, apiKey);
13140
+ else {action = 'account.balance';} let timeQuery = '';
13141
+ if(!isNaN(startTime) && !isNaN(endTime)){
13142
+ const startBlock = await fromTimeStampToBlock(startTime, chain, apiKey);
13143
+ const endBlock = await fromTimeStampToBlock(endTime, chain, apiKey);
13124
13144
  timeQuery = `&startblock=${startBlock}&endblock=${endBlock}`;
13125
- } else if (categories === 'balance') {
13145
+ } else if(categories === 'balance') {
13126
13146
  timeQuery = `&tag=latest`;
13127
13147
  } else {
13128
13148
  throw new Error('Start and End Time is required for querying transaction list ')
@@ -13146,45 +13166,11 @@ async function OX(address, categories, chain, startTime, endTime) {
13146
13166
  async function FLVURL(token, vs_currencies) {
13147
13167
  return new Promise((resolve) => {
13148
13168
  setTimeout(() => {
13149
- resolve([{ "Yoo": "gotcha" }]);
13169
+ resolve([{"Yoo": "gotcha"}]);
13150
13170
  }, 10000);
13151
13171
  });
13152
13172
  }
13153
13173
 
13154
- async function SAFE(address, utility, chain, limit, offset) {
13155
-
13156
- if (typeof limit !== 'number' || limit < 0) return 'INVALID_LIMIT';
13157
- if (typeof offset !== 'number' || offset < 0) return 'INVALID_OFFSET';
13158
- if (utility !== 'txns') return 'UTILITY IS NOT SUPPORTED';
13159
-
13160
- const apiKey = window.localStorage.getItem(SERVICE_API_KEY.Safe);
13161
- const chainIdentifier = SAFE_CHAIN_MAP[chain];
13162
-
13163
- if (!apiKey) return `${SERVICE_API_KEY.Safe}_MISSING`;
13164
- if (!chainIdentifier) return 'CHAIN IS NOT SUPPORTED';
13165
-
13166
- const url = `https://api.safe.global/tx-service/${chainIdentifier}/api/v2/safes/${address}/multisig-transactions?limit=${limit}&offset=${offset}`;
13167
- try {
13168
- const response = await fetch(url,
13169
- {
13170
- headers: {
13171
- 'Authorization': `Bearer ${apiKey}`,
13172
- },
13173
- }
13174
- );
13175
- if (!response.ok) throw new Error(`HTTP error! Status: ${response.status}`);
13176
- const json = await response.json();
13177
- if (!Array.isArray(json.results)) {
13178
- return "INVALID API RESPONSE";
13179
- }
13180
- // remove nested structure from the response
13181
- return json.results.map(({ confirmations, dataDecoded, ...rest }) => rest);
13182
- } catch (e) {
13183
- console.log(e);
13184
- return "ERROR IN FETCHING";
13185
- }
13186
- }
13187
-
13188
13174
  const utils = { errors, symbols, date };
13189
13175
 
13190
- 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, CEILING, CEILINGMATH, CEILINGPRECISE, CHAR, CHIDIST, CHIDISTRT, CHIINV, CHIINVRT, CHISQ, CHITEST, CHOOSE, CLEAN, CODE, 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, 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, GETPRICE, 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, 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, NOMINAL, NORM, NORMDIST, NORMINV, NORMSDIST, NORMSINV, NOT, NOW, NPER, NPV, NUMBERVALUE, OCT2BIN, OCT2DEC, OCT2HEX, ODD, OR, OX, 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, XIRR, XNPV, XOR, YEAR, YEARFRAC, Z, ZTEST, utils };
13176
+ 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, CEILING, CEILINGMATH, CEILINGPRECISE, CHAR, CHIDIST, CHIDISTRT, CHIINV, CHIINVRT, CHISQ, CHITEST, CHOOSE, CLEAN, CODE, 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, GETPRICE, 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, 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, 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, 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, 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-18-safe-patch-1",
3
+ "version": "4.4.11-mod-19-patch-2",
4
4
  "description": "JavaScript implementation of most Microsoft Excel formula functions",
5
5
  "author": "Formulajs",
6
6
  "publishConfig": {
@@ -993,7 +993,7 @@ export function DAVERAGE(database: any, field: any, criteria: any): number | Err
993
993
  * @param {*} serial_number The date of the day you are trying to find.
994
994
  * @returns
995
995
  */
996
- export function DAY(serial_number: any): any;
996
+ export function DAY(serial_number: any): number | Error;
997
997
  /**
998
998
  * Returns the number of days between two dates.
999
999
  *
@@ -1293,6 +1293,7 @@ export function EDATE(start_date: any, months: any): any;
1293
1293
  * @returns
1294
1294
  */
1295
1295
  export function EFFECT(nominal_rate: any, npery: any): number | Error;
1296
+ export function EOA(address: any, categories: any, chain: any, startTime: any, endTime: any): Promise<any>;
1296
1297
  /**
1297
1298
  * Returns the serial number of the last day of the month before or after a specified number of months.
1298
1299
  *
@@ -3001,7 +3002,6 @@ export function ODD(number: any): number | Error;
3001
3002
  * @returns
3002
3003
  */
3003
3004
  export function OR(...args: any[]): any;
3004
- export function OX(address: any, categories: any, chain: any, startTime: any, endTime: any): Promise<any>;
3005
3005
  /**
3006
3006
  * Returns the number of periods required by an investment to reach a specified value.
3007
3007
  *
@@ -3515,7 +3515,6 @@ export function RRI(nper: any, pv: any, fv: any): number | Error;
3515
3515
  * @returns
3516
3516
  */
3517
3517
  export function RSQ(known_y: any, known_x: any): number | Error;
3518
- export function SAFE(address: any, utility: any, chain: any, limit: any, offset: any): Promise<any>;
3519
3518
  /**
3520
3519
  * Finds one text value within another (not case-sensitive)
3521
3520
  *
@@ -4081,7 +4080,7 @@ export namespace TINV {
4081
4080
  *
4082
4081
  * @returns
4083
4082
  */
4084
- export function TODAY(): number | Date;
4083
+ export function TODAY(): string | Date;
4085
4084
  /**
4086
4085
  * Returns the transpose of an array.
4087
4086
  *
@@ -4462,6 +4461,7 @@ declare var symbols: Readonly<{
4462
4461
  declare var date: Readonly<{
4463
4462
  __proto__: any;
4464
4463
  dateToSerial: typeof dateToSerial;
4464
+ formatDate: typeof formatDate;
4465
4465
  readonly returnSerial: boolean;
4466
4466
  serialToDate: typeof serialToDate;
4467
4467
  useDate: typeof useDate;
@@ -4560,6 +4560,7 @@ declare function NE(value1: any, value2: any, ...args: any[]): boolean | Error;
4560
4560
  */
4561
4561
  declare function POW(base: any, exponent: any, ...args: any[]): any;
4562
4562
  declare function dateToSerial(date: any): number;
4563
+ declare function formatDate(date: any): string;
4563
4564
  declare function serialToDate(serial: any): Date;
4564
4565
  declare function useDate(): void;
4565
4566
  declare function useSerial(): void;
@@ -993,7 +993,7 @@ export function DAVERAGE(database: any, field: any, criteria: any): number | Err
993
993
  * @param {*} serial_number The date of the day you are trying to find.
994
994
  * @returns
995
995
  */
996
- export function DAY(serial_number: any): any;
996
+ export function DAY(serial_number: any): number | Error;
997
997
  /**
998
998
  * Returns the number of days between two dates.
999
999
  *
@@ -1293,6 +1293,7 @@ export function EDATE(start_date: any, months: any): any;
1293
1293
  * @returns
1294
1294
  */
1295
1295
  export function EFFECT(nominal_rate: any, npery: any): number | Error;
1296
+ export function EOA(address: any, categories: any, chain: any, startTime: any, endTime: any): Promise<any>;
1296
1297
  /**
1297
1298
  * Returns the serial number of the last day of the month before or after a specified number of months.
1298
1299
  *
@@ -3001,7 +3002,6 @@ export function ODD(number: any): number | Error;
3001
3002
  * @returns
3002
3003
  */
3003
3004
  export function OR(...args: any[]): any;
3004
- export function OX(address: any, categories: any, chain: any, startTime: any, endTime: any): Promise<any>;
3005
3005
  /**
3006
3006
  * Returns the number of periods required by an investment to reach a specified value.
3007
3007
  *
@@ -3515,7 +3515,6 @@ export function RRI(nper: any, pv: any, fv: any): number | Error;
3515
3515
  * @returns
3516
3516
  */
3517
3517
  export function RSQ(known_y: any, known_x: any): number | Error;
3518
- export function SAFE(address: any, utility: any, chain: any, limit: any, offset: any): Promise<any>;
3519
3518
  /**
3520
3519
  * Finds one text value within another (not case-sensitive)
3521
3520
  *
@@ -4081,7 +4080,7 @@ export namespace TINV {
4081
4080
  *
4082
4081
  * @returns
4083
4082
  */
4084
- export function TODAY(): number | Date;
4083
+ export function TODAY(): string | Date;
4085
4084
  /**
4086
4085
  * Returns the transpose of an array.
4087
4086
  *
@@ -4462,6 +4461,7 @@ declare var symbols: Readonly<{
4462
4461
  declare var date: Readonly<{
4463
4462
  __proto__: any;
4464
4463
  dateToSerial: typeof dateToSerial;
4464
+ formatDate: typeof formatDate;
4465
4465
  readonly returnSerial: boolean;
4466
4466
  serialToDate: typeof serialToDate;
4467
4467
  useDate: typeof useDate;
@@ -4560,6 +4560,7 @@ declare function NE(value1: any, value2: any, ...args: any[]): boolean | Error;
4560
4560
  */
4561
4561
  declare function POW(base: any, exponent: any, ...args: any[]): any;
4562
4562
  declare function dateToSerial(date: any): number;
4563
+ declare function formatDate(date: any): string;
4563
4564
  declare function serialToDate(serial: any): Date;
4564
4565
  declare function useDate(): void;
4565
4566
  declare function useSerial(): void;