tardis-machine 18.0.0 → 18.0.1

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 (208) hide show
  1. package/benchmark.js +35 -14
  2. package/bin/tardis-machine.js +0 -1
  3. package/dist/tardismachine.d.ts.map +1 -1
  4. package/dist/tardismachine.js +20 -55
  5. package/dist/tardismachine.js.map +1 -1
  6. package/dist/ws/replay.d.ts +2 -2
  7. package/dist/ws/replay.d.ts.map +1 -1
  8. package/dist/ws/replay.js +11 -5
  9. package/dist/ws/replay.js.map +1 -1
  10. package/dist/ws/replaynormalized.d.ts +2 -2
  11. package/dist/ws/replaynormalized.d.ts.map +1 -1
  12. package/dist/ws/replaynormalized.js +7 -5
  13. package/dist/ws/replaynormalized.js.map +1 -1
  14. package/dist/ws/server.d.ts +20 -0
  15. package/dist/ws/server.d.ts.map +1 -0
  16. package/dist/ws/server.js +154 -0
  17. package/dist/ws/server.js.map +1 -0
  18. package/dist/ws/streamnormalized.d.ts +2 -2
  19. package/dist/ws/streamnormalized.d.ts.map +1 -1
  20. package/dist/ws/streamnormalized.js +7 -5
  21. package/dist/ws/streamnormalized.js.map +1 -1
  22. package/dist/ws/subscriptionsmappers.d.ts +1 -1
  23. package/dist/ws/subscriptionsmappers.d.ts.map +1 -1
  24. package/node_modules/tardis-dev/README.md +1 -1
  25. package/node_modules/tardis-dev/dist/debug.d.ts +12 -2
  26. package/node_modules/tardis-dev/dist/debug.d.ts.map +1 -1
  27. package/node_modules/tardis-dev/dist/debug.js +2 -1
  28. package/node_modules/tardis-dev/dist/debug.js.map +1 -1
  29. package/node_modules/tardis-dev/dist/handy.d.ts +3 -1
  30. package/node_modules/tardis-dev/dist/handy.d.ts.map +1 -1
  31. package/node_modules/tardis-dev/dist/handy.js +72 -86
  32. package/node_modules/tardis-dev/dist/handy.js.map +1 -1
  33. package/node_modules/tardis-dev/dist/realtimefeeds/mexc.d.ts +0 -7
  34. package/node_modules/tardis-dev/dist/realtimefeeds/mexc.d.ts.map +1 -1
  35. package/node_modules/tardis-dev/dist/realtimefeeds/mexc.js +2 -70
  36. package/node_modules/tardis-dev/dist/realtimefeeds/mexc.js.map +1 -1
  37. package/node_modules/tardis-dev/dist/realtimefeeds/mexcprotobuf.d.ts +43 -0
  38. package/node_modules/tardis-dev/dist/realtimefeeds/mexcprotobuf.d.ts.map +1 -0
  39. package/node_modules/tardis-dev/dist/realtimefeeds/mexcprotobuf.js +294 -0
  40. package/node_modules/tardis-dev/dist/realtimefeeds/mexcprotobuf.js.map +1 -0
  41. package/node_modules/tardis-dev/dist/realtimefeeds/realtimefeed.d.ts +3 -3
  42. package/node_modules/tardis-dev/dist/realtimefeeds/realtimefeed.d.ts.map +1 -1
  43. package/node_modules/tardis-dev/dist/realtimefeeds/realtimefeed.js +3 -3
  44. package/node_modules/tardis-dev/dist/realtimefeeds/realtimefeed.js.map +1 -1
  45. package/node_modules/tardis-dev/dist/worker.js +2 -2
  46. package/node_modules/tardis-dev/dist/worker.js.map +1 -1
  47. package/node_modules/tardis-dev/package.json +3 -7
  48. package/node_modules/tardis-dev/src/debug.ts +16 -1
  49. package/node_modules/tardis-dev/src/external-modules.d.ts +5 -0
  50. package/node_modules/tardis-dev/src/handy.ts +93 -89
  51. package/node_modules/tardis-dev/src/realtimefeeds/mexc.ts +2 -72
  52. package/node_modules/tardis-dev/src/realtimefeeds/mexcprotobuf.ts +364 -0
  53. package/node_modules/tardis-dev/src/realtimefeeds/realtimefeed.ts +5 -5
  54. package/node_modules/tardis-dev/src/worker.ts +2 -2
  55. package/package.json +8 -34
  56. package/src/tardismachine.ts +25 -66
  57. package/src/ws/replay.ts +13 -8
  58. package/src/ws/replaynormalized.ts +8 -6
  59. package/src/ws/server.ts +173 -0
  60. package/src/ws/streamnormalized.ts +8 -6
  61. package/src/ws/subscriptionsmappers.ts +1 -1
  62. package/node_modules/follow-redirects/LICENSE +0 -18
  63. package/node_modules/follow-redirects/README.md +0 -157
  64. package/node_modules/follow-redirects/debug.js +0 -15
  65. package/node_modules/follow-redirects/http.js +0 -1
  66. package/node_modules/follow-redirects/https.js +0 -1
  67. package/node_modules/follow-redirects/index.js +0 -709
  68. package/node_modules/follow-redirects/package.json +0 -58
  69. package/node_modules/long/LICENSE +0 -202
  70. package/node_modules/long/README.md +0 -286
  71. package/node_modules/long/index.d.ts +0 -2
  72. package/node_modules/long/index.js +0 -1581
  73. package/node_modules/long/package.json +0 -58
  74. package/node_modules/long/types.d.ts +0 -474
  75. package/node_modules/long/umd/index.d.ts +0 -3
  76. package/node_modules/long/umd/index.js +0 -1622
  77. package/node_modules/long/umd/package.json +0 -3
  78. package/node_modules/long/umd/types.d.ts +0 -474
  79. package/node_modules/protobufjs/LICENSE +0 -39
  80. package/node_modules/protobufjs/README.md +0 -440
  81. package/node_modules/protobufjs/dist/light/protobuf.js +0 -9276
  82. package/node_modules/protobufjs/dist/light/protobuf.js.map +0 -1
  83. package/node_modules/protobufjs/dist/light/protobuf.min.js +0 -8
  84. package/node_modules/protobufjs/dist/light/protobuf.min.js.map +0 -1
  85. package/node_modules/protobufjs/dist/minimal/protobuf.js +0 -3556
  86. package/node_modules/protobufjs/dist/minimal/protobuf.js.map +0 -1
  87. package/node_modules/protobufjs/dist/minimal/protobuf.min.js +0 -8
  88. package/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +0 -1
  89. package/node_modules/protobufjs/dist/protobuf.js +0 -11233
  90. package/node_modules/protobufjs/dist/protobuf.js.map +0 -1
  91. package/node_modules/protobufjs/dist/protobuf.min.js +0 -8
  92. package/node_modules/protobufjs/dist/protobuf.min.js.map +0 -1
  93. package/node_modules/protobufjs/ext/README.md +0 -70
  94. package/node_modules/protobufjs/ext/debug/README.md +0 -4
  95. package/node_modules/protobufjs/ext/debug/index.js +0 -71
  96. package/node_modules/protobufjs/ext/descriptor/README.md +0 -5
  97. package/node_modules/protobufjs/ext/descriptor/index.d.ts +0 -2
  98. package/node_modules/protobufjs/ext/descriptor/index.js +0 -2
  99. package/node_modules/protobufjs/ext/descriptor.d.ts +0 -87
  100. package/node_modules/protobufjs/ext/descriptor.generated.d.ts +0 -417
  101. package/node_modules/protobufjs/ext/descriptor.js +0 -1356
  102. package/node_modules/protobufjs/ext/protojson.LICENSE +0 -201
  103. package/node_modules/protobufjs/ext/protojson.d.ts +0 -20
  104. package/node_modules/protobufjs/ext/protojson.generated.d.ts +0 -49
  105. package/node_modules/protobufjs/ext/protojson.js +0 -951
  106. package/node_modules/protobufjs/ext/textformat.d.ts +0 -19
  107. package/node_modules/protobufjs/ext/textformat.generated.d.ts +0 -33
  108. package/node_modules/protobufjs/ext/textformat.js +0 -1276
  109. package/node_modules/protobufjs/google/LICENSE +0 -27
  110. package/node_modules/protobufjs/google/README.md +0 -1
  111. package/node_modules/protobufjs/google/api/annotations.json +0 -85
  112. package/node_modules/protobufjs/google/api/annotations.proto +0 -11
  113. package/node_modules/protobufjs/google/api/http.json +0 -87
  114. package/node_modules/protobufjs/google/api/http.proto +0 -31
  115. package/node_modules/protobufjs/google/protobuf/api.json +0 -124
  116. package/node_modules/protobufjs/google/protobuf/api.proto +0 -34
  117. package/node_modules/protobufjs/google/protobuf/compiler/plugin.json +0 -126
  118. package/node_modules/protobufjs/google/protobuf/compiler/plugin.proto +0 -47
  119. package/node_modules/protobufjs/google/protobuf/descriptor.json +0 -1465
  120. package/node_modules/protobufjs/google/protobuf/descriptor.proto +0 -527
  121. package/node_modules/protobufjs/google/protobuf/source_context.json +0 -21
  122. package/node_modules/protobufjs/google/protobuf/source_context.proto +0 -7
  123. package/node_modules/protobufjs/google/protobuf/type.json +0 -209
  124. package/node_modules/protobufjs/google/protobuf/type.proto +0 -89
  125. package/node_modules/protobufjs/index.d.ts +0 -3203
  126. package/node_modules/protobufjs/index.js +0 -4
  127. package/node_modules/protobufjs/light.d.ts +0 -2
  128. package/node_modules/protobufjs/light.js +0 -4
  129. package/node_modules/protobufjs/minimal.d.ts +0 -2
  130. package/node_modules/protobufjs/minimal.js +0 -4
  131. package/node_modules/protobufjs/package.json +0 -93
  132. package/node_modules/protobufjs/src/common.js +0 -405
  133. package/node_modules/protobufjs/src/converter.js +0 -352
  134. package/node_modules/protobufjs/src/decoder.js +0 -279
  135. package/node_modules/protobufjs/src/encoder.js +0 -123
  136. package/node_modules/protobufjs/src/enum.js +0 -239
  137. package/node_modules/protobufjs/src/field.js +0 -505
  138. package/node_modules/protobufjs/src/index-light.js +0 -104
  139. package/node_modules/protobufjs/src/index-minimal.js +0 -35
  140. package/node_modules/protobufjs/src/index.js +0 -12
  141. package/node_modules/protobufjs/src/mapfield.js +0 -144
  142. package/node_modules/protobufjs/src/message.js +0 -137
  143. package/node_modules/protobufjs/src/method.js +0 -183
  144. package/node_modules/protobufjs/src/namespace.js +0 -574
  145. package/node_modules/protobufjs/src/object.js +0 -392
  146. package/node_modules/protobufjs/src/oneof.js +0 -233
  147. package/node_modules/protobufjs/src/parse.js +0 -1111
  148. package/node_modules/protobufjs/src/reader.js +0 -788
  149. package/node_modules/protobufjs/src/reader_buffer.js +0 -77
  150. package/node_modules/protobufjs/src/root.js +0 -424
  151. package/node_modules/protobufjs/src/roots.js +0 -18
  152. package/node_modules/protobufjs/src/rpc/service.js +0 -155
  153. package/node_modules/protobufjs/src/rpc.js +0 -36
  154. package/node_modules/protobufjs/src/service.js +0 -206
  155. package/node_modules/protobufjs/src/tokenize.js +0 -421
  156. package/node_modules/protobufjs/src/type.js +0 -676
  157. package/node_modules/protobufjs/src/types.js +0 -196
  158. package/node_modules/protobufjs/src/typescript.js +0 -25
  159. package/node_modules/protobufjs/src/util/aspromise.d.ts +0 -13
  160. package/node_modules/protobufjs/src/util/aspromise.js +0 -52
  161. package/node_modules/protobufjs/src/util/base64.d.ts +0 -32
  162. package/node_modules/protobufjs/src/util/base64.js +0 -146
  163. package/node_modules/protobufjs/src/util/codegen.d.ts +0 -31
  164. package/node_modules/protobufjs/src/util/codegen.js +0 -118
  165. package/node_modules/protobufjs/src/util/eventemitter.d.ts +0 -45
  166. package/node_modules/protobufjs/src/util/eventemitter.js +0 -86
  167. package/node_modules/protobufjs/src/util/fetch.d.ts +0 -56
  168. package/node_modules/protobufjs/src/util/fetch.js +0 -112
  169. package/node_modules/protobufjs/src/util/float.d.ts +0 -83
  170. package/node_modules/protobufjs/src/util/float.js +0 -335
  171. package/node_modules/protobufjs/src/util/fs.js +0 -11
  172. package/node_modules/protobufjs/src/util/longbits.js +0 -204
  173. package/node_modules/protobufjs/src/util/minimal.js +0 -511
  174. package/node_modules/protobufjs/src/util/path.d.ts +0 -22
  175. package/node_modules/protobufjs/src/util/path.js +0 -100
  176. package/node_modules/protobufjs/src/util/patterns.js +0 -7
  177. package/node_modules/protobufjs/src/util/pool.d.ts +0 -32
  178. package/node_modules/protobufjs/src/util/pool.js +0 -48
  179. package/node_modules/protobufjs/src/util/utf8.d.ts +0 -24
  180. package/node_modules/protobufjs/src/util/utf8.js +0 -190
  181. package/node_modules/protobufjs/src/util.js +0 -264
  182. package/node_modules/protobufjs/src/verifier.js +0 -185
  183. package/node_modules/protobufjs/src/wrappers.js +0 -106
  184. package/node_modules/protobufjs/src/writer.js +0 -700
  185. package/node_modules/protobufjs/src/writer_buffer.js +0 -100
  186. package/node_modules/protobufjs/tsconfig.json +0 -6
  187. package/node_modules/uWebSockets.js/ESM_wrapper.mjs +0 -53
  188. package/node_modules/uWebSockets.js/LICENSE +0 -201
  189. package/node_modules/uWebSockets.js/README.md +0 -6
  190. package/node_modules/uWebSockets.js/index.d.ts +0 -468
  191. package/node_modules/uWebSockets.js/package.json +0 -12
  192. package/node_modules/uWebSockets.js/source_commit +0 -1
  193. package/node_modules/uWebSockets.js/uws.js +0 -76
  194. package/node_modules/uWebSockets.js/uws_darwin_arm64_127.node +0 -0
  195. package/node_modules/uWebSockets.js/uws_darwin_arm64_137.node +0 -0
  196. package/node_modules/uWebSockets.js/uws_darwin_arm64_147.node +0 -0
  197. package/node_modules/uWebSockets.js/uws_darwin_x64_127.node +0 -0
  198. package/node_modules/uWebSockets.js/uws_darwin_x64_137.node +0 -0
  199. package/node_modules/uWebSockets.js/uws_darwin_x64_147.node +0 -0
  200. package/node_modules/uWebSockets.js/uws_linux_arm64_127.node +0 -0
  201. package/node_modules/uWebSockets.js/uws_linux_arm64_137.node +0 -0
  202. package/node_modules/uWebSockets.js/uws_linux_arm64_147.node +0 -0
  203. package/node_modules/uWebSockets.js/uws_linux_x64_127.node +0 -0
  204. package/node_modules/uWebSockets.js/uws_linux_x64_137.node +0 -0
  205. package/node_modules/uWebSockets.js/uws_linux_x64_147.node +0 -0
  206. package/node_modules/uWebSockets.js/uws_win32_x64_127.node +0 -0
  207. package/node_modules/uWebSockets.js/uws_win32_x64_137.node +0 -0
  208. package/node_modules/uWebSockets.js/uws_win32_x64_147.node +0 -0
