hyperttp 0.2.6 → 0.3.2
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/Hyperttp/Client/HyperClient.d.ts +30 -0
- package/Hyperttp/Client/HyperClient.d.ts.map +1 -0
- package/Hyperttp/Client/HyperClient.js +215 -0
- package/Hyperttp/Client/HyperClient.js.map +1 -0
- package/{dist/Hyperttp → Hyperttp}/Request.d.ts +1 -1
- package/{dist/Hyperttp → Hyperttp}/Request.d.ts.map +1 -1
- package/{dist/Hyperttp → Hyperttp}/Request.js +2 -7
- package/Hyperttp/Request.js.map +1 -0
- package/{dist/Hyperttp → Hyperttp}/UrlExtractor.d.ts +1 -1
- package/{dist/Hyperttp → Hyperttp}/UrlExtractor.d.ts.map +1 -1
- package/{dist/Hyperttp → Hyperttp}/UrlExtractor.js +1 -4
- package/Hyperttp/UrlExtractor.js.map +1 -0
- package/Hyperttp/Utils/RequestBuilder.d.ts +32 -0
- package/Hyperttp/Utils/RequestBuilder.d.ts.map +1 -0
- package/Hyperttp/Utils/RequestBuilder.js +129 -0
- package/Hyperttp/Utils/RequestBuilder.js.map +1 -0
- package/Hyperttp/Utils/index.d.ts +2 -0
- package/Hyperttp/Utils/index.d.ts.map +1 -0
- package/Hyperttp/Utils/index.js +2 -0
- package/Hyperttp/Utils/index.js.map +1 -0
- package/Hyperttp/Utils/merge.d.ts +2 -0
- package/Hyperttp/Utils/merge.d.ts.map +1 -0
- package/Hyperttp/Utils/merge.js +25 -0
- package/Hyperttp/Utils/merge.js.map +1 -0
- package/Hyperttp/defaultConfig.d.ts +3 -0
- package/Hyperttp/defaultConfig.d.ts.map +1 -0
- package/Hyperttp/defaultConfig.js +39 -0
- package/Hyperttp/defaultConfig.js.map +1 -0
- package/Hyperttp/index.d.ts +6 -0
- package/Hyperttp/index.d.ts.map +1 -0
- package/Hyperttp/index.js +6 -0
- package/Hyperttp/index.js.map +1 -0
- package/{dist/Types → Types}/http-client.d.ts +2 -6
- package/Types/http-client.d.ts.map +1 -0
- package/Types/http-client.js +2 -0
- package/Types/index.d.ts +3 -0
- package/Types/index.d.ts.map +1 -0
- package/Types/index.js +3 -0
- package/Types/index.js.map +1 -0
- package/Types/url-extractor.js +2 -0
- package/index.d.ts +13 -0
- package/index.d.ts.map +1 -0
- package/index.js +12 -0
- package/index.js.map +1 -0
- package/package.json +26 -11
- package/LICENSE +0 -21
- package/README.md +0 -195
- package/dist/Hyperttp/Core/CacheManager.d.ts +0 -84
- package/dist/Hyperttp/Core/CacheManager.d.ts.map +0 -1
- package/dist/Hyperttp/Core/CacheManager.js +0 -109
- package/dist/Hyperttp/Core/CacheManager.js.map +0 -1
- package/dist/Hyperttp/Core/HttpClientImproved.d.ts +0 -149
- package/dist/Hyperttp/Core/HttpClientImproved.d.ts.map +0 -1
- package/dist/Hyperttp/Core/HttpClientImproved.js +0 -541
- package/dist/Hyperttp/Core/HttpClientImproved.js.map +0 -1
- package/dist/Hyperttp/Core/InterceptorManager.d.ts +0 -62
- package/dist/Hyperttp/Core/InterceptorManager.d.ts.map +0 -1
- package/dist/Hyperttp/Core/InterceptorManager.js +0 -64
- package/dist/Hyperttp/Core/InterceptorManager.js.map +0 -1
- package/dist/Hyperttp/Core/MetricsManager.d.ts +0 -71
- package/dist/Hyperttp/Core/MetricsManager.d.ts.map +0 -1
- package/dist/Hyperttp/Core/MetricsManager.js +0 -246
- package/dist/Hyperttp/Core/MetricsManager.js.map +0 -1
- package/dist/Hyperttp/Core/QueueManager.d.ts +0 -16
- package/dist/Hyperttp/Core/QueueManager.d.ts.map +0 -1
- package/dist/Hyperttp/Core/QueueManager.js +0 -75
- package/dist/Hyperttp/Core/QueueManager.js.map +0 -1
- package/dist/Hyperttp/Core/RateLimiter.d.ts +0 -63
- package/dist/Hyperttp/Core/RateLimiter.d.ts.map +0 -1
- package/dist/Hyperttp/Core/RateLimiter.js +0 -170
- package/dist/Hyperttp/Core/RateLimiter.js.map +0 -1
- package/dist/Hyperttp/Core/RequestBuilder.d.ts +0 -83
- package/dist/Hyperttp/Core/RequestBuilder.d.ts.map +0 -1
- package/dist/Hyperttp/Core/RequestBuilder.js +0 -169
- package/dist/Hyperttp/Core/RequestBuilder.js.map +0 -1
- package/dist/Hyperttp/Core/RequestExecutor.d.ts +0 -31
- package/dist/Hyperttp/Core/RequestExecutor.d.ts.map +0 -1
- package/dist/Hyperttp/Core/RequestExecutor.js +0 -167
- package/dist/Hyperttp/Core/RequestExecutor.js.map +0 -1
- package/dist/Hyperttp/Core/RequestProfiler.d.ts +0 -10
- package/dist/Hyperttp/Core/RequestProfiler.d.ts.map +0 -1
- package/dist/Hyperttp/Core/RequestProfiler.js +0 -55
- package/dist/Hyperttp/Core/RequestProfiler.js.map +0 -1
- package/dist/Hyperttp/Core/ResponseConverter.d.ts +0 -23
- package/dist/Hyperttp/Core/ResponseConverter.d.ts.map +0 -1
- package/dist/Hyperttp/Core/ResponseConverter.js +0 -369
- package/dist/Hyperttp/Core/ResponseConverter.js.map +0 -1
- package/dist/Hyperttp/Core/index.d.ts +0 -27
- package/dist/Hyperttp/Core/index.d.ts.map +0 -1
- package/dist/Hyperttp/Core/index.js +0 -56
- package/dist/Hyperttp/Core/index.js.map +0 -1
- package/dist/Hyperttp/Request.js.map +0 -1
- package/dist/Hyperttp/UrlExtractor.js.map +0 -1
- package/dist/Hyperttp/index.d.ts +0 -5
- package/dist/Hyperttp/index.d.ts.map +0 -1
- package/dist/Hyperttp/index.js +0 -24
- package/dist/Hyperttp/index.js.map +0 -1
- package/dist/Types/cache.d.ts +0 -10
- package/dist/Types/cache.d.ts.map +0 -1
- package/dist/Types/cache.js +0 -3
- package/dist/Types/cache.js.map +0 -1
- package/dist/Types/errors.d.ts +0 -15
- package/dist/Types/errors.d.ts.map +0 -1
- package/dist/Types/errors.js +0 -34
- package/dist/Types/errors.js.map +0 -1
- package/dist/Types/http-client.d.ts.map +0 -1
- package/dist/Types/http-client.js +0 -3
- package/dist/Types/http.d.ts +0 -5
- package/dist/Types/http.d.ts.map +0 -1
- package/dist/Types/http.js +0 -3
- package/dist/Types/http.js.map +0 -1
- package/dist/Types/index.d.ts +0 -13
- package/dist/Types/index.d.ts.map +0 -1
- package/dist/Types/index.js +0 -29
- package/dist/Types/index.js.map +0 -1
- package/dist/Types/interceptors.d.ts +0 -13
- package/dist/Types/interceptors.d.ts.map +0 -1
- package/dist/Types/interceptors.js +0 -3
- package/dist/Types/interceptors.js.map +0 -1
- package/dist/Types/metrics.d.ts +0 -90
- package/dist/Types/metrics.d.ts.map +0 -1
- package/dist/Types/metrics.js +0 -3
- package/dist/Types/metrics.js.map +0 -1
- package/dist/Types/options.d.ts +0 -233
- package/dist/Types/options.d.ts.map +0 -1
- package/dist/Types/options.js +0 -3
- package/dist/Types/options.js.map +0 -1
- package/dist/Types/queue.d.ts +0 -8
- package/dist/Types/queue.d.ts.map +0 -1
- package/dist/Types/queue.js +0 -3
- package/dist/Types/queue.js.map +0 -1
- package/dist/Types/request.d.ts +0 -189
- package/dist/Types/request.d.ts.map +0 -1
- package/dist/Types/request.js +0 -3
- package/dist/Types/request.js.map +0 -1
- package/dist/Types/response.d.ts +0 -28
- package/dist/Types/response.d.ts.map +0 -1
- package/dist/Types/response.js +0 -3
- package/dist/Types/response.js.map +0 -1
- package/dist/Types/stream.d.ts +0 -39
- package/dist/Types/stream.d.ts.map +0 -1
- package/dist/Types/stream.js +0 -3
- package/dist/Types/stream.js.map +0 -1
- package/dist/Types/url-extractor.js +0 -3
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -18
- package/dist/index.js.map +0 -1
- /package/{dist/Types → Types}/http-client.js.map +0 -0
- /package/{dist/Types → Types}/url-extractor.d.ts +0 -0
- /package/{dist/Types → Types}/url-extractor.d.ts.map +0 -0
- /package/{dist/Types → Types}/url-extractor.js.map +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HttpClientImproved.js","sourceRoot":"","sources":["../../../src/Hyperttp/Core/HttpClientImproved.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { RequestInterceptor, ResponseInterceptor } from "../../Types/interceptors";
|
|
2
|
-
/**
|
|
3
|
-
* @class InterceptorManager
|
|
4
|
-
* @en Manages registration and sequential execution of request and response interceptors.
|
|
5
|
-
* @ru Управляет регистрацией и последовательным выполнением перехватчиков запроса и ответа.
|
|
6
|
-
*/
|
|
7
|
-
export declare class InterceptorManager {
|
|
8
|
-
private requestInterceptors;
|
|
9
|
-
private responseInterceptors;
|
|
10
|
-
/**
|
|
11
|
-
* @en Adds a request interceptor to the chain.
|
|
12
|
-
* @ru Добавляет перехватчик запроса в цепочку.
|
|
13
|
-
* @param interceptor Function that modifies request config before execution.
|
|
14
|
-
*/
|
|
15
|
-
addRequest(interceptor: RequestInterceptor): void;
|
|
16
|
-
/**
|
|
17
|
-
* @en Adds a response interceptor to the chain.
|
|
18
|
-
* @ru Добавляет перехватчик ответа в цепочку.
|
|
19
|
-
* @param interceptor Function that modifies response after execution.
|
|
20
|
-
*/
|
|
21
|
-
addResponse(interceptor: ResponseInterceptor): void;
|
|
22
|
-
/**
|
|
23
|
-
* @en Sequentially applies all registered request interceptors.
|
|
24
|
-
* @ru Последовательно применяет все перехватчики к конфигурации запроса.
|
|
25
|
-
* @param config Initial request configuration.
|
|
26
|
-
* @returns Modified request configuration after all interceptors.
|
|
27
|
-
*/
|
|
28
|
-
applyRequest(config: {
|
|
29
|
-
url: string;
|
|
30
|
-
method: string;
|
|
31
|
-
headers: Record<string, string>;
|
|
32
|
-
body?: string | Buffer;
|
|
33
|
-
}): Promise<{
|
|
34
|
-
url: string;
|
|
35
|
-
method: string;
|
|
36
|
-
headers: Record<string, string>;
|
|
37
|
-
body?: string | Buffer;
|
|
38
|
-
}>;
|
|
39
|
-
/**
|
|
40
|
-
* @en Sequentially applies all registered response interceptors.
|
|
41
|
-
* @ru Последовательно применяет все перехватчики к ответу.
|
|
42
|
-
* @param response Raw HTTP response object.
|
|
43
|
-
* @returns Modified response after all interceptors.
|
|
44
|
-
*/
|
|
45
|
-
applyResponse(response: {
|
|
46
|
-
status: number;
|
|
47
|
-
headers: Record<string, any>;
|
|
48
|
-
body: Buffer;
|
|
49
|
-
url: string;
|
|
50
|
-
}): Promise<{
|
|
51
|
-
status: number;
|
|
52
|
-
headers: Record<string, any>;
|
|
53
|
-
body: Buffer;
|
|
54
|
-
url: string;
|
|
55
|
-
}>;
|
|
56
|
-
/**
|
|
57
|
-
* @en Removes all registered interceptors.
|
|
58
|
-
* @ru Очищает все зарегистрированные перехватчики.
|
|
59
|
-
*/
|
|
60
|
-
clear(): void;
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=InterceptorManager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InterceptorManager.d.ts","sourceRoot":"","sources":["../../../src/Hyperttp/Core/InterceptorManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAElC;;;;GAIG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,mBAAmB,CAA4B;IACvD,OAAO,CAAC,oBAAoB,CAA6B;IAEzD;;;;OAIG;IACH,UAAU,CAAC,WAAW,EAAE,kBAAkB,GAAG,IAAI;IAIjD;;;;OAIG;IACH,WAAW,CAAC,WAAW,EAAE,mBAAmB,GAAG,IAAI;IAInD;;;;;OAKG;IACG,YAAY,CAAC,MAAM,EAAE;QACzB,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KACxB;aAJM,MAAM;gBACH,MAAM;iBACL,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;eACxB,MAAM,GAAG,MAAM;;IAWxB;;;;;OAKG;IACG,aAAa,CAAC,QAAQ,EAAE;QAC5B,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7B,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;KACb;gBAJS,MAAM;iBACL,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;cACtB,MAAM;aACP,MAAM;;IAWb;;;OAGG;IACH,KAAK,IAAI,IAAI;CAId"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InterceptorManager = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* @class InterceptorManager
|
|
6
|
-
* @en Manages registration and sequential execution of request and response interceptors.
|
|
7
|
-
* @ru Управляет регистрацией и последовательным выполнением перехватчиков запроса и ответа.
|
|
8
|
-
*/
|
|
9
|
-
class InterceptorManager {
|
|
10
|
-
requestInterceptors = [];
|
|
11
|
-
responseInterceptors = [];
|
|
12
|
-
/**
|
|
13
|
-
* @en Adds a request interceptor to the chain.
|
|
14
|
-
* @ru Добавляет перехватчик запроса в цепочку.
|
|
15
|
-
* @param interceptor Function that modifies request config before execution.
|
|
16
|
-
*/
|
|
17
|
-
addRequest(interceptor) {
|
|
18
|
-
this.requestInterceptors.push(interceptor);
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* @en Adds a response interceptor to the chain.
|
|
22
|
-
* @ru Добавляет перехватчик ответа в цепочку.
|
|
23
|
-
* @param interceptor Function that modifies response after execution.
|
|
24
|
-
*/
|
|
25
|
-
addResponse(interceptor) {
|
|
26
|
-
this.responseInterceptors.push(interceptor);
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* @en Sequentially applies all registered request interceptors.
|
|
30
|
-
* @ru Последовательно применяет все перехватчики к конфигурации запроса.
|
|
31
|
-
* @param config Initial request configuration.
|
|
32
|
-
* @returns Modified request configuration after all interceptors.
|
|
33
|
-
*/
|
|
34
|
-
async applyRequest(config) {
|
|
35
|
-
let result = config;
|
|
36
|
-
for (const interceptor of this.requestInterceptors) {
|
|
37
|
-
result = await interceptor(result);
|
|
38
|
-
}
|
|
39
|
-
return result;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* @en Sequentially applies all registered response interceptors.
|
|
43
|
-
* @ru Последовательно применяет все перехватчики к ответу.
|
|
44
|
-
* @param response Raw HTTP response object.
|
|
45
|
-
* @returns Modified response after all interceptors.
|
|
46
|
-
*/
|
|
47
|
-
async applyResponse(response) {
|
|
48
|
-
let result = response;
|
|
49
|
-
for (const interceptor of this.responseInterceptors) {
|
|
50
|
-
result = await interceptor(result);
|
|
51
|
-
}
|
|
52
|
-
return result;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* @en Removes all registered interceptors.
|
|
56
|
-
* @ru Очищает все зарегистрированные перехватчики.
|
|
57
|
-
*/
|
|
58
|
-
clear() {
|
|
59
|
-
this.requestInterceptors = [];
|
|
60
|
-
this.responseInterceptors = [];
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
exports.InterceptorManager = InterceptorManager;
|
|
64
|
-
//# sourceMappingURL=InterceptorManager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InterceptorManager.js","sourceRoot":"","sources":["../../../src/Hyperttp/Core/InterceptorManager.ts"],"names":[],"mappings":";;;AAKA;;;;GAIG;AACH,MAAa,kBAAkB;IACrB,mBAAmB,GAAyB,EAAE,CAAC;IAC/C,oBAAoB,GAA0B,EAAE,CAAC;IAEzD;;;;OAIG;IACH,UAAU,CAAC,WAA+B;QACxC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,WAAgC;QAC1C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,MAKlB;QACC,IAAI,MAAM,GAAG,MAAM,CAAC;QAEpB,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACnD,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CAAC,QAKnB;QACC,IAAI,MAAM,GAAG,QAAQ,CAAC;QAEtB,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACpD,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,KAAK;QACH,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;IACjC,CAAC;CACF;AAxED,gDAwEC"}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import type { RequestMetrics } from "../../Types/metrics";
|
|
2
|
-
import { MetricsOptions } from "../../Types/options";
|
|
3
|
-
export declare class MetricsManager {
|
|
4
|
-
private readonly history;
|
|
5
|
-
private readonly hostStates;
|
|
6
|
-
private readonly scopeDepth;
|
|
7
|
-
private readonly failureThreshold;
|
|
8
|
-
private readonly resetTimeout;
|
|
9
|
-
private readonly slowRequestMs;
|
|
10
|
-
private readonly weights;
|
|
11
|
-
private _totalBytesAccumulator;
|
|
12
|
-
constructor(config?: MetricsOptions);
|
|
13
|
-
/**
|
|
14
|
-
* @ru Извлекает scope (host + первый сегмент пути) для circuit breaker.
|
|
15
|
-
* @en Extracts scope (host + first path segment) for circuit breaker.
|
|
16
|
-
*/
|
|
17
|
-
private getScope;
|
|
18
|
-
private getOrCreateState;
|
|
19
|
-
/**
|
|
20
|
-
* @ru Проверяет, открыт ли circuit breaker для URL.
|
|
21
|
-
* @en Checks whether the circuit breaker is open for a URL.
|
|
22
|
-
*/
|
|
23
|
-
isCircuitOpen(url: string): boolean;
|
|
24
|
-
/**
|
|
25
|
-
* @ru Регистрирует метрику и обновляет состояние circuit breaker.
|
|
26
|
-
* @en Records request metrics and updates circuit breaker state.
|
|
27
|
-
*/
|
|
28
|
-
record(metrics: RequestMetrics & {
|
|
29
|
-
cacheHit?: boolean;
|
|
30
|
-
}): void;
|
|
31
|
-
/**
|
|
32
|
-
* @ru Получает метрику по ключу.
|
|
33
|
-
* @en Retrieves a metric entry by key.
|
|
34
|
-
*/
|
|
35
|
-
get(key: string): RequestMetrics | undefined;
|
|
36
|
-
/**
|
|
37
|
-
* @ru Возвращает все метрики.
|
|
38
|
-
* @en Returns all stored metrics.
|
|
39
|
-
*/
|
|
40
|
-
getAll(): RequestMetrics[];
|
|
41
|
-
/**
|
|
42
|
-
* @ru Увеличивает счётчик полученных байтов.
|
|
43
|
-
* @en Increments total received bytes counter.
|
|
44
|
-
*/
|
|
45
|
-
recordBytes(bytes: number): void;
|
|
46
|
-
/**
|
|
47
|
-
* @ru Возвращает сводную статистику.
|
|
48
|
-
* @en Returns performance summary statistics.
|
|
49
|
-
*/
|
|
50
|
-
getSummary(): {
|
|
51
|
-
totalRequests: number;
|
|
52
|
-
successRate: number;
|
|
53
|
-
avgDurationMs: number;
|
|
54
|
-
totalBytesReceived: number;
|
|
55
|
-
errorCount: number;
|
|
56
|
-
maxDurationMs: number;
|
|
57
|
-
p99DurationMs: number;
|
|
58
|
-
openCircuits: number;
|
|
59
|
-
} | null;
|
|
60
|
-
/**
|
|
61
|
-
* @ru Очищает историю и состояния circuit breaker.
|
|
62
|
-
* @en Clears metrics history and circuit breaker states.
|
|
63
|
-
*/
|
|
64
|
-
clear(): void;
|
|
65
|
-
private storeMetrics;
|
|
66
|
-
private updateCircuit;
|
|
67
|
-
private getFailureWeight;
|
|
68
|
-
private percentile;
|
|
69
|
-
private getOpenCircuitCount;
|
|
70
|
-
}
|
|
71
|
-
//# sourceMappingURL=MetricsManager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MetricsManager.d.ts","sourceRoot":"","sources":["../../../src/Hyperttp/Core/MetricsManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAgB,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmC;IAE9D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmD;IAE3E,OAAO,CAAC,sBAAsB,CAAK;gBAEvB,MAAM,CAAC,EAAE,cAAc;IAoBnC;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,gBAAgB;IAkBxB;;;OAGG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAgCnC;;;OAGG;IACH,MAAM,CAAC,OAAO,EAAE,cAAc,GAAG;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAK9D;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IA0B5C;;;OAGG;IACH,MAAM,IAAI,cAAc,EAAE;IAI1B;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIhC;;;OAGG;IACH,UAAU;;;;;;;;;;IA8BV;;;OAGG;IACH,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,aAAa;IAiCrB,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,mBAAmB;CAO5B"}
|
|
@@ -1,246 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MetricsManager = void 0;
|
|
4
|
-
const lru_cache_1 = require("lru-cache");
|
|
5
|
-
class MetricsManager {
|
|
6
|
-
history;
|
|
7
|
-
hostStates = new Map();
|
|
8
|
-
scopeDepth;
|
|
9
|
-
failureThreshold;
|
|
10
|
-
resetTimeout;
|
|
11
|
-
slowRequestMs;
|
|
12
|
-
weights;
|
|
13
|
-
_totalBytesAccumulator = 0;
|
|
14
|
-
constructor(config) {
|
|
15
|
-
this.history = new lru_cache_1.LRUCache({
|
|
16
|
-
max: config?.maxHistory ?? 1000,
|
|
17
|
-
ttl: config?.ttl ?? 1000 * 60 * 60,
|
|
18
|
-
ttlAutopurge: true,
|
|
19
|
-
});
|
|
20
|
-
this.scopeDepth = Math.max(1, config?.scopeDepth ?? 1);
|
|
21
|
-
this.failureThreshold = Math.max(1, config?.failureThreshold ?? 5);
|
|
22
|
-
this.resetTimeout = Math.max(1, config?.resetTimeout ?? 30_000);
|
|
23
|
-
this.slowRequestMs = Math.max(1, config?.slowRequestMs ?? 5_000);
|
|
24
|
-
this.weights = {
|
|
25
|
-
timeout: config?.weights?.timeout ?? 2,
|
|
26
|
-
serverError: config?.weights?.serverError ?? 1,
|
|
27
|
-
rateLimit: config?.weights?.rateLimit ?? 1.5,
|
|
28
|
-
slowRequest: config?.weights?.slowRequest ?? 0.5,
|
|
29
|
-
other: config?.weights?.other ?? 1,
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* @ru Извлекает scope (host + первый сегмент пути) для circuit breaker.
|
|
34
|
-
* @en Extracts scope (host + first path segment) for circuit breaker.
|
|
35
|
-
*/
|
|
36
|
-
getScope(url) {
|
|
37
|
-
try {
|
|
38
|
-
const u = new URL(url);
|
|
39
|
-
const segments = u.pathname.split("/").filter(Boolean);
|
|
40
|
-
const scopedPath = segments.slice(0, this.scopeDepth).join("/");
|
|
41
|
-
return scopedPath ? `${u.host}/${scopedPath}` : u.host;
|
|
42
|
-
}
|
|
43
|
-
catch {
|
|
44
|
-
return "unknown";
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
getOrCreateState(scope) {
|
|
48
|
-
let state = this.hostStates.get(scope);
|
|
49
|
-
if (!state) {
|
|
50
|
-
state = {
|
|
51
|
-
state: "CLOSED",
|
|
52
|
-
failureScore: 0,
|
|
53
|
-
consecutiveFailures: 0,
|
|
54
|
-
lastFailureTime: 0,
|
|
55
|
-
lastTransitionTime: Date.now(),
|
|
56
|
-
probeInFlight: false,
|
|
57
|
-
};
|
|
58
|
-
this.hostStates.set(scope, state);
|
|
59
|
-
}
|
|
60
|
-
return state;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* @ru Проверяет, открыт ли circuit breaker для URL.
|
|
64
|
-
* @en Checks whether the circuit breaker is open for a URL.
|
|
65
|
-
*/
|
|
66
|
-
isCircuitOpen(url) {
|
|
67
|
-
const scope = this.getScope(url);
|
|
68
|
-
const state = this.getOrCreateState(scope);
|
|
69
|
-
if (state.state === "CLOSED") {
|
|
70
|
-
return false;
|
|
71
|
-
}
|
|
72
|
-
if (state.state === "OPEN") {
|
|
73
|
-
const elapsed = Date.now() - state.lastTransitionTime;
|
|
74
|
-
if (elapsed < this.resetTimeout) {
|
|
75
|
-
return true;
|
|
76
|
-
}
|
|
77
|
-
state.state = "HALF_OPEN";
|
|
78
|
-
state.probeInFlight = false;
|
|
79
|
-
state.lastTransitionTime = Date.now();
|
|
80
|
-
}
|
|
81
|
-
if (state.state === "HALF_OPEN") {
|
|
82
|
-
if (state.probeInFlight) {
|
|
83
|
-
return true;
|
|
84
|
-
}
|
|
85
|
-
state.probeInFlight = true;
|
|
86
|
-
return false;
|
|
87
|
-
}
|
|
88
|
-
return false;
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* @ru Регистрирует метрику и обновляет состояние circuit breaker.
|
|
92
|
-
* @en Records request metrics and updates circuit breaker state.
|
|
93
|
-
*/
|
|
94
|
-
record(metrics) {
|
|
95
|
-
this.storeMetrics(metrics);
|
|
96
|
-
this.updateCircuit(metrics);
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* @ru Получает метрику по ключу.
|
|
100
|
-
* @en Retrieves a metric entry by key.
|
|
101
|
-
*/
|
|
102
|
-
get(key) {
|
|
103
|
-
const exact = this.history.get(key);
|
|
104
|
-
if (exact) {
|
|
105
|
-
return exact;
|
|
106
|
-
}
|
|
107
|
-
let latest;
|
|
108
|
-
let latestTs = -1;
|
|
109
|
-
for (const [entryKey, metric] of this.history.entries()) {
|
|
110
|
-
if (metric.url !== key) {
|
|
111
|
-
continue;
|
|
112
|
-
}
|
|
113
|
-
const idx = entryKey.lastIndexOf(":");
|
|
114
|
-
const ts = idx >= 0 ? Number(entryKey.slice(idx + 1)) : 0;
|
|
115
|
-
if (ts >= latestTs) {
|
|
116
|
-
latestTs = ts;
|
|
117
|
-
latest = metric;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
return latest;
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* @ru Возвращает все метрики.
|
|
124
|
-
* @en Returns all stored metrics.
|
|
125
|
-
*/
|
|
126
|
-
getAll() {
|
|
127
|
-
return Array.from(this.history.values());
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* @ru Увеличивает счётчик полученных байтов.
|
|
131
|
-
* @en Increments total received bytes counter.
|
|
132
|
-
*/
|
|
133
|
-
recordBytes(bytes) {
|
|
134
|
-
this._totalBytesAccumulator += Math.max(0, bytes);
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* @ru Возвращает сводную статистику.
|
|
138
|
-
* @en Returns performance summary statistics.
|
|
139
|
-
*/
|
|
140
|
-
getSummary() {
|
|
141
|
-
const all = this.getAll();
|
|
142
|
-
const total = all.length;
|
|
143
|
-
if (total === 0)
|
|
144
|
-
return null;
|
|
145
|
-
let successful = 0;
|
|
146
|
-
let totalDuration = 0;
|
|
147
|
-
let maxDur = 0;
|
|
148
|
-
for (const m of all) {
|
|
149
|
-
if ((m.statusCode ?? 0) < 400 && (m.statusCode ?? 0) !== 0)
|
|
150
|
-
successful++;
|
|
151
|
-
totalDuration += m.duration;
|
|
152
|
-
if (m.duration > maxDur)
|
|
153
|
-
maxDur = m.duration;
|
|
154
|
-
}
|
|
155
|
-
const durations = all.map((m) => m.duration);
|
|
156
|
-
const p99 = this.percentile(durations, 99);
|
|
157
|
-
return {
|
|
158
|
-
totalRequests: total,
|
|
159
|
-
successRate: (successful / total) * 100,
|
|
160
|
-
avgDurationMs: Math.round(totalDuration / total),
|
|
161
|
-
totalBytesReceived: this._totalBytesAccumulator,
|
|
162
|
-
errorCount: total - successful,
|
|
163
|
-
maxDurationMs: maxDur,
|
|
164
|
-
p99DurationMs: p99,
|
|
165
|
-
openCircuits: this.getOpenCircuitCount(),
|
|
166
|
-
};
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* @ru Очищает историю и состояния circuit breaker.
|
|
170
|
-
* @en Clears metrics history and circuit breaker states.
|
|
171
|
-
*/
|
|
172
|
-
clear() {
|
|
173
|
-
this.history.clear();
|
|
174
|
-
this.hostStates.clear();
|
|
175
|
-
this._totalBytesAccumulator = 0;
|
|
176
|
-
}
|
|
177
|
-
storeMetrics(metrics) {
|
|
178
|
-
const key = `${metrics.method}:${metrics.url}:${Date.now()}`;
|
|
179
|
-
this.history.set(key, metrics);
|
|
180
|
-
}
|
|
181
|
-
updateCircuit(metrics) {
|
|
182
|
-
const scope = this.getScope(metrics.url);
|
|
183
|
-
const state = this.getOrCreateState(scope);
|
|
184
|
-
const failureWeight = this.getFailureWeight(metrics);
|
|
185
|
-
if (failureWeight > 0) {
|
|
186
|
-
state.failureScore += failureWeight;
|
|
187
|
-
state.consecutiveFailures += 1;
|
|
188
|
-
state.lastFailureTime = Date.now();
|
|
189
|
-
if (state.state === "HALF_OPEN" ||
|
|
190
|
-
state.failureScore >= this.failureThreshold) {
|
|
191
|
-
state.state = "OPEN";
|
|
192
|
-
state.probeInFlight = false;
|
|
193
|
-
state.lastTransitionTime = Date.now();
|
|
194
|
-
}
|
|
195
|
-
return;
|
|
196
|
-
}
|
|
197
|
-
state.failureScore = 0;
|
|
198
|
-
state.consecutiveFailures = 0;
|
|
199
|
-
if (state.state === "HALF_OPEN" || state.state === "OPEN") {
|
|
200
|
-
state.state = "CLOSED";
|
|
201
|
-
state.probeInFlight = false;
|
|
202
|
-
state.lastTransitionTime = Date.now();
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
getFailureWeight(metrics) {
|
|
206
|
-
const status = metrics.statusCode ?? 0;
|
|
207
|
-
if (status === 0) {
|
|
208
|
-
return this.weights.timeout;
|
|
209
|
-
}
|
|
210
|
-
if (status === 429) {
|
|
211
|
-
return this.weights.rateLimit;
|
|
212
|
-
}
|
|
213
|
-
if (status >= 500) {
|
|
214
|
-
return this.weights.serverError;
|
|
215
|
-
}
|
|
216
|
-
if (metrics.duration >= this.slowRequestMs) {
|
|
217
|
-
return this.weights.slowRequest;
|
|
218
|
-
}
|
|
219
|
-
if (status >= 400) {
|
|
220
|
-
return this.weights.other;
|
|
221
|
-
}
|
|
222
|
-
return 0;
|
|
223
|
-
}
|
|
224
|
-
percentile(arr, p) {
|
|
225
|
-
if (arr.length === 0)
|
|
226
|
-
return 0;
|
|
227
|
-
const sorted = [...arr].sort((a, b) => a - b);
|
|
228
|
-
const rank = (p / 100) * (sorted.length - 1);
|
|
229
|
-
const low = Math.floor(rank);
|
|
230
|
-
const high = Math.ceil(rank);
|
|
231
|
-
if (low === high)
|
|
232
|
-
return sorted[low];
|
|
233
|
-
const weight = rank - low;
|
|
234
|
-
return Math.round(sorted[low] * (1 - weight) + sorted[high] * weight);
|
|
235
|
-
}
|
|
236
|
-
getOpenCircuitCount() {
|
|
237
|
-
let count = 0;
|
|
238
|
-
for (const state of this.hostStates.values()) {
|
|
239
|
-
if (state.state === "OPEN")
|
|
240
|
-
count++;
|
|
241
|
-
}
|
|
242
|
-
return count;
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
exports.MetricsManager = MetricsManager;
|
|
246
|
-
//# sourceMappingURL=MetricsManager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MetricsManager.js","sourceRoot":"","sources":["../../../src/Hyperttp/Core/MetricsManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export declare class QueueManager {
|
|
2
|
-
private readonly maxConcurrent;
|
|
3
|
-
private running;
|
|
4
|
-
private queued;
|
|
5
|
-
private head;
|
|
6
|
-
private tail;
|
|
7
|
-
constructor(maxConcurrent?: number);
|
|
8
|
-
enqueue<T>(executor: () => Promise<T>): Promise<T>;
|
|
9
|
-
private drain;
|
|
10
|
-
clear(): void;
|
|
11
|
-
get activeCount(): number;
|
|
12
|
-
get queuedCount(): number;
|
|
13
|
-
get pending(): number;
|
|
14
|
-
get isIdle(): boolean;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=QueueManager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"QueueManager.d.ts","sourceRoot":"","sources":["../../../src/Hyperttp/Core/QueueManager.ts"],"names":[],"mappings":"AAEA,qBAAa,YAAY;IAMX,OAAO,CAAC,QAAQ,CAAC,aAAa;IAL1C,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,IAAI,CAA0B;IACtC,OAAO,CAAC,IAAI,CAA0B;gBAET,aAAa,SAAK;IAE/C,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAqBlD,OAAO,CAAC,KAAK;IAsBb,KAAK,IAAI,IAAI;IAcb,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,MAAM,IAAI,OAAO,CAEpB;CACF"}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.QueueManager = void 0;
|
|
4
|
-
class QueueManager {
|
|
5
|
-
maxConcurrent;
|
|
6
|
-
running = 0;
|
|
7
|
-
queued = 0;
|
|
8
|
-
head = null;
|
|
9
|
-
tail = null;
|
|
10
|
-
constructor(maxConcurrent = 50) {
|
|
11
|
-
this.maxConcurrent = maxConcurrent;
|
|
12
|
-
}
|
|
13
|
-
enqueue(executor) {
|
|
14
|
-
return new Promise((resolve, reject) => {
|
|
15
|
-
const node = {
|
|
16
|
-
executor,
|
|
17
|
-
resolve: resolve,
|
|
18
|
-
reject,
|
|
19
|
-
next: null,
|
|
20
|
-
};
|
|
21
|
-
if (this.tail) {
|
|
22
|
-
this.tail.next = node;
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
this.head = node;
|
|
26
|
-
}
|
|
27
|
-
this.tail = node;
|
|
28
|
-
this.queued++;
|
|
29
|
-
this.drain();
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
drain() {
|
|
33
|
-
while (this.running < this.maxConcurrent && this.head) {
|
|
34
|
-
const task = this.head;
|
|
35
|
-
this.head = task.next;
|
|
36
|
-
if (!this.head) {
|
|
37
|
-
this.tail = null;
|
|
38
|
-
}
|
|
39
|
-
this.queued--;
|
|
40
|
-
this.running++;
|
|
41
|
-
Promise.resolve()
|
|
42
|
-
.then(task.executor)
|
|
43
|
-
.then(task.resolve, task.reject)
|
|
44
|
-
.finally(() => {
|
|
45
|
-
this.running--;
|
|
46
|
-
this.drain();
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
clear() {
|
|
51
|
-
const error = new Error("Queue has been cleared");
|
|
52
|
-
while (this.head) {
|
|
53
|
-
const node = this.head;
|
|
54
|
-
this.head = node.next;
|
|
55
|
-
node.reject(error);
|
|
56
|
-
}
|
|
57
|
-
this.head = null;
|
|
58
|
-
this.tail = null;
|
|
59
|
-
this.queued = 0;
|
|
60
|
-
}
|
|
61
|
-
get activeCount() {
|
|
62
|
-
return this.running;
|
|
63
|
-
}
|
|
64
|
-
get queuedCount() {
|
|
65
|
-
return this.queued;
|
|
66
|
-
}
|
|
67
|
-
get pending() {
|
|
68
|
-
return this.running + this.queued;
|
|
69
|
-
}
|
|
70
|
-
get isIdle() {
|
|
71
|
-
return this.running === 0 && this.queued === 0;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
exports.QueueManager = QueueManager;
|
|
75
|
-
//# sourceMappingURL=QueueManager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"QueueManager.js","sourceRoot":"","sources":["../../../src/Hyperttp/Core/QueueManager.ts"],"names":[],"mappings":";;;AAEA,MAAa,YAAY;IAMM;IALrB,OAAO,GAAG,CAAC,CAAC;IACZ,MAAM,GAAG,CAAC,CAAC;IACX,IAAI,GAAqB,IAAI,CAAC;IAC9B,IAAI,GAAqB,IAAI,CAAC;IAEtC,YAA6B,gBAAgB,EAAE;QAAlB,kBAAa,GAAb,aAAa,CAAK;IAAG,CAAC;IAEnD,OAAO,CAAI,QAA0B;QACnC,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,MAAM,IAAI,GAAc;gBACtB,QAAQ;gBACR,OAAO,EAAE,OAAmC;gBAC5C,MAAM;gBACN,IAAI,EAAE,IAAI;aACX,CAAC;YAEF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACnB,CAAC;YAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK;QACX,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACtD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YAEtB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACnB,CAAC;YAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,OAAO,EAAE,CAAC;YAEf,OAAO,CAAC,OAAO,EAAE;iBACd,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;iBACnB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;iBAC/B,OAAO,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC,CAAC,CAAC;QACP,CAAC;IACH,CAAC;IAED,KAAK;QACH,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAElD,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;IACpC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;IACjD,CAAC;CACF;AAhFD,oCAgFC"}
|