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.
Files changed (37) hide show
  1. package/dist/events/index.cjs +2 -2
  2. package/dist/events/index.d.cts +2 -2
  3. package/dist/events/index.d.ts +2 -2
  4. package/dist/events/index.js +2 -2
  5. package/dist/index.cjs +87 -53
  6. package/dist/index.cjs.map +1 -1
  7. package/dist/index.d.cts +8 -10
  8. package/dist/index.d.ts +8 -10
  9. package/dist/index.js +87 -53
  10. package/dist/index.js.map +1 -1
  11. package/dist/rest/index.cjs +2 -2
  12. package/dist/rest/index.d.cts +2 -2
  13. package/dist/rest/index.d.ts +2 -2
  14. package/dist/rest/index.js +2 -2
  15. package/dist/shared/{events-BCn5LRnT.d.cts → events-BPxBF0gQ.d.cts} +2 -2
  16. package/dist/shared/{events-BIBO2Jif.js → events-BzjI6pn5.js} +2 -2
  17. package/dist/shared/{events-BIBO2Jif.js.map → events-BzjI6pn5.js.map} +1 -1
  18. package/dist/shared/{events-BsRm_Fba.cjs → events-C1FudmSe.cjs} +2 -2
  19. package/dist/shared/{events-BsRm_Fba.cjs.map → events-C1FudmSe.cjs.map} +1 -1
  20. package/dist/shared/{events-t1uGgpkf.d.ts → events-DnwfcLxS.d.ts} +2 -2
  21. package/dist/shared/{render-DA83gS0f.d.cts → render-C1F_QWYD.d.cts} +2 -14
  22. package/dist/shared/{render--ZXmYEf-.js → render-CtOpp9Pm.js} +2 -30
  23. package/dist/shared/render-CtOpp9Pm.js.map +1 -0
  24. package/dist/shared/{render-DqVzx68r.cjs → render-Omy1drH1.cjs} +2 -30
  25. package/dist/shared/render-Omy1drH1.cjs.map +1 -0
  26. package/dist/shared/{render-BdnBV-aT.d.ts → render-uFW2kDxp.d.ts} +2 -14
  27. package/dist/shared/{url-i2f-X1hX.js → url-3Ts6EEHQ.js} +32 -15
  28. package/dist/shared/url-3Ts6EEHQ.js.map +1 -0
  29. package/dist/shared/{url-Doc0XXW_.cjs → url-D6wsXm1T.cjs} +32 -15
  30. package/dist/shared/url-D6wsXm1T.cjs.map +1 -0
  31. package/dist/shared/{url-Dbj6V6fk.d.ts → url-DubjkRR9.d.cts} +8 -16
  32. package/dist/shared/{url-Dbj6V6fk.d.cts → url-DubjkRR9.d.ts} +8 -16
  33. package/package.json +3 -3
  34. package/dist/shared/render--ZXmYEf-.js.map +0 -1
  35. package/dist/shared/render-DqVzx68r.cjs.map +0 -1
  36. package/dist/shared/url-Doc0XXW_.cjs.map +0 -1
  37. 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.2";
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 = { recovered: false };
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
- await (request.signal ? waitForRequest(pending, request.signal) : pending);
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
- if (request.skipAuthRefresh || recovery.recovered || !require_errors.isItdApiError(error) || error.status !== 401) throw error;
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-Doc0XXW_.cjs.map
4400
+ //# sourceMappingURL=url-D6wsXm1T.cjs.map