@barchart/portfolio-api-common 1.3.6 → 1.3.7

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.
@@ -160,13 +160,16 @@ module.exports = (() => {
160
160
  * @public
161
161
  * @static
162
162
  * @param {Object} portfolio
163
+ * @param {Currency=} currency
163
164
  * @returns {PositionLevelDefinition~RequiredGroup}
164
165
  */
165
- static buildRequiredGroupForPortfolio(portfolio) {
166
+ static buildRequiredGroupForPortfolio(portfolio, currency) {
167
+ assert.argumentIsOptional(currency, 'currency', Currency, 'Currency');
168
+
166
169
  return {
167
170
  key: PositionLevelDefinition.getKeyForPortfolioGroup(portfolio),
168
171
  description: PositionLevelDefinition.getDescriptionForPortfolioGroup(portfolio),
169
- currency: Currency.CAD
172
+ currency: (currency || Currency.CAD)
170
173
  };
171
174
  }
172
175
 
@@ -182,12 +185,12 @@ module.exports = (() => {
182
185
  return portfolio.name;
183
186
  }
184
187
 
185
- static getRequiredGroupGeneratorForPortfolio() {
188
+ static getRequiredGroupGeneratorForPortfolio(currency) {
186
189
  return (portfolio) => {
187
190
  let requiredGroup;
188
191
 
189
192
  if (is.object(portfolio) && is.string(portfolio.portfolio) && is.string(portfolio.name)) {
190
- requiredGroup = PositionLevelDefinition.buildRequiredGroupForPortfolio(portfolio);
193
+ requiredGroup = PositionLevelDefinition.buildRequiredGroupForPortfolio(portfolio, currency);
191
194
  } else {
192
195
  requiredGroup = null;
193
196
  }
@@ -203,12 +206,13 @@ module.exports = (() => {
203
206
  * @static
204
207
  * @param {InstrumentType} type
205
208
  * @param {Currency} currency
209
+ * @param {Currency=} defaultCurrency
206
210
  * @returns {PositionLevelDefinition~RequiredGroup}
207
211
  */
208
- static buildRequiredGroupForAssetClass(type, currency) {
212
+ static buildRequiredGroupForAssetClass(type, currency, defaultCurrency) {
209
213
  return {
210
214
  key: PositionLevelDefinition.getKeyForAssetClassGroup(type, currency),
211
- description: PositionLevelDefinition.getDescriptionForAssetClassGroup(type, currency),
215
+ description: PositionLevelDefinition.getDescriptionForAssetClassGroup(type, currency, defaultCurrency),
212
216
  currency: currency
213
217
  };
214
218
  }
@@ -220,11 +224,12 @@ module.exports = (() => {
220
224
  return `${type.code}|${currency.code}`;
221
225
  }
222
226
 
223
- static getDescriptionForAssetClassGroup(type, currency) {
227
+ static getDescriptionForAssetClassGroup(type, currency, defaultCurrency) {
224
228
  assert.argumentIsRequired(type, 'type', InstrumentType, 'InstrumentType');
225
229
  assert.argumentIsRequired(currency, 'currency', Currency, 'Currency');
230
+ assert.argumentIsOptional(defaultCurrency, 'defaultCurrency', Currency, 'Currency');
226
231
 
227
- return `${type.alternateDescription}${currency.code === 'CAD' ? '' : ` (${currency.alternateDescription})`}`;
232
+ return `${type.alternateDescription}${currency === (defaultCurrency || Currency.CAD) ? '' : ` (${currency.alternateDescription})`}`;
228
233
  }
229
234
 
230
235
  toString() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@barchart/portfolio-api-common",
3
- "version": "1.3.6",
3
+ "version": "1.3.7",
4
4
  "description": "Common classes used by the Portfolio system",
5
5
  "author": {
6
6
  "name": "Bryan Ingle",
@@ -4486,13 +4486,16 @@ module.exports = (() => {
4486
4486
  * @public
4487
4487
  * @static
4488
4488
  * @param {Object} portfolio
4489
+ * @param {Currency=} currency
4489
4490
  * @returns {PositionLevelDefinition~RequiredGroup}
4490
4491
  */
4491
- static buildRequiredGroupForPortfolio(portfolio) {
4492
+ static buildRequiredGroupForPortfolio(portfolio, currency) {
4493
+ assert.argumentIsOptional(currency, 'currency', Currency, 'Currency');
4494
+
4492
4495
  return {
4493
4496
  key: PositionLevelDefinition.getKeyForPortfolioGroup(portfolio),
4494
4497
  description: PositionLevelDefinition.getDescriptionForPortfolioGroup(portfolio),
4495
- currency: Currency.CAD
4498
+ currency: (currency || Currency.CAD)
4496
4499
  };
4497
4500
  }
4498
4501
 
@@ -4508,12 +4511,12 @@ module.exports = (() => {
4508
4511
  return portfolio.name;
4509
4512
  }
4510
4513
 
4511
- static getRequiredGroupGeneratorForPortfolio() {
4514
+ static getRequiredGroupGeneratorForPortfolio(currency) {
4512
4515
  return (portfolio) => {
4513
4516
  let requiredGroup;
4514
4517
 
4515
4518
  if (is.object(portfolio) && is.string(portfolio.portfolio) && is.string(portfolio.name)) {
4516
- requiredGroup = PositionLevelDefinition.buildRequiredGroupForPortfolio(portfolio);
4519
+ requiredGroup = PositionLevelDefinition.buildRequiredGroupForPortfolio(portfolio, currency);
4517
4520
  } else {
4518
4521
  requiredGroup = null;
4519
4522
  }
@@ -4529,12 +4532,13 @@ module.exports = (() => {
4529
4532
  * @static
4530
4533
  * @param {InstrumentType} type
4531
4534
  * @param {Currency} currency
4535
+ * @param {Currency=} defaultCurrency
4532
4536
  * @returns {PositionLevelDefinition~RequiredGroup}
4533
4537
  */
4534
- static buildRequiredGroupForAssetClass(type, currency) {
4538
+ static buildRequiredGroupForAssetClass(type, currency, defaultCurrency) {
4535
4539
  return {
4536
4540
  key: PositionLevelDefinition.getKeyForAssetClassGroup(type, currency),
4537
- description: PositionLevelDefinition.getDescriptionForAssetClassGroup(type, currency),
4541
+ description: PositionLevelDefinition.getDescriptionForAssetClassGroup(type, currency, defaultCurrency),
4538
4542
  currency: currency
4539
4543
  };
4540
4544
  }
@@ -4546,11 +4550,12 @@ module.exports = (() => {
4546
4550
  return `${type.code}|${currency.code}`;
4547
4551
  }
4548
4552
 
4549
- static getDescriptionForAssetClassGroup(type, currency) {
4553
+ static getDescriptionForAssetClassGroup(type, currency, defaultCurrency) {
4550
4554
  assert.argumentIsRequired(type, 'type', InstrumentType, 'InstrumentType');
4551
4555
  assert.argumentIsRequired(currency, 'currency', Currency, 'Currency');
4556
+ assert.argumentIsOptional(defaultCurrency, 'defaultCurrency', Currency, 'Currency');
4552
4557
 
4553
- return `${type.alternateDescription}${currency.code === 'CAD' ? '' : ` (${currency.alternateDescription})`}`;
4558
+ return `${type.alternateDescription}${currency === (defaultCurrency || Currency.CAD) ? '' : ` (${currency.alternateDescription})`}`;
4554
4559
  }
4555
4560
 
4556
4561
  toString() {