@barchart/portfolio-api-common 1.2.49 → 1.2.53
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.
|
@@ -192,7 +192,7 @@ module.exports = (() => {
|
|
|
192
192
|
} else if (code === 5 || code == 15) {
|
|
193
193
|
return InstrumentType.FUND;
|
|
194
194
|
} else {
|
|
195
|
-
throw new Error(
|
|
195
|
+
throw new Error(`Unable to determine InstrumentType for [ ${code} ]`);
|
|
196
196
|
}
|
|
197
197
|
}
|
|
198
198
|
|
|
@@ -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,12 +22,14 @@ module.exports = (() => {
|
|
|
21
22
|
* @param {Boolean} corporateAction
|
|
22
23
|
* @param {Boolean} initial
|
|
23
24
|
* @param {Boolean} significant
|
|
24
|
-
|
|
25
|
+
* @param {Boolean} eod
|
|
26
|
+
*/
|
|
25
27
|
class TransactionType extends Enum {
|
|
26
|
-
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) {
|
|
27
29
|
super(code, description);
|
|
28
30
|
|
|
29
31
|
assert.argumentIsRequired(display, 'display', String);
|
|
32
|
+
assert.argumentIsRequired(sequence, 'sequence', Number);
|
|
30
33
|
assert.argumentIsRequired(purchase, 'purchase', Boolean);
|
|
31
34
|
assert.argumentIsRequired(sale, 'sale', Boolean);
|
|
32
35
|
assert.argumentIsRequired(income, 'income', Boolean);
|
|
@@ -38,6 +41,7 @@ module.exports = (() => {
|
|
|
38
41
|
assert.argumentIsRequired(significant, 'significant', Boolean);
|
|
39
42
|
|
|
40
43
|
this._display = display;
|
|
44
|
+
this._sequence = sequence;
|
|
41
45
|
this._purchase = purchase;
|
|
42
46
|
this._sale = sale;
|
|
43
47
|
this._income = income;
|
|
@@ -59,6 +63,17 @@ module.exports = (() => {
|
|
|
59
63
|
return this._display;
|
|
60
64
|
}
|
|
61
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
|
+
|
|
62
77
|
/**
|
|
63
78
|
* Indicates if the transaction was a trade.
|
|
64
79
|
*
|
|
@@ -376,28 +391,28 @@ module.exports = (() => {
|
|
|
376
391
|
}
|
|
377
392
|
}
|
|
378
393
|
|
|
379
|
-
const buy = new TransactionType('B', 'Buy', 'Buy', true, false, false, true, false, false, false, true, true);
|
|
380
|
-
const sell = new TransactionType('S', 'Sell', 'Sell', false, true, false, false, true, false, false, false, true);
|
|
381
|
-
const buyShort = new TransactionType('BS', 'Buy To Cover', 'Buy To Cover', true, false, false, false, true, false, false, false, true);
|
|
382
|
-
const sellShort = new TransactionType('SS', 'Sell Short', 'Sell Short', false, true, false, true, false, false, false, true, true);
|
|
383
|
-
const dividend = new TransactionType('DV', 'Dividend', 'Dividend', false, false, true, false, false, false, true, false, false);
|
|
384
|
-
const dividendReinvest = new TransactionType('DX', 'Dividend (Reinvested)', 'Dividend Reinvest', false, false, false, true, false, false, true, false, false);
|
|
385
|
-
const dividendStock = new TransactionType('DS', 'Dividend (Stock)', 'Dividend Stock', false, false, false, true, false, false, true, false, false);
|
|
386
|
-
const split = new TransactionType('SP', 'Split', 'Split', false, false, false, true, false, false, true, false, false);
|
|
387
|
-
const fee = new TransactionType('F', 'Fee', 'Fee', false, false, false, false, false, true, false, false, false);
|
|
388
|
-
const feeUnits = new TransactionType('FU', 'Fee Units', 'Fee', false, false, false, false, true, false, false, false, false);
|
|
389
|
-
|
|
390
|
-
const distributionCash = new TransactionType('DC', 'Distribution (Cash)', 'Cash Distribution', false, false, true, false, false, false, true, false, false);
|
|
391
|
-
const distributionReinvest = new TransactionType('DY', 'Distribution (Reinvested)', 'Distribution Reinvest', false, false, false, true, false, false, true, false, false);
|
|
392
|
-
const distributionFund = new TransactionType('DF', 'Distribution (Units)', 'Unit Distribution', false, false, false, true, false, false, true, false, false);
|
|
393
|
-
|
|
394
|
-
const deposit = new TransactionType('D', 'Deposit', 'Deposit', false, false, false, false, false, false, false, true, true);
|
|
395
|
-
const withdrawal = new TransactionType('W', 'Withdrawal', 'Withdrawal', false, false, false, false, false, false, false, true, true);
|
|
396
|
-
const debit = new TransactionType('DR', 'Debit', 'Debit', false, false, false, false, false, false, false, true, true);
|
|
397
|
-
const credit = new TransactionType('CR', 'Credit', 'Credit', false, false, false, false, false, false, false, true, true);
|
|
398
|
-
|
|
399
|
-
const valuation = new TransactionType('V', 'Valuation', 'Valuation', false, false, false, false, false, false, false, false, false);
|
|
400
|
-
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', 1, 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);
|
|
401
416
|
|
|
402
417
|
return TransactionType;
|
|
403
418
|
})();
|
package/package.json
CHANGED
package/test/SpecRunner.js
CHANGED
|
@@ -193,7 +193,7 @@ module.exports = (() => {
|
|
|
193
193
|
} else if (code === 5 || code == 15) {
|
|
194
194
|
return InstrumentType.FUND;
|
|
195
195
|
} else {
|
|
196
|
-
throw new Error(
|
|
196
|
+
throw new Error(`Unable to determine InstrumentType for [ ${code} ]`);
|
|
197
197
|
}
|
|
198
198
|
}
|
|
199
199
|
|
|
@@ -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,12 +645,14 @@ module.exports = (() => {
|
|
|
644
645
|
* @param {Boolean} corporateAction
|
|
645
646
|
* @param {Boolean} initial
|
|
646
647
|
* @param {Boolean} significant
|
|
647
|
-
|
|
648
|
+
* @param {Boolean} eod
|
|
649
|
+
*/
|
|
648
650
|
class TransactionType extends Enum {
|
|
649
|
-
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) {
|
|
650
652
|
super(code, description);
|
|
651
653
|
|
|
652
654
|
assert.argumentIsRequired(display, 'display', String);
|
|
655
|
+
assert.argumentIsRequired(sequence, 'sequence', Number);
|
|
653
656
|
assert.argumentIsRequired(purchase, 'purchase', Boolean);
|
|
654
657
|
assert.argumentIsRequired(sale, 'sale', Boolean);
|
|
655
658
|
assert.argumentIsRequired(income, 'income', Boolean);
|
|
@@ -661,6 +664,7 @@ module.exports = (() => {
|
|
|
661
664
|
assert.argumentIsRequired(significant, 'significant', Boolean);
|
|
662
665
|
|
|
663
666
|
this._display = display;
|
|
667
|
+
this._sequence = sequence;
|
|
664
668
|
this._purchase = purchase;
|
|
665
669
|
this._sale = sale;
|
|
666
670
|
this._income = income;
|
|
@@ -682,6 +686,17 @@ module.exports = (() => {
|
|
|
682
686
|
return this._display;
|
|
683
687
|
}
|
|
684
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
|
+
|
|
685
700
|
/**
|
|
686
701
|
* Indicates if the transaction was a trade.
|
|
687
702
|
*
|
|
@@ -999,28 +1014,28 @@ module.exports = (() => {
|
|
|
999
1014
|
}
|
|
1000
1015
|
}
|
|
1001
1016
|
|
|
1002
|
-
const buy = new TransactionType('B', 'Buy', 'Buy', true, false, false, true, false, false, false, true, true);
|
|
1003
|
-
const sell = new TransactionType('S', 'Sell', 'Sell', false, true, false, false, true, false, false, false, true);
|
|
1004
|
-
const buyShort = new TransactionType('BS', 'Buy To Cover', 'Buy To Cover', true, false, false, false, true, false, false, false, true);
|
|
1005
|
-
const sellShort = new TransactionType('SS', 'Sell Short', 'Sell Short', false, true, false, true, false, false, false, true, true);
|
|
1006
|
-
const dividend = new TransactionType('DV', 'Dividend', 'Dividend', false, false, true, false, false, false, true, false, false);
|
|
1007
|
-
const dividendReinvest = new TransactionType('DX', 'Dividend (Reinvested)', 'Dividend Reinvest', false, false, false, true, false, false, true, false, false);
|
|
1008
|
-
const dividendStock = new TransactionType('DS', 'Dividend (Stock)', 'Dividend Stock', false, false, false, true, false, false, true, false, false);
|
|
1009
|
-
const split = new TransactionType('SP', 'Split', 'Split', false, false, false, true, false, false, true, false, false);
|
|
1010
|
-
const fee = new TransactionType('F', 'Fee', 'Fee', false, false, false, false, false, true, false, false, false);
|
|
1011
|
-
const feeUnits = new TransactionType('FU', 'Fee Units', 'Fee', false, false, false, false, true, false, false, false, false);
|
|
1012
|
-
|
|
1013
|
-
const distributionCash = new TransactionType('DC', 'Distribution (Cash)', 'Cash Distribution', false, false, true, false, false, false, true, false, false);
|
|
1014
|
-
const distributionReinvest = new TransactionType('DY', 'Distribution (Reinvested)', 'Distribution Reinvest', false, false, false, true, false, false, true, false, false);
|
|
1015
|
-
const distributionFund = new TransactionType('DF', 'Distribution (Units)', 'Unit Distribution', false, false, false, true, false, false, true, false, false);
|
|
1016
|
-
|
|
1017
|
-
const deposit = new TransactionType('D', 'Deposit', 'Deposit', false, false, false, false, false, false, false, true, true);
|
|
1018
|
-
const withdrawal = new TransactionType('W', 'Withdrawal', 'Withdrawal', false, false, false, false, false, false, false, true, true);
|
|
1019
|
-
const debit = new TransactionType('DR', 'Debit', 'Debit', false, false, false, false, false, false, false, true, true);
|
|
1020
|
-
const credit = new TransactionType('CR', 'Credit', 'Credit', false, false, false, false, false, false, false, true, true);
|
|
1021
|
-
|
|
1022
|
-
const valuation = new TransactionType('V', 'Valuation', 'Valuation', false, false, false, false, false, false, false, false, false);
|
|
1023
|
-
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', 1, 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);
|
|
1024
1039
|
|
|
1025
1040
|
return TransactionType;
|
|
1026
1041
|
})();
|