@@ -2,11 +2,11 @@ import { decode } from 'node:querystring';
2
2
  import { combine, compute, streamNormalized } from 'tardis-dev';
3
3
  import { debug } from "../debug.js";
4
4
  import { constructDataTypeFilter, getComputables, getNormalizers, wait } from "../helpers.js";
5
- export async function streamNormalizedWS(ws, req) {
5
+ export async function streamNormalizedWS(ws, query) {
6
6
  let messages;
7
7
  try {
8
8
  const startTimestamp = new Date().getTime();
9
- const parsedQuery = decode(req.getQuery());
9
+ const parsedQuery = decode(query);
10
10
  const optionsString = parsedQuery['options'];
11
11
  const streamNormalizedOptions = JSON.parse(optionsString);
12
12
  debug('WebSocket /ws-stream-normalized started, options: %o', streamNormalizedOptions);
@@ -61,7 +61,7 @@ export async function streamNormalizedWS(ws, req) {
61
61
  retries = 0;
62
62
  bufferedAmount = 0;
63
63
  // handle backpressure in case of slow clients
64
- while ((bufferedAmount = ws.getBufferedAmount()) > 0) {
64
+ while (!ws.closed && (bufferedAmount = ws.getBufferedAmount()) > 0) {
65
65
  retries += 1;
66
66
  const isState = new Date().valueOf() - message.localTimestamp.valueOf() >= 6;
67
67
  // log stale messages, stale meaning message was not sent in 6 ms or more (2 retries)
@@ -74,12 +74,14 @@ export async function streamNormalizedWS(ws, req) {
74
74
  }
75
75
  await wait(3 * retries);
76
76
  }
77
+ if (ws.closed)
78
+ return;
77
79
  ws.send(JSON.stringify(message));
78
80
  if (message.type !== 'disconnect') {
79
81
  subSequentErrorsCount[exchange] = 0;
80
82
  }
81
83
  }
82
- while (ws.getBufferedAmount() > 0) {
84
+ while (!ws.closed && ws.getBufferedAmount() > 0) {
83
85
  await wait(100);
84
86
  }
85
87
  ws.end(1000, 'WS stream-normalized finished');
@@ -96,7 +98,7 @@ export async function streamNormalizedWS(ws, req) {
96
98
  finally {
97
99
  // this will close underlying open WS connections
98
100
  if (messages !== undefined) {
99
- messages.return();
101
+ await messages.return?.();
100
102
  }
101
103
  }
102
104
  }
@@ -1 +1 @@
1
- {"version":3,"file":"streamnormalized.js","sourceRoot":"","sources":["../../src/ws/streamnormalized.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streamnormalized.js","sourceRoot":"","sources":["../../src/ws/streamnormalized.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Exchange, Filter } from 'tardis-dev';
1
+ import type { Exchange, Filter } from 'tardis-dev';
2
2
  export declare const subscriptionsMappers: Record<Exchange, SubscriptionMapper>;
3
3
  export type SubscriptionMapper = {
4
4
  canHandle: (message: object, date: Date) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"subscriptionsmappers.d.ts","sourceRoot":"","sources":["../../src/ws/subscriptionsmappers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAyxB7C,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,QAAQ,EAAE,kBAAkB,CA+DrE,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,OAAO,CAAA;IACnD,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,CAAA;CACvD,CAAA"}
1
+ {"version":3,"file":"subscriptionsmappers.d.ts","sourceRoot":"","sources":["../../src/ws/subscriptionsmappers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAyxBlD,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,QAAQ,EAAE,kBAAkB,CA+DrE,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,OAAO,CAAA;IACnD,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,CAAA;CACvD,CAAA"}
@@ -87,7 +87,7 @@ for await (const message of messages) {
87
87
 
88
88
  ## Installation
89
89
 
90
- Requires Node.js v24.5+ installed.
90
+ Requires Node.js v24.19+ installed.
91
91
 
92
92
  ```bash
93
93
  npm install tardis-dev --save
@@ -1,3 +1,13 @@
1
- import dbg from 'debug';
2
- export declare const debug: dbg.Debugger;
1
+ export interface DebugLogger {
2
+ (formatter: any, ...args: any[]): void;
3
+ color: string;
4
+ diff: number;
5
+ enabled: boolean;
6
+ log: (...args: any[]) => any;
7
+ namespace: string;
8
+ destroy: () => boolean;
9
+ extend: (namespace: string, delimiter?: string) => DebugLogger;
10
+ }
11
+ export declare const createDebug: (namespace: string) => DebugLogger;
12
+ export declare const debug: DebugLogger;
3
13
  //# sourceMappingURL=debug.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,OAAO,CAAA;AAEvB,eAAO,MAAM,KAAK,cAAoB,CAAA"}
1
+ {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,WAAW;IAC1B,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IACtC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,OAAO,CAAA;IACtB,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,WAAW,CAAA;CAC/D;AAED,eAAO,MAAM,WAAW,EAAU,CAAC,SAAS,EAAE,MAAM,KAAK,WAAW,CAAA;AACpE,eAAO,MAAM,KAAK,aAA4B,CAAA"}
@@ -1,3 +1,4 @@
1
1
  import dbg from 'debug';
2
- export const debug = dbg('tardis-dev');
2
+ export const createDebug = dbg;
3
+ export const debug = createDebug('tardis-dev');
3
4
  //# sourceMappingURL=debug.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,OAAO,CAAA;AAEvB,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,CAAA"}
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,OAAO,CAAA;AAgBvB,MAAM,CAAC,MAAM,WAAW,GAAG,GAAyC,CAAA;AACpE,MAAM,CAAC,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,CAAA"}
@@ -55,7 +55,9 @@ export declare function download({ apiKey, downloadPath, url, userAgent, appendC
55
55
  acceptEncoding?: string;
56
56
  }): Promise<{
57
57
  downloadPath: string;
58
- headers: Record<string, string>;
58
+ headers: {
59
+ [k: string]: string;
60
+ };
59
61
  }>;
60
62
  export declare function cleanTempFiles(): void;
61
63
  export declare class CircularBuffer<T> {
@@ -1 +1 @@
1
- {"version":3,"file":"handy.d.ts","sourceRoot":"","sources":["../src/handy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handy.d.ts","sourceRoot":"","sources":["../src/handy.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,11 @@
1
1
  import crypto, { createHash } from 'crypto';
2
2
  import { createWriteStream, mkdirSync, rmSync } from 'node:fs';
3
3
  import { rename } from 'node:fs/promises';
4
- import { Agent as HttpAgent } from 'node:http';
5
- import { Agent as HttpsAgent } from 'node:https';
6
- import followRedirects from 'follow-redirects';
4
+ import { Agent as HttpAgent, request as httpRequest } from 'node:http';
5
+ import { Agent as HttpsAgent, request as httpsRequest } from 'node:https';
6
+ import { pipeline } from 'node:stream/promises';
7
7
  import path from 'path';
8
8
  import { debug } from "./debug.js";
9
- const { http: followRedirectsHttp, https: followRedirectsHttps } = followRedirects;
10
9
  export function parseAsUTCDate(val) {
11
10
  // Treat date-only and minute-level strings as UTC instead of local time.
12
11
  if (val.endsWith('Z') === false) {
@@ -347,36 +346,57 @@ async function requestViaFetch(method, url, options) {
347
346
  }
348
347
  }
349
348
  }
350
- async function requestViaProxy(method, url, options) {
351
- const requestClient = new URL(url).protocol === 'http:' ? followRedirectsHttp : followRedirectsHttps;
352
- const preparedRequest = prepareRequest(method, options);
353
- return await new Promise((resolve, reject) => {
354
- const request = requestClient
355
- .request(url, {
356
- method,
357
- agent: getProxyAgent(url),
358
- headers: preparedRequest.headers,
359
- timeout: options.timeout
360
- }, (response) => {
361
- response.setEncoding('utf8');
362
- let body = '';
363
- response.on('error', reject);
364
- response.on('data', (chunk) => (body += chunk));
365
- response.on('end', () => {
366
- resolve(createHttpResponse(response.statusCode ?? 0, parseNodeResponseHeaders(response.headers), body));
367
- });
368
- })
369
- .on('error', reject)
370
- .on('timeout', () => {
371
- reject(new Error('Request timed out'));
372
- request.destroy();
373
- });
374
- if (preparedRequest.body !== undefined) {
375
- request.write(preparedRequest.body);
349
+ function sendHttpRequest(url, options, body) {
350
+ const requestUrl = new URL(url);
351
+ const requestClient = requestUrl.protocol === 'http:' ? httpRequest : httpsRequest;
352
+ const agent = getProxyAgent(requestUrl) ?? (requestUrl.protocol === 'https:' ? httpsAgent : undefined);
353
+ return new Promise((resolve, reject) => {
354
+ const request = requestClient(requestUrl, { ...options, agent }, resolve);
355
+ request.once('error', reject);
356
+ request.once('timeout', () => request.destroy(new Error('Request timed out')));
357
+ if (body !== undefined) {
358
+ request.write(body);
376
359
  }
377
360
  request.end();
378
361
  });
379
362
  }
363
+ async function openDownloadResponse(url, options) {
364
+ const response = await sendHttpRequest(url, options);
365
+ const statusCode = response.statusCode ?? 0;
366
+ const location = response.headers.location;
367
+ if (location === undefined || statusCode < 300 || statusCode >= 400) {
368
+ return response;
369
+ }
370
+ response.destroy();
371
+ const sourceUrl = new URL(url);
372
+ const redirectUrl = new URL(location, sourceUrl);
373
+ const headers = { ...options.headers };
374
+ if (sourceUrl.origin !== redirectUrl.origin) {
375
+ delete headers.Authorization;
376
+ delete headers.authorization;
377
+ }
378
+ return sendHttpRequest(redirectUrl, {
379
+ ...options,
380
+ headers
381
+ });
382
+ }
383
+ async function readResponseText(response) {
384
+ response.setEncoding('utf8');
385
+ let body = '';
386
+ for await (const chunk of response) {
387
+ body += chunk;
388
+ }
389
+ return body;
390
+ }
391
+ async function requestViaProxy(method, url, options) {
392
+ const preparedRequest = prepareRequest(method, options);
393
+ const response = await sendHttpRequest(url, {
394
+ method,
395
+ headers: preparedRequest.headers,
396
+ timeout: options.timeout
397
+ }, preparedRequest.body);
398
+ return createHttpResponse(response.statusCode ?? 0, parseNodeResponseHeaders(response.headers), await readResponseText(response));
399
+ }
380
400
  async function request(method, url, options = {}) {
381
401
  const retrySettings = getRetrySettings(method, options.retry);
382
402
  for (let attempt = 1;; attempt += 1) {
@@ -489,62 +509,28 @@ async function _downloadFile(requestOptions, url, downloadPath, appendContentEnc
489
509
  let finalDownloadPath = downloadPath;
490
510
  try {
491
511
  // based on https://github.com/nodejs/node/issues/28172 - only reliable way to consume response stream and avoiding all the 'gotchas'
492
- let responseHeaders = {};
493
- await new Promise((resolve, reject) => {
494
- const protocol = new URL(url).protocol;
495
- const requestClient = protocol === 'http:' ? followRedirectsHttp : followRedirectsHttps;
496
- const agent = getProxyAgent(url) ?? (protocol === 'https:' ? httpsAgent : undefined);
497
- const req = requestClient
498
- .get(url, { ...requestOptions, agent }, (res) => {
499
- const { statusCode } = res;
500
- if (statusCode !== 200) {
501
- // read the error response text and throw it as an HttpError
502
- res.setEncoding('utf8');
503
- let body = '';
504
- res.on('error', reject);
505
- res.on('data', (chunk) => (body += chunk));
506
- res.on('end', () => {
507
- reject(new HttpError(statusCode, body, url));
508
- });
509
- }
510
- else {
511
- responseHeaders = parseNodeResponseHeaders(res.headers);
512
- if (appendContentEncodingExtension) {
513
- const contentEncoding = asSingleHeaderValue(res.headers['content-encoding']);
514
- if (contentEncoding === 'zstd') {
515
- finalDownloadPath = `${downloadPath}.zst`;
516
- }
517
- else if (contentEncoding === undefined || contentEncoding === 'gzip') {
518
- finalDownloadPath = `${downloadPath}.gz`;
519
- }
520
- else {
521
- reject(new Error(`Unsupported data feed content encoding: ${contentEncoding}`));
522
- return;
523
- }
524
- }
525
- // consume the response stream by writing it to the file
526
- res
527
- .on('error', reject)
528
- .on('aborted', () => reject(new Error('Request aborted')))
529
- .pipe(fileWriteStream)
530
- .on('error', reject)
531
- .on('finish', () => {
532
- if (res.complete) {
533
- resolve();
534
- }
535
- else {
536
- reject(new Error('The connection was terminated while the message was still being sent'));
537
- }
538
- });
539
- }
540
- })
541
- .on('error', reject)
542
- .on('timeout', () => {
543
- debug('download file request timeout, %s', url);
544
- reject(new Error('Request timed out'));
545
- req.destroy();
546
- });
547
- });
512
+ const response = await openDownloadResponse(url, requestOptions);
513
+ const { statusCode } = response;
514
+ if (statusCode !== 200) {
515
+ throw new HttpError(statusCode ?? 0, await readResponseText(response), url);
516
+ }
517
+ const responseHeaders = parseNodeResponseHeaders(response.headers);
518
+ if (appendContentEncodingExtension) {
519
+ const contentEncoding = asSingleHeaderValue(response.headers['content-encoding']);
520
+ if (contentEncoding === 'zstd') {
521
+ finalDownloadPath = `${downloadPath}.zst`;
522
+ }
523
+ else if (contentEncoding === undefined || contentEncoding === 'gzip') {
524
+ finalDownloadPath = `${downloadPath}.gz`;
525
+ }
526
+ else {
527
+ throw new Error(`Unsupported data feed content encoding: ${contentEncoding}`);
528
+ }
529
+ }
530
+ await pipeline(response, fileWriteStream);
531
+ if (!response.complete) {
532
+ throw new Error('The connection was terminated while the message was still being sent');
533
+ }
548
534
  // finally when saving from the network to file has succeded, rename tmp file to normal name
549
535
  // then we're sure that responses is 100% saved and also even if different process was doing the same we're good
550
536
  await rename(tmpFilePath, finalDownloadPath);
@@ -1 +1 @@
1
- {"version":3,"file":"handy.js","sourceRoot":"","sources":["../src/handy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handy.js","sourceRoot":"","sources":["../src/handy.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,6 @@ export declare class MexcRealTimeFeed extends RealTimeFeedBase {
4
4
  private static readonly depthChannel;
5
5
  private static readonly depthSnapshotChannel;
6
6
  private static readonly jsonObjectStart;
7
- private static pushDataV3ApiWrapper;
8
- /**
9
- * MEXC protobuf docs at @see https://www.mexc.com/api-docs/spot-v3/websocket-market-streams/protocol-buffers-integration
10
- * and schemas from @see https://github.com/mexcdevelop/websocket-proto, mirrored in tardis-recorder/datafeeds/src/mexc/proto.
11
- */
12
- private static readonly pushDataV3ApiWrapperSchema;
13
7
  private readonly pendingDepthSnapshotSymbols;
14
8
  private readonly bufferedDepthUpdates;
15
9
  protected readonly wssURL = "wss://wbs-api.mexc.com/ws";
@@ -22,7 +16,6 @@ export declare class MexcRealTimeFeed extends RealTimeFeedBase {
22
16
  protected onMessage(message: any): void;
23
17
  protected provideManualSnapshots(filters: Filter<string>[], shouldCancel: () => boolean): Promise<void>;
24
18
  protected sendCustomPing: () => void;
25
- private getPushDataV3ApiWrapper;
26
19
  private resetDepthSnapshotTracking;
27
20
  private validateDepthSnapshotFilters;
28
21
  private provideManualSnapshot;
@@ -1 +1 @@
1
- {"version":3,"file":"mexc.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/mexc.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,qBAAa,gBAAiB,SAAQ,gBAAgB;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAA2C;IAC/E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAoD;IAChG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAoB;IAC3D,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAA2B;IAC9D;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAoDjD;IAED,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAoB;IAChE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAyD;IAC9F,SAAS,CAAC,QAAQ,CAAC,MAAM,+BAA8B;IACvD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAyB;IAC3D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAKvB;cAEiB,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE;cA6BxD,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG,GAAG;cAcnD,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;cAIrC,kBAAkB,CAAC,OAAO,EAAE,GAAG;cAI/B,SAAS,CAAC,OAAO,EAAE,GAAG;cAoBhB,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,OAAO;IAetG,SAAS,CAAC,cAAc,aAEvB;IAED,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,0BAA0B;IAalC,OAAO,CAAC,4BAA4B;YAsBtB,qBAAqB;YA4CrB,sBAAsB;IAcpC,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,oBAAoB;CAa7B"}
1
+ {"version":3,"file":"mexc.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/mexc.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAGpD,qBAAa,gBAAiB,SAAQ,gBAAgB;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAA2C;IAC/E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAoD;IAChG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAoB;IAE3D,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAoB;IAChE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAyD;IAC9F,SAAS,CAAC,QAAQ,CAAC,MAAM,+BAA8B;IACvD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAyB;IAC3D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAKvB;cAEiB,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE;cA6BxD,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG,GAAG;cAUnD,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;cAIrC,kBAAkB,CAAC,OAAO,EAAE,GAAG;cAI/B,SAAS,CAAC,OAAO,EAAE,GAAG;cAoBhB,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,OAAO;IAetG,SAAS,CAAC,cAAc,aAEvB;IAED,OAAO,CAAC,0BAA0B;IAalC,OAAO,CAAC,4BAA4B;YAsBtB,qBAAqB;YA4CrB,sBAAsB;IAcpC,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,oBAAoB;CAa7B"}
@@ -1,68 +1,10 @@
1
- import protobuf from 'protobufjs';
2
1
  import { CircularBuffer, getJSON, wait } from "../handy.js";
3
2
  import { RealTimeFeedBase } from "./realtimefeed.js";
3
+ import { decodeMexcProtobufMessage } from "./mexcprotobuf.js";
4
4
  export class MexcRealTimeFeed extends RealTimeFeedBase {
5
5
  static depthChannel = 'spot@public.aggre.depth.v3.api.pb@10ms';
6
6
  static depthSnapshotChannel = 'spot@public.aggre.depth.snapshot.v3.api.pb@10ms';
7
7
  static jsonObjectStart = '{'.charCodeAt(0);
8
- static pushDataV3ApiWrapper;
9
- /**
10
- * MEXC protobuf docs at @see https://www.mexc.com/api-docs/spot-v3/websocket-market-streams/protocol-buffers-integration
11
- * and schemas from @see https://github.com/mexcdevelop/websocket-proto, mirrored in tardis-recorder/datafeeds/src/mexc/proto.
12
- */
13
- static pushDataV3ApiWrapperSchema = `
14
- syntax = "proto3";
15
-
16
- message PushDataV3ApiWrapper {
17
- string channel = 1;
18
- oneof body {
19
- PublicAggreDepthsV3Api publicAggreDepths = 313;
20
- PublicAggreDealsV3Api publicAggreDeals = 314;
21
- PublicAggreBookTickerV3Api publicAggreBookTicker = 315;
22
- }
23
-
24
- optional string symbol = 3;
25
- optional string symbolId = 4;
26
- optional int64 createTime = 5;
27
- optional int64 sendTime = 6;
28
- }
29
-
30
- message PublicAggreDealsV3Api {
31
- repeated PublicAggreDealsV3ApiItem deals = 1;
32
- string eventType = 2;
33
- }
34
-
35
- message PublicAggreDealsV3ApiItem {
36
- string price = 1;
37
- string quantity = 2;
38
- int32 tradeType = 3;
39
- int64 time = 4;
40
- string tradeId = 5;
41
- }
42
-
43
- message PublicAggreDepthsV3Api {
44
- repeated PublicAggreDepthV3ApiItem asks = 1;
45
- repeated PublicAggreDepthV3ApiItem bids = 2;
46
- string eventType = 3;
47
- string fromVersion = 4;
48
- string toVersion = 5;
49
- int64 lastOrderCreateTime = 6;
50
- }
51
-
52
- message PublicAggreDepthV3ApiItem {
53
- string price = 1;
54
- string quantity = 2;
55
- }
56
-
57
- message PublicAggreBookTickerV3Api {
58
- string bidPrice = 1;
59
- string bidQuantity = 2;
60
- string askPrice = 3;
61
- string askQuantity = 4;
62
- string version = 5;
63
- int64 lastOrderCreateTime = 6;
64
- }
65
- `;
66
8
  pendingDepthSnapshotSymbols = new Set();
67
9
  bufferedDepthUpdates = new Map();
68
10
  wssURL = 'wss://wbs-api.mexc.com/ws';
@@ -100,11 +42,7 @@ export class MexcRealTimeFeed extends RealTimeFeedBase {
100
42
  if (buffer.length > 0 && buffer[0] === MexcRealTimeFeed.jsonObjectStart) {
101
43
  return JSON.parse(buffer.toString());
102
44
  }
103
- const pushDataV3ApiWrapper = this.getPushDataV3ApiWrapper();
104
- return pushDataV3ApiWrapper.toObject(pushDataV3ApiWrapper.decode(buffer), {
105
- longs: String,
106
- arrays: true
107
- });
45
+ return decodeMexcProtobufMessage(buffer);
108
46
  }
109
47
  messageIsError(message) {
110
48
  return message.code !== undefined && message.code !== 0;
@@ -141,12 +79,6 @@ export class MexcRealTimeFeed extends RealTimeFeedBase {
141
79
  sendCustomPing = () => {
142
80
  this.send({ method: 'PING' });
143
81
  };
144
- getPushDataV3ApiWrapper() {
145
- MexcRealTimeFeed.pushDataV3ApiWrapper ??= protobuf
146
- .parse(MexcRealTimeFeed.pushDataV3ApiWrapperSchema)
147
- .root.lookupType('PushDataV3ApiWrapper');
148
- return MexcRealTimeFeed.pushDataV3ApiWrapper;
149
- }
150
82
  resetDepthSnapshotTracking(filters) {
151
83
  this.pendingDepthSnapshotSymbols.clear();
152
84
  this.bufferedDepthUpdates.clear();