tardis-machine 14.3.1 → 15.1.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 (59) hide show
  1. package/README.md +5 -5
  2. package/benchmark.js +3 -0
  3. package/bin/tardis-machine.js +10 -8
  4. package/dist/debug.js +2 -8
  5. package/dist/debug.js.map +1 -1
  6. package/dist/helpers.js +15 -22
  7. package/dist/helpers.js.map +1 -1
  8. package/dist/http/healthCheck.d.ts +1 -1
  9. package/dist/http/healthCheck.d.ts.map +1 -1
  10. package/dist/http/healthCheck.js +1 -5
  11. package/dist/http/healthCheck.js.map +1 -1
  12. package/dist/http/index.d.ts +3 -3
  13. package/dist/http/index.d.ts.map +1 -1
  14. package/dist/http/index.js +3 -19
  15. package/dist/http/index.js.map +1 -1
  16. package/dist/http/replay.d.ts +1 -1
  17. package/dist/http/replay.d.ts.map +1 -1
  18. package/dist/http/replay.js +11 -19
  19. package/dist/http/replay.js.map +1 -1
  20. package/dist/http/replaynormalized.d.ts +1 -1
  21. package/dist/http/replaynormalized.d.ts.map +1 -1
  22. package/dist/http/replaynormalized.js +16 -24
  23. package/dist/http/replaynormalized.js.map +1 -1
  24. package/dist/index.d.ts +1 -1
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +1 -5
  27. package/dist/index.js.map +1 -1
  28. package/dist/tardismachine.d.ts.map +1 -1
  29. package/dist/tardismachine.js +25 -30
  30. package/dist/tardismachine.js.map +1 -1
  31. package/dist/ws/index.d.ts +3 -3
  32. package/dist/ws/index.d.ts.map +1 -1
  33. package/dist/ws/index.js +3 -19
  34. package/dist/ws/index.js.map +1 -1
  35. package/dist/ws/replay.d.ts +1 -1
  36. package/dist/ws/replay.d.ts.map +1 -1
  37. package/dist/ws/replay.js +26 -32
  38. package/dist/ws/replay.js.map +1 -1
  39. package/dist/ws/replaynormalized.d.ts +1 -1
  40. package/dist/ws/replaynormalized.d.ts.map +1 -1
  41. package/dist/ws/replaynormalized.js +16 -22
  42. package/dist/ws/replaynormalized.js.map +1 -1
  43. package/dist/ws/streamnormalized.d.ts +1 -1
  44. package/dist/ws/streamnormalized.d.ts.map +1 -1
  45. package/dist/ws/streamnormalized.js +19 -25
  46. package/dist/ws/streamnormalized.js.map +1 -1
  47. package/dist/ws/subscriptionsmappers.js +1 -4
  48. package/dist/ws/subscriptionsmappers.js.map +1 -1
  49. package/package.json +26 -5
  50. package/src/http/healthCheck.ts +1 -1
  51. package/src/http/index.ts +3 -3
  52. package/src/http/replay.ts +6 -7
  53. package/src/http/replaynormalized.ts +7 -8
  54. package/src/index.ts +1 -1
  55. package/src/tardismachine.ts +9 -7
  56. package/src/ws/index.ts +3 -3
  57. package/src/ws/replay.ts +6 -6
  58. package/src/ws/replaynormalized.ts +5 -5
  59. package/src/ws/streamnormalized.ts +5 -5
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![Version](https://img.shields.io/npm/v/tardis-machine.svg)](https://www.npmjs.org/package/tardis-machine)
4
4
 
5
- [Tardis Machine](https://docs.tardis.dev/api/tardis-machine) is a locally runnable server with built-in data caching that uses the [Tardis.dev HTTP API](https://docs.tardis.dev/api/http-api-reference) under the hood. It provides both **tick-level historical** and **consolidated real-time cryptocurrency market data** via HTTP and WebSocket APIs. Available via [npm and Docker](https://docs.tardis.dev/api/tardis-machine/quickstart#installation).
5
+ [Tardis Machine](https://docs.tardis.dev/tardis-machine/quickstart) is a locally runnable server with built-in data caching that uses the [Tardis.dev HTTP API](https://docs.tardis.dev/api/http-api-reference) under the hood. It provides both **tick-level historical** and **consolidated real-time cryptocurrency market data** via HTTP and WebSocket APIs. Available via [npm and Docker](https://docs.tardis.dev/tardis-machine/quickstart#installation).
6
6
 
7
7
  <br/>
8
8
 
@@ -10,11 +10,11 @@
10
10
 
11
11
  - efficient data replay API endpoints returning historical market data for entire time periods
12
12
 
13
- - [exchange-native market data APIs](https://docs.tardis.dev/api/tardis-machine/replaying-historical-data#exchange-native-market-data-apis) — tick-by-tick historical replay in exchange-native format via HTTP and WebSocket endpoints. The WebSocket API replays data with the same format and subscribe logic as real-time exchange APIs — existing exchange WebSocket clients can connect to this endpoint.
13
+ - [exchange-native market data APIs](https://docs.tardis.dev/tardis-machine/replaying-historical-data#exchange-native-market-data-apis) — tick-by-tick historical replay in exchange-native format via HTTP and WebSocket endpoints. The WebSocket API replays data with the same format and subscribe logic as real-time exchange APIs — existing exchange WebSocket clients can connect to this endpoint.
14
14
 
15
- - [normalized market data APIs](https://docs.tardis.dev/api/tardis-machine/replaying-historical-data#normalized-market-data-apis) — consistent format across all exchanges via HTTP and WebSocket endpoints. Includes synchronized multi-exchange replay, real-time streaming, customizable order book snapshots and trade bars.
15
+ - [normalized market data APIs](https://docs.tardis.dev/tardis-machine/replaying-historical-data#normalized-market-data-apis) — consistent format across all exchanges via HTTP and WebSocket endpoints. Includes synchronized multi-exchange replay, real-time streaming, customizable order book snapshots and trade bars.
16
16
 
17
- - [seamless switching](https://docs.tardis.dev/api/tardis-machine/replaying-historical-data#normalized-market-data-apis) between real-time streaming and historical replay
17
+ - [seamless switching](https://docs.tardis.dev/tardis-machine/replaying-historical-data#normalized-market-data-apis) between real-time streaming and historical replay
18
18
 
19
19
  - transparent local data caching (compressed GZIP on disk, decompressed on demand)
20
20
 
@@ -24,6 +24,6 @@
24
24
 
25
25
  ## Documentation
26
26
 
27
- ### [See official docs](https://docs.tardis.dev/api/tardis-machine).
27
+ ### [See official docs](https://docs.tardis.dev/tardis-machine/quickstart).
28
28
 
29
29
  <br/>
package/benchmark.js CHANGED
@@ -1,3 +1,6 @@
1
+ import { createRequire } from 'node:module'
2
+
3
+ const require = createRequire(import.meta.url)
1
4
  const fetch = require('node-fetch')
2
5
  const split2 = require('split2')
3
6
  const WebSocket = require('ws')
@@ -1,12 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  process.env.UWS_HTTP_MAX_HEADERS_SIZE = '20000'
3
+ import { createRequire } from 'node:module'
4
+
5
+ const require = createRequire(import.meta.url)
3
6
  const yargs = require('yargs')
4
- const os = require('os')
5
- const path = require('path')
6
- const cluster = require('cluster')
7
- const numCPUs = require('os').cpus().length
7
+ const os = require('node:os')
8
+ const path = require('node:path')
9
+ const cluster = require('node:cluster')
10
+ const numCPUs = os.cpus().length
8
11
  const isDocker = require('is-docker')
9
12
  const pkg = require('../package.json')
13
+ const { TardisMachine } = await import('../dist/index.js')
10
14
 
11
15
  const DEFAULT_PORT = 8000
12
16
  const argv = yargs
@@ -60,8 +64,6 @@ if (enableDebug) {
60
64
  process.env.DEBUG = 'tardis-dev:machine*,tardis-dev:realtime*'
61
65
  }
62
66
 
63
- const { TardisMachine } = require('../dist')
64
-
65
67
  async function start() {
66
68
  const machine = new TardisMachine({
67
69
  apiKey: argv['api-key'],
@@ -75,7 +77,7 @@ async function start() {
75
77
  cluster.schedulingPolicy = cluster.SCHED_RR
76
78
 
77
79
  suffix = '(cluster mode)'
78
- if (cluster.isMaster) {
80
+ if (cluster.isPrimary) {
79
81
  for (let i = 0; i < numCPUs; i++) {
80
82
  cluster.fork()
81
83
  }
@@ -86,7 +88,7 @@ async function start() {
86
88
  await machine.start(port)
87
89
  }
88
90
 
89
- if (!cluster.isMaster) {
91
+ if (!cluster.isPrimary) {
90
92
  return
91
93
  }
92
94
 
package/dist/debug.js CHANGED
@@ -1,9 +1,3 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.debug = void 0;
7
- const debug_1 = __importDefault(require("debug"));
8
- exports.debug = (0, debug_1.default)('tardis-dev:machine');
1
+ import dbg from 'debug';
2
+ export const debug = dbg('tardis-dev:machine');
9
3
  //# sourceMappingURL=debug.js.map
package/dist/debug.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAuB;AACV,QAAA,KAAK,GAAG,IAAA,eAAG,EAAC,oBAAoB,CAAC,CAAA"}
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,OAAO,CAAA;AACvB,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAC,oBAAoB,CAAC,CAAA"}
package/dist/helpers.js CHANGED
@@ -1,30 +1,24 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.wait = void 0;
4
- exports.getNormalizers = getNormalizers;
5
- exports.constructDataTypeFilter = constructDataTypeFilter;
6
- exports.getComputables = getComputables;
7
- const tardis_dev_1 = require("tardis-dev");
8
- function* getNormalizers(dataTypes) {
1
+ import { computeBookSnapshots, computeTradeBars, normalizeBookChanges, normalizeDerivativeTickers, normalizeLiquidations, normalizeTrades, normalizeOptionsSummary, normalizeBookTickers } from 'tardis-dev';
2
+ export function* getNormalizers(dataTypes) {
9
3
  if (dataTypes.includes('trade') || dataTypes.some((dataType) => dataType.startsWith('trade_bar_'))) {
10
- yield tardis_dev_1.normalizeTrades;
4
+ yield normalizeTrades;
11
5
  }
12
6
  if (dataTypes.includes('book_change') ||
13
7
  dataTypes.some((dataType) => dataType.startsWith('book_snapshot_')) ||
14
8
  dataTypes.some((dataType) => dataType.startsWith('quote'))) {
15
- yield tardis_dev_1.normalizeBookChanges;
9
+ yield normalizeBookChanges;
16
10
  }
17
11
  if (dataTypes.includes('derivative_ticker')) {
18
- yield tardis_dev_1.normalizeDerivativeTickers;
12
+ yield normalizeDerivativeTickers;
19
13
  }
20
14
  if (dataTypes.includes('liquidation')) {
21
- yield tardis_dev_1.normalizeLiquidations;
15
+ yield normalizeLiquidations;
22
16
  }
23
17
  if (dataTypes.includes('option_summary')) {
24
- yield tardis_dev_1.normalizeOptionsSummary;
18
+ yield normalizeOptionsSummary;
25
19
  }
26
20
  if (dataTypes.includes('book_ticker')) {
27
- yield tardis_dev_1.normalizeBookTickers;
21
+ yield normalizeBookTickers;
28
22
  }
29
23
  }
30
24
  function getRequestedDataTypes(options) {
@@ -41,7 +35,7 @@ function getRequestedDataTypes(options) {
41
35
  return dataType;
42
36
  });
43
37
  }
44
- function constructDataTypeFilter(options) {
38
+ export function constructDataTypeFilter(options) {
45
39
  const requestedDataTypesPerExchange = options.reduce((prev, current) => {
46
40
  if (prev[current.exchange] !== undefined) {
47
41
  prev[current.exchange] = [...prev[current.exchange], ...getRequestedDataTypes(current)];
@@ -93,7 +87,7 @@ const bookSnapshotsToIntervalMultiplierMap = {
93
87
  }
94
88
  };
95
89
  const getKeys = (o) => Object.keys(o);
96
- function getComputables(dataTypes) {
90
+ export function getComputables(dataTypes) {
97
91
  const computables = [];
98
92
  for (const dataType of dataTypes) {
99
93
  if (dataType.startsWith('trade_bar')) {
@@ -118,7 +112,7 @@ function parseAsTradeBarComputable(dataType) {
118
112
  if (Number.isNaN(interval)) {
119
113
  throw new Error(`invalid interval: ${intervalString}, data type: ${dataType}`);
120
114
  }
121
- return (0, tardis_dev_1.computeTradeBars)({
115
+ return computeTradeBars({
122
116
  interval: tradeBarSuffixToKindMap[suffix].multiplier * interval,
123
117
  kind: tradeBarSuffixToKindMap[suffix].kind,
124
118
  name: dataType
@@ -151,7 +145,7 @@ function parseAsBookSnapshotComputable(dataType) {
151
145
  throw new Error(`invalid interval: ${groupingString}, data type: ${dataType}`);
152
146
  }
153
147
  }
154
- return (0, tardis_dev_1.computeBookSnapshots)({
148
+ return computeBookSnapshots({
155
149
  interval: bookSnapshotsToIntervalMultiplierMap[suffix].multiplier * interval,
156
150
  grouping,
157
151
  depth,
@@ -163,7 +157,7 @@ function parseAsBookSnapshotComputable(dataType) {
163
157
  }
164
158
  function parseAsQuoteComputable(dataType) {
165
159
  if (dataType === 'quote') {
166
- return (0, tardis_dev_1.computeBookSnapshots)({
160
+ return computeBookSnapshots({
167
161
  interval: 0,
168
162
  depth: 1,
169
163
  name: dataType,
@@ -179,7 +173,7 @@ function parseAsQuoteComputable(dataType) {
179
173
  if (Number.isNaN(interval)) {
180
174
  throw new Error(`invalid interval: ${intervalString}, data type: ${dataType}`);
181
175
  }
182
- return (0, tardis_dev_1.computeBookSnapshots)({
176
+ return computeBookSnapshots({
183
177
  interval: bookSnapshotsToIntervalMultiplierMap[suffix].multiplier * interval,
184
178
  depth: 1,
185
179
  name: dataType,
@@ -188,8 +182,7 @@ function parseAsQuoteComputable(dataType) {
188
182
  }
189
183
  throw new Error(`invalid data type: ${dataType}`);
190
184
  }
191
- const wait = (delayMS) => new Promise((resolve) => setTimeout(resolve, delayMS));
192
- exports.wait = wait;
185
+ export const wait = (delayMS) => new Promise((resolve) => setTimeout(resolve, delayMS));
193
186
  const oldToISOString = Date.prototype.toISOString;
194
187
  // if Date provides microseconds add those to ISO date
195
188
  Date.prototype.toISOString = function () {
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { IncomingMessage, ServerResponse } from 'http';
1
+ import type { IncomingMessage, ServerResponse } from 'node:http';
2
2
  export declare const healthCheck: (_: IncomingMessage, res: ServerResponse) => void;
3
3
  //# sourceMappingURL=healthCheck.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"healthCheck.d.ts","sourceRoot":"","sources":["../../src/http/healthCheck.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAGtD,eAAO,MAAM,WAAW,GAAI,GAAG,eAAe,EAAE,KAAK,cAAc,SA8BlE,CAAA"}
1
+ {"version":3,"file":"healthCheck.d.ts","sourceRoot":"","sources":["../../src/http/healthCheck.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAGhE,eAAO,MAAM,WAAW,GAAI,GAAG,eAAe,EAAE,KAAK,cAAc,SA8BlE,CAAA"}
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.healthCheck = void 0;
4
1
  const BYTES_IN_MB = 1024 * 1024;
5
- const healthCheck = (_, res) => {
2
+ export const healthCheck = (_, res) => {
6
3
  res.setHeader('Content-Type', 'application/json');
7
4
  try {
8
5
  const memUsage = process.memoryUsage();
@@ -28,5 +25,4 @@ const healthCheck = (_, res) => {
28
25
  }
29
26
  }
30
27
  };
31
- exports.healthCheck = healthCheck;
32
28
  //# sourceMappingURL=healthCheck.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"healthCheck.js","sourceRoot":"","sources":["../../src/http/healthCheck.ts"],"names":[],"mappings":";;;AACA,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,CAAA;AAExB,MAAM,WAAW,GAAG,CAAC,CAAkB,EAAE,GAAmB,EAAE,EAAE;IACrE,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAA;IAEjD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;QAEtC,MAAM,OAAO,GAAG;YACd,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC9D,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;YACvB,UAAU,EAAE;gBACV,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACtD,WAAW,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,SAAS,GAAG,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAClE,UAAU,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAChE,UAAU,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aACjE;SACF,CAAA;QAED,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAClB,GAAG,CAAC,UAAU,GAAG,GAAG,CAAA;YAEpB,GAAG,CAAC,GAAG,CACL,IAAI,CAAC,SAAS,CAAC;gBACb,OAAO,EAAE,WAAW;aACrB,CAAC,CACH,CAAA;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AA9BY,QAAA,WAAW,eA8BvB"}
1
+ {"version":3,"file":"healthCheck.js","sourceRoot":"","sources":["../../src/http/healthCheck.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,CAAA;AAE/B,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAkB,EAAE,GAAmB,EAAE,EAAE;IACrE,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAA;IAEjD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;QAEtC,MAAM,OAAO,GAAG;YACd,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC9D,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;YACvB,UAAU,EAAE;gBACV,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACtD,WAAW,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,SAAS,GAAG,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAClE,UAAU,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAChE,UAAU,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aACjE;SACF,CAAA;QAED,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAClB,GAAG,CAAC,UAAU,GAAG,GAAG,CAAA;YAEpB,GAAG,CAAC,GAAG,CACL,IAAI,CAAC,SAAS,CAAC;gBACb,OAAO,EAAE,WAAW;aACrB,CAAC,CACH,CAAA;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- export * from './replay';
2
- export * from './replaynormalized';
3
- export * from './healthCheck';
1
+ export * from './replay.ts';
2
+ export * from './replaynormalized.ts';
3
+ export * from './healthCheck.ts';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA"}
@@ -1,20 +1,4 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./replay"), exports);
18
- __exportStar(require("./replaynormalized"), exports);
19
- __exportStar(require("./healthCheck"), exports);
1
+ export * from "./replay.js";
2
+ export * from "./replaynormalized.js";
3
+ export * from "./healthCheck.js";
20
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,qDAAkC;AAClC,gDAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA"}
@@ -1,3 +1,3 @@
1
- import { IncomingMessage, ServerResponse } from 'http';
1
+ import type { IncomingMessage, ServerResponse } from 'node:http';
2
2
  export declare const replayHttp: (req: IncomingMessage, res: ServerResponse) => Promise<void>;
3
3
  //# sourceMappingURL=replay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../src/http/replay.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAmB,cAAc,EAAE,MAAM,MAAM,CAAA;AAKvE,eAAO,MAAM,UAAU,GAAU,KAAK,eAAe,EAAE,KAAK,cAAc,kBAiCzE,CAAA"}
1
+ {"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../src/http/replay.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAmB,cAAc,EAAE,MAAM,WAAW,CAAA;AAIjF,eAAO,MAAM,UAAU,GAAU,KAAK,eAAe,EAAE,KAAK,cAAc,kBAiCzE,CAAA"}
@@ -1,23 +1,16 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.replayHttp = void 0;
7
- const events_1 = require("events");
8
- const tardis_dev_1 = require("tardis-dev");
9
- const url_1 = __importDefault(require("url"));
10
- const debug_1 = require("../debug");
11
- const replayHttp = async (req, res) => {
1
+ import { once } from 'node:events';
2
+ import { replay } from 'tardis-dev';
3
+ import { debug } from "../debug.js";
4
+ export const replayHttp = async (req, res) => {
12
5
  try {
13
6
  const startTimestamp = new Date().getTime();
14
- const parsedQuery = url_1.default.parse(req.url, true).query;
15
- const optionsString = parsedQuery['options'];
7
+ const requestUrl = new URL(req.url, 'http://localhost');
8
+ const optionsString = requestUrl.searchParams.get('options') ?? undefined;
16
9
  const replayOptions = JSON.parse(optionsString);
17
- (0, debug_1.debug)('GET /replay request started, options: %o', replayOptions);
10
+ debug('GET /replay request started, options: %o', replayOptions);
18
11
  const streamedMessagesCount = await writeMessagesToResponse(res, replayOptions);
19
12
  const endTimestamp = new Date().getTime();
20
- (0, debug_1.debug)('GET /replay request finished, options: %o, time: %d seconds, total messages count:%d', replayOptions, (endTimestamp - startTimestamp) / 1000, streamedMessagesCount);
13
+ debug('GET /replay request finished, options: %o, time: %d seconds, total messages count:%d', replayOptions, (endTimestamp - startTimestamp) / 1000, streamedMessagesCount);
21
14
  }
22
15
  catch (e) {
23
16
  const errorInfo = {
@@ -25,7 +18,7 @@ const replayHttp = async (req, res) => {
25
18
  message: e.message,
26
19
  url: e.url
27
20
  };
28
- (0, debug_1.debug)('GET /replay request error: %o', e);
21
+ debug('GET /replay request error: %o', e);
29
22
  console.error('GET /replay request error:', e);
30
23
  if (!res.finished) {
31
24
  res.statusCode = e.status || 500;
@@ -33,7 +26,6 @@ const replayHttp = async (req, res) => {
33
26
  }
34
27
  }
35
28
  };
36
- exports.replayHttp = replayHttp;
37
29
  async function writeMessagesToResponse(res, replayOptions) {
38
30
  const responsePrefixBuffer = Buffer.from('{"localTimestamp":"');
39
31
  const responseMiddleBuffer = Buffer.from('","message":');
@@ -44,7 +36,7 @@ async function writeMessagesToResponse(res, replayOptions) {
44
36
  res.setHeader('Content-Type', 'application/x-json-stream');
45
37
  let buffers = [];
46
38
  let totalMessagesCount = 0;
47
- const messages = (0, tardis_dev_1.replay)({ ...replayOptions, skipDecoding: true });
39
+ const messages = replay({ ...replayOptions, skipDecoding: true });
48
40
  for await (let messageWithTimestamp of messages) {
49
41
  totalMessagesCount++;
50
42
  if (messageWithTimestamp === undefined) {
@@ -61,7 +53,7 @@ async function writeMessagesToResponse(res, replayOptions) {
61
53
  const ok = res.write(Buffer.concat(buffers));
62
54
  buffers = [];
63
55
  if (!ok) {
64
- await (0, events_1.once)(res, 'drain');
56
+ await once(res, 'drain');
65
57
  }
66
58
  }
67
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"replay.js","sourceRoot":"","sources":["../../src/http/replay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"replay.js","sourceRoot":"","sources":["../../src/http/replay.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { IncomingMessage, ServerResponse } from 'http';
1
+ import type { IncomingMessage, ServerResponse } from 'node:http';
2
2
  export declare const replayNormalizedHttp: (req: IncomingMessage, res: ServerResponse) => Promise<void>;
3
3
  //# sourceMappingURL=replaynormalized.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"replaynormalized.d.ts","sourceRoot":"","sources":["../../src/http/replaynormalized.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAmB,cAAc,EAAE,MAAM,MAAM,CAAA;AAMvE,eAAO,MAAM,oBAAoB,GAAU,KAAK,eAAe,EAAE,KAAK,cAAc,kBAiCnF,CAAA"}
1
+ {"version":3,"file":"replaynormalized.d.ts","sourceRoot":"","sources":["../../src/http/replaynormalized.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAmB,cAAc,EAAE,MAAM,WAAW,CAAA;AAKjF,eAAO,MAAM,oBAAoB,GAAU,KAAK,eAAe,EAAE,KAAK,cAAc,kBAiCnF,CAAA"}
@@ -1,24 +1,17 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.replayNormalizedHttp = void 0;
7
- const events_1 = require("events");
8
- const tardis_dev_1 = require("tardis-dev");
9
- const url_1 = __importDefault(require("url"));
10
- const debug_1 = require("../debug");
11
- const helpers_1 = require("../helpers");
12
- const replayNormalizedHttp = async (req, res) => {
1
+ import { once } from 'node:events';
2
+ import { combine, compute, replayNormalized } from 'tardis-dev';
3
+ import { debug } from "../debug.js";
4
+ import { constructDataTypeFilter, getComputables, getNormalizers } from "../helpers.js";
5
+ export const replayNormalizedHttp = async (req, res) => {
13
6
  try {
14
7
  const startTimestamp = new Date().getTime();
15
- const parsedQuery = url_1.default.parse(req.url, true).query;
16
- const optionsString = parsedQuery['options'];
8
+ const requestUrl = new URL(req.url, 'http://localhost');
9
+ const optionsString = requestUrl.searchParams.get('options') ?? undefined;
17
10
  const replayNormalizedOptions = JSON.parse(optionsString);
18
- (0, debug_1.debug)('GET /replay-normalized request started, options: %o', replayNormalizedOptions);
11
+ debug('GET /replay-normalized request started, options: %o', replayNormalizedOptions);
19
12
  const streamedMessagesCount = await writeMessagesToResponse(res, replayNormalizedOptions);
20
13
  const endTimestamp = new Date().getTime();
21
- (0, debug_1.debug)('GET /replay-normalized request finished, options: %o, time: %d seconds, total messages count: %d', replayNormalizedOptions, (endTimestamp - startTimestamp) / 1000, streamedMessagesCount);
14
+ debug('GET /replay-normalized request finished, options: %o, time: %d seconds, total messages count: %d', replayNormalizedOptions, (endTimestamp - startTimestamp) / 1000, streamedMessagesCount);
22
15
  }
23
16
  catch (e) {
24
17
  const errorInfo = {
@@ -26,7 +19,7 @@ const replayNormalizedHttp = async (req, res) => {
26
19
  message: e.message,
27
20
  url: e.url
28
21
  };
29
- (0, debug_1.debug)('GET /replay-normalized request error: %o', e);
22
+ debug('GET /replay-normalized request error: %o', e);
30
23
  console.error('GET /replay-normalized request error:', e);
31
24
  if (!res.finished) {
32
25
  res.statusCode = e.status || 500;
@@ -34,7 +27,6 @@ const replayNormalizedHttp = async (req, res) => {
34
27
  }
35
28
  }
36
29
  };
37
- exports.replayNormalizedHttp = replayNormalizedHttp;
38
30
  async function writeMessagesToResponse(res, options) {
39
31
  const BATCH_SIZE = 32;
40
32
  res.setHeader('Content-Type', 'application/x-json-stream');
@@ -43,16 +35,16 @@ async function writeMessagesToResponse(res, options) {
43
35
  const replayNormalizedOptions = Array.isArray(options) ? options : [options];
44
36
  const messagesIterables = replayNormalizedOptions.map((option) => {
45
37
  // let's map from provided options to options and normalizers that needs to be added for dataTypes provided in options
46
- const messages = (0, tardis_dev_1.replayNormalized)(option, ...(0, helpers_1.getNormalizers)(option.dataTypes));
38
+ const messages = replayNormalized(option, ...getNormalizers(option.dataTypes));
47
39
  // separately check if any computables are needed for given dataTypes
48
- const computables = (0, helpers_1.getComputables)(option.dataTypes);
40
+ const computables = getComputables(option.dataTypes);
49
41
  if (computables.length > 0) {
50
- return (0, tardis_dev_1.compute)(messages, ...computables);
42
+ return compute(messages, ...computables);
51
43
  }
52
44
  return messages;
53
45
  });
54
- const filterByDataType = (0, helpers_1.constructDataTypeFilter)(replayNormalizedOptions);
55
- const messages = messagesIterables.length === 1 ? messagesIterables[0] : (0, tardis_dev_1.combine)(...messagesIterables);
46
+ const filterByDataType = constructDataTypeFilter(replayNormalizedOptions);
47
+ const messages = messagesIterables.length === 1 ? messagesIterables[0] : combine(...messagesIterables);
56
48
  for await (const message of messages) {
57
49
  // filter out messages not explicitly requested via options.dataTypes
58
50
  // eg.: return only book_snapshots when someone asked only for those
@@ -66,7 +58,7 @@ async function writeMessagesToResponse(res, options) {
66
58
  const ok = res.write(`${buffers.join('\n')}\n`);
67
59
  buffers = [];
68
60
  if (!ok) {
69
- await (0, events_1.once)(res, 'drain');
61
+ await once(res, 'drain');
70
62
  }
71
63
  }
72
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"replaynormalized.js","sourceRoot":"","sources":["../../src/http/replaynormalized.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"replaynormalized.js","sourceRoot":"","sources":["../../src/http/replaynormalized.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { TardisMachine } from './tardismachine';
1
+ export { TardisMachine } from './tardismachine.ts';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA"}
package/dist/index.js CHANGED
@@ -1,6 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TardisMachine = void 0;
4
- var tardismachine_1 = require("./tardismachine");
5
- Object.defineProperty(exports, "TardisMachine", { enumerable: true, get: function () { return tardismachine_1.TardisMachine; } });
1
+ export { TardisMachine } from "./tardismachine.js";
6
2
  //# 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,iDAA+C;AAAtC,8GAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"tardismachine.d.ts","sourceRoot":"","sources":["../src/tardismachine.ts"],"names":[],"mappings":"AAUA,qBAAa,aAAa;IAKZ,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,OAAO,CAAC,iBAAiB,CAAwC;gBAEpC,OAAO,EAAE,OAAO;IAoEhC,KAAK,CAAC,IAAI,EAAE,MAAM;IAwClB,IAAI;CAWlB;AAED,KAAK,OAAO,GAAG;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA"}
1
+ {"version":3,"file":"tardismachine.d.ts","sourceRoot":"","sources":["../src/tardismachine.ts"],"names":[],"mappings":"AAYA,qBAAa,aAAa;IAKZ,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,OAAO,CAAC,iBAAiB,CAAwC;gBAEpC,OAAO,EAAE,OAAO;IAoEhC,KAAK,CAAC,IAAI,EAAE,MAAM;IAwClB,IAAI;CAWlB;AAED,KAAK,OAAO,GAAG;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA"}