tardis-dev 16.4.1 → 16.5.0

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.
Files changed (84) hide show
  1. package/dist/consts.d.ts +2 -1
  2. package/dist/consts.d.ts.map +1 -1
  3. package/dist/consts.js +14 -2
  4. package/dist/consts.js.map +1 -1
  5. package/dist/exchangedetails.d.ts +1 -1
  6. package/dist/exchangedetails.d.ts.map +1 -1
  7. package/dist/handy.d.ts +9 -4
  8. package/dist/handy.d.ts.map +1 -1
  9. package/dist/handy.js +17 -12
  10. package/dist/handy.js.map +1 -1
  11. package/dist/mappers/binanceeuropeanoptions.d.ts.map +1 -1
  12. package/dist/mappers/binanceeuropeanoptions.js +30 -70
  13. package/dist/mappers/binanceeuropeanoptions.js.map +1 -1
  14. package/dist/mappers/bitget.js +5 -5
  15. package/dist/mappers/bitget.js.map +1 -1
  16. package/dist/mappers/bitmex.js +5 -5
  17. package/dist/mappers/bitmex.js.map +1 -1
  18. package/dist/mappers/bullish.js +15 -15
  19. package/dist/mappers/bullish.js.map +1 -1
  20. package/dist/mappers/bybit.d.ts +2 -2
  21. package/dist/mappers/bybit.js +16 -16
  22. package/dist/mappers/bybit.js.map +1 -1
  23. package/dist/mappers/bybitspot.d.ts +1 -1
  24. package/dist/mappers/cryptocom.d.ts +1 -1
  25. package/dist/mappers/deribit.js +12 -12
  26. package/dist/mappers/deribit.js.map +1 -1
  27. package/dist/mappers/ftx.js +5 -5
  28. package/dist/mappers/ftx.js.map +1 -1
  29. package/dist/mappers/huobi.d.ts +3 -3
  30. package/dist/mappers/huobi.d.ts.map +1 -1
  31. package/dist/mappers/huobi.js +20 -20
  32. package/dist/mappers/huobi.js.map +1 -1
  33. package/dist/mappers/index.d.ts +4 -0
  34. package/dist/mappers/index.d.ts.map +1 -1
  35. package/dist/mappers/index.js +11 -5
  36. package/dist/mappers/index.js.map +1 -1
  37. package/dist/mappers/kraken.js +5 -5
  38. package/dist/mappers/kraken.js.map +1 -1
  39. package/dist/mappers/kucoinfutures.d.ts.map +1 -1
  40. package/dist/mappers/kucoinfutures.js +2 -2
  41. package/dist/mappers/kucoinfutures.js.map +1 -1
  42. package/dist/mappers/lighter.js +5 -5
  43. package/dist/mappers/lighter.js.map +1 -1
  44. package/dist/mappers/okex.js +38 -38
  45. package/dist/mappers/okex.js.map +1 -1
  46. package/dist/mappers/polymarket.d.ts +83 -0
  47. package/dist/mappers/polymarket.d.ts.map +1 -0
  48. package/dist/mappers/polymarket.js +113 -0
  49. package/dist/mappers/polymarket.js.map +1 -0
  50. package/dist/mappers/serum.js +5 -5
  51. package/dist/mappers/serum.js.map +1 -1
  52. package/dist/realtimefeeds/index.d.ts.map +1 -1
  53. package/dist/realtimefeeds/index.js +3 -1
  54. package/dist/realtimefeeds/index.js.map +1 -1
  55. package/dist/realtimefeeds/polymarket.d.ts +26 -0
  56. package/dist/realtimefeeds/polymarket.d.ts.map +1 -0
  57. package/dist/realtimefeeds/polymarket.js +92 -0
  58. package/dist/realtimefeeds/polymarket.js.map +1 -0
  59. package/dist/realtimefeeds/realtimefeed.d.ts +1 -0
  60. package/dist/realtimefeeds/realtimefeed.d.ts.map +1 -1
  61. package/dist/realtimefeeds/realtimefeed.js +9 -0
  62. package/dist/realtimefeeds/realtimefeed.js.map +1 -1
  63. package/package.json +1 -1
  64. package/src/consts.ts +15 -2
  65. package/src/exchangedetails.ts +1 -1
  66. package/src/handy.ts +18 -14
  67. package/src/mappers/binanceeuropeanoptions.ts +30 -79
  68. package/src/mappers/bitget.ts +5 -5
  69. package/src/mappers/bitmex.ts +5 -5
  70. package/src/mappers/bullish.ts +15 -15
  71. package/src/mappers/bybit.ts +16 -16
  72. package/src/mappers/deribit.ts +12 -12
  73. package/src/mappers/ftx.ts +5 -5
  74. package/src/mappers/huobi.ts +20 -20
  75. package/src/mappers/index.ts +11 -5
  76. package/src/mappers/kraken.ts +5 -5
  77. package/src/mappers/kucoinfutures.ts +2 -2
  78. package/src/mappers/lighter.ts +5 -5
  79. package/src/mappers/okex.ts +38 -38
  80. package/src/mappers/polymarket.ts +195 -0
  81. package/src/mappers/serum.ts +5 -5
  82. package/src/realtimefeeds/index.ts +3 -1
  83. package/src/realtimefeeds/polymarket.ts +112 -0
  84. package/src/realtimefeeds/realtimefeed.ts +10 -0
