Skip to content

Commit cd8e97a

Browse files
committed
perf: improve order types and comment
1 parent b56835f commit cd8e97a

File tree

3 files changed

+45
-48
lines changed

3 files changed

+45
-48
lines changed

src/order.ts

Lines changed: 41 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
import BigNumber from 'bignumber.js'
22
import { Side } from './side'
33

4+
interface IOrder {
5+
id: string
6+
side: Side
7+
size: number
8+
price: number
9+
time: number
10+
isMaker: boolean
11+
}
12+
413
export interface OrderUpdate {
514
size: number
615
price: number
@@ -41,81 +50,73 @@ export class Order {
4150
this._isMaker = isMaker ?? false
4251
}
4352

44-
// returns orderId of the order
53+
// Getter for order ID
4554
get id (): string {
4655
return this._id
4756
}
4857

49-
// returns side of the order
58+
// Getter for order side
5059
get side (): Side {
5160
return this._side
5261
}
5362

54-
// returns price of the order
63+
// Getter for order price
5564
get price (): number {
5665
return this._price
5766
}
5867

59-
// returns size of the order
68+
// Getter for order size
6069
get size (): BigNumber {
6170
return this._size
6271
}
6372

73+
// Setter for order size
6474
set size (size: BigNumber) {
6575
this._size = size
6676
}
6777

68-
// returns timestamp of the order
78+
// Getter for order timestamp
6979
get time (): number {
7080
return this._time
7181
}
7282

83+
// Setter for order timestamp
7384
set time (time: number) {
7485
this._time = time
7586
}
7687

88+
// Getter for order isMaker
7789
get isMaker (): boolean {
7890
return this._isMaker
7991
}
8092

81-
// returns string representation of the order
82-
toString = (): string => {
83-
return `${this._id}:
93+
// This method returns a string representation of the order
94+
toString = (): string => (
95+
`${this._id}:
8496
side: ${this._side}
85-
size: ${this._size.toNumber() as unknown as string}
97+
size: ${this._size.toString()}
8698
price: ${this._price}
8799
time: ${this._time}
88-
isMaker: ${this.isMaker as unknown as string}`
89-
}
100+
isMaker: ${this._isMaker as unknown as string}`
101+
)
90102

91-
// returns JSON string of the order
92-
toJSON = (): string => {
93-
return JSON.stringify({
94-
id: this._id,
95-
side: this._side,
96-
size: this._size.toNumber(),
97-
price: this._price,
98-
time: this._time,
99-
isMaker: this.isMaker
100-
})
101-
}
103+
// This method returns a JSON string representation of the order
104+
toJSON = (): string => JSON.stringify({
105+
id: this._id,
106+
side: this._side,
107+
size: this._size.toNumber(),
108+
price: this._price,
109+
time: this._time,
110+
isMaker: this._isMaker
111+
})
102112

103-
// returns an object with each property name and value
104-
toObject = (): {
105-
id: string
106-
side: Side
107-
size: number
108-
price: number
109-
time: number
110-
isMaker: boolean
111-
} => {
112-
return {
113-
id: this._id,
114-
side: this._side,
115-
size: this._size.toNumber(),
116-
price: this._price,
117-
time: this._time,
118-
isMaker: this.isMaker
119-
}
120-
}
113+
// This method returns an object representation of the order
114+
toObject = (): IOrder => ({
115+
id: this._id,
116+
side: this._side,
117+
size: this._size.toNumber(),
118+
price: this._price,
119+
time: this._time,
120+
isMaker: this._isMaker
121+
})
121122
}

src/orderqueue.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -72,10 +72,8 @@ export class OrderQueue {
7272
delete this._ordersMap[order.id]
7373
// Update all orders indexes where index is greater than the deleted one
7474
for (const orderId in this._ordersMap) {
75-
if (Object.prototype.hasOwnProperty.call(this._ordersMap, orderId)) {
76-
if (this._ordersMap[orderId] > deletedOrderIndex) {
77-
this._ordersMap[orderId] -= 1
78-
}
75+
if (this._ordersMap[orderId] > deletedOrderIndex) {
76+
this._ordersMap[orderId] -= 1
7977
}
8078
}
8179
}

src/orderside.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -156,10 +156,8 @@ export class OrderSide {
156156
orders = (): Order[] => {
157157
let orders: Order[] = []
158158
for (const price in this._prices) {
159-
if (Object.prototype.hasOwnProperty.call(this._prices, price)) {
160-
const allOrders = this._prices[price].toArray()
161-
orders = orders.concat(allOrders)
162-
}
159+
const allOrders = this._prices[price].toArray()
160+
orders = orders.concat(allOrders)
163161
}
164162
return orders
165163
}

0 commit comments

Comments
 (0)