@flexemarkets/fm-sdk 0.1.2 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/client.d.ts CHANGED
@@ -78,6 +78,24 @@ export declare function parseSession(data: JsonObject): Session;
78
78
  export declare function parseOrder(data: JsonObject): Order;
79
79
  export declare function parseHolding(data: JsonObject): Holding;
80
80
  export declare function parseConnection(data: JsonObject): ClientConnection;
81
+ /**
82
+ * The orders inside a HAL envelope.
83
+ *
84
+ * The server embeds them under `orders`. It was `orderDtoes` — Spring HATEOAS
85
+ * pluralising `OrderDto` — and every SDK still read that name long after the
86
+ * server stopped sending it, so `activeOrders` and `recentTrades` returned an
87
+ * empty array always. `MarketView` seeds from `activeOrders`, so its books were
88
+ * never seeded; they filled from live deltas and looked plausible.
89
+ *
90
+ * Then the envelope itself went: fm-server now sends a bare array. Accepting
91
+ * both *names* did not survive that, and this SDK failed the same silent way a
92
+ * second time — `._embedded` on an array is `undefined`, so it returned an
93
+ * empty book rather than throwing, while Java and Python at least raised.
94
+ *
95
+ * So read the shape rather than assume one. All three are accepted, because
96
+ * all three are still deployed somewhere.
97
+ */
98
+ export declare function embeddedOrders(data: unknown): JsonObject[];
81
99
  /**
82
100
  * The most aggressive price this market will accept on `side`.
83
101
  *
@@ -271,12 +289,33 @@ export declare class Flexemarkets {
271
289
  * The recent-trades snapshot, for seeding the trade-history tape.
272
290
  * Same `x-fm-as-of-seq` contract as `activeOrders`. Server caps
273
291
  * at 5000; default size is 1000.
292
+ *
293
+ * Ordering is the server's and has changed: up to and including fm-server
294
+ * 4.3.1 this answered newest first, later versions answer oldest first.
295
+ * Either way it is the newest `size` trades that come back — only their
296
+ * order differs. `Trades` sorts what it is given, so a caller seeding a tape
297
+ * through `MarketView` is unaffected; a caller reading this list directly
298
+ * should not assume one.
274
299
  */
275
300
  recentTrades(marketplaceId: number, size?: number): Promise<Snapshot<Order[]>>;
276
301
  orders(marketplaceId: number, options?: {
277
302
  symbol?: string;
278
303
  sessionIds?: number[];
279
304
  }): Promise<Order[]>;
305
+ /**
306
+ * Trades in one market, in ascending order id.
307
+ *
308
+ * Answered by a symbol-keyed route, so the orders come back without the
309
+ * symbol on them and with the trade id in `original`; both are filled in
310
+ * before returning, which is what makes the result a trade list rather than
311
+ * a set of half-populated orders.
312
+ *
313
+ * This is the FM-3 surface (`/api/orders-json/symbol-trades`) and its order
314
+ * is the server's, which sorts by order id and nothing else. It is neither
315
+ * chronological by trade time nor most-recent-first — the first element is
316
+ * the lowest id, not the latest trade. Sort by `lastModifiedDate` if you
317
+ * want time order.
318
+ */
280
319
  trades(marketplaceId: number, symbol: string): Promise<Order[]>;
281
320
  holdings(marketplaceId: number, sessionIds?: number[] | null): Promise<Holding[]>;
282
321
  holding(marketplaceId: number): Promise<Holding>;