@@ -0,0 +1,92 @@
1
+ import { MultiConnectionRealTimeFeedBase, RealTimeFeedBase } from "./realtimefeed.js";
2
+ export class PolymarketRealTimeFeed extends MultiConnectionRealTimeFeedBase {
3
+ clobChannels = new Set([
4
+ 'book',
5
+ 'price_change',
6
+ 'last_trade_price',
7
+ 'best_bid_ask',
8
+ 'tick_size_change',
9
+ 'new_market',
10
+ 'market_resolved'
11
+ ]);
12
+ sportsChannel = 'sport_result';
13
+ *_getRealTimeFeeds(exchange, filters, timeoutIntervalMS, onError) {
14
+ const clobFilters = [];
15
+ const sportsFilters = [];
16
+ for (const filter of filters) {
17
+ if (this.clobChannels.has(filter.channel)) {
18
+ clobFilters.push(filter);
19
+ }
20
+ else if (filter.channel === this.sportsChannel) {
21
+ sportsFilters.push(filter);
22
+ }
23
+ else {
24
+ throw new Error(`PolymarketRealTimeFeed unsupported channel ${filter.channel}`);
25
+ }
26
+ }
27
+ if (clobFilters.length > 0) {
28
+ if (clobFilters.every((filter) => filter.symbols === undefined || filter.symbols.length === 0)) {
29
+ throw new Error('PolymarketRealTimeFeed requires explicitly specified symbols when subscribing to CLOB live feed');
30
+ }
31
+ yield new PolymarketClobRealTimeFeed(exchange, clobFilters, timeoutIntervalMS, onError);
32
+ }
33
+ if (sportsFilters.length > 0) {
34
+ yield new PolymarketSportsRealTimeFeed(exchange, sportsFilters, timeoutIntervalMS, onError);
35
+ }
36
+ }
37
+ }
38
+ export class PolymarketClobRealTimeFeed extends RealTimeFeedBase {
39
+ wssURL = 'wss://ws-subscriptions-clob.polymarket.com/ws/market';
40
+ pongMessage = Buffer.from('{"__pong__":true}');
41
+ decompress = (msg) => {
42
+ if (msg.toString() === 'PONG') {
43
+ return this.pongMessage;
44
+ }
45
+ return msg;
46
+ };
47
+ messageIsHeartbeat(msg) {
48
+ return msg.__pong__ === true;
49
+ }
50
+ sendCustomPing = () => {
51
+ this.sendRaw('PING');
52
+ };
53
+ mapToSubscribeMessages(filters) {
54
+ return [
55
+ {
56
+ type: 'market',
57
+ assets_ids: [...new Set(filters.flatMap((f) => f.symbols ?? []))],
58
+ initial_dump: true,
59
+ level: 2,
60
+ custom_feature_enabled: true
61
+ }
62
+ ];
63
+ }
64
+ messageIsError(message) {
65
+ return typeof message.error === 'string';
66
+ }
67
+ }
68
+ export class PolymarketSportsRealTimeFeed extends RealTimeFeedBase {
69
+ wssURL = 'wss://sports-api.polymarket.com/ws';
70
+ serverPingMessage = Buffer.from('{"__server_ping__":true}');
71
+ decompress = (msg) => {
72
+ if (msg.toString() === 'ping') {
73
+ return this.serverPingMessage;
74
+ }
75
+ return msg;
76
+ };
77
+ messageIsHeartbeat(msg) {
78
+ return msg.__server_ping__ === true;
79
+ }
80
+ onMessage(msg) {
81
+ if (msg.__server_ping__ === true) {
82
+ this.sendRaw('pong');
83
+ }
84
+ }
85
+ mapToSubscribeMessages(_filters) {
86
+ return [];
87
+ }
88
+ messageIsError(message) {
89
+ return typeof message.error === 'string';
90
+ }
91
+ }
92
+ //# sourceMappingURL=polymarket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polymarket.js","sourceRoot":"","sources":["../../src/realtimefeeds/polymarket.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ export declare abstract class RealTimeFeedBase implements RealTimeFeedIterable {
25
25
  protected getWebSocketUrl(): Promise<string>;
