@fileverse-dev/formulajs 4.4.21-price-and-wallet-2 → 4.4.21-price-and-wallet-3

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
@@ -18180,7 +18180,7 @@ const param2Schema = stringType()
18180
18180
  }, {
18181
18181
  message: "param2 must contain at least one of: '1h', '24h', '7d', '14d', '30d', '200d', '1y'",
18182
18182
  }).optional();
18183
- const priceSchema = objectType({
18183
+ const priceSchema$1 = objectType({
18184
18184
  category: literalType('price'),
18185
18185
  param1: stringType().nonempty(),
18186
18186
  param2: stringType().nonempty().optional(),
@@ -18203,7 +18203,7 @@ const derivativesSchema = objectType({
18203
18203
  param2: anyType().optional(),
18204
18204
  });
18205
18205
  const coingeckoParamsSchema = discriminatedUnionType('category', [
18206
- priceSchema,
18206
+ priceSchema$1,
18207
18207
  marketSchema,
18208
18208
  stablecoinsSchema,
18209
18209
  derivativesSchema,
@@ -19152,6 +19152,158 @@ async function DUNE() {
19152
19152
  }
19153
19153
  }
19154
19154
 
19155
+ const priceSchema = objectType({
19156
+ input1: stringType().nonempty(), // coin / token address
19157
+ input2: stringType().optional(), // chainId / time
19158
+ input3: stringType().optional(), // time
19159
+ }).superRefine((data, ctx) => {
19160
+ if(!isAddress$1.isAddress(data.input1))return
19161
+ if(!data.input2){
19162
+ ctx.addIssue({
19163
+ code: ZodIssueCode.custom,
19164
+ message: "Chain is required to query token price ",
19165
+ path: ["input2"],
19166
+ });
19167
+ }
19168
+ if(data.input2?.split(',')?.length > 1){
19169
+ ctx.addIssue({
19170
+ code: ZodIssueCode.custom,
19171
+ message: "Token address can query only one chain ",
19172
+ path: ["input2"],
19173
+ });
19174
+ }
19175
+ });
19176
+
19177
+ async function PRICE() {
19178
+ try {
19179
+ const [input1, input2, input3] = argsToArray(arguments);
19180
+ validateParams(priceSchema, { input1, input2, input3 });
19181
+
19182
+ // eslint-disable-next-line no-undef
19183
+ const baseUrl = window.useLocal ? 'http://localhost:3000' : 'https://onchain-proxy.fileverse.io';
19184
+
19185
+ let url = `${baseUrl}` +
19186
+ `/third-party?service=price`;
19187
+
19188
+ let returnSingleValue = false;
19189
+
19190
+
19191
+ if(isAddress$1.isAddress(input1)) {
19192
+ const tokenAddress = input1;
19193
+ url += `&token=${encodeURIComponent(tokenAddress)}&chain=${encodeURIComponent(input2)}`;
19194
+ if(input3){
19195
+ url += `&time=${encodeURIComponent(input3)}`;
19196
+ }
19197
+ } else {
19198
+ const coin = input1;
19199
+ url += `&coin=${encodeURIComponent(coin)}`;
19200
+ if (input2) {
19201
+ url += `&time=${encodeURIComponent(input2)}`;
19202
+ } else {
19203
+ returnSingleValue = true;
19204
+ }
19205
+ }
19206
+
19207
+ const res = await fetch(url);
19208
+
19209
+ if(res.status === 400){
19210
+ const errorData = await res.json();
19211
+ throw new ValidationError(errorData.message)
19212
+ }
19213
+ if (!res.ok) {
19214
+ throw new NetworkError('PRICE', res.status)
19215
+ }
19216
+
19217
+
19218
+ const json = await res.json();
19219
+
19220
+ const data = json.price;
19221
+
19222
+ if(returnSingleValue){
19223
+ return data[0].price
19224
+ }
19225
+
19226
+ return data
19227
+
19228
+ } catch (error) {
19229
+ return errorMessageHandler(error, 'PRICE')
19230
+ }
19231
+ }
19232
+
19233
+
19234
+ // PRICE("btc,eth", "720,1,24").then(console.log)
19235
+ // PRICE("btc").then(console.log)
19236
+ // PRICE("btc,eth").then(console.log)
19237
+
19238
+ // PRICE("0xd9aaec86b65d86f6a7b5b1b0c42ffa531710b6ca", "base").then(console.log)
19239
+
19240
+ const walletParamsSchema = objectType({
19241
+ query: enumType(['txns', 'balance']),
19242
+ addresses: stringType().nonempty(),
19243
+ chains: stringType(),
19244
+ time: stringType().optional(),
19245
+ }).superRefine((data, ctx) => {
19246
+ if(data.addresses.split(',').length > 20){
19247
+ ctx.addIssue({
19248
+ code: ZodIssueCode.custom,
19249
+ message: "Max number of addresses to query is 20",
19250
+ path: ["addresses"],
19251
+ });
19252
+ }
19253
+ });
19254
+
19255
+ const getResolvedAddresses = async (addresses) => {
19256
+ const addressesList = addresses.split(',');
19257
+ const resolvedAddresses = [];
19258
+ for(let address of addressesList){
19259
+ const data = await fromEnsNameToAddress$1.validateAndGetAddress(address);
19260
+ resolvedAddresses.push(data);
19261
+ }
19262
+ return resolvedAddresses.join(',')
19263
+ };
19264
+
19265
+ async function WALLET() {
19266
+ try {
19267
+ const [addresses, chains, query, time] = argsToArray(arguments);
19268
+ validateParams(walletParamsSchema, { addresses, chains, query, time });
19269
+
19270
+ // eslint-disable-next-line no-undef
19271
+ const baseUrl = window.useLocal ? 'http://localhost:3000' : 'https://onchain-proxy.fileverse.io';
19272
+
19273
+ const resolvedAddresses = await getResolvedAddresses(addresses);
19274
+
19275
+ let url = `${baseUrl}/third-party?service=wallet&addresses=${resolvedAddresses}&chains=${chains}&query=${query}`;
19276
+ if (time) {
19277
+ url += `&time=${time}`;
19278
+ }
19279
+
19280
+ const res = await fetch(url);
19281
+
19282
+ if(res.status === 400){
19283
+ const errorData = await res.json();
19284
+ throw new ValidationError(errorData.message)
19285
+ }
19286
+
19287
+ if (!res.ok) {
19288
+ throw new NetworkError('WALLET', res.status)
19289
+ }
19290
+
19291
+ const json = await res.json();
19292
+ if(query === 'txns'){
19293
+ return json.transactions
19294
+ }
19295
+ return json.balances
19296
+
19297
+ } catch (error) {
19298
+ return errorMessageHandler(error, 'WALLET')
19299
+ }
19300
+ }
19301
+
19302
+
19303
+ // WALLET("0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "ethereum", "balance", "720,1,24").then(console.log)
19304
+ // WALLET("0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045, 0xfA0253943c3FF0e43898cba5A7a0dA9D17C27995", "ethereum", "txns", "720").then(console.log)
19305
+ // WALLET("0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "ethereum", "balance").then(console.log)
19306
+
19155
19307
  // export {GNOSISPAY} from './gnosispay/gnosispay.js'
19156
19308
 
19157
19309
 
@@ -19495,6 +19647,7 @@ exports.POISSONDIST = POISSONDIST;
19495
19647
  exports.POLYMARKET = POLYMARKET;
19496
19648
  exports.POWER = POWER;
19497
19649
  exports.PPMT = PPMT;
19650
+ exports.PRICE = PRICE;
19498
19651
  exports.PRICEDISC = PRICEDISC;
19499
19652
  exports.PRIVACYPOOL = PRIVACYPOOL;
19500
19653
  exports.PROB = PROB;
@@ -19596,6 +19749,7 @@ exports.VARP = VARP;
19596
19749
  exports.VARPA = VARPA;
19597
19750
  exports.VARS = VARS;
19598
19751
  exports.VLOOKUP = VLOOKUP;
19752
+ exports.WALLET = WALLET;
19599
19753
  exports.WEEKDAY = WEEKDAY;
19600
19754
  exports.WEEKNUM = WEEKNUM;
19601
19755
  exports.WEIBULL = WEIBULL;
package/lib/esm/index.mjs CHANGED
@@ -18178,7 +18178,7 @@ const param2Schema = stringType()
18178
18178
  }, {
18179
18179
  message: "param2 must contain at least one of: '1h', '24h', '7d', '14d', '30d', '200d', '1y'",
18180
18180
  }).optional();
18181
- const priceSchema = objectType({
18181
+ const priceSchema$1 = objectType({
18182
18182
  category: literalType('price'),
18183
18183
  param1: stringType().nonempty(),
18184
18184
  param2: stringType().nonempty().optional(),
@@ -18201,7 +18201,7 @@ const derivativesSchema = objectType({
18201
18201
  param2: anyType().optional(),
18202
18202
  });
18203
18203
  const coingeckoParamsSchema = discriminatedUnionType('category', [
18204
- priceSchema,
18204
+ priceSchema$1,
18205
18205
  marketSchema,
18206
18206
  stablecoinsSchema,
18207
18207
  derivativesSchema,
@@ -19150,6 +19150,158 @@ async function DUNE() {
19150
19150
  }
19151
19151
  }
19152
19152
 
19153
+ const priceSchema = objectType({
19154
+ input1: stringType().nonempty(), // coin / token address
19155
+ input2: stringType().optional(), // chainId / time
19156
+ input3: stringType().optional(), // time
19157
+ }).superRefine((data, ctx) => {
19158
+ if(!isAddress$1.isAddress(data.input1))return
19159
+ if(!data.input2){
19160
+ ctx.addIssue({
19161
+ code: ZodIssueCode.custom,
19162
+ message: "Chain is required to query token price ",
19163
+ path: ["input2"],
19164
+ });
19165
+ }
19166
+ if(data.input2?.split(',')?.length > 1){
19167
+ ctx.addIssue({
19168
+ code: ZodIssueCode.custom,
19169
+ message: "Token address can query only one chain ",
19170
+ path: ["input2"],
19171
+ });
19172
+ }
19173
+ });
19174
+
19175
+ async function PRICE() {
19176
+ try {
19177
+ const [input1, input2, input3] = argsToArray(arguments);
19178
+ validateParams(priceSchema, { input1, input2, input3 });
19179
+
19180
+ // eslint-disable-next-line no-undef
19181
+ const baseUrl = window.useLocal ? 'http://localhost:3000' : 'https://onchain-proxy.fileverse.io';
19182
+
19183
+ let url = `${baseUrl}` +
19184
+ `/third-party?service=price`;
19185
+
19186
+ let returnSingleValue = false;
19187
+
19188
+
19189
+ if(isAddress$1.isAddress(input1)) {
19190
+ const tokenAddress = input1;
19191
+ url += `&token=${encodeURIComponent(tokenAddress)}&chain=${encodeURIComponent(input2)}`;
19192
+ if(input3){
19193
+ url += `&time=${encodeURIComponent(input3)}`;
19194
+ }
19195
+ } else {
19196
+ const coin = input1;
19197
+ url += `&coin=${encodeURIComponent(coin)}`;
19198
+ if (input2) {
19199
+ url += `&time=${encodeURIComponent(input2)}`;
19200
+ } else {
19201
+ returnSingleValue = true;
19202
+ }
19203
+ }
19204
+
19205
+ const res = await fetch(url);
19206
+
19207
+ if(res.status === 400){
19208
+ const errorData = await res.json();
19209
+ throw new ValidationError(errorData.message)
19210
+ }
19211
+ if (!res.ok) {
19212
+ throw new NetworkError('PRICE', res.status)
19213
+ }
19214
+
19215
+
19216
+ const json = await res.json();
19217
+
19218
+ const data = json.price;
19219
+
19220
+ if(returnSingleValue){
19221
+ return data[0].price
19222
+ }
19223
+
19224
+ return data
19225
+
19226
+ } catch (error) {
19227
+ return errorMessageHandler(error, 'PRICE')
19228
+ }
19229
+ }
19230
+
19231
+
19232
+ // PRICE("btc,eth", "720,1,24").then(console.log)
19233
+ // PRICE("btc").then(console.log)
19234
+ // PRICE("btc,eth").then(console.log)
19235
+
19236
+ // PRICE("0xd9aaec86b65d86f6a7b5b1b0c42ffa531710b6ca", "base").then(console.log)
19237
+
19238
+ const walletParamsSchema = objectType({
19239
+ query: enumType(['txns', 'balance']),
19240
+ addresses: stringType().nonempty(),
19241
+ chains: stringType(),
19242
+ time: stringType().optional(),
19243
+ }).superRefine((data, ctx) => {
19244
+ if(data.addresses.split(',').length > 20){
19245
+ ctx.addIssue({
19246
+ code: ZodIssueCode.custom,
19247
+ message: "Max number of addresses to query is 20",
19248
+ path: ["addresses"],
19249
+ });
19250
+ }
19251
+ });
19252
+
19253
+ const getResolvedAddresses = async (addresses) => {
19254
+ const addressesList = addresses.split(',');
19255
+ const resolvedAddresses = [];
19256
+ for(let address of addressesList){
19257
+ const data = await fromEnsNameToAddress$1.validateAndGetAddress(address);
19258
+ resolvedAddresses.push(data);
19259
+ }
19260
+ return resolvedAddresses.join(',')
19261
+ };
19262
+
19263
+ async function WALLET() {
19264
+ try {
19265
+ const [addresses, chains, query, time] = argsToArray(arguments);
19266
+ validateParams(walletParamsSchema, { addresses, chains, query, time });
19267
+
19268
+ // eslint-disable-next-line no-undef
19269
+ const baseUrl = window.useLocal ? 'http://localhost:3000' : 'https://onchain-proxy.fileverse.io';
19270
+
19271
+ const resolvedAddresses = await getResolvedAddresses(addresses);
19272
+
19273
+ let url = `${baseUrl}/third-party?service=wallet&addresses=${resolvedAddresses}&chains=${chains}&query=${query}`;
19274
+ if (time) {
19275
+ url += `&time=${time}`;
19276
+ }
19277
+
19278
+ const res = await fetch(url);
19279
+
19280
+ if(res.status === 400){
19281
+ const errorData = await res.json();
19282
+ throw new ValidationError(errorData.message)
19283
+ }
19284
+
19285
+ if (!res.ok) {
19286
+ throw new NetworkError('WALLET', res.status)
19287
+ }
19288
+
19289
+ const json = await res.json();
19290
+ if(query === 'txns'){
19291
+ return json.transactions
19292
+ }
19293
+ return json.balances
19294
+
19295
+ } catch (error) {
19296
+ return errorMessageHandler(error, 'WALLET')
19297
+ }
19298
+ }
19299
+
19300
+
19301
+ // WALLET("0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "ethereum", "balance", "720,1,24").then(console.log)
19302
+ // WALLET("0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045, 0xfA0253943c3FF0e43898cba5A7a0dA9D17C27995", "ethereum", "txns", "720").then(console.log)
19303
+ // WALLET("0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "ethereum", "balance").then(console.log)
19304
+
19153
19305
  // export {GNOSISPAY} from './gnosispay/gnosispay.js'
19154
19306
 
19155
19307
 
@@ -19189,4 +19341,4 @@ function MYANIMELIST() {
19189
19341
 
19190
19342
  const utils = { errors, symbols, date };
19191
19343
 
19192
- export { AAVE, ABS, ACCRINT, ACOS, ACOSH, ACOT, ACOTH, AGGREGATE, AND, ARABIC, ARTEMIS, 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, DEFILLAMA, DEGREES, DELTA, DEVSQ, DGET, DISC, DMAX, DMIN, DOLLAR, DOLLARDE, DOLLARFR, DPRODUCT, DSTDEV, DSTDEVP, DSUM, DUNE, DVAR, DVARP, EDATE, EFFECT, EOA, EOMONTH, ERF, ERFC, ERFCPRECISE, ERFPRECISE, ERROR, ETHERSCAN, EVEN, EXACT, EXP, EXPON, EXPONDIST, F, FACT, FACTDOUBLE, FALSE, FARCASTER, 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, 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, LENS, LINEST, LN, LOG, LOG10, LOGEST, LOGINV, LOGNORM, LOGNORMDIST, LOGNORMINV, LOOKUP, LOWER, MATCH, MAX, MAXA, MAXIFS, MEDIAN, MEERKAT, MID, MIN, MINA, MINIFS, MINUS$1 as MINUS, MINUTE, MIRR, MMULT, MOD, MODE, MODEMULT, MODESNGL, MONTH, MROUND, MULTINOMIAL, MUNIT, MYANIMELIST, 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, POLYMARKET, POWER, PPMT, PRICEDISC, PRIVACYPOOL, PROB, PRODUCT, PROPER, PV, QUARTILE, QUARTILEEXC, QUARTILEINC, QUOTIENT, RADIANS, RAND, RANDBETWEEN, RANK, RANKAVG, RANKEQ, RATE, REPLACE, REPT, RIGHT, ROMAN, ROTKI, ROUND, ROUNDDOWN, ROUNDUP, ROW, ROWS, RRI, RSQ, SAFE, SEARCH, SEC, SECH, SECOND, SERIESSUM, SIGN, SIN, SINH, SKEW, SKEWP, SLN, SLOPE, SMALL, SMARTCONTRACT, SORT, SQRT, SQRTPI, STANDARDIZE, STDEV, STDEVA, STDEVP, STDEVPA, STDEVS, STEYX, SUBSTITUTE, SUBTOTAL, SUM, SUMIF, SUMIFS, SUMPRODUCT, SUMSQ, SUMX2MY2, SUMX2PY2, SUMXMY2, SWITCH, SYD, T, TALLY, TAN, TANH, TBILLEQ, TBILLPRICE, TBILLYIELD, TDIST, TDISTRT, TEXT, TEXTJOIN, TIME, TIMEVALUE, TINV, TODAY, TRANSPOSE, TREND, TRIM, TRIMMEAN, TRUE, TRUNC, TTEST, TYPE, UNICHAR, UNICODE, UNIQUE, UNISWAP, UPPER, VALUE, VAR, VARA, VARP, VARPA, VARS, VLOOKUP, WEEKDAY, WEEKNUM, WEIBULL, WEIBULLDIST, WORKDAY, WORKDAYINTL, WORKDAY_INTL, XIRR, XLOOKUP, XNPV, XOR, YEAR, YEARFRAC, Z, ZTEST, utils };
19344
+ export { AAVE, ABS, ACCRINT, ACOS, ACOSH, ACOT, ACOTH, AGGREGATE, AND, ARABIC, ARTEMIS, 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, DEFILLAMA, DEGREES, DELTA, DEVSQ, DGET, DISC, DMAX, DMIN, DOLLAR, DOLLARDE, DOLLARFR, DPRODUCT, DSTDEV, DSTDEVP, DSUM, DUNE, DVAR, DVARP, EDATE, EFFECT, EOA, EOMONTH, ERF, ERFC, ERFCPRECISE, ERFPRECISE, ERROR, ETHERSCAN, EVEN, EXACT, EXP, EXPON, EXPONDIST, F, FACT, FACTDOUBLE, FALSE, FARCASTER, 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, 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, LENS, LINEST, LN, LOG, LOG10, LOGEST, LOGINV, LOGNORM, LOGNORMDIST, LOGNORMINV, LOOKUP, LOWER, MATCH, MAX, MAXA, MAXIFS, MEDIAN, MEERKAT, MID, MIN, MINA, MINIFS, MINUS$1 as MINUS, MINUTE, MIRR, MMULT, MOD, MODE, MODEMULT, MODESNGL, MONTH, MROUND, MULTINOMIAL, MUNIT, MYANIMELIST, 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, POLYMARKET, POWER, PPMT, PRICE, PRICEDISC, PRIVACYPOOL, PROB, PRODUCT, PROPER, PV, QUARTILE, QUARTILEEXC, QUARTILEINC, QUOTIENT, RADIANS, RAND, RANDBETWEEN, RANK, RANKAVG, RANKEQ, RATE, REPLACE, REPT, RIGHT, ROMAN, ROTKI, ROUND, ROUNDDOWN, ROUNDUP, ROW, ROWS, RRI, RSQ, SAFE, SEARCH, SEC, SECH, SECOND, SERIESSUM, SIGN, SIN, SINH, SKEW, SKEWP, SLN, SLOPE, SMALL, SMARTCONTRACT, SORT, SQRT, SQRTPI, STANDARDIZE, STDEV, STDEVA, STDEVP, STDEVPA, STDEVS, STEYX, SUBSTITUTE, SUBTOTAL, SUM, SUMIF, SUMIFS, SUMPRODUCT, SUMSQ, SUMX2MY2, SUMX2PY2, SUMXMY2, SWITCH, SYD, T, TALLY, TAN, TANH, TBILLEQ, TBILLPRICE, TBILLYIELD, TDIST, TDISTRT, TEXT, TEXTJOIN, TIME, TIMEVALUE, TINV, TODAY, TRANSPOSE, TREND, TRIM, TRIMMEAN, TRUE, TRUNC, TTEST, TYPE, UNICHAR, UNICODE, UNIQUE, UNISWAP, UPPER, VALUE, VAR, VARA, VARP, VARPA, VARS, VLOOKUP, WALLET, WEEKDAY, WEEKNUM, WEIBULL, WEIBULLDIST, WORKDAY, WORKDAYINTL, WORKDAY_INTL, XIRR, XLOOKUP, 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.21-price-and-wallet-2",
3
+ "version": "4.4.21-price-and-wallet-3",
4
4
  "description": "JavaScript implementation of most Microsoft Excel formula functions",
5
5
  "author": "Formulajs",
6
6
  "publishConfig": {
@@ -3347,6 +3347,7 @@ export function POWER(number: any, power: any): any;
3347
3347
  * @returns
3348
3348
  */
3349
3349
  export function PPMT(rate: any, per: any, nper: any, pv: any, fv: any, type: any): number | Error;
3350
+ export function PRICE(...args: any[]): Promise<any>;
3350
3351
  /**
3351
3352
  * Returns the price per $100 face value of a discounted security.
3352
3353
  *
@@ -4416,6 +4417,7 @@ export function VARS(...args: any[]): number;
4416
4417
  * @returns
4417
4418
  */
4418
4419
  export function VLOOKUP(lookup_value: any, table_array: any, col_index_num: any, range_lookup: any): Error;
4420
+ export function WALLET(...args: any[]): Promise<any>;
4419
4421
  /**
4420
4422
  * Converts a serial number to a day of the week.
4421
4423
  *
@@ -3347,6 +3347,7 @@ export function POWER(number: any, power: any): any;
3347
3347
  * @returns
3348
3348
  */
3349
3349
  export function PPMT(rate: any, per: any, nper: any, pv: any, fv: any, type: any): number | Error;
3350
+ export function PRICE(...args: any[]): Promise<any>;
3350
3351
  /**
3351
3352
  * Returns the price per $100 face value of a discounted security.
3352
3353
  *
@@ -4416,6 +4417,7 @@ export function VARS(...args: any[]): number;
4416
4417
  * @returns
4417
4418
  */
4418
4419
  export function VLOOKUP(lookup_value: any, table_array: any, col_index_num: any, range_lookup: any): Error;
4420
+ export function WALLET(...args: any[]): Promise<any>;
4419
4421
  /**
4420
4422
  * Converts a serial number to a day of the week.
4421
4423
  *