Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
function OrderBook() {
var compareLimit = function(l1, l2) {
return l1.getPrice() - l2.getPrice();
};
this._bidTree = new Tree(compareLimit);
this._askTree = new Tree(compareLimit);
this._highestBid = null;
this._lowestAsk = null;
// Map from orderId to order
this._orders = {};
}
populateDiffRowOffsetIndices(filePatch) {
let diffRow = 1;
const index = new RBTree((a, b) => a.diffRow - b.diffRow);
this.diffRowOffsetIndices.set(filePatch.getPath(), {startBufferRow: filePatch.getStartRange().start.row, index});
for (let hunkIndex = 0; hunkIndex < filePatch.getHunks().length; hunkIndex++) {
const hunk = filePatch.getHunks()[hunkIndex];
this.hunksByMarker.set(hunk.getMarker(), hunk);
// Advance past the hunk body
diffRow += hunk.bufferRowCount();
index.insert({diffRow, offset: hunkIndex + 1});
// Advance past the next hunk header
diffRow++;
}
}
import { BinTree, RBTree } from 'bintrees';
let treeA = new RBTree((a:number, b:number) => a - b);
treeA.insert(5);
treeA.insert(3);
treeA.remove(3);
let treeB = new BinTree((a:string, b:string) => a.length - b.length);
treeB.insert('hi');
treeB.insert('there');
treeB.insert('how');
treeB.insert('are');
.add('jsbintrees RBTree', function () {
var bintree = new bintrees.RBTree(compare);
for (var i = 0; i < N; i++) {
bintree.insert(data[i]);
}
for (var i = 0; i < N; i++) {
bintree.remove(data[i]);
}
})
.on('error', function(event) { console.log(event.target.error); })
.add('jsbintrees RBTree', function () {
var tree = new bintrees.RBTree(compare);
for (var i = 0; i < N; i++) {
tree.insert(data[i]);
}
})
.on('error', function(event) { console.log(event.target.error); })
function OrderBook() {
this._bid = new Tree(function(a, b) { return a.price - b.price; });
this._ask = new Tree(function(a, b) { return a.price - b.price; });
this._by_oid = {};
}
clearQueue() {
this.messagesById = {};
this.skippedMessages = 0;
this.tradesSkipped = 0;
this.messages = new RBTree((a: BaseOrderMessage, b: BaseOrderMessage) => {
return a.sequence - b.sequence;
});
}
measure(set => `Insert ${set.size} pairs in bintrees' RBTree (no values)`, () => {
let set = new RBTree((a: any, b: any) => a - b);
for (let k of keys)
set.insert(k);
return set;
});
//measure(set => `Insert ${set.size} pairs in bintrees' BinTree (no values)`, () => {
constructor() {
this._ordersByID = {};
this._bids = new RBTree((a, b) => a.price.comparedTo(b.price));
this._asks = new RBTree((a, b) => a.price.comparedTo(b.price));
}
constructor(options: MessageQueueConfig) {
super({ readableObjectMode: true, writableObjectMode: true });
this.logger = options.logger || ConsoleLoggerFactory();
this.productId = options.product;
this.targetQueueLength = options.targetQueueLength || 10;
this.lastSequence = -1000;
this.waitForSnapshot = options.waitForSnapshot;
this.messages = new RBTree((a: BaseOrderMessage, b: BaseOrderMessage) => {
return a.sequence - b.sequence;
});
}