rex-ui/src/order_book.js
Tim Kächele eb6363e121 First commit
Add build directory

Remove build folder contents

Ignore build folder changes
2024-02-18 21:41:26 +01:00

38 lines
802 B
JavaScript

export default class OrderBook {
constructor() {
this.buySide = new Map()
this.sellSide = new Map()
}
processUpdate(orderbookUpdate) {
let side = null;
if(orderbookUpdate.side == "buy") {
side = this.buySide;
} else {
side = this.sellSide;
}
if (orderbookUpdate.quantity == 0) {
side.delete(orderbookUpdate.price)
} else {
side.set(orderbookUpdate.price, orderbookUpdate)
}
}
buyEntries() {
let keys = Array.from(this.buySide.keys())
return keys.sort((a,b) => { return a - b }).map((key) => {
return this.buySide.get(key)
})
}
sellEntries() {
let keys = Array.from(this.sellSide.keys())
return keys.sort((a,b) => { return a - b }).map((key) => {
return this.sellSide.get(key)
})
}
}