@chainlink/external-adapter-framework 0.15.0 → 0.16.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 (99) hide show
  1. package/config/index.js +1 -1
  2. package/config/index.js.map +1 -1
  3. package/examples/bank-frick/accounts.d.ts +45 -0
  4. package/examples/bank-frick/accounts.js +203 -0
  5. package/examples/bank-frick/accounts.js.map +1 -0
  6. package/examples/bank-frick/config/index.d.ts +17 -0
  7. package/examples/bank-frick/config/index.js +55 -0
  8. package/examples/bank-frick/config/index.js.map +1 -0
  9. package/examples/bank-frick/index.d.ts +2 -0
  10. package/examples/bank-frick/index.js +16 -0
  11. package/examples/bank-frick/index.js.map +1 -0
  12. package/examples/bank-frick/util.d.ts +4 -0
  13. package/examples/bank-frick/util.js +40 -0
  14. package/examples/bank-frick/util.js.map +1 -0
  15. package/examples/coingecko/src/config/index.d.ts +2 -0
  16. package/examples/coingecko/src/config/index.js +6 -0
  17. package/examples/coingecko/src/config/index.js.map +1 -0
  18. package/examples/coingecko/src/config/overrides.json +10825 -0
  19. package/examples/coingecko/src/crypto-utils.d.ts +62 -0
  20. package/examples/coingecko/src/crypto-utils.js +60 -0
  21. package/examples/coingecko/src/crypto-utils.js.map +1 -0
  22. package/examples/coingecko/src/endpoint/coins.d.ts +26 -0
  23. package/examples/coingecko/src/endpoint/coins.js +37 -0
  24. package/examples/coingecko/src/endpoint/coins.js.map +1 -0
  25. package/examples/coingecko/src/endpoint/crypto-marketcap.d.ts +3 -0
  26. package/examples/coingecko/src/endpoint/crypto-marketcap.js +30 -0
  27. package/examples/coingecko/src/endpoint/crypto-marketcap.js.map +1 -0
  28. package/examples/coingecko/src/endpoint/crypto-volume.d.ts +3 -0
  29. package/examples/coingecko/src/endpoint/crypto-volume.js +30 -0
  30. package/examples/coingecko/src/endpoint/crypto-volume.js.map +1 -0
  31. package/examples/coingecko/src/endpoint/crypto.d.ts +3 -0
  32. package/examples/coingecko/src/endpoint/crypto.js +28 -0
  33. package/examples/coingecko/src/endpoint/crypto.js.map +1 -0
  34. package/examples/coingecko/src/endpoint/dominance.d.ts +3 -0
  35. package/examples/coingecko/src/endpoint/dominance.js +28 -0
  36. package/examples/coingecko/src/endpoint/dominance.js.map +1 -0
  37. package/examples/coingecko/src/endpoint/global-marketcap.d.ts +3 -0
  38. package/examples/coingecko/src/endpoint/global-marketcap.js +28 -0
  39. package/examples/coingecko/src/endpoint/global-marketcap.js.map +1 -0
  40. package/examples/coingecko/src/endpoint/index.d.ts +6 -0
  41. package/examples/coingecko/src/endpoint/index.js +16 -0
  42. package/examples/coingecko/src/endpoint/index.js.map +1 -0
  43. package/examples/coingecko/src/global-utils.d.ts +42 -0
  44. package/examples/coingecko/src/global-utils.js +47 -0
  45. package/examples/coingecko/src/global-utils.js.map +1 -0
  46. package/examples/coingecko/src/index.d.ts +4 -0
  47. package/examples/coingecko/src/index.js +19 -0
  48. package/examples/coingecko/src/index.js.map +1 -0
  49. package/examples/cryptocompare/src/config/index.d.ts +2 -0
  50. package/examples/cryptocompare/src/config/index.js +6 -0
  51. package/examples/cryptocompare/src/config/index.js.map +1 -0
  52. package/examples/cryptocompare/src/endpoints/crypto.d.ts +40 -0
  53. package/examples/cryptocompare/src/endpoints/crypto.js +54 -0
  54. package/examples/cryptocompare/src/endpoints/crypto.js.map +1 -0
  55. package/examples/cryptocompare/src/endpoints/index.d.ts +1 -0
  56. package/examples/cryptocompare/src/endpoints/index.js +6 -0
  57. package/examples/cryptocompare/src/endpoints/index.js.map +1 -0
  58. package/examples/cryptocompare/src/index.d.ts +4 -0
  59. package/examples/cryptocompare/src/index.js +14 -0
  60. package/examples/cryptocompare/src/index.js.map +1 -0
  61. package/examples/genesis/config/index.d.ts +7 -0
  62. package/examples/genesis/config/index.js +11 -0
  63. package/examples/genesis/config/index.js.map +1 -0
  64. package/examples/genesis/index.d.ts +2 -0
  65. package/examples/genesis/index.js +13 -0
  66. package/examples/genesis/index.js.map +1 -0
  67. package/examples/genesis/sseStream.d.ts +27 -0
  68. package/examples/genesis/sseStream.js +149 -0
  69. package/examples/genesis/sseStream.js.map +1 -0
  70. package/package.json +1 -1
  71. package/rate-limiting/request/simple-counting.d.ts +1 -1
  72. package/rate-limiting/request/simple-counting.js +8 -12
  73. package/rate-limiting/request/simple-counting.js.map +1 -1
  74. package/scripts/generator/index.d.ts +1 -0
  75. package/scripts/generator/index.js +5 -0
  76. package/scripts/generator/index.js.map +1 -0
  77. package/scripts/generator/lib.d.ts +1 -0
  78. package/scripts/generator/lib.js +170 -0
  79. package/scripts/generator/lib.js.map +1 -0
  80. package/scripts/generator/workspace.d.ts +21 -0
  81. package/scripts/generator/workspace.js +76 -0
  82. package/scripts/generator/workspace.js.map +1 -0
  83. package/transports/batch-warming.d.ts +8 -20
  84. package/transports/batch-warming.js +68 -55
  85. package/transports/batch-warming.js.map +1 -1
  86. package/transports/http.js +4 -0
  87. package/transports/http.js.map +1 -1
  88. package/transports/meta/routing.d.ts +1 -1
  89. package/transports/meta/routing.js +1 -1
  90. package/transports/meta/routing.js.map +1 -1
  91. package/transports/routing.d.ts +22 -0
  92. package/transports/routing.js +60 -0
  93. package/transports/routing.js.map +1 -0
  94. package/transports/websocket.d.ts +3 -1
  95. package/transports/websocket.js +7 -3
  96. package/transports/websocket.js.map +1 -1
  97. package/util/request.d.ts +25 -25
  98. package/util/requester.js +4 -2
  99. package/util/requester.js.map +1 -1
