@chainlink/external-adapter-framework 0.26.1 → 0.27.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 (62) hide show
  1. package/adapter/basic.d.ts +9 -19
  2. package/adapter/basic.js +43 -63
  3. package/adapter/basic.js.map +1 -1
  4. package/adapter/endpoint.d.ts +7 -7
  5. package/adapter/endpoint.js +17 -25
  6. package/adapter/endpoint.js.map +1 -1
  7. package/adapter/price.d.ts +3 -3
  8. package/adapter/price.js.map +1 -1
  9. package/adapter/types.d.ts +12 -14
  10. package/background-executor.js +7 -7
  11. package/background-executor.js.map +1 -1
  12. package/cache/index.d.ts +4 -5
  13. package/cache/index.js +8 -8
  14. package/cache/index.js.map +1 -1
  15. package/cache/response.d.ts +4 -4
  16. package/cache/response.js +7 -6
  17. package/cache/response.js.map +1 -1
  18. package/config/index.d.ts +64 -16
  19. package/config/index.js +88 -26
  20. package/config/index.js.map +1 -1
  21. package/index.d.ts +4 -4
  22. package/index.js +25 -21
  23. package/index.js.map +1 -1
  24. package/metrics/index.d.ts +10 -8
  25. package/metrics/index.js +23 -11
  26. package/metrics/index.js.map +1 -1
  27. package/metrics/util.d.ts +1 -2
  28. package/metrics/util.js.map +1 -1
  29. package/package.json +2 -2
  30. package/rate-limiting/index.d.ts +4 -4
  31. package/rate-limiting/index.js +13 -13
  32. package/rate-limiting/index.js.map +1 -1
  33. package/transports/abstract/subscription.d.ts +5 -6
  34. package/transports/abstract/subscription.js +4 -4
  35. package/transports/abstract/subscription.js.map +1 -1
  36. package/transports/http.d.ts +8 -9
  37. package/transports/http.js +14 -14
  38. package/transports/http.js.map +1 -1
  39. package/transports/index.d.ts +15 -8
  40. package/transports/index.js +28 -0
  41. package/transports/index.js.map +1 -1
  42. package/transports/metrics.d.ts +1 -2
  43. package/transports/metrics.js.map +1 -1
  44. package/transports/sse.d.ts +3 -4
  45. package/transports/sse.js +8 -8
  46. package/transports/sse.js.map +1 -1
  47. package/transports/websocket.d.ts +3 -4
  48. package/transports/websocket.js +34 -18
  49. package/transports/websocket.js.map +1 -1
  50. package/util/index.d.ts +10 -0
  51. package/util/index.js +23 -1
  52. package/util/index.js.map +1 -1
  53. package/util/logger.js +1 -1
  54. package/util/logger.js.map +1 -1
  55. package/util/requester.d.ts +2 -2
  56. package/util/requester.js +4 -4
  57. package/util/requester.js.map +1 -1
  58. package/util/subscription-set/subscription-set.d.ts +2 -2
  59. package/util/subscription-set/subscription-set.js +3 -3
  60. package/util/subscription-set/subscription-set.js.map +1 -1
  61. package/validation/index.js +11 -10
  62. package/validation/index.js.map +1 -1
@@ -1,32 +1,27 @@
1
- import { AdapterConfig, BaseAdapterConfig, SettingsMap } from '../config';
2
- import { AdapterRequest, AdapterResponse, Merge } from '../util';
1
+ import { AdapterConfig, BaseAdapterSettings, SettingsDefinitionMap } from '../config';
2
+ import { AdapterRequest, AdapterResponse } from '../util';
3
3
  import { AdapterEndpoint } from './endpoint';
4
- import { AdapterDependencies, AdapterParams, AdapterRateLimitingConfig, CustomAdapterSettings, EndpointGenerics } from './types';
4
+ import { AdapterDependencies, AdapterParams, AdapterRateLimitingConfig, EndpointGenerics } from './types';
5
5
  /**
6
6
  * Main class to represent an External Adapter
7
7
  */
