@chainlink/external-adapter-framework 0.5.3 → 0.5.5

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 (45) hide show
  1. package/README.md +67 -0
  2. package/adapter/basic.d.ts +1 -0
  3. package/adapter/basic.js +9 -0
  4. package/adapter/basic.js.map +1 -1
  5. package/adapter/types.d.ts +1 -0
  6. package/config/index.d.ts +13 -1
  7. package/config/index.js +25 -14
  8. package/config/index.js.map +1 -1
  9. package/examples/coingecko-old/batch-warming.d.ts +7 -0
  10. package/examples/coingecko-old/batch-warming.js +54 -0
  11. package/examples/coingecko-old/batch-warming.js.map +1 -0
  12. package/examples/coingecko-old/index.d.ts +2 -0
  13. package/examples/coingecko-old/index.js +12 -0
  14. package/examples/coingecko-old/index.js.map +1 -0
  15. package/examples/coingecko-old/rest.d.ts +12 -0
  16. package/examples/coingecko-old/rest.js +55 -0
  17. package/examples/coingecko-old/rest.js.map +1 -0
  18. package/examples/ncfx/config/index.d.ts +12 -0
  19. package/examples/ncfx/config/index.js +16 -0
  20. package/examples/ncfx/config/index.js.map +1 -0
  21. package/examples/ncfx/index.d.ts +13 -0
  22. package/examples/ncfx/index.js +12 -0
  23. package/examples/ncfx/index.js.map +1 -0
  24. package/examples/ncfx/websocket.d.ts +47 -0
  25. package/examples/ncfx/websocket.js +74 -0
  26. package/examples/ncfx/websocket.js.map +1 -0
  27. package/package.json +4 -2
  28. package/transports/routing.d.ts +1 -0
  29. package/transports/routing.js +15 -1
  30. package/transports/routing.js.map +1 -1
  31. package/transports/sse.d.ts +1 -1
  32. package/transports/sse.js +2 -1
  33. package/transports/sse.js.map +1 -1
  34. package/transports/websocket.d.ts +3 -3
  35. package/transports/websocket.js +4 -4
  36. package/transports/websocket.js.map +1 -1
  37. package/util/data-validation.d.ts +15 -0
  38. package/util/data-validation.js +61 -0
  39. package/util/data-validation.js.map +1 -0
  40. package/util/index.d.ts +1 -0
  41. package/util/index.js +5 -1
  42. package/util/index.js.map +1 -1
  43. package/validation/override-functions.d.ts +3 -0
  44. package/validation/override-functions.js +41 -0
  45. package/validation/override-functions.js.map +1 -0
