@fileverse-dev/formulajs 4.4.11-mod-15-patch-1 → 4.4.11-mod-15-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
@@ -5182,9 +5182,47 @@ Z.TEST = (array, x, sigma) => {
5182
5182
  return 1 - NORM.S.DIST((AVERAGE(array) - x) / (sigma / Math.sqrt(n)), true)
5183
5183
  };
5184
5184
 
5185
- function PnL(){
5186
- console.log({ARR_ARGS: argsToArray(arguments), arguments});
5187
- return 12
5185
+ function PNL(){
5186
+ const [A, B] = argsToArray(arguments);
5187
+
5188
+ // Handle single numbers
5189
+ if (typeof A === "number" && typeof B === "number") {
5190
+ return A - B;
5191
+ }
5192
+
5193
+ // Handle 1D arrays
5194
+ if (Array.isArray(A) && Array.isArray(B) && typeof A[0] === "number") {
5195
+ if (A.length !== B.length) throw new Error("1D arrays must match in length");
5196
+ return A.reduce((sum, val, i) => sum + (val - B[i]), 0);
5197
+ }
5198
+
5199
+ // Handle 2D arrays
5200
+ if (Array.isArray(A[0]) && typeof A[0][0] === "number") {
5201
+ let total = 0;
5202
+ for (let i = 0; i < A.length; i++) {
5203
+ if (A[i].length !== B[i].length) throw new Error(`Row ${i} length mismatch`);
5204
+ for (let j = 0; j < A[i].length; j++) {
5205
+ total += A[i][j] - B[i][j];
5206
+ }
5207
+ }
5208
+ return total;
5209
+ }
5210
+
5211
+ // Handle 3D arrays
5212
+ if (Array.isArray(A[0][0])) {
5213
+ let total = 0;
5214
+ for (let i = 0; i < A.length; i++) {
5215
+ for (let j = 0; j < A[i].length; j++) {
5216
+ for (let k = 0; k < A[i][j].length; k++) {
5217
+ total += A[i][j][k] - B[i][j][k];
5218
+ }
5219
+ }
5220
+ }
5221
+ return total;
5222
+ }
5223
+
5224
+ throw new Error("Unsupported or mismatched structure");
5225
+
5188
5226
  }
5189
5227
 
5190
5228
  /**
@@ -6881,6 +6919,8 @@ function SUBTOTAL(function_num, ref1) {
6881
6919
  function SUM() {
6882
6920
  let result = 0;
6883
6921
 
6922
+ console.log("LLLLO", argsToArray(arguments), {arguments});
6923
+
6884
6924
  arrayEach(argsToArray(arguments), (value) => {
6885
6925
  if (result instanceof Error) {
6886
6926
  return false
@@ -12961,6 +13001,27 @@ const SERVICE_API_KEY = {
12961
13001
  BASESCAN: 'Basescan'
12962
13002
  };
12963
13003
 
13004
+ const CHAIN_API_BASE = {
13005
+ ethereum: 'https://api.etherscan.io/api',
13006
+ gnosis: 'https://api.gnosisscan.io/api',
13007
+ base: 'https://api.basescan.org/api',
13008
+ };
13009
+
13010
+ const fromTimeStampToBlock = async (timestamp, chain, apiKey) => {
13011
+ const baseUrl = CHAIN_API_BASE[chain];
13012
+ if(!baseUrl){
13013
+ throw new Error('Unsupported Chain')
13014
+ }
13015
+ try {
13016
+ const url = `${baseUrl}?module=block&action=getblocknobytime&timestamp=${timestamp}&closest=before&apikey=${apiKey}`;
13017
+ const res = await fetch(url);
13018
+ const json = await res.json();
13019
+ return parseInt(json.result);
13020
+ } catch {
13021
+ return 0;
13022
+ }
13023
+ };
13024
+
12964
13025
  async function ETHERSCAN(address, page, offset) {
12965
13026
  const API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Etherscan);
12966
13027
  const url = `https://api.etherscan.io/api?module=account&action=txlist&address=${address}&startblock=0&endblock=99999999&page=${page}&offset=${offset}&sort=asc&apikey=${API_KEY}`;
@@ -13027,28 +13088,11 @@ async function OX(address, categories, chain, startTime, endTime) {
13027
13088
  base: window.localStorage.getItem(SERVICE_API_KEY.Basescan),
13028
13089
  };
13029
13090
 
13030
- const CHAIN_API_BASE = {
13031
- ethereum: 'https://api.etherscan.io/api',
13032
- gnosis: 'https://api.gnosisscan.io/api',
13033
- base: 'https://api.basescan.org/api',
13034
- };
13035
-
13036
13091
  const apiKey = API_KEYS[chain];
13037
13092
  const baseUrl = CHAIN_API_BASE[chain];
13038
13093
 
13039
- const timeToBlock = async (timestamp) => {
13040
- try {
13041
- const url = `${baseUrl}?module=block&action=getblocknobytime&timestamp=${timestamp}&closest=before&apikey=${apiKey}`;
13042
- const res = await fetch(url);
13043
- const json = await res.json();
13044
- return parseInt(json.result);
13045
- } catch {
13046
- return 0;
13047
- }
13048
- };
13049
-
13050
- const startBlock = await timeToBlock(startTime);
13051
- const endBlock = await timeToBlock(endTime);
13094
+ const startBlock = await fromTimeStampToBlock(startTime, chain, apiKey);
13095
+ const endBlock = await fromTimeStampToBlock(endTime);
13052
13096
 
13053
13097
  let action = '';
13054
13098
  if (categories === 'txns') action = 'txlist';
@@ -13064,10 +13108,9 @@ async function OX(address, categories, chain, startTime, endTime) {
13064
13108
  if (json.result?.includes?.("Invalid API Key")) {
13065
13109
  return `${SERVICE_API_KEY[chain.charAt(0).toUpperCase() + chain.slice(1)]}_MISSING`;
13066
13110
  }
13067
-
13068
- console.log({ANSWER: json.result });
13069
13111
  return json.result;
13070
13112
  } catch (e) {
13113
+ console.log(e);
13071
13114
  return "ERROR IN FETCHING";
13072
13115
  }
13073
13116
  }
@@ -13366,6 +13409,7 @@ exports.PERMUTATIONA = PERMUTATIONA;
13366
13409
  exports.PHI = PHI;
13367
13410
  exports.PI = PI;
13368
13411
  exports.PMT = PMT;
13412
+ exports.PNL = PNL;
13369
13413
  exports.POISSON = POISSON;
13370
13414
  exports.POISSONDIST = POISSONDIST;
13371
13415
  exports.POWER = POWER;
@@ -13375,7 +13419,6 @@ exports.PROB = PROB;
13375
13419
  exports.PRODUCT = PRODUCT;
13376
13420
  exports.PROPER = PROPER;
13377
13421
  exports.PV = PV;
13378
- exports.PnL = PnL;
13379
13422
  exports.QUARTILE = QUARTILE;
13380
13423
  exports.QUARTILEEXC = QUARTILEEXC;
13381
13424
  exports.QUARTILEINC = QUARTILEINC;
@@ -42,10 +42,9 @@ var FUNCTION_LOCALE = [
42
42
  },
43
43
  {
44
44
  API_KEY: SERVICE_API_KEY.Etherscan,
45
- LOGO: "https://raw.githubusercontent.com/mritunjayz/github-storage/refs/heads/main/ox.png",
46
- // Replace with actual logo if available
47
- BRAND_COLOR: "#E5E5E5",
48
- BRAND_SECONDARY_COLOR: "#1A1A1A",
45
+ LOGO: "https://raw.githubusercontent.com/mritunjayz/github-storage/refs/heads/main/1689874988430.jpeg",
46
+ BRAND_COLOR: "#F6F7F8",
47
+ BRAND_SECONDARY_COLOR: "#21325B",
49
48
  n: "Ox",
50
49
  t: 20,
51
50
  d: "Fetches address data like transactions, balances, or portfolio info from multiple supported chains.",
@@ -125,26 +124,6 @@ var FUNCTION_LOCALE = [
125
124
  require: "m"
126
125
  }
127
126
  ]
128
- },
129
- {
130
- n: "PnL",
131
- t: 20,
132
- d: "Query the prices of one or more coins by using their unique Coin API IDs, symbols, or names.",
133
- a: "Query the prices of one or more coins by using their unique Coin API IDs, symbols, or names.",
134
- p: [
135
- {
136
- name: "token",
137
- detail: "coins' IDs, comma-separated if querying more than 1 coin.",
138
- example: `"bitcoin"`,
139
- require: "m"
140
- },
141
- {
142
- name: "vs_currency",
143
- detail: "target currency of coins, comma-separated if querying more than 1 currency",
144
- example: `"usd"`,
145
- require: "m"
146
- }
147
- ]
148
127
  }
149
128
  ];
150
129
  export {
package/lib/esm/index.mjs CHANGED
@@ -5180,9 +5180,47 @@ Z.TEST = (array, x, sigma) => {
5180
5180
  return 1 - NORM.S.DIST((AVERAGE(array) - x) / (sigma / Math.sqrt(n)), true)
5181
5181
  };
5182
5182
 
5183
- function PnL(){
5184
- console.log({ARR_ARGS: argsToArray(arguments), arguments});
5185
- return 12
5183
+ function PNL(){
5184
+ const [A, B] = argsToArray(arguments);
5185
+
5186
+ // Handle single numbers
5187
+ if (typeof A === "number" && typeof B === "number") {
5188
+ return A - B;
5189
+ }
5190
+
5191
+ // Handle 1D arrays
5192
+ if (Array.isArray(A) && Array.isArray(B) && typeof A[0] === "number") {
5193
+ if (A.length !== B.length) throw new Error("1D arrays must match in length");
5194
+ return A.reduce((sum, val, i) => sum + (val - B[i]), 0);
5195
+ }
5196
+
5197
+ // Handle 2D arrays
5198
+ if (Array.isArray(A[0]) && typeof A[0][0] === "number") {
5199
+ let total = 0;
5200
+ for (let i = 0; i < A.length; i++) {
5201
+ if (A[i].length !== B[i].length) throw new Error(`Row ${i} length mismatch`);
5202
+ for (let j = 0; j < A[i].length; j++) {
5203
+ total += A[i][j] - B[i][j];
5204
+ }
5205
+ }
5206
+ return total;
5207
+ }
5208
+
5209
+ // Handle 3D arrays
5210
+ if (Array.isArray(A[0][0])) {
5211
+ let total = 0;
5212
+ for (let i = 0; i < A.length; i++) {
5213
+ for (let j = 0; j < A[i].length; j++) {
5214
+ for (let k = 0; k < A[i][j].length; k++) {
5215
+ total += A[i][j][k] - B[i][j][k];
5216
+ }
5217
+ }
5218
+ }
5219
+ return total;
5220
+ }
5221
+
5222
+ throw new Error("Unsupported or mismatched structure");
5223
+
5186
5224
  }
5187
5225
 
5188
5226
  /**
@@ -6879,6 +6917,8 @@ function SUBTOTAL(function_num, ref1) {
6879
6917
  function SUM() {
6880
6918
  let result = 0;
6881
6919
 
6920
+ console.log("LLLLO", argsToArray(arguments), {arguments});
6921
+
6882
6922
  arrayEach(argsToArray(arguments), (value) => {
6883
6923
  if (result instanceof Error) {
6884
6924
  return false
@@ -12959,6 +12999,27 @@ const SERVICE_API_KEY = {
12959
12999
  BASESCAN: 'Basescan'
12960
13000
  };
12961
13001
 
13002
+ const CHAIN_API_BASE = {
13003
+ ethereum: 'https://api.etherscan.io/api',
13004
+ gnosis: 'https://api.gnosisscan.io/api',
13005
+ base: 'https://api.basescan.org/api',
13006
+ };
13007
+
13008
+ const fromTimeStampToBlock = async (timestamp, chain, apiKey) => {
13009
+ const baseUrl = CHAIN_API_BASE[chain];
13010
+ if(!baseUrl){
13011
+ throw new Error('Unsupported Chain')
13012
+ }
13013
+ try {
13014
+ const url = `${baseUrl}?module=block&action=getblocknobytime&timestamp=${timestamp}&closest=before&apikey=${apiKey}`;
13015
+ const res = await fetch(url);
13016
+ const json = await res.json();
13017
+ return parseInt(json.result);
13018
+ } catch {
13019
+ return 0;
13020
+ }
13021
+ };
13022
+
12962
13023
  async function ETHERSCAN(address, page, offset) {
12963
13024
  const API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Etherscan);
12964
13025
  const url = `https://api.etherscan.io/api?module=account&action=txlist&address=${address}&startblock=0&endblock=99999999&page=${page}&offset=${offset}&sort=asc&apikey=${API_KEY}`;
@@ -13025,28 +13086,11 @@ async function OX(address, categories, chain, startTime, endTime) {
13025
13086
  base: window.localStorage.getItem(SERVICE_API_KEY.Basescan),
13026
13087
  };
13027
13088
 
13028
- const CHAIN_API_BASE = {
13029
- ethereum: 'https://api.etherscan.io/api',
13030
- gnosis: 'https://api.gnosisscan.io/api',
13031
- base: 'https://api.basescan.org/api',
13032
- };
13033
-
13034
13089
  const apiKey = API_KEYS[chain];
13035
13090
  const baseUrl = CHAIN_API_BASE[chain];
13036
13091
 
13037
- const timeToBlock = async (timestamp) => {
13038
- try {
13039
- const url = `${baseUrl}?module=block&action=getblocknobytime&timestamp=${timestamp}&closest=before&apikey=${apiKey}`;
13040
- const res = await fetch(url);
13041
- const json = await res.json();
13042
- return parseInt(json.result);
13043
- } catch {
13044
- return 0;
13045
- }
13046
- };
13047
-
13048
- const startBlock = await timeToBlock(startTime);
13049
- const endBlock = await timeToBlock(endTime);
13092
+ const startBlock = await fromTimeStampToBlock(startTime, chain, apiKey);
13093
+ const endBlock = await fromTimeStampToBlock(endTime);
13050
13094
 
13051
13095
  let action = '';
13052
13096
  if (categories === 'txns') action = 'txlist';
@@ -13062,10 +13106,9 @@ async function OX(address, categories, chain, startTime, endTime) {
13062
13106
  if (json.result?.includes?.("Invalid API Key")) {
13063
13107
  return `${SERVICE_API_KEY[chain.charAt(0).toUpperCase() + chain.slice(1)]}_MISSING`;
13064
13108
  }
13065
-
13066
- console.log({ANSWER: json.result });
13067
13109
  return json.result;
13068
13110
  } catch (e) {
13111
+ console.log(e);
13069
13112
  return "ERROR IN FETCHING";
13070
13113
  }
13071
13114
  }
@@ -13081,4 +13124,4 @@ async function FLVURL(token, vs_currencies) {
13081
13124
 
13082
13125
  const utils = { errors, symbols, date };
13083
13126
 
13084
- 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, POISSON, POISSONDIST, POWER, PPMT, PRICEDISC, PROB, PRODUCT, PROPER, PV, PnL, 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 };
13127
+ 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, 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-15-patch-1",
3
+ "version": "4.4.11-mod-15-patch-2",
4
4
  "description": "JavaScript implementation of most Microsoft Excel formula functions",
5
5
  "author": "Formulajs",
6
6
  "publishConfig": {
@@ -3157,6 +3157,7 @@ export function PI(): number;
3157
3157
  * @returns
3158
3158
  */
3159
3159
  export function PMT(rate: any, nper: any, pv: any, fv: any, type: any): number | Error;
3160
+ export function PNL(...args: any[]): any;
3160
3161
  export namespace POISSON {
3161
3162
  /**
3162
3163
  * Returns the Poisson distribution.
@@ -3262,7 +3263,6 @@ export function PROPER(text: any): any;
3262
3263
  * @returns
3263
3264
  */
3264
3265
  export function PV(rate: any, per: any, pmt: any, fv: any, type: any): number | Error;
3265
- export function PnL(...args: any[]): number;
3266
3266
  export namespace QUARTILE {
3267
3267
  /**
3268
3268
  * Returns the quartile of the data set, based on percentile values from 0..1, exclusive.
@@ -3157,6 +3157,7 @@ export function PI(): number;
3157
3157
  * @returns
3158
3158
  */
3159
3159
  export function PMT(rate: any, nper: any, pv: any, fv: any, type: any): number | Error;
3160
+ export function PNL(...args: any[]): any;
3160
3161
  export namespace POISSON {
3161
3162
  /**
3162
3163
  * Returns the Poisson distribution.
@@ -3262,7 +3263,6 @@ export function PROPER(text: any): any;
3262
3263
  * @returns
3263
3264
  */
3264
3265
  export function PV(rate: any, per: any, pmt: any, fv: any, type: any): number | Error;
3265
- export function PnL(...args: any[]): number;
3266
3266
  export namespace QUARTILE {
3267
3267
  /**
3268
3268
  * Returns the quartile of the data set, based on percentile values from 0..1, exclusive.