12345678910111213141516171819202122232425262728293031 |
- package sentio
- import "github.com/samber/lo"
- type Portfolio interface {
- // Get returns Position of the symbol if exists in Portfolio
- Get(symbol string) (Position, bool)
- // Positions returns each Position we have in Portfolio
- Positions() []Position
- }
- type PortfolioStub []PositionStub
- func (p PortfolioStub) Get(symbol string) (Position, bool) {
- return lo.Find(p, func(item PositionStub) bool {
- return item.Symbol == symbol
- })
- }
- func (p PortfolioStub) Positions() []Position {
- return lo.Map(p, func(item PositionStub, _ int) Position {
- return item
- })
- }
- func NewPortfolioStub(elem ...PositionStub) Portfolio {
- var p PortfolioStub
- p = append(p, elem...)
- return p
- }
|