package/README.md ADDED
@@ -0,0 +1,67 @@
1
+ # EA Framework v3
2
+
3
+ > **Warning**
4
+ > This framework is in a Beta state, and under active development. While many of the features from version 2 are present, they have not been tested extensively enough to mark this as production ready. You can find v2 in the [External Adapters Monorepo](https://github.com/smartcontractkit/external-adapters-js)
5
+
6
+ Framework to create External adapters, microservices that serve as middleware to facilitate connections between Chainlink Nodes and Data Providers (DP).
7
+
8
+ ## Requirements
9
+
10
+ - Node.js 16+
11
+ - Yarn
12
+
13
+ ### Optional development tools
14
+
15
+ If available, consider setting up your development environment with:
16
+
17
+ - ESLint
18
+ - Prettier
19
+
20
+ Note that both of the above are not necessary, but PRs submitted to the repo will be blocked from merging unless they comply with the linting and formatting rules.
21
+
22
+ ## Setup
23
+
24
+ ```sh
25
+ yarn # Install yarn dependencies
26
+ ```
27
+
28
+ ## Guides & Docs
29
+
30
+ - [Basics](./docs/basics.md)
31
+ - Porting a v2 EA to v3
32
+ - Creating a new v3 EA
33
+ - Transports
34
+ - Basic
35
+ - REST
36
+ - WebSocket
37
+ - SSE
38
+ - Meta
39
+ - Routing
40
+
41
+ ## Testing
42
+
43
+ The EA framework is tested by a suite of integration tests located [here](./test).
44
+
45
+ ```
46
+ yarn test
47
+ ```
48
+
49
+ ## Publishing releases
50
+
51
+ ### Automatic
52
+
53
+ The normal flow for publishing a release is through a series o GitHub actions that are triggered when a PR is closed by merging with the base branch. Full details about our workflows can be found in [./.github/WORKFLOW-README.MD]. A summary of our publish workflow follows:
54
+
55
+ 1. Close a PR containing your changes
56
+ 2. If the PR was merged and if it contains a version label instruction (patch, minor, major, none), a new PR will be created that contains the result of running `npm version LABEL` on master with the original PR author assigned as a reviewer.
57
+ 3. A link to the newly created version bump PR will be added to your original PR. Click on that link, and approve it to be merged.
58
+ 4. Close the version bump PR. If merged, the package will be published to npm.
59
+ 5. When the publish workflow finishes, a comment will be added to the version bump PR that tells you if it ran successfully
60
+
61
+ This adds an extra step (approving a version bump PR) that has to be taken every time a PR is merged. This is annoying, but it is an effective workaround for permissions issues when running against protected branches, and eliminates the need for the PR author to manually update their branch's version by referring to master.
62
+
63
+ ### Manual
64
+
65
+ If you need to publish a release manually, you can do so by running `yarn release` at the project root
66
+
67
+ This runs a script that publishes the package from dist/src. If you publish from the root directory, imports will be in the form of: `import {something} from "@chainlink/external-adapter-framework/src/some_directory"`. By publishing the package from dist/src, the "src" part of the import path gets dropped, which looks cleaner: `import {something} from "@chainlink/external-adapter-framework/some_directory"`.
@@ -16,6 +16,7 @@ export declare class Adapter<CustomSettings extends CustomAdapterSettings = Sett
16
16
  rateLimiting?: AdapterRateLimitingConfig | undefined;
17
17
  overrides?: Record<string, string> | undefined;
18
18
  requestTransforms?: RequestTransform[];
19
+ envVarsPrefix?: string;
19
20
  initialized: boolean;
20
21
  /** Object containing alias translations for all endpoints */
21
22
  endpointsMap: Record<string, AdapterEndpoint<Merge<EndpointGenerics, {
package/adapter/basic.js CHANGED
@@ -59,6 +59,7 @@ class Adapter {
59
59
  this.config = (0, config_1.buildAdapterConfig)({
60
60
  overrides: this.envDefaultOverrides,
61
61
  customSettings: this.customSettings,
62
+ envVarsPrefix: this.envVarsPrefix,
62
63
  });
63
64
  this.normalizeEndpointNames();
64
65
  this.calculateRateLimitAllocations();
@@ -180,6 +181,7 @@ class Adapter {
180
181
  const dependencies = inputDependencies || {};
181
182
  if (!dependencies.redisClient) {
182
183
  if (this.config.CACHE_TYPE === 'redis') {
184
+ const maxCooldown = this.config.CACHE_REDIS_MAX_RECONNECT_COOLDOWN;
183
185
  dependencies.redisClient = new ioredis_1.default({
184
186
  enableAutoPipelining: true,
185
187
  host: this.config.CACHE_REDIS_HOST,
@@ -187,6 +189,13 @@ class Adapter {
187
189
  password: this.config.CACHE_REDIS_PASSWORD,
188
190
  path: this.config.CACHE_REDIS_PATH,
189
191
  timeout: this.config.CACHE_REDIS_TIMEOUT,
192
+ retryStrategy(times) {
193
+ cacheMetrics.redisRetriesCount.inc();
194
+ logger.warn(`Redis reconnect attempt #${times}`);
195
+ return Math.min(times * 100, maxCooldown); // Next reconnect attempt time
196
+ },
197
+ connectTimeout: this.config.CACHE_REDIS_CONNECTION_TIMEOUT,
198
+ maxRetriesPerRequest: 30, // Limits the number of retries before the adapter shuts down
190
199
  });
191
200
  dependencies.redisClient.on('connect', () => {
192
201
  cacheMetrics.redisConnectionsOpen.inc();
@@ -1 +1 @@
1
- {"version":3,"file":"basic.js","sourceRoot":"","sources":["../../../src/adapter/basic.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAA2B;AAC3B,oCAAyF;AACzF,+DAAgD;AAChD,sCAOkB;AAClB,wEAAyD;AACzD,oDAIyB;AACzB,kCAAoG;AACpG,6EAAuE;AAWvE,+CAAyD;AAEzD,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,SAAS,CAAC,CAAA;AAEpC;;GAEG;AACH,MAAa,OAAO;IA+BlB,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;QACjC,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAA;QAC/F,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;SACpC,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,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,wCAAwC,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAA;YACzE,MAAM,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;SACnF;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;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,YAAY,CAAC,WAAW,GAAG,IAAI,iBAAK,CAAC;oBACnC,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;iBACzC,CAAC,CAAA;gBACF,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;oBAC1C,YAAY,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAA;gBACzC,CAAC,CAAC,CAAA;aACH;SACF;QAED,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;YACvB,YAAY,CAAC,KAAK,GAAG,oBAAY,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,WAAW,CAAC,CAAA;SAC/F;QAED,MAAM,gBAAgB,GAAG,IAAA,mCAAmB,EAC1C,IAAI,CAAC,MAAuB,EAC5B,IAAI,CAAC,YAAY,EAAE,KAAK,CACzB,CAAA;QACD,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE;YACpC,YAAY,CAAC,kBAAkB,GAAG,IAAI,yCAAyB,EAAE,CAAC,UAAU,CAC1E,IAAI,CAAC,SAAS,EACd,gBAAgB,CACjB,CAAA;SACF;QACD,IAAI,CAAC,YAAY,CAAC,4BAA4B,EAAE;YAC9C,YAAY,CAAC,4BAA4B,GAAG,IAAI,yCAAyB,EAAE,CAAC,UAAU,CACpF,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;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,YAAY,CAAC,iBAAiB,CAC1C,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,SAAS,GAAG,IAAA,0BAAkB,EAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;gBAChF,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;gBACxD,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,eAAe,CAAC,GAAmB;QACjC,MAAM,cAAc,GAAG,GAAG,CAAC,IAA4C,CAAA;QACvE,MAAM,gBAAgB,GAAG,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;QAClF,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAW,CAAA;QAEtD,IAAI,gBAAgB,EAAE,CAAC,IAAI,CAAC,EAAE;YAC5B,qDAAqD;YACrD,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;SACzD;aAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE;YACjC,sCAAsC;YACtC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;SACvD;QAED,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;;;OAKG;IACH,oBAAoB,CAAC,GAAmB;QACtC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,OAAM;SACP;QAED,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC9C,SAAS,CAAC,GAAG,CAAC,CAAA;SACf;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,aAAa,CAAC,GAAmB,EAAE,SAA2B;QAClE,4EAA4E;QAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,SAAS,CAAA;QAE9E,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,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,yFAAyF;gBACzF,oEAAoE;gBACpE,OAAO,SAAS,CAAC,eAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YACrD,CAAC,CAAA;YAED,oDAAoD;YACpD,MAAM,CAAC,KAAK,CACV,sCACE,cAAc,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,EACvD,EAAE,CACH,CAAA;YACD,0BAA0B,GAAG,OAAO,EAAE,CAAA;SACvC;QAED,iGAAiG;QACjG,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;QAEhC,mDAAmD;QACnD,MAAM,YAAY,GAAG,gBAAgB,CAAC,+BAA+B;aAClE,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,gBAAgB,CAAC,4BAA4B;aAC1C,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,EAAE,wCAAwC;YACjD,UAAU,EAAE,GAAG;SAChB,CAAC,CAAA;IACJ,CAAC;CACF;AA9ZD,0BA8ZC"}
1
+ {"version":3,"file":"basic.js","sourceRoot":"","sources":["../../../src/adapter/basic.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAA2B;AAC3B,oCAAyF;AACzF,+DAAgD;AAChD,sCAOkB;AAClB,wEAAyD;AACzD,oDAIyB;AACzB,kCAAoG;AACpG,6EAAuE;AAWvE,+CAAyD;AAEzD,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,SAAS,CAAC,CAAA;AAEpC;;GAEG;AACH,MAAa,OAAO;IAgClB,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;QACjC,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAA;QAC/F,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,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,wCAAwC,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAA;YACzE,MAAM,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;SACnF;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;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,YAAY,CAAC,WAAW,GAAG,IAAI,iBAAK,CAAC;oBACnC,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,YAAY,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAA;wBACpC,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,CAAC,CAAA;gBACF,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;oBAC1C,YAAY,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAA;gBACzC,CAAC,CAAC,CAAA;aACH;SACF;QAED,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;YACvB,YAAY,CAAC,KAAK,GAAG,oBAAY,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,WAAW,CAAC,CAAA;SAC/F;QAED,MAAM,gBAAgB,GAAG,IAAA,mCAAmB,EAC1C,IAAI,CAAC,MAAuB,EAC5B,IAAI,CAAC,YAAY,EAAE,KAAK,CACzB,CAAA;QACD,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE;YACpC,YAAY,CAAC,kBAAkB,GAAG,IAAI,yCAAyB,EAAE,CAAC,UAAU,CAC1E,IAAI,CAAC,SAAS,EACd,gBAAgB,CACjB,CAAA;SACF;QACD,IAAI,CAAC,YAAY,CAAC,4BAA4B,EAAE;YAC9C,YAAY,CAAC,4BAA4B,GAAG,IAAI,yCAAyB,EAAE,CAAC,UAAU,CACpF,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;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,YAAY,CAAC,iBAAiB,CAC1C,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,SAAS,GAAG,IAAA,0BAAkB,EAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;gBAChF,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;gBACxD,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,eAAe,CAAC,GAAmB;QACjC,MAAM,cAAc,GAAG,GAAG,CAAC,IAA4C,CAAA;QACvE,MAAM,gBAAgB,GAAG,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;QAClF,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAW,CAAA;QAEtD,IAAI,gBAAgB,EAAE,CAAC,IAAI,CAAC,EAAE;YAC5B,qDAAqD;YACrD,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;SACzD;aAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE;YACjC,sCAAsC;YACtC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;SACvD;QAED,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;;;OAKG;IACH,oBAAoB,CAAC,GAAmB;QACtC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,OAAM;SACP;QAED,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC9C,SAAS,CAAC,GAAG,CAAC,CAAA;SACf;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,aAAa,CAAC,GAAmB,EAAE,SAA2B;QAClE,4EAA4E;QAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,SAAS,CAAA;QAE9E,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,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,yFAAyF;gBACzF,oEAAoE;gBACpE,OAAO,SAAS,CAAC,eAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YACrD,CAAC,CAAA;YAED,oDAAoD;YACpD,MAAM,CAAC,KAAK,CACV,sCACE,cAAc,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,EACvD,EAAE,CACH,CAAA;YACD,0BAA0B,GAAG,OAAO,EAAE,CAAA;SACvC;QAED,iGAAiG;QACjG,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;QAEhC,mDAAmD;QACnD,MAAM,YAAY,GAAG,gBAAgB,CAAC,+BAA+B;aAClE,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,gBAAgB,CAAC,4BAA4B;aAC1C,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,EAAE,wCAAwC;YACjD,UAAU,EAAE,GAAG;SAChB,CAAC,CAAA;IACJ,CAAC;CACF;AAxaD,0BAwaC"}
@@ -121,4 +121,5 @@ export interface AdapterEndpointParams<T extends EndpointGenerics> {
121
121
  /** Custom function that generates cache keys */
122
122
  cacheKeyGenerator?: (data: Record<string, unknown>) => string;
123
123
  }
124
+ export declare type ResultPath = string | (number | string)[];
124
125
  export {};
package/config/index.d.ts CHANGED
@@ -33,11 +33,21 @@ export declare const BaseSettings: {
33
33
  readonly type: "number";
34
34
  readonly default: 90000;
35
35
  };
36
+ readonly CACHE_REDIS_CONNECTION_TIMEOUT: {
37
+ readonly description: "Connection timeout for redis client";
38
+ readonly type: "number";
39
+ readonly default: 15000;
40
+ };
36
41
  readonly CACHE_REDIS_HOST: {
37
42
  readonly description: "Hostname for the Redis instance to be used";
38
43
  readonly type: "string";
39
44
  readonly default: "127.0.0.1";
40
45
  };
46
+ readonly CACHE_REDIS_MAX_RECONNECT_COOLDOWN: {
47
+ readonly description: "Max cooldown (in ms) before attempting redis reconnection";
48
+ readonly type: "number";
49
+ readonly default: 3000;
50
+ };
41
51
  readonly CACHE_REDIS_PASSWORD: {
42
52
  readonly description: "The password required for redis auth";
43
53
  readonly type: "string";
@@ -213,11 +223,13 @@ export declare const BaseSettings: {
213
223
  readonly type: "string";
214
224
  };
215
225
  };
216
- export declare const buildAdapterConfig: <CustomSettings extends CustomSettingsType<CustomSettings> = EmptySettings>({ overrides, customSettings, }: {
226
+ export declare const buildAdapterConfig: <CustomSettings extends CustomSettingsType<CustomSettings> = EmptySettings>({ overrides, customSettings, envVarsPrefix, }: {
217
227
  overrides?: Partial<BaseAdapterConfig> | undefined;
218
228
  customSettings?: SettingsMap | undefined;
229
+ envVarsPrefix?: string | undefined;
219
230
  }) => AdapterConfig<CustomSettings>;
220
231
  export declare const validateAdapterConfig: <CustomSettings extends CustomSettingsType<CustomSettings> = EmptySettings>(adapterConfig: AdapterConfig<CustomSettings>, customSettings?: SettingsMap) => void;
232
+ export declare const getEnv: (name: string, config: Setting, prefix?: string) => SettingValueType | null;
221
233
  declare type SettingValueType = string | number | boolean;
222
234
  declare type SettingType<C extends Setting> = C['type'] extends 'string' ? string : C['type'] extends 'number' ? number : C['type'] extends 'boolean' ? boolean : C['type'] extends 'enum' ? C['options'] extends readonly string[] ? C['options'][number] : never : never;
223
235
  declare type BaseSettingsType = typeof BaseSettings;
package/config/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateAdapterConfig = exports.buildAdapterConfig = exports.BaseSettings = void 0;
3
+ exports.getEnv = exports.validateAdapterConfig = exports.buildAdapterConfig = exports.BaseSettings = void 0;
4
4
  exports.BaseSettings = {
5
5
  // V2 compat
6
6
  // ADAPTER_URL: {
@@ -49,10 +49,11 @@ exports.BaseSettings = {
49
49
  // type: 'number',
50
50
  // default: 30000,
51
51
  // },
52
- // CACHE_REDIS_CONNECTION_TIMEOUT: {
53
- // type: 'number',
54
- // default: 15000,
55
- // },
52
+ CACHE_REDIS_CONNECTION_TIMEOUT: {
53
+ description: 'Connection timeout for redis client',
54
+ type: 'number',
55
+ default: 15000,
56
+ },
56
57
  CACHE_REDIS_HOST: {
57
58
  description: 'Hostname for the Redis instance to be used',
58
59
  type: 'string',
@@ -63,10 +64,11 @@ exports.BaseSettings = {
63
64
  // type: 'number',
64
65
  // default: 500,
65
66
  // },
66
- // CACHE_REDIS_MAX_RECONNECT_COOLDOWN: {
67
- // type: 'number',
68
- // default: 3000,
69
- // },
67
+ CACHE_REDIS_MAX_RECONNECT_COOLDOWN: {
68
+ description: 'Max cooldown (in ms) before attempting redis reconnection',
69
+ type: 'number',
70
+ default: 3000,
71
+ },
70
72
  CACHE_REDIS_PASSWORD: {
71
73
  description: 'The password required for redis auth',
72
74
  type: 'string',
@@ -294,11 +296,11 @@ exports.BaseSettings = {
294
296
  type: 'string',
295
297
  },
296
298
  };
297
- const buildAdapterConfig = ({ overrides = {}, customSettings = {}, }) => {
299
+ const buildAdapterConfig = ({ overrides = {}, customSettings = {}, envVarsPrefix = '', }) => {
298
300
  const vars = {};
299
301
  // Iterate base adapter env vars
300
302
  for (const [key, config] of Object.entries(exports.BaseSettings)) {
301
- const value = getEnv(key, config) ?? overrides?.[key] ?? config.default;
303
+ const value = (0, exports.getEnv)(key, config, envVarsPrefix) ?? overrides?.[key] ?? config.default;
302
304
  vars[key] = value;
303
305
  }
304
306
  // Iterate custom vars
@@ -306,7 +308,7 @@ const buildAdapterConfig = ({ overrides = {}, customSettings = {}, }) => {
306
308
  if (exports.BaseSettings[key]) {
307
309
  throw new Error(`Custom env var "${key}" declared, but a base framework env var with that name already exists.`);
308
310
  }
309
- const value = getEnv(key, config) ?? config.default;
311
+ const value = (0, exports.getEnv)(key, config, envVarsPrefix) ?? config.default;
310
312
  vars[key] = value;
311
313
  }
312
314
  return vars;
@@ -337,8 +339,16 @@ const validateSetting = (key, value, config, validationErrors) => {
337
339
  }
338
340
  }
339
341
  };
340
- const getEnv = (name, config) => {
341
- const value = process.env[name];
342
+ const getEnvName = (name, prefix = '') => {
343
+ const envName = prefix ? `${prefix}_${name}` : name;
344
+ if (!isEnvNameValid(envName)) {
345
+ throw new Error(`Invalid environment var name: ${envName}. Only '/^[_a-z0-9]+$/i' is supported.`);
346
+ }
347
+ return envName;
348
+ };
349
+ const isEnvNameValid = (name) => /^[_a-z0-9]+$/i.test(name);
350
+ const getEnv = (name, config, prefix = '') => {
351
+ const value = process.env[getEnvName(name, prefix)];
342
352
  if (!value) {
343
353
  return null;
344
354
  }
@@ -356,4 +366,5 @@ const getEnv = (name, config) => {
356
366
  return value;
357
367
  }
358
368
  };
369
+ exports.getEnv = getEnv;
359
370
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG;IAC1B,YAAY;IACZ,iBAAiB;IACjB,qFAAqF;IACrF,oBAAoB;IACpB,KAAK;IACL,YAAY,EAAE;QACZ,WAAW,EAAE,sDAAsD;QACnE,IAAI,EAAE,QAAQ;KACf;IACD,OAAO,EAAE;QACP,WAAW,EAAE,+BAA+B;QAC5C,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,IAAI;KAChB;IACD,WAAW,EAAE;QACX,WAAW,EACT,gHAAgH;QAClH,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,KAAK;KACf;IACD,WAAW,EAAE;QACX,WAAW,EACT,sIAAsI;QACxI,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;KACf;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,2CAA2C;QACxD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,GAAG;KACb;IACD,gCAAgC,EAAE;QAChC,WAAW,EAAE,iDAAiD;QAC9D,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;KACf;IACD,aAAa,EAAE;QACb,WAAW,EAAE,iEAAiE;QAC9E,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,KAAK;KACf;IACD,qBAAqB;IACrB,oBAAoB;IACpB,mBAAmB;IACnB,KAAK;IACL,mBAAmB;IACnB,oBAAoB;IACpB,oBAAoB;IACpB,KAAK;IACL,8BAA8B,EAAE;QAC9B,WAAW,EAAE,qCAAqC;QAClD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,KAAK;KACf;IACD,gBAAgB,EAAE;QAChB,WAAW,EAAE,4CAA4C;QACzD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,WAAW;KACrB;IACD,kCAAkC;IAClC,wEAAwE;IACxE,oBAAoB;IACpB,kBAAkB;IAClB,KAAK;IACL,kCAAkC,EAAE;QAClC,WAAW,EAAE,2DAA2D;QACxE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,IAAI;KACd;IACD,oBAAoB,EAAE;QACpB,WAAW,EAAE,sCAAsC;QACnD,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,IAAI;KAChB;IACD,gBAAgB,EAAE;QAChB,WAAW,EAAE,4CAA4C;QACzD,IAAI,EAAE,QAAQ;KACf;IACD,gBAAgB,EAAE;QAChB,WAAW,EAAE,wCAAwC;QACrD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,IAAI;KACd;IACD,mBAAmB,EAAE;QACnB,WAAW,EAAE,4DAA4D;QACzE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,GAAG;KACb;IACD,qBAAqB;IACrB,oBAAoB;IACpB,KAAK;IACL,UAAU,EAAE;QACV,WAAW,EAAE,4CAA4C;QACzD,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;KAC5B;IACD,sBAAsB,EAAE;QACtB,WAAW,EAAE,6DAA6D;QAC1E,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,IAAI;KACd;IACD,uBAAuB;IACvB,mFAAmF;IACnF,oBAAoB;IACpB,KAAK;IACL,KAAK,EAAE;QACL,WAAW,EAAE,oBAAoB;QACjC,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;KACf;IACD,mCAAmC;IACnC,6DAA6D;IAC7D,oBAAoB;IACpB,oBAAoB;IACpB,KAAK;IACL,OAAO,EAAE;QACP,WAAW,EACT,yGAAyG;QAC3G,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,IAAI;KACd;IACD,oBAAoB;IACpB,oBAAoB;IACpB,KAAK;IACL,4BAA4B,EAAE;QAC5B,WAAW,EACT,yFAAyF;QAC3F,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,IAAI;KACd;IACD,SAAS,EAAE;QACT,WAAW,EAAE,8CAA8C;QAC3D,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,MAAM;KAChB;IACD,eAAe,EAAE;QACf,WAAW,EAAE,8DAA8D;QAC3E,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,IAAI;KACd;IACD,YAAY,EAAE;QACZ,WAAW,EAAE,cAAc;QAC3B,IAAI,EAAE,QAAQ;KACf;IACD,YAAY,EAAE;QACZ,WAAW,EAAE,iCAAiC;QAC9C,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,IAAI;KACd;IACD,oBAAoB,EAAE;QACpB,WAAW,EAAE,gFAAgF;QAC7F,IAAI,EAAE,SAAS;KAChB;IACD,mBAAmB,EAAE;QACnB,WAAW,EACT,8IAA8I;QAChJ,IAAI,EAAE,QAAQ;KACf;IACD,mBAAmB,EAAE;QACnB,WAAW,EAAE,6EAA6E;QAC1F,IAAI,EAAE,QAAQ;KACf;IACD,0BAA0B,EAAE;QAC1B,WAAW,EACT,kIAAkI;QACpI,IAAI,EAAE,QAAQ;KACf;IACD,0BAA0B,EAAE;QAC1B,WAAW,EAAE,6EAA6E;QAC1F,IAAI,EAAE,QAAQ;KACf;IACD,0BAA0B,EAAE;QAC1B,WAAW,EAAE,2BAA2B;QACxC,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;KACf;IACD,8BAA8B,EAAE;QAC9B,WAAW,EACT,sNAAsN;QACxN,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,CAAC;KACX;IACD,iCAAiC;IACjC,oBAAoB;IACpB,kBAAkB;IAClB,KAAK;IACL,6CAA6C;IAC7C,oBAAoB;IACpB,gBAAgB;IAChB,KAAK;IACL,qCAAqC;IACrC,oBAAoB;IACpB,mBAAmB;IACnB,KAAK;IACL,oCAAoC;IACpC,oBAAoB;IACpB,gBAAgB;IAChB,KAAK;IACL,WAAW;IACX,qBAAqB;IACrB,gBAAgB;IAChB,KAAK;IACL,6BAA6B,EAAE;QAC7B,WAAW,EACT,mFAAmF;QACrF,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,IAAI;KACd;IACD,mBAAmB,EAAE;QACnB,WAAW,EAAE,mEAAmE;QAChF,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,KAAK;KACf;IACD,oBAAoB,EAAE;QACpB,WAAW,EACT,6FAA6F;QAC/F,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,MAAM;KAChB;IACD,uBAAuB,EAAE;QACvB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,oCAAoC;QACjD,OAAO,EAAE,MAAM;KAChB;IACD,gCAAgC;IAChC,oBAAoB;IACpB,gBAAgB;IAChB,KAAK;IACL,eAAe,EAAE;QACf,WAAW,EAAE,gDAAgD;QAC7D,IAAI,EAAE,QAAQ;KACf;IACD,UAAU,EAAE;QACV,WAAW,EAAE,4CAA4C;QACzD,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,IAAI;KAChB;IACD,mBAAmB,EAAE;QACnB,WAAW,EAAE,EAAE;QACf,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,MAAM;KAChB;IACD,sCAAsC;IACtC,oBAAoB;IACpB,oBAAoB;IACpB,KAAK;IACL,gDAAgD;IAChD,6EAA6E;IAC7E,oBAAoB;IACpB,KAAK;IAEL,KAAK;IACL,yBAAyB,EAAE;QACzB,WAAW,EACT,qGAAqG;QACvG,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;KACZ;IACD,sBAAsB,EAAE;QACtB,WAAW,EACT,oFAAoF;QACtF,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,GAAG;KACb;IACD,iBAAiB,EAAE;QACjB,WAAW,EAAE,8EAA8E;QAC3F,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,mBAAmB;KAC7B;IACD,OAAO,EAAE;QACP,WAAW,EACT,+FAA+F;QACjG,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,IAAI;KACd;IACD,OAAO,EAAE;QACP,WAAW,EACT,+FAA+F;QACjG,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,eAAe;QACxB,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,eAAe,CAAC;KAC/C;IACD,mBAAmB,EAAE;QACnB,WAAW,EACT,wFAAwF;QAC1F,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,GAAG;QACZ,QAAQ,EAAE,CAAC,KAAc,EAAE,EAAE;YAC3B,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC,EAAE;gBAC5C,OAAO,0DAA0D,CAAA;aAClE;QACH,CAAC;KACF;IACD,qCAAqC,EAAE;QACrC,WAAW,EACT,8GAA8G;QAChH,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,CAAC;KACX;IACD,4CAA4C,EAAE;QAC5C,WAAW,EACT,yFAAyF;QAC3F,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,GAAG;KACb;IACD,4BAA4B,EAAE;QAC5B,WAAW,EAAE,2DAA2D;QACxE,IAAI,EAAE,QAAQ;KACf;CACO,CAAA;AAEH,MAAM,kBAAkB,GAAG,CAEhC,EACA,SAAS,GAAG,EAAgC,EAC5C,cAAc,GAAG,EAAiB,EAClC,aAAa,GAAG,EAAY,GAC7B,EAAiC,EAAE;IAClC,MAAM,IAAI,GAAG,EAAkD,CAAA;IAE/D,gCAAgC;IAChC,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAY,CAEtD,EAAE;QACD,MAAM,KAAK,GAAG,IAAA,cAAM,EAAC,GAAa,EAAE,MAAM,EAAE,aAAa,CAAC,IAAI,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAA;QAChG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;KAClB;IAED,sBAAsB;IACtB,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAA6B,EAAE;QACtF,IAAK,oBAAwC,CAAC,GAAa,CAAC,EAAE;YAC5D,MAAM,IAAI,KAAK,CACb,mBAAmB,GAAG,yEAAyE,CAChG,CAAA;SACF;QACD,MAAM,KAAK,GAAG,IAAA,cAAM,EAAC,GAAa,EAAE,MAAM,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAA;QAC5E,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;KAClB;IAED,OAAO,IAAqC,CAAA;AAC9C,CAAC,CAAA;AA7BY,QAAA,kBAAkB,sBA6B9B;AAEM,MAAM,qBAAqB,GAAG,CAGnC,aAA4C,EAC5C,iBAAiB,EAAiB,EAC5B,EAAE;IACR,MAAM,gBAAgB,GAAa,EAAE,CAAA;IACrC,MAAM,CAAC,OAAO,CAAC,oBAA2B,CAAC;SACxC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAE,cAA8B,IAAI,EAAE,CAAC,CAAC;SAC7D,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE;QAC3B,eAAe,CAAC,IAAI,EAAG,aAA+B,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAA;IAC1F,CAAC,CAAC,CAAA;IAEJ,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;QAC/B,MAAM,IAAI,KAAK,CACb,oDAAoD,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClF,CAAA;KACF;AACH,CAAC,CAAA;AAlBY,QAAA,qBAAqB,yBAkBjC;AAED,MAAM,eAAe,GAAG,CACtB,GAAW,EACX,KAAmC,EACnC,MAAe,EACf,gBAA0B,EAC1B,EAAE;IACF,gDAAgD;IAChD,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC,EAAE;QAC9D,gBAAgB,CAAC,IAAI,CAAC,GAAG,GAAG,4CAA4C,CAAC,CAAA;KAC1E;SAAM,IAAI,MAAM,CAAC,QAAQ,EAAE;QAC1B,+GAA+G;QAC/G,MAAM,aAAa,GACjB,MAAM,CAAC,QACR,CAAC,KAAK,CAAC,CAAA;QACR,IAAI,aAAa,EAAE;YACjB,gBAAgB,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,aAAa,EAAE,CAAC,CAAA;SAClD;KACF;AACH,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,MAAM,GAAG,EAAE,EAAU,EAAE;IACvD,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IACnD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;QAC5B,MAAM,IAAI,KAAK,CACb,iCAAiC,OAAO,wCAAwC,CACjF,CAAA;KACF;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAE5D,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,MAAe,EAAE,MAAM,GAAG,EAAE,EAA2B,EAAE;IAC5F,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;IAEnD,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,IAAI,CAAA;KACZ;IAED,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,QAAQ;YACX,OAAO,KAAK,CAAA;QACd,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAA;QACxB,KAAK,SAAS;YACZ,OAAO,KAAK,KAAK,MAAM,CAAA;QACzB,KAAK,MAAM;YACT,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACpC,MAAM,IAAI,KAAK,CACb,YAAY,IAAI,gBAAgB,KAAK,iDAAiD,MAAM,CAAC,OAAO,GAAG,CACxG,CAAA;aACF;YACD,OAAO,KAAK,CAAA;KACf;AACH,CAAC,CAAA;AAtBY,QAAA,MAAM,UAsBlB"}
@@ -0,0 +1,7 @@
1
+ import { AdapterEndpoint } from '../../adapter';
2
+ interface AdapterRequestParams {
3
+ base: string;
4
+ quote: string;
5
+ }
6
+ export declare const batchEndpoint: AdapterEndpoint<AdapterRequestParams, import("../../transports").BackgroundStoredResultType, import("../../config").SettingsMap>;
7
+ export {};
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.batchEndpoint = void 0;
4
+ const adapter_1 = require("../../adapter");
5
+ const batch_warming_1 = require("../../transports/batch-warming");
6
+ const DEFAULT_URL = 'https://pro-api.coingecko.com/api/v3';
7
+ const inputParameters = {
8
+ coinid: {
9
+ description: 'The CoinGecko id or array of ids of the coin(s) to query (Note: because of current limitations to use a dummy base will need to be supplied)',
10
+ required: false,
11
+ },
12
+ base: {
13
+ aliases: ['from', 'coin'],
14
+ description: 'The symbol or array of symbols of the currency to query',
15
+ required: true,
16
+ },
17
+ quote: {
18
+ aliases: ['to', 'market'],
19
+ description: 'The symbol of the currency to convert to',
20
+ required: true,
21
+ },
22
+ };
23
+ const batchEndpointTransport = new batch_warming_1.BatchWarmingTransport({
24
+ prepareRequest: (params, config) => {
25
+ return {
26
+ baseURL: DEFAULT_URL,
27
+ url: '/simple/price',
28
+ method: 'GET',
29
+ params: {
30
+ ids: [...new Set(params.map((p) => p.base))].join(','),
31
+ vs_currencies: [...new Set(params.map((p) => p.quote))].join(','),
32
+ x_cg_pro_api_key: config.API_KEY,
33
+ },
34
+ };
35
+ },
36
+ parseResponse: (params, res) => {
37
+ const entries = [];
38
+ for (const [base, entry] of Object.entries(res.data)) {
39
+ for (const [quote, price] of Object.entries(entry)) {
40
+ entries.push({
41
+ params: { base, quote },
42
+ value: price,
43
+ });
44
+ }
45
+ }
46
+ return entries;
47
+ },
48
+ });
49
+ exports.batchEndpoint = new adapter_1.AdapterEndpoint({
50
+ name: 'batch',
51
+ transport: batchEndpointTransport,
52
+ inputParameters,
53
+ });
54
+ //# sourceMappingURL=batch-warming.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-warming.js","sourceRoot":"","sources":["../../../../src/examples/coingecko-old/batch-warming.ts"],"names":[],"mappings":";;;AACA,2CAA+C;AAC/C,kEAAsE;AAKtE,MAAM,WAAW,GAAG,sCAAsC,CAAA;AAO1D,MAAM,eAAe,GAAoB;IACvC,MAAM,EAAE;QACN,WAAW,EACT,8IAA8I;QAChJ,QAAQ,EAAE,KAAK;KAChB;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,yDAAyD;QACtE,QAAQ,EAAE,IAAI;KACf;IACD,KAAK,EAAE;QACL,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;QACzB,WAAW,EAAE,0CAA0C;QACvD,QAAQ,EAAE,IAAI;KACf;CACF,CAAA;AAYD,MAAM,sBAAsB,GAAG,IAAI,qCAAqB,CAAC;IACvD,cAAc,EAAE,CACd,MAA8B,EAC9B,MAAqB,EACoB,EAAE;QAC3C,OAAO;YACL,OAAO,EAAE,WAAW;YACpB,GAAG,EAAE,eAAe;YACpB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACN,GAAG,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBACtD,aAAa,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBACjE,gBAAgB,EAAE,MAAM,CAAC,OAAO;aACjC;SACF,CAAA;IACH,CAAC;IACD,aAAa,EAAE,CACb,MAA8B,EAC9B,GAAwC,EACA,EAAE;QAC1C,MAAM,OAAO,GAAG,EAA4C,CAAA;QAC5D,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACpD,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAClD,OAAO,CAAC,IAAI,CAAC;oBACX,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;oBACvB,KAAK,EAAE,KAAK;iBACb,CAAC,CAAA;aACH;SACF;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;CACF,CAAC,CAAA;AAEW,QAAA,aAAa,GAAG,IAAI,yBAAe,CAAC;IAC/C,IAAI,EAAE,OAAO;IACb,SAAS,EAAE,sBAAsB;IACjC,eAAe;CAChB,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { Adapter } from '../../adapter';
2
+ export declare const adapter: Adapter<import("../../config").SettingsMap>;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.adapter = void 0;
4
+ const adapter_1 = require("../../adapter");
5
+ const batch_warming_1 = require("./batch-warming");
6
+ const rest_1 = require("./rest");
7
+ exports.adapter = new adapter_1.Adapter({
8
+ name: 'coingecko',
9
+ defaultEndpoint: 'batch',
10
+ endpoints: [rest_1.restEndpoint, batch_warming_1.batchEndpoint],
11
+ });
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/examples/coingecko-old/index.ts"],"names":[],"mappings":";;;AAAA,2CAAuC;AACvC,mDAA+C;AAC/C,iCAAqC;AAExB,QAAA,OAAO,GAAG,IAAI,iBAAO,CAAC;IACjC,IAAI,EAAE,WAAW;IACjB,eAAe,EAAE,OAAO;IACxB,SAAS,EAAE,CAAC,mBAAY,EAAE,6BAAa,CAAC;CACzC,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { AdapterEndpoint } from '../../adapter';
2
+ interface AdapterRequestParams {
3
+ base: string;
4
+ quote: string;
5
+ }
6
+ interface ProviderResponseBody {
7
+ [base: string]: {
8
+ [quote: string]: number;
9
+ };
10
+ }
11
+ export declare const restEndpoint: AdapterEndpoint<AdapterRequestParams, ProviderResponseBody, import("../../config").SettingsMap>;
12
+ export {};
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.restEndpoint = void 0;
4
+ const adapter_1 = require("../../adapter");
5
+ const transports_1 = require("../../transports");
6
+ const DEFAULT_URL = 'https://api.coingecko.com/api/v3';
7
+ const inputParameters = {
8
+ coinid: {
9
+ description: 'The CoinGecko id or array of ids of the coin(s) to query (Note: because of current limitations to use a dummy base will need to be supplied)',
10
+ required: false,
11
+ },
12
+ base: {
13
+ aliases: ['from', 'coin'],
14
+ description: 'The symbol or array of symbols of the currency to query',
15
+ required: true,
16
+ },
17
+ quote: {
18
+ aliases: ['to', 'market'],
19
+ description: 'The symbol of the currency to convert to',
20
+ required: true,
21
+ },
22
+ };
23
+ const restEndpointTransport = new transports_1.RestTransport({
24
+ prepareRequest: (req) => {
25
+ return {
26
+ baseURL: DEFAULT_URL,
27
+ url: '/simple/price',
28
+ method: 'GET',
29
+ params: {
30
+ ids: req.requestContext.data.base,
31
+ vs_currencies: req.requestContext.data.quote,
32
+ },
33
+ };
34
+ },
35
+ parseResponse: (req, res) => {
36
+ return {
37
+ data: res.data,
38
+ statusCode: 200,
39
+ result: res.data[req.requestContext.data.base]?.[req.requestContext.data.quote],
40
+ };
41
+ },
42
+ options: {
43
+ requestCoalescing: {
44
+ enabled: true,
45
+ entropyMax: 0,
46
+ },
47
+ },
48
+ });
49
+ exports.restEndpoint = new adapter_1.AdapterEndpoint({
50
+ name: 'rest',
51
+ aliases: ['qwe'],
52
+ transport: restEndpointTransport,
53
+ inputParameters,
54
+ });
55
+ //# sourceMappingURL=rest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rest.js","sourceRoot":"","sources":["../../../../src/examples/coingecko-old/rest.ts"],"names":[],"mappings":";;;AACA,2CAA+C;AAC/C,iDAAgD;AAIhD,MAAM,WAAW,GAAG,kCAAkC,CAAA;AAOtD,MAAM,eAAe,GAAoB;IACvC,MAAM,EAAE;QACN,WAAW,EACT,8IAA8I;QAChJ,QAAQ,EAAE,KAAK;KAChB;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,yDAAyD;QACtE,QAAQ,EAAE,IAAI;KACf;IACD,KAAK,EAAE;QACL,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;QACzB,WAAW,EAAE,0CAA0C;QACvD,QAAQ,EAAE,IAAI;KACf;CACF,CAAA;AAaD,MAAM,qBAAqB,GAAG,IAAI,0BAAa,CAAC;IAC9C,cAAc,EAAE,CACd,GAAyC,EACA,EAAE;QAC3C,OAAO;YACL,OAAO,EAAE,WAAW;YACpB,GAAG,EAAE,eAAe;YACpB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACN,GAAG,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI;gBACjC,aAAa,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK;aAC7C;SACF,CAAA;IACH,CAAC;IACD,aAAa,EAAE,CACb,GAAyC,EACzC,GAAwC,EACD,EAAE;QACzC,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,UAAU,EAAE,GAAG;YACf,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;SACvC,CAAA;IAC5C,CAAC;IACD,OAAO,EAAE;QACP,iBAAiB,EAAE;YACjB,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,CAAC;SACd;KACF;CACF,CAAC,CAAA;AAEW,QAAA,YAAY,GAAG,IAAI,yBAAe,CAAC;IAC9C,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,CAAC,KAAK,CAAC;IAChB,SAAS,EAAE,qBAAqB;IAChC,eAAe;CAChB,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ export declare const customSettings: {
2
+ readonly USERNAME: {
3
+ readonly description: "Username for the NCFX API";
4
+ readonly type: "string";
5
+ readonly required: true;
6
+ };
7
+ readonly PASSWORD: {
8
+ readonly description: "Password for the NCFX API";
9
+ readonly type: "string";
10
+ readonly required: true;
11
+ };
12
+ };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.customSettings = void 0;
4
+ exports.customSettings = {
5
+ USERNAME: {
6
+ description: 'Username for the NCFX API',
7
+ type: 'string',
8
+ required: true,
9
+ },
10
+ PASSWORD: {
11
+ description: 'Password for the NCFX API',
12
+ type: 'string',
13
+ required: true,
14
+ },
15
+ };
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/examples/ncfx/config/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG;IAC5B,QAAQ,EAAE;QACR,WAAW,EAAE,2BAA2B;QACxC,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;KACf;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,2BAA2B;QACxC,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;KACf;CACO,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { Adapter } from '../../adapter';
2
+ export declare const adapter: Adapter<{
3
+ readonly USERNAME: {
4
+ readonly description: "Username for the NCFX API";
5
+ readonly type: "string";
6
+ readonly required: true;
7
+ };
8
+ readonly PASSWORD: {
9
+ readonly description: "Password for the NCFX API";
10
+ readonly type: "string";
11
+ readonly required: true;
12
+ };
13
+ }>;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.adapter = void 0;
4
+ const adapter_1 = require("../../adapter");
5
+ const config_1 = require("./config");
6
+ const websocket_1 = require("./websocket");
7
+ exports.adapter = new adapter_1.Adapter({
8
+ name: 'ncfx',
9
+ endpoints: [websocket_1.webSocketEndpoint],
10
+ customSettings: config_1.customSettings,
11
+ });
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/examples/ncfx/index.ts"],"names":[],"mappings":";;;AAAA,2CAAuC;AACvC,qCAAyC;AACzC,2CAA+C;AAElC,QAAA,OAAO,GAAG,IAAI,iBAAO,CAAC;IACjC,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,CAAC,6BAAiB,CAAC;IAC9B,cAAc,EAAd,uBAAc;CACf,CAAC,CAAA"}
@@ -0,0 +1,47 @@
1
+ import { AdapterEndpoint } from '../../adapter';
2
+ import { WebSocketTransport } from '../../transports/websocket';
3
+ import { InputParameters } from '../../validation';
4
+ interface AdapterRequestParams {
5
+ base: string;
6
+ quote: string;
7
+ }
8
+ export declare const inputParameters: InputParameters;
9
+ interface ProviderMessage {
10
+ timestamp: string;
11
+ currencyPair: string;
12
+ bid: number;
13
+ offer: number;
14
+ mid: number;
15
+ changes: [
16
+ {
17
+ period: string;
18
+ change: number;
19
+ percentage: number;
20
+ }
21
+ ];
22
+ }
23
+ export declare const websocketTransport: WebSocketTransport<AdapterRequestParams, ProviderMessage[], {
24
+ readonly USERNAME: {
25
+ readonly description: "Username for the NCFX API";
26
+ readonly type: "string";
27
+ readonly required: true;
28
+ };
29
+ readonly PASSWORD: {
30
+ readonly description: "Password for the NCFX API";
31
+ readonly type: "string";
32
+ readonly required: true;
33
+ };
34
+ }>;
35
+ export declare const webSocketEndpoint: AdapterEndpoint<AdapterRequestParams, import("../../transports").BackgroundStoredResultType, {
36
+ readonly USERNAME: {
37
+ readonly description: "Username for the NCFX API";
38
+ readonly type: "string";
39
+ readonly required: true;
40
+ };
41
+ readonly PASSWORD: {
42
+ readonly description: "Password for the NCFX API";
43
+ readonly type: "string";
44
+ readonly required: true;
45
+ };
46
+ }>;
47
+ export {};
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.webSocketEndpoint = exports.websocketTransport = exports.inputParameters = void 0;
4
+ const adapter_1 = require("../../adapter");
5
+ const websocket_1 = require("../../transports/websocket");
6
+ const util_1 = require("../../util");
7
+ exports.inputParameters = {
8
+ base: {
9
+ aliases: ['from', 'coin'],
10
+ description: 'The symbol of the currency to query',
11
+ required: true,
12
+ },
13
+ quote: {
14
+ aliases: ['to', 'market'],
15
+ description: 'The symbol of the currency to convert to',
16
+ required: true,
17
+ },
18
+ };
19
+ const logger = (0, util_1.makeLogger)('NcfxWebSocketTransport');
20
+ exports.websocketTransport = new websocket_1.WebSocketTransport({
21
+ url: () => 'wss://feed.newchangefx.com/cryptodata',
22
+ handlers: {
23
+ open(connection, context) {
24
+ return new Promise((resolve, reject) => {
25
+ // Set up listener
26
+ connection.on('message', (data) => {
27
+ const parsed = JSON.parse(data.toString());
28
+ if (parsed.Message?.startsWith('Logged in as user')) {
29
+ logger.info('Got logged in response, connection is ready');
30
+ resolve();
31
+ }
32
+ else {
33
+ reject(new Error('Unexpected message after WS connection open'));
34
+ }
35
+ });
36
+ // Send login payload
37
+ connection.send(JSON.stringify({
38
+ request: 'login',
39
+ username: context.adapterConfig.USERNAME,
40
+ password: context.adapterConfig.PASSWORD,
41
+ }));
42
+ });
43
+ },
44
+ message(message) {
45
+ if (!Array.isArray(message)) {
46
+ logger.debug('WS message is not array, skipping');
47
+ return [];
48
+ }
49
+ return message.map((m) => {
50
+ const [base, quote] = m.currencyPair.split('/');
51
+ return {
52
+ params: { base, quote },
53
+ value: m.offer,
54
+ };
55
+ });
56
+ },
57
+ },
58
+ builders: {
59
+ subscribeMessage: (params) => ({
60
+ request: 'subscribe',
61
+ ccy: `${params.base}/${params.quote}`,
62
+ }),
63
+ unsubscribeMessage: (params) => ({
64
+ request: 'unsubscribe',
65
+ ccy: `${params.base}/${params.quote}`,
66
+ }),
67
+ },
68
+ });
69
+ exports.webSocketEndpoint = new adapter_1.AdapterEndpoint({
70
+ name: 'websocket',
71
+ transport: exports.websocketTransport,
72
+ inputParameters: exports.inputParameters,
73
+ });
74
+ //# sourceMappingURL=websocket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../../../src/examples/ncfx/websocket.ts"],"names":[],"mappings":";;;AACA,2CAA+D;AAC/D,0DAA+D;AAC/D,qCAAuD;AAS1C,QAAA,eAAe,GAAoB;IAC9C,IAAI,EAAE;QACJ,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,qCAAqC;QAClD,QAAQ,EAAE,IAAI;KACf;IACD,KAAK,EAAE;QACL,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;QACzB,WAAW,EAAE,0CAA0C;QACvD,QAAQ,EAAE,IAAI;KACf;CACF,CAAA;AAiBD,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,wBAAwB,CAAC,CAAA;AAEtC,QAAA,kBAAkB,GAAG,IAAI,8BAAkB,CAAC;IACvD,GAAG,EAAE,GAAG,EAAE,CAAC,uCAAuC;IAClD,QAAQ,EAAE;QACR,IAAI,CAAC,UAAqB,EAAE,OAA8C;YACxE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,kBAAkB;gBAClB,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAa,EAAE,EAAE;oBACzC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;oBAC1C,IAAI,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,mBAAmB,CAAC,EAAE;wBACnD,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAA;wBAC1D,OAAO,EAAE,CAAA;qBACV;yBAAM;wBACL,MAAM,CAAC,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC,CAAA;qBACjE;gBACH,CAAC,CAAC,CAAA;gBACF,qBAAqB;gBACrB,UAAU,CAAC,IAAI,CACb,IAAI,CAAC,SAAS,CAAC;oBACb,OAAO,EAAE,OAAO;oBAChB,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,QAAQ;oBACxC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,QAAQ;iBACzC,CAAC,CACH,CAAA;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,CAAC,OAA0B;YAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC3B,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;gBACjD,OAAO,EAAE,CAAA;aACV;YACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACvB,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBAC/C,OAAO;oBACL,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;oBACvB,KAAK,EAAE,CAAC,CAAC,KAAK;iBACf,CAAA;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;KACF;IACD,QAAQ,EAAE;QACR,gBAAgB,EAAE,CAAC,MAA4B,EAAE,EAAE,CAAC,CAAC;YACnD,OAAO,EAAE,WAAW;YACpB,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE;SACtC,CAAC;QACF,kBAAkB,EAAE,CAAC,MAA4B,EAAE,EAAE,CAAC,CAAC;YACrD,OAAO,EAAE,aAAa;YACtB,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE;SACtC,CAAC;KACH;CACF,CAAC,CAAA;AAEW,QAAA,iBAAiB,GAAG,IAAI,yBAAe,CAAC;IACnD,IAAI,EAAE,WAAW;IACjB,SAAS,EAAE,0BAAkB;IAC7B,eAAe,EAAf,uBAAe;CAChB,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chainlink/external-adapter-framework",
3
- "version": "0.5.3",
3
+ "version": "0.5.5",
4
4
  "main": "dist/index.js",
5
5
  "license": "MIT",
6
6
  "dependencies": {
@@ -9,6 +9,7 @@
9
9
  "eventsource": "2.0.2",
10
10
  "fastify": "4.7.0",
11
11
  "ioredis": "5.2.3",
12
+ "object-path": "0.11.8",
12
13
  "pino": "8.6.1",
13
14
  "prom-client": "13.2.0",
14
15
  "ws": "8.9.0"
@@ -31,6 +32,7 @@
31
32
  "@types/eventsource": "1.1.9",
32
33
  "@types/jest": "29.1.1",
33
34
  "@types/node": "18.8.2",
35
+ "@types/object-path": "0.11.1",
34
36
  "@types/sinonjs__fake-timers": "8.1.2",
35
37
  "@types/supertest": "2.0.12",
36
38
  "@types/ws": "8.5.3",
@@ -48,8 +50,8 @@
48
50
  "pino-pretty": "9.1.0",
49
51
  "prettier": "2.7.1",
50
52
  "supertest": "6.3.0",
51
- "ts-node": "10.9.1",
52
53
  "ts-jest": "29.0.3",
54
+ "ts-node": "10.9.1",
53
55
  "ts-node-dev": "2.0.0",
54
56
  "typedoc": "0.23.15",
55
57
  "typescript": "4.8.4"
@@ -16,6 +16,7 @@ export declare class RoutingTransport<T extends TransportGenerics> implements Me
16
16
  [key: string]: Transport<T>;
17
17
  }, route: (req: AdapterRequest<T['Request']>, adapterConfig?: AdapterConfig<T['CustomSettings']>) => string);
18
18
  initialize(dependencies: AdapterDependencies, adapterConfig: AdapterConfig<T['CustomSettings']>, endpointName: string): Promise<void>;
19
+ registerRequest(req: AdapterRequest<T['Request']>, adapterConfig: AdapterConfig<T['CustomSettings']>): Promise<void>;
19
20
  private resolveTransport;
20
21
  foregroundExecute(req: AdapterRequest<T['Request']>, adapterConfig: AdapterConfig<T['CustomSettings']>): Promise<AdapterResponse<any> | void>;
21
22
  }
@@ -25,8 +25,22 @@ class RoutingTransport {
25
25
  v.initialize(dependencies, adapterConfig, endpointName);
26
26
  });
27
27
  }
28
+ async registerRequest(req, adapterConfig) {
29
+ logger.debug(`registering request using ${JSON.stringify(req.params)}`);
30
+ const key = this.route(req, adapterConfig || undefined);
31
+ if (!this.transports[key]) {
32
+ throw new error_1.AdapterError({ statusCode: 400, message: `No transport found for ${key}` });
33
+ }
34
+ const transport = this.transports[key];
35
+ logger.debug(`Found ${transport.constructor.name} corresponding to ${key}`);
36
+ if (transport.registerRequest) {
37
+ logger.debug(`Calling registerRequest on ${key} (${transport.constructor.name})`);
38
+ return transport.registerRequest(req, adapterConfig);
39
+ }
40
+ logger.debug(`No registerRequest on ${key} (${transport.constructor.name})`);
41
+ }
28
42
  resolveTransport(req, adapterConfig) {
29
- logger.debug(`routing request using`, req.params);
43
+ logger.debug(`routing request using ${JSON.stringify(req.params)}`);
30
44
  const key = this.route(req, adapterConfig || undefined);
31
45
  if (!this.transports[key]) {
32
46
  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/routing.ts"],"names":[],"mappings":";;;AAEA,kCAAoC;AAEpC,+CAAkD;AAGlD,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,kBAAkB,CAAC,CAAA;AAE7C;;;;GAIG;AACH,MAAa,gBAAgB;IAI3B;IACE,6GAA6G;IACtG,UAA2C;IAElD,+FAA+F;IACvF,KAGG;QANJ,eAAU,GAAV,UAAU,CAAiC;QAG1C,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;IAEO,gBAAgB,CACtB,GAAiC,EACjC,aAAkD;QAElD,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;QACjD,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,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;AAtDD,4CAsDC"}
1
+ {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../../src/transports/routing.ts"],"names":[],"mappings":"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"}
@@ -44,7 +44,7 @@ export declare class SSETransport<T extends SSETransportGenerics> implements Tra
44
44
  localSubscriptions: T['Request']['Params'][];
45
45
  constructor(config: {
46
46
  prepareSSEConnectionConfig: (params: T['Request']['Params'][], context: AdapterContext<T>) => SSEConfig;
47
- prepareKeepAliveRequest: (context: AdapterContext<T>) => AxiosRequestConfig<T['Provider']['RequestBody']>;
47
+ prepareKeepAliveRequest?: (context: AdapterContext<T>) => AxiosRequestConfig<T['Provider']['RequestBody']>;
48
48
  prepareSubscriptionRequest: (params: T['Request']['Params'][], context: AdapterContext<T>) => AxiosRequestConfig<T['Provider']['RequestBody']>;
49
49
  prepareUnsubscriptionRequest: (params: T['Request']['Params'][], context: AdapterContext<T>) => AxiosRequestConfig<T['Provider']['RequestBody']>;
50
50
  eventListeners: {
package/transports/sse.js CHANGED
@@ -82,7 +82,8 @@ class SSETransport {
82
82
  const unsubscribeRequest = this.config.prepareUnsubscriptionRequest(unsubscribeParams, context);
83
83
  makeRequest(unsubscribeRequest);
84
84
  }
85
- if (desiredSubs.length &&
85
+ if (this.config.prepareKeepAliveRequest &&
86
+ desiredSubs.length &&
86
87
  Date.now() - this.timeOfLastReq > context.adapterConfig.SSE_KEEPALIVE_SLEEP) {
87
88
  const prepareKeepAliveRequest = this.config.prepareKeepAliveRequest(context);
88
89
  makeRequest(prepareKeepAliveRequest);
@@ -1 +1 @@
1
- {"version":3,"file":"sse.js","sourceRoot":"","sources":["../../../src/transports/sse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sse.js","sourceRoot":"","sources":["../../../src/transports/sse.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAiD;AACjD,8DAAqC;AAIrC,kCAAqD;AAErD,yBAA+E;AAE/E,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,cAAc,CAAC,CAAA;AAuBzC;;;;GAIG;AACH,MAAa,YAAY;IAevB,YACU,MAsBP;QAtBO,WAAM,GAAN,MAAM,CAsBb;QArCH,gBAAW,GAAuB,qBAAW,CAAA;QAQ7C,kBAAa,GAAG,CAAC,CAAA;QAEjB,+FAA+F;QAC/F,iDAAiD;QACjD,uBAAkB,GAA6B,EAAE,CAAA;IA0B9C,CAAC;IAEJ,KAAK,CAAC,UAAU,CACd,YAAiC,EACjC,MAA0C,EAC1C,YAAoB;QAEpB,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,KAA8C,CAAA;QACxE,IAAI,CAAC,eAAe,GAAG,YAAY,CAAC,sBAAsB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;QACjF,IAAI,YAAY,CAAC,WAAW,EAAE;YAC5B,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW,CAAA;SAC5C;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,GAAiC,EACjC,MAA0C;QAE1C,MAAM,CAAC,KAAK,CACV,0CAA0C,MAAM,CAAC,oBAAoB,OAAO,GAAG,CAAC,cAAc,CAAC,QAAQ,OAAO,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CACxI,CAAA;QACD,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAC5B,GAAG,CAAC,cAAc,CAAC,QAAQ,EAC3B,GAAG,CAAC,cAAc,CAAC,IAAI,EACvB,MAAM,CAAC,oBAAoB,CAC5B,CAAA;IACH,CAAC;IAED,+DAA+D;IAC/D,KAAK,CAAC,iBAAiB,CAAC,OAA0B;QAChD,MAAM,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAA;QAClF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAA;QAEvD,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAA;QAC5D,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QACvF,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QAEzF,MAAM,CAAC,KAAK,CACV,GAAG,eAAe,CAAC,MAAM,uBAAuB,iBAAiB,CAAC,MAAM,iBAAiB,CAC1F,CAAA;QACD,IAAI,eAAe,CAAC,MAAM,EAAE;YAC1B,MAAM,CAAC,KAAK,CAAC,sBAAsB,eAAe,EAAE,CAAC,CAAA;SACtD;QACD,IAAI,iBAAiB,CAAC,MAAM,EAAE;YAC5B,MAAM,CAAC,KAAK,CAAC,wBAAwB,iBAAiB,EAAE,CAAC,CAAA;SAC1D;QAED,IACE,CAAC,eAAe,CAAC,MAAM,IAAI,iBAAiB,CAAC,MAAM,CAAC;YACpD,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAClF;YACA,MAAM,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAA;YAC5F,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;YAClF,IAAI,CAAC,aAAa,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,mBAAmB,CAAC,CAAA;YAEvF,MAAM,qBAAqB,GAAG,CAAC,QAA8C,EAAE,EAAE;gBAC/E,OAAO,CAAC,CAAe,EAAE,EAAE;oBACzB,MAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;oBACnD,MAAM,YAAY,GAAG,IAAA,+BAA4B,EAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA;oBAC7E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAA;gBACvE,CAAC,CAAA;YACH,CAAC,CAAA;YAED,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAC9C,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAA;YACtF,CAAC,CAAC,CAAA;SACH;QAED,MAAM,WAAW,GAAG,KAAK,EAAE,GAAqD,EAAE,EAAE;YAClF,IAAI;gBACF,MAAM,GAAG,GAAG,MAAM,eAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;gBACpC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,mBAAmB,GAAG,CAAC,UAAU,yBAAyB,CAAC,CAAA;aACnF;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,4BAA4B,CAAC,CAAA;aAChD;YACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACjC,CAAC,CAAA;QAED,IAAI,eAAe,CAAC,MAAM,EAAE;YAC1B,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;YACzF,WAAW,CAAC,gBAAgB,CAAC,CAAA;SAC9B;QACD,IAAI,iBAAiB,CAAC,MAAM,EAAE;YAC5B,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,4BAA4B,CACjE,iBAAiB,EACjB,OAAO,CACR,CAAA;YACD,WAAW,CAAC,kBAAkB,CAAC,CAAA;SAChC;QACD,IACE,IAAI,CAAC,MAAM,CAAC,uBAAuB;YACnC,WAAW,CAAC,MAAM;YAClB,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,mBAAmB,EAC3E;YACA,MAAM,uBAAuB,GAAG,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAA;YAC5E,WAAW,CAAC,uBAAuB,CAAC,CAAA;SACrC;QAED,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAA;QAClD,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAA;QAErC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAC3C,OAAO,OAAO,CAAC,aAAa,CAAC,6BAA6B,CAAA;IAC5D,CAAC;CACF;AA/ID,oCA+IC"}
@@ -18,9 +18,9 @@ export declare class WebSocketClassProvider {
18
18
  */
19
19
  export interface WebSocketTransportConfig<T extends WebsocketTransportGenerics> {
20
20
  /** Endpoint to which to open the WS connection*/
21
- url: (context: AdapterContext<T>) => string;
21
+ url: (context: AdapterContext<T>) => Promise<string> | string;
22
22
  /** Optional parameters used when establishing the WebSocket connection */
23
- options?: (context: AdapterContext<T>) => ClientOptions;
23
+ options?: (context: AdapterContext<T>) => Promise<ClientOptions> | ClientOptions;
24
24
  /** Map of handlers for different WS lifecycle events */
25
25
  handlers: {
26
26
  /**
@@ -90,6 +90,6 @@ export declare class WebSocketTransport<T extends WebsocketTransportGenerics> im
90
90
  registerRequest(req: AdapterRequest<T['Request']>, config: AdapterConfig<T['CustomSettings']>): Promise<void>;
91
91
  serializeMessage(payload: unknown): string;
92
92
  deserializeMessage(data: WebSocket.Data): T['Provider']['WsMessage'];
93
- establishWsConnection(context: AdapterContext<T>): Promise<unknown>;
93
+ establishWsConnection(context: AdapterContext<T>, url: string, options?: WebSocket.ClientOptions | undefined): Promise<unknown>;
94
94
  backgroundExecute(context: AdapterContext<T>): Promise<number>;
95
95
  }
@@ -71,11 +71,9 @@ class WebSocketTransport {
71
71
  deserializeMessage(data) {
72
72
  return JSON.parse(data.toString());
73
73
  }
74
- establishWsConnection(context) {
74
+ establishWsConnection(context, url, options) {
75
75
  return new Promise((resolve) => {
76
76
  const ctor = WebSocketClassProvider.get();
77
- const url = context.adapterConfig.WS_API_ENDPOINT || this.config.url(context);
78
- const options = this.config.options && this.config.options(context);
79
77
  this.wsConnection = new ctor(url, undefined, options);
80
78
  this.wsConnection.addEventListener('open', async (event) => {
81
79
  logger.debug(`Opened websocket connection. (event type ${event.type})`);
@@ -144,7 +142,9 @@ class WebSocketTransport {
144
142
  }
145
143
  if (!this.wsConnection && subscribes.length) {
146
144
  logger.debug('No established connection and new subscriptions available, connecting to WS');
147
- await this.establishWsConnection(context);
145
+ const url = context.adapterConfig.WS_API_ENDPOINT || (await this.config.url(context));
146
+ const options = this.config.options && (await this.config.options(context));
147
+ await this.establishWsConnection(context, url, options);
148
148
  }
149
149
  logger.debug('Sending subs/unsubs if there are any');
150
150
  const messages = unsubscribes.concat(subscribes);
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAsD;AAW7C,oBAXF,YAAS,CAWE;AANlB,kCAAqD;AAErD,yBAA+E;AAC/E,4DAA6C;AAK7C,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,oBAAoB,CAAC,CAAA;AAQ/C,MAAa,sBAAsB;IAGjC,MAAM,CAAC,GAAG,CAAC,IAAoB;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,MAAM,CAAC,GAAG;QACR,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;;AATH,wDAUC;AATQ,2BAAI,GAAmB,YAAS,CAAA;AAgFzC;;;;;GAKG;AACH,MAAa,kBAAkB;IAW7B,YAAoB,MAAmC;QAAnC,WAAM,GAAN,MAAM,CAA6B;QANvD,+FAA+F;QAC/F,iDAAiD;QACjD,uBAAkB,GAA6B,EAAE,CAAA;IAIS,CAAC;IAE3D,KAAK,CAAC,UAAU,CACd,YAAiC,EACjC,MAA0C,EAC1C,YAAoB;QAEpB,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,KAA8C,CAAA;QACxE,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,4BAA4B,CAAA;QAC5D,IAAI,CAAC,eAAe,GAAG,YAAY,CAAC,sBAAsB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;IACnF,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,GAAiC,EACjC,MAA0C;QAE1C,MAAM,CAAC,KAAK,CACV,0CAA0C,MAAM,CAAC,mBAAmB,OAAO,GAAG,CAAC,cAAc,CAAC,QAAQ,OAAO,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CACvI,CAAA;QACD,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAC5B,GAAG,CAAC,cAAc,CAAC,QAAQ,EAC3B,GAAG,CAAC,cAAc,CAAC,IAAI,EACvB,MAAM,CAAC,mBAAmB,CAC3B,CAAA;IACH,CAAC;IAED,gBAAgB,CAAC,OAAgB;QAC/B,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IACxE,CAAC;IACD,kBAAkB,CAAC,IAAoB;QACrC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAA+B,CAAA;IAClE,CAAC;IAED,qBAAqB,CACnB,OAA0B,EAC1B,GAAW,EACX,OAA6C;QAE7C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,IAAI,GAAG,sBAAsB,CAAC,GAAG,EAAE,CAAA;YACzC,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;YACrD,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAsB,EAAE,EAAE;gBAC1E,MAAM,CAAC,KAAK,CAAC,4CAA4C,KAAK,CAAC,IAAI,GAAG,CAAC,CAAA;gBACvE,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;gBAC3D,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAA;gBAC/D,6DAA6D;gBAC7D,gBAAgB,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAA;gBACzC,OAAO,CAAC,IAAI,CAAC,CAAA;YACf,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,EAAE,KAA6B,EAAE,EAAE;gBACpF,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBAClD,MAAM,CAAC,KAAK,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAA;gBACzC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;gBAC7D,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC1B,MAAM,SAAS,GAAG,IAAA,+BAA4B,EAAC,OAAO,EAAE,OAAO,CAAC,CAAA;oBAChE,MAAM,CAAC,KAAK,CAAC,WAAW,SAAS,CAAC,MAAM,qBAAqB,CAAC,CAAA;oBAC9D,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAA;iBACzE;YACH,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,KAA2B,EAAE,EAAE;gBAChF,MAAM,CAAC,KAAK,CACV,mDAAmD,KAAK,CAAC,KAAK,eAAe,KAAK,CAAC,OAAO,EAAE,CAC7F,CAAA;gBACD,gCAAgC;gBAChC,gBAAgB,CAAC,kBAAkB;qBAChC,MAAM,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;qBAC7D,GAAG,EAAE,CAAA;YACV,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAA2B,EAAE,EAAE;gBAC1E,MAAM,CAAC,KAAK,CACV,sCAAsC,KAAK,CAAC,IAAI,cAAc,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CACzF,CAAA;gBACD,8DAA8D;gBAC9D,6DAA6D;gBAC7D,gBAAgB,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAA;YAC3C,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,+DAA+D;IAC/D,KAAK,CAAC,iBAAiB,CAAC,OAA0B;QAChD,MAAM,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAA;QAClF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAA;QAEvD,4DAA4D;QAC5D,gBAAgB,CAAC,6BAA6B;aAC3C,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC;aAC/E,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QAE1B,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAA;QAC5D,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAC5F,CAAA;QACD,MAAM,UAAU,GAAG,eAAe;aAC/B,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;aAC1C,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAE7B,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CACtD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAChF,CAAA;QACD,MAAM,YAAY,GAAG,iBAAiB;aACnC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC;aAC5C,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAE7B,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,MAAM,uBAAuB,YAAY,CAAC,MAAM,iBAAiB,CAAC,CAAA;QAC7F,IAAI,UAAU,CAAC,MAAM,EAAE;YACrB,MAAM,CAAC,KAAK,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAA;SACjD;QACD,IAAI,YAAY,CAAC,MAAM,EAAE;YACvB,MAAM,CAAC,KAAK,CAAC,wBAAwB,YAAY,EAAE,CAAC,CAAA;SACrD;QAED,mDAAmD;QACnD,uCAAuC;QACvC,qCAAqC;QACrC,2CAA2C;QAE3C,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YAC5C,MAAM,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAA;YACtF,OAAO,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;SAC3E;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,UAAU,CAAC,MAAM,EAAE;YAC3C,MAAM,CAAC,KAAK,CAAC,6EAA6E,CAAC,CAAA;YAC3F,MAAM,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,eAAe,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;YACrF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;YAC3E,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;SACxD;QAED,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACpD,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAChD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC9B,MAAM,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YAC3D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;SAChC;QAED,6CAA6C;QAC7C,gBAAgB,CAAC,sBAAsB,CAAC,OAAO,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAAA;QAEpF,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAA;QAClD,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAA;QAErC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAC3C,OAAO,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IAC5E,CAAC;CACF;AA5JD,gDA4JC"}
@@ -0,0 +1,15 @@
1
+ import { ResultPath } from '../adapter';
2
+ interface ValidateResultNumberParams<T> {
3
+ data: T;
4
+ path?: ResultPath;
5
+ options?: {
6
+ inverse?: boolean;
7
+ };
8
+ missingDataErrorMsg?: string;
9
+ missingResultsErrorMsg?: string;
10
+ }
11
+ export declare function validateResultNumber<T>(params: ValidateResultNumberParams<T>): number;
12
+ export declare function getResult<T>(data: T, path: ResultPath): unknown;
13
+ export declare function getResultFromObject<T extends Record<string, T[keyof T]>>(data: T, path: ResultPath): unknown;
14
+ export declare function getResultFromArraylike<T extends string | ArrayLike<unknown>>(data: T, path: [number]): unknown;
15
+ export {};
@@ -0,0 +1,61 @@
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.getResultFromArraylike = exports.getResultFromObject = exports.getResult = exports.validateResultNumber = void 0;
7
+ const _1 = require(".");
8
+ const error_1 = require("../validation/error");
9
+ const logger_1 = require("./logger");
10
+ const object_path_1 = __importDefault(require("object-path"));
11
+ const logger = (0, logger_1.makeLogger)('DataValidation');
12
+ function validateResultNumber(params) {
13
+ const { data, path, options, missingDataErrorMsg = 'Data provider response empty', missingResultsErrorMsg = 'Result could not be found in path or is empty. This is likely an issue with the data provider or the input params/overrides.', } = params;
14
+ if (typeof data === 'undefined' ||
15
+ data === null ||
16
+ ((0, _1.isObject)(data) && Object.keys(data).length === 0)) {
17
+ logger.error(missingDataErrorMsg, { data, path });
18
+ throw new error_1.AdapterDataProviderError({
19
+ message: missingDataErrorMsg,
20
+ statusCode: 502,
21
+ });
22
+ }
23
+ const result = path ? getResult(data, path) : data;
24
+ if (typeof result === 'undefined' || result === null) {
25
+ logger.error(missingResultsErrorMsg, { data, path });
26
+ throw new error_1.AdapterDataProviderError({
27
+ message: missingResultsErrorMsg,
28
+ statusCode: 502,
29
+ });
30
+ }
31
+ const num = Number(result);
32
+ if (num === 0 || isNaN(num)) {
33
+ const message = 'Invalid result received. This is likely an issue with the data provider or the input params/overrides.';
34
+ logger.error(message, { data, path });
35
+ throw new error_1.AdapterDataProviderError({
36
+ message,
37
+ statusCode: 400,
38
+ });
39
+ }
40
+ return options?.inverse ? 1 / num : num;
41
+ }
42
+ exports.validateResultNumber = validateResultNumber;
43
+ function getResult(data, path) {
44
+ if ((typeof data === 'string' || Array.isArray(data)) &&
45
+ Array.isArray(path) &&
46
+ (0, _1.isArraylikeAccessor)(path)) {
47
+ return getResultFromArraylike(data, path);
48
+ }
49
+ // Object-path handles accessing arrays, just need to coerce the type
50
+ return getResultFromObject(data, path);
51
+ }
52
+ exports.getResult = getResult;
53
+ function getResultFromObject(data, path) {
54
+ return object_path_1.default.get(data, path);
55
+ }
56
+ exports.getResultFromObject = getResultFromObject;
57
+ function getResultFromArraylike(data, path) {
58
+ return data[path[0]];
59
+ }
60
+ exports.getResultFromArraylike = getResultFromArraylike;
61
+ //# sourceMappingURL=data-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-validation.js","sourceRoot":"","sources":["../../../src/util/data-validation.ts"],"names":[],"mappings":";;;;;;AAAA,wBAAiD;AAEjD,+CAA8D;AAC9D,qCAAqC;AAErC,8DAAoC;AAEpC,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,gBAAgB,CAAC,CAAA;AAU3C,SAAgB,oBAAoB,CAAI,MAAqC;IAC3E,MAAM,EACJ,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,mBAAmB,GAAG,8BAA8B,EACpD,sBAAsB,GAAG,8HAA8H,GACxJ,GAAG,MAAM,CAAA;IAEV,IACE,OAAO,IAAI,KAAK,WAAW;QAC3B,IAAI,KAAK,IAAI;QACb,CAAC,IAAA,WAAQ,EAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAA+B,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,EAC7E;QACA,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QACjD,MAAM,IAAI,gCAAwB,CAAC;YACjC,OAAO,EAAE,mBAAmB;YAC5B,UAAU,EAAE,GAAG;SAChB,CAAC,CAAA;KACH;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAElD,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,IAAI,EAAE;QACpD,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QACpD,MAAM,IAAI,gCAAwB,CAAC;YACjC,OAAO,EAAE,sBAAsB;YAC/B,UAAU,EAAE,GAAG;SAChB,CAAC,CAAA;KACH;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;IAC1B,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;QAC3B,MAAM,OAAO,GACX,wGAAwG,CAAA;QAC1G,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QACrC,MAAM,IAAI,gCAAwB,CAAC;YACjC,OAAO;YACP,UAAU,EAAE,GAAG;SAChB,CAAC,CAAA;KACH;IAED,OAAO,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;AACzC,CAAC;AA1CD,oDA0CC;AAED,SAAgB,SAAS,CAAI,IAAO,EAAE,IAAgB;IACpD,IACE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QACnB,IAAA,sBAAmB,EAAC,IAAI,CAAC,EACzB;QACA,OAAO,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;KAC1C;IAED,qEAAqE;IACrE,OAAO,mBAAmB,CAAC,IAAkC,EAAE,IAAI,CAAC,CAAA;AACtE,CAAC;AAXD,8BAWC;AAED,SAAgB,mBAAmB,CACjC,IAAO,EACP,IAAgB;IAEhB,OAAO,qBAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AACnC,CAAC;AALD,kDAKC;AAED,SAAgB,sBAAsB,CACpC,IAAO,EACP,IAAc;IAEd,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AACtB,CAAC;AALD,wDAKC"}
package/util/index.d.ts CHANGED
@@ -10,4 +10,5 @@ export declare const sleep: (ms: number) => Promise<void>;
10
10
  export declare const isObject: (o: unknown) => boolean;
11
11
  export declare const isArray: (o: unknown) => boolean;
12
12
  export declare const isEmpty: (o: unknown) => boolean;
13
+ export declare function isArraylikeAccessor(x: unknown[]): x is [number];
13
14
  export declare type PromiseOrValue<T> = Promise<T> | T;
package/util/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.isEmpty = exports.isArray = exports.isObject = exports.sleep = void 0;
17
+ exports.isArraylikeAccessor = exports.isEmpty = exports.isArray = exports.isObject = exports.sleep = void 0;
18
18
  __exportStar(require("./request"), exports);
19
19
  __exportStar(require("./logger"), exports);
20
20
  __exportStar(require("./subscription-set/subscription-set"), exports);
@@ -35,4 +35,8 @@ const isArray = (o) => o !== null && typeof o === 'object' && Array.isArray(o);
35
35
  exports.isArray = isArray;
36
36
  const isEmpty = (o) => o === undefined || o === null || o === '';
37
37
  exports.isEmpty = isEmpty;
38
+ function isArraylikeAccessor(x) {
39
+ return x.length === 1 && x.every((i) => typeof i === 'number');
40
+ }
41
+ exports.isArraylikeAccessor = isArraylikeAccessor;
38
42
  //# sourceMappingURL=index.js.map
package/util/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,2CAAwB;AACxB,sEAAmD;AAEnD;;;;GAIG;AACI,MAAM,KAAK,GAAG,CAAC,EAAU,EAAiB,EAAE;IACjD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAJY,QAAA,KAAK,SAIjB;AAEM,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAW,EAAE,CAC9C,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAA;AADtD,QAAA,QAAQ,YAC8C;AAE5D,MAAM,OAAO,GAAG,CAAC,CAAU,EAAW,EAAE,CAC7C,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AAD5C,QAAA,OAAO,WACqC;AAElD,MAAM,OAAO,GAAG,CAAC,CAAU,EAAW,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAA;AAA5E,QAAA,OAAO,WAAqE"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,2CAAwB;AACxB,sEAAmD;AAEnD;;;;GAIG;AACI,MAAM,KAAK,GAAG,CAAC,EAAU,EAAiB,EAAE;IACjD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAJY,QAAA,KAAK,SAIjB;AAEM,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAW,EAAE,CAC9C,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAA;AADtD,QAAA,QAAQ,YAC8C;AAE5D,MAAM,OAAO,GAAG,CAAC,CAAU,EAAW,EAAE,CAC7C,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AAD5C,QAAA,OAAO,WACqC;AAElD,MAAM,OAAO,GAAG,CAAC,CAAU,EAAW,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAA;AAA5E,QAAA,OAAO,WAAqE;AAEzF,SAAgB,mBAAmB,CAAC,CAAY;IAC9C,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAA;AAChE,CAAC;AAFD,kDAEC"}
@@ -0,0 +1,3 @@
1
+ import { Adapter } from '../adapter';
2
+ import { AdapterRequest } from '../util/request';
3
+ export declare const performSymbolOverrides: (adapter: Adapter, req: AdapterRequest) => void;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.performSymbolOverrides = void 0;
4
+ const performSymbolOverrides = (adapter, req) => {
5
+ let adapterOverrides = {};
6
+ if (req.requestContext.data &&
7
+ req.requestContext.data['overrides'] &&
8
+ req.requestContext.data['overrides'][adapter.name]) {
9
+ adapterOverrides = req.requestContext.data['overrides'][adapter.name];
10
+ }
11
+ if (!Array.isArray(req.requestContext.data['base'])) {
12
+ // Perform overrides specified in the request payload
13
+ req.requestContext.data['base'] =
14
+ adapterOverrides[req.requestContext.data['base']] ?? req.requestContext.data['base'];
15
+ // Perform hardcoded overrides
16
+ if (adapter.overrides) {
17
+ req.requestContext.data['base'] =
18
+ adapter.overrides[req.requestContext.data['base']] ??
19
+ req.requestContext.data['base'];
20
+ }
21
+ return;
22
+ }
23
+ let requestedSymbols = req.requestContext.data['base'];
24
+ for (let i = 0; i < requestedSymbols.length; i++) {
25
+ const symbol = requestedSymbols[i];
26
+ // Perform overrides specified in the request payload
27
+ let overriddenSymbol = adapterOverrides[symbol.toUpperCase()] ?? adapterOverrides[symbol.toLowerCase()];
28
+ // Perform hardcoded overrides
29
+ if (adapter.overrides) {
30
+ overriddenSymbol =
31
+ adapter.overrides[symbol.toUpperCase()] ??
32
+ adapter.overrides[symbol.toLowerCase()] ??
33
+ overriddenSymbol;
34
+ }
35
+ requestedSymbols[i] = overriddenSymbol ?? requestedSymbols[i];
36
+ }
37
+ requestedSymbols = requestedSymbols.length > 1 ? requestedSymbols : requestedSymbols[1];
38
+ req.requestContext.data['base'] = requestedSymbols;
39
+ };
40
+ exports.performSymbolOverrides = performSymbolOverrides;
41
+ //# sourceMappingURL=override-functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"override-functions.js","sourceRoot":"","sources":["../../../src/validation/override-functions.ts"],"names":[],"mappings":";;;AAKO,MAAM,sBAAsB,GAAG,CAAC,OAAgB,EAAE,GAAmB,EAAE,EAAE;IAC9E,IAAI,gBAAgB,GAAG,EAA4B,CAAA;IACnD,IACE,GAAG,CAAC,cAAc,CAAC,IAAI;QACvB,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC;QACnC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAe,CAAC,OAAO,CAAC,IAAI,CAAC,EACjE;QACA,gBAAgB,GAAI,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;KACrF;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE;QACnD,qDAAqD;QACrD,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;YAC7B,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAW,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAChG,8BAA8B;QAC9B,IAAI,OAAO,CAAC,SAAS,EAAE;YACrB,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC7B,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAW,CAAC;oBAC5D,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;SAClC;QACD,OAAM;KACP;IACD,IAAI,gBAAgB,GAAG,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAChD,MAAM,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAA;QAClC,qDAAqD;QACrD,IAAI,gBAAgB,GAClB,gBAAgB,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;QAClF,8BAA8B;QAC9B,IAAI,OAAO,CAAC,SAAS,EAAE;YACrB,gBAAgB;gBACd,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;oBACvC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;oBACvC,gBAAgB,CAAA;SACnB;QACD,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAA;KAC9D;IACD,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;IACvF,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,gBAAgB,CAAA;AACpD,CAAC,CAAA;AAtCY,QAAA,sBAAsB,0BAsClC"}