@nadohq/nuanze-client 0.41.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 (102) hide show
  1. package/README.md +72 -0
  2. package/dist/NuanzeClient-BUjoXpWV.cjs +327 -0
  3. package/dist/NuanzeClient-BUjoXpWV.cjs.map +1 -0
  4. package/dist/NuanzeClient.cjs +4 -0
  5. package/dist/NuanzeClient.d.cts +229 -0
  6. package/dist/NuanzeClient.d.cts.map +1 -0
  7. package/dist/NuanzeClient.d.ts +229 -0
  8. package/dist/NuanzeClient.d.ts.map +1 -0
  9. package/dist/NuanzeClient.js +293 -0
  10. package/dist/NuanzeClient.js.map +1 -0
  11. package/dist/NuanzeServerFailureError-B9EhXPyW.d.cts +29 -0
  12. package/dist/NuanzeServerFailureError-B9EhXPyW.d.cts.map +1 -0
  13. package/dist/NuanzeServerFailureError-DqWaKEMA.d.ts +29 -0
  14. package/dist/NuanzeServerFailureError-DqWaKEMA.d.ts.map +1 -0
  15. package/dist/clientModelTypes-A-D7ER-p.d.ts +932 -0
  16. package/dist/clientModelTypes-A-D7ER-p.d.ts.map +1 -0
  17. package/dist/clientModelTypes-BLPA-e3V.d.cts +932 -0
  18. package/dist/clientModelTypes-BLPA-e3V.d.cts.map +1 -0
  19. package/dist/clientTypes-DdpinbkS.d.ts +642 -0
  20. package/dist/clientTypes-DdpinbkS.d.ts.map +1 -0
  21. package/dist/clientTypes-Du2RLy4W.d.cts +642 -0
  22. package/dist/clientTypes-Du2RLy4W.d.cts.map +1 -0
  23. package/dist/dataMappers.cjs +688 -0
  24. package/dist/dataMappers.cjs.map +1 -0
  25. package/dist/dataMappers.d.cts +159 -0
  26. package/dist/dataMappers.d.cts.map +1 -0
  27. package/dist/dataMappers.d.ts +159 -0
  28. package/dist/dataMappers.d.ts.map +1 -0
  29. package/dist/dataMappers.js +650 -0
  30. package/dist/dataMappers.js.map +1 -0
  31. package/dist/endpoints.cjs +18 -0
  32. package/dist/endpoints.cjs.map +1 -0
  33. package/dist/endpoints.d.cts +14 -0
  34. package/dist/endpoints.d.cts.map +1 -0
  35. package/dist/endpoints.d.ts +14 -0
  36. package/dist/endpoints.d.ts.map +1 -0
  37. package/dist/endpoints.js +17 -0
  38. package/dist/endpoints.js.map +1 -0
  39. package/dist/index.cjs +79 -0
  40. package/dist/index.d.cts +10 -0
  41. package/dist/index.d.ts +10 -0
  42. package/dist/index.js +9 -0
  43. package/dist/nuanzeErrorCodes-CWCTWh2k.d.cts +14 -0
  44. package/dist/nuanzeErrorCodes-CWCTWh2k.d.cts.map +1 -0
  45. package/dist/nuanzeErrorCodes-Dh6juim0.d.ts +14 -0
  46. package/dist/nuanzeErrorCodes-Dh6juim0.d.ts.map +1 -0
  47. package/dist/serverModelTypes-D-vS_7uc.d.ts +377 -0
  48. package/dist/serverModelTypes-D-vS_7uc.d.ts.map +1 -0
  49. package/dist/serverModelTypes-DZDxdIzz.d.cts +377 -0
  50. package/dist/serverModelTypes-DZDxdIzz.d.cts.map +1 -0
  51. package/dist/serverQueryTypes-BBIFZZ36.d.cts +240 -0
  52. package/dist/serverQueryTypes-BBIFZZ36.d.cts.map +1 -0
  53. package/dist/serverQueryTypes-e7HWmE8t.d.ts +240 -0
  54. package/dist/serverQueryTypes-e7HWmE8t.d.ts.map +1 -0
  55. package/dist/types/NuanzeServerFailureError.cjs +21 -0
  56. package/dist/types/NuanzeServerFailureError.cjs.map +1 -0
  57. package/dist/types/NuanzeServerFailureError.d.cts +2 -0
  58. package/dist/types/NuanzeServerFailureError.d.ts +2 -0
  59. package/dist/types/NuanzeServerFailureError.js +20 -0
  60. package/dist/types/NuanzeServerFailureError.js.map +1 -0
  61. package/dist/types/clientModelTypes.cjs +236 -0
  62. package/dist/types/clientModelTypes.cjs.map +1 -0
  63. package/dist/types/clientModelTypes.d.cts +2 -0
  64. package/dist/types/clientModelTypes.d.ts +2 -0
  65. package/dist/types/clientModelTypes.js +208 -0
  66. package/dist/types/clientModelTypes.js.map +1 -0
  67. package/dist/types/clientTypes.cjs +0 -0
  68. package/dist/types/clientTypes.d.cts +2 -0
  69. package/dist/types/clientTypes.d.ts +2 -0
  70. package/dist/types/clientTypes.js +1 -0
  71. package/dist/types/index.cjs +36 -0
  72. package/dist/types/index.d.cts +7 -0
  73. package/dist/types/index.d.ts +7 -0
  74. package/dist/types/index.js +5 -0
  75. package/dist/types/nuanzeErrorCodes.cjs +32 -0
  76. package/dist/types/nuanzeErrorCodes.cjs.map +1 -0
  77. package/dist/types/nuanzeErrorCodes.d.cts +2 -0
  78. package/dist/types/nuanzeErrorCodes.d.ts +2 -0
  79. package/dist/types/nuanzeErrorCodes.js +31 -0
  80. package/dist/types/nuanzeErrorCodes.js.map +1 -0
  81. package/dist/types/serverModelTypes.cjs +0 -0
  82. package/dist/types/serverModelTypes.d.cts +2 -0
  83. package/dist/types/serverModelTypes.d.ts +2 -0
  84. package/dist/types/serverModelTypes.js +1 -0
  85. package/dist/types/serverQueryTypes.cjs +15 -0
  86. package/dist/types/serverQueryTypes.cjs.map +1 -0
  87. package/dist/types/serverQueryTypes.d.cts +2 -0
  88. package/dist/types/serverQueryTypes.d.ts +2 -0
  89. package/dist/types/serverQueryTypes.js +14 -0
  90. package/dist/types/serverQueryTypes.js.map +1 -0
  91. package/package.json +54 -0
  92. package/src/NuanzeClient.ts +556 -0
  93. package/src/dataMappers.ts +889 -0
  94. package/src/endpoints.ts +14 -0
  95. package/src/index.ts +4 -0
  96. package/src/types/NuanzeServerFailureError.ts +36 -0
  97. package/src/types/clientModelTypes.ts +1085 -0
  98. package/src/types/clientTypes.ts +719 -0
  99. package/src/types/index.ts +6 -0
  100. package/src/types/nuanzeErrorCodes.ts +31 -0
  101. package/src/types/serverModelTypes.ts +422 -0
  102. package/src/types/serverQueryTypes.ts +298 -0
