| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -21,12 +21,12 @@ function dparse(date: string) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					export class PortfolioCalculator { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  private transactionPoints: TransactionPoint[]; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  constructor( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  public constructor( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    private currentRateService: CurrentRateService, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    private currency: Currency | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  ) {} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  computeTransactionPoints(orders: PortfolioOrder[]) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  public computeTransactionPoints(orders: PortfolioOrder[]) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    orders.sort((a, b) => a.date.localeCompare(b.date)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    this.transactionPoints = []; | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -92,15 +92,17 @@ export class PortfolioCalculator { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  setTransactionPoints(transactionPoints: TransactionPoint[]) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  public setTransactionPoints(transactionPoints: TransactionPoint[]) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    this.transactionPoints = transactionPoints; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  getTransactionPoints(): TransactionPoint[] { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  public getTransactionPoints(): TransactionPoint[] { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    return this.transactionPoints; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  async getCurrentPositions(): Promise<{ [symbol: string]: TimelinePosition }> { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  public async getCurrentPositions(): Promise<{ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    [symbol: string]: TimelinePosition; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  }> { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    if (!this.transactionPoints?.length) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      return {}; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -130,7 +132,7 @@ export class PortfolioCalculator { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    return result; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  async calculateTimeline( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  public async calculateTimeline( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    timelineSpecification: TimelineSpecification[], | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    endDate: string | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  ): Promise<TimelinePeriod[]> { | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |