itd-api 0.9.2 → 0.9.3
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/dist/events/index.cjs +2 -2
- package/dist/events/index.d.cts +2 -2
- package/dist/events/index.d.ts +2 -2
- package/dist/events/index.js +2 -2
- package/dist/index.cjs +87 -53
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +8 -10
- package/dist/index.d.ts +8 -10
- package/dist/index.js +87 -53
- package/dist/index.js.map +1 -1
- package/dist/rest/index.cjs +2 -2
- package/dist/rest/index.d.cts +2 -2
- package/dist/rest/index.d.ts +2 -2
- package/dist/rest/index.js +2 -2
- package/dist/shared/{events-BCn5LRnT.d.cts → events-BPxBF0gQ.d.cts} +2 -2
- package/dist/shared/{events-BIBO2Jif.js → events-BzjI6pn5.js} +2 -2
- package/dist/shared/{events-BIBO2Jif.js.map → events-BzjI6pn5.js.map} +1 -1
- package/dist/shared/{events-BsRm_Fba.cjs → events-C1FudmSe.cjs} +2 -2
- package/dist/shared/{events-BsRm_Fba.cjs.map → events-C1FudmSe.cjs.map} +1 -1
- package/dist/shared/{events-t1uGgpkf.d.ts → events-DnwfcLxS.d.ts} +2 -2
- package/dist/shared/{render-DA83gS0f.d.cts → render-C1F_QWYD.d.cts} +2 -14
- package/dist/shared/{render--ZXmYEf-.js → render-CtOpp9Pm.js} +2 -30
- package/dist/shared/render-CtOpp9Pm.js.map +1 -0
- package/dist/shared/{render-DqVzx68r.cjs → render-Omy1drH1.cjs} +2 -30
- package/dist/shared/render-Omy1drH1.cjs.map +1 -0
- package/dist/shared/{render-BdnBV-aT.d.ts → render-uFW2kDxp.d.ts} +2 -14
- package/dist/shared/{url-i2f-X1hX.js → url-3Ts6EEHQ.js} +32 -15
- package/dist/shared/url-3Ts6EEHQ.js.map +1 -0
- package/dist/shared/{url-Doc0XXW_.cjs → url-D6wsXm1T.cjs} +32 -15
- package/dist/shared/url-D6wsXm1T.cjs.map +1 -0
- package/dist/shared/{url-Dbj6V6fk.d.ts → url-DubjkRR9.d.cts} +8 -16
- package/dist/shared/{url-Dbj6V6fk.d.cts → url-DubjkRR9.d.ts} +8 -16
- package/package.json +3 -3
- package/dist/shared/render--ZXmYEf-.js.map +0 -1
- package/dist/shared/render-DqVzx68r.cjs.map +0 -1
- package/dist/shared/url-Doc0XXW_.cjs.map +0 -1
- package/dist/shared/url-i2f-X1hX.js.map +0 -1
|
@@ -85,7 +85,7 @@ function requireOptionalBoolean(value, name) {
|
|
|
85
85
|
//#endregion
|
|
86
86
|
//#region src/core/version.ts
|
|
87
87
|
/** Версия библиотеки. Попадает в `User-Agent`. */
|
|
88
|
-
const LIBRARY_VERSION = "0.9.
|
|
88
|
+
const LIBRARY_VERSION = "0.9.3";
|
|
89
89
|
//#endregion
|
|
90
90
|
//#region src/core/config.ts
|
|
91
91
|
/** Базовый URL API итд.com. Домен записан в punycode: `итд.com`. */
|
|
@@ -1364,7 +1364,10 @@ function requestAuthRecoveryState(request) {
|
|
|
1364
1364
|
const internal = request;
|
|
1365
1365
|
const current = internal[REQUEST_AUTH_RECOVERY_STATE];
|
|
1366
1366
|
if (current) return current;
|
|
1367
|
-
const state = {
|
|
1367
|
+
const state = {
|
|
1368
|
+
recovered: false,
|
|
1369
|
+
preparationErrors: /* @__PURE__ */ new Set()
|
|
1370
|
+
};
|
|
1368
1371
|
internal[REQUEST_AUTH_RECOVERY_STATE] = state;
|
|
1369
1372
|
return state;
|
|
1370
1373
|
}
|
|
@@ -1802,6 +1805,19 @@ function createServicesMiddleware(registry) {
|
|
|
1802
1805
|
return next(prepared);
|
|
1803
1806
|
};
|
|
1804
1807
|
}
|
|
1808
|
+
/** Однократная auth-подготовка вне retry исходного запроса. */
|
|
1809
|
+
function createAuthPreflightMiddleware(getAuth) {
|
|
1810
|
+
return async (request, next) => {
|
|
1811
|
+
if (!request.skipAuth) {
|
|
1812
|
+
const auth = getAuth();
|
|
1813
|
+
if (auth.preflight) {
|
|
1814
|
+
const pending = auth.preflight(request.skipAuthRefresh !== true);
|
|
1815
|
+
await (request.signal ? waitForRequest(pending, request.signal) : pending);
|
|
1816
|
+
}
|
|
1817
|
+
}
|
|
1818
|
+
return next(request);
|
|
1819
|
+
};
|
|
1820
|
+
}
|
|
1805
1821
|
/**
|
|
1806
1822
|
* Подготавливает auth state до входа транспортной попытки в очередь.
|
|
1807
1823
|
*
|
|
@@ -1812,7 +1828,12 @@ function createAuthPreparationMiddleware(auth) {
|
|
|
1812
1828
|
return async (request, next) => {
|
|
1813
1829
|
if (!request.skipAuth) {
|
|
1814
1830
|
const pending = auth.prepare();
|
|
1815
|
-
|
|
1831
|
+
try {
|
|
1832
|
+
await (request.signal ? waitForRequest(pending, request.signal) : pending);
|
|
1833
|
+
} catch (error) {
|
|
1834
|
+
requestAuthRecoveryState(request).preparationErrors.add(error);
|
|
1835
|
+
throw error;
|
|
1836
|
+
}
|
|
1816
1837
|
}
|
|
1817
1838
|
return next(request);
|
|
1818
1839
|
};
|
|
@@ -1852,7 +1873,8 @@ function createAuthRecoveryMiddleware(auth) {
|
|
|
1852
1873
|
try {
|
|
1853
1874
|
return await next(request);
|
|
1854
1875
|
} catch (error) {
|
|
1855
|
-
|
|
1876
|
+
const preparationFailed = recovery.preparationErrors.delete(error);
|
|
1877
|
+
if (request.skipAuthRefresh || recovery.recovered || preparationFailed || !require_errors.isItdApiError(error) || error.status !== 401) throw error;
|
|
1856
1878
|
const pending = auth.recover();
|
|
1857
1879
|
if (!await (request.signal ? waitForRequest(pending, request.signal) : pending)) throw error;
|
|
1858
1880
|
recovery.recovered = true;
|
|
@@ -2581,6 +2603,7 @@ var Transport = class {
|
|
|
2581
2603
|
const ClientRuntimeStage = Object.freeze({
|
|
2582
2604
|
OperationPlugins: "operation_plugins",
|
|
2583
2605
|
Services: "services",
|
|
2606
|
+
AuthPreflight: "auth_preflight",
|
|
2584
2607
|
Retry: "retry",
|
|
2585
2608
|
AuthRecovery: "auth_recovery",
|
|
2586
2609
|
AuthPreparation: "auth_preparation",
|
|
@@ -2656,6 +2679,10 @@ function createClientRuntime(options, internals) {
|
|
|
2656
2679
|
name: ClientRuntimeStage.Services,
|
|
2657
2680
|
middleware: createServicesMiddleware(services)
|
|
2658
2681
|
},
|
|
2682
|
+
{
|
|
2683
|
+
name: ClientRuntimeStage.AuthPreflight,
|
|
2684
|
+
middleware: createAuthPreflightMiddleware(() => auth)
|
|
2685
|
+
},
|
|
2659
2686
|
{
|
|
2660
2687
|
name: ClientRuntimeStage.Retry,
|
|
2661
2688
|
middleware: createRetryMiddleware({
|
|
@@ -2929,11 +2956,6 @@ const OPERATIONS = freezeOperations({
|
|
|
2929
2956
|
retrySafety: RetrySafety.Safe,
|
|
2930
2957
|
bucket: "users"
|
|
2931
2958
|
},
|
|
2932
|
-
"users.search": {
|
|
2933
|
-
method: "GET",
|
|
2934
|
-
retrySafety: RetrySafety.Safe,
|
|
2935
|
-
bucket: "users"
|
|
2936
|
-
},
|
|
2937
2959
|
"users.whoToFollow": {
|
|
2938
2960
|
method: "GET",
|
|
2939
2961
|
retrySafety: RetrySafety.Safe,
|
|
@@ -3170,11 +3192,6 @@ const OPERATIONS = freezeOperations({
|
|
|
3170
3192
|
retrySafety: RetrySafety.Safe,
|
|
3171
3193
|
bucket: "notifications"
|
|
3172
3194
|
},
|
|
3173
|
-
"hashtags.search": {
|
|
3174
|
-
method: "GET",
|
|
3175
|
-
retrySafety: RetrySafety.Safe,
|
|
3176
|
-
bucket: "hashtags"
|
|
3177
|
-
},
|
|
3178
3195
|
"hashtags.trending": {
|
|
3179
3196
|
method: "GET",
|
|
3180
3197
|
retrySafety: RetrySafety.Safe,
|
|
@@ -4380,4 +4397,4 @@ Object.defineProperty(exports, "voidResult", {
|
|
|
4380
4397
|
}
|
|
4381
4398
|
});
|
|
4382
4399
|
|
|
4383
|
-
//# sourceMappingURL=url-
|
|
4400
|
+
//# sourceMappingURL=url-D6wsXm1T.cjs.map
|