@chainlink/external-adapter-framework 0.29.13 → 0.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/adapter/endpoint.d.ts +2 -2
- package/adapter/endpoint.js +2 -2
- package/adapter/endpoint.js.map +1 -1
- package/adapter/types.d.ts +2 -2
- package/package.json +1 -1
- package/rate-limiting/burst.d.ts +5 -3
- package/rate-limiting/burst.js +17 -15
- package/rate-limiting/burst.js.map +1 -1
- package/rate-limiting/index.d.ts +3 -1
- package/rate-limiting/index.js.map +1 -1
- package/transports/http.d.ts +3 -0
- package/transports/http.js +1 -1
- package/transports/http.js.map +1 -1
- package/transports/websocket.d.ts +4 -2
- package/transports/websocket.js +10 -3
- package/transports/websocket.js.map +1 -1
- package/util/requester.d.ts +2 -1
- package/util/requester.js +4 -2
- package/util/requester.js.map +1 -1
- package/validation/index.js +1 -1
- package/validation/index.js.map +1 -1
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# EA Framework v3
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/@chainlink/external-adapter-framework)
|
|
4
|
-

|
|
5
5
|
|
|
6
6
|
> **Warning**
|
|
7
7
|
> 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)
|
package/adapter/endpoint.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export declare class AdapterEndpoint<T extends EndpointGenerics> implements Adap
|
|
|
14
14
|
transportRoutes: TransportRoutes<T>;
|
|
15
15
|
inputParameters: InputParameters<T['Parameters']>;
|
|
16
16
|
rateLimiting?: EndpointRateLimitingConfig | undefined;
|
|
17
|
-
cacheKeyGenerator?: (data:
|
|
17
|
+
cacheKeyGenerator?: (data: TypeFromDefinition<T['Parameters']>) => string;
|
|
18
18
|
customInputValidation?: CustomInputValidator<T>;
|
|
19
19
|
requestTransforms: RequestTransform<T>[];
|
|
20
20
|
overrides?: Record<string, string> | undefined;
|
|
@@ -34,7 +34,7 @@ export declare class AdapterEndpoint<T extends EndpointGenerics> implements Adap
|
|
|
34
34
|
* @param req - the current adapter request
|
|
35
35
|
* @returns the request after passing through all request transforms
|
|
36
36
|
*/
|
|
37
|
-
runRequestTransforms(req: AdapterRequest<TypeFromDefinition<T['Parameters']
|
|
37
|
+
runRequestTransforms(req: AdapterRequest<TypeFromDefinition<T['Parameters']>>, settings: T['Settings']): void;
|
|
38
38
|
/**
|
|
39
39
|
* Default request transform that takes requests and manipulates base params
|
|
40
40
|
*
|
package/adapter/endpoint.js
CHANGED
|
@@ -61,9 +61,9 @@ class AdapterEndpoint {
|
|
|
61
61
|
* @param req - the current adapter request
|
|
62
62
|
* @returns the request after passing through all request transforms
|
|
63
63
|
*/
|
|
64
|
-
runRequestTransforms(req) {
|
|
64
|
+
runRequestTransforms(req, settings) {
|
|
65
65
|
for (const transform of this.requestTransforms) {
|
|
66
|
-
transform(req);
|
|
66
|
+
transform(req, settings);
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
/**
|
package/adapter/endpoint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../src/adapter/endpoint.ts"],"names":[],"mappings":";;;AAAA,gDAAiD;AAEjD,8CAA+C;AAC/C,kCAAmF;AACnF,8CAA+C;AAC/C,+CAAkD;AAYlD,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,iBAAiB,CAAC,CAAA;AAC/B,QAAA,sBAAsB,GAAG,0BAA0B,CAAA;AAEhE;;GAEG;AACH,MAAa,eAAe;IAiB1B,YAAY,MAAgC;QAC1C,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;QACvB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QAC7B,uDAAuD;QACvD,IAAI,iBAAiB,IAAI,MAAM,EAAE;YAC/B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAA;YAC7C,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAA;YACvC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAA;SAChD;aAAM;YACL,IAAI,CAAC,eAAe,GAAG,IAAI,4BAAe,EAAK,CAAC,QAAQ,CACtD,8BAAsB,EACtB,MAAM,CAAC,SAAS,CACjB,CAAA;SACF;QAED,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,IAAI,4BAAe,CAAC,EAAE,CAAC,CAAA;QACxE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAA;QACvC,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAA;QACjD,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAA;QACzD,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;IACjG,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CACd,WAAmB,EACnB,YAAiC,EACjC,eAA8B;QAE9B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,MAAM,aAAa,GAAG,IAAI,wBAAa,CAAC;YACtC,YAAY;YACZ,eAAe,EAAE,eAAkC;YACnD,WAAW;YACX,YAAY,EAAE,IAAI,CAAC,IAAI;YACvB,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC,CAAA;QAEF,MAAM,qBAAqB,GAAG;YAC5B,GAAG,YAAY;YACf,aAAa;SACd,CAAA;QAED,MAAM,CAAC,KAAK,CAAC,yCAAyC,IAAI,CAAC,IAAI,MAAM,CAAC,CAAA;QACtE,KAAK,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE;YACvE,MAAM,SAAS,CAAC,UAAU,CAAC,qBAAqB,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;SAC7F;IACH,CAAC;IAED;;;;;OAKG;IACH,oBAAoB,
|
|
1
|
+
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../src/adapter/endpoint.ts"],"names":[],"mappings":"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"}
|
package/adapter/types.d.ts
CHANGED
|
@@ -56,7 +56,7 @@ export interface AdapterRateLimitingConfig {
|
|
|
56
56
|
/**
|
|
57
57
|
* Type to perform arbitrary modifications on an adapter request
|
|
58
58
|
*/
|
|
59
|
-
export type RequestTransform<T extends EndpointGenerics> = (req: AdapterRequest<TypeFromDefinition<T['Parameters']
|
|
59
|
+
export type RequestTransform<T extends EndpointGenerics> = (req: AdapterRequest<TypeFromDefinition<T['Parameters']>>, settings: T['Settings']) => void;
|
|
60
60
|
/**
|
|
61
61
|
* Main structure of an External Adapter
|
|
62
62
|
*/
|
|
@@ -111,7 +111,7 @@ export interface BaseAdapterEndpointParams<T extends EndpointGenerics> {
|
|
|
111
111
|
/** Specific details related to the rate limiting for this endpoint in particular */
|
|
112
112
|
rateLimiting?: EndpointRateLimitingConfig;
|
|
113
113
|
/** Custom function that generates cache keys */
|
|
114
|
-
cacheKeyGenerator?: (data:
|
|
114
|
+
cacheKeyGenerator?: (data: TypeFromDefinition<T['Parameters']>) => string;
|
|
115
115
|
/** Custom input validation. Void function that should throw AdapterInputError on validation errors */
|
|
116
116
|
customInputValidation?: CustomInputValidator<T>;
|
|
117
117
|
/** Transforms that will apply to the request before submitting it through the adapter request flow */
|
package/package.json
CHANGED
package/rate-limiting/burst.d.ts
CHANGED
|
@@ -2,6 +2,8 @@ import { AdapterRateLimitTier, RateLimiter } from '.';
|
|
|
2
2
|
import { AdapterEndpoint, EndpointGenerics } from '../adapter';
|
|
3
3
|
/**
|
|
4
4
|
* This rate limiter is the simplest stateful option.
|
|
5
|
+
* It will keep track of used API credits (by default, one request equals one credit) and
|
|
6
|
+
* upon reaching the limits in a fixed time window, will block the requests until API credits are available again.
|
|
5
7
|
* On startup, it'll compare the different thresholds for each tier, calculate them all
|
|
6
8
|
* in the finest window we'll use (seconds), and use the most restrictive one.
|
|
7
9
|
* This is so if the EA were to restart, we don't need to worry about persisting state
|
|
@@ -10,13 +12,13 @@ import { AdapterEndpoint, EndpointGenerics } from '../adapter';
|
|
|
10
12
|
*/
|
|
11
13
|
export declare class BurstRateLimiter implements RateLimiter {
|
|
12
14
|
latestSecondInterval: number;
|
|
13
|
-
|
|
15
|
+
creditsThisSecond: number;
|
|
14
16
|
latestMinuteInterval: number;
|
|
15
|
-
|
|
17
|
+
creditsThisMinute: number;
|
|
16
18
|
perSecondLimit: number;
|
|
17
19
|
perMinuteLimit: number;
|
|
18
20
|
initialize<T extends EndpointGenerics>(endpoints: AdapterEndpoint<T>[], limits?: AdapterRateLimitTier): this;
|
|
19
21
|
private updateIntervals;
|
|
20
22
|
msUntilNextExecution(): number;
|
|
21
|
-
waitForRateLimit(): Promise<void>;
|
|
23
|
+
waitForRateLimit(creditCost?: number): Promise<void>;
|
|
22
24
|
}
|
package/rate-limiting/burst.js
CHANGED
|
@@ -5,6 +5,8 @@ const util_1 = require("../util");
|
|
|
5
5
|
const logger = (0, util_1.makeLogger)('BurstRateLimiter');
|
|
6
6
|
/**
|
|
7
7
|
* This rate limiter is the simplest stateful option.
|
|
8
|
+
* It will keep track of used API credits (by default, one request equals one credit) and
|
|
9
|
+
* upon reaching the limits in a fixed time window, will block the requests until API credits are available again.
|
|
8
10
|
* On startup, it'll compare the different thresholds for each tier, calculate them all
|
|
9
11
|
* in the finest window we'll use (seconds), and use the most restrictive one.
|
|
10
12
|
* This is so if the EA were to restart, we don't need to worry about persisting state
|
|
@@ -14,16 +16,16 @@ const logger = (0, util_1.makeLogger)('BurstRateLimiter');
|
|
|
14
16
|
class BurstRateLimiter {
|
|
15
17
|
constructor() {
|
|
16
18
|
this.latestSecondInterval = 0;
|
|
17
|
-
this.
|
|
19
|
+
this.creditsThisSecond = 0;
|
|
18
20
|
this.latestMinuteInterval = 0;
|
|
19
|
-
this.
|
|
21
|
+
this.creditsThisMinute = 0;
|
|
20
22
|
}
|
|
21
23
|
initialize(endpoints, limits) {
|
|
22
24
|
// Translate the hourly limit into reqs per minute
|
|
23
25
|
const perHourLimit = (limits?.rateLimit1h || Infinity) / 60;
|
|
24
26
|
this.perMinuteLimit = Math.min(limits?.rateLimit1m || Infinity, perHourLimit);
|
|
25
27
|
this.perSecondLimit = limits?.rateLimit1s || Infinity;
|
|
26
|
-
logger.debug(`Using
|
|
28
|
+
logger.debug(`Using API credit limit settings: perMinute = ${this.perMinuteLimit} | perSecond: = ${this.perSecondLimit}`);
|
|
27
29
|
return this;
|
|
28
30
|
}
|
|
29
31
|
updateIntervals() {
|
|
@@ -35,14 +37,14 @@ class BurstRateLimiter {
|
|
|
35
37
|
// This should always run to completion, even if it doesn't look atomic; therefore the
|
|
36
38
|
// Ops should be "thread safe". Thank JS and its infinite single threaded dumbness.
|
|
37
39
|
if (nearestSecondInterval !== this.latestSecondInterval) {
|
|
38
|
-
logger.trace(`Clearing latest second interval, # of
|
|
40
|
+
logger.trace(`Clearing latest second interval, # of credits logged was: ${this.creditsThisSecond} `);
|
|
39
41
|
this.latestSecondInterval = nearestSecondInterval;
|
|
40
|
-
this.
|
|
42
|
+
this.creditsThisSecond = 0;
|
|
41
43
|
}
|
|
42
44
|
if (nearestMinuteInterval !== this.latestMinuteInterval) {
|
|
43
|
-
logger.trace(`Clearing latest second minute, # of
|
|
45
|
+
logger.trace(`Clearing latest second minute, # of credits logged was: ${this.creditsThisMinute} `);
|
|
44
46
|
this.latestMinuteInterval = nearestMinuteInterval;
|
|
45
|
-
this.
|
|
47
|
+
this.creditsThisMinute = 0;
|
|
46
48
|
}
|
|
47
49
|
return {
|
|
48
50
|
now,
|
|
@@ -56,24 +58,24 @@ class BurstRateLimiter {
|
|
|
56
58
|
return 0;
|
|
57
59
|
}
|
|
58
60
|
const { now, nextSecondInterval, nextMinuteInterval } = this.updateIntervals();
|
|
59
|
-
const timeToWaitForNextSecond = this.
|
|
60
|
-
const timeToWaitForNextMinute = this.
|
|
61
|
+
const timeToWaitForNextSecond = this.creditsThisSecond < this.perSecondLimit ? 0 : nextSecondInterval - now;
|
|
62
|
+
const timeToWaitForNextMinute = this.creditsThisMinute < this.perMinuteLimit ? 0 : nextMinuteInterval - now;
|
|
61
63
|
const timeToWait = Math.max(timeToWaitForNextSecond, timeToWaitForNextMinute);
|
|
62
64
|
return timeToWait;
|
|
63
65
|
}
|
|
64
|
-
async waitForRateLimit() {
|
|
66
|
+
async waitForRateLimit(creditCost = 1) {
|
|
65
67
|
const timeToWait = this.msUntilNextExecution();
|
|
66
68
|
if (timeToWait === 0) {
|
|
67
|
-
logger.trace(`
|
|
69
|
+
logger.trace(`API credits under limits, current count: (S = ${this.creditsThisSecond} | M = ${this.creditsThisMinute}, | C = ${creditCost})`);
|
|
68
70
|
}
|
|
69
71
|
else {
|
|
70
|
-
logger.trace(`Capacity for provider
|
|
72
|
+
logger.trace(`Capacity for provider API credits has been reached this interval (S = ${this.creditsThisSecond} | M = ${this.creditsThisMinute} | C = ${creditCost}), need to wait ${timeToWait}ms`);
|
|
71
73
|
await (0, util_1.sleep)(timeToWait);
|
|
72
74
|
this.updateIntervals();
|
|
73
75
|
}
|
|
74
|
-
this.
|
|
75
|
-
this.
|
|
76
|
-
logger.trace(`Request is now ready to go, updated count: (S = ${this.
|
|
76
|
+
this.creditsThisSecond += creditCost;
|
|
77
|
+
this.creditsThisMinute += creditCost;
|
|
78
|
+
logger.trace(`Request is now ready to go, updated count: (S = ${this.creditsThisSecond} | M = ${this.creditsThisMinute})`);
|
|
77
79
|
return;
|
|
78
80
|
}
|
|
79
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"burst.js","sourceRoot":"","sources":["../../../src/rate-limiting/burst.ts"],"names":[],"mappings":";;;AAEA,kCAA2C;AAE3C,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,kBAAkB,CAAC,CAAA;AAE7C
|
|
1
|
+
{"version":3,"file":"burst.js","sourceRoot":"","sources":["../../../src/rate-limiting/burst.ts"],"names":[],"mappings":"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"}
|
package/rate-limiting/index.d.ts
CHANGED
|
@@ -21,8 +21,10 @@ export interface RateLimiter {
|
|
|
21
21
|
/**
|
|
22
22
|
* This method will block (if necessary) until the rate limiter can make sure the
|
|
23
23
|
* next outbound request will be within the specified limits.
|
|
24
|
+
*
|
|
25
|
+
* @param cost - credit cost of an API request sent to Data Provider. Used for burst rate limiter
|
|
24
26
|
*/
|
|
25
|
-
waitForRateLimit(): Promise<void>;
|
|
27
|
+
waitForRateLimit(cost?: number): Promise<void>;
|
|
26
28
|
/**
|
|
27
29
|
* Returns the time in milliseconds until the next request would be able to be fired
|
|
28
30
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rate-limiting/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,kCAAoC;AAEpC,0CAAuB;AAEvB,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,mBAAmB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rate-limiting/index.ts"],"names":[],"mappings":"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"}
|
package/transports/http.d.ts
CHANGED
|
@@ -34,6 +34,9 @@ export type ProviderRequestConfig<T extends HttpTransportGenerics> = {
|
|
|
34
34
|
request: AxiosRequestConfig<T['Provider']['RequestBody']>;
|
|
35
35
|
/** An endpoint name override for the requester key to allow the coalescing of requests across endpoints */
|
|
36
36
|
endpointNameOverride?: string;
|
|
37
|
+
/** The API credit cost of the request sent to the data provider.
|
|
38
|
+
* Applies only for burst rate limit strategy and is ignored if another strategy is used. */
|
|
39
|
+
cost?: number;
|
|
37
40
|
};
|
|
38
41
|
/**
|
|
39
42
|
* Config object that is provided to the HttpTransport constructor.
|
package/transports/http.js
CHANGED
|
@@ -112,7 +112,7 @@ class HttpTransport extends subscription_1.SubscriptionTransport {
|
|
|
112
112
|
},
|
|
113
113
|
data: requestConfig.params,
|
|
114
114
|
transportName: this.name,
|
|
115
|
-
}), requestConfig.request);
|
|
115
|
+
}), requestConfig.request, requestConfig.cost);
|
|
116
116
|
// Parse responses and apply timestamps
|
|
117
117
|
const results = this.config
|
|
118
118
|
.parseResponse(requestConfig.params, requesterResult.response, context.adapterSettings)
|
package/transports/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/transports/http.ts"],"names":[],"mappings":";;;AAAA,iCAAqE;AAGrE,oCAAkD;AAClD,wCAAkD;AAClD,kCAAuD;AAGvD,+CAAqF;AAErF,0DAA+D;AAE/D,MAAM,uBAAuB,GAAG,MAAM,CAAA;AAEtC,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,eAAe,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/transports/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,16 +45,18 @@ export interface WebSocketTransportConfig<T extends WebsocketTransportGenerics>
|
|
|
45
45
|
* Builds a WS message that will be sent to subscribe to a specific feed
|
|
46
46
|
*
|
|
47
47
|
* @param params - the body of the adapter request
|
|
48
|
+
* @param context - the background context for the Adapter
|
|
48
49
|
* @returns the WS message (can be any type as long as the [[WebSocket]] doesn't complain)
|
|
49
50
|
*/
|
|
50
|
-
subscribeMessage?: (params: TypeFromDefinition<T['Parameters']>) => unknown;
|
|
51
|
+
subscribeMessage?: (params: TypeFromDefinition<T['Parameters']>, context: EndpointContext<T>) => unknown;
|
|
51
52
|
/**
|
|
52
53
|
* Builds a WS message that will be sent to unsubscribe to a specific feed
|
|
53
54
|
*
|
|
54
55
|
* @param params - the body of the adapter request
|
|
56
|
+
* @param context - the background context for the Adapter
|
|
55
57
|
* @returns the WS message (can be any type as long as the [[WebSocket]] doesn't complain)
|
|
56
58
|
*/
|
|
57
|
-
unsubscribeMessage?: (params: TypeFromDefinition<T['Parameters']>) => unknown;
|
|
59
|
+
unsubscribeMessage?: (params: TypeFromDefinition<T['Parameters']>, context: EndpointContext<T>) => unknown;
|
|
58
60
|
};
|
|
59
61
|
}
|
|
60
62
|
/**
|
package/transports/websocket.js
CHANGED
|
@@ -98,10 +98,13 @@ class WebSocketTransport extends streaming_1.StreamingTransport {
|
|
|
98
98
|
// Record active ws connections by decrementing count on close
|
|
99
99
|
// Using URL in label since connection_key is removed from v3
|
|
100
100
|
metrics_1.metrics.get('wsConnectionActive').dec();
|
|
101
|
-
// Also, register that the connection was closed and the reason why
|
|
101
|
+
// Also, register that the connection was closed and the reason why.
|
|
102
|
+
// We need to filter out query params from the URL to avoid having
|
|
103
|
+
// the cardinality of the metric go out of control.
|
|
104
|
+
const filteredUrl = this.currentUrl.split('?')[0];
|
|
102
105
|
metrics_1.metrics.get('wsConnectionClosures').inc({
|
|
103
106
|
code: event.code,
|
|
104
|
-
url:
|
|
107
|
+
url: filteredUrl,
|
|
105
108
|
});
|
|
106
109
|
},
|
|
107
110
|
};
|
|
@@ -216,7 +219,11 @@ class WebSocketTransport extends streaming_1.StreamingTransport {
|
|
|
216
219
|
const builders = this.config.builders;
|
|
217
220
|
if (builders) {
|
|
218
221
|
const { subscribeMessage, unsubscribeMessage } = builders;
|
|
219
|
-
await this.sendMessages(context, subscribeMessage
|
|
222
|
+
await this.sendMessages(context, subscribeMessage
|
|
223
|
+
? subscriptions.new.map((sub) => subscribeMessage(sub, context))
|
|
224
|
+
: subscriptions.new, unsubscribeMessage
|
|
225
|
+
? subscriptions.stale.map((sub) => unsubscribeMessage(sub, context))
|
|
226
|
+
: subscriptions.stale);
|
|
220
227
|
}
|
|
221
228
|
else {
|
|
222
229
|
logger.trace("This ws transport has no builders configured, so we're not sending any messages");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../../src/transports/websocket.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAsD;AAW7C,oBAXF,YAAS,CAWE;AATlB,wCAAoC;AACpC,kCAAwF;AAIxF,oDAA6E;AAC7E,uCAAyE;AAKzE,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;;AARM,2BAAI,GAAmB,YAAS,CAAA;AAD5B,wDAAsB;
|
|
1
|
+
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../../src/transports/websocket.ts"],"names":[],"mappings":"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"}
|
package/util/requester.d.ts
CHANGED
|
@@ -35,9 +35,10 @@ export declare class Requester {
|
|
|
35
35
|
*
|
|
36
36
|
* @param key - a key to uniquely identify this request, and coalesce new ones that match
|
|
37
37
|
* @param req - a request to send to a data provider
|
|
38
|
+
* @param cost - Data Provider API credit cost of the request
|
|
38
39
|
* @returns a promise that will resolve whenever the request is popped from the queue, sent, and a response is received
|
|
39
40
|
*/
|
|
40
|
-
request<T>(key: string, req: AxiosRequestConfig): Promise<RequesterResult<T>>;
|
|
41
|
+
request<T>(key: string, req: AxiosRequestConfig, cost?: number): Promise<RequesterResult<T>>;
|
|
41
42
|
private processNext;
|
|
42
43
|
private executeRequest;
|
|
43
44
|
}
|
package/util/requester.js
CHANGED
|
@@ -105,9 +105,10 @@ class Requester {
|
|
|
105
105
|
*
|
|
106
106
|
* @param key - a key to uniquely identify this request, and coalesce new ones that match
|
|
107
107
|
* @param req - a request to send to a data provider
|
|
108
|
+
* @param cost - Data Provider API credit cost of the request
|
|
108
109
|
* @returns a promise that will resolve whenever the request is popped from the queue, sent, and a response is received
|
|
109
110
|
*/
|
|
110
|
-
async request(key, req) {
|
|
111
|
+
async request(key, req, cost) {
|
|
111
112
|
// If there's already a queued request, reuse it's existing promise
|
|
112
113
|
const existingQueuedRequest = this.map[key];
|
|
113
114
|
if (existingQueuedRequest) {
|
|
@@ -118,6 +119,7 @@ class Requester {
|
|
|
118
119
|
key,
|
|
119
120
|
config: req,
|
|
120
121
|
retries: 0,
|
|
122
|
+
cost,
|
|
121
123
|
};
|
|
122
124
|
// This dual promise layer is built so the queuedRequest can hold both the resolve and reject handlers,
|
|
123
125
|
// and the promise itself so we can return it for request coalescing without creating new ones
|
|
@@ -143,7 +145,7 @@ class Requester {
|
|
|
143
145
|
}
|
|
144
146
|
(0, _1.censorLogs)(() => logger.trace(`Popped next request (Key: ${next.key}, Retry #: ${next.retries}) from the queue (Size: ${this.queue.length})`));
|
|
145
147
|
// Wait until the rate limiter allows the request to be executed
|
|
146
|
-
await this.rateLimiter.waitForRateLimit();
|
|
148
|
+
await this.rateLimiter.waitForRateLimit(next.cost);
|
|
147
149
|
// Fire off to complete in the background. We don't wait here to be able to fire off multiple requests concurrently
|
|
148
150
|
this.executeRequest.bind(this)(next);
|
|
149
151
|
return this.processNext();
|
package/util/requester.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requester.js","sourceRoot":"","sources":["../../../src/util/requester.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA4E;AAC5E,wBAAiD;AAEjD,wCAA8D;AAE9D,+CAI4B;AAE5B,MAAM,MAAM,GAAG,IAAA,aAAU,EAAC,WAAW,CAAC,CAAA;AAOtC,MAAM,gBAAgB;IAKpB,YAAoB,SAAiB;QAAjB,cAAS,GAAT,SAAS,CAAQ;QAFrC,WAAM,GAAG,CAAC,CAAA;IAE8B,CAAC;IAEzC,GAAG,CAAC,KAAQ;QACV,IAAI,QAAQ,CAAA;QACZ,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,EAAE;YAClC,wFAAwF;YACxF,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;SACzB;QAED,MAAM,IAAI,GAAgB;YACxB,KAAK;YACL,IAAI,EAAE,SAAS;SAChB,CAAA;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;SAClB;QACD,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;SACtB;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,MAAM,EAAE,CAAA;QACb,iBAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,GAAG,EAAE,CAAA;QACvC,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,MAAM;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAA;QAEvB,IAAI,CAAC,IAAI,EAAE;YACT,OAAM;SACP;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAA;QACtB,IAAI,CAAC,MAAM,EAAE,CAAA;QACb,iBAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,GAAG,EAAE,CAAA;QACvC,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"requester.js","sourceRoot":"","sources":["../../../src/util/requester.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA4E;AAC5E,wBAAiD;AAEjD,wCAA8D;AAE9D,+CAI4B;AAE5B,MAAM,MAAM,GAAG,IAAA,aAAU,EAAC,WAAW,CAAC,CAAA;AAOtC,MAAM,gBAAgB;IAKpB,YAAoB,SAAiB;QAAjB,cAAS,GAAT,SAAS,CAAQ;QAFrC,WAAM,GAAG,CAAC,CAAA;IAE8B,CAAC;IAEzC,GAAG,CAAC,KAAQ;QACV,IAAI,QAAQ,CAAA;QACZ,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,EAAE;YAClC,wFAAwF;YACxF,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;SACzB;QAED,MAAM,IAAI,GAAgB;YACxB,KAAK;YACL,IAAI,EAAE,SAAS;SAChB,CAAA;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;SAClB;QACD,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;SACtB;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,MAAM,EAAE,CAAA;QACb,iBAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,GAAG,EAAE,CAAA;QACvC,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,MAAM;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAA;QAEvB,IAAI,CAAC,IAAI,EAAE;YACT,OAAM;SACP;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAA;QACtB,IAAI,CAAC,MAAM,EAAE,CAAA;QACb,iBAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,GAAG,EAAE,CAAA;QACvC,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;CACF;AAoBD;;;;;;;;;;;GAWG;AACH,MAAa,SAAS;IAQpB,YAAoB,WAAwB,EAAE,eAAgC;QAA1D,gBAAW,GAAX,WAAW,CAAa;QAPpC,eAAU,GAAG,KAAK,CAAA;QAElB,QAAG,GAAG,EAAmC,CAAA;QAM/C,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC,KAAK,CAAA;QACvC,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,WAAW,CAAA;QAC1C,IAAI,CAAC,uBAAuB,GAAG,eAAe,CAAC,oCAAoC,CAAA;QACnF,IAAI,CAAC,KAAK,GAAG,IAAI,gBAAgB,CAAgB,eAAe,CAAC,6BAA6B,CAAC,CAAA;IACjG,CAAC;IAEO,YAAY,CAAI,aAA+B;QACrD,iIAAiI;QACjI,+HAA+H;QAC/H,qIAAqI;QACrI,oJAAoJ;QACpJ,iHAAiH;QACjH,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAuC,CAAC,CAAA;QACjF,IAAI,iBAAiB,EAAE;YACrB,2GAA2G;YAC3G,IAAA,aAAU,EAAC,GAAG,EAAE,CACd,MAAM,CAAC,KAAK,CACV,iBAAiB,iBAAiB,CAAC,GAAG,cAAc,iBAAiB,CAAC,OAAO,oEAAoE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CACtK,CACF,CAAA;YACD,iBAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,GAAG,EAAE,CAAA;YAC3C,iBAAiB,CAAC,MAAM,CACtB,IAAI,6BAAqB,CAAC;gBACxB,OAAO,EACL,gLAAgL;gBAClL,UAAU,EAAE,GAAG;gBACf,oBAAoB,EAAE,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE;aAC9D,CAAC,CACH,CAAA;YAED,4CAA4C;YAC5C,OAAO,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAA;SACvC;QAED,iFAAiF;QACjF,kGAAkG;QAClG,IAAA,aAAU,EAAC,GAAG,EAAE,CACd,MAAM,CAAC,KAAK,CACV,uBAAuB,aAAa,CAAC,GAAG,cAAc,aAAa,CAAC,OAAO,yBAAyB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CACzH,CACF,CAAA;QACD,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,aAA8B,CAAA;QAE5D,yCAAyC;QACzC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;YACtB,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAA;YACnD,iGAAiG;YACjG,4FAA4F;YAC5F,IAAI,CAAC,WAAW,EAAE,CAAA;SACnB;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO,CACX,GAAW,EACX,GAAuB,EACvB,IAAa;QAEb,mEAAmE;QACnE,MAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,qBAAqB,EAAE;YACzB,IAAA,aAAU,EAAC,GAAG,EAAE,CACd,MAAM,CAAC,KAAK,CAAC,0DAA0D,GAAG,GAAG,CAAC,CAC/E,CAAA;YACD,OAAO,qBAAqB,CAAC,OAAsC,CAAA;SACpE;QAED,MAAM,aAAa,GAAG;YACpB,GAAG;YACH,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,CAAC;YACV,IAAI;SACe,CAAA;QAErB,uGAAuG;QACvG,8FAA8F;QAC9F,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC5B,aAAa,CAAC,OAAO,GAAG,IAAI,OAAO,CAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;gBAC3E,aAAa,CAAC,OAAO,GAAG,OAAO,CAAA;gBAC/B,aAAa,CAAC,MAAM,GAAG,OAAO,CAAA;gBAC9B,OAAO,CAAC,CAAC,CAAC,CAAA;YACZ,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,+BAA+B;QAC/B,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAA;QAEhC,OAAO,aAAa,CAAC,OAAO,CAAA;IAC9B,CAAC;IAED,+EAA+E;IACvE,KAAK,CAAC,WAAW;QACvB,8GAA8G;QAC9G,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAA;QAEhC,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,CAAC,KAAK,CACV,mFAAmF,CACpF,CAAA;YACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;YACvB,OAAM;SACP;QAED,IAAA,aAAU,EAAC,GAAG,EAAE,CACd,MAAM,CAAC,KAAK,CACV,6BAA6B,IAAI,CAAC,GAAG,cAAc,IAAI,CAAC,OAAO,2BAA2B,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAC/G,CACF,CAAA;QAED,gEAAgE;QAChE,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAElD,mHAAmH;QACnH,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;QAEpC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;IAC3B,CAAC;IAED,uHAAuH;IAC/G,KAAK,CAAC,cAAc,CAAC,GAAkB;QAC7C,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAA;QACrD,MAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACxC,MAAM,aAAa,GAAG,iBAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC,UAAU,EAAE,CAAA;QAEpF,oEAAoE;QACpE,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAA;QAE/C,IAAI;YACF,IAAA,aAAU,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,GAAG,oBAAoB,CAAC,CAAC,CAAA;YAChF,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAC5C,IAAA,aAAU,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,GAAG,mBAAmB,CAAC,CAAC,CAAA;YACvE,OAAO,CAAC;gBACN,QAAQ;gBACR,UAAU,EAAE;oBACV,2BAA2B,EAAE,qBAAqB;oBAClD,0BAA0B,EAAE,IAAI,CAAC,GAAG,EAAE;iBACvC;aACF,CAAC,CAAA;YAEF,kCAAkC;YAClC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAEpB,oDAAoD;YACpD,iBAAO;iBACJ,GAAG,CAAC,sBAAsB,CAAC;iBAC3B,MAAM,CAAC,IAAA,kCAAwB,EAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;iBAChE,GAAG,EAAE,CAAA;SACT;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,GAAG,GAAG,CAAe,CAAA;YAC3B,IAAA,aAAU,EAAC,GAAG,EAAE,CACd,MAAM,CAAC,IAAI,CAAC;gBACV,GAAG,EAAE,gBAAgB;gBACrB,QAAQ,EAAE;oBACR,UAAU,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM;oBAChC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI;oBACxB,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,UAAU;iBAC/B;aACF,CAAC,CACH,CAAA;YAED,+CAA+C;YAC/C,iBAAO;iBACJ,GAAG,CAAC,sBAAsB,CAAC;iBAC3B,MAAM,CAAC,IAAA,kCAAwB,EAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;iBAC1E,GAAG,EAAE,CAAA;YAER,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE;gBAC9B,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAA;gBAC/D,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,gCAAwB,CAAC,CAAC,CAAC,8BAAsB,CAAA;gBAE3F,MAAM,CACJ,IAAI,UAAU,CACZ;oBACE,UAAU,EAAE,GAAG;oBACf,IAAI,EAAE,qBAAqB;oBAC3B,kBAAkB,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG;oBAChD,OAAO,EAAE,GAAG,EAAE,OAAO;oBACrB,KAAK,EAAE,CAAC;oBACR,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI;oBAClC,GAAG,EAAE,MAAM,CAAC,GAAG;iBAChB,EACD;oBACE,2BAA2B,EAAE,qBAAqB;oBAClD,0BAA0B,EAAE,IAAI,CAAC,GAAG,EAAE;oBACtC,2BAA2B,EAAE,SAAS;iBACvC,CACF,CACF,CAAA;gBAED,kCAAkC;gBAClC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;aACrB;iBAAM;gBACL,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,IAAI,CAAC,CAAC,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAA;gBACzF,MAAM,CAAC,IAAI,CACT,GAAG,IAAI,CAAC,UAAU,GAAG,OAAO,oCAAoC,WAAW,OAAO,CACnF,CAAA;gBACD,MAAM,IAAA,QAAK,EAAC,WAAW,CAAC,CAAA;gBAExB,GAAG,CAAC,OAAO,EAAE,CAAA;gBAEb,kCAAkC;gBAClC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;aACvB;SACF;gBAAS;YACR,qEAAqE;YACrE,aAAa,EAAE,CAAA;SAChB;IACH,CAAC;CACF;AAjOD,8BAiOC"}
|
package/validation/index.js
CHANGED
|
@@ -59,7 +59,7 @@ const validatorMiddleware = (adapter) => (rawRequest, reply, done) => {
|
|
|
59
59
|
}
|
|
60
60
|
// Run any request transforms that might have been defined in the adapter.
|
|
61
61
|
// This is the last time modifications are supposed to happen to the request.
|
|
62
|
-
endpoint.runRequestTransforms(req);
|
|
62
|
+
endpoint.runRequestTransforms(req, adapter.config.settings);
|
|
63
63
|
if (adapter.config.settings.METRICS_ENABLED &&
|
|
64
64
|
adapter.config.settings.EXPERIMENTAL_METRICS_ENABLED) {
|
|
65
65
|
// Add metrics meta which includes feedId to the request
|
package/validation/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/validation/index.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AAEnC,qCAAkD;AAElD,oCAA4C;AAC5C,wCAAsE;AACtE,0CAAgD;AAChD,kCAAgD;AAOhD,mCAA8E;AAC9E,iDAKuB;AACvB,+CAAgD;AAAvC,+GAAA,eAAe,OAAA;AAExB,MAAM,kBAAkB,GAAG,IAAA,iBAAU,EAAC,yBAAyB,CAAC,CAAA;AAEzD,MAAM,mBAAmB,GAC9B,CAAC,OAAgB,EAAE,EAAE,CACrB,CAAC,UAA0B,EAAE,KAAmB,EAAE,IAA6B,EAAE,EAAE;IACjF,MAAM,GAAG,GAAG,UAAkD,CAAA;IAE9D,IAAI,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,kBAAkB,EAAE;QACtD,MAAM,IAAI,yBAAiB,CAAC;YAC1B,OAAO,EAAE,oDAAoD;YAC7D,UAAU,EAAE,GAAG;SAChB,CAAC,CAAA;KACH;IAED,4EAA4E;IAC5E,qEAAqE;IACrE,MAAM,WAAW,GAAG,GAAG,CAAC,IAAqC,CAAA;IAE7D,kEAAkE;IAClE,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,IAAI,EAAE,CAAA;IAEzC,kCAAkC;IAClC,MAAM,aAAa,GACjB,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE;QACnC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE;QACzC,OAAO,CAAC,eAAe,CAAA;IACzB,IAAI,CAAC,aAAa,EAAE;QAClB,MAAM,IAAI,yBAAiB,CAAC;YAC1B,OAAO,EAAE,0GAA0G;YACnH,UAAU,EAAE,GAAG;SAChB,CAAC,CAAA;KACH;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAA;IACpD,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,yBAAiB,CAAC;YAC1B,OAAO,EAAE,4BAA4B,aAAa,aAAa;YAC/D,UAAU,EAAE,GAAG;SAChB,CAAC,CAAA;KACH;IAED,2CAA2C;IAC3C,IAAA,gCAAiB,EAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IACnC,MAAM,aAAa,GAAG,QAAQ,CAAC,eAAe,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IAE9E,GAAG,CAAC,cAAc,GAAG;QACnB,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,aAAa;QACnB,YAAY,EAAE,QAAQ,CAAC,IAAI;KAC4C,CAAA;IAEzE,yHAAyH;IACzH,GAAG,CAAC,cAAc,CAAC,aAAa,GAAG,QAAQ,CAAC,0BAA0B,CACpE,GAAG,EACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CACxB,CAAA;IAED,4CAA4C;IAC5C,MAAM,KAAK,GACT,QAAQ,CAAC,qBAAqB,IAAI,QAAQ,CAAC,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAEhG,IAAI,KAAK,EAAE;QACT,MAAM,KAAK,CAAA;KACZ;IAED,0EAA0E;IAC1E,6EAA6E;IAC7E,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/validation/index.ts"],"names":[],"mappings":"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"}
|