@@ -0,0 +1,650 @@
1
+ import { toBigNumber } from "@nadohq/shared";
2
+ //#region src/dataMappers.ts
3
+ function mapNuanzeDecimal(value) {
4
+ return value === null ? null : toBigNumber(value);
5
+ }
6
+ /**
7
+ * Maps a server-side latest ticker to its client-side representation, converting decimal strings to
8
+ * `BigNumber`.
9
+ */
10
+ function mapNuanzeLatestTicker(server) {
11
+ return {
12
+ midPrice: mapNuanzeDecimal(server.midPrice),
13
+ bidPrice: mapNuanzeDecimal(server.bidPrice),
14
+ askPrice: mapNuanzeDecimal(server.askPrice),
15
+ volume24h: mapNuanzeDecimal(server.volume24h),
16
+ openInterest: mapNuanzeDecimal(server.openInterest),
17
+ priceChange24hPct: mapNuanzeDecimal(server.priceChange24hPct),
18
+ updatedAt: server.updatedAt
19
+ };
20
+ }
21
+ /**
22
+ * Maps a server-side market to its client-side representation. Only the decimal fields change: IDs,
23
+ * enums, and timestamps keep their wire types.
24
+ */
25
+ function mapNuanzeMarket(server) {
26
+ return {
27
+ productId: server.productId,
28
+ symbol: server.symbol,
29
+ ticker: server.ticker,
30
+ venue: server.venue,
31
+ tradingStatus: server.tradingStatus,
32
+ priceIncrement: toBigNumber(server.priceIncrement),
33
+ sizeIncrement: toBigNumber(server.sizeIncrement),
34
+ minSize: toBigNumber(server.minSize),
35
+ latest: server.latest === null ? null : mapNuanzeLatestTicker(server.latest),
36
+ skew: mapNuanzeDecimal(server.skew),
37
+ skewUpdatedAt: server.skewUpdatedAt,
38
+ updatedAt: server.updatedAt
39
+ };
40
+ }
41
+ /**
42
+ * Maps a server-side `GET /markets` response to its client-side representation.
43
+ */
44
+ function mapNuanzeMarketsResponse(server) {
45
+ return {
46
+ markets: server.markets.map(mapNuanzeMarket),
47
+ count: server.count,
48
+ asOf: server.asOf
49
+ };
50
+ }
51
+ /**
52
+ * Maps a server-side `GET /news` response. Stories have no decimal fields.
53
+ */
54
+ function mapNuanzeNewsResponse(server) {
55
+ return {
56
+ stories: server.stories,
57
+ nextCursor: server.nextCursor,
58
+ asOf: server.asOf
59
+ };
60
+ }
61
+ /**
62
+ * Maps a server-side funding observation to `BigNumber` rates.
63
+ */
64
+ function mapNuanzeFundingObservation(server) {
65
+ return {
66
+ rate: toBigNumber(server.rate),
67
+ annualizedRate: toBigNumber(server.annualizedRate),
68
+ observedAt: server.observedAt
69
+ };
70
+ }
71
+ /**
72
+ * Maps a server-side funding rate row.
73
+ */
74
+ function mapNuanzeFundingRate(server) {
75
+ return {
76
+ productId: server.productId,
77
+ symbol: server.symbol,
78
+ ticker: server.ticker,
79
+ venue: server.venue,
80
+ ...mapNuanzeFundingObservation(server)
81
+ };
82
+ }
83
+ /**
84
+ * Maps a server-side `GET /funding/rates` response.
85
+ */
86
+ function mapNuanzeFundingRatesResponse(server) {
87
+ return {
88
+ rates: server.rates.map(mapNuanzeFundingRate),
89
+ asOf: server.asOf
90
+ };
91
+ }
92
+ function mapNuanzeFundamentalsKeyData(server) {
93
+ return {
94
+ dividendYield: mapNuanzeDecimal(server.dividendYield),
95
+ employees: server.employees,
96
+ enterpriseValue: mapNuanzeDecimal(server.enterpriseValue),
97
+ sharesOutstanding: mapNuanzeDecimal(server.sharesOutstanding),
98
+ beta: mapNuanzeDecimal(server.beta),
99
+ fiftyTwoWeekHigh: mapNuanzeDecimal(server.fiftyTwoWeekHigh),
100
+ fiftyTwoWeekLow: mapNuanzeDecimal(server.fiftyTwoWeekLow),
101
+ volume: mapNuanzeDecimal(server.volume),
102
+ averageVolume: mapNuanzeDecimal(server.averageVolume),
103
+ circulatingSupply: mapNuanzeDecimal(server.circulatingSupply),
104
+ totalSupply: mapNuanzeDecimal(server.totalSupply),
105
+ maxSupply: mapNuanzeDecimal(server.maxSupply),
106
+ fullyDilutedValuation: mapNuanzeDecimal(server.fullyDilutedValuation),
107
+ ath: mapNuanzeDecimal(server.ath),
108
+ atl: mapNuanzeDecimal(server.atl),
109
+ high24h: mapNuanzeDecimal(server.high24h),
110
+ low24h: mapNuanzeDecimal(server.low24h)
111
+ };
112
+ }
113
+ function mapNuanzeFundamentalsValuation(server) {
114
+ return {
115
+ trailingPE: mapNuanzeDecimal(server.trailingPE),
116
+ forwardPE: mapNuanzeDecimal(server.forwardPE),
117
+ priceToBook: mapNuanzeDecimal(server.priceToBook),
118
+ enterpriseToRevenue: mapNuanzeDecimal(server.enterpriseToRevenue),
119
+ enterpriseToEbitda: mapNuanzeDecimal(server.enterpriseToEbitda),
120
+ revenue: mapNuanzeDecimal(server.revenue),
121
+ profitMargins: mapNuanzeDecimal(server.profitMargins)
122
+ };
123
+ }
124
+ function mapNuanzeFundamentalsPerformance(server) {
125
+ return {
126
+ oneMonth: mapNuanzeDecimal(server.oneMonth),
127
+ threeMonth: mapNuanzeDecimal(server.threeMonth),
128
+ ytd: mapNuanzeDecimal(server.ytd),
129
+ oneYear: mapNuanzeDecimal(server.oneYear)
130
+ };
131
+ }
132
+ /**
133
+ * Maps a server-side fundamentals projection. Employee counts stay integers.
134
+ */
135
+ function mapNuanzeStockFundamentals(server) {
136
+ return {
137
+ productId: server.productId,
138
+ source: server.source,
139
+ quoteType: server.quoteType,
140
+ currency: server.currency,
141
+ name: server.name,
142
+ description: server.description,
143
+ sector: server.sector,
144
+ industry: server.industry,
145
+ website: server.website,
146
+ employees: server.employees,
147
+ marketCap: mapNuanzeDecimal(server.marketCap),
148
+ keyData: mapNuanzeFundamentalsKeyData(server.keyData),
149
+ valuation: mapNuanzeFundamentalsValuation(server.valuation),
150
+ performance: mapNuanzeFundamentalsPerformance(server.performance),
151
+ social: server.social,
152
+ updatedAt: server.updatedAt
153
+ };
154
+ }
155
+ /**
156
+ * Maps a server-side market detail to its client-side representation.
157
+ */
158
+ function mapNuanzeMarketDetail(server) {
159
+ return {
160
+ ...mapNuanzeMarket(server),
161
+ primaryProductId: server.primaryProductId,
162
+ availableVenues: server.availableVenues,
163
+ primaryVenue: server.primaryVenue,
164
+ funding: server.funding === null ? null : mapNuanzeFundingObservation(server.funding),
165
+ fundamentals: server.fundamentals === null ? null : mapNuanzeStockFundamentals(server.fundamentals),
166
+ news: server.news,
167
+ componentUpdatedAt: server.componentUpdatedAt
168
+ };
169
+ }
170
+ /**
171
+ * Maps a server-side `GET /markets/{ticker}` response.
172
+ */
173
+ function mapNuanzeMarketByTickerResponse(server) {
174
+ return mapNuanzeMarketDetail(server);
175
+ }
176
+ /**
177
+ * Maps a server-side leaderboard row.
178
+ */
179
+ function mapNuanzeLeaderboardItem(server) {
180
+ return {
181
+ rank: server.rank,
182
+ rankDelta: server.rankDelta,
183
+ address: server.address,
184
+ accountPnl: toBigNumber(server.accountPnl),
185
+ pnl24h: mapNuanzeDecimal(server.pnl24h),
186
+ pnl7d: mapNuanzeDecimal(server.pnl7d),
187
+ pnl30d: mapNuanzeDecimal(server.pnl30d),
188
+ pnlAll: toBigNumber(server.pnlAll),
189
+ wins: server.wins,
190
+ losses: server.losses,
191
+ winRate: mapNuanzeDecimal(server.winRate)
192
+ };
193
+ }
194
+ /**
195
+ * Maps a server-side `GET /leaderboard` response.
196
+ */
197
+ function mapNuanzeLeaderboardResponse(server) {
198
+ return {
199
+ timeframe: server.timeframe,
200
+ items: server.items.map(mapNuanzeLeaderboardItem),
201
+ limit: server.limit,
202
+ offset: server.offset,
203
+ total: server.total,
204
+ asOf: server.asOf
205
+ };
206
+ }
207
+ /**
208
+ * Maps a server-side followed-leaderboard row.
209
+ */
210
+ function mapNuanzeFollowedLeaderboardItem(server) {
211
+ return {
212
+ subaccountHex: server.subaccountHex,
213
+ pnl: mapNuanzeDecimal(server.pnl),
214
+ wins: server.wins,
215
+ losses: server.losses,
216
+ winRate: mapNuanzeDecimal(server.winRate),
217
+ trades: server.trades,
218
+ productIds: server.productIds,
219
+ productCount: server.productCount,
220
+ globalRank: server.globalRank
221
+ };
222
+ }
223
+ /**
224
+ * Maps a server-side `POST /wallets/leaderboard` response.
225
+ */
226
+ function mapNuanzeFollowedLeaderboardResponse(server) {
227
+ return {
228
+ timeframe: server.timeframe,
229
+ items: server.items.map(mapNuanzeFollowedLeaderboardItem),
230
+ count: server.count,
231
+ asOf: server.asOf
232
+ };
233
+ }
234
+ function mapNuanzePlatformDeltas(server) {
235
+ return {
236
+ volumePct: mapNuanzeDecimal(server.volumePct),
237
+ tradesPct: mapNuanzeDecimal(server.tradesPct),
238
+ tradersPct: mapNuanzeDecimal(server.tradersPct)
239
+ };
240
+ }
241
+ /**
242
+ * Maps a server-side `GET /platform/summary` response.
243
+ */
244
+ function mapNuanzePlatformSummaryResponse(server) {
245
+ return {
246
+ window: server.window,
247
+ volume24h: toBigNumber(server.volume24h),
248
+ trades24h: server.trades24h,
249
+ traders24h: server.traders24h,
250
+ windowVolume: toBigNumber(server.windowVolume),
251
+ windowTrades: server.windowTrades,
252
+ windowTraders: server.windowTraders,
253
+ deltas: mapNuanzePlatformDeltas(server.deltas),
254
+ asOf: server.asOf
255
+ };
256
+ }
257
+ /**
258
+ * Maps a server-side `GET /wallets/{address}` response.
259
+ */
260
+ function mapNuanzeWalletSummaryResponse(server) {
261
+ return {
262
+ address: server.address,
263
+ subaccountName: server.subaccountName,
264
+ subaccountCount: server.subaccountCount,
265
+ pnlWindow: server.pnlWindow,
266
+ accountPnl: toBigNumber(server.accountPnl),
267
+ windowPnl: toBigNumber(server.windowPnl),
268
+ equity: mapNuanzeDecimal(server.equity),
269
+ cumulativeVolume: toBigNumber(server.cumulativeVolume),
270
+ windowVolume: toBigNumber(server.windowVolume),
271
+ totalTrades: server.totalTrades,
272
+ wins: server.wins,
273
+ losses: server.losses,
274
+ winRate: mapNuanzeDecimal(server.winRate),
275
+ snapshotAt: server.snapshotAt,
276
+ coverage: server.coverage,
277
+ asOf: server.asOf
278
+ };
279
+ }
280
+ /**
281
+ * Maps a server-side wallet position snapshot.
282
+ */
283
+ function mapNuanzeWalletPosition(server) {
284
+ return {
285
+ subaccountName: server.subaccountName,
286
+ productId: server.productId,
287
+ symbol: server.symbol,
288
+ ticker: server.ticker,
289
+ venue: server.venue,
290
+ side: server.side,
291
+ isSpot: server.isSpot,
292
+ amount: toBigNumber(server.amount),
293
+ oraclePrice: toBigNumber(server.oraclePrice),
294
+ notional: toBigNumber(server.notional),
295
+ unrealizedPnl: toBigNumber(server.unrealizedPnl),
296
+ snapshotAt: server.snapshotAt
297
+ };
298
+ }
299
+ /**
300
+ * Maps a server-side `GET /wallets/{address}/positions` response.
301
+ */
302
+ function mapNuanzeWalletPositionsResponse(server) {
303
+ return {
304
+ address: server.address,
305
+ positions: server.positions.map(mapNuanzeWalletPosition),
306
+ count: server.count,
307
+ newestSnapshotAt: server.newestSnapshotAt,
308
+ oldestSnapshotAt: server.oldestSnapshotAt,
309
+ asOf: server.asOf
310
+ };
311
+ }
312
+ /**
313
+ * Maps a server-side market tape row.
314
+ */
315
+ function mapNuanzeMarketTrade(server) {
316
+ return {
317
+ id: server.id,
318
+ productId: server.productId,
319
+ symbol: server.symbol,
320
+ ticker: server.ticker,
321
+ venue: server.venue,
322
+ side: server.side,
323
+ price: toBigNumber(server.price),
324
+ amount: toBigNumber(server.amount),
325
+ notional: toBigNumber(server.notional),
326
+ matchedAt: server.matchedAt
327
+ };
328
+ }
329
+ /**
330
+ * Maps a server-side `GET /markets/{ticker}/trades` response.
331
+ */
332
+ function mapNuanzeMarketTradesResponse(server) {
333
+ return {
334
+ productId: server.productId,
335
+ symbol: server.symbol,
336
+ ticker: server.ticker,
337
+ venue: server.venue,
338
+ trades: server.trades.map(mapNuanzeMarketTrade),
339
+ nextCursor: server.nextCursor,
340
+ asOf: server.asOf
341
+ };
342
+ }
343
+ /**
344
+ * Maps a server-side candle.
345
+ */
346
+ function mapNuanzeCandle(server) {
347
+ return {
348
+ openTime: server.openTime,
349
+ open: toBigNumber(server.open),
350
+ high: toBigNumber(server.high),
351
+ low: toBigNumber(server.low),
352
+ close: toBigNumber(server.close),
353
+ volume: toBigNumber(server.volume),
354
+ complete: server.complete
355
+ };
356
+ }
357
+ /**
358
+ * Maps a server-side `GET /markets/{ticker}/candles` response.
359
+ */
360
+ function mapNuanzeMarketCandlesResponse(server) {
361
+ return {
362
+ productId: server.productId,
363
+ symbol: server.symbol,
364
+ ticker: server.ticker,
365
+ venue: server.venue,
366
+ interval: server.interval,
367
+ candles: server.candles.map(mapNuanzeCandle),
368
+ asOf: server.asOf
369
+ };
370
+ }
371
+ /**
372
+ * Maps a server-side wallet trade.
373
+ */
374
+ function mapNuanzeWalletTrade(server) {
375
+ return {
376
+ id: server.id,
377
+ subaccountName: server.subaccountName,
378
+ productId: server.productId,
379
+ symbol: server.symbol,
380
+ ticker: server.ticker,
381
+ venue: server.venue,
382
+ side: server.side,
383
+ isMaker: server.isMaker,
384
+ price: toBigNumber(server.price),
385
+ amount: toBigNumber(server.amount),
386
+ notional: toBigNumber(server.notional),
387
+ matchedAt: server.matchedAt
388
+ };
389
+ }
390
+ /**
391
+ * Maps a server-side `GET /wallets/{address}/trades` response.
392
+ */
393
+ function mapNuanzeWalletTradesResponse(server) {
394
+ return {
395
+ address: server.address,
396
+ trades: server.trades.map(mapNuanzeWalletTrade),
397
+ nextCursor: server.nextCursor,
398
+ asOf: server.asOf
399
+ };
400
+ }
401
+ /**
402
+ * Maps a server-side `GET /wallets/{address}/pnl` response.
403
+ */
404
+ function mapNuanzeWalletPnlResponse(server) {
405
+ return {
406
+ address: server.address,
407
+ subaccountName: server.subaccountName,
408
+ window: server.window,
409
+ windowStart: server.windowStart,
410
+ windowEnd: server.windowEnd,
411
+ openingAccountPnl: toBigNumber(server.openingAccountPnl),
412
+ latestAccountPnl: toBigNumber(server.latestAccountPnl),
413
+ windowPnl: toBigNumber(server.windowPnl),
414
+ openingEquity: mapNuanzeDecimal(server.openingEquity),
415
+ latestEquity: mapNuanzeDecimal(server.latestEquity),
416
+ volumeDelta: toBigNumber(server.volumeDelta),
417
+ sourceInterval: server.sourceInterval,
418
+ latestSnapshotAt: server.latestSnapshotAt,
419
+ coverage: server.coverage,
420
+ asOf: server.asOf
421
+ };
422
+ }
423
+ /**
424
+ * Maps a server-side series point.
425
+ */
426
+ function mapNuanzeSeriesPoint(server) {
427
+ return {
428
+ timestamp: server.timestamp,
429
+ value: mapNuanzeDecimal(server.value),
430
+ synthetic: server.synthetic,
431
+ provisional: server.provisional
432
+ };
433
+ }
434
+ /**
435
+ * Maps a server-side `GET /wallets/{address}/pnl/series` response.
436
+ */
437
+ function mapNuanzeWalletPnlSeriesResponse(server) {
438
+ return {
439
+ address: server.address,
440
+ subaccountName: server.subaccountName,
441
+ metric: server.metric,
442
+ window: server.window,
443
+ points: server.points.map(mapNuanzeSeriesPoint),
444
+ sourceInterval: server.sourceInterval,
445
+ coverage: server.coverage,
446
+ asOf: server.asOf
447
+ };
448
+ }
449
+ /**
450
+ * Maps a server-side collateral event.
451
+ */
452
+ function mapNuanzeCollateralFlow(server) {
453
+ return {
454
+ id: server.id,
455
+ eventType: server.eventType,
456
+ productId: server.productId,
457
+ symbol: server.symbol,
458
+ assetAmount: toBigNumber(server.assetAmount),
459
+ oraclePrice: mapNuanzeDecimal(server.oraclePrice),
460
+ usdValue: mapNuanzeDecimal(server.usdValue),
461
+ owner: server.owner,
462
+ subaccountName: server.subaccountName,
463
+ timestamp: server.timestamp,
464
+ tags: server.tags
465
+ };
466
+ }
467
+ /**
468
+ * Maps a server-side `GET /flows` response.
469
+ */
470
+ function mapNuanzeCollateralFlowsResponse(server) {
471
+ return {
472
+ events: server.events.map(mapNuanzeCollateralFlow),
473
+ nextCursor: server.nextCursor,
474
+ asOf: server.asOf
475
+ };
476
+ }
477
+ /**
478
+ * Maps a server-side `GET /flows/summary` response.
479
+ */
480
+ function mapNuanzeCollateralFlowSummaryResponse(server) {
481
+ return {
482
+ timeframe: server.timeframe,
483
+ deposited: toBigNumber(server.deposited),
484
+ withdrawn: toBigNumber(server.withdrawn),
485
+ net: toBigNumber(server.net),
486
+ gross: toBigNumber(server.gross),
487
+ depositCount: server.depositCount,
488
+ withdrawalCount: server.withdrawalCount,
489
+ valuedCount: server.valuedCount,
490
+ unvaluedCount: server.unvaluedCount,
491
+ priorNet: mapNuanzeDecimal(server.priorNet),
492
+ asOf: server.asOf
493
+ };
494
+ }
495
+ /**
496
+ * Maps a server-side collateral flow series point.
497
+ */
498
+ function mapNuanzeCollateralFlowPoint(server) {
499
+ return {
500
+ timestamp: server.timestamp,
501
+ deposited: toBigNumber(server.deposited),
502
+ withdrawn: toBigNumber(server.withdrawn),
503
+ net: toBigNumber(server.net),
504
+ cumulativeNet: toBigNumber(server.cumulativeNet),
505
+ eventCount: server.eventCount,
506
+ valuedCount: server.valuedCount,
507
+ unvaluedCount: server.unvaluedCount
508
+ };
509
+ }
510
+ /**
511
+ * Maps a server-side `GET /flows/series` response.
512
+ */
513
+ function mapNuanzeCollateralFlowSeriesResponse(server) {
514
+ return {
515
+ timeframe: server.timeframe,
516
+ bucket: server.bucket,
517
+ points: server.points.map(mapNuanzeCollateralFlowPoint),
518
+ asOf: server.asOf
519
+ };
520
+ }
521
+ function mapNuanzePositioningTotals(server) {
522
+ return {
523
+ longPositions: server.longPositions,
524
+ shortPositions: server.shortPositions,
525
+ longOwners: server.longOwners,
526
+ shortOwners: server.shortOwners,
527
+ netFlatOwners: server.netFlatOwners,
528
+ longNotional: mapNuanzeDecimal(server.longNotional),
529
+ shortNotional: mapNuanzeDecimal(server.shortNotional),
530
+ longPositionPct: mapNuanzeDecimal(server.longPositionPct),
531
+ shortPositionPct: mapNuanzeDecimal(server.shortPositionPct),
532
+ longShortRatio: mapNuanzeDecimal(server.longShortRatio)
533
+ };
534
+ }
535
+ function mapNuanzePositioningCellBase(server) {
536
+ return {
537
+ label: server.label,
538
+ side: server.side,
539
+ suppressed: server.suppressed,
540
+ suppressionThreshold: server.suppressionThreshold,
541
+ positions: server.positions,
542
+ owners: server.owners,
543
+ notional: mapNuanzeDecimal(server.notional),
544
+ averageNotional: mapNuanzeDecimal(server.averageNotional),
545
+ percentage: mapNuanzeDecimal(server.percentage)
546
+ };
547
+ }
548
+ function mapNuanzeMarketPositioningBase(server) {
549
+ return {
550
+ productId: server.productId,
551
+ symbol: server.symbol,
552
+ ticker: server.ticker,
553
+ venue: server.venue,
554
+ effectiveMinPositionUsd: server.effectiveMinPositionUsd,
555
+ suppressionThreshold: server.suppressionThreshold,
556
+ totals: mapNuanzePositioningTotals(server.totals),
557
+ newestSnapshotAt: server.newestSnapshotAt,
558
+ oldestSnapshotAt: server.oldestSnapshotAt,
559
+ asOf: server.asOf
560
+ };
561
+ }
562
+ /**
563
+ * Maps a server-side `GET /markets/{ticker}/positioning` response.
564
+ */
565
+ function mapNuanzeMarketPositioningResponse(server) {
566
+ const base = mapNuanzeMarketPositioningBase(server);
567
+ if (server.groupBy === "side") return {
568
+ ...base,
569
+ groupBy: "side",
570
+ cells: server.cells.map((cell) => ({
571
+ ...mapNuanzePositioningCellBase(cell),
572
+ key: cell.key
573
+ }))
574
+ };
575
+ if (server.groupBy === "cohort") return {
576
+ ...base,
577
+ groupBy: "cohort",
578
+ cells: server.cells.map((cell) => ({
579
+ ...mapNuanzePositioningCellBase(cell),
580
+ key: cell.key
581
+ }))
582
+ };
583
+ return {
584
+ ...base,
585
+ groupBy: "notionalBucket",
586
+ cells: server.cells.map((cell) => ({
587
+ ...mapNuanzePositioningCellBase(cell),
588
+ key: cell.key
589
+ }))
590
+ };
591
+ }
592
+ /**
593
+ * Maps a server-side market position leg.
594
+ */
595
+ function mapNuanzeMarketPosition(server) {
596
+ return {
597
+ subaccountOwner: server.subaccountOwner,
598
+ subaccountName: server.subaccountName,
599
+ symbol: server.symbol,
600
+ marginKind: server.marginKind,
601
+ side: server.side,
602
+ amount: toBigNumber(server.amount),
603
+ notional: toBigNumber(server.notional),
604
+ upnl: toBigNumber(server.upnl),
605
+ margin: mapNuanzeDecimal(server.margin),
606
+ entryPrice: mapNuanzeDecimal(server.entryPrice)
607
+ };
608
+ }
609
+ /**
610
+ * Maps a server-side `GET /markets/{ticker}/positions` response.
611
+ */
612
+ function mapNuanzeMarketPositionsResponse(server) {
613
+ return {
614
+ productId: server.productId,
615
+ symbol: server.symbol,
616
+ ticker: server.ticker,
617
+ venue: server.venue,
618
+ positions: server.positions.map(mapNuanzeMarketPosition),
619
+ nextCursor: server.nextCursor,
620
+ dataUpdatedAt: server.dataUpdatedAt,
621
+ asOf: server.asOf
622
+ };
623
+ }
624
+ /**
625
+ * Maps one server-side globally ranked open position leg.
626
+ */
627
+ function mapNuanzeOpenPosition(server) {
628
+ return {
629
+ productId: server.productId,
630
+ ticker: server.ticker,
631
+ venue: server.venue,
632
+ snapshotAt: server.snapshotAt,
633
+ ...mapNuanzeMarketPosition(server)
634
+ };
635
+ }
636
+ /**
637
+ * Maps a server-side `GET /positions` response.
638
+ */
639
+ function mapNuanzeOpenPositionsResponse(server) {
640
+ return {
641
+ positions: server.positions.map(mapNuanzeOpenPosition),
642
+ nextCursor: server.nextCursor,
643
+ dataUpdatedAt: server.dataUpdatedAt,
644
+ asOf: server.asOf
645
+ };
646
+ }
647
+ //#endregion
648
+ export { mapNuanzeCandle, mapNuanzeCollateralFlow, mapNuanzeCollateralFlowPoint, mapNuanzeCollateralFlowSeriesResponse, mapNuanzeCollateralFlowSummaryResponse, mapNuanzeCollateralFlowsResponse, mapNuanzeFollowedLeaderboardItem, mapNuanzeFollowedLeaderboardResponse, mapNuanzeFundingObservation, mapNuanzeFundingRate, mapNuanzeFundingRatesResponse, mapNuanzeLatestTicker, mapNuanzeLeaderboardItem, mapNuanzeLeaderboardResponse, mapNuanzeMarket, mapNuanzeMarketByTickerResponse, mapNuanzeMarketCandlesResponse, mapNuanzeMarketDetail, mapNuanzeMarketPosition, mapNuanzeMarketPositioningResponse, mapNuanzeMarketPositionsResponse, mapNuanzeMarketTrade, mapNuanzeMarketTradesResponse, mapNuanzeMarketsResponse, mapNuanzeNewsResponse, mapNuanzeOpenPosition, mapNuanzeOpenPositionsResponse, mapNuanzePlatformSummaryResponse, mapNuanzeSeriesPoint, mapNuanzeStockFundamentals, mapNuanzeWalletPnlResponse, mapNuanzeWalletPnlSeriesResponse, mapNuanzeWalletPosition, mapNuanzeWalletPositionsResponse, mapNuanzeWalletSummaryResponse, mapNuanzeWalletTrade, mapNuanzeWalletTradesResponse };
649
+
650
+ //# sourceMappingURL=dataMappers.js.map