26
26
  private _stream;
27
27
  protected send(msg: any): void;
28
+ protected sendRaw(msg: string | Buffer): void;
28
29
  protected abstract mapToSubscribeMessages(filters: Filter<string>[]): any[];
29
30
  protected abstract messageIsError(message: any): boolean;
30
31
  protected sendCustomPing: (() => void) | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"realtimefeed.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/realtimefeed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"realtimefeed.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/realtimefeed.ts"],"names":[],"mappings":"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"}
@@ -159,6 +159,15 @@ export class RealTimeFeedBase {
159
159
  }
160
160
  this._ws.send(JSON.stringify(msg));
161
161
  }
162
+ sendRaw(msg) {
163
+ if (this._ws === undefined) {
164
+ return;
165
+ }
166
+ if (this._ws.readyState !== WebSocket.OPEN) {
167
+ return;
168
+ }
169
+ this._ws.send(msg);
170
+ }
162
171
  sendCustomPing = undefined;
163
172
  isIgnoredError(_message) {
164
173
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"realtimefeed.js","sourceRoot":"","sources":["../../src/realtimefeeds/realtimefeed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"realtimefeed.js","sourceRoot":"","sources":["../../src/realtimefeeds/realtimefeed.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tardis-dev",
3
- "version": "16.4.1",
3
+ "version": "16.5.0",
4
4
  "engines": {
5
5
  "node": ">=25"
6
6
  },
package/src/consts.ts CHANGED
@@ -57,7 +57,8 @@ export const EXCHANGES = [
57
57
  'bitget-futures',
58
58
  'hyperliquid',
59
59
  'lighter',
60
- 'bullish'
60
+ 'bullish',
61
+ 'polymarket'
61
62
  ] as const
62
63
 
63
64
  const BINANCE_CHANNELS = ['trade', 'aggTrade', 'ticker', 'depth', 'depthSnapshot', 'bookTicker', 'recentTrades', 'borrowInterest'] as const
@@ -525,6 +526,17 @@ const LIGHTER_CHANNELS = ['order_book', 'trade', 'ticker', 'market_stats', 'spot
525
526
 
526
527
  const BULLISH_CHANNELS = ['V1TALevel2', 'V1TALevel1', 'V1TAAnonymousTradeUpdate', 'V1TATickerResponse', 'V1TAIndexPrice'] as const
527
528
 
529
+ const POLYMARKET_CHANNELS = [
530
+ 'book',
531
+ 'price_change',
532
+ 'last_trade_price',
533
+ 'best_bid_ask',
534
+ 'tick_size_change',
535
+ 'sport_result',
536
+ 'new_market',
537
+ 'market_resolved'
538
+ ] as const
539
+
528
540
  export const EXCHANGE_CHANNELS_INFO = {
529
541
  bitmex: BITMEX_CHANNELS,
530
542
  coinbase: COINBASE_CHANNELS,
@@ -584,5 +596,6 @@ export const EXCHANGE_CHANNELS_INFO = {
584
596
  'bitget-futures': BITGET_FUTURES_CHANNELS,
585
597
  hyperliquid: HYPERLIQUID_CHANNELS,
586
598
  lighter: LIGHTER_CHANNELS,
587
- bullish: BULLISH_CHANNELS
599
+ bullish: BULLISH_CHANNELS,
600
+ polymarket: POLYMARKET_CHANNELS
588
601
  }
@@ -10,7 +10,7 @@ export async function getExchangeDetails<T extends Exchange>(exchange: T) {
10
10
  return data as ExchangeDetails<T>
11
11
  }
12
12
 
13
- export type SymbolType = 'spot' | 'future' | 'perpetual' | 'option' | 'combo'
13
+ export type SymbolType = 'spot' | 'future' | 'perpetual' | 'option' | 'combo' | 'prediction'
14
14
 
15
15
  export type DatasetType =
16
16
  | 'trades'
package/src/handy.ts CHANGED
@@ -771,38 +771,42 @@ export function decimalPlaces(n: number) {
771
771
  }
772
772
 
773
773
  /**
774
- * Parses optional numeric fields where `undefined`, `null`, `NaN`, `Infinity`, and `-Infinity` are treated as not valid and mapped to `undefined`.
775
- * `0` is valid and preserved. Use for nullable/optional numeric fields such as open interest, funding rates, and greeks.
774
+ * Parses optional numeric fields where:
775
+ * * `0` **is valid and preserved**
776
+ * * `undefined`, `null`, `NaN`, `Infinity`, and `-Infinity` are treated as not valid and mapped to `undefined`
777
+ *
778
+ * Use for nullable/optional numeric fields such as open interest, funding rates, and greeks.
776
779
  */
777
780
  export function asNumberOrUndefined(val: string | number | undefined | null) {
778
781
  if (val === undefined || val === null || val === '') {
779
782
  return
780
783
  }
781
784
 
785
+ if (typeof val === 'number') {
786
+ return Number.isFinite(val) ? val : undefined
787
+ }
788
+
782
789
  const asNumber = Number(val)
783
790
  return Number.isFinite(asNumber) ? asNumber : undefined
784
791
  }
785
792
 
786
793
  /**
787
- * Parses optional numeric fields where `0`, `undefined`, `null`, `NaN`, `Infinity`, and `-Infinity` are treated as not valid and mapped to `undefined`.
794
+ * Parses optional numeric fields where:
795
+ * * `0`, `undefined`, `null`, `NaN`, `Infinity`, and `-Infinity` are treated as not valid and mapped to `undefined`.
796
+ *
788
797
  * Use for empty quote/top-of-book values that exchanges encode as zero.
789
798
  */
790
- export function asNumberIfValid(val: string | number | undefined | null) {
791
- if (val === undefined || val === null) {
792
- return
793
- }
794
-
795
- var asNumber = Number(val)
796
-
797
- if (isNaN(asNumber) || isFinite(asNumber) === false) {
799
+ export function asNonZeroNumberOrUndefined(val: string | number | undefined | null) {
800
+ if (val === undefined || val === null || val === '' || val === 0) {
798
801
  return
799
802
  }
800
803
 
801
- if (asNumber === 0) {
802
- return
804
+ if (typeof val === 'number') {
805
+ return Number.isFinite(val) ? val : undefined
803
806
  }
804
807
 
805
- return asNumber
808
+ const asNumber = Number(val)
809
+ return Number.isFinite(asNumber) && asNumber !== 0 ? asNumber : undefined
806
810
  }
807
811
 
808
812
  export function upperCaseSymbols(symbols?: string[]) {
@@ -1,4 +1,4 @@
1
- import { asNumberIfValid, lowerCaseSymbols, upperCaseSymbols } from '../handy.ts'
1
+ import { asNonZeroNumberOrUndefined, lowerCaseSymbols, upperCaseSymbols } from '../handy.ts'
2
2
  import { BookChange, BookTicker, OptionSummary, Trade } from '../types.ts'
3
3
  import { Mapper } from './mapper.ts'
4
4
 
@@ -285,34 +285,10 @@ export class BinanceEuropeanOptionSummaryMapper implements Mapper<'binance-europ
285
285
 
286
286
  const underlyingIndex = `${base}USDT`
287
287
 
288
- let bestBidPrice = asNumberIfValid(optionInfo.bo)
289
- if (bestBidPrice === 0) {
290
- bestBidPrice = undefined
291
- }
292
-
293
- let bestBidAmount = asNumberIfValid(optionInfo.bq)
294
- if (bestBidAmount === 0) {
295
- bestBidAmount = undefined
296
- }
297
- let bestAskPrice = asNumberIfValid(optionInfo.ao)
298
- if (bestAskPrice === 0) {
299
- bestAskPrice = undefined
300
- }
301
-
302
- let bestAskAmount = asNumberIfValid(optionInfo.aq)
303
- if (bestAskAmount === 0) {
304
- bestAskAmount = undefined
305
- }
306
-
307
- let bestBidIV = bestBidPrice !== undefined ? asNumberIfValid(optionInfo.b) : undefined
308
- if (bestBidIV === -1) {
309
- bestBidIV = undefined
310
- }
311
-
312
- let bestAskIV = bestAskPrice !== undefined ? asNumberIfValid(optionInfo.a) : undefined
313
- if (bestAskIV === -1) {
314
- bestAskIV = undefined
315
- }
288
+ const bestBidPrice = asNonZeroNumberOrUndefined(optionInfo.bo)
289
+ const bestBidIV = bestBidPrice !== undefined ? asNonZeroNumberOrUndefined(optionInfo.b) : undefined
290
+ const bestAskPrice = asNonZeroNumberOrUndefined(optionInfo.ao)
291
+ const bestAskIV = bestAskPrice !== undefined ? asNonZeroNumberOrUndefined(optionInfo.a) : undefined
316
292
 
317
293
  const optionSummary: OptionSummary = {
318
294
  type: 'option_summary',
@@ -323,24 +299,24 @@ export class BinanceEuropeanOptionSummaryMapper implements Mapper<'binance-europ
323
299
  expirationDate,
324
300
 
325
301
  bestBidPrice,
326
- bestBidAmount,
327
- bestBidIV,
302
+ bestBidAmount: asNonZeroNumberOrUndefined(optionInfo.bq),
303
+ bestBidIV: bestBidIV === -1 ? undefined : bestBidIV,
328
304
 
329
305
  bestAskPrice,
330
- bestAskAmount,
331
- bestAskIV,
306
+ bestAskAmount: asNonZeroNumberOrUndefined(optionInfo.aq),
307
+ bestAskIV: bestAskIV === -1 ? undefined : bestAskIV,
332
308
 
333
- lastPrice: asNumberIfValid(optionInfo.c),
309
+ lastPrice: asNonZeroNumberOrUndefined(optionInfo.c),
334
310
 
335
311
  openInterest: this._openInterests.get(optionInfo.s),
336
312
 
337
- markPrice: asNumberIfValid(optionInfo.mp),
313
+ markPrice: asNonZeroNumberOrUndefined(optionInfo.mp),
338
314
  markIV: undefined,
339
315
 
340
- delta: asNumberIfValid(optionInfo.d),
341
- gamma: asNumberIfValid(optionInfo.g),
342
- vega: asNumberIfValid(optionInfo.v),
343
- theta: asNumberIfValid(optionInfo.t),
316
+ delta: asNonZeroNumberOrUndefined(optionInfo.d),
317
+ gamma: asNonZeroNumberOrUndefined(optionInfo.g),
318
+ vega: asNonZeroNumberOrUndefined(optionInfo.v),
319
+ theta: asNonZeroNumberOrUndefined(optionInfo.t),
344
320
  rho: undefined,
345
321
 
346
322
  underlyingPrice: this._indexPrices.get(underlyingIndex),
@@ -434,43 +410,18 @@ export class BinanceEuropeanOptionSummaryMapperV2 implements Mapper<'binance-eur
434
410
  const isPut = optionType === 'P'
435
411
  const underlyingIndex = `${base}USDT`
436
412
 
437
- let bestBidPrice = asNumberIfValid(markData.bo)
438
- if (bestBidPrice === 0) {
439
- bestBidPrice = undefined
440
- }
441
-
442
- let bestBidAmount = asNumberIfValid(markData.bq)
443
- if (bestBidAmount === 0) {
444
- bestBidAmount = undefined
445
- }
446
-
447
- let bestAskPrice = asNumberIfValid(markData.ao)
448
- if (bestAskPrice === 0) {
449
- bestAskPrice = undefined
450
- }
451
-
452
- let bestAskAmount = asNumberIfValid(markData.aq)
453
- if (bestAskAmount === 0) {
454
- bestAskAmount = undefined
455
- }
456
-
457
- let bestBidIV = bestBidPrice !== undefined ? asNumberIfValid(markData.b) : undefined
458
- if (bestBidIV === -1) {
459
- bestBidIV = undefined
460
- }
461
-
462
- let bestAskIV = bestAskPrice !== undefined ? asNumberIfValid(markData.a) : undefined
463
- if (bestAskIV === -1) {
464
- bestAskIV = undefined
465
- }
413
+ const bestBidPrice = asNonZeroNumberOrUndefined(markData.bo)
414
+ const bestBidIV = bestBidPrice !== undefined ? asNonZeroNumberOrUndefined(markData.b) : undefined
415
+ const bestAskPrice = asNonZeroNumberOrUndefined(markData.ao)
416
+ const bestAskIV = bestAskPrice !== undefined ? asNonZeroNumberOrUndefined(markData.a) : undefined
466
417
 
467
- const markPrice = asNumberIfValid(markData.mp)
468
- const markIV = asNumberIfValid(markData.vo)
469
- const delta = asNumberIfValid(markData.d)
470
- const gamma = asNumberIfValid(markData.g)
471
- const vega = asNumberIfValid(markData.v)
472
- const theta = asNumberIfValid(markData.t)
473
- const underlyingPrice = asNumberIfValid(markData.i) // Index price is included in mark price data
418
+ const markPrice = asNonZeroNumberOrUndefined(markData.mp)
419
+ const markIV = asNonZeroNumberOrUndefined(markData.vo)
420
+ const delta = asNonZeroNumberOrUndefined(markData.d)
421
+ const gamma = asNonZeroNumberOrUndefined(markData.g)
422
+ const vega = asNonZeroNumberOrUndefined(markData.v)
423
+ const theta = asNonZeroNumberOrUndefined(markData.t)
424
+ const underlyingPrice = asNonZeroNumberOrUndefined(markData.i) // Index price is included in mark price data
474
425
 
475
426
  const optionSummary: OptionSummary = {
476
427
  type: 'option_summary',
@@ -481,12 +432,12 @@ export class BinanceEuropeanOptionSummaryMapperV2 implements Mapper<'binance-eur
481
432
  expirationDate,
482
433
 
483
434
  bestBidPrice,
484
- bestBidAmount,
485
- bestBidIV,
435
+ bestBidAmount: asNonZeroNumberOrUndefined(markData.bq),
436
+ bestBidIV: bestBidIV === -1 ? undefined : bestBidIV,
486
437
 
487
438
  bestAskPrice,
488
- bestAskAmount,
489
- bestAskIV,
439
+ bestAskAmount: asNonZeroNumberOrUndefined(markData.aq),
440
+ bestAskIV: bestAskIV === -1 ? undefined : bestAskIV,
490
441
 
491
442
  lastPrice: this._lastPrices.get(markData.s),
492
443
 
@@ -1,4 +1,4 @@
1
- import { asNumberIfValid, upperCaseSymbols } from '../handy.ts'
1
+ import { asNonZeroNumberOrUndefined, upperCaseSymbols } from '../handy.ts'
2
2
  import { BookChange, BookTicker, DerivativeTicker, Exchange, Liquidation, Trade } from '../types.ts'
3
3
  import { Mapper, PendingTickerInfoHelper } from './mapper.ts'
4
4
 
@@ -248,10 +248,10 @@ export class BitgetV3BookTickerMapper implements Mapper<'bitget' | 'bitget-futur
248
248
  type: 'book_ticker',
249
249
  symbol: message.arg.symbol,
250
250
  exchange: this._exchange,
251
- askAmount: bboMessage.a[0] ? asNumberIfValid(bboMessage.a[0][1]) : undefined,
252
- askPrice: bboMessage.a[0] ? asNumberIfValid(bboMessage.a[0][0]) : undefined,
253
- bidPrice: bboMessage.b[0] ? asNumberIfValid(bboMessage.b[0][0]) : undefined,
254
- bidAmount: bboMessage.b[0] ? asNumberIfValid(bboMessage.b[0][1]) : undefined,
251
+ askPrice: asNonZeroNumberOrUndefined(bboMessage.a[0]?.[0]),
252
+ askAmount: asNonZeroNumberOrUndefined(bboMessage.a[0]?.[1]),
253
+ bidPrice: asNonZeroNumberOrUndefined(bboMessage.b[0]?.[0]),
254
+ bidAmount: asNonZeroNumberOrUndefined(bboMessage.b[0]?.[1]),
255
255
  timestamp: new Date(Number(bboMessage.ts)),
256
256
  localTimestamp
257
257
  }
@@ -1,4 +1,4 @@
1
- import { asNumberIfValid, upperCaseSymbols } from '../handy.ts'
1
+ import { asNonZeroNumberOrUndefined, upperCaseSymbols } from '../handy.ts'
2
2
  import { BookChange, BookPriceLevel, BookTicker, DerivativeTicker, FilterForExchange, Liquidation, Trade } from '../types.ts'
3
3
  import { Mapper, PendingTickerInfoHelper } from './mapper.ts'
4
4
 
@@ -267,11 +267,11 @@ export const bitmexBookTickerMapper: Mapper<'bitmex', BookTicker> = {
267
267
  type: 'book_ticker',
268
268
  symbol: bitmexQuote.symbol,
269
269
  exchange: 'bitmex',
270
- askAmount: asNumberIfValid(bitmexQuote.askSize),
271
- askPrice: asNumberIfValid(bitmexQuote.askPrice),
270
+ askAmount: asNonZeroNumberOrUndefined(bitmexQuote.askSize),
271
+ askPrice: asNonZeroNumberOrUndefined(bitmexQuote.askPrice),
272
272
 
273
- bidPrice: asNumberIfValid(bitmexQuote.bidPrice),
274
- bidAmount: asNumberIfValid(bitmexQuote.bidSize),
273
+ bidPrice: asNonZeroNumberOrUndefined(bitmexQuote.bidPrice),
274
+ bidAmount: asNonZeroNumberOrUndefined(bitmexQuote.bidSize),
275
275
  timestamp: new Date(bitmexQuote.timestamp),
276
276
  localTimestamp: localTimestamp
277
277
  }
@@ -1,4 +1,4 @@
1
- import { asNumberIfValid, asNumberOrUndefined } from '../handy.ts'
1
+ import { asNonZeroNumberOrUndefined, asNumberOrUndefined } from '../handy.ts'
2
2
  import { BookChange, BookPriceLevel, BookTicker, DerivativeTicker, OptionSummary, Trade } from '../types.ts'
3
3
  import { Mapper, PendingTickerInfoHelper } from './mapper.ts'
4
4
 
@@ -102,10 +102,10 @@ export class BullishBookTickerMapper implements Mapper<'bullish', BookTicker> {
102
102
  type: 'book_ticker',
103
103
  symbol: message.data.symbol,
104
104
  exchange: 'bullish',
105
- bidPrice: asNumberIfValid(message.data.bid[0]),
106
- bidAmount: asNumberIfValid(message.data.bid[1]),
107
- askPrice: asNumberIfValid(message.data.ask[0]),
108
- askAmount: asNumberIfValid(message.data.ask[1]),
105
+ bidPrice: asNonZeroNumberOrUndefined(message.data.bid[0]),
106
+ bidAmount: asNonZeroNumberOrUndefined(message.data.bid[1]),
107
+ askPrice: asNonZeroNumberOrUndefined(message.data.ask[0]),
108
+ askAmount: asNonZeroNumberOrUndefined(message.data.ask[1]),
109
109
  timestamp: new Date(message.data.datetime),
110
110
  localTimestamp
111
111
  }
@@ -145,7 +145,7 @@ export class BullishDerivativeTickerMapper implements Mapper<'bullish', Derivati
145
145
 
146
146
  *map(message: BullishDerivativeTickerMessage | BullishIndexPriceMessage, localTimestamp: Date): IterableIterator<DerivativeTicker> {
147
147
  if (message.dataType === 'V1TAIndexPrice') {
148
- const price = asNumberIfValid(message.data.price)
148
+ const price = asNonZeroNumberOrUndefined(message.data.price)
149
149
  if (price !== undefined) {
150
150
  this.indexPrices.set(message.data.assetSymbol, {
151
151
  price,
@@ -160,8 +160,8 @@ export class BullishDerivativeTickerMapper implements Mapper<'bullish', Derivati
160
160
  const indexAsset = message.data.symbol.split('-')[0]
161
161
  const indexPrice = this.indexPrices.get(indexAsset)
162
162
 
163
- pendingTickerInfo.updateLastPrice(asNumberIfValid(message.data.last))
164
- pendingTickerInfo.updateMarkPrice(asNumberIfValid(message.data.markPrice))
163
+ pendingTickerInfo.updateLastPrice(asNonZeroNumberOrUndefined(message.data.last))
164
+ pendingTickerInfo.updateMarkPrice(asNonZeroNumberOrUndefined(message.data.markPrice))
165
165
  pendingTickerInfo.updateFundingRate(asNumberOrUndefined(message.data.fundingRate))
166
166
  pendingTickerInfo.updateOpenInterest(asNumberOrUndefined(message.data.openInterest))
167
167
  pendingTickerInfo.updateIndexPrice(indexPrice?.price)
@@ -205,7 +205,7 @@ export class BullishOptionSummaryMapper implements Mapper<'bullish', OptionSumma
205
205
 
206
206
  *map(message: BullishOptionTickerMessage | BullishIndexPriceMessage, localTimestamp: Date): IterableIterator<OptionSummary> {
207
207
  if (message.dataType === 'V1TAIndexPrice') {
208
- const price = asNumberIfValid(message.data.price)
208
+ const price = asNonZeroNumberOrUndefined(message.data.price)
209
209
  if (price !== undefined) {
210
210
  this.indexPrices.set(message.data.assetSymbol, {
211
211
  price,
@@ -229,16 +229,16 @@ export class BullishOptionSummaryMapper implements Mapper<'bullish', OptionSumma
229
229
  optionType: optionType === 'P' ? 'put' : 'call',
230
230
  strikePrice: Number(strikePriceText),
231
231
  expirationDate,
232
- bestBidPrice: asNumberIfValid(message.data.bestBid),
233
- bestBidAmount: asNumberIfValid(message.data.bidVolume),
232
+ bestBidPrice: asNonZeroNumberOrUndefined(message.data.bestBid),
233
+ bestBidAmount: asNonZeroNumberOrUndefined(message.data.bidVolume),
234
234
  bestBidIV: undefined,
235
- bestAskPrice: asNumberIfValid(message.data.bestAsk),
236
- bestAskAmount: asNumberIfValid(message.data.askVolume),
235
+ bestAskPrice: asNonZeroNumberOrUndefined(message.data.bestAsk),
236
+ bestAskAmount: asNonZeroNumberOrUndefined(message.data.askVolume),
237
237
  bestAskIV: undefined,
238
- lastPrice: asNumberIfValid(message.data.last),
238
+ lastPrice: asNonZeroNumberOrUndefined(message.data.last),
239
239
  openInterest: asNumberOrUndefined(message.data.openInterest),
240
240
  markPrice: asNumberOrUndefined(message.data.markPrice),
241
- markIV: asNumberIfValid(message.data.impliedVolatility),
241
+ markIV: asNonZeroNumberOrUndefined(message.data.impliedVolatility),
242
242
  delta: asNumberOrUndefined(message.data.delta),
243
243
  gamma: asNumberOrUndefined(message.data.gamma),
244
244
  vega: asNumberOrUndefined(message.data.vega),
@@ -1,4 +1,4 @@
1
- import { asNumberIfValid, upperCaseSymbols } from '../handy.ts'
1
+ import { asNonZeroNumberOrUndefined, upperCaseSymbols } from '../handy.ts'
2
2
  import { BookChange, BookTicker, DerivativeTicker, Exchange, Liquidation, OptionSummary, Trade } from '../types.ts'
3
3
  import { Mapper, PendingTickerInfoHelper } from './mapper.ts'
4
4
 
@@ -332,27 +332,27 @@ export class BybitV5OptionSummaryMapper implements Mapper<'bybit-options', Optio
332
332
  strikePrice,
333
333
  expirationDate,
334
334
 
335
- bestBidPrice: asNumberIfValid(message.data.bidPrice),
336
- bestBidAmount: asNumberIfValid(message.data.bidSize),
337
- bestBidIV: asNumberIfValid(message.data.bidIv),
335
+ bestBidPrice: asNonZeroNumberOrUndefined(message.data.bidPrice),
336
+ bestBidAmount: asNonZeroNumberOrUndefined(message.data.bidSize),
337
+ bestBidIV: asNonZeroNumberOrUndefined(message.data.bidIv),
338
338
 
339
- bestAskPrice: asNumberIfValid(message.data.askPrice),
340
- bestAskAmount: asNumberIfValid(message.data.askSize),
341
- bestAskIV: asNumberIfValid(message.data.askIv),
339
+ bestAskPrice: asNonZeroNumberOrUndefined(message.data.askPrice),
340
+ bestAskAmount: asNonZeroNumberOrUndefined(message.data.askSize),
341
+ bestAskIV: asNonZeroNumberOrUndefined(message.data.askIv),
342
342
 
343
- lastPrice: asNumberIfValid(message.data.lastPrice),
344
- openInterest: asNumberIfValid(message.data.openInterest),
343
+ lastPrice: asNonZeroNumberOrUndefined(message.data.lastPrice),
344
+ openInterest: asNonZeroNumberOrUndefined(message.data.openInterest),
345
345
 
346
- markPrice: asNumberIfValid(message.data.markPrice),
347
- markIV: asNumberIfValid(message.data.markPriceIv),
346
+ markPrice: asNonZeroNumberOrUndefined(message.data.markPrice),
347
+ markIV: asNonZeroNumberOrUndefined(message.data.markPriceIv),
348
348
 
349
- delta: asNumberIfValid(message.data.delta),
350
- gamma: asNumberIfValid(message.data.gamma),
351
- vega: asNumberIfValid(message.data.vega),
352
- theta: asNumberIfValid(message.data.theta),
349
+ delta: asNonZeroNumberOrUndefined(message.data.delta),
350
+ gamma: asNonZeroNumberOrUndefined(message.data.gamma),
351
+ vega: asNonZeroNumberOrUndefined(message.data.vega),
352
+ theta: asNonZeroNumberOrUndefined(message.data.theta),
353
353
  rho: undefined,
354
354
 
355
- underlyingPrice: asNumberIfValid(message.data.underlyingPrice),
355
+ underlyingPrice: asNonZeroNumberOrUndefined(message.data.underlyingPrice),
356
356
  underlyingIndex: '',
357
357
  timestamp: new Date(message.ts),
358
358
  localTimestamp: localTimestamp