package/dist/client.js CHANGED
@@ -305,9 +305,19 @@ export function parseConnection(data) {
305
305
  * empty array always. `MarketView` seeds from `activeOrders`, so its books were
306
306
  * never seeded; they filled from live deltas and looked plausible.
307
307
  *
308
- * Both names are accepted, so an older server still works.
308
+ * Then the envelope itself went: fm-server now sends a bare array. Accepting
309
+ * both *names* did not survive that, and this SDK failed the same silent way a
310
+ * second time — `._embedded` on an array is `undefined`, so it returned an
311
+ * empty book rather than throwing, while Java and Python at least raised.
312
+ *
313
+ * So read the shape rather than assume one. All three are accepted, because
314
+ * all three are still deployed somewhere.
309
315
  */
310
- function embeddedOrders(data) {
316
+ export function embeddedOrders(data) {
317
+ if (Array.isArray(data))
318
+ return data;
319
+ if (data === null || typeof data !== "object")
320
+ return [];
311
321
  const embedded = data._embedded;
312
322
  return embedded?.orders ?? embedded?.orderDtoes ?? [];
313
323
  }
@@ -1026,6 +1036,13 @@ export class Flexemarkets {
1026
1036
  * The recent-trades snapshot, for seeding the trade-history tape.
1027
1037
  * Same `x-fm-as-of-seq` contract as `activeOrders`. Server caps
1028
1038
  * at 5000; default size is 1000.
1039
+ *
1040
+ * Ordering is the server's and has changed: up to and including fm-server
1041
+ * 4.3.1 this answered newest first, later versions answer oldest first.
1042
+ * Either way it is the newest `size` trades that come back — only their
1043
+ * order differs. `Trades` sorts what it is given, so a caller seeding a tape
1044
+ * through `MarketView` is unaffected; a caller reading this list directly
1045
+ * should not assume one.
1029
1046
  */
1030
1047
  async recentTrades(marketplaceId, size = 1000) {
1031
1048
  const url = `${this._baseUrl}/v1/marketplaces/${marketplaceId}/orders/recent-trades?size=${size}`;
@@ -1051,6 +1068,20 @@ export class Flexemarkets {
1051
1068
  const data = await this._get(url);
1052
1069
  return data.map(parseOrder);
1053
1070
  }
1071
+ /**
1072
+ * Trades in one market, in ascending order id.
1073
+ *
1074
+ * Answered by a symbol-keyed route, so the orders come back without the
1075
+ * symbol on them and with the trade id in `original`; both are filled in
1076
+ * before returning, which is what makes the result a trade list rather than
1077
+ * a set of half-populated orders.
1078
+ *
1079
+ * This is the FM-3 surface (`/api/orders-json/symbol-trades`) and its order
1080
+ * is the server's, which sorts by order id and nothing else. It is neither
1081
+ * chronological by trade time nor most-recent-first — the first element is
1082
+ * the lowest id, not the latest trade. Sort by `lastModifiedDate` if you
1083
+ * want time order.
1084
+ */
1054
1085
  async trades(marketplaceId, symbol) {
1055
1086
  const url = uriParamMarketplaceIdParam(this._apiRoot, "symbolTradesJson", marketplaceId, `symbol=${symbol}`);
1056
1087
  const data = await this._get(url);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,11 +1,12 @@
1
1
  /** Flexemarkets TypeScript SDK. */
2
2
  export type { Person, Account, Token, Security, Holding, Market, Marketplace, Session, Order, ClientConnection, TickGrid, Version, ConflictFailure, } from "./types.js";
3
- export { Side, OrderType, toSide, toOrderType, SESSION_STATE_INIT, SESSION_STATE_OPEN, SESSION_STATE_PAUSED, SESSION_STATE_CLOSED, getSecurity, isApproved, orderedSecurities, holdingUnits, priceRound, unitRound, tickRound, gridRound, unitGrid, } from "./types.js";
3
+ export { Side, OrderType, toSide, toOrderType, SESSION_STATE_INIT, SESSION_STATE_OPEN, SESSION_STATE_PAUSED, SESSION_STATE_CLOSED, getSecurity, isApproved, orderedSecurities, holdingUnits, priceRound, unitRound, tickRound, gridRound, unitGrid, displayName, } from "./types.js";
4
4
  export { Flexemarkets, FlexemarketsError, AuthenticationError, AuthorizationError, InvalidArgumentError, ConnectionFailedError, ConfigurationError, ConflictError, HttpError, ApiError, AccountNameConflictError, PersonHasMarketplaceDataError, } from "./client.js";
5
5
  export { toInstant } from "./timestamps.js";
6
6
  export { isCancel, isLimit, isBuy, isSell, contra, isAvailable, isConsumed, isSplit, isSymbol, isSubmit, isResting, findOrder, } from "./order-utils.js";
7
7
  export { OrderBook, OrderBooks } from "./orderbook.js";
8
- export { Trades, MarketplaceTrades } from "./trades.js";
8
+ export { Trades, MarketplaceTrades, tradeOf } from "./trades.js";
9
+ export type { Trade } from "./trades.js";
9
10
  export type { StompFrame, StreamDropped, Reconnected, FrameUnreadable, FmEvent, EventCallback, } from "./stomp.js";
10
11
  export type { MarketView, Subscription, GapEvent, ReconnectEvent } from "./market-view.js";
11
12
  export type { Snapshot } from "./snapshot.js";
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /** Flexemarkets TypeScript SDK. */
2
- export { Side, OrderType, toSide, toOrderType, SESSION_STATE_INIT, SESSION_STATE_OPEN, SESSION_STATE_PAUSED, SESSION_STATE_CLOSED, getSecurity, isApproved, orderedSecurities, holdingUnits, priceRound, unitRound, tickRound, gridRound, unitGrid, } from "./types.js";
2
+ export { Side, OrderType, toSide, toOrderType, SESSION_STATE_INIT, SESSION_STATE_OPEN, SESSION_STATE_PAUSED, SESSION_STATE_CLOSED, getSecurity, isApproved, orderedSecurities, holdingUnits, priceRound, unitRound, tickRound, gridRound, unitGrid, displayName, } from "./types.js";
3
3
  // Client
4
4
  export { Flexemarkets, FlexemarketsError, AuthenticationError, AuthorizationError, InvalidArgumentError, ConnectionFailedError, ConfigurationError, ConflictError, HttpError, ApiError, AccountNameConflictError, PersonHasMarketplaceDataError, } from "./client.js";
5
5
  export { toInstant } from "./timestamps.js";
@@ -8,6 +8,6 @@ export { isCancel, isLimit, isBuy, isSell, contra, isAvailable, isConsumed, isSp
8
8
  // Order book
9
9
  export { OrderBook, OrderBooks } from "./orderbook.js";
10
10
  // Trades
11
- export { Trades, MarketplaceTrades } from "./trades.js";
11
+ export { Trades, MarketplaceTrades, tradeOf } from "./trades.js";
12
12
  export { NO_SEQ } from "./stomp.js";
13
13
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mCAAmC;AAmBnC,OAAO,EACL,IAAI,EACJ,SAAS,EACT,MAAM,EACN,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,SAAS,EACT,SAAS,EACT,SAAS,EACT,QAAQ,GACT,MAAM,YAAY,CAAC;AAEpB,SAAS;AACT,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,QAAQ,EACR,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,cAAc;AACd,OAAO,EACL,QAAQ,EACR,OAAO,EACP,KAAK,EACL,MAAM,EACN,MAAM,EACN,WAAW,EACX,UAAU,EACV,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAS,GACV,MAAM,kBAAkB,CAAC;AAE1B,aAAa;AACb,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEvD,SAAS;AACT,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAexD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mCAAmC;AAmBnC,OAAO,EACL,IAAI,EACJ,SAAS,EACT,MAAM,EACN,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,SAAS,EACT,SAAS,EACT,SAAS,EACT,QAAQ,EACR,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,SAAS;AACT,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,QAAQ,EACR,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,cAAc;AACd,OAAO,EACL,QAAQ,EACR,OAAO,EACP,KAAK,EACL,MAAM,EACN,MAAM,EACN,WAAW,EACX,UAAU,EACV,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAS,GACV,MAAM,kBAAkB,CAAC;AAE1B,aAAa;AACb,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEvD,SAAS;AACT,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAgBjE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC"}
@@ -11,6 +11,7 @@
11
11
  */
12
12
  import type { Flexemarkets } from "./client.js";
13
13
  import { OrderBook } from "./orderbook.js";
14
+ import { type Trade, type Trades } from "./trades.js";
14
15
  import type { Holding, Market, Order, Session } from "./types.js";
15
16
  /**
16
17
  * Handle returned by `MarketView.on*` listener registrations. Call
@@ -51,6 +52,16 @@ export interface MarketView {
51
52
  * `marketId` isn't in this marketplace.
52
53
  */
53
54
  orderBook(marketId: number): OrderBook | null;
55
+ /**
56
+ * Always-current trade tape for `marketId`, most recent last. Returns null
57
+ * if `marketId` isn't in this marketplace.
58
+ *
59
+ * Maintained alongside {@link orderBook}: seeded from the server's recent
60
+ * trades when the view opens, then kept current from the same delta stream.
61
+ * Each `Trade` on it carries both sides of its match — the resting
62
+ * order that was taken and the aggressor that took it.
63
+ */
64
+ trades(marketId: number): Trades | null;
54
65
  /**
55
66
  * Most-recent session update observed. Null until the first
56
67
  * SESSION-UPDATE frame lands.
@@ -68,6 +79,25 @@ export interface MarketView {
68
79
  * `marketId` changes. The handler receives the post-update book.
69
80
  */
70
81
  onOrderBookChange(marketId: number, handler: (b: OrderBook) => void): Subscription;
82
+ /**
83
+ * Register a handler that fires for each trade on `marketId`.
84
+ *
85
+ * The missing member of the family {@link onOrderBookChange} and
86
+ * {@link onSessionChange} belong to. Without it, "tell me when a trade
87
+ * happens" is asked as "tell me when the book changed, then let me look" —
88
+ * which answers a different question, since a book changes on every resting
89
+ * order and most changes are not trades.
90
+ *
91
+ * Fires **once per trade**, oldest first, rather than coalescing a batch the
92
+ * way {@link onOrderBookChange} does. A trade is a discrete event with its own
93
+ * price and counterparties; collapsing two into one callback would lose one.
94
+ *
95
+ * Live deltas only. A gap or a reconnect re-seeds the tape from the server's
96
+ * snapshot, and those trades do not fire here — they are not new, they are
97
+ * what was missed. {@link onGap} and {@link onReconnect} are how a caller
98
+ * learns that happened.
99
+ */
100
+ onTrade(marketId: number, handler: (t: Trade) => void): Subscription;
71
101
  /** Register a handler for the caller's holding changes. */
72
102
  onHoldingChange(handler: (h: Holding) => void): Subscription;
73
103
  /**
@@ -107,6 +137,7 @@ export declare class DefaultMarketView implements MarketView {
107
137
  private readonly _sessionHandlers;
108
138
  private readonly _holdingHandlers;
109
139
  private readonly _bookHandlers;
140
+ private readonly _tradeHandlers;
110
141
  private readonly _gapHandlers;
111
142
  private readonly _reconnectHandlers;
112
143
  private _closed;
@@ -137,9 +168,11 @@ export declare class DefaultMarketView implements MarketView {
137
168
  */
138
169
  private _seedFromSnapshot;
139
170
  orderBook(marketId: number): OrderBook | null;
171
+ trades(marketId: number): Trades | null;
140
172
  session(): Session | null;
141
173
  holding(): Holding | null;
142
174
  onSessionChange(handler: (s: Session) => void): Subscription;
175
+ onTrade(marketId: number, handler: (t: Trade) => void): Subscription;
143
176
  onOrderBookChange(marketId: number, handler: (b: OrderBook) => void): Subscription;
144
177
  onHoldingChange(handler: (h: Holding) => void): Subscription;
145
178
  onGap(handler: (e: GapEvent) => void): Subscription;
@@ -183,10 +216,12 @@ export declare class MarketViewHandle implements MarketView {
183
216
  get marketplaceId(): number;
184
217
  get markets(): Market[];
185
218
  orderBook(marketId: number): OrderBook | null;
219
+ trades(marketId: number): Trades | null;
186
220
  session(): Session | null;
187
221
  holding(): Holding | null;
188
222
  onSessionChange(handler: (s: Session) => void): Subscription;
189
223
  onOrderBookChange(marketId: number, handler: (b: OrderBook) => void): Subscription;
224
+ onTrade(marketId: number, handler: (t: Trade) => void): Subscription;
190
225
  onHoldingChange(handler: (h: Holding) => void): Subscription;
191
226
  onGap(handler: (e: GapEvent) => void): Subscription;
192
227
  onReconnect(handler: (e: ReconnectEvent) => void): Subscription;
@@ -24,6 +24,7 @@ export class DefaultMarketView {
24
24
  _sessionHandlers = [];
25
25
  _holdingHandlers = [];
26
26
  _bookHandlers = [];
27
+ _tradeHandlers = [];
27
28
  _gapHandlers = [];
28
29
  _reconnectHandlers = [];
29
30
  _closed = false;
@@ -103,6 +104,10 @@ export class DefaultMarketView {
103
104
  this._ensureOpen();
104
105
  return this._orderBooks.get(marketId) ?? null;
105
106
  }
107
+ trades(marketId) {
108
+ this._ensureOpen();
109
+ return this._trades.get(marketId);
110
+ }
106
111
  session() {
107
112
  this._ensureOpen();
108
113
  return this._session;
@@ -120,6 +125,16 @@ export class DefaultMarketView {
120
125
  this._sessionHandlers.splice(i, 1);
121
126
  };
122
127
  }
128
+ onTrade(marketId, handler) {
129
+ this._ensureOpen();
130
+ const entry = { marketId, handler };
131
+ this._tradeHandlers.push(entry);
132
+ return () => {
133
+ const i = this._tradeHandlers.indexOf(entry);
134
+ if (i >= 0)
135
+ this._tradeHandlers.splice(i, 1);
136
+ };
137
+ }
123
138
  onOrderBookChange(marketId, handler) {
124
139
  this._ensureOpen();
125
140
  const entry = { marketId, handler };
@@ -302,7 +317,18 @@ export class DefaultMarketView {
302
317
  const orders = update.orders;
303
318
  const touched = _marketIdsTouched(orders);
304
319
  this._orderBooks.update(orders);
305
- this._trades.update(orders);
320
+ const traded = this._trades.update(orders);
321
+ // Trades first: the more specific event, and a book handler that then reads
322
+ // the tape sees the same trade the trade handler was just given. Both
323
+ // aggregators are already current either way — what is ordered here is only
324
+ // which handler hears about it first.
325
+ for (const [marketId, fresh] of traded) {
326
+ for (const h of this._tradeHandlers) {
327
+ if (h.marketId === marketId)
328
+ for (const trade of fresh)
329
+ h.handler(trade);
330
+ }
331
+ }
306
332
  for (const marketId of touched) {
307
333
  const book = this._orderBooks.get(marketId);
308
334
  if (!book)
@@ -376,6 +402,10 @@ export class MarketViewHandle {
376
402
  this._check();
377
403
  return this._shared.orderBook(marketId);
378
404
  }
405
+ trades(marketId) {
406
+ this._check();
407
+ return this._shared.trades(marketId);
408
+ }
379
409
  session() {
380
410
  this._check();
381
411
  return this._shared.session();
@@ -396,6 +426,12 @@ export class MarketViewHandle {
396
426
  this._mySubscriptions.push(sub);
397
427
  return sub;
398
428
  }
429
+ onTrade(marketId, handler) {
430
+ this._check();
431
+ const sub = this._shared.onTrade(marketId, handler);
432
+ this._mySubscriptions.push(sub);
433
+ return sub;
434
+ }
399
435
  onHoldingChange(handler) {
400
436
  this._check();
401
437
  const sub = this._shared.onHoldingChange(handler);
@@ -1 +1 @@
1
- {"version":3,"file":"market-view.js","sourceRoot":"","sources":["../src/market-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"market-view.js","sourceRoot":"","sources":["../src/market-view.ts"],"names":[],"mappings":"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"}
package/dist/orderbook.js CHANGED
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Port of fm.orderbook (Python) / fm.OrderBook (Java).
5
5
  */
6
- import { isAvailable, isBuy, isCancel, isResting, isSplit, isSymbol } from "./order-utils.js";
6
+ import { findOrder, isAvailable, isBuy, isCancel, isResting, isSplit, isSymbol, } from "./order-utils.js";
7
7
  /**
8
8
  * Aggregated price-level order book for a single market.
9
9
  *
@@ -41,9 +41,22 @@ export class OrderBook {
41
41
  // During initialisation, disregard all non-available orders
42
42
  if (!this._initialized)
43
43
  continue;
44
- // Remove CANCEL orders
45
44
  if (isCancel(order)) {
46
- this._remove(side, price, units);
45
+ // fm-server broadcasts a cancel as two rows: the CANCEL, and the LIMIT it
46
+ // consumed, which carries the cancel as its consumer. The resting branch
47
+ // below removes that limit, because a cancelled limit was on the book and
48
+ // isResting says so. Removing here as well takes the units off twice.
49
+ //
50
+ // Both removals landing on a level that held only the cancelled order left
51
+ // it empty either way, which is why this survived: the one test that
52
+ // covered a cancel used a single one-unit order. Give the level units from
53
+ // a second order and the cancel takes that one down with it.
54
+ //
55
+ // So remove only when the order being cancelled is not in this batch --
56
+ // which keeps a lone CANCEL working, and stops the pair double-counting.
57
+ if (findOrder(orders, order.consumer) === null) {
58
+ this._remove(side, price, units);
59
+ }
47
60
  continue;
48
61
  }
49
62
  // Remove split orders from book
@@ -1 +1 @@
1
- {"version":3,"file":"orderbook.js","sourceRoot":"","sources":["../src/orderbook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orderbook.js","sourceRoot":"","sources":["../src/orderbook.ts"],"names":[],"mappings":"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"}
package/dist/ticker.js CHANGED
@@ -40,7 +40,7 @@ function display(books, trades, session, endpointUrl = "") {
40
40
  const bid = book.bestBuyPrice();
41
41
  const ask = book.bestSellPrice();
42
42
  const symbol = book.symbol ?? "?";
43
- const recent = trades.get(book.marketId).mostRecentPrices();
43
+ const recent = trades.get(book.marketId)?.mostRecentPrices() ?? [];
44
44
  lines.push(` ${symbol.padStart(6)} ${price(bid)} ${price(ask)} ${spread(bid, ask)} ${tradePrices(recent, TRADE_DISPLAY_COUNT)}`);
45
45
  }
46
46
  lines.push("");
@@ -1 +1 @@
1
- {"version":3,"file":"ticker.js","sourceRoot":"","sources":["../src/ticker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ticker.js","sourceRoot":"","sources":["../src/ticker.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAE9B,SAAS,KAAK,CAAC,KAAa;IAC1B,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC/B,OAAO,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;AACpD,CAAC;AAED,SAAS,MAAM,CAAC,GAAW,EAAE,GAAW;IACtC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC;IACxC,OAAO,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,WAAW,CAAC,MAAgB,EAAE,KAAa;IAClD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACrE,OAAO,CAAC,GAAG,MAAM,CAAC;SACf,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;SACtC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,OAAO,CACd,KAAiB,EACjB,MAAyB,EACzB,OAAuB,EACvB,cAAsB,EAAE;IAExB,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,KAAK,CAAC;IAEtC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,4BAA4B;IACzD,KAAK,CAAC,IAAI,CAAC,cAAc,WAAW,EAAE,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CACR,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAC/G,CAAC;IACF,KAAK,CAAC,IAAI,CACR,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CACrH,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC/E,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;QACnE,KAAK,CAAC,IAAI,CACR,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAAE,CAC3H,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAK,KAAsB,CAAC,IAAI,KAAK,eAAe,CAAC;AACzG,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrB,OAAO,IAAI,KAAK;QAChB,eAAe,IAAI,KAAK;QACxB,cAAc,IAAI,KAAK,CACxB,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,CAAC;AACzF,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,iBAAiB;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,IAAI,QAAQ,GAAkB,IAAI,CAAC;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5E,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACjF,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACzE,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,EAAE,CAAC,qBAAqB,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QAEpC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,YAAY,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;QAEnC,IAAI,OAAO,GAAmB,IAAI,CAAC;QACnC,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAEnD,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,KAAc,EAAE,EAAE;YAChD,IAAI,MAAM,GAAG,KAAK,CAAC;YAEnB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC3B,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAClC,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;iBAAM,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,OAAO,GAAG,KAAK,CAAC;gBAChB,MAAM,GAAG,IAAI,CAAC;gBACd,IAAI,KAAK,CAAC,KAAK,KAAK,oBAAoB,EAAE,CAAC;oBACzC,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;oBACnD,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;oBAC/B,EAAE,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;iBAAM,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,KAAK,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,CAAC;gBACxE,EAAE,CAAC,SAAS,EAAE,CAAC;YACjB,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YACrD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,iCAAiC;QACjC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACxB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC1B,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,yBAAyB;QACzB,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/dist/trades.d.ts CHANGED
@@ -1,14 +1,56 @@
1
1
  /**
2
2
  * Trade history maintained from WebSocket order events.
3
3
  *
4
- * Port of fm.trades (Python) / fm.Trades (Java).
4
+ * Port of fm.trades (Python) / fm.Trade and fm.Trades (Java).
5
5
  */
6
6
  import type { Market, Order } from "./types.js";
7
7
  /**
8
- * Bounded FIFO queue of executed trades for a single market.
8
+ * One trade: the resting order, the order that crossed it, and the numbers
9
+ * each side contributes.
9
10
  *
10
- * Updated incrementally from WebSocket ORDERS-UPDATE events.
11
- * Keeps the most recent `capacity` trades.
11
+ * A trade is not a distinct thing on the wire. The exchange expresses one as a
12
+ * pair of orders referring to each other, so every number a caller wants has to
13
+ * be read off one side or the other — and *which* side is the part that is easy
14
+ * to get wrong. Both sides are kept here, and the derived fields record the
15
+ * choice rather than leaving each caller to make it again:
16
+ *
17
+ * - `price` and `units` come from `resting`, which carries the terms the trade
18
+ * happened on.
19
+ * - `at` comes from `aggressor`, because the trade happened when the incoming
20
+ * order arrived, not when the quote it took was posted.
21
+ *
22
+ * The pairing rule is the one `TradesSummary` in fm-manager has always used: an
23
+ * order that is a consumed limit whose consumer is also a limit is one side of
24
+ * a match, and {@link isResting} says which side. Before this type existed the
25
+ * tape kept only the resting order, so "who took this trade" answered with the
26
+ * maker — a real participant, at a real price, in a complete-looking line that
27
+ * named the wrong person.
28
+ */
29
+ export interface Trade {
30
+ resting: Order;
31
+ aggressor: Order;
32
+ price: number;
33
+ units: number;
34
+ at: Date | null;
35
+ }
36
+ /** A trade from its two sides, taking each derived field off the side that
37
+ * carries it. */
38
+ export declare function tradeOf(resting: Order, aggressor: Order): Trade;
39
+ /**
40
+ * Bounded FIFO queue of executed trades for a single market, newest last.
41
+ *
42
+ * Updated incrementally from WebSocket ORDERS-UPDATE events, and seeded from
43
+ * the `/v1/orders/recent-trades` snapshot. Keeps the most recent `capacity`
44
+ * trades.
45
+ *
46
+ * Each batch is sorted by the time the aggressor arrived before it is appended,
47
+ * which is what makes "newest last" true rather than merely intended. Up to and
48
+ * including fm-server 4.3.1 the snapshot MarketView seeds and re-seeds from — on
49
+ * open, on a sequence gap, and after a reconnect — arrived newest *first*, so a
50
+ * tape that appended in array order held its trades backwards and the caller
51
+ * asking for the latest one got the oldest it had retained. Later servers send
52
+ * it oldest-first; sorting here is what makes the tape's own contract
53
+ * independent of which one answered.
12
54
  */
13
55
  export declare class Trades {
14
56
  readonly market: Market;
@@ -17,11 +59,19 @@ export declare class Trades {
17
59
  constructor(market: Market, capacity?: number);
18
60
  get marketId(): number;
19
61
  size(): number;
20
- update(orders: Order[]): void;
62
+ /**
63
+ * Apply an orders update, and return the trades it added — oldest first, and
64
+ * empty for the many updates that move the book without trading. What
65
+ * MarketView hands to an `onTrade` handler.
66
+ */
67
+ update(orders: Order[]): Trade[];
21
68
  private _append;
22
- mostRecentTrades(): Order[];
69
+ mostRecentTrades(): Trade[];
70
+ /** The most recent trade — what a caller asking "what just happened" wants.
71
+ * `null` when nothing has traded yet. */
72
+ last(): Trade | null;
23
73
  mostRecentPrices(): number[];
24
- drain(): Order[];
74
+ drain(): Trade[];
25
75
  /** Empty the trade tape — used by MarketView's gap-recovery flow. */
26
76
  clear(): void;
27
77
  }
@@ -31,10 +81,22 @@ export declare class Trades {
31
81
  export declare class MarketplaceTrades {
32
82
  private readonly _trades;
33
83
  constructor(markets: Market[], capacity?: number);
34
- update(orders: Order[]): void;
84
+ /**
85
+ * Apply an orders update to every tape, and return the trades each market
86
+ * gained, keyed by market id, with markets that gained none left out — which
87
+ * is most of them on most updates.
88
+ *
89
+ * MarketView dispatches `onTrade` from this rather than diffing tape sizes,
90
+ * since a full tape drops its oldest as it takes a new one and the size does
91
+ * not move.
92
+ */
93
+ update(orders: Order[]): Map<number, Trade[]>;
35
94
  mostRecentPrices(): number[][];
36
95
  collection(): Trades[];
37
- get(marketId: number): Trades;
96
+ /** That market's tape, or null when the market is not in this marketplace —
97
+ * the lookup MarketView needs, where an unknown id is an answer rather than
98
+ * a crash on the next property read. */
99
+ get(marketId: number): Trades | null;
38
100
  /** Empty every per-market trade tape — see {@link Trades.clear}. */
39
101
  clear(): void;
40
102
  }
package/dist/trades.js CHANGED
@@ -1,14 +1,35 @@
1
1
  /**
2
2
  * Trade history maintained from WebSocket order events.
3
3
  *
4
- * Port of fm.trades (Python) / fm.Trades (Java).
4
+ * Port of fm.trades (Python) / fm.Trade and fm.Trades (Java).
5
5
  */
6
- import { isCancel, isConsumed, isSplit, isSymbol } from "./order-utils.js";
6
+ import { findOrder, isConsumed, isLimit, isResting, isSymbol } from "./order-utils.js";
7
+ /** A trade from its two sides, taking each derived field off the side that
8
+ * carries it. */
9
+ export function tradeOf(resting, aggressor) {
10
+ return {
11
+ resting,
12
+ aggressor,
13
+ price: resting.price,
14
+ units: resting.units,
15
+ at: aggressor.lastModifiedDate,
16
+ };
17
+ }
7
18
  /**
8
- * Bounded FIFO queue of executed trades for a single market.
19
+ * Bounded FIFO queue of executed trades for a single market, newest last.
20
+ *
21
+ * Updated incrementally from WebSocket ORDERS-UPDATE events, and seeded from
22
+ * the `/v1/orders/recent-trades` snapshot. Keeps the most recent `capacity`
23
+ * trades.
9
24
  *
10
- * Updated incrementally from WebSocket ORDERS-UPDATE events.
11
- * Keeps the most recent `capacity` trades.
25
+ * Each batch is sorted by the time the aggressor arrived before it is appended,
26
+ * which is what makes "newest last" true rather than merely intended. Up to and
27
+ * including fm-server 4.3.1 the snapshot MarketView seeds and re-seeds from — on
28
+ * open, on a sequence gap, and after a reconnect — arrived newest *first*, so a
29
+ * tape that appended in array order held its trades backwards and the caller
30
+ * asking for the latest one got the oldest it had retained. Later servers send
31
+ * it oldest-first; sorting here is what makes the tape's own contract
32
+ * independent of which one answered.
12
33
  */
13
34
  export class Trades {
14
35
  market;
@@ -27,32 +48,34 @@ export class Trades {
27
48
  return this._container.length;
28
49
  }
29
50
  // -- update from WebSocket events ------------------------------------------
51
+ /**
52
+ * Apply an orders update, and return the trades it added — oldest first, and
53
+ * empty for the many updates that move the book without trading. What
54
+ * MarketView hands to an `onTrade` handler.
55
+ */
30
56
  update(orders) {
31
- const consumers = new Map();
57
+ const found = [];
32
58
  for (const order of orders) {
33
59
  if (!isSymbol(this.market.symbol, order))
34
60
  continue;
35
- if (isCancel(order))
61
+ if (!isLimit(order) || !isConsumed(order))
62
+ continue;
63
+ const aggressor = findOrder(orders, order.consumer);
64
+ if (aggressor === null || !isLimit(aggressor))
36
65
  continue;
37
- if (isSplit(order))
66
+ if (!isResting(orders, order))
38
67
  continue;
39
- if (isConsumed(order)) {
40
- consumers.set(order.id, order);
41
- const consumer = consumers.get(order.consumer);
42
- if (consumer !== undefined) {
43
- // The resting order is the one with the older original ID
44
- if (order.original < consumer.original) {
45
- this._append(order);
46
- }
47
- else {
48
- this._append(consumer);
49
- }
50
- }
51
- }
68
+ found.push(tradeOf(order, aggressor));
52
69
  }
70
+ // Stable since ES2019, so trades the server did not stamp keep the order
71
+ // it delivered them in rather than being shuffled among themselves.
72
+ found.sort((a, b) => time(a) - time(b));
73
+ for (const trade of found)
74
+ this._append(trade);
75
+ return found;
53
76
  }
54
- _append(order) {
55
- this._container.push(order);
77
+ _append(trade) {
78
+ this._container.push(trade);
56
79
  while (this._container.length > this.capacity) {
57
80
  this._container.shift();
58
81
  }
@@ -61,8 +84,15 @@ export class Trades {
61
84
  mostRecentTrades() {
62
85
  return [...this._container];
63
86
  }
87
+ /** The most recent trade — what a caller asking "what just happened" wants.
88
+ * `null` when nothing has traded yet. */
89
+ last() {
90
+ return this._container.length > 0
91
+ ? this._container[this._container.length - 1]
92
+ : null;
93
+ }
64
94
  mostRecentPrices() {
65
- return this._container.map((o) => o.price);
95
+ return this._container.map((t) => t.price);
66
96
  }
67
97
  drain() {
68
98
  const trades = [...this._container];
@@ -84,10 +114,23 @@ export class MarketplaceTrades {
84
114
  this._trades.set(m.id, new Trades(m, capacity));
85
115
  }
86
116
  }
117
+ /**
118
+ * Apply an orders update to every tape, and return the trades each market
119
+ * gained, keyed by market id, with markets that gained none left out — which
120
+ * is most of them on most updates.
121
+ *
122
+ * MarketView dispatches `onTrade` from this rather than diffing tape sizes,
123
+ * since a full tape drops its oldest as it takes a new one and the size does
124
+ * not move.
125
+ */
87
126
  update(orders) {
88
- for (const t of this._trades.values()) {
89
- t.update(orders);
127
+ const added = new Map();
128
+ for (const [marketId, tape] of this._trades) {
129
+ const fresh = tape.update(orders);
130
+ if (fresh.length > 0)
131
+ added.set(marketId, fresh);
90
132
  }
133
+ return added;
91
134
  }
92
135
  mostRecentPrices() {
93
136
  return [...this._trades.values()]
@@ -97,8 +140,11 @@ export class MarketplaceTrades {
97
140
  collection() {
98
141
  return [...this._trades.values()];
99
142
  }
143
+ /** That market's tape, or null when the market is not in this marketplace —
144
+ * the lookup MarketView needs, where an unknown id is an answer rather than
145
+ * a crash on the next property read. */
100
146
  get(marketId) {
101
- return this._trades.get(marketId);
147
+ return this._trades.get(marketId) ?? null;
102
148
  }
103
149
  /** Empty every per-market trade tape — see {@link Trades.clear}. */
104
150
  clear() {
@@ -106,4 +152,8 @@ export class MarketplaceTrades {
106
152
  t.clear();
107
153
  }
108
154
  }
155
+ /** Epoch millis for sorting, with unstamped trades last. */
156
+ function time(trade) {
157
+ return trade.at === null ? Number.POSITIVE_INFINITY : trade.at.getTime();
158
+ }
109
159
  //# sourceMappingURL=trades.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trades.js","sourceRoot":"","sources":["../src/trades.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trades.js","sourceRoot":"","sources":["../src/trades.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -238,6 +238,27 @@ export interface Order {
238
238
  createdDate: Date | null;
239
239
  lastModifiedDate: Date | null;
240
240
  }
241
+ /**
242
+ * The best human label a person record carries: the trimmed full name, or the
243
+ * email when there is no name.
244
+ *
245
+ * Every consumer of `users()` was writing this, because none of the three
246
+ * fields it reads can be relied on alone — `firstName` and `lastName` are each
247
+ * optional, and a person with neither still has to appear somewhere in a
248
+ * report.
249
+ *
250
+ * Deliberately not `"Name <email>"`: that is a presentation choice, and a
251
+ * caller who wants it can compose one from this and `email`.
252
+ *
253
+ * A function rather than a method because `Person` is a plain wire interface
254
+ * here — Java puts this on the record and Python on the dataclass, which is
255
+ * each language's own idiom for the same thing.
256
+ *
257
+ * @returns the full name, else the email, else null — and null only for a
258
+ * record carrying neither, which fm-server does not produce since email is
259
+ * the account key.
260
+ */
261
+ export declare function displayName(person: Person): string | null;
241
262
  export interface ClientConnection {
242
263
  marketplaceId: number;
243
264
  connectionId: number;
package/dist/types.js CHANGED
@@ -103,4 +103,31 @@ export function toOrderType(value) {
103
103
  const upper = value?.trim().toUpperCase();
104
104
  return upper === "LIMIT" || upper === "CANCEL" ? upper : null;
105
105
  }
106
+ /**
107
+ * The best human label a person record carries: the trimmed full name, or the
108
+ * email when there is no name.
109
+ *
110
+ * Every consumer of `users()` was writing this, because none of the three
111
+ * fields it reads can be relied on alone — `firstName` and `lastName` are each
112
+ * optional, and a person with neither still has to appear somewhere in a
113
+ * report.
114
+ *
115
+ * Deliberately not `"Name <email>"`: that is a presentation choice, and a
116
+ * caller who wants it can compose one from this and `email`.
117
+ *
118
+ * A function rather than a method because `Person` is a plain wire interface
119
+ * here — Java puts this on the record and Python on the dataclass, which is
120
+ * each language's own idiom for the same thing.
121
+ *
122
+ * @returns the full name, else the email, else null — and null only for a
123
+ * record carrying neither, which fm-server does not produce since email is
124
+ * the account key.
125
+ */
126
+ export function displayName(person) {
127
+ const name = `${(person.firstName ?? "").trim()} ${(person.lastName ?? "").trim()}`.trim();
128
+ if (name)
129
+ return name;
130
+ const email = (person.email ?? "").trim();
131
+ return email ? email : null;
132
+ }
106
133
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flexemarkets/fm-sdk",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "Flexemarkets TypeScript SDK",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",