8
- export declare class Adapter<CustomSettings extends CustomAdapterSettings = SettingsMap> implements Omit<AdapterParams<CustomSettings>, 'bootstrap'> {
8
+ export declare class Adapter<CustomSettingsDefinition extends SettingsDefinitionMap = SettingsDefinitionMap> implements Omit<AdapterParams<CustomSettingsDefinition>, 'bootstrap'> {
9
9
  name: Uppercase<string>;
10
10
  defaultEndpoint?: string | undefined;
11
- endpoints: AdapterEndpoint<Merge<EndpointGenerics, {
12
- CustomSettings: CustomSettings;
13
- }>>[];
14
- envDefaultOverrides?: Partial<BaseAdapterConfig> | undefined;
15
- customSettings?: SettingsMap | undefined;
11
+ endpoints: AdapterEndpoint<EndpointGenerics>[];
12
+ envDefaultOverrides?: Partial<BaseAdapterSettings> | undefined;
16
13
  rateLimiting?: AdapterRateLimitingConfig | undefined;
17
14
  envVarsPrefix?: string;
18
15
  initialized: boolean;
19
16
  /** Object containing alias translations for all endpoints */
20
- endpointsMap: Record<string, AdapterEndpoint<Merge<EndpointGenerics, {
21
- CustomSettings: CustomSettings;
22
- }>>>;
17
+ endpointsMap: Record<string, AdapterEndpoint<EndpointGenerics>>;
23
18
  /** Initialized dependencies that the adapter will use */
24
19
  dependencies: AdapterDependencies;
25
20
  /** Configuration params for various adapter properties */
26
- config: AdapterConfig<CustomSettings>;
21
+ config: AdapterConfig<CustomSettingsDefinition>;
27
22
  /** Bootstrap function that will run when initializing the adapter */
28
23
  private readonly bootstrap?;
29
- constructor(params: AdapterParams<CustomSettings>);
24
+ constructor(params: AdapterParams<CustomSettingsDefinition>);
30
25
  /**
31
26
  * Initializes all of the [[Transport]]s in the adapter, passing along any [[AdapterDependencies]] and [[AdapterConfig]].
32
27
  * Additionally, it builds a map out of all the endpoint names and aliases (checking for duplicates).
@@ -43,11 +38,6 @@ export declare class Adapter<CustomSettings extends CustomAdapterSettings = Sett
43
38
  *
44
39
  */
45
40
  private calculateRateLimitAllocations;
46
- /**
47
- * Creates a list of key/value pairs that need to be censored in the logs
48
- * using the sensitive flag in the adapter config
49
- */
50
- private buildCensorList;
51
41
  /**
52
42
  * Logs a warning for certain configs if set to particular values.
53
43
  * Used to warn stakeholders of potential risks.
package/adapter/basic.js CHANGED
@@ -11,7 +11,6 @@ const config_1 = require("../config");
11
11
  const metrics_2 = require("../metrics");
12
12
  const rate_limiting_1 = require("../rate-limiting");
13
13
  const util_1 = require("../util");
14
- const censor_list_1 = __importDefault(require("../util/censor/censor-list"));
15
14
  const requester_1 = require("../util/requester");
16
15
  const error_1 = require("../validation/error");
17
16
  const logger = (0, util_1.makeLogger)('Adapter');
@@ -28,15 +27,11 @@ class Adapter {
28
27
  this.name = params.name;
29
28
  this.defaultEndpoint = params.defaultEndpoint?.toLowerCase();
30
29
  this.endpoints = params.endpoints;
31
- this.envDefaultOverrides = params.envDefaultOverrides;
32
- this.customSettings = params.customSettings;
33
30
  this.rateLimiting = params.rateLimiting;
34
31
  this.bootstrap = params.bootstrap;
35
- this.config = (0, config_1.buildAdapterConfig)({
36
- overrides: this.envDefaultOverrides,
37
- customSettings: this.customSettings,
38
- envVarsPrefix: this.envVarsPrefix,
39
- });
32
+ this.config =
33
+ params.config || new config_1.AdapterConfig({});
34
+ this.config.initialize();
40
35
  this.normalizeEndpointNames();
41
36
  this.calculateRateLimitAllocations();
42
37
  }
@@ -51,7 +46,7 @@ class Adapter {
51
46
  // Initialize metrics to register them with the prom-client
52
47
  metrics_2.metrics.initialize();
53
48
  // Building configs during initialization to avoid validation errors during construction
54
- (0, config_1.validateAdapterConfig)(this.config, this.customSettings);
49
+ this.config.validate();
55
50
  // Log warnings for risks associated with certain configs and values
56
51
  this.logConfigWarnings();
57
52
  if (this.bootstrap) {
@@ -68,11 +63,11 @@ class Adapter {
68
63
  this.endpointsMap[alias] = endpoint;
69
64
  }
70
65
  logger.debug(`Initializing endpoint "${endpoint.name}"...`);
71
- await endpoint.initialize(this.name, this.dependencies, this.config);
66
+ await endpoint.initialize(this.name, this.dependencies, this.config.settings);
72
67
  }
73
68
  // Build list of key/values that need to be redacted in logs
74
69
  // Populates the static array in CensorList to use in censor-transport
75
- this.buildCensorList();
70
+ this.config.buildCensorList();
76
71
  logger.debug('Adapter initialization complete.');
77
72
  this.initialized = true;
78
73
  }
@@ -115,43 +110,24 @@ class Adapter {
115
110
  logger.debug(`Endpoint [${endpoint.name}] - ${endpoint.rateLimiting?.allocationPercentage}%`);
116
111
  }
117
112
  }
118
- /**
119
- * Creates a list of key/value pairs that need to be censored in the logs
120
- * using the sensitive flag in the adapter config
121
- */
122
- buildCensorList() {
123
- const censorList = Object.entries(config_1.BaseSettings)
124
- .concat(Object.entries(this.customSettings || {}))
125
- .filter(([name, setting]) => setting &&
126
- setting.type === 'string' &&
127
- setting.sensitive &&
128
- this.config[name])
129
- .map(([name]) => ({
130
- key: name,
131
- // Escaping potential special characters in values before creating regex
132
- value: new RegExp(
133
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
134
- this.config[name].replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'), 'gi'),
135
- }));
136
- censor_list_1.default.set(censorList);
137
- }
138
113
  /**
139
114
  * Logs a warning for certain configs if set to particular values.
140
115
  * Used to warn stakeholders of potential risks.
141
116
  */
142
117
  logConfigWarnings() {
143
- if (this.config.LOG_LEVEL.toUpperCase() === 'DEBUG' ||
144
- this.config.LOG_LEVEL.toUpperCase() === 'TRACE') {
145
- logger.warn(`LOG_LEVEL has been set to ${this.config.LOG_LEVEL.toUpperCase()}. Setting higher log levels results in increased memory usage and potentially slower performance.`);
118
+ if (this.config.settings.LOG_LEVEL.toUpperCase() === 'DEBUG' ||
119
+ this.config.settings.LOG_LEVEL.toUpperCase() === 'TRACE') {
120
+ logger.warn(`LOG_LEVEL has been set to ${this.config.settings.LOG_LEVEL.toUpperCase()}. Setting higher log levels results in increased memory usage and potentially slower performance.`);
146
121
  }
147
- if (this.config.DEBUG === true) {
122
+ if (this.config.settings.DEBUG === true) {
148
123
  logger.warn(`The adapter is running with DEBUG mode on.`);
149
124
  }
150
- if (this.config.METRICS_ENABLED === false) {
125
+ if (this.config.settings.METRICS_ENABLED === false) {
151
126
  logger.warn(`METRICS_ENABLED has been set to false. Metrics should not be disabled in a production environment.`);
152
127
  }
153
- if (this.config.MAX_PAYLOAD_SIZE_LIMIT !== config_1.BaseSettings.MAX_PAYLOAD_SIZE_LIMIT.default) {
154
- logger.warn(`MAX_PAYLOAD_SIZE_LIMIT has been set to ${this.config.MAX_PAYLOAD_SIZE_LIMIT}. This setting should only be set when absolutely necessary.`);
128
+ if (this.config.settings.MAX_PAYLOAD_SIZE_LIMIT !==
129
+ config_1.BaseSettingsDefinition.MAX_PAYLOAD_SIZE_LIMIT.default) {
130
+ logger.warn(`MAX_PAYLOAD_SIZE_LIMIT has been set to ${this.config.settings.MAX_PAYLOAD_SIZE_LIMIT}. This setting should only be set when absolutely necessary.`);
155
131
  }
156
132
  }
157
133
  /**
@@ -164,25 +140,25 @@ class Adapter {
164
140
  initializeDependencies(inputDependencies) {
165
141
  const dependencies = inputDependencies || {};
166
142
  if (!dependencies.redisClient) {
167
- if (this.config.CACHE_TYPE === 'redis') {
168
- const maxCooldown = this.config.CACHE_REDIS_MAX_RECONNECT_COOLDOWN;
143
+ if (this.config.settings.CACHE_TYPE === 'redis') {
144
+ const maxCooldown = this.config.settings.CACHE_REDIS_MAX_RECONNECT_COOLDOWN;
169
145
  const redisOptions = {
170
146
  enableAutoPipelining: true,
171
- host: this.config.CACHE_REDIS_HOST,
172
- port: this.config.CACHE_REDIS_PORT,
173
- password: this.config.CACHE_REDIS_PASSWORD,
174
- path: this.config.CACHE_REDIS_PATH,
175
- timeout: this.config.CACHE_REDIS_TIMEOUT,
147
+ host: this.config.settings.CACHE_REDIS_HOST,
148
+ port: this.config.settings.CACHE_REDIS_PORT,
149
+ password: this.config.settings.CACHE_REDIS_PASSWORD,
150
+ path: this.config.settings.CACHE_REDIS_PATH,
151
+ timeout: this.config.settings.CACHE_REDIS_TIMEOUT,
176
152
  retryStrategy(times) {
177
153
  metrics_2.metrics.get('redisRetriesCount').inc();
178
154
  logger.warn(`Redis reconnect attempt #${times}`);
179
155
  return Math.min(times * 100, maxCooldown); // Next reconnect attempt time
180
156
  },
181
- connectTimeout: this.config.CACHE_REDIS_CONNECTION_TIMEOUT,
157
+ connectTimeout: this.config.settings.CACHE_REDIS_CONNECTION_TIMEOUT,
182
158
  maxRetriesPerRequest: 30, // Limits the number of retries before the adapter shuts down
183
159
  };
184
- if (this.config.CACHE_REDIS_URL) {
185
- dependencies.redisClient = new ioredis_1.default(this.config.CACHE_REDIS_URL, redisOptions);
160
+ if (this.config.settings.CACHE_REDIS_URL) {
161
+ dependencies.redisClient = new ioredis_1.default(this.config.settings.CACHE_REDIS_URL, redisOptions);
186
162
  }
187
163
  else {
188
164
  dependencies.redisClient = new ioredis_1.default(redisOptions);
@@ -193,18 +169,21 @@ class Adapter {
193
169
  }
194
170
  }
195
171
  if (!dependencies.cache) {
196
- dependencies.cache = cache_1.CacheFactory.buildCache({ cacheType: this.config.CACHE_TYPE, maxSizeForLocalCache: this.config.CACHE_MAX_ITEMS }, dependencies.redisClient);
172
+ dependencies.cache = cache_1.CacheFactory.buildCache({
173
+ cacheType: this.config.settings.CACHE_TYPE,
174
+ maxSizeForLocalCache: this.config.settings.CACHE_MAX_ITEMS,
175
+ }, dependencies.redisClient);
197
176
  }
198
- const rateLimitingTier = (0, rate_limiting_1.getRateLimitingTier)(this.config, this.rateLimiting?.tiers);
177
+ const rateLimitingTier = (0, rate_limiting_1.getRateLimitingTier)(this.config.settings, this.rateLimiting?.tiers);
199
178
  const highestTierValue = (0, rate_limiting_1.highestRateLimitTiers)(this.rateLimiting?.tiers);
200
- const rateLimitTierFromConfig = (0, rate_limiting_1.buildRateLimitTiersFromConfig)(this.config);
179
+ const rateLimitTierFromConfig = (0, rate_limiting_1.buildRateLimitTiersFromConfig)(this.config.settings);
201
180
  const perSecRateLimit = rateLimitTierFromConfig?.rateLimit1s || 0;
202
181
  const perMinuteRateLimit = (rateLimitTierFromConfig?.rateLimit1m || 0) * 60;
203
182
  if (perSecRateLimit > highestTierValue) {
204
183
  logger.warn(`The configured RATE_LIMIT_CAPACITY_SECOND value is higher than the highest tier value in the adapter rate limiting configurations ${highestTierValue}`);
205
184
  }
206
185
  if (perMinuteRateLimit > highestTierValue) {
207
- logger.warn(`The configured ${this.config.RATE_LIMIT_CAPACITY_MINUTE
186
+ logger.warn(`The configured ${this.config.settings.RATE_LIMIT_CAPACITY_MINUTE
208
187
  ? 'RATE_LIMIT_CAPACITY_MINUTE'
209
188
  : 'RATE_LIMIT_CAPACITY'}
210
189
  value is higher than the highest tier value the adapter rate limiting configurations ${highestTierValue}`);
@@ -213,10 +192,10 @@ class Adapter {
213
192
  dependencies.rateLimiter = new rate_limiting_1.SimpleCountingRateLimiter().initialize(this.endpoints, rateLimitingTier);
214
193
  }
215
194
  if (!dependencies.subscriptionSetFactory) {
216
- dependencies.subscriptionSetFactory = new util_1.SubscriptionSetFactory(this.config, this.name, dependencies.redisClient);
195
+ dependencies.subscriptionSetFactory = new util_1.SubscriptionSetFactory(this.config.settings, this.name, dependencies.redisClient);
217
196
  }
218
197
  if (!dependencies.requester) {
219
- dependencies.requester = new requester_1.Requester(dependencies.rateLimiter, this.config);
198
+ dependencies.requester = new requester_1.Requester(dependencies.rateLimiter, this.config.settings);
220
199
  }
221
200
  return dependencies;
222
201
  }
@@ -229,8 +208,9 @@ class Adapter {
229
208
  async findResponseInCache(req) {
230
209
  const response = await this.dependencies.cache.get(req.requestContext.cacheKey);
231
210
  if (response) {
232
- if (this.config.METRICS_ENABLED && this.config.EXPERIMENTAL_METRICS_ENABLED) {
233
- const label = (0, metrics_1.cacheMetricsLabel)(req.requestContext.cacheKey, req.requestContext.meta?.metrics?.feedId || 'N/A', this.config.CACHE_TYPE);
211
+ if (this.config.settings.METRICS_ENABLED &&
212
+ this.config.settings.EXPERIMENTAL_METRICS_ENABLED) {
213
+ const label = (0, metrics_1.cacheMetricsLabel)(req.requestContext.cacheKey, req.requestContext.meta?.metrics?.feedId || 'N/A', this.config.settings.CACHE_TYPE);
234
214
  // Record cache staleness and cache get count and value
235
215
  const now = Date.now();
236
216
  (0, metrics_1.cacheGet)(label, response.result, {
@@ -257,7 +237,7 @@ class Adapter {
257
237
  async handleRequest(req, replySent) {
258
238
  // Get transport, must be here because it's already checked in the validator
259
239
  const endpoint = this.endpointsMap[req.requestContext.endpointName];
260
- const transport = endpoint.transports[req.requestContext.transportName];
240
+ const transport = endpoint.transportRoutes.get(req.requestContext.transportName);
261
241
  // First try to find the response in our cache, keep it ready
262
242
  const cachedResponse = await this.findResponseInCache(req);
263
243
  // Next we fire off the transport's registration of the request if defined, regardless of if we already have a cached response.
@@ -275,7 +255,7 @@ class Adapter {
275
255
  // `await` is required to catch the error, you'll get an unhandled promise rejection otherwise
276
256
  // Disable non-null assertion operator because we already checked for the existence of registerRequest
277
257
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
278
- return await transport.registerRequest(req, this.config);
258
+ return await transport.registerRequest(req, this.config.settings);
279
259
  }
280
260
  catch (err) {
281
261
  logger.error(`Error registering request: ${err}`);
@@ -292,7 +272,7 @@ class Adapter {
292
272
  return cachedResponse;
293
273
  }
294
274
  // If there was no cached response, execute the foregroundExecute if defined
295
- const immediateResponse = transport.foregroundExecute && (await transport.foregroundExecute(req, this.config));
275
+ const immediateResponse = transport.foregroundExecute && (await transport.foregroundExecute(req, this.config.settings));
296
276
  if (immediateResponse) {
297
277
  logger.debug('Got immediate response from transport, sending as response');
298
278
  return immediateResponse;
@@ -308,12 +288,12 @@ class Adapter {
308
288
  // Observe the idle time taken for polling response
309
289
  const metricsTimer = metrics_2.metrics
310
290
  .get('transportPollingDurationSeconds')
311
- .labels({ endpoint: req.requestContext.endpointName })
291
+ .labels({ adapter_endpoint: req.requestContext.endpointName })
312
292
  .startTimer();
313
293
  logger.debug('Transport is set up, polling cache for response...');
314
294
  const response = await (0, cache_1.pollResponseFromCache)(this.dependencies.cache, req.requestContext.cacheKey, {
315
- maxRetries: this.config.CACHE_POLLING_MAX_RETRIES,
316
- sleep: this.config.CACHE_POLLING_SLEEP_MS,
295
+ maxRetries: this.config.settings.CACHE_POLLING_MAX_RETRIES,
296
+ sleep: this.config.settings.CACHE_POLLING_SLEEP_MS,
317
297
  });
318
298
  metricsTimer({ succeeded: String(!!response) });
319
299
  if (response) {
@@ -323,7 +303,7 @@ class Adapter {
323
303
  // Record polling mechanism failure to return response
324
304
  metrics_2.metrics
325
305
  .get('transportPollingFailureCount')
326
- .labels({ endpoint: req.requestContext.endpointName })
306
+ .labels({ adapter_endpoint: req.requestContext.endpointName })
327
307
  .inc();
328
308
  logger.debug('Ran out of polling attempts, returning timeout');
329
309
  throw new error_1.AdapterTimeoutError({
@@ -1 +1 @@
1
- {"version":3,"file":"basic.js","sourceRoot":"","sources":["../../../src/adapter/basic.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA2B;AAC3B,oCAAqE;AACrE,8CAA8D;AAC9D,sCAOkB;AAClB,wCAAoC;AACpC,oDAKyB;AACzB,kCAAoG;AACpG,6EAAuE;AACvE,iDAA6C;AAC7C,+CAAyD;AAUzD,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,SAAS,CAAC,CAAA;AAEpC;;GAEG;AACH,MAAa,OAAO;IA8BlB,YAAY,MAAqC;QAlBjD,uBAAuB;QACvB,gBAAW,GAAG,KAAK,CAAA;QAEnB,6DAA6D;QAC7D,iBAAY,GAGR,EAAE,CAAA;QAYJ,mBAAmB;QACnB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;QACvB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,EAAE,WAAW,EAAE,CAAA;QAC5D,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;QACjC,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAA;QACrD,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAA;QAC3C,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAA;QACvC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;QAEjC,IAAI,CAAC,MAAM,GAAG,IAAA,2BAAkB,EAAC;YAC/B,SAAS,EAAE,IAAI,CAAC,mBAAmB;YACnC,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAA;QAEF,IAAI,CAAC,sBAAsB,EAAE,CAAA;QAC7B,IAAI,CAAC,6BAA6B,EAAE,CAAA;IACtC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU,CAAC,YAA2C;QAC1D,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;SAC9D;QAED,2DAA2D;QAC3D,iBAAO,CAAC,UAAU,EAAE,CAAA;QAEpB,wFAAwF;QACxF,IAAA,8BAAqB,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAEvD,oEAAoE;QACpE,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAExB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;SAC3B;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAA;QAE7D,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;YACrC,0CAA0C;YAC1C,MAAM,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAA;YAC5D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;gBAC3B,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;oBAC5B,MAAM,IAAI,KAAK,CAAC,gCAAgC,KAAK,GAAG,CAAC,CAAA;iBAC1D;gBACD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAA;aACpC;YAED,MAAM,CAAC,KAAK,CAAC,0BAA0B,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAA;YAC3D,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;SACrE;QAED,4DAA4D;QAC5D,sEAAsE;QACtE,IAAI,CAAC,eAAe,EAAE,CAAA;QAEtB,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAA;QAChD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;IACzB,CAAC;IAED;;;OAGG;IACK,sBAAsB;QAC5B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;YACrC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;YAC3C,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;SACjE;IACH,CAAC;IAED;;;;OAIG;IACK,6BAA6B;QACnC,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAA;QAC/C,MAAM,gCAAgC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;QAErF,MAAM,uBAAuB,GAAG,gCAAgC;aAC7D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,oBAAoB,IAAI,CAAC,CAAC;aACrD,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC,CAAA;QAEvC,IAAI,uBAAuB,GAAG,GAAG,EAAE;YACjC,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAA;SACxF;QAED,IACE,uBAAuB,KAAK,GAAG;YAC/B,iBAAiB,GAAG,gCAAgC,CAAC,MAAM,GAAG,CAAC,EAC/D;YACA,MAAM,IAAI,KAAK,CACb,qFAAqF,CACtF,CAAA;SACF;QAED,MAAM,kBAAkB,GAAG,GAAG,GAAG,uBAAuB,CAAA;QAExD,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAA;QAC/C,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;YACrC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;gBAC1B,QAAQ,CAAC,YAAY,GAAG;oBACtB,oBAAoB,EAClB,kBAAkB,GAAG,CAAC,iBAAiB,GAAG,gCAAgC,CAAC,MAAM,CAAC;iBACrF,CAAA;aACF;YAED,MAAM,CAAC,KAAK,CAAC,aAAa,QAAQ,CAAC,IAAI,OAAO,QAAQ,CAAC,YAAY,EAAE,oBAAoB,GAAG,CAAC,CAAA;SAC9F;IACH,CAAC;IAED;;;OAGG;IACK,eAAe;QACrB,MAAM,UAAU,GAAqB,MAAM,CAAC,OAAO,CAAC,qBAA2B,CAAC;aAC7E,MAAM,CAAC,MAAM,CAAC,OAAO,CAAE,IAAI,CAAC,cAA8B,IAAI,EAAE,CAAC,CAAC;aAClE,MAAM,CACL,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAClB,OAAO;YACP,OAAO,CAAC,IAAI,KAAK,QAAQ;YACzB,OAAO,CAAC,SAAS;YACjB,IAAI,CAAC,MAAM,CAAC,IAA2C,CAAC,CAC3D;aACA,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAChB,GAAG,EAAE,IAAI;YACT,wEAAwE;YACxE,KAAK,EAAE,IAAI,MAAM;YACf,oEAAoE;YAClE,IAAI,CAAC,MAAwB,CAAC,IAAI,CAAa,CAAC,OAAO,CACvD,0BAA0B,EAC1B,MAAM,CACP,EACD,IAAI,CACL;SACF,CAAC,CAAC,CAAA;QACL,qBAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC5B,CAAC;IAED;;;OAGG;IACK,iBAAiB;QACvB,IACE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,OAAO;YAC/C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,OAAO,EAC/C;YACA,MAAM,CAAC,IAAI,CACT,6BAA6B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,mGAAmG,CACpK,CAAA;SACF;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE;YAC9B,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAA;SAC1D;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,KAAK,KAAK,EAAE;YACzC,MAAM,CAAC,IAAI,CACT,oGAAoG,CACrG,CAAA;SACF;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,sBAAsB,KAAK,qBAAY,CAAC,sBAAsB,CAAC,OAAO,EAAE;YACtF,MAAM,CAAC,IAAI,CACT,0CAA0C,IAAI,CAAC,MAAM,CAAC,sBAAsB,8DAA8D,CAC3I,CAAA;SACF;IACH,CAAC;IAED;;;;;;OAMG;IACH,sBAAsB,CAAC,iBAAgD;QACrE,MAAM,YAAY,GAAG,iBAAiB,IAAI,EAAE,CAAA;QAE5C,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;YAC7B,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,OAAO,EAAE;gBACtC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,kCAAkC,CAAA;gBAClE,MAAM,YAAY,GAAG;oBACnB,oBAAoB,EAAE,IAAI;oBAC1B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;oBAClC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;oBAClC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB;oBAC1C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;oBAClC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB;oBACxC,aAAa,CAAC,KAAa;wBACzB,iBAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,GAAG,EAAE,CAAA;wBACtC,MAAM,CAAC,IAAI,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAA;wBAChD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,WAAW,CAAC,CAAA,CAAC,8BAA8B;oBAC1E,CAAC;oBACD,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,8BAA8B;oBAC1D,oBAAoB,EAAE,EAAE,EAAE,6DAA6D;iBACxF,CAAA;gBACD,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;oBAC/B,YAAY,CAAC,WAAW,GAAG,IAAI,iBAAK,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,YAAY,CAAC,CAAA;iBAChF;qBAAM;oBACL,YAAY,CAAC,WAAW,GAAG,IAAI,iBAAK,CAAC,YAAY,CAAC,CAAA;iBACnD;gBAED,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;oBAC1C,iBAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,GAAG,EAAE,CAAA;gBAC3C,CAAC,CAAC,CAAA;aACH;SACF;QAED,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;YACvB,YAAY,CAAC,KAAK,GAAG,oBAAY,CAAC,UAAU,CAC1C,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,EACxF,YAAY,CAAC,WAAW,CACzB,CAAA;SACF;QAED,MAAM,gBAAgB,GAAG,IAAA,mCAAmB,EAC1C,IAAI,CAAC,MAAuB,EAC5B,IAAI,CAAC,YAAY,EAAE,KAAK,CACzB,CAAA;QAED,MAAM,gBAAgB,GAAG,IAAA,qCAAqB,EAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;QACxE,MAAM,uBAAuB,GAAG,IAAA,6CAA6B,EAAC,IAAI,CAAC,MAAuB,CAAC,CAAA;QAC3F,MAAM,eAAe,GAAG,uBAAuB,EAAE,WAAW,IAAI,CAAC,CAAA;QACjE,MAAM,kBAAkB,GAAG,CAAC,uBAAuB,EAAE,WAAW,IAAI,CAAC,CAAC,GAAG,EAAE,CAAA;QAE3E,IAAI,eAAe,GAAG,gBAAgB,EAAE;YACtC,MAAM,CAAC,IAAI,CACT,qIAAqI,gBAAgB,EAAE,CACxJ,CAAA;SACF;QAED,IAAI,kBAAkB,GAAG,gBAAgB,EAAE;YACzC,MAAM,CAAC,IAAI,CAAC,kBACV,IAAI,CAAC,MAAM,CAAC,0BAA0B;gBACpC,CAAC,CAAC,4BAA4B;gBAC9B,CAAC,CAAC,qBACN;6FACuF,gBAAgB,EAAE,CAAC,CAAA;SAC3G;QAED,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;YAC7B,YAAY,CAAC,WAAW,GAAG,IAAI,yCAAyB,EAAE,CAAC,UAAU,CACnE,IAAI,CAAC,SAAS,EACd,gBAAgB,CACjB,CAAA;SACF;QACD,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE;YACxC,YAAY,CAAC,sBAAsB,GAAG,IAAI,6BAAsB,CAC9D,IAAI,CAAC,MAAuB,EAC5B,IAAI,CAAC,IAAI,EACT,YAAY,CAAC,WAAW,CACzB,CAAA;SACF;QACD,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;YAC3B,YAAY,CAAC,SAAS,GAAG,IAAI,qBAAS,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,MAAuB,CAAC,CAAA;SAC/F;QAED,OAAO,YAAmC,CAAA;IAC5C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,mBAAmB,CAAC,GAAmB;QAC3C,MAAM,QAAQ,GAAG,MAAO,IAAI,CAAC,YAAY,CAAC,KAAgC,CAAC,GAAG,CAC5E,GAAG,CAAC,cAAc,CAAC,QAAQ,CAC5B,CAAA;QAED,IAAI,QAAQ,EAAE;YACZ,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC,MAAM,CAAC,4BAA4B,EAAE;gBAC3E,MAAM,KAAK,GAAG,IAAA,2BAAiB,EAC7B,GAAG,CAAC,cAAc,CAAC,QAAQ,EAC3B,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,IAAI,KAAK,EACjD,IAAI,CAAC,MAAM,CAAC,UAAU,CACvB,CAAA;gBAED,uDAAuD;gBACvD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;gBACtB,IAAA,kBAAQ,EAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE;oBAC/B,KAAK,EAAE,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,0BAA0B;oBAC3D,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,2BAA2B;wBACpD,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,2BAA2B;wBACvD,CAAC,CAAC,IAAI;iBACT,CAAC,CAAA;gBACF,GAAG,CAAC,cAAc,CAAC,IAAI,GAAG;oBACxB,GAAG,GAAG,CAAC,cAAc,CAAC,IAAI;oBAC1B,OAAO,EAAE,EAAE,GAAG,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE;iBACjE,CAAA;aACF;YAED,OAAO,QAAQ,CAAA;SAChB;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,aAAa,CACjB,GAAmB,EACnB,SAA2B;QAE3B,4EAA4E;QAC5E,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;QACnE,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,aAAa,CAAC,CAAA;QAEvE,6DAA6D;QAC7D,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAA;QAE1D,+HAA+H;QAC/H,mGAAmG;QACnG,IAAI,0BAAqD,CAAA;QACzD,IAAI,wBAA2C,CAAA;QAC/C,IAAI,SAAS,CAAC,eAAe,EAAE;YAC7B,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;gBACzB,wGAAwG;gBACxG,8EAA8E;gBAC9E,IAAI,cAAc,EAAE;oBAClB,MAAM,SAAS,CAAA;iBAChB;gBAED,IAAI;oBACF,8FAA8F;oBAC9F,sGAAsG;oBACtG,oEAAoE;oBACpE,OAAO,MAAM,SAAS,CAAC,eAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;iBAC1D;gBAAC,OAAO,GAAG,EAAE;oBACZ,MAAM,CAAC,KAAK,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAA;oBACjD,wBAAwB,GAAG,GAAY,CAAA;iBACxC;YACH,CAAC,CAAA;YAED,oDAAoD;YACpD,MAAM,CAAC,KAAK,CACV,sCACE,cAAc,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,EACvD,EAAE,CACH,CAAA;YAED,0BAA0B,GAAG,OAAO,EAAE,CAAA;SACvC;QAED,8FAA8F;QAC9F,IAAI,cAAc,EAAE;YAClB,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAA;YACvD,OAAO,cAAc,CAAA;SACtB;QAED,4EAA4E;QAC5E,MAAM,iBAAiB,GACrB,SAAS,CAAC,iBAAiB,IAAI,CAAC,MAAM,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;QACtF,IAAI,iBAAiB,EAAE;YACrB,MAAM,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAA;YAC1E,OAAO,iBAAiB,CAAA;SACzB;QAED,qGAAqG;QACrG,0HAA0H;QAC1H,0HAA0H;QAC1H,6FAA6F;QAC7F,MAAM,0BAA0B,CAAA;QAChC,IAAI,wBAAwB,EAAE;YAC5B,MAAM,wBAAwB,CAAA;SAC/B;QAED,mDAAmD;QACnD,MAAM,YAAY,GAAG,iBAAO;aACzB,GAAG,CAAC,iCAAiC,CAAC;aACtC,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;aACrD,UAAU,EAAE,CAAA;QAEf,MAAM,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAA;QAClE,MAAM,QAAQ,GAAG,MAAM,IAAA,6BAAqB,EAC1C,IAAI,CAAC,YAAY,CAAC,KAA+B,EACjD,GAAG,CAAC,cAAc,CAAC,QAAQ,EAC3B;YACE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,yBAAyB;YACjD,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,sBAAsB;SAC1C,CACF,CAAA;QAED,YAAY,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAE/C,IAAI,QAAQ,EAAE;YACZ,MAAM,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAA;YACxE,OAAO,QAAQ,CAAA;SAChB;QAED,sDAAsD;QACtD,iBAAO;aACJ,GAAG,CAAC,8BAA8B,CAAC;aACnC,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;aACrD,GAAG,EAAE,CAAA;QAER,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAA;QAC9D,MAAM,IAAI,2BAAmB,CAAC;YAC5B,OAAO,EACL,yLAAyL;YAC3L,UAAU,EAAE,GAAG;SAChB,CAAC,CAAA;IACJ,CAAC;CACF;AA5bD,0BA4bC"}
1
+ {"version":3,"file":"basic.js","sourceRoot":"","sources":["../../../src/adapter/basic.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,16 @@
1
- import { AdapterConfig } from '../config';
2
- import { Transport } from '../transports';
1
+ import { TransportRoutes } from '../transports';
3
2
  import { AdapterRequest } from '../util';
4
3
  import { SpecificInputParameters } from '../validation';
5
4
  import { InputValidator } from '../validation/input-validator';
6
5
  import { AdapterDependencies, AdapterEndpointInterface, AdapterEndpointParams, CustomInputValidator, EndpointGenerics, EndpointRateLimitingConfig, RequestTransform } from './types';
6
+ export declare const DEFAULT_TRANSPORT_NAME = "default_single_transport";
7
7
  /**
8
8
  * Main class to represent an endpoint within an External Adapter
9
9
  */
10
10
  export declare class AdapterEndpoint<T extends EndpointGenerics> implements AdapterEndpointInterface<T> {
11
11
  name: string;
12
12
  aliases?: string[] | undefined;
13
- transports: Record<string, Transport<T>>;
13
+ transportRoutes: TransportRoutes<T>;
14
14
  inputParameters: SpecificInputParameters<T['Request']['Params']>;
15
15
  rateLimiting?: EndpointRateLimitingConfig | undefined;
16
16
  validator: InputValidator;
@@ -18,16 +18,16 @@ export declare class AdapterEndpoint<T extends EndpointGenerics> implements Adap
18
18
  customInputValidation?: CustomInputValidator<T>;
19
19
  requestTransforms?: RequestTransform<T>[];
20
20
  overrides?: Record<string, string> | undefined;
21
- customRouter?: (req: AdapterRequest<T['Request']>, adapterConfig: AdapterConfig<T['CustomSettings']>) => string;
21
+ customRouter?: (req: AdapterRequest<T['Request']>, settings: T['Settings']) => string;
22
22
  defaultTransport?: string;
23
23
  constructor(params: AdapterEndpointParams<T>);
24
24
  /**
25
25
  * Performs all necessary initialization processes that are async or need async initialized dependencies
26
26
  *
27
27
  * @param dependencies - all dependencies initialized at the adapter level
28
- * @param config - configuration for the adapter
28
+ * @param adapterSettings - configuration for the adapter
29
29
  */
30
- initialize(adapterName: string, dependencies: AdapterDependencies, config: AdapterConfig<T['CustomSettings']>): Promise<void>;
30
+ initialize(adapterName: string, dependencies: AdapterDependencies, adapterSettings: T['Settings']): Promise<void>;
31
31
  /**
32
32
  * Takes the incoming request and applies all request transforms in the adapter
33
33
  *
@@ -43,7 +43,7 @@ export declare class AdapterEndpoint<T extends EndpointGenerics> implements Adap
43
43
  * @returns the modified (or new) request
44
44
  */
45
45
  symbolOverrider(req: AdapterRequest): AdapterRequest<import("../util").RequestGenerics>;
46
- getTransportNameForRequest(req: AdapterRequest<T['Request']>, adapterConfig: AdapterConfig<T['CustomSettings']>): string;
46
+ getTransportNameForRequest(req: AdapterRequest<T['Request']>, settings: T['Settings']): string;
47
47
  /**
48
48
  * Default routing strategy. Will try and use the transport input parameter if present in the request body.
49
49
  *
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AdapterEndpoint = void 0;
3
+ exports.AdapterEndpoint = exports.DEFAULT_TRANSPORT_NAME = void 0;
4
4
  const response_1 = require("../cache/response");
5
+ const transports_1 = require("../transports");
5
6
  const util_1 = require("../util");
6
7
  const error_1 = require("../validation/error");
7
8
  const input_validator_1 = require("../validation/input-validator");
8
9
  const logger = (0, util_1.makeLogger)('AdapterEndpoint');
9
- const DEFAULT_TRANSPORT_NAME = 'default_single_transport';
10
+ exports.DEFAULT_TRANSPORT_NAME = 'default_single_transport';
10
11
  /**
11
12
  * Main class to represent an endpoint within an External Adapter
12
13
  */
@@ -15,22 +16,13 @@ class AdapterEndpoint {
15
16
  this.name = params.name;
16
17
  this.aliases = params.aliases;
17
18
  // These ifs are annoying but it's to make it type safe
18
- if ('transports' in params) {
19
- this.transports = params.transports;
19
+ if ('transportRoutes' in params) {
20
+ this.transportRoutes = params.transportRoutes;
20
21
  this.customRouter = params.customRouter;
21
22
  this.defaultTransport = params.defaultTransport;
22
- // Validate transport names
23
- for (const transportName in this.transports) {
24
- // This is intentional, to keep names to one word only
25
- if (!/^[a-z]+$/.test(transportName)) {
26
- throw new Error(`Transport name "${transportName}" is invalid. Names in the AdapterEndpoint transports map can only include lowercase letters.`);
27
- }
28
- }
29
23
  }
30
24
  else {
31
- this.transports = {
32
- [DEFAULT_TRANSPORT_NAME]: params.transport,
33
- };
25
+ this.transportRoutes = new transports_1.TransportRoutes().register(exports.DEFAULT_TRANSPORT_NAME, params.transport);
34
26
  }
35
27
  this.inputParameters = params.inputParameters;
36
28
  this.rateLimiting = params.rateLimiting;
@@ -44,12 +36,12 @@ class AdapterEndpoint {
44
36
  * Performs all necessary initialization processes that are async or need async initialized dependencies
45
37
  *
46
38
  * @param dependencies - all dependencies initialized at the adapter level
47
- * @param config - configuration for the adapter
39
+ * @param adapterSettings - configuration for the adapter
48
40
  */
49
- async initialize(adapterName, dependencies, config) {
41
+ async initialize(adapterName, dependencies, adapterSettings) {
50
42
  const responseCache = new response_1.ResponseCache({
51
43
  dependencies,
52
- config: config,
44
+ adapterSettings: adapterSettings,
53
45
  adapterName,
54
46
  endpointName: this.name,
55
47
  inputParameters: this.inputParameters,
@@ -59,8 +51,8 @@ class AdapterEndpoint {
59
51
  responseCache,
60
52
  };
61
53
  logger.debug(`Initializing transports for endpoint "${this.name}"...`);
62
- for (const [transportName, transport] of Object.entries(this.transports)) {
63
- await transport.initialize(transportDependencies, config, this.name, transportName);
54
+ for (const [transportName, transport] of this.transportRoutes.entries()) {
55
+ await transport.initialize(transportDependencies, adapterSettings, this.name, transportName);
64
56
  }
65
57
  }
66
58
  /**
@@ -98,16 +90,16 @@ class AdapterEndpoint {
98
90
  }
99
91
  return req;
100
92
  }
101
- getTransportNameForRequest(req, adapterConfig) {
93
+ getTransportNameForRequest(req, settings) {
102
94
  // If there's only one transport, return it
103
- if (this.transports[DEFAULT_TRANSPORT_NAME]) {
104
- return DEFAULT_TRANSPORT_NAME;
95
+ if (this.transportRoutes.get(exports.DEFAULT_TRANSPORT_NAME)) {
96
+ return exports.DEFAULT_TRANSPORT_NAME;
105
97
  }
106
98
  // Attempt to get the transport to use from:
107
99
  // 1. Custom router (whatever logic the user wrote)
108
100
  // 2. Default router (try to get it from the input params)
109
101
  // 3. Default transport (if it was specified in the instance params)
110
- const rawTransportName = (this.customRouter && this.customRouter(req, adapterConfig)) ||
102
+ const rawTransportName = (this.customRouter && this.customRouter(req, settings)) ||
111
103
  this.defaultRouter(req) ||
112
104
  this.defaultTransport;
113
105
  if (!rawTransportName) {
@@ -117,10 +109,10 @@ class AdapterEndpoint {
117
109
  });
118
110
  }
119
111
  const transportName = rawTransportName.toLowerCase();
120
- if (!this.transports[transportName]) {
112
+ if (!this.transportRoutes.get(transportName)) {
121
113
  throw new error_1.AdapterError({
122
114
  statusCode: 400,
123
- message: `No transport found for key "${transportName}", must be one of ${JSON.stringify(Object.keys(this.transports))}`,
115
+ message: `No transport found for key "${transportName}", must be one of ${JSON.stringify(this.transportRoutes.routeNames())}`,
124
116
  });
125
117
  }
126
118
  logger.debug(`Request will be routed to transport "${transportName}"`);
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../src/adapter/endpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../src/adapter/endpoint.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { SettingsMap } from '../config';
1
+ import { SettingsDefinitionMap } from '../config';
2
2
  import { AdapterRequest, AdapterRequestContext, AdapterResponse, RequestGenerics } from '../util';
3
3
  import { AdapterEndpoint } from './endpoint';
4
4
  import { Adapter, AdapterEndpointParams, AdapterParams, PriceEndpointGenerics } from './index';
@@ -65,9 +65,9 @@ type PriceAdapterRequest<T extends RequestGenerics> = AdapterRequest<T> & {
65
65
  /**
66
66
  * A PriceAdapter is a specific kind of Adapter that includes at least one PriceEnpoint.
67
67
  */
68
- export declare class PriceAdapter<CustomSettings extends SettingsMap> extends Adapter<CustomSettings> {
68
+ export declare class PriceAdapter<CustomSettingsDefinition extends SettingsDefinitionMap> extends Adapter<CustomSettingsDefinition> {
69
69
  includesMap?: IncludesMap;
70
- constructor(params: AdapterParams<CustomSettings> & {
70
+ constructor(params: AdapterParams<CustomSettingsDefinition> & {
71
71
  includes?: IncludesFile;
72
72
  });
73
73
  handleRequest(req: PriceAdapterRequest<{
@@ -1 +1 @@
1
- {"version":3,"file":"price.js","sourceRoot":"","sources":["../../../src/adapter/price.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"price.js","sourceRoot":"","sources":["../../../src/adapter/price.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,18 @@
1
1
  import type EventSource from 'eventsource';
2
2
  import Redis from 'ioredis';
3
3
  import { Cache } from '../cache';
4
- import { AdapterConfig, BaseAdapterConfig, SettingsMap } from '../config';
4
+ import { AdapterConfig, BaseAdapterSettings, SettingsDefinitionMap } from '../config';
5
5
  import { AdapterRateLimitTier, RateLimiter } from '../rate-limiting';
6
- import { Transport, TransportGenerics } from '../transports';
6
+ import { Transport, TransportGenerics, TransportRoutes } from '../transports';
7
7
  import { AdapterRequest, SingleNumberResultResponse, SubscriptionSetFactory } from '../util';
8
8
  import { Requester } from '../util/requester';
9
9
  import { InputParameters, SpecificInputParameters } from '../validation';
10
10
  import { AdapterError } from '../validation/error';
11
11
  import { Adapter } from './basic';
12
12
  import { AdapterEndpoint } from './endpoint';
13
- export type CustomAdapterSettings = SettingsMap & NegatedAdapterSettings;
13
+ export type CustomAdapterSettings = SettingsDefinitionMap & NegatedAdapterSettings;
14
14
  type NegatedAdapterSettings = {
15
- [K in keyof BaseAdapterConfig]?: never;
15
+ [K in keyof BaseAdapterSettings]?: never;
16
16
  };
17
17
  /**
18
18
  * Dependencies that will be injected into the Adapter on startup
@@ -41,7 +41,7 @@ export interface EndpointContext<T extends EndpointGenerics> {
41
41
  /** Input parameters for this endpoint */
42
42
  inputParameters: InputParameters;
43
43
  /** Initialized config for the adapter that the Transport can access */
44
- adapterConfig: AdapterConfig<T['CustomSettings']>;
44
+ adapterSettings: T['Settings'];
45
45
  }
46
46
  /**
47
47
  * Structure to describe rate limits specs for the Adapter
@@ -65,7 +65,7 @@ export type Overrides = {
65
65
  /**
66
66
  * Main structure of an External Adapter
67
67
  */
68
- export interface AdapterParams<CustomSettings extends SettingsMap> {
68
+ export interface AdapterParams<CustomSettingsDefinition extends SettingsDefinitionMap> {
69
69
  /** Name of the adapter */
70
70
  name: Uppercase<string>;
71
71
  /** If present, the string that will be used for requests with no specified endpoint */
@@ -80,14 +80,12 @@ export interface AdapterParams<CustomSettings extends SettingsMap> {
80
80
  * then those new types wouldn't match with each other.
81
81
  */
82
82
  endpoints: AdapterEndpoint<any>[];
83
- /** Map of overrides to the default config values for an Adapter */
84
- envDefaultOverrides?: Partial<BaseAdapterConfig>;
85
- /** List of custom env vars for this particular adapter (e.g. RPC_URL) */
86
- customSettings?: SettingsMap;
87
83
  /** Configuration relevant to outbound (EA --\> DP) communication rate limiting */
88
84
  rateLimiting?: AdapterRateLimitingConfig;
89
85
  /** Bootstrap function that will run when initializing the adapter */
90
- bootstrap?: (adapter: Adapter<CustomSettings>) => Promise<void>;
86
+ bootstrap?: (adapter: Adapter<CustomSettingsDefinition>) => Promise<void>;
87
+ /** The custom [[AdapterConfig]] to use. If not provided, the default configuration will be used instead */
88
+ config?: AdapterConfig<CustomSettingsDefinition>;
91
89
  }
92
90
  /**
93
91
  * Structure to describe rate limits specs for a specific adapter endpoint
@@ -110,7 +108,7 @@ export type EndpointGenerics = TransportGenerics;
110
108
  export type PriceEndpointGenerics = TransportGenerics & {
111
109
  Response: SingleNumberResultResponse;
112
110
  };
113
- export type CustomInputValidator<T extends EndpointGenerics> = (input: AdapterRequest<T['Request']>, config: AdapterConfig<T['CustomSettings']>) => AdapterError | undefined;
111
+ export type CustomInputValidator<T extends EndpointGenerics> = (input: AdapterRequest<T['Request']>, adapterSettings: T['Settings']) => AdapterError | undefined;
114
112
  /**
115
113
  * Structure to describe a specific endpoint in an [[Adapter]]
116
114
  */
@@ -138,9 +136,9 @@ type SingleTransportAdapterEndpointParams<T extends EndpointGenerics> = {
138
136
  };
139
137
  type MultiTransportAdapterEndpointParams<T extends EndpointGenerics> = {
140
138
  /** Map of transports that will be used when routing the request through this endpoint */
141
- transports: Record<string, Transport<T>>;
139
+ transportRoutes: TransportRoutes<T>;
142
140
  /** Custom function to direct an incoming request to the appropriate transport from the transports map */
143
- customRouter?: (req: AdapterRequest<T['Request']>, adapterConfig: AdapterConfig<T['CustomSettings']>) => string;
141
+ customRouter?: (req: AdapterRequest<T['Request']>, settings: T['Settings']) => string;
144
142
  /** If no value is returned from the custom router or the default (transport param), which transport to use */
145
143
  defaultTransport?: string;
146
144
  };