@barchart/portfolio-api-common 1.2.51 → 1.2.52
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/data/TransactionType.js +38 -37
- package/package.json +1 -1
- package/test/SpecRunner.js +38 -37
|
@@ -12,6 +12,7 @@ module.exports = (() => {
|
|
|
12
12
|
* @param {String} code
|
|
13
13
|
* @param {String} description
|
|
14
14
|
* @param {String} display
|
|
15
|
+
* @param {Number} sequence
|
|
15
16
|
* @param {Boolean} purchase
|
|
16
17
|
* @param {Boolean} sale
|
|
17
18
|
* @param {Boolean} income
|
|
@@ -21,13 +22,14 @@ module.exports = (() => {
|
|
|
21
22
|
* @param {Boolean} corporateAction
|
|
22
23
|
* @param {Boolean} initial
|
|
23
24
|
* @param {Boolean} significant
|
|
24
|
-
* @param {Boolean}
|
|
25
|
+
* @param {Boolean} eod
|
|
25
26
|
*/
|
|
26
27
|
class TransactionType extends Enum {
|
|
27
|
-
constructor(code, description, display, purchase, sale, income, opening, closing, fee, corporateAction, initial, significant
|
|
28
|
+
constructor(code, description, display, sequence, purchase, sale, income, opening, closing, fee, corporateAction, initial, significant) {
|
|
28
29
|
super(code, description);
|
|
29
30
|
|
|
30
31
|
assert.argumentIsRequired(display, 'display', String);
|
|
32
|
+
assert.argumentIsRequired(sequence, 'sequence', Number);
|
|
31
33
|
assert.argumentIsRequired(purchase, 'purchase', Boolean);
|
|
32
34
|
assert.argumentIsRequired(sale, 'sale', Boolean);
|
|
33
35
|
assert.argumentIsRequired(income, 'income', Boolean);
|
|
@@ -37,9 +39,9 @@ module.exports = (() => {
|
|
|
37
39
|
assert.argumentIsRequired(corporateAction, 'corporateAction', Boolean);
|
|
38
40
|
assert.argumentIsRequired(initial, 'initial', Boolean);
|
|
39
41
|
assert.argumentIsRequired(significant, 'significant', Boolean);
|
|
40
|
-
assert.argumentIsRequired(forceZero, 'forceZero', Boolean);
|
|
41
42
|
|
|
42
43
|
this._display = display;
|
|
44
|
+
this._sequence = sequence;
|
|
43
45
|
this._purchase = purchase;
|
|
44
46
|
this._sale = sale;
|
|
45
47
|
this._income = income;
|
|
@@ -49,7 +51,6 @@ module.exports = (() => {
|
|
|
49
51
|
this._corporateAction = corporateAction;
|
|
50
52
|
this._initial = initial;
|
|
51
53
|
this._significant = significant;
|
|
52
|
-
this._forceZero = forceZero;
|
|
53
54
|
}
|
|
54
55
|
|
|
55
56
|
/**
|
|
@@ -62,6 +63,17 @@ module.exports = (() => {
|
|
|
62
63
|
return this._display;
|
|
63
64
|
}
|
|
64
65
|
|
|
66
|
+
/**
|
|
67
|
+
* Specifies ordering when multiple transactions occur on the same day, for
|
|
68
|
+
* the same position.
|
|
69
|
+
*
|
|
70
|
+
* @public
|
|
71
|
+
* @returns {Number}
|
|
72
|
+
*/
|
|
73
|
+
get sequence() {
|
|
74
|
+
return this._sequence;
|
|
75
|
+
}
|
|
76
|
+
|
|
65
77
|
/**
|
|
66
78
|
* Indicates if the transaction was a trade.
|
|
67
79
|
*
|
|
@@ -165,17 +177,6 @@ module.exports = (() => {
|
|
|
165
177
|
return this._significant;
|
|
166
178
|
}
|
|
167
179
|
|
|
168
|
-
/**
|
|
169
|
-
* Indicates if closing transaction quantities should be adjusted to zero out
|
|
170
|
-
* the position, when they reach a threshold that approximates zero.
|
|
171
|
-
*
|
|
172
|
-
* @public
|
|
173
|
-
* @returns {Boolean}
|
|
174
|
-
*/
|
|
175
|
-
get forceZero() {
|
|
176
|
-
return this._forceZero;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
180
|
/**
|
|
180
181
|
* A purchase.
|
|
181
182
|
*
|
|
@@ -390,28 +391,28 @@ module.exports = (() => {
|
|
|
390
391
|
}
|
|
391
392
|
}
|
|
392
393
|
|
|
393
|
-
const buy = new TransactionType('B', 'Buy', 'Buy', true, false, false, true, false, false, false, true, true
|
|
394
|
-
const sell = new TransactionType('S', 'Sell', 'Sell', false, true, false, false, true, false, false, false, true
|
|
395
|
-
const buyShort = new TransactionType('BS', 'Buy To Cover', 'Buy To Cover', true, false, false, false, true, false, false, false, true
|
|
396
|
-
const sellShort = new TransactionType('SS', 'Sell Short', 'Sell Short', false, true, false, true, false, false, false, true, true
|
|
397
|
-
const dividend = new TransactionType('DV', 'Dividend', 'Dividend', false, false, true, false, false, false, true, false, false
|
|
398
|
-
const dividendReinvest = new TransactionType('DX', 'Dividend (Reinvested)', 'Dividend Reinvest', false, false, false, true, false, false, true, false, false
|
|
399
|
-
const dividendStock = new TransactionType('DS', 'Dividend (Stock)', 'Dividend Stock', false, false, false, true, false, false, true, false, false
|
|
400
|
-
const split = new TransactionType('SP', 'Split', 'Split', false, false, false, true, false, false, true, false, false
|
|
401
|
-
const fee = new TransactionType('F', 'Fee', 'Fee', false, false, false, false, false, true, false, false, false
|
|
402
|
-
const feeUnits = new TransactionType('FU', 'Fee Units', 'Fee', false, false, false, false, true, false, false, false, false
|
|
403
|
-
|
|
404
|
-
const distributionCash = new TransactionType('DC', 'Distribution (Cash)', 'Cash Distribution', false, false, true, false, false, false, true, false, false
|
|
405
|
-
const distributionReinvest = new TransactionType('DY', 'Distribution (Reinvested)', 'Distribution Reinvest', false, false, false, true, false, false, true, false, false
|
|
406
|
-
const distributionFund = new TransactionType('DF', 'Distribution (Units)', 'Unit Distribution', false, false, false, true, false, false, true, false, false
|
|
407
|
-
|
|
408
|
-
const deposit = new TransactionType('D', 'Deposit', 'Deposit',
|
|
409
|
-
const withdrawal = new TransactionType('W', 'Withdrawal', 'Withdrawal',
|
|
410
|
-
const debit = new TransactionType('DR', 'Debit', 'Debit', false, false, false, false, false, false, false, true, true
|
|
411
|
-
const credit = new TransactionType('CR', 'Credit', 'Credit', false, false, false, false, false, false, false, true, true
|
|
412
|
-
|
|
413
|
-
const valuation = new TransactionType('V', 'Valuation', 'Valuation',
|
|
414
|
-
const income = new TransactionType('I', 'Income', 'Income', false, false, true, false, false, false, false, false, false
|
|
394
|
+
const buy = new TransactionType('B', 'Buy', 'Buy', 0, true, false, false, true, false, false, false, true, true);
|
|
395
|
+
const sell = new TransactionType('S', 'Sell', 'Sell', 0, false, true, false, false, true, false, false, false, true);
|
|
396
|
+
const buyShort = new TransactionType('BS', 'Buy To Cover', 'Buy To Cover', 0, true, false, false, false, true, false, false, false, true);
|
|
397
|
+
const sellShort = new TransactionType('SS', 'Sell Short', 'Sell Short', 0, false, true, false, true, false, false, false, true, true);
|
|
398
|
+
const dividend = new TransactionType('DV', 'Dividend', 'Dividend', 0, false, false, true, false, false, false, true, false, false);
|
|
399
|
+
const dividendReinvest = new TransactionType('DX', 'Dividend (Reinvested)', 'Dividend Reinvest', 1, false, false, false, true, false, false, true, false, false);
|
|
400
|
+
const dividendStock = new TransactionType('DS', 'Dividend (Stock)', 'Dividend Stock', 1, false, false, false, true, false, false, true, false, false);
|
|
401
|
+
const split = new TransactionType('SP', 'Split', 'Split', 2, false, false, false, true, false, false, true, false, false);
|
|
402
|
+
const fee = new TransactionType('F', 'Fee', 'Fee', 0, false, false, false, false, false, true, false, false, false);
|
|
403
|
+
const feeUnits = new TransactionType('FU', 'Fee Units', 'Fee', 0, false, false, false, false, true, false, false, false, false);
|
|
404
|
+
|
|
405
|
+
const distributionCash = new TransactionType('DC', 'Distribution (Cash)', 'Cash Distribution', 1, false, false, true, false, false, false, true, false, false);
|
|
406
|
+
const distributionReinvest = new TransactionType('DY', 'Distribution (Reinvested)', 'Distribution Reinvest', 1, false, false, false, true, false, false, true, false, false);
|
|
407
|
+
const distributionFund = new TransactionType('DF', 'Distribution (Units)', 'Unit Distribution', 1, false, false, false, true, false, false, true, false, false);
|
|
408
|
+
|
|
409
|
+
const deposit = new TransactionType('D', 'Deposit', 'Deposit', 0, false, false, false, false, false, false, false, true, true);
|
|
410
|
+
const withdrawal = new TransactionType('W', 'Withdrawal', 'Withdrawal', 0, false, false, false, false, false, false, false, true, true);
|
|
411
|
+
const debit = new TransactionType('DR', 'Debit', 'Debit', 0, false, false, false, false, false, false, false, true, true);
|
|
412
|
+
const credit = new TransactionType('CR', 'Credit', 'Credit', 0, false, false, false, false, false, false, false, true, true);
|
|
413
|
+
|
|
414
|
+
const valuation = new TransactionType('V', 'Valuation', 'Valuation', 0, false, false, false, false, false, false, false, false, false);
|
|
415
|
+
const income = new TransactionType('I', 'Income', 'Income', 0, false, false, true, false, false, false, false, false, false);
|
|
415
416
|
|
|
416
417
|
return TransactionType;
|
|
417
418
|
})();
|
package/package.json
CHANGED
package/test/SpecRunner.js
CHANGED
|
@@ -635,6 +635,7 @@ module.exports = (() => {
|
|
|
635
635
|
* @param {String} code
|
|
636
636
|
* @param {String} description
|
|
637
637
|
* @param {String} display
|
|
638
|
+
* @param {Number} sequence
|
|
638
639
|
* @param {Boolean} purchase
|
|
639
640
|
* @param {Boolean} sale
|
|
640
641
|
* @param {Boolean} income
|
|
@@ -644,13 +645,14 @@ module.exports = (() => {
|
|
|
644
645
|
* @param {Boolean} corporateAction
|
|
645
646
|
* @param {Boolean} initial
|
|
646
647
|
* @param {Boolean} significant
|
|
647
|
-
* @param {Boolean}
|
|
648
|
+
* @param {Boolean} eod
|
|
648
649
|
*/
|
|
649
650
|
class TransactionType extends Enum {
|
|
650
|
-
constructor(code, description, display, purchase, sale, income, opening, closing, fee, corporateAction, initial, significant
|
|
651
|
+
constructor(code, description, display, sequence, purchase, sale, income, opening, closing, fee, corporateAction, initial, significant) {
|
|
651
652
|
super(code, description);
|
|
652
653
|
|
|
653
654
|
assert.argumentIsRequired(display, 'display', String);
|
|
655
|
+
assert.argumentIsRequired(sequence, 'sequence', Number);
|
|
654
656
|
assert.argumentIsRequired(purchase, 'purchase', Boolean);
|
|
655
657
|
assert.argumentIsRequired(sale, 'sale', Boolean);
|
|
656
658
|
assert.argumentIsRequired(income, 'income', Boolean);
|
|
@@ -660,9 +662,9 @@ module.exports = (() => {
|
|
|
660
662
|
assert.argumentIsRequired(corporateAction, 'corporateAction', Boolean);
|
|
661
663
|
assert.argumentIsRequired(initial, 'initial', Boolean);
|
|
662
664
|
assert.argumentIsRequired(significant, 'significant', Boolean);
|
|
663
|
-
assert.argumentIsRequired(forceZero, 'forceZero', Boolean);
|
|
664
665
|
|
|
665
666
|
this._display = display;
|
|
667
|
+
this._sequence = sequence;
|
|
666
668
|
this._purchase = purchase;
|
|
667
669
|
this._sale = sale;
|
|
668
670
|
this._income = income;
|
|
@@ -672,7 +674,6 @@ module.exports = (() => {
|
|
|
672
674
|
this._corporateAction = corporateAction;
|
|
673
675
|
this._initial = initial;
|
|
674
676
|
this._significant = significant;
|
|
675
|
-
this._forceZero = forceZero;
|
|
676
677
|
}
|
|
677
678
|
|
|
678
679
|
/**
|
|
@@ -685,6 +686,17 @@ module.exports = (() => {
|
|
|
685
686
|
return this._display;
|
|
686
687
|
}
|
|
687
688
|
|
|
689
|
+
/**
|
|
690
|
+
* Specifies ordering when multiple transactions occur on the same day, for
|
|
691
|
+
* the same position.
|
|
692
|
+
*
|
|
693
|
+
* @public
|
|
694
|
+
* @returns {Number}
|
|
695
|
+
*/
|
|
696
|
+
get sequence() {
|
|
697
|
+
return this._sequence;
|
|
698
|
+
}
|
|
699
|
+
|
|
688
700
|
/**
|
|
689
701
|
* Indicates if the transaction was a trade.
|
|
690
702
|
*
|
|
@@ -788,17 +800,6 @@ module.exports = (() => {
|
|
|
788
800
|
return this._significant;
|
|
789
801
|
}
|
|
790
802
|
|
|
791
|
-
/**
|
|
792
|
-
* Indicates if closing transaction quantities should be adjusted to zero out
|
|
793
|
-
* the position, when they reach a threshold that approximates zero.
|
|
794
|
-
*
|
|
795
|
-
* @public
|
|
796
|
-
* @returns {Boolean}
|
|
797
|
-
*/
|
|
798
|
-
get forceZero() {
|
|
799
|
-
return this._forceZero;
|
|
800
|
-
}
|
|
801
|
-
|
|
802
803
|
/**
|
|
803
804
|
* A purchase.
|
|
804
805
|
*
|
|
@@ -1013,28 +1014,28 @@ module.exports = (() => {
|
|
|
1013
1014
|
}
|
|
1014
1015
|
}
|
|
1015
1016
|
|
|
1016
|
-
const buy = new TransactionType('B', 'Buy', 'Buy', true, false, false, true, false, false, false, true, true
|
|
1017
|
-
const sell = new TransactionType('S', 'Sell', 'Sell', false, true, false, false, true, false, false, false, true
|
|
1018
|
-
const buyShort = new TransactionType('BS', 'Buy To Cover', 'Buy To Cover', true, false, false, false, true, false, false, false, true
|
|
1019
|
-
const sellShort = new TransactionType('SS', 'Sell Short', 'Sell Short', false, true, false, true, false, false, false, true, true
|
|
1020
|
-
const dividend = new TransactionType('DV', 'Dividend', 'Dividend', false, false, true, false, false, false, true, false, false
|
|
1021
|
-
const dividendReinvest = new TransactionType('DX', 'Dividend (Reinvested)', 'Dividend Reinvest', false, false, false, true, false, false, true, false, false
|
|
1022
|
-
const dividendStock = new TransactionType('DS', 'Dividend (Stock)', 'Dividend Stock', false, false, false, true, false, false, true, false, false
|
|
1023
|
-
const split = new TransactionType('SP', 'Split', 'Split', false, false, false, true, false, false, true, false, false
|
|
1024
|
-
const fee = new TransactionType('F', 'Fee', 'Fee', false, false, false, false, false, true, false, false, false
|
|
1025
|
-
const feeUnits = new TransactionType('FU', 'Fee Units', 'Fee', false, false, false, false, true, false, false, false, false
|
|
1026
|
-
|
|
1027
|
-
const distributionCash = new TransactionType('DC', 'Distribution (Cash)', 'Cash Distribution', false, false, true, false, false, false, true, false, false
|
|
1028
|
-
const distributionReinvest = new TransactionType('DY', 'Distribution (Reinvested)', 'Distribution Reinvest', false, false, false, true, false, false, true, false, false
|
|
1029
|
-
const distributionFund = new TransactionType('DF', 'Distribution (Units)', 'Unit Distribution', false, false, false, true, false, false, true, false, false
|
|
1030
|
-
|
|
1031
|
-
const deposit = new TransactionType('D', 'Deposit', 'Deposit',
|
|
1032
|
-
const withdrawal = new TransactionType('W', 'Withdrawal', 'Withdrawal',
|
|
1033
|
-
const debit = new TransactionType('DR', 'Debit', 'Debit', false, false, false, false, false, false, false, true, true
|
|
1034
|
-
const credit = new TransactionType('CR', 'Credit', 'Credit', false, false, false, false, false, false, false, true, true
|
|
1035
|
-
|
|
1036
|
-
const valuation = new TransactionType('V', 'Valuation', 'Valuation',
|
|
1037
|
-
const income = new TransactionType('I', 'Income', 'Income', false, false, true, false, false, false, false, false, false
|
|
1017
|
+
const buy = new TransactionType('B', 'Buy', 'Buy', 0, true, false, false, true, false, false, false, true, true);
|
|
1018
|
+
const sell = new TransactionType('S', 'Sell', 'Sell', 0, false, true, false, false, true, false, false, false, true);
|
|
1019
|
+
const buyShort = new TransactionType('BS', 'Buy To Cover', 'Buy To Cover', 0, true, false, false, false, true, false, false, false, true);
|
|
1020
|
+
const sellShort = new TransactionType('SS', 'Sell Short', 'Sell Short', 0, false, true, false, true, false, false, false, true, true);
|
|
1021
|
+
const dividend = new TransactionType('DV', 'Dividend', 'Dividend', 0, false, false, true, false, false, false, true, false, false);
|
|
1022
|
+
const dividendReinvest = new TransactionType('DX', 'Dividend (Reinvested)', 'Dividend Reinvest', 1, false, false, false, true, false, false, true, false, false);
|
|
1023
|
+
const dividendStock = new TransactionType('DS', 'Dividend (Stock)', 'Dividend Stock', 1, false, false, false, true, false, false, true, false, false);
|
|
1024
|
+
const split = new TransactionType('SP', 'Split', 'Split', 2, false, false, false, true, false, false, true, false, false);
|
|
1025
|
+
const fee = new TransactionType('F', 'Fee', 'Fee', 0, false, false, false, false, false, true, false, false, false);
|
|
1026
|
+
const feeUnits = new TransactionType('FU', 'Fee Units', 'Fee', 0, false, false, false, false, true, false, false, false, false);
|
|
1027
|
+
|
|
1028
|
+
const distributionCash = new TransactionType('DC', 'Distribution (Cash)', 'Cash Distribution', 1, false, false, true, false, false, false, true, false, false);
|
|
1029
|
+
const distributionReinvest = new TransactionType('DY', 'Distribution (Reinvested)', 'Distribution Reinvest', 1, false, false, false, true, false, false, true, false, false);
|
|
1030
|
+
const distributionFund = new TransactionType('DF', 'Distribution (Units)', 'Unit Distribution', 1, false, false, false, true, false, false, true, false, false);
|
|
1031
|
+
|
|
1032
|
+
const deposit = new TransactionType('D', 'Deposit', 'Deposit', 0, false, false, false, false, false, false, false, true, true);
|
|
1033
|
+
const withdrawal = new TransactionType('W', 'Withdrawal', 'Withdrawal', 0, false, false, false, false, false, false, false, true, true);
|
|
1034
|
+
const debit = new TransactionType('DR', 'Debit', 'Debit', 0, false, false, false, false, false, false, false, true, true);
|
|
1035
|
+
const credit = new TransactionType('CR', 'Credit', 'Credit', 0, false, false, false, false, false, false, false, true, true);
|
|
1036
|
+
|
|
1037
|
+
const valuation = new TransactionType('V', 'Valuation', 'Valuation', 0, false, false, false, false, false, false, false, false, false);
|
|
1038
|
+
const income = new TransactionType('I', 'Income', 'Income', 0, false, false, true, false, false, false, false, false, false);
|
|
1038
1039
|
|
|
1039
1040
|
return TransactionType;
|
|
1040
1041
|
})();
|