@fileverse-dev/fortune-react 1.0.2-mod-11-test → 1.0.2-mod-12

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/dist/index.umd.js CHANGED
@@ -24149,6 +24149,62 @@
24149
24149
  value: value
24150
24150
  });
24151
24151
 
24152
+ let returnSerial = false;
24153
+
24154
+ const d1900 = new Date(Date.UTC(1900, 0, 1));
24155
+
24156
+ function useSerial() {
24157
+ returnSerial = true;
24158
+ }
24159
+
24160
+ function useDate() {
24161
+ returnSerial = false;
24162
+ }
24163
+
24164
+ function serialToDate(serial) {
24165
+ if (serial < 60) {
24166
+ serial += 1;
24167
+ }
24168
+
24169
+ const utc_days = Math.floor(serial - 25569);
24170
+ const utc_value = utc_days * 86400;
24171
+ const date_info = new Date(utc_value * 1000);
24172
+ const fractional_day = serial - Math.floor(serial) + 0.0000001;
24173
+
24174
+ let total_seconds = Math.floor(86400 * fractional_day);
24175
+
24176
+ const seconds = total_seconds % 60;
24177
+
24178
+ total_seconds -= seconds;
24179
+
24180
+ const hours = Math.floor(total_seconds / (60 * 60));
24181
+ const minutes = Math.floor(total_seconds / 60) % 60;
24182
+ let days = date_info.getUTCDate();
24183
+ let month = date_info.getUTCMonth();
24184
+
24185
+ if (serial >= 60 && serial < 61) {
24186
+ days = 29;
24187
+ month = 1;
24188
+ }
24189
+
24190
+ return new Date(date_info.getUTCFullYear(), month, days, hours, minutes, seconds)
24191
+ }
24192
+
24193
+ function dateToSerial(date) {
24194
+ const addOn = date > -22038912e5 ? 2 : 1;
24195
+
24196
+ return Math.ceil((date - d1900) / 86400000) + addOn
24197
+ }
24198
+
24199
+ var date = /*#__PURE__*/Object.freeze({
24200
+ __proto__: null,
24201
+ dateToSerial: dateToSerial,
24202
+ get returnSerial () { return returnSerial; },
24203
+ serialToDate: serialToDate,
24204
+ useDate: useDate,
24205
+ useSerial: useSerial
24206
+ });
24207
+
24152
24208
  const defaultOperator = '=';
24153
24209
  const validSymbols = ['>', '>=', '<', '<=', '=', '<>'];
24154
24210
  const _TOKEN_TYPE_OPERATOR = 'operator';
@@ -24567,35 +24623,6 @@
24567
24623
  return possibleNumbers.filter((el) => typeof el === 'number')
24568
24624
  }
24569
24625
 
24570
- function serialNumberToDate(serial) {
24571
- if (serial < 60) {
24572
- serial += 1;
24573
- }
24574
-
24575
- const utc_days = Math.floor(serial - 25569);
24576
- const utc_value = utc_days * 86400;
24577
- const date_info = new Date(utc_value * 1000);
24578
- const fractional_day = serial - Math.floor(serial) + 0.0000001;
24579
-
24580
- let total_seconds = Math.floor(86400 * fractional_day);
24581
-
24582
- const seconds = total_seconds % 60;
24583
-
24584
- total_seconds -= seconds;
24585
-
24586
- const hours = Math.floor(total_seconds / (60 * 60));
24587
- const minutes = Math.floor(total_seconds / 60) % 60;
24588
- let days = date_info.getUTCDate();
24589
- let month = date_info.getUTCMonth();
24590
-
24591
- if (serial >= 60 && serial < 61) {
24592
- days = 29;
24593
- month = 1;
24594
- }
24595
-
24596
- return new Date(date_info.getUTCFullYear(), month, days, hours, minutes, seconds)
24597
- }
24598
-
24599
24626
  // Parsers
24600
24627
  function parseBool(bool) {
24601
24628
  if (typeof bool === 'boolean') {
@@ -24641,7 +24668,7 @@
24641
24668
  return num
24642
24669
  }
24643
24670
 
24644
- return serialNumberToDate(d)
24671
+ return serialToDate(d)
24645
24672
  }
24646
24673
 
24647
24674
  if (typeof date === 'string') {
@@ -24802,20 +24829,6 @@
24802
24829
  return arg !== undefined && arg !== null
24803
24830
  }
24804
24831
 
24805
- // TODO
24806
- /**
24807
- * -- Not implemented --
24808
- *
24809
- * Returns information about the formatting, location, or contents of a value.
24810
- *
24811
- * Category: Information
24812
- *
24813
- * @returns
24814
- */
24815
- function CELL() {
24816
- throw new Error('CELL is not implemented')
24817
- }
24818
-
24819
24832
  const ERROR$1 = {};
24820
24833
 
24821
24834
  ERROR$1.TYPE = (error_val) => {
@@ -24841,20 +24854,6 @@
24841
24854
  return na
24842
24855
  };
24843
24856
 
