@barchart/portfolio-api-common
v2.0.0
Published
Common JavaScript code used by Barchart's Portfolio Service
Downloads
1,100
Maintainers
Keywords
Readme
@barchart/portfolio-api-common
A public library of shared JavaScript code used by Barchart's paper-trading portfolio system.
Overview
Simply put, this project contains code that runs on both the servers (i.e. Serverless applications) and clients (e.g. browser, mobile, etc).
/lib/serialization
Data is passed between client and server in JSON format. However, the code works with more complex types. For example, Decimal
instances are used in place of native JavaScript floats and Day
instances are used instead of native JavaScript Dates.
So, before data is exchanged, it must be converted to pure JSON. Conversely, when data is received, as pure JSON, its translated into more complex types before use. This is facilitated by the Schema
definitions which build custom "reviver" functions for JSON parsing.
/lib/processing
For reporting and display purposes, positions can be grouped together (by asset class, by portfolio, by user, etc). This code supports aggregation and gain/loss calculation. It is used by server-generated reports and dynamic user interfaces.
Notable Consumers
- @barchart/aws-lambda-portfolio - Serverless applications (i.e. the backend)
- @barchart/portfolio-client-js - JavaScript SDK for communicating with the backend
Package Managers
This library has been published as a public module to NPM as @barchart/portfolio-api-common.
npm install @barchart/portfolio-api-common -S