@@ -0,0 +1,76 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.getWorkspacePackages = exports.PUBLIC_ADAPTER_TYPES = void 0;
27
+ /* eslint-disable @typescript-eslint/no-var-requires */
28
+ const fs_1 = require("fs");
29
+ const path_1 = require("path");
30
+ const s = __importStar(require("shelljs"));
31
+ /**
32
+ * Types of adapters that are publically consumed
33
+ */
34
+ exports.PUBLIC_ADAPTER_TYPES = ['sources'];
35
+ const scope = '@chainlink/';
36
+ function getWorkspacePackages(additionalTypes = []) {
37
+ const adapterTypes = exports.PUBLIC_ADAPTER_TYPES.concat(additionalTypes);
38
+ const workspaces = JSON.parse(s.exec('yarn workspaces info', { silent: true }));
39
+ return Object.keys(workspaces)
40
+ .map((name) => ({ name, location: workspaces[name].location }))
41
+ .map(({ location, name }) => {
42
+ const pkg = getJsonFile((0, path_1.join)(location, 'package.json'));
43
+ return {
44
+ location,
45
+ name,
46
+ descopedName: name.replace(scope, ''),
47
+ type: location.split('/')[1],
48
+ version: pkg.version,
49
+ framework: '3',
50
+ };
51
+ })
52
+ .filter((v) => adapterTypes.includes(v.type))
53
+ .map((p) => {
54
+ let tsconf;
55
+ try {
56
+ tsconf = getJsonFile((0, path_1.join)(p.location, 'tsconfig.json'));
57
+ }
58
+ catch {
59
+ warnLog(`${(0, path_1.join)(p.location, 'tsconfig.json')} does not exist`);
60
+ }
61
+ return { ...p, tsconf };
62
+ });
63
+ }
64
+ exports.getWorkspacePackages = getWorkspacePackages;
65
+ function getJsonFile(path) {
66
+ return JSON.parse((0, fs_1.readFileSync)(path, 'utf-8'));
67
+ }
68
+ /**
69
+ * @param str The string to log
70
+ */
71
+ function warnLog(str) {
72
+ if (process.env['DEBUG']) {
73
+ console.warn(str);
74
+ }
75
+ }
76
+ //# sourceMappingURL=workspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../../src/scripts/generator/workspace.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAuD;AACvD,2BAAiC;AACjC,+BAA2B;AAC3B,2CAA4B;AAe5B;;GAEG;AACU,QAAA,oBAAoB,GAAG,CAAC,SAAS,CAAC,CAAA;AAC/C,MAAM,KAAK,GAAG,aAAa,CAAA;AAG3B,SAAgB,oBAAoB,CAAC,kBAA4B,EAAE;IACjE,MAAM,YAAY,GAAG,4BAAoB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;IACjE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAC/E,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;SAC3B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,QAAkB,EAAuB,CAAA,CAAC;SAC5F,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAoB,EAAE,EAAE;QAC5C,MAAM,GAAG,GAAwB,WAAW,CAAC,IAAA,WAAI,EAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAA;QAE5E,OAAO;YACL,QAAQ;YACR,IAAI;YACJ,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;YACrC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,SAAS,EAAE,GAAG;SACf,CAAA;IACH,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC5C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,IAAI,MAA4B,CAAA;QAChC,IAAI;YACF,MAAM,GAAG,WAAW,CAAC,IAAA,WAAI,EAAC,CAAC,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAA;SACxD;QAAC,MAAM;YACN,OAAO,CAAC,GAAG,IAAA,WAAI,EAAC,CAAC,CAAC,QAAQ,EAAE,eAAe,CAAC,iBAAiB,CAAC,CAAA;SAC/D;QAED,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,CAAC,CAAC,CAAA;AACN,CAAC;AA5BD,oDA4BC;AACD,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;AAChD,CAAC;AAED;;GAEG;AACH,SAAS,OAAO,CAAC,GAAW;IAC1B,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;QACxB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;KAClB;AACH,CAAC"}
@@ -1,15 +1,14 @@
1
1
  import { AxiosRequestConfig, AxiosResponse } from 'axios';
2
2
  import { EndpointContext } from '../adapter';
3
3
  import { AdapterConfig } from '../config';
4
- import { ProviderResult } from '../util/request';
5
- import { Requester } from '../util/requester';
6
- import { TransportDependencies, TransportGenerics } from './';
4
+ import { AdapterRequest, ProviderResult } from '../util/request';
5
+ import { TransportGenerics } from './';
7
6
  import { SubscriptionTransport } from './abstract/subscription';
8
7
  /**
9
8
  * Helper struct type that will be used to pass types to the generic parameters of a Transport.
10
9
  * Extends the common TransportGenerics, adding Provider specific types for this Batch endpoint.
11
10
  */
12
- declare type HttpTransportGenerics = TransportGenerics & {
11
+ type BatchWarmingTransportGenerics = TransportGenerics & {
13
12
  /**
14
13
  * Type details for any provider specific interfaces.
15
14
  */
@@ -24,20 +23,11 @@ declare type HttpTransportGenerics = TransportGenerics & {
24
23
  ResponseBody: unknown;
25
24
  };
26
25
  };
27
- /**
28
- * Structure containing the association between EA params and a provider request.
29
- */
30
- declare type ProviderRequestConfig<T extends HttpTransportGenerics> = {
31
- /** The input paramters for requests that will get responses from the request in this struct */
32
- params: T['Request']['Params'][];
33
- /** The request that will be sent to the data provider to fetch values for the params in this struct */
34
- request: AxiosRequestConfig<T['Provider']['RequestBody']>;
35
- };
36
26
  /**
37
27
  * Config object that is provided to the BatchWarmingTransport constructor.
38
28
  */
39
- export interface HttpTransportConfig<T extends HttpTransportGenerics> {
40
- prepareRequests: (params: T['Request']['Params'][], config: AdapterConfig<T['CustomSettings']>) => ProviderRequestConfig<T> | ProviderRequestConfig<T>[];
29
+ export interface BatchWarmingTransportConfig<T extends BatchWarmingTransportGenerics> {
30
+ prepareRequest: (params: T['Request']['Params'][], config: AdapterConfig<T['CustomSettings']>) => AxiosRequestConfig<T['Provider']['RequestBody']>;
41
31
  parseResponse: (params: T['Request']['Params'][], res: AxiosResponse<T['Provider']['ResponseBody']>, config: AdapterConfig<T['CustomSettings']>) => ProviderResult<T>[];
42
32
  }
43
33
  /**
@@ -50,15 +40,13 @@ export interface HttpTransportConfig<T extends HttpTransportGenerics> {
50
40
  *
51
41
  * @typeParam T - all types related to the [[Transport]]
52
42
  */
53
- export declare class HttpTransport<T extends HttpTransportGenerics> extends SubscriptionTransport<T> {
43
+ export declare class BatchWarmingTransport<T extends BatchWarmingTransportGenerics> extends SubscriptionTransport<T> {
54
44
  private config;
55
45
  WARMER_ACTIVE: boolean;
56
- requester: Requester;
57
- constructor(config: HttpTransportConfig<T>);
58
- initialize(dependencies: TransportDependencies<T>, config: AdapterConfig<T['CustomSettings']>, endpointName: string): Promise<void>;
46
+ constructor(config: BatchWarmingTransportConfig<T>);
59
47
  getSubscriptionTtlFromConfig(config: AdapterConfig<T['CustomSettings']>): number;
48
+ registerRequest(req: AdapterRequest<T['Request']>, config: AdapterConfig<T['CustomSettings']>): Promise<void>;
60
49
  backgroundHandler(context: EndpointContext<T>, entries: T['Request']['Params'][]): Promise<void>;
61
- private handleRequest;
62
50
  private makeRequest;
63
51
  }
64
52
  export {};
@@ -23,14 +23,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.HttpTransport = void 0;
27
- const axios_1 = require("axios");
26
+ exports.BatchWarmingTransport = void 0;
28
27
  const cacheMetrics = __importStar(require("../cache/metrics"));
29
28
  const rateLimitMetrics = __importStar(require("../rate-limiting/metrics"));
30
29
  const util_1 = require("../util");
31
- const requester_1 = require("../util/requester");
32
30
  const error_1 = require("../validation/error");
33
31
  const subscription_1 = require("./abstract/subscription");
32
+ const util_2 = require("./util");
34
33
  const WARMUP_BATCH_REQUEST_ID = '9002';
35
34
  const logger = (0, util_1.makeLogger)('BatchWarmingTransport');
36
35
  /**
@@ -43,7 +42,7 @@ const logger = (0, util_1.makeLogger)('BatchWarmingTransport');
43
42
  *
44
43
  * @typeParam T - all types related to the [[Transport]]
45
44
  */
46
- class HttpTransport extends subscription_1.SubscriptionTransport {
45
+ class BatchWarmingTransport extends subscription_1.SubscriptionTransport {
47
46
  constructor(config) {
48
47
  super();
49
48
  this.config = config;
@@ -51,13 +50,23 @@ class HttpTransport extends subscription_1.SubscriptionTransport {
51
50
  // Used for recording the cache warmer active metrics accurately
52
51
  this.WARMER_ACTIVE = false;
53
52
  }
54
- async initialize(dependencies, config, endpointName) {
55
- await super.initialize(dependencies, config, endpointName);
56
- this.requester = new requester_1.Requester(dependencies.requestRateLimiter, config);
57
- }
58
53
  getSubscriptionTtlFromConfig(config) {
59
54
  return config.WARMUP_SUBSCRIPTION_TTL;
60
55
  }
56
+ async registerRequest(req, config) {
57
+ if (config.BATCH_TRANSPORT_SETUP_VALIDATION) {
58
+ const response = await this.makeRequest([req.requestContext.data], config);
59
+ if (!response.results.length) {
60
+ throw new error_1.AdapterError({
61
+ statusCode: 200,
62
+ providerStatusCode: response.providerResponse.status,
63
+ message: response.providerResponse.message ||
64
+ 'There was an error while validating the incoming request before adding to the batch subscription set',
65
+ });
66
+ }
67
+ }
68
+ return super.registerRequest(req, config);
69
+ }
61
70
  async backgroundHandler(context, entries) {
62
71
  if (!entries.length) {
63
72
  logger.debug('No entries in batch warming set, skipping');
@@ -73,65 +82,69 @@ class HttpTransport extends subscription_1.SubscriptionTransport {
73
82
  cacheMetrics.cacheWarmerCount.labels({ isBatched: 'true' }).inc();
74
83
  this.WARMER_ACTIVE = true;
75
84
  }
76
- logger.trace(`Have ${entries.length} entries in batch, preparing request...`);
77
- const rawRequests = this.config.prepareRequests(entries, context.adapterConfig);
78
- const requests = Array.isArray(rawRequests) ? rawRequests : [rawRequests];
79
- logger.trace(`Queueing ${requests.length} requests`);
80
- await Promise.all(requests.map((r) => this.handleRequest(r, context.adapterConfig)));
81
- return;
82
- }
83
- async handleRequest(requestConfig, adapterConfig) {
84
- const results = await this.makeRequest(requestConfig, adapterConfig);
85
- if (!results.length) {
85
+ const response = await this.makeRequest(entries, context.adapterConfig);
86
+ if (!response.results?.length) {
86
87
  return;
87
88
  }
88
89
  logger.debug('Setting adapter responses in cache');
89
- await this.responseCache.write(results);
90
+ await this.responseCache.write(response.results);
91
+ // Record cost of data provider call
92
+ const cost = rateLimitMetrics.retrieveCost(response.providerResponse.data);
93
+ rateLimitMetrics.rateLimitCreditsSpentTotal
94
+ .labels({
95
+ feed_id: 'N/A',
96
+ participant_id: WARMUP_BATCH_REQUEST_ID,
97
+ })
98
+ .inc(cost);
99
+ return;
90
100
  }
91
- async makeRequest(requestConfig, adapterConfig) {
101
+ async makeRequest(entries, config) {
102
+ logger.trace(`Have ${entries.length} entries in batch, preparing request...`);
103
+ const request = this.config.prepareRequest(entries, config);
104
+ logger.trace(`Sending request to data provider: ${JSON.stringify(request)}`);
105
+ const providerDataRequested = Date.now();
106
+ let providerResponse;
92
107
  try {
93
- const requesterResult = await this.requester.request(requestConfig.params.map((p) => JSON.stringify(p)).join('|'), requestConfig.request);
94
- // Parse responses and apply timestamps
95
- const results = this.config
96
- .parseResponse(requestConfig.params, requesterResult.response, adapterConfig)
97
- .map((r) => {
98
- const result = r;
99
- const partialResponse = r.response;
100
- result.response.timestamps = {
101
- ...requesterResult.timestamps,
102
- providerIndicatedTime: partialResponse.timestamps?.providerIndicatedTime,
103
- };
104
- return result;
105
- });
106
- // Record cost of data provider call
107
- const cost = rateLimitMetrics.retrieveCost(requesterResult.response.data);
108
- rateLimitMetrics.rateLimitCreditsSpentTotal
109
- .labels({
110
- feed_id: 'N/A',
111
- participant_id: WARMUP_BATCH_REQUEST_ID,
112
- })
113
- .inc(cost);
114
- return results;
108
+ providerResponse = await (0, util_2.axiosRequest)(request, config);
115
109
  }
116
110
  catch (e) {
117
- if (e instanceof error_1.AdapterDataProviderError && e.cause instanceof axios_1.AxiosError) {
118
- const err = e;
119
- const cause = err.cause;
120
- return requestConfig.params.map((entry) => ({
111
+ const err = e.cause;
112
+ const providerDataReceived = Date.now();
113
+ logger.warn(`There was an error while performing the batch request: ${e}`);
114
+ return {
115
+ results: entries.map((entry) => ({
121
116
  params: entry,
122
117
  response: {
123
- errorMessage: `Provider request failed with status ${cause.status}: "${cause.response?.data}"`,
118
+ errorMessage: `Provider request failed with status ${err?.status}: "${err?.response?.data}"`,
124
119
  statusCode: 502,
125
- timestamps: err.timestamps,
120
+ timestamps: {
121
+ providerDataRequested,
122
+ providerDataReceived,
123
+ providerIndicatedTime: undefined,
124
+ },
126
125
  },
127
- }));
128
- }
129
- else {
130
- logger.error(e);
131
- return [];
132
- }
126
+ })),
127
+ providerResponse: e,
128
+ };
133
129
  }
130
+ const providerDataReceived = Date.now();
131
+ // Parse responses and apply timestamps
132
+ const results = this.config.parseResponse(entries, providerResponse, config).map((r) => {
133
+ const result = r;
134
+ const partialResponse = r.response;
135
+ result.response.timestamps = {
136
+ providerDataRequested,
137
+ providerDataReceived,
138
+ providerIndicatedTime: partialResponse.timestamps?.providerIndicatedTime,
139
+ };
140
+ return result;
141
+ });
142
+ logger.debug(`Got response from provider, parsing (raw body: ${providerResponse.data})`);
143
+ return {
144
+ results,
145
+ providerResponse,
146
+ };
134
147
  }
135
148
  }
136
- exports.HttpTransport = HttpTransport;
149
+ exports.BatchWarmingTransport = BatchWarmingTransport;
137
150
  //# sourceMappingURL=batch-warming.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"batch-warming.js","sourceRoot":"","sources":["../../../src/transports/batch-warming.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batch-warming.js","sourceRoot":"","sources":["../../../src/transports/batch-warming.ts"],"names":[],"mappings":"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"}
@@ -110,6 +110,10 @@ class HttpTransport extends subscription_1.SubscriptionTransport {
110
110
  }
111
111
  async makeRequest(requestConfig, adapterConfig) {
112
112
  try {
113
+ // The key generated here that we pass to the requester is potentially very long, but we're not considering it an issue given that:
114
+ // - the requester will store values in memory, so we're not sending the string anywhere
115
+ // - there's no problems using very large strings as object keys
116
+ // - there should be a limit on the amount of subscriptions in the set
113
117
  const requesterResult = await this.requester.request(requestConfig.params.map((p) => JSON.stringify(p)).join('|'), requestConfig.request);
114
118
  // Parse responses and apply timestamps
115
119
  const results = this.config
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/transports/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/transports/http.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ export declare class RoutingTransport<T extends TransportGenerics> implements Me
15
15
  private route;
16
16
  constructor(transports: {
17
17
  [key: string]: Transport<T>;
18
- }, route: (req: AdapterRequest<T['Request']>, adapterConfig?: AdapterConfig<T['CustomSettings']>) => string);
18
+ }, route: (req: AdapterRequest<T['Request']>, adapterConfig: AdapterConfig<T['CustomSettings']>) => string);
19
19
  responseCache: ResponseCache<{
20
20
  Request: T['Request'];
21
21
  Response: T['Response'];
@@ -36,7 +36,7 @@ class RoutingTransport {
36
36
  }
37
37
  resolveTransport(req, adapterConfig) {
38
38
  logger.debug(`routing request using `, req.requestContext.data);
39
- const key = this.route(req, adapterConfig || undefined);
39
+ const key = this.route(req, adapterConfig);
40
40
  if (!this.transports[key]) {
41
41
  logger.error(`No transport found for key ${key}`);
42
42
  throw new error_1.AdapterError({ statusCode: 400, message: `No transport found for ${key}` });
@@ -1 +1 @@
1
- {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../../../src/transports/meta/routing.ts"],"names":[],"mappings":";;;AAGA,qCAAwE;AACxE,kDAAqD;AAGrD,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,kBAAkB,CAAC,CAAA;AAE7C;;;;GAIG;AACH,MAAa,gBAAgB;IAI3B;IACE,6GAA6G;IACtG,UAA2C;IAClD,+FAA+F;IACvF,KAGG;QALJ,eAAU,GAAV,UAAU,CAAiC;QAE1C,UAAK,GAAL,KAAK,CAGF;IACV,CAAC;IAOJ,KAAK,CAAC,UAAU,CACd,YAAsC,EACtC,aAAiD,EACjD,YAAoB;QAEpB,MAAM,CAAC,KAAK,CAAC,gBAAgB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,aAAa,CAAC,CAAA;QAC9E,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE;YACxD,MAAM,CAAC,KAAK,CAAC,0BAA0B,IAAI,KAAK,SAAS,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAA;YAC9E,OAAO,SAAS,CAAC,UAAU,CAAC,YAAY,EAAE,aAAa,EAAE,YAAY,CAAC,CAAA;QACxE,CAAC,CAAC,CACH,CAAA;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,GAAiC,EACjC,aAAiD;QAEjD,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QAEnE,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;QAC3D,IAAI,SAAS,CAAC,eAAe,EAAE;YAC7B,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAA;YAC9D,OAAO,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;SACrD;QACD,MAAM,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAA;IACvE,CAAC;IAEO,gBAAgB,CACtB,GAAiC,EACjC,aAAkD;QAElD,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,IAAI,SAAS,CAAC,CAAA;QACvD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACzB,MAAM,CAAC,KAAK,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAA;YACjD,MAAM,IAAI,oBAAY,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,0BAA0B,GAAG,EAAE,EAAE,CAAC,CAAA;SACtF;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QACtC,MAAM,CAAC,KAAK,CAAC,SAAS,SAAS,CAAC,WAAW,CAAC,IAAI,qBAAqB,GAAG,EAAE,CAAC,CAAA;QAC3E,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,oFAAoF;IACpF,wDAAwD;IACxD,KAAK,CAAC,iBAAiB,CACrB,GAAiC,EACjC,aAAiD;QAEjD,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;QAC3D,IAAI,SAAS,CAAC,iBAAiB,EAAE;YAC/B,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAA;YAChE,OAAO,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;SACvD;QACD,MAAM,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAA;IACzE,CAAC;CACF;AA3ED,4CA2EC"}
1
+ {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../../../src/transports/meta/routing.ts"],"names":[],"mappings":";;;AAGA,qCAAwE;AACxE,kDAAqD;AAGrD,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,kBAAkB,CAAC,CAAA;AAE7C;;;;GAIG;AACH,MAAa,gBAAgB;IAI3B;IACE,6GAA6G;IACtG,UAA2C;IAClD,+FAA+F;IACvF,KAGG;QALJ,eAAU,GAAV,UAAU,CAAiC;QAE1C,UAAK,GAAL,KAAK,CAGF;IACV,CAAC;IAOJ,KAAK,CAAC,UAAU,CACd,YAAsC,EACtC,aAAiD,EACjD,YAAoB;QAEpB,MAAM,CAAC,KAAK,CAAC,gBAAgB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,aAAa,CAAC,CAAA;QAC9E,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE;YACxD,MAAM,CAAC,KAAK,CAAC,0BAA0B,IAAI,KAAK,SAAS,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAA;YAC9E,OAAO,SAAS,CAAC,UAAU,CAAC,YAAY,EAAE,aAAa,EAAE,YAAY,CAAC,CAAA;QACxE,CAAC,CAAC,CACH,CAAA;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,GAAiC,EACjC,aAAiD;QAEjD,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QAEnE,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;QAC3D,IAAI,SAAS,CAAC,eAAe,EAAE;YAC7B,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAA;YAC9D,OAAO,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;SACrD;QACD,MAAM,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAA;IACvE,CAAC;IAEO,gBAAgB,CACtB,GAAiC,EACjC,aAAiD;QAEjD,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;QAC1C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACzB,MAAM,CAAC,KAAK,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAA;YACjD,MAAM,IAAI,oBAAY,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,0BAA0B,GAAG,EAAE,EAAE,CAAC,CAAA;SACtF;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QACtC,MAAM,CAAC,KAAK,CAAC,SAAS,SAAS,CAAC,WAAW,CAAC,IAAI,qBAAqB,GAAG,EAAE,CAAC,CAAA;QAC3E,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,oFAAoF;IACpF,wDAAwD;IACxD,KAAK,CAAC,iBAAiB,CACrB,GAAiC,EACjC,aAAiD;QAEjD,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;QAC3D,IAAI,SAAS,CAAC,iBAAiB,EAAE;YAC/B,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAA;YAChE,OAAO,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;SACvD;QACD,MAAM,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAA;IACzE,CAAC;CACF;AA3ED,4CA2EC"}
@@ -0,0 +1,22 @@
1
+ import { AdapterDependencies } from '../adapter';
2
+ import { AdapterConfig } from '../config';
3
+ import { AdapterRequest, AdapterResponse } from '../util';
4
+ import { MetaTransport, Transport, TransportGenerics } from './';
5
+ /**
6
+ * Transport implementation that takes 2 or more transports and a function that determines with transport to use.
7
+ *
8
+ * @typeParam T - Helper struct type that will be used to pass types to the generic parameters (check [[TransportGenerics]])
9
+ */
10
+ export declare class RoutingTransport<T extends TransportGenerics> implements MetaTransport<T> {
11
+ transports: {
12
+ [key: string]: Transport<T>;
13
+ };
14
+ private route;
15
+ constructor(transports: {
16
+ [key: string]: Transport<T>;
17
+ }, route: (req: AdapterRequest<T['Request']>, adapterConfig?: AdapterConfig<T['CustomSettings']>) => string);
18
+ initialize(dependencies: AdapterDependencies, adapterConfig: AdapterConfig<T['CustomSettings']>, endpointName: string): Promise<void>;
19
+ registerRequest(req: AdapterRequest<T['Request']>, adapterConfig: AdapterConfig<T['CustomSettings']>): Promise<void>;
20
+ private resolveTransport;
21
+ foregroundExecute(req: AdapterRequest<T['Request']>, adapterConfig: AdapterConfig<T['CustomSettings']>): Promise<AdapterResponse<any> | void>;
22
+ }
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RoutingTransport = void 0;
4
+ const util_1 = require("../util");
5
+ const error_1 = require("../validation/error");
6
+ const logger = (0, util_1.makeLogger)('RoutingTransport');
7
+ /**
8
+ * Transport implementation that takes 2 or more transports and a function that determines with transport to use.
9
+ *
10
+ * @typeParam T - Helper struct type that will be used to pass types to the generic parameters (check [[TransportGenerics]])
11
+ */
12
+ class RoutingTransport {
13
+ constructor(
14
+ // This is public for tests, which sometimes need the underlying transport for things like ticking the clock
15
+ transports,
16
+ // Route should return to a string key that corresponds to a transport in the transports object
17
+ route) {
18
+ this.transports = transports;
19
+ this.route = route;
20
+ }
21
+ async initialize(dependencies, adapterConfig, endpointName) {
22
+ logger.debug(`Initializing ${Object.keys(this.transports).length} transports`);
23
+ Object.entries(this.transports).forEach(([k, v]) => {
24
+ logger.debug(`Initializing transport ${k} (${v.constructor.name})`);
25
+ v.initialize(dependencies, adapterConfig, endpointName);
26
+ });
27
+ }
28
+ async registerRequest(req, adapterConfig) {
29
+ logger.debug(`registering request using `, req.requestContext.data);
30
+ const transport = this.resolveTransport(req, adapterConfig);
31
+ if (transport.registerRequest) {
32
+ logger.debug(`Running registerRequest on retrieved transport`);
33
+ return transport.registerRequest(req, adapterConfig);
34
+ }
35
+ logger.debug(`Retrieved transport doesn't implement registerRequest`);
36
+ }
37
+ resolveTransport(req, adapterConfig) {
38
+ logger.debug(`routing request using `, req.requestContext.data);
39
+ const key = this.route(req, adapterConfig || undefined);
40
+ if (!this.transports[key]) {
41
+ logger.error(`No transport found for key ${key}`);
42
+ throw new error_1.AdapterError({ statusCode: 400, message: `No transport found for ${key}` });
43
+ }
44
+ const transport = this.transports[key];
45
+ logger.debug(`Found ${transport.constructor.name} corresponding to ${key}`);
46
+ return transport;
47
+ }
48
+ // Allow AdapterResponse<any> below since we don't know what the adapter will return
49
+ /* eslint-disable @typescript-eslint/no-explicit-any */
50
+ async foregroundExecute(req, adapterConfig) {
51
+ const transport = this.resolveTransport(req, adapterConfig);
52
+ if (transport.foregroundExecute) {
53
+ logger.debug(`Running foregroundExecute on retrieved transport`);
54
+ return transport.foregroundExecute(req, adapterConfig);
55
+ }
56
+ logger.debug(`Retrieved transport doesn't implement foregroundExecute`);
57
+ }
58
+ }
59
+ exports.RoutingTransport = RoutingTransport;
60
+ //# sourceMappingURL=routing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../../src/transports/routing.ts"],"names":[],"mappings":";;;AAEA,kCAAqE;AACrE,+CAAkD;AAGlD,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,kBAAkB,CAAC,CAAA;AAE7C;;;;GAIG;AACH,MAAa,gBAAgB;IAI3B;IACE,6GAA6G;IACtG,UAA2C;IAClD,+FAA+F;IACvF,KAGG;QALJ,eAAU,GAAV,UAAU,CAAiC;QAE1C,UAAK,GAAL,KAAK,CAGF;IACV,CAAC;IAEJ,KAAK,CAAC,UAAU,CACd,YAAiC,EACjC,aAAiD,EACjD,YAAoB;QAEpB,MAAM,CAAC,KAAK,CAAC,gBAAgB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,aAAa,CAAC,CAAA;QAC9E,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;YACjD,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAA;YACnE,CAAC,CAAC,UAAU,CAAC,YAAY,EAAE,aAAa,EAAE,YAAY,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,GAAiC,EACjC,aAAiD;QAEjD,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QAEnE,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;QAC3D,IAAI,SAAS,CAAC,eAAe,EAAE;YAC7B,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAA;YAC9D,OAAO,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;SACrD;QACD,MAAM,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAA;IACvE,CAAC;IAEO,gBAAgB,CACtB,GAAiC,EACjC,aAAkD;QAElD,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,IAAI,SAAS,CAAC,CAAA;QACvD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACzB,MAAM,CAAC,KAAK,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAA;YACjD,MAAM,IAAI,oBAAY,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,0BAA0B,GAAG,EAAE,EAAE,CAAC,CAAA;SACtF;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QACtC,MAAM,CAAC,KAAK,CAAC,SAAS,SAAS,CAAC,WAAW,CAAC,IAAI,qBAAqB,GAAG,EAAE,CAAC,CAAA;QAC3E,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,oFAAoF;IACpF,wDAAwD;IACxD,KAAK,CAAC,iBAAiB,CACrB,GAAiC,EACjC,aAAiD;QAEjD,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;QAC3D,IAAI,SAAS,CAAC,iBAAiB,EAAE;YAC/B,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAA;YAChE,OAAO,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;SACvD;QACD,MAAM,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAA;IACzE,CAAC;CACF;AApED,4CAoEC"}
@@ -34,9 +34,10 @@ export interface WebSocketTransportConfig<T extends WebsocketTransportGenerics>
34
34
  *
35
35
  * @param message - the message received by the WS
36
36
  * @param context - the background context for the Adapter
37
+ * @param params - current params in the subscription set
37
38
  * @returns a list of cache entries of adapter responses to set in the cache
38
39
  */
39
- message: (message: T['Provider']['WsMessage'], context: EndpointContext<T>) => ProviderResult<T>[] | undefined;
40
+ message: (message: T['Provider']['WsMessage'], context: EndpointContext<T>, params: T['Request']['Params'][]) => ProviderResult<T>[] | undefined;
40
41
  };
41
42
  /** Map of "builders", functions that will be used to prepare specific WS messages */
42
43
  builders?: {
@@ -83,6 +84,7 @@ export declare class WebSocketTransport<T extends WebsocketTransportGenerics> ex
83
84
  currentUrl: string;
84
85
  lastMessageReceivedAt: number;
85
86
  connectionOpenedAt: number;
87
+ desiredSubscriptions: T['Request']['Params'][];
86
88
  constructor(config: WebSocketTransportConfig<T>);
87
89
  getSubscriptionTtlFromConfig(config: AdapterConfig<T['CustomSettings']>): number;
88
90
  connectionClosed(): boolean;
@@ -56,6 +56,7 @@ class WebSocketTransport extends streaming_1.StreamingTransport {
56
56
  this.currentUrl = '';
57
57
  this.lastMessageReceivedAt = 0;
58
58
  this.connectionOpenedAt = 0;
59
+ this.desiredSubscriptions = [];
59
60
  }
60
61
  getSubscriptionTtlFromConfig(config) {
61
62
  return config.WS_SUBSCRIPTION_TTL;
@@ -87,7 +88,9 @@ class WebSocketTransport extends streaming_1.StreamingTransport {
87
88
  const parsed = this.deserializeMessage(event.data);
88
89
  logger.trace(`Got ws message: ${event.data}`);
89
90
  const providerDataReceived = Date.now();
90
- const results = this.config.handlers.message(parsed, context)?.map((r) => {
91
+ const results = this.config.handlers
92
+ .message(parsed, context, this.desiredSubscriptions)
93
+ ?.map((r) => {
91
94
  const result = r;
92
95
  const partialResponse = r.response;
93
96
  result.response.timestamps = {
@@ -149,6 +152,7 @@ class WebSocketTransport extends streaming_1.StreamingTransport {
149
152
  }
150
153
  }
151
154
  async streamHandler(context, subscriptions) {
155
+ this.desiredSubscriptions = subscriptions.desired;
152
156
  // New subs && no connection -> connect -> add subs
153
157
  // No new subs && no connection -> skip
154
158
  // New subs && connection -> add subs
@@ -159,7 +163,7 @@ class WebSocketTransport extends streaming_1.StreamingTransport {
159
163
  }
160
164
  // We want to check if the URL we calculate is different from the one currently connected.
161
165
  // This is because some providers handle subscriptions on the URLs and not through messages.
162
- const urlFromConfig = await this.config.url(context, subscriptions.desired);
166
+ const urlFromConfig = await this.config.url(context, this.desiredSubscriptions);
163
167
  const urlChanged = this.currentUrl !== urlFromConfig;
164
168
  // We want to check that if we have a connection, it hasn't gone stale. That is,
165
169
  // since opening it, have we had any activity from the provider.
@@ -185,7 +189,7 @@ class WebSocketTransport extends streaming_1.StreamingTransport {
185
189
  }
186
190
  }
187
191
  // Check if we need to open a new connection
188
- if (connectionClosed && subscriptions.desired.length) {
192
+ if (connectionClosed && this.desiredSubscriptions.length) {
189
193
  logger.debug('No established connection and new subscriptions available, connecting to WS');
190
194
  const options = this.config.options && (await this.config.options(context));
191
195
  this.currentUrl = urlFromConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../../src/transports/websocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../../src/transports/websocket.ts"],"names":[],"mappings":"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"}