24844
- // TODO
24845
- /**
24846
- * -- Not implemented --
24847
- *
24848
- * Returns information about the current operating environment.
24849
- *
24850
- * Category: Information
24851
- *
24852
- * @returns
24853
- */
24854
- function INFO() {
24855
- throw new Error('INFO is not implemented')
24856
- }
24857
-
24858
24857
  /**
24859
24858
  * Returns TRUE if the value is blank.
24860
24859
  *
@@ -24906,21 +24905,6 @@
24906
24905
  return !(Math.floor(Math.abs(number)) & 1)
24907
24906
  }
24908
24907
 
24909
- // TODO
24910
- /**
24911
- * -- Not implemented --
24912
- *
24913
- * Returns TRUE if there is a reference to a value that contains a formula.
24914
- *
24915
- * Category: Information
24916
- *
24917
- * @param {*} reference Reference is a reference to the value you want to test. Reference can be a value reference, a formula, or a name that refers to a value.
24918
- * @returns
24919
- */
24920
- function ISFORMULA() {
24921
- throw new Error('ISFORMULA is not implemented')
24922
- }
24923
-
24924
24908
  /**
24925
24909
  * Returns TRUE if the value is a logical value.
24926
24910
  *
@@ -24981,21 +24965,6 @@
24981
24965
  return !!(Math.floor(Math.abs(value)) & 1)
24982
24966
  }
24983
24967
 
24984
- // TODO
24985
- /**
24986
- * -- Not implemented --
24987
- *
24988
- * Returns TRUE if the value is a reference.
24989
- *
24990
- * Category: Information
24991
- *
24992
- * @param {*} value The value that you want tested. The value argument can be a blank (empty value), error, logical value, text, number, or reference value, or a name referring to any of these.
24993
- * @returns
24994
- */
24995
- function ISREF() {
24996
- throw new Error('ISREF is not implemented')
24997
- }
24998
-
24999
24968
  /**
25000
24969
  * Returns TRUE if the value is text.
25001
24970
  *
@@ -25051,36 +25020,6 @@
25051
25020
  return na
25052
25021
  }
25053
25022
 
25054
- // TODO
25055
- /**
25056
- * -- Not implemented --
25057
- *
25058
- * Returns the sheet number of the referenced sheet.
25059
- *
25060
- * Category: Information
25061
- *
25062
- * @param {*} value Optional. Value is the name of a sheet or a reference for which you want the sheet number. If value is omitted, SHEET returns the number of the sheet that contains the function.
25063
- * @returns
25064
- */
25065
- function SHEET() {
25066
- throw new Error('SHEET is not implemented')
25067
- }
25068
-
25069
- // TODO
25070
- /**
25071
- * -- Not implemented --
25072
- *
25073
- * Returns the number of sheets in a reference.
25074
- *
25075
- * Category: Information
25076
- *
25077
- * @param {*} reference Optional. Reference is a reference for which you want to know the number of sheets it contains. If Reference is omitted, SHEETS returns the number of sheets in the workbook that contains the function.
25078
- * @returns
25079
- */
25080
- function SHEETS() {
25081
- throw new Error('SHEETS is not implemented')
25082
- }
25083
-
25084
25023
  /**
25085
25024
  * Returns a number indicating the data type of a value.
25086
25025
  *
@@ -25550,36 +25489,6 @@
25550
25489
  return result
25551
25490
  }
25552
25491
 
25553
- // TODO
25554
- /**
25555
- * -- Not implemented --
25556
- *
25557
- * Changes full-width (double-byte) English letters or katakana within a character string to half-width (single-byte) characters.
25558
- *
25559
- * Category: Text
25560
- *
25561
- * @param {*} text The text or a reference to a value that contains the text you want to change. If text does not contain any full-width letters, text is not changed.
25562
- * @returns
25563
- */
25564
- function ASC() {
25565
- throw new Error('ASC is not implemented')
25566
- }
25567
-
25568
- // TODO
25569
- /**
25570
- * -- Not implemented --
25571
- *
25572
- * Converts a number to text, using the ß (baht) currency format.
25573
- *
25574
- * Category: Text
25575
- *
25576
- * @param {*} number A number you want to convert to text, or a reference to a value containing a number, or a formula that evaluates to a number.
25577
- * @returns
25578
- */
25579
- function BAHTTEXT() {
25580
- throw new Error('BAHTTEXT is not implemented')
25581
- }
25582
-
25583
25492
  /**
25584
25493
  * Returns the character specified by the code number.
25585
25494
  *
@@ -25676,21 +25585,6 @@
25676
25585
 
25677
25586
  const CONCAT = CONCATENATE;
25678
25587
 
25679
- // TODO
25680
- /**
25681
- * -- Not implemented --
25682
- *
25683
- * Changes half-width (single-byte) English letters or katakana within a character string to full-width (double-byte) characters.
25684
- *
25685
- * Category: Text
25686
- *
25687
- * @param {*} text The text or a reference to a value that contains the text you want to change. If text does not contain any half-width English letters or katakana, text is not changed.
25688
- * @returns
25689
- */
25690
- function DBCS() {
25691
- throw new Error('DBCS is not implemented')
25692
- }
25693
-
25694
25588
  /**
25695
25589
  * Converts a number to text, using the $ (dollar) currency format.
25696
25590
  *
@@ -25947,14 +25841,6 @@
25947
25841
  return Number(text.replace(decimal_separator, '.').replace(group_separator, ''))
25948
25842
  }
25949
25843
 
25950
- // TODO
25951
- /**
25952
- * -- Not implemented --
25953
- */
25954
- function PRONETIC() {
25955
- throw new Error('PRONETIC is not implemented')
25956
- }
25957
-
25958
25844
  /**
25959
25845
  * Capitalizes the first letter in each word of a text value.
25960
25846
  *
@@ -31746,7 +31632,6 @@
31746
31632
  POW: POW
31747
31633
  });
31748
31634
 
31749
- const d1900 = new Date(Date.UTC(1900, 0, 1));
31750
31635
  const WEEK_STARTS = [
31751
31636
  undefined,
31752
31637
  0,
@@ -31836,7 +31721,7 @@
31836
31721
  }
31837
31722
  }
31838
31723
 
31839
- return result
31724
+ return returnSerial ? dateToSerial(result) : result
31840
31725
  }
31841
31726
 
31842
31727
  /**
@@ -31942,7 +31827,9 @@
31942
31827
  return value
31943
31828
  }
31944
31829
 
31945
- return new Date(date_text)
31830
+ const dateValue = new Date(date_text);
31831
+
31832
+ return returnSerial ? dateToSerial(dateValue) : dateValue
31946
31833
  }
31947
31834
 
31948
31835
  /**
@@ -31991,7 +31878,7 @@
31991
31878
  return start_date
31992
31879
  }
31993
31880
 
31994
- return serial(startOfDay(end_date)) - serial(startOfDay(start_date))
31881
+ return dateToSerial(startOfDay(end_date)) - dateToSerial(startOfDay(start_date))
31995
31882
  }
31996
31883
 
31997
31884
  /**
@@ -32091,7 +31978,7 @@
32091
31978
 
32092
31979
  start_date.setDate(storedDay);
32093
31980
 
32094
- return start_date
31981
+ return returnSerial ? dateToSerial(start_date) : start_date
32095
31982
  }
32096
31983
 
32097
31984
  /**
@@ -32116,7 +32003,9 @@
32116
32003
 
32117
32004
  months = parseInt(months, 10);
32118
32005
 
32119
- return new Date(start_date.getFullYear(), start_date.getMonth() + months + 1, 0)
32006
+ const eoMonth = new Date(start_date.getFullYear(), start_date.getMonth() + months + 1, 0);
32007
+
32008
+ return returnSerial ? dateToSerial(eoMonth) : eoMonth
32120
32009
  }
32121
32010
 
32122
32011
  /**
@@ -32312,7 +32201,7 @@
32312
32201
  * @returns
32313
32202
  */
32314
32203
  function NOW() {
32315
- return new Date()
32204
+ return returnSerial ? dateToSerial(new Date()) : new Date()
32316
32205
  }
32317
32206
 
32318
32207
  /**
@@ -32385,7 +32274,8 @@
32385
32274
  * @returns
32386
32275
  */
32387
32276
  function TODAY() {
32388
- return startOfDay(new Date())
32277
+ const today = startOfDay(new Date());
32278
+ return returnSerial ? dateToSerial(today) : today
32389
32279
  }
32390
32280
 
32391
32281
  /**
@@ -32665,12 +32555,6 @@
32665
32555
  }
32666
32556
  }
32667
32557
 
32668
- function serial(date) {
32669
- const addOn = date > -22038912e5 ? 2 : 1;
32670
-
32671
- return Math.ceil((date - d1900) / 86400000) + addOn
32672
- }
32673
-
32674
32558
  function isValidBinaryNumber(number) {
32675
32559
  return /^[01]{1,10}$/.test(number)
32676
32560
  }
@@ -33606,22 +33490,6 @@
33606
33490
  return jstat.erf(lower_limit)
33607
33491
  }
33608
33492
 
33609
- // TODO
33610
-
33611
- /**
33612
- * -- Not implemented --
33613
- *
33614
- * Returns the error function.
33615
- *
33616
- * Category: Engineering
33617
- *
33618
- * @param {*} x The lower bound for integrating ERF.PRECISE.
33619
- * @returns
33620
- */
33621
- ERF.PRECISE = () => {
33622
- throw new Error('ERF.PRECISE is not implemented')
33623
- };
33624
-
33625
33493
  /**
33626
33494
  * Returns the complementary error function.
33627
33495
  *
@@ -33639,22 +33507,6 @@
33639
33507
  return jstat.erfc(x)
33640
33508
  }
33641
33509
 
33642
- // TODO
33643
-
33644
- /**
33645
- * -- Not implemented --
33646
- *
33647
- * Returns the complementary ERF function integrated between x and infinity.
33648
- *
33649
- * Category: Engineering
33650
- *
33651
- * @param {*} x The lower bound for integrating ERFC.PRECISE.
33652
- * @returns
33653
- */
33654
- ERFC.PRECISE = () => {
33655
- throw new Error('ERFC.PRECISE is not implemented')
33656
- };
33657
-
33658
33510
  /**
33659
33511
  * Tests whether a number is greater than a threshold value.
33660
33512
  *
@@ -35427,85 +35279,6 @@
35427
35279
  return par * rate * YEARFRAC(issue, settlement, basis)
35428
35280
  }
35429
35281
 
35430
- // TODO
35431
- /**
35432
- * -- Not implemented --
35433
- *
35434
- * Returns the accrued interest for a security that pays interest at maturity.
35435
- *
35436
- * Category: Financial
35437
- *
35438
- * @param {*} issue The security's issue date.
35439
- * @param {*} settlement The security's maturity date.
35440
- * @param {*} rate The security's annual coupon rate.
35441
- * @param {*} par The security's par value. If you omit par, ACCRINTM uses $1,000.
35442
- * @param {*} basis Optional. The type of day count basis to use.
35443
- * @returns
35444
- */
35445
- function ACCRINTM() {
35446
- throw new Error('ACCRINTM is not implemented')
35447
- }
35448
-
35449
- // TODO
35450
- /**
35451
- * -- Not implemented --
35452
- *
35453
- * Returns the depreciation for each accounting period by using a depreciation coefficient.
35454
- *
35455
- * Category: Financial
35456
- *
35457
- * @param {*} cost The cost of the asset.
35458
- * @param {*} date_purchased The date of the purchase of the asset.
35459
- * @param {*} first_period The date of the end of the first period.
35460
- * @param {*} salvage The salvage value at the end of the life of the asset.
35461
- * @param {*} period The period.
35462
- * @param {*} rate The rate of depreciation.
35463
- * @param {*} basis Optional. The year basis to be used.
35464
- * @returns
35465
- */
35466
- function AMORDEGRC() {
35467
- throw new Error('AMORDEGRC is not implemented')
35468
- }
35469
-
35470
- // TODO
35471
- /**
35472
- * -- Not implemented --
35473
- *
35474
- * Returns the depreciation for each accounting period.
35475
- *
35476
- * Category: Financial
35477
- *
35478
- * @param {*} cost The cost of the asset.
35479
- * @param {*} date_purchased The date of the purchase of the asset.
35480
- * @param {*} first_period The date of the end of the first period.
35481
- * @param {*} salvage The salvage value at the end of the life of the asset.
35482
- * @param {*} period The period.
35483
- * @param {*} rate The rate of depreciation.
35484
- * @param {*} basis Optional. The year basis to be used.
35485
- * @returns
35486
- */
35487
- function AMORLINC() {
35488
- throw new Error('AMORLINC is not implemented')
35489
- }
35490
-
35491
- // TODO
35492
- /**
35493
- * -- Not implemented --
35494
- *
35495
- * Returns the number of days from the beginning of the coupon period to the settlement date.
35496
- *
35497
- * Category: Financial
35498
- *
35499
- * @param {*} settlement The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.
35500
- * @param {*} maturity The security's maturity date. The maturity date is the date when the security expires.
35501
- * @param {*} frequency The number of coupon payments per year. For annual payments, frequency = 1; for semiannual, frequency = 2; for quarterly, frequency = 4.
35502
- * @param {*} basis Optional. The type of day count basis to use.
35503
- * @returns
35504
- */
35505
- function COUPDAYBS() {
35506
- throw new Error('COUPDAYBS is not implemented')
35507
- }
35508
-
35509
35282
  /**
35510
35283
  *
35511
35284
  * Returns the number of days in the coupon period that contains the settlement date.
@@ -35560,78 +35333,6 @@
35560
35333
  return numOfDays / frequency
35561
35334
  }
35562
35335
 
35563
- // TODO
35564
- /**
35565
- * -- Not implemented --
35566
- *
35567
- * Returns the number of days from the settlement date to the next coupon date.
35568
- *
35569
- * Category: Financial
35570
- *
35571
- * @param {*} settlement The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.
35572
- * @param {*} maturity The security's maturity date. The maturity date is the date when the security expires.
35573
- * @param {*} frequency The number of coupon payments per year. For annual payments, frequency = 1; for semiannual, frequency = 2; for quarterly, frequency = 4.
35574
- * @param {*} basis Optional. The type of day count basis to use.
35575
- * @returns
35576
- */
35577
- function COUPDAYSNC() {
35578
- throw new Error('COUPDAYSNC is not implemented')
35579
- }
35580
-
35581
- // TODO
35582
- /**
35583
- * -- Not implemented --
35584
- *
35585
- * Returns the next coupon date after the settlement date.
35586
- *
35587
- * Category: Financial
35588
- *
35589
- * @param {*} settlement The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.
35590
- * @param {*} maturity The security's maturity date. The maturity date is the date when the security expires.
35591
- * @param {*} frequency The number of coupon payments per year. For annual payments, frequency = 1; for semiannual, frequency = 2; for quarterly, frequency = 4.
35592
- * @param {*} basis Optional. The type of day count basis to use.
35593
- * @returns
35594
- */
35595
- function COUPNCD() {
35596
- throw new Error('COUPNCD is not implemented')
35597
- }
35598
-
35599
- // TODO
35600
- /**
35601
- * -- Not implemented --
35602
- *
35603
- * Returns the number of coupons payable between the settlement date and maturity date.
35604
- *
35605
- * Category: Financial
35606
- *
35607
- * @param {*} settlement The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.
35608
- * @param {*} maturity The security's maturity date. The maturity date is the date when the security expires.
35609
- * @param {*} frequency The number of coupon payments per year. For annual payments, frequency = 1; for semiannual, frequency = 2; for quarterly, frequency = 4.
35610
- * @param {*} basis Optional. The type of day count basis to use.
35611
- * @returns
35612
- */
35613
- function COUPNUM() {
35614
- throw new Error('COUPNUM is not implemented')
35615
- }
35616
-
35617
- // TODO
35618
- /**
35619
- * -- Not implemented --
35620
- *
35621
- * Returns the previous coupon date before the settlement date.
35622
- *
35623
- * Category: Financial
35624
- *
35625
- * @param {*} settlement The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.
35626
- * @param {*} maturity The security's maturity date. The maturity date is the date when the security expires.
35627
- * @param {*} frequency The number of coupon payments per year. For annual payments, frequency = 1; for semiannual, frequency = 2; for quarterly, frequency = 4.
35628
- * @param {*} basis Optional. The type of day count basis to use.
35629
- * @returns
35630
- */
35631
- function COUPPCD() {
35632
- throw new Error('COUPPCD is not implemented')
35633
- }
35634
-
35635
35336
  /**
35636
35337
  * Returns the cumulative interest paid between two periods.
35637
35338
  *
@@ -36023,26 +35724,6 @@
36023
35724
  return result
36024
35725
  }
36025
35726
 
36026
- // TODO
36027
- /**
36028
- * -- Not implemented --
36029
- *
36030
- * Returns the annual duration of a security with periodic interest payments.
36031
- *
36032
- * Category: Financial
36033
- *
36034
- * @param {*} settlement The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.
36035
- * @param {*} maturity The security's maturity date. The maturity date is the date when the security expires.
36036
- * @param {*} coupon The security's annual coupon rate.
36037
- * @param {*} yld The security's annual yield.
36038
- * @param {*} frequency The number of coupon payments per year. For annual payments, frequency = 1; for semiannual, frequency = 2; for quarterly, frequency = 4.
36039
- * @param {*} basis Optional. The type of day count basis to use.
36040
- * @returns
36041
- */
36042
- function DURATION() {
36043
- throw new Error('DURATION is not implemented')
36044
- }
36045
-
36046
35727
  /**
36047
35728
  * Returns the effective annual interest rate.
36048
35729
  *
@@ -36147,25 +35828,6 @@
36147
35828
  return future
36148
35829
  }
36149
35830
 
36150
- // TODO
36151
- /**
36152
- * -- Not implemented --
36153
- *
36154
- * Returns the interest rate for a fully invested security.
36155
- *
36156
- * Category: Financial
36157
- *
36158
- * @param {*} settlement The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.
36159
- * @param {*} maturity The security's maturity date. The maturity date is the date when the security expires.
36160
- * @param {*} investment The amount invested in the security.
36161
- * @param {*} redemption The amount to be received at maturity.
36162
- * @param {*} basis Optional. The type of day count basis to use.
36163
- * @returns
36164
- */
36165
- function INTRATE() {
36166
- throw new Error('INTRATE is not implemented')
36167
- }
36168
-
36169
35831
  /**
36170
35832
  * Returns the interest payment for an investment for a given period.
36171
35833
  *
@@ -36420,26 +36082,6 @@
36420
36082
  return pv * rate * (per / nper - 1)
36421
36083
  }
36422
36084
 
36423
- // TODO
36424
- /**
36425
- * -- Not implemented --
36426
- *
36427
- * Returns the Macauley modified duration for a security with an assumed par value of $100.
36428
- *
36429
- * Category: Financial
36430
- *
36431
- * @param {*} settlement The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.
36432
- * @param {*} maturity The security's maturity date. The maturity date is the date when the security expires.
36433
- * @param {*} coupon The security's annual coupon rate.
36434
- * @param {*} yld The security's annual yield.
36435
- * @param {*} frequency The number of coupon payments per year. For annual payments, frequency = 1; for semiannual, frequency = 2; for quarterly, frequency = 4.
36436
- * @param {*} basis Optional. The type of day count basis to use.
36437
- * @returns
36438
- */
36439
- function MDURATION() {
36440
- throw new Error('MDURATION is not implemented')
36441
- }
36442
-
36443
36085
  /**
36444
36086
  * Returns the internal rate of return where positive and negative cash flows are financed at different rates.
36445
36087
  *
@@ -36583,96 +36225,6 @@
36583
36225
  return value
36584
36226
  }
36585
36227
 
36586
- // TODO
36587
- /**
36588
- * -- Not implemented --
36589
- *
36590
- * Returns the price per $100 face value of a security with an odd first period.
36591
- *
36592
- * Category: Financial
36593
- *
36594
- * @param {*} settlement The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.
36595
- * @param {*} maturity The security's maturity date. The maturity date is the date when the security expires.
36596
- * @param {*} issue The security's issue date.
36597
- * @param {*} first_coupon The security's first coupon date.
36598
- * @param {*} rate The security's interest rate.
36599
- * @param {*} yld The security's annual yield.
36600
- * @param {*} redemption The security's redemption value per $100 face value.
36601
- * @param {*} frequency The number of coupon payments per year. For annual payments, frequency = 1; for semiannual, frequency = 2; for quarterly, frequency = 4.
36602
- * @param {*} basis Optional. The type of day count basis to use.
36603
- * @returns
36604
- */
36605
- function ODDFPRICE() {
36606
- throw new Error('ODDFPRICE is not implemented')
36607
- }
36608
-
36609
- // TODO
36610
- /**
36611
- * -- Not implemented --
36612
- *
36613
- * Returns the yield of a security with an odd first period.
36614
- *
36615
- * Category: Financial
36616
- *
36617
- * @param {*} settlement The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.
36618
- * @param {*} maturity The security's maturity date. The maturity date is the date when the security expires.
36619
- * @param {*} issue The security's issue date.
36620
- * @param {*} first_coupon The security's first coupon date.
36621
- * @param {*} rate The security's interest rate.
36622
- * @param {*} pr The security's price.
36623
- * @param {*} redemption The security's redemption value per $100 face value.
36624
- * @param {*} frequency The number of coupon payments per year. For annual payments, frequency = 1; for semiannual, frequency = 2; for quarterly, frequency = 4.
36625
- * @param {*} basis Optional. The type of day count basis to use.
36626
- * @returns
36627
- */
36628
- function ODDFYIELD() {
36629
- throw new Error('ODDFYIELD is not implemented')
36630
- }
36631
-
36632
- // TODO
36633
- /**
36634
- * -- Not implemented --
36635
- *
36636
- * Returns the price per $100 face value of a security with an odd last period.
36637
- *
36638
- * Category: Financial
36639
- *
36640
- * @param {*} settlement The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.
36641
- * @param {*} maturity The security's maturity date. The maturity date is the date when the security expires.
36642
- * @param {*} last_interest The security's last coupon date.
36643
- * @param {*} rate The security's interest rate.
36644
- * @param {*} yld The security's annual yield.
36645
- * @param {*} redemption The security's redemption value per $100 face value.
36646
- * @param {*} frequency The number of coupon payments per year. For annual payments, frequency = 1; for semiannual, frequency = 2; for quarterly, frequency = 4.
36647
- * @param {*} basis Optional. The type of day count basis to use.
36648
- * @returns
36649
- */
36650
- function ODDLPRICE() {
36651
- throw new Error('ODDLPRICE is not implemented')
36652
- }
36653
-
36654
- // TODO
36655
- /**
36656
- * -- Not implemented --
36657
- *
36658
- * Returns the yield of a security with an odd last period.
36659
- *
36660
- * Category: Financial
36661
- *
36662
- * @param {*} settlement The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.
36663
- * @param {*} maturity The security's maturity date. The maturity date is the date when the security expires.
36664
- * @param {*} last_interest The security's last coupon date.
36665
- * @param {*} rate The security's interest rate
36666
- * @param {*} pr The security's price.
36667
- * @param {*} redemption The security's redemption value per $100 face value.
36668
- * @param {*} frequency The number of coupon payments per year. For annual payments, frequency = 1; for semiannual, frequency = 2; for quarterly, frequency = 4.
36669
- * @param {*} basis Optional. The type of day count basis to use.
36670
- * @returns
36671
- */
36672
- function ODDLYIELD() {
36673
- throw new Error('ODDLYIELD is not implemented')
36674
- }
36675
-
36676
36228
  /**
36677
36229
  * Returns the number of periods required by an investment to reach a specified value.
36678
36230
  *
@@ -36775,27 +36327,6 @@
36775
36327
  return PMT(rate, nper, pv, fv, type) - IPMT(rate, per, nper, pv, fv, type)
36776
36328
  }
36777
36329
 
36778
- // TODO
36779
- /**
36780
- * -- Not implemented --
36781
- *
36782
- * Returns the price per $100 face value of a security that pays periodic interest.
36783
- *
36784
- * Category: Financial
36785
- *
36786
- * @param {*} settlement The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.
36787
- * @param {*} maturity The security's maturity date. The maturity date is the date when the security expires.
36788
- * @param {*} rate The security's annual coupon rate.
36789
- * @param {*} yld The security's annual yield.
36790
- * @param {*} redemption The security's redemption value per $100 face value.
36791
- * @param {*} frequency The number of coupon payments per year. For annual payments, frequency = 1; for semiannual, frequency = 2; for quarterly, frequency = 4.
36792
- * @param {*} basis Optional. The type of day count basis to use.
36793
- * @returns
36794
- */
36795
- function PRICE() {
36796
- throw new Error('PRICE is not implemented')
36797
- }
36798
-
36799
36330
  /**
36800
36331
  * Returns the price per $100 face value of a discounted security.
36801
36332
  *
@@ -36858,26 +36389,6 @@
36858
36389
  return redemption - (discount * redemption * diff) / basisVal
36859
36390
  }
36860
36391
 
36861
- // TODO
36862
- /**
36863
- * -- Not implemented --
36864
- *
36865
- * Returns the price per $100 face value of a security that pays interest at maturity.
36866
- *
36867
- * Category: Financial
36868
- *
36869
- * @param {*} settlement The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.
36870
- * @param {*} maturity The security's maturity date. The maturity date is the date when the security expires.
36871
- * @param {*} issue The security's issue date, expressed as a serial date number.
36872
- * @param {*} rate The security's interest rate at date of issue.
36873
- * @param {*} yld The security's annual yield.
36874
- * @param {*} basis Optional. The type of day count basis to use.
36875
- * @returns
36876
- */
36877
- function PRICEMAT() {
36878
- throw new Error('PRICEMAT is not implemented')
36879
- }
36880
-
36881
36392
  /**
36882
36393
  * Returns the present value of an investment.
36883
36394
  *
@@ -36981,25 +36492,6 @@
36981
36492
  return rate
36982
36493
  }
36983
36494
 
36984
- // TODO
36985
- /**
36986
- * -- Not implemented --
36987
- *
36988
- * Returns the amount received at maturity for a fully invested security.
36989
- *
36990
- * Category: Financial
36991
- *
36992
- * @param {*} settlement The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.
36993
- * @param {*} maturity The security's maturity date. The maturity date is the date when the security expires.
36994
- * @param {*} investment The amount invested in the security.
36995
- * @param {*} discount The security's discount rate.
36996
- * @param {*} basis Optional. The type of day count basis to use.
36997
- * @returns
36998
- */
36999
- function RECEIVED() {
37000
- throw new Error('RECEIVED is not implemented')
37001
- }
37002
-
37003
36495
  /**
37004
36496
  * Returns an equivalent interest rate for the growth of an investment.
37005
36497
  *
@@ -37209,29 +36701,6 @@
37209
36701
  return ((100 - pr) * 360) / (pr * DAYS360(settlement, maturity, false))
37210
36702
  }
37211
36703
 
37212
- // TODO
37213
- /**
37214
- * -- Not implemented --
37215
- *
37216
- * Returns the depreciation of an asset for a specified or partial period by using a declining balance method.
37217
- *
37218
- * Category: Financial
37219
- *
37220
- * @param {*} cost The initial cost of the asset.
37221
- * @param {*} salvage The value at the end of the depreciation (sometimes called the salvage value of the asset). This value can be 0.
37222
- * @param {*} life The number of periods over which the asset is depreciated (sometimes called the useful life of the asset).
37223
- * @param {*} start_period The starting period for which you want to calculate the depreciation. Start_period must use the same units as life.
37224
- * @param {*} end_period The ending period for which you want to calculate the depreciation. End_period must use the same units as life.
37225
- * @param {*} factor Optional. The rate at which the balance declines. If factor is omitted, it is assumed to be 2 (the double-declining balance method). Change factor if you do not want to use the double-declining balance method. For a description of the double-declining balance method, see DDB.
37226
- * @param {*} no_switch Optional. A logical value specifying whether to switch to straight-line depreciation when depreciation is greater than the declining balance calculation.
37227
- - If no_switch is TRUE, Microsoft Excel does not switch to straight-line depreciation even when the depreciation is greater than the declining balance calculation.
37228
- - If no_switch is FALSE or omitted, Excel switches to straight-line depreciation when depreciation is greater than the declining balance calculation.
37229
- * @returns
37230
- */
37231
- function VDB() {
37232
- throw new Error('VDB is not implemented')
37233
- }
37234
-
37235
36704
  /**
37236
36705
  * Returns the internal rate of return for a schedule of cash flows that is not necessarily periodic.
37237
36706
  *
@@ -37347,66 +36816,6 @@
37347
36816
  return result
37348
36817
  }
37349
36818
 
37350
- // TODO
37351
- /**
37352
- * -- Not implemented --
37353
- *
37354
- * Returns the yield on a security that pays periodic interest.
37355
- *
37356
- * Category: Financial
37357
- *
37358
- * @param {*} settlement The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.
37359
- * @param {*} maturity The security's maturity date. The maturity date is the date when the security expires.
37360
- * @param {*} rate The security's annual coupon rate.
37361
- * @param {*} pr The security's price per $100 face value.
37362
- * @param {*} redemption The security's redemption value per $100 face value.
37363
- * @param {*} frequency The number of coupon payments per year. For annual payments, frequency = 1; for semiannual, frequency = 2; for quarterly, frequency = 4.
37364
- * @param {*} basis Optional. The type of day count basis to use.
37365
- * @returns
37366
- */
37367
- function YIELD() {
37368
- throw new Error('YIELD is not implemented')
37369
- }
37370
-
37371
- // TODO
37372
- /**
37373
- * -- Not implemented --
37374
- *
37375
- * Returns the annual yield for a discounted security; for example, a Treasury bill.
37376
- *
37377
- * Category: Financial
37378
- *
37379
- * @param {*} settlement The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.
37380
- * @param {*} maturity The security's maturity date. The maturity date is the date when the security expires.
37381
- * @param {*} pr The security's price per $100 face value.
37382
- * @param {*} redemption The security's redemption value per $100 face value.
37383
- * @param {*} basis Optional. The type of day count basis to use.
37384
- * @returns
37385
- */
37386
- function YIELDDISC() {
37387
- throw new Error('YIELDDISC is not implemented')
37388
- }
37389
-
37390
- // TODO
37391
- /**
37392
- * -- Not implemented --
37393
- *
37394
- * Returns the annual yield of a security that pays interest at maturity.
37395
- *
37396
- * Category: Financial
37397
- *
37398
- * @param {*} settlement The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.
37399
- * @param {*} maturity The security's maturity date. The maturity date is the date when the security expires.
37400
- * @param {*} issue The security's issue date, expressed as a serial date number.
37401
- * @param {*} rate The security's interest rate at date of issue.
37402
- * @param {*} pr The security's price per $100 face value.
37403
- * @param {*} basis Optional. The type of day count basis to use.
37404
- * @returns
37405
- */
37406
- function YIELDMAT() {
37407
- throw new Error('YIELDMAT is not implemented')
37408
- }
37409
-
37410
36819
  /**
37411
36820
  * Returns TRUE if all of its arguments are TRUE.
37412
36821
  *
@@ -37689,23 +37098,19 @@
37689
37098
  }
37690
37099
  }
37691
37100
 
37692
- const utils = { errors: errors$1, symbols };
37101
+ const utils = { errors: errors$1, symbols, date };
37693
37102
 
37694
37103
  var formulajs = /*#__PURE__*/Object.freeze({
37695
37104
  __proto__: null,
37696
37105
  ABS: ABS,
37697
37106
  ACCRINT: ACCRINT,
37698
- ACCRINTM: ACCRINTM,
37699
37107
  ACOS: ACOS,
37700
37108
  ACOSH: ACOSH,
37701
37109
  ACOT: ACOT,
37702
37110
  ACOTH: ACOTH,
37703
37111
  AGGREGATE: AGGREGATE,
37704
- AMORDEGRC: AMORDEGRC,
37705
- AMORLINC: AMORLINC,
37706
37112
  AND: AND,
37707
37113
  ARABIC: ARABIC,
37708
- ASC: ASC,
37709
37114
  ASIN: ASIN,
37710
37115
  ASINH: ASINH,
37711
37116
  ATAN: ATAN,
@@ -37716,7 +37121,6 @@
37716
37121
  AVERAGEA: AVERAGEA,
37717
37122
  AVERAGEIF: AVERAGEIF,
37718
37123
  AVERAGEIFS: AVERAGEIFS,
37719
- BAHTTEXT: BAHTTEXT,
37720
37124
  BASE: BASE,
37721
37125
  BESSELI: BESSELI,
37722
37126
  BESSELJ: BESSELJ,
@@ -37738,7 +37142,6 @@
37738
37142
  CEILING: CEILING,
37739
37143
  CEILINGMATH: CEILINGMATH,
37740
37144
  CEILINGPRECISE: CEILINGPRECISE,
37741
- CELL: CELL,
37742
37145
  CHAR: CHAR,
37743
37146
  CHIDIST: CHIDIST,
37744
37147
  CHIDISTRT: CHIDISTRT,
@@ -37768,12 +37171,7 @@
37768
37171
  COUNTBLANK: COUNTBLANK,
37769
37172
  COUNTIF: COUNTIF,
37770
37173
  COUNTIFS: COUNTIFS,
37771
- COUPDAYBS: COUPDAYBS,
37772
37174
  COUPDAYS: COUPDAYS,
37773
- COUPDAYSNC: COUPDAYSNC,
37774
- COUPNCD: COUPNCD,
37775
- COUPNUM: COUPNUM,
37776
- COUPPCD: COUPPCD,
37777
37175
  COVAR: COVAR,
37778
37176
  COVARIANCE: COVARIANCE,
37779
37177
  COVARIANCEP: COVARIANCEP,
@@ -37791,7 +37189,6 @@
37791
37189
  DAYS: DAYS,
37792
37190
  DAYS360: DAYS360,
37793
37191
  DB: DB,
37794
- DBCS: DBCS,
37795
37192
  DCOUNT: DCOUNT,
37796
37193
  DCOUNTA: DCOUNTA,
37797
37194
  DDB: DDB,
@@ -37813,7 +37210,6 @@
37813
37210
  DSTDEV: DSTDEV,
37814
37211
  DSTDEVP: DSTDEVP,
37815
37212
  DSUM: DSUM,
37816
- DURATION: DURATION,
37817
37213
  DVAR: DVAR,
37818
37214
  DVARP: DVARP,
37819
37215
  EDATE: EDATE,
@@ -37898,17 +37294,14 @@
37898
37294
  IMSUM: IMSUM,
37899
37295
  IMTAN: IMTAN,
37900
37296
  INDEX: INDEX,
37901
- INFO: INFO,
37902
37297
  INT: INT,
37903
37298
  INTERCEPT: INTERCEPT,
37904
- INTRATE: INTRATE,
37905
37299
  IPMT: IPMT,
37906
37300
  IRR: IRR,
37907
37301
  ISBLANK: ISBLANK,
37908
37302
  ISERR: ISERR,
37909
37303
  ISERROR: ISERROR,
37910
37304
  ISEVEN: ISEVEN,
37911
- ISFORMULA: ISFORMULA,
37912
37305
  ISLOGICAL: ISLOGICAL,
37913
37306
  ISNA: ISNA,
37914
37307
  ISNONTEXT: ISNONTEXT,
@@ -37917,7 +37310,6 @@
37917
37310
  ISODD: ISODD,
37918
37311
  ISOWEEKNUM: ISOWEEKNUM,
37919
37312
  ISPMT: ISPMT,
37920
- ISREF: ISREF,
37921
37313
  ISTEXT: ISTEXT,
37922
37314
  KURT: KURT,
37923
37315
  LARGE: LARGE,
@@ -37939,7 +37331,6 @@
37939
37331
  MAX: MAX,
37940
37332
  MAXA: MAXA,
37941
37333
  MAXIFS: MAXIFS,
37942
- MDURATION: MDURATION,
37943
37334
  MEDIAN: MEDIAN,
37944
37335
  MID: MID,
37945
37336
  MIN: MIN,
@@ -37977,10 +37368,6 @@
37977
37368
  OCT2DEC: OCT2DEC,
37978
37369
  OCT2HEX: OCT2HEX,
37979
37370
  ODD: ODD,
37980
- ODDFPRICE: ODDFPRICE,
37981
- ODDFYIELD: ODDFYIELD,
37982
- ODDLPRICE: ODDLPRICE,
37983
- ODDLYIELD: ODDLYIELD,
37984
37371
  OR: OR,
37985
37372
  PDURATION: PDURATION,
37986
37373
  PEARSON: PEARSON,
@@ -37999,12 +37386,9 @@
37999
37386
  POISSONDIST: POISSONDIST,
38000
37387
  POWER: POWER,
38001
37388
  PPMT: PPMT,
38002
- PRICE: PRICE,
38003
37389
  PRICEDISC: PRICEDISC,
38004
- PRICEMAT: PRICEMAT,
38005
37390
  PROB: PROB,
38006
37391
  PRODUCT: PRODUCT,
38007
- PRONETIC: PRONETIC,
38008
37392
  PROPER: PROPER,
38009
37393
  PV: PV,
38010
37394
  QUARTILE: QUARTILE,
@@ -38018,7 +37402,6 @@
38018
37402
  RANKAVG: RANKAVG,
38019
37403
  RANKEQ: RANKEQ,
38020
37404
  RATE: RATE,
38021
- RECEIVED: RECEIVED,
38022
37405
  REPLACE: REPLACE,
38023
37406
  REPT: REPT,
38024
37407
  RIGHT: RIGHT,
@@ -38035,8 +37418,6 @@
38035
37418
  SECH: SECH,
38036
37419
  SECOND: SECOND,
38037
37420
  SERIESSUM: SERIESSUM,
38038
- SHEET: SHEET,
38039
- SHEETS: SHEETS,
38040
37421
  SIGN: SIGN,
38041
37422
  SIN: SIN,
38042
37423
  SINH: SINH,
@@ -38099,7 +37480,6 @@
38099
37480
  VARP: VARP,
38100
37481
  VARPA: VARPA,
38101
37482
  VARS: VARS,
38102
- VDB: VDB,
38103
37483
  VLOOKUP: VLOOKUP,
38104
37484
  WEEKDAY: WEEKDAY,
38105
37485
  WEEKNUM: WEEKNUM,
@@ -38112,9 +37492,6 @@
38112
37492
  XOR: XOR,
38113
37493
  YEAR: YEAR,
38114
37494
  YEARFRAC: YEARFRAC,
38115
- YIELD: YIELD,
38116
- YIELDDISC: YIELDDISC,
38117
- YIELDMAT: YIELDMAT,
38118
37495
  Z: Z,
38119
37496
  ZTEST: ZTEST,
38120
37497
  utils: utils