@vtex/api 6.48.0 → 6.48.1-beta.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.
Files changed (243) hide show
  1. package/gen/manifest.schema +2 -3
  2. package/lib/HttpClient/GraphQLClient.d.ts +1 -1
  3. package/lib/HttpClient/GraphQLClient.js +1 -0
  4. package/lib/HttpClient/HttpClient.d.ts +4 -3
  5. package/lib/HttpClient/HttpClient.js +15 -14
  6. package/lib/HttpClient/agents.d.ts +5 -2
  7. package/lib/HttpClient/agents.js +23 -4
  8. package/lib/HttpClient/index.js +22 -10
  9. package/lib/HttpClient/middlewares/cache.d.ts +1 -1
  10. package/lib/HttpClient/middlewares/cache.js +48 -42
  11. package/lib/HttpClient/middlewares/cancellationToken.d.ts +1 -1
  12. package/lib/HttpClient/middlewares/cancellationToken.js +3 -1
  13. package/lib/HttpClient/middlewares/inflight.d.ts +1 -1
  14. package/lib/HttpClient/middlewares/inflight.js +7 -3
  15. package/lib/HttpClient/middlewares/memoization.d.ts +1 -1
  16. package/lib/HttpClient/middlewares/memoization.js +10 -8
  17. package/lib/HttpClient/middlewares/metrics.js +13 -7
  18. package/lib/HttpClient/middlewares/notFound.d.ts +1 -1
  19. package/lib/HttpClient/middlewares/notFound.js +5 -2
  20. package/lib/HttpClient/middlewares/recorder.js +7 -1
  21. package/lib/HttpClient/middlewares/request/HttpAgentSingleton.js +2 -1
  22. package/lib/HttpClient/middlewares/request/index.d.ts +1 -1
  23. package/lib/HttpClient/middlewares/request/index.js +13 -9
  24. package/lib/HttpClient/middlewares/request/setupAxios/index.js +6 -4
  25. package/lib/HttpClient/middlewares/request/setupAxios/interceptors/exponentialBackoff.js +7 -5
  26. package/lib/HttpClient/middlewares/request/setupAxios/interceptors/index.js +4 -3
  27. package/lib/HttpClient/middlewares/request/setupAxios/interceptors/tracing/index.js +9 -6
  28. package/lib/HttpClient/middlewares/request/setupAxios/interceptors/tracing/spanSetup.js +10 -7
  29. package/lib/HttpClient/middlewares/tracing.js +16 -10
  30. package/lib/HttpClient/typings.d.ts +3 -3
  31. package/lib/HttpClient/typings.js +1 -0
  32. package/lib/caches/DiskCache.d.ts +1 -1
  33. package/lib/caches/DiskCache.js +3 -2
  34. package/lib/caches/LRUCache.d.ts +3 -3
  35. package/lib/caches/LRUCache.js +1 -0
  36. package/lib/caches/LRUDiskCache.d.ts +2 -2
  37. package/lib/caches/LRUDiskCache.js +3 -2
  38. package/lib/caches/MultilayeredCache.d.ts +2 -2
  39. package/lib/caches/MultilayeredCache.js +8 -7
  40. package/lib/caches/index.js +20 -7
  41. package/lib/caches/typings.d.ts +5 -5
  42. package/lib/clients/IOClient.d.ts +1 -1
  43. package/lib/clients/IOClient.js +1 -0
  44. package/lib/clients/IOClients.d.ts +1 -1
  45. package/lib/clients/IOClients.js +1 -0
  46. package/lib/clients/IOGraphQLClient.js +1 -0
  47. package/lib/clients/apps/AppClient.js +2 -1
  48. package/lib/clients/apps/AppGraphQLClient.js +2 -1
  49. package/lib/clients/apps/Billing.d.ts +1 -1
  50. package/lib/clients/apps/Billing.js +1 -0
  51. package/lib/clients/apps/Builder.d.ts +7 -7
  52. package/lib/clients/apps/Builder.js +2 -1
  53. package/lib/clients/apps/MessagesGraphQL.d.ts +1 -1
  54. package/lib/clients/apps/MessagesGraphQL.js +4 -3
  55. package/lib/clients/apps/Settings.js +4 -3
  56. package/lib/clients/apps/catalogGraphQL/brand.js +1 -0
  57. package/lib/clients/apps/catalogGraphQL/category.js +1 -0
  58. package/lib/clients/apps/catalogGraphQL/index.d.ts +4 -4
  59. package/lib/clients/apps/catalogGraphQL/index.js +5 -4
  60. package/lib/clients/apps/catalogGraphQL/product.js +1 -0
  61. package/lib/clients/apps/catalogGraphQL/sku.js +1 -0
  62. package/lib/clients/apps/index.js +21 -10
  63. package/lib/clients/external/ExternalClient.js +1 -0
  64. package/lib/clients/external/ID.d.ts +4 -4
  65. package/lib/clients/external/ID.js +1 -0
  66. package/lib/clients/external/Masterdata.js +1 -0
  67. package/lib/clients/external/PaymentProvider.d.ts +2 -2
  68. package/lib/clients/external/PaymentProvider.js +1 -0
  69. package/lib/clients/external/index.js +18 -7
  70. package/lib/clients/index.js +22 -10
  71. package/lib/clients/infra/Apps.d.ts +32 -27
  72. package/lib/clients/infra/Apps.js +19 -16
  73. package/lib/clients/infra/Assets.d.ts +6 -5
  74. package/lib/clients/infra/Assets.js +12 -11
  75. package/lib/clients/infra/BillingMetrics.d.ts +1 -1
  76. package/lib/clients/infra/BillingMetrics.js +1 -0
  77. package/lib/clients/infra/Events.d.ts +1 -1
  78. package/lib/clients/infra/Events.js +2 -1
  79. package/lib/clients/infra/Housekeeper.d.ts +3 -3
  80. package/lib/clients/infra/Housekeeper.js +1 -0
  81. package/lib/clients/infra/InfraClient.js +1 -0
  82. package/lib/clients/infra/Registry.d.ts +23 -17
  83. package/lib/clients/infra/Registry.js +5 -3
  84. package/lib/clients/infra/Router.d.ts +8 -8
  85. package/lib/clients/infra/Router.js +1 -0
  86. package/lib/clients/infra/Sphinx.d.ts +2 -2
  87. package/lib/clients/infra/Sphinx.js +1 -0
  88. package/lib/clients/infra/VBase.d.ts +15 -14
  89. package/lib/clients/infra/VBase.js +4 -3
  90. package/lib/clients/infra/Workspaces.d.ts +7 -7
  91. package/lib/clients/infra/Workspaces.js +1 -0
  92. package/lib/clients/infra/index.js +25 -14
  93. package/lib/clients/janus/JanusClient.d.ts +1 -1
  94. package/lib/clients/janus/JanusClient.js +1 -0
  95. package/lib/clients/janus/LicenseManager.js +2 -1
  96. package/lib/clients/janus/Segment.d.ts +3 -3
  97. package/lib/clients/janus/Segment.js +3 -2
  98. package/lib/clients/janus/Session.d.ts +2 -2
  99. package/lib/clients/janus/Session.js +1 -0
  100. package/lib/clients/janus/Tenant.d.ts +1 -1
  101. package/lib/clients/janus/Tenant.js +1 -0
  102. package/lib/clients/janus/index.js +19 -8
  103. package/lib/constants.d.ts +1 -1
  104. package/lib/constants.js +2 -1
  105. package/lib/errors/AuthenticationError.js +1 -0
  106. package/lib/errors/ForbiddenError.js +1 -0
  107. package/lib/errors/NotFoundError.js +1 -0
  108. package/lib/errors/RequestCancelledError.js +1 -0
  109. package/lib/errors/ResolverError.js +2 -1
  110. package/lib/errors/ResolverWarning.js +1 -0
  111. package/lib/errors/TooManyRequestsError.js +1 -0
  112. package/lib/errors/UserInputError.js +1 -0
  113. package/lib/errors/index.js +22 -11
  114. package/lib/index.js +31 -18
  115. package/lib/metrics/MetricsAccumulator.d.ts +2 -2
  116. package/lib/metrics/MetricsAccumulator.js +10 -9
  117. package/lib/responses.d.ts +4 -4
  118. package/lib/service/index.js +11 -6
  119. package/lib/service/loaders.js +9 -6
  120. package/lib/service/logger/console.js +8 -4
  121. package/lib/service/logger/index.js +16 -5
  122. package/lib/service/logger/logger.js +3 -2
  123. package/lib/service/logger/metricsLogger.js +11 -10
  124. package/lib/service/master.js +8 -6
  125. package/lib/service/metrics/requestMetricsMiddleware.d.ts +1 -1
  126. package/lib/service/metrics/requestMetricsMiddleware.js +15 -13
  127. package/lib/service/tracing/TracerSingleton.js +10 -9
  128. package/lib/service/tracing/metrics/MetricNames.js +13 -12
  129. package/lib/service/tracing/metrics/instruments.js +15 -7
  130. package/lib/service/tracing/metrics/measurers/EventLoopLagMeasurer.js +6 -5
  131. package/lib/service/tracing/tracingMiddlewares.d.ts +3 -3
  132. package/lib/service/tracing/tracingMiddlewares.js +25 -15
  133. package/lib/service/worker/index.js +25 -23
  134. package/lib/service/worker/listeners.js +3 -1
  135. package/lib/service/worker/runtime/Service.js +2 -1
  136. package/lib/service/worker/runtime/builtIn/handlers.d.ts +3 -3
  137. package/lib/service/worker/runtime/builtIn/handlers.js +7 -3
  138. package/lib/service/worker/runtime/builtIn/middlewares.d.ts +2 -2
  139. package/lib/service/worker/runtime/builtIn/middlewares.js +6 -3
  140. package/lib/service/worker/runtime/events/index.d.ts +2 -2
  141. package/lib/service/worker/runtime/events/index.js +12 -10
  142. package/lib/service/worker/runtime/events/middlewares/body.js +6 -2
  143. package/lib/service/worker/runtime/events/middlewares/context.js +2 -1
  144. package/lib/service/worker/runtime/events/router.d.ts +2 -2
  145. package/lib/service/worker/runtime/events/router.js +4 -2
  146. package/lib/service/worker/runtime/graphql/index.js +9 -7
  147. package/lib/service/worker/runtime/graphql/middlewares/context.js +1 -0
  148. package/lib/service/worker/runtime/graphql/middlewares/error.js +9 -5
  149. package/lib/service/worker/runtime/graphql/middlewares/query.d.ts +2 -1
  150. package/lib/service/worker/runtime/graphql/middlewares/query.js +8 -6
  151. package/lib/service/worker/runtime/graphql/middlewares/response.js +2 -1
  152. package/lib/service/worker/runtime/graphql/middlewares/run.d.ts +2 -2
  153. package/lib/service/worker/runtime/graphql/middlewares/run.js +4 -2
  154. package/lib/service/worker/runtime/graphql/middlewares/updateSchema.d.ts +2 -1
  155. package/lib/service/worker/runtime/graphql/middlewares/updateSchema.js +5 -3
  156. package/lib/service/worker/runtime/graphql/middlewares/upload.js +2 -1
  157. package/lib/service/worker/runtime/graphql/schema/index.d.ts +1 -1
  158. package/lib/service/worker/runtime/graphql/schema/index.js +9 -7
  159. package/lib/service/worker/runtime/graphql/schema/messagesLoaderV2.d.ts +2 -2
  160. package/lib/service/worker/runtime/graphql/schema/messagesLoaderV2.js +5 -3
  161. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/Auth.js +2 -1
  162. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/CacheControl.js +1 -0
  163. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/Deprecated.js +2 -1
  164. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/Metric.js +1 -0
  165. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/Sanitize.js +1 -0
  166. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/Settings.js +2 -1
  167. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/SmartCacheDirective.js +1 -0
  168. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/TranslatableV2.js +3 -2
  169. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/TranslateTo.js +3 -2
  170. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/index.js +3 -2
  171. package/lib/service/worker/runtime/graphql/schema/typeDefs/index.d.ts +2 -1
  172. package/lib/service/worker/runtime/graphql/schema/typeDefs/index.js +3 -1
  173. package/lib/service/worker/runtime/graphql/schema/typeDefs/ioUpload.js +1 -0
  174. package/lib/service/worker/runtime/graphql/schema/typeDefs/sanitizedString.js +3 -2
  175. package/lib/service/worker/runtime/graphql/typings.d.ts +3 -3
  176. package/lib/service/worker/runtime/graphql/utils/cacheControl.d.ts +2 -1
  177. package/lib/service/worker/runtime/graphql/utils/cacheControl.js +3 -1
  178. package/lib/service/worker/runtime/graphql/utils/error.d.ts +2 -1
  179. package/lib/service/worker/runtime/graphql/utils/error.js +11 -9
  180. package/lib/service/worker/runtime/graphql/utils/pathname.js +4 -2
  181. package/lib/service/worker/runtime/graphql/utils/translations.d.ts +1 -1
  182. package/lib/service/worker/runtime/graphql/utils/translations.js +8 -4
  183. package/lib/service/worker/runtime/http/index.d.ts +3 -3
  184. package/lib/service/worker/runtime/http/index.js +23 -20
  185. package/lib/service/worker/runtime/http/middlewares/authTokens.js +1 -0
  186. package/lib/service/worker/runtime/http/middlewares/cancellationToken.js +1 -0
  187. package/lib/service/worker/runtime/http/middlewares/clients.js +1 -0
  188. package/lib/service/worker/runtime/http/middlewares/context.js +8 -5
  189. package/lib/service/worker/runtime/http/middlewares/error.js +10 -6
  190. package/lib/service/worker/runtime/http/middlewares/rateLimit.js +2 -1
  191. package/lib/service/worker/runtime/http/middlewares/requestStats.js +1 -0
  192. package/lib/service/worker/runtime/http/middlewares/setCookie.js +6 -5
  193. package/lib/service/worker/runtime/http/middlewares/settings.d.ts +1 -1
  194. package/lib/service/worker/runtime/http/middlewares/settings.js +14 -9
  195. package/lib/service/worker/runtime/http/middlewares/timings.js +4 -3
  196. package/lib/service/worker/runtime/http/middlewares/vary.js +1 -0
  197. package/lib/service/worker/runtime/http/router.d.ts +1 -1
  198. package/lib/service/worker/runtime/http/router.js +4 -2
  199. package/lib/service/worker/runtime/http/routes.js +9 -5
  200. package/lib/service/worker/runtime/method.d.ts +2 -2
  201. package/lib/service/worker/runtime/method.js +2 -1
  202. package/lib/service/worker/runtime/statusTrack.d.ts +2 -2
  203. package/lib/service/worker/runtime/statusTrack.js +11 -5
  204. package/lib/service/worker/runtime/typings.d.ts +10 -10
  205. package/lib/service/worker/runtime/utils/compose.d.ts +3 -3
  206. package/lib/service/worker/runtime/utils/compose.js +5 -2
  207. package/lib/service/worker/runtime/utils/context.d.ts +4 -1
  208. package/lib/service/worker/runtime/utils/context.js +6 -4
  209. package/lib/service/worker/runtime/utils/diff.js +1 -0
  210. package/lib/service/worker/runtime/utils/recorder.js +2 -1
  211. package/lib/service/worker/runtime/utils/toArray.js +3 -1
  212. package/lib/service/worker/runtime/utils/tokenBucket.js +1 -0
  213. package/lib/tracing/Tags.js +2 -1
  214. package/lib/tracing/UserLandTracer.js +4 -2
  215. package/lib/tracing/errorReporting/ErrorReport.js +14 -13
  216. package/lib/tracing/index.js +10 -9
  217. package/lib/tracing/spanReference/SpanReferenceTypes.js +1 -0
  218. package/lib/tracing/spanReference/createSpanReference.js +1 -0
  219. package/lib/tracing/utils.js +6 -4
  220. package/lib/utils/MineWinsConflictsResolver.d.ts +4 -4
  221. package/lib/utils/MineWinsConflictsResolver.js +11 -10
  222. package/lib/utils/app.js +40 -23
  223. package/lib/utils/appsStaleIfError.d.ts +1 -0
  224. package/lib/utils/appsStaleIfError.js +33 -12
  225. package/lib/utils/billingOptions.js +3 -1
  226. package/lib/utils/binding.js +5 -2
  227. package/lib/utils/cancel.js +1 -0
  228. package/lib/utils/conflicts.mock.js +1 -0
  229. package/lib/utils/domain.js +2 -1
  230. package/lib/utils/error.js +6 -4
  231. package/lib/utils/index.js +23 -12
  232. package/lib/utils/json.js +1 -0
  233. package/lib/utils/log.js +4 -2
  234. package/lib/utils/message.js +9 -5
  235. package/lib/utils/renameBy.js +3 -1
  236. package/lib/utils/retry.js +10 -7
  237. package/lib/utils/status.js +3 -1
  238. package/lib/utils/tenant.js +5 -2
  239. package/lib/utils/throwOnGraphQLErrors.js +1 -0
  240. package/lib/utils/time.d.ts +3 -5
  241. package/lib/utils/time.js +24 -14
  242. package/package.json +4 -4
  243. package/CHANGELOG.md +0 -1858
@@ -1,20 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.notFoundFallbackMiddleware = exports.acceptNotFoundMiddleware = void 0;
3
4
  const addNotFound = (validateStatus) => (status) => validateStatus(status) || status === 404;
4
5
  function nullIfNotFound(config) {
5
6
  return config && config.nullIfNotFound;
6
7
  }
7
- exports.acceptNotFoundMiddleware = async (ctx, next) => {
8
+ const acceptNotFoundMiddleware = async (ctx, next) => {
8
9
  const { config } = ctx;
9
10
  if (nullIfNotFound(config)) {
10
11
  ctx.config.validateStatus = addNotFound(config.validateStatus);
11
12
  }
12
13
  await next();
13
14
  };
14
- exports.notFoundFallbackMiddleware = async (ctx, next) => {
15
+ exports.acceptNotFoundMiddleware = acceptNotFoundMiddleware;
16
+ const notFoundFallbackMiddleware = async (ctx, next) => {
15
17
  await next();
16
18
  const { config } = ctx;
17
19
  if (nullIfNotFound(config) && ctx.response && ctx.response.status === 404) {
18
20
  ctx.response.data = null;
19
21
  }
20
22
  };
23
+ exports.notFoundFallbackMiddleware = notFoundFallbackMiddleware;
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.recorderMiddleware = (recorder) => async (ctx, next) => {
3
+ exports.recorderMiddleware = void 0;
4
+ const axios_1 = require("axios");
5
+ const recorderMiddleware = (recorder) => async (ctx, next) => {
4
6
  var _a;
5
7
  if ((_a = ctx.config) === null || _a === void 0 ? void 0 : _a.ignoreRecorder) {
6
8
  await next();
@@ -13,9 +15,13 @@ exports.recorderMiddleware = (recorder) => async (ctx, next) => {
13
15
  }
14
16
  }
15
17
  catch (err) {
18
+ if (!(err instanceof axios_1.AxiosError)) {
19
+ throw err;
20
+ }
16
21
  if (err.response && err.response.headers && err.response.status === 404) {
17
22
  recorder.record(err.response.headers);
18
23
  }
19
24
  throw err;
20
25
  }
21
26
  };
27
+ exports.recorderMiddleware = recorderMiddleware;
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HttpAgentSingleton = void 0;
3
4
  const agents_1 = require("../../agents");
4
5
  class HttpAgentSingleton {
5
6
  static getHttpAgent() {
6
7
  if (!HttpAgentSingleton.httpAgent) {
7
- HttpAgentSingleton.httpAgent = agents_1.createHttpAgent();
8
+ HttpAgentSingleton.httpAgent = (0, agents_1.createHttpAgent)();
8
9
  }
9
10
  return HttpAgentSingleton.httpAgent;
10
11
  }
@@ -15,4 +15,4 @@ export interface DefaultMiddlewareArgs {
15
15
  }
16
16
  export declare const defaultsMiddleware: ({ baseURL, rawHeaders, params, timeout, retries, verbose, exponentialTimeoutCoefficient, initialBackoffDelay, exponentialBackoffCoefficient, httpsAgent }: DefaultMiddlewareArgs) => (ctx: MiddlewareContext, next: () => Promise<void>) => Promise<void>;
17
17
  export declare const routerCacheMiddleware: (ctx: MiddlewareContext, next: () => Promise<void>) => Promise<void>;
18
- export declare const requestMiddleware: (limit?: Limit | undefined) => (ctx: MiddlewareContext, next: () => Promise<void>) => Promise<void>;
18
+ export declare const requestMiddleware: (limit?: Limit) => (ctx: MiddlewareContext, next: () => Promise<void>) => Promise<void>;
@@ -3,19 +3,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.requestMiddleware = exports.routerCacheMiddleware = exports.defaultsMiddleware = void 0;
6
7
  const buildFullPath_1 = __importDefault(require("axios/lib/core/buildFullPath"));
7
8
  const qs_1 = require("qs");
8
9
  const ramda_1 = require("ramda");
9
10
  const Tags_1 = require("../../../tracing/Tags");
10
11
  const renameBy_1 = require("../../../utils/renameBy");
11
12
  const setupAxios_1 = require("./setupAxios");
12
- const http = setupAxios_1.getConfiguredAxios();
13
+ const http = (0, setupAxios_1.getConfiguredAxios)();
13
14
  const paramsSerializer = (params) => {
14
- return qs_1.stringify(params, { arrayFormat: 'repeat' });
15
+ return (0, qs_1.stringify)(params, { arrayFormat: 'repeat' });
15
16
  };
16
- exports.defaultsMiddleware = ({ baseURL, rawHeaders, params, timeout, retries, verbose, exponentialTimeoutCoefficient, initialBackoffDelay, exponentialBackoffCoefficient, httpsAgent }) => {
17
+ const defaultsMiddleware = ({ baseURL, rawHeaders, params, timeout, retries, verbose, exponentialTimeoutCoefficient, initialBackoffDelay, exponentialBackoffCoefficient, httpsAgent }) => {
17
18
  const countByMetric = {};
18
- const headers = renameBy_1.renameBy(ramda_1.toLower, rawHeaders);
19
+ const headers = (0, renameBy_1.renameBy)(ramda_1.toLower, rawHeaders);
19
20
  return (ctx, next) => {
20
21
  var _a, _b, _c;
21
22
  ctx.config = {
@@ -32,7 +33,7 @@ exports.defaultsMiddleware = ({ baseURL, rawHeaders, params, timeout, retries, v
32
33
  ...ctx.config,
33
34
  headers: {
34
35
  ...headers,
35
- ...renameBy_1.renameBy(ramda_1.toLower, ctx.config.headers),
36
+ ...(0, renameBy_1.renameBy)(ramda_1.toLower, ctx.config.headers),
36
37
  },
37
38
  params: {
38
39
  ...params,
@@ -49,7 +50,7 @@ exports.defaultsMiddleware = ({ baseURL, rawHeaders, params, timeout, retries, v
49
50
  }
50
51
  if ((_a = ctx.tracing) === null || _a === void 0 ? void 0 : _a.isSampled) {
51
52
  const { config } = ctx;
52
- const fullUrl = buildFullPath_1.default(config.baseURL, http.getUri(config));
53
+ const fullUrl = (0, buildFullPath_1.default)(config.baseURL, http.getUri(config));
53
54
  (_c = (_b = ctx.tracing) === null || _b === void 0 ? void 0 : _b.rootSpan) === null || _c === void 0 ? void 0 : _c.addTags({
54
55
  [Tags_1.OpentracingTags.HTTP_METHOD]: config.method || 'get',
55
56
  [Tags_1.OpentracingTags.HTTP_URL]: fullUrl,
@@ -58,16 +59,17 @@ exports.defaultsMiddleware = ({ baseURL, rawHeaders, params, timeout, retries, v
58
59
  return next();
59
60
  };
60
61
  };
62
+ exports.defaultsMiddleware = defaultsMiddleware;
61
63
  const ROUTER_CACHE_KEY = 'x-router-cache';
62
64
  const ROUTER_CACHE_HIT = 'HIT';
63
65
  const ROUTER_CACHE_REVALIDATED = 'REVALIDATED';
64
- exports.routerCacheMiddleware = async (ctx, next) => {
66
+ const routerCacheMiddleware = async (ctx, next) => {
65
67
  var _a, _b, _c, _d, _e;
66
68
  await next();
67
69
  const routerCacheHit = (_b = (_a = ctx.response) === null || _a === void 0 ? void 0 : _a.headers) === null || _b === void 0 ? void 0 : _b[ROUTER_CACHE_KEY];
68
70
  const status = (_c = ctx.response) === null || _c === void 0 ? void 0 : _c.status;
69
71
  if (routerCacheHit) {
70
- (_e = (_d = ctx.tracing) === null || _d === void 0 ? void 0 : _d.rootSpan) === null || _e === void 0 ? void 0 : _e.setTag("http.cache.router" /* HTTP_ROUTER_CACHE_RESULT */, routerCacheHit);
72
+ (_e = (_d = ctx.tracing) === null || _d === void 0 ? void 0 : _d.rootSpan) === null || _e === void 0 ? void 0 : _e.setTag("http.cache.router" /* CustomHttpTags.HTTP_ROUTER_CACHE_RESULT */, routerCacheHit);
71
73
  }
72
74
  if (routerCacheHit === ROUTER_CACHE_HIT || (routerCacheHit === ROUTER_CACHE_REVALIDATED && status !== 304)) {
73
75
  ctx.cacheHit = {
@@ -78,7 +80,9 @@ exports.routerCacheMiddleware = async (ctx, next) => {
78
80
  };
79
81
  }
80
82
  };
81
- exports.requestMiddleware = (limit) => async (ctx, next) => {
83
+ exports.routerCacheMiddleware = routerCacheMiddleware;
84
+ const requestMiddleware = (limit) => async (ctx, next) => {
82
85
  const makeRequest = () => http.request(ctx.config);
83
86
  ctx.response = await (limit ? limit(makeRequest) : makeRequest());
84
87
  };
88
+ exports.requestMiddleware = requestMiddleware;
@@ -3,18 +3,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getConfiguredAxios = void 0;
6
7
  const axios_1 = __importDefault(require("axios"));
7
8
  const HttpAgentSingleton_1 = require("../HttpAgentSingleton");
8
9
  const interceptors_1 = require("./interceptors");
9
- exports.getConfiguredAxios = () => {
10
+ const getConfiguredAxios = () => {
10
11
  const httpAgent = HttpAgentSingleton_1.HttpAgentSingleton.getHttpAgent();
11
12
  const http = axios_1.default.create({
12
13
  httpAgent,
13
14
  });
14
- interceptors_1.addTracingPreRequestInterceptor(http);
15
+ (0, interceptors_1.addTracingPreRequestInterceptor)(http);
15
16
  // Do not change this order, otherwise each request span will
16
17
  // wait all retries to finish before finishing the span
17
- interceptors_1.addTracingResponseInterceptor(http);
18
- interceptors_1.addExponentialBackoffResponseInterceptor(http);
18
+ (0, interceptors_1.addTracingResponseInterceptor)(http);
19
+ (0, interceptors_1.addExponentialBackoffResponseInterceptor)(http);
19
20
  return http;
20
21
  };
22
+ exports.getConfiguredAxios = getConfiguredAxios;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addExponentialBackoffResponseInterceptor = void 0;
3
4
  const retry_1 = require("../../../../../utils/retry");
4
5
  function fixConfig(axiosInstance, config) {
5
6
  if (axiosInstance.defaults.httpAgent === config.httpAgent) {
@@ -28,7 +29,7 @@ const onResponseError = (http) => (error) => {
28
29
  }
29
30
  const { initialBackoffDelay = 200, exponentialBackoffCoefficient = 2, exponentialTimeoutCoefficient, } = config;
30
31
  const retryCount = config.retryCount || 0;
31
- const shouldRetry = retry_1.isAbortedOrNetworkErrorOrRouterTimeout(error) && retryCount < config.retries;
32
+ const shouldRetry = (0, retry_1.isAbortedOrNetworkErrorOrRouterTimeout)(error) && retryCount < config.retries;
32
33
  if (shouldRetry) {
33
34
  config.retryCount = retryCount + 1;
34
35
  const delay = exponentialDelay(initialBackoffDelay, exponentialBackoffCoefficient, config.retryCount);
@@ -39,15 +40,16 @@ const onResponseError = (http) => (error) => {
39
40
  ? config.timeout * exponentialTimeoutCoefficient
40
41
  : config.timeout;
41
42
  config.transformRequest = [data => data];
42
- (_b = (_a = config.tracing) === null || _a === void 0 ? void 0 : _a.rootSpan) === null || _b === void 0 ? void 0 : _b.log({ event: "setup-request-retry" /* SETUP_REQUEST_RETRY */, ["retry-number" /* RETRY_NUMBER */]: config.retryCount, ["retry-in" /* RETRY_IN */]: delay });
43
+ (_b = (_a = config.tracing) === null || _a === void 0 ? void 0 : _a.rootSpan) === null || _b === void 0 ? void 0 : _b.log({ event: "setup-request-retry" /* HttpLogEvents.SETUP_REQUEST_RETRY */, ["retry-number" /* HttpRetryLogFields.RETRY_NUMBER */]: config.retryCount, ["retry-in" /* HttpRetryLogFields.RETRY_IN */]: delay });
43
44
  (_d = (_c = config.tracing) === null || _c === void 0 ? void 0 : _c.rootSpan) === null || _d === void 0 ? void 0 : _d.addTags({
44
- ["http.retry.count" /* HTTP_RETRY_COUNT */]: config.retryCount,
45
- ["http.retry.error.code" /* HTTP_RETRY_ERROR_CODE */]: error.code,
45
+ ["http.retry.count" /* CustomHttpTags.HTTP_RETRY_COUNT */]: config.retryCount,
46
+ ["http.retry.error.code" /* CustomHttpTags.HTTP_RETRY_ERROR_CODE */]: error.code,
46
47
  });
47
48
  return new Promise(resolve => setTimeout(() => resolve(http(config)), delay));
48
49
  }
49
50
  return Promise.reject(error);
50
51
  };
51
- exports.addExponentialBackoffResponseInterceptor = (http) => {
52
+ const addExponentialBackoffResponseInterceptor = (http) => {
52
53
  http.interceptors.response.use(undefined, onResponseError(http));
53
54
  };
55
+ exports.addExponentialBackoffResponseInterceptor = addExponentialBackoffResponseInterceptor;
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addTracingResponseInterceptor = exports.addTracingPreRequestInterceptor = exports.addExponentialBackoffResponseInterceptor = void 0;
3
4
  var exponentialBackoff_1 = require("./exponentialBackoff");
4
- exports.addExponentialBackoffResponseInterceptor = exponentialBackoff_1.addExponentialBackoffResponseInterceptor;
5
+ Object.defineProperty(exports, "addExponentialBackoffResponseInterceptor", { enumerable: true, get: function () { return exponentialBackoff_1.addExponentialBackoffResponseInterceptor; } });
5
6
  var tracing_1 = require("./tracing");
6
- exports.addTracingPreRequestInterceptor = tracing_1.addTracingPreRequestInterceptor;
7
- exports.addTracingResponseInterceptor = tracing_1.addTracingResponseInterceptor;
7
+ Object.defineProperty(exports, "addTracingPreRequestInterceptor", { enumerable: true, get: function () { return tracing_1.addTracingPreRequestInterceptor; } });
8
+ Object.defineProperty(exports, "addTracingResponseInterceptor", { enumerable: true, get: function () { return tracing_1.addTracingResponseInterceptor; } });
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addTracingResponseInterceptor = exports.addTracingPreRequestInterceptor = exports.requestSpanPrefix = void 0;
3
4
  const opentracing_1 = require("opentracing");
4
5
  const tracing_1 = require("../../../../../../tracing");
5
6
  const SpanReferenceTypes_1 = require("../../../../../../tracing/spanReference/SpanReferenceTypes");
@@ -14,10 +15,10 @@ const preRequestInterceptor = (http) => (config) => {
14
15
  const spanName = requestSpanNameSuffix ? `${exports.requestSpanPrefix}:${requestSpanNameSuffix}` : exports.requestSpanPrefix;
15
16
  const span = rootSpan
16
17
  ? tracer.startSpan(spanName, {
17
- references: [tracing_1.createSpanReference(rootSpan, SpanReferenceTypes_1.SpanReferenceTypes.CHILD_OF)],
18
+ references: [(0, tracing_1.createSpanReference)(rootSpan, SpanReferenceTypes_1.SpanReferenceTypes.CHILD_OF)],
18
19
  })
19
20
  : tracer.startSpan(spanName);
20
- spanSetup_1.injectRequestInfoOnSpan(span, http, config);
21
+ (0, spanSetup_1.injectRequestInfoOnSpan)(span, http, config);
21
22
  config.tracing.requestSpan = span;
22
23
  tracer.inject(span, opentracing_1.FORMAT_HTTP_HEADERS, config.headers);
23
24
  return config;
@@ -28,7 +29,7 @@ const onResponseSuccess = (response) => {
28
29
  return response;
29
30
  }
30
31
  const requestSpan = (_b = response.config.tracing) === null || _b === void 0 ? void 0 : _b.requestSpan;
31
- spanSetup_1.injectResponseInfoOnSpan(requestSpan, response);
32
+ (0, spanSetup_1.injectResponseInfoOnSpan)(requestSpan, response);
32
33
  requestSpan === null || requestSpan === void 0 ? void 0 : requestSpan.finish();
33
34
  return response;
34
35
  };
@@ -38,16 +39,18 @@ const onResponseError = (err) => {
38
39
  return Promise.reject(err);
39
40
  }
40
41
  const { requestSpan } = err.config.tracing;
41
- spanSetup_1.injectResponseInfoOnSpan(requestSpan, err.response);
42
+ (0, spanSetup_1.injectResponseInfoOnSpan)(requestSpan, err.response);
42
43
  tracing_1.ErrorReport.create({ originalError: err }).injectOnSpan(requestSpan, err.config.tracing.logger);
43
44
  requestSpan.finish();
44
45
  return Promise.reject(err);
45
46
  };
46
- exports.addTracingPreRequestInterceptor = (http) => {
47
+ const addTracingPreRequestInterceptor = (http) => {
47
48
  const requestTracingInterceptor = http.interceptors.request.use(preRequestInterceptor(http), undefined);
48
49
  return { requestTracingInterceptor };
49
50
  };
50
- exports.addTracingResponseInterceptor = (http) => {
51
+ exports.addTracingPreRequestInterceptor = addTracingPreRequestInterceptor;
52
+ const addTracingResponseInterceptor = (http) => {
51
53
  const responseTracingInterceptor = http.interceptors.response.use(onResponseSuccess, onResponseError);
52
54
  return { responseTracingInterceptor };
53
55
  };
56
+ exports.addTracingResponseInterceptor = addTracingResponseInterceptor;
@@ -3,27 +3,30 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.injectResponseInfoOnSpan = exports.injectRequestInfoOnSpan = void 0;
6
7
  const buildFullPath_1 = __importDefault(require("axios/lib/core/buildFullPath"));
7
8
  const constants_1 = require("../../../../../../constants");
8
9
  const Tags_1 = require("../../../../../../tracing/Tags");
9
10
  const utils_1 = require("../../../../../../tracing/utils");
10
- exports.injectRequestInfoOnSpan = (span, http, config) => {
11
+ const injectRequestInfoOnSpan = (span, http, config) => {
11
12
  span === null || span === void 0 ? void 0 : span.addTags({
12
13
  [Tags_1.OpentracingTags.SPAN_KIND]: Tags_1.OpentracingTags.SPAN_KIND_RPC_CLIENT,
13
14
  [Tags_1.OpentracingTags.HTTP_METHOD]: config.method,
14
- [Tags_1.OpentracingTags.HTTP_URL]: buildFullPath_1.default(config.baseURL, http.getUri(config)),
15
+ [Tags_1.OpentracingTags.HTTP_URL]: (0, buildFullPath_1.default)(config.baseURL, http.getUri(config)),
15
16
  });
16
- span === null || span === void 0 ? void 0 : span.log({ 'request-headers': utils_1.cloneAndSanitizeHeaders(config.headers) });
17
+ span === null || span === void 0 ? void 0 : span.log({ 'request-headers': (0, utils_1.cloneAndSanitizeHeaders)(config.headers) });
17
18
  };
19
+ exports.injectRequestInfoOnSpan = injectRequestInfoOnSpan;
18
20
  // Response may be undefined in case of client timeout, invalid URL, ...
19
- exports.injectResponseInfoOnSpan = (span, response) => {
21
+ const injectResponseInfoOnSpan = (span, response) => {
20
22
  if (!response) {
21
- span === null || span === void 0 ? void 0 : span.setTag("http.no_response" /* HTTP_NO_RESPONSE */, 'true');
23
+ span === null || span === void 0 ? void 0 : span.setTag("http.no_response" /* CustomHttpTags.HTTP_NO_RESPONSE */, 'true');
22
24
  return;
23
25
  }
24
- span === null || span === void 0 ? void 0 : span.log({ 'response-headers': utils_1.cloneAndSanitizeHeaders(response.headers) });
26
+ span === null || span === void 0 ? void 0 : span.log({ 'response-headers': (0, utils_1.cloneAndSanitizeHeaders)(response.headers) });
25
27
  span === null || span === void 0 ? void 0 : span.setTag(Tags_1.OpentracingTags.HTTP_STATUS_CODE, response.status);
26
28
  if (response.headers[constants_1.ROUTER_CACHE_HEADER]) {
27
- span === null || span === void 0 ? void 0 : span.setTag("http.cache.router" /* HTTP_ROUTER_CACHE_RESULT */, response.headers[constants_1.ROUTER_CACHE_HEADER]);
29
+ span === null || span === void 0 ? void 0 : span.setTag("http.cache.router" /* CustomHttpTags.HTTP_ROUTER_CACHE_RESULT */, response.headers[constants_1.ROUTER_CACHE_HEADER]);
28
30
  }
29
31
  };
32
+ exports.injectResponseInfoOnSpan = injectResponseInfoOnSpan;
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createHttpClientTracingMiddleware = void 0;
4
+ const axios_1 = require("axios");
3
5
  const tracing_1 = require("../../tracing");
4
6
  const Tags_1 = require("../../tracing/Tags");
5
7
  const cache_1 = require("./cache");
6
- exports.createHttpClientTracingMiddleware = ({ tracer, logger, clientName, hasMemoryCacheMiddleware, hasDiskCacheMiddleware, }) => {
8
+ const createHttpClientTracingMiddleware = ({ tracer, logger, clientName, hasMemoryCacheMiddleware, hasDiskCacheMiddleware, }) => {
7
9
  return async function tracingMiddleware(ctx, next) {
8
10
  var _a;
9
11
  if (!tracer.isTraceSampled) {
@@ -16,20 +18,20 @@ exports.createHttpClientTracingMiddleware = ({ tracer, logger, clientName, hasMe
16
18
  const span = tracer.startSpan(spanName, { childOf: rootSpan });
17
19
  ctx.tracing = {
18
20
  ...ctx.config.tracing,
19
- isSampled: tracing_1.getTraceInfo(span).isSampled,
21
+ isSampled: (0, tracing_1.getTraceInfo)(span).isSampled,
20
22
  logger,
21
23
  rootSpan: span,
22
24
  tracer,
23
25
  };
24
26
  ctx.config.tracing = ctx.tracing;
25
- const hasMemoCache = !(!cache_1.isLocallyCacheable(ctx.config, cache_1.CacheType.Any) || !ctx.config.memoizable);
26
- const hasMemoryCache = hasMemoryCacheMiddleware && !!cache_1.isLocallyCacheable(ctx.config, cache_1.CacheType.Memory);
27
- const hasDiskCache = hasDiskCacheMiddleware && !!cache_1.isLocallyCacheable(ctx.config, cache_1.CacheType.Disk);
27
+ const hasMemoCache = !(!(0, cache_1.isLocallyCacheable)(ctx.config, cache_1.CacheType.Any) || !ctx.config.memoizable);
28
+ const hasMemoryCache = hasMemoryCacheMiddleware && !!(0, cache_1.isLocallyCacheable)(ctx.config, cache_1.CacheType.Memory);
29
+ const hasDiskCache = hasDiskCacheMiddleware && !!(0, cache_1.isLocallyCacheable)(ctx.config, cache_1.CacheType.Disk);
28
30
  span === null || span === void 0 ? void 0 : span.addTags({
29
- ["http.cache.memoization.enabled" /* HTTP_MEMOIZATION_CACHE_ENABLED */]: hasMemoCache,
30
- ["http.cache.memory.enabled" /* HTTP_MEMORY_CACHE_ENABLED */]: hasMemoryCache,
31
- ["http.cache.disk.enabled" /* HTTP_DISK_CACHE_ENABLED */]: hasDiskCache,
32
- ["http.client.name" /* HTTP_CLIENT_NAME */]: clientName,
31
+ ["http.cache.memoization.enabled" /* CustomHttpTags.HTTP_MEMOIZATION_CACHE_ENABLED */]: hasMemoCache,
32
+ ["http.cache.memory.enabled" /* CustomHttpTags.HTTP_MEMORY_CACHE_ENABLED */]: hasMemoryCache,
33
+ ["http.cache.disk.enabled" /* CustomHttpTags.HTTP_DISK_CACHE_ENABLED */]: hasDiskCache,
34
+ ["http.client.name" /* CustomHttpTags.HTTP_CLIENT_NAME */]: clientName,
33
35
  });
34
36
  let response;
35
37
  try {
@@ -37,6 +39,9 @@ exports.createHttpClientTracingMiddleware = ({ tracer, logger, clientName, hasMe
37
39
  response = ctx.response;
38
40
  }
39
41
  catch (err) {
42
+ if (!(err instanceof axios_1.AxiosError)) {
43
+ throw err;
44
+ }
40
45
  response = err.response;
41
46
  if ((_a = ctx.tracing) === null || _a === void 0 ? void 0 : _a.isSampled) {
42
47
  tracing_1.ErrorReport.create({ originalError: err }).injectOnSpan(span, logger);
@@ -48,9 +53,10 @@ exports.createHttpClientTracingMiddleware = ({ tracer, logger, clientName, hasMe
48
53
  span === null || span === void 0 ? void 0 : span.setTag(Tags_1.OpentracingTags.HTTP_STATUS_CODE, response.status);
49
54
  }
50
55
  else {
51
- span === null || span === void 0 ? void 0 : span.setTag("http.no_response" /* HTTP_NO_RESPONSE */, true);
56
+ span === null || span === void 0 ? void 0 : span.setTag("http.no_response" /* CustomHttpTags.HTTP_NO_RESPONSE */, true);
52
57
  }
53
58
  span === null || span === void 0 ? void 0 : span.finish();
54
59
  }
55
60
  };
56
61
  };
62
+ exports.createHttpClientTracingMiddleware = createHttpClientTracingMiddleware;
@@ -8,7 +8,7 @@ import { IOContext } from '../service/worker/runtime/typings';
8
8
  import { SpanReferenceTypes } from '../tracing';
9
9
  import { IUserLandTracer } from '../tracing/UserLandTracer';
10
10
  import { Cached, CacheType } from './middlewares/cache';
11
- export declare type InflightKeyGenerator = (x: RequestConfig) => string;
11
+ export type InflightKeyGenerator = (x: RequestConfig) => string;
12
12
  interface RequestTracingUserConfig {
13
13
  rootSpan?: Span;
14
14
  referenceType?: SpanReferenceTypes;
@@ -44,7 +44,7 @@ export interface RequestConfig extends AxiosRequestConfig, RequestTracingConfig
44
44
  memoizeable?: boolean;
45
45
  inflightKey?: InflightKeyGenerator;
46
46
  forceMaxAge?: number;
47
- responseEncoding?: BufferEncoding;
47
+ responseEncoding?: BufferEncoding | string;
48
48
  nullIfNotFound?: boolean;
49
49
  ignoreRecorder?: boolean;
50
50
  }
@@ -68,7 +68,7 @@ export interface MiddlewareContext {
68
68
  inflightHit?: boolean;
69
69
  memoizedHit?: boolean;
70
70
  }
71
- export declare type CacheStorage = CacheLayer<string, Cached>;
71
+ export type CacheStorage = CacheLayer<string, Cached>;
72
72
  export interface InstanceOptions {
73
73
  authType?: AuthType;
74
74
  timeout?: number;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AuthType = void 0;
3
4
  var AuthType;
4
5
  (function (AuthType) {
5
6
  AuthType["basic"] = "Basic";
@@ -11,7 +11,7 @@ export declare class DiskCache<V> implements CacheLayer<string, V> {
11
11
  constructor(cachePath: string, readFile?: typeof readJSON, writeFile?: typeof outputJSON);
12
12
  has: (key: string) => boolean;
13
13
  getStats: (name?: string) => DiskStats;
14
- get: (key: string) => Promise<void | V>;
14
+ get: (key: string) => Promise<V | void>;
15
15
  set: (key: string, value: V) => Promise<boolean>;
16
16
  private getPathKey;
17
17
  }
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DiskCache = void 0;
6
7
  const fs_extra_1 = require("fs-extra");
7
8
  const path_1 = require("path");
8
9
  const rwlock_1 = __importDefault(require("rwlock"));
@@ -15,7 +16,7 @@ class DiskCache {
15
16
  this.total = 0;
16
17
  this.has = (key) => {
17
18
  const pathKey = this.getPathKey(key);
18
- return fs_extra_1.pathExistsSync(pathKey);
19
+ return (0, fs_extra_1.pathExistsSync)(pathKey);
19
20
  };
20
21
  this.getStats = (name = 'disk-cache') => {
21
22
  const stats = {
@@ -63,7 +64,7 @@ class DiskCache {
63
64
  });
64
65
  return !failure;
65
66
  };
66
- this.getPathKey = (key) => path_1.join(this.cachePath, key);
67
+ this.getPathKey = (key) => (0, path_1.join)(this.cachePath, key);
67
68
  this.lock = new rwlock_1.default();
68
69
  }
69
70
  }
@@ -8,9 +8,9 @@ export declare class LRUCache<K, V> implements CacheLayer<K, V> {
8
8
  private total;
9
9
  private disposed;
10
10
  constructor(options: LRU.Options<K, V>);
11
- get: (key: K) => void | V;
12
- getOrSet: (key: K, fetcher?: (() => Promise<FetchResult<V>>) | undefined) => Promise<void | V>;
13
- set: (key: K, value: V, maxAge?: number | undefined) => boolean;
11
+ get: (key: K) => V | void;
12
+ getOrSet: (key: K, fetcher?: () => Promise<FetchResult<V>>) => Promise<V | void>;
13
+ set: (key: K, value: V, maxAge?: number) => boolean;
14
14
  has: (key: K) => boolean;
15
15
  getStats: (name?: string) => LRUStats;
16
16
  }
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.LRUCache = void 0;
6
7
  const lru_cache_1 = __importDefault(require("lru-cache"));
7
8
  const MultilayeredCache_1 = require("./MultilayeredCache");
8
9
  class LRUCache {
@@ -14,8 +14,8 @@ export declare class LRUDiskCache<V> implements CacheLayer<string, V> {
14
14
  constructor(cachePath: string, options: LRUDiskCacheOptions, readFile?: typeof readJSON, writeFile?: typeof outputJSON);
15
15
  has: (key: string) => boolean;
16
16
  getStats: (name?: string) => LRUStats;
17
- get: (key: string) => Promise<void | V>;
18
- set: (key: string, value: V, maxAge?: number | undefined) => Promise<boolean>;
17
+ get: (key: string) => Promise<V | void>;
18
+ set: (key: string, value: V, maxAge?: number) => Promise<boolean>;
19
19
  private getPathKey;
20
20
  private deleteFile;
21
21
  }
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.LRUDiskCache = void 0;
6
7
  const fs_extra_1 = require("fs-extra");
7
8
  const lru_cache_1 = __importDefault(require("lru-cache"));
8
9
  const path_1 = require("path");
@@ -92,7 +93,7 @@ class LRUDiskCache {
92
93
  return !failure;
93
94
  };
94
95
  this.getPathKey = (key) => {
95
- return path_1.join(this.cachePath, key);
96
+ return (0, path_1.join)(this.cachePath, key);
96
97
  };
97
98
  this.deleteFile = async (key) => {
98
99
  const pathKey = this.getPathKey(key);
@@ -100,7 +101,7 @@ class LRUDiskCache {
100
101
  const failure = new Promise(resolve => {
101
102
  this.lock.writeLock(key, async (release) => {
102
103
  try {
103
- const removePromise = await fs_extra_1.remove(pathKey);
104
+ const removePromise = await (0, fs_extra_1.remove)(pathKey);
104
105
  release();
105
106
  resolve(removePromise);
106
107
  }
@@ -5,8 +5,8 @@ export declare class MultilayeredCache<K, V> implements CacheLayer<K, V> {
5
5
  private hits;
6
6
  private total;
7
7
  constructor(caches: Array<CacheLayer<K, V>>);
8
- get: (key: K, fetcher?: (() => Promise<FetchResult<V>>) | undefined) => Promise<void | V>;
9
- set: (key: K, value: V, maxAge?: number | undefined) => Promise<boolean>;
8
+ get: (key: K, fetcher?: () => Promise<FetchResult<V>>) => Promise<V | void>;
9
+ set: (key: K, value: V, maxAge?: number) => Promise<boolean>;
10
10
  has: (key: K) => Promise<boolean>;
11
11
  getStats: (name?: string) => MultilayerStats;
12
12
  private findIndex;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MultilayeredCache = void 0;
3
4
  const ramda_1 = require("ramda");
4
5
  class MultilayeredCache {
5
6
  constructor(caches) {
@@ -7,7 +8,7 @@ class MultilayeredCache {
7
8
  this.hits = 0;
8
9
  this.total = 0;
9
10
  this.get = async (key, fetcher) => {
10
- let value;
11
+ let value = undefined;
11
12
  let maxAge;
12
13
  let successIndex = await this.findIndex(async (cache) => {
13
14
  const [getValue, hasKey] = await Promise.all([cache.get(key), cache.has(key)]);
@@ -25,18 +26,18 @@ class MultilayeredCache {
25
26
  }
26
27
  successIndex = Infinity;
27
28
  }
28
- const failedCaches = ramda_1.slice(0, successIndex, this.caches);
29
- const [firstPromise] = ramda_1.map(cache => cache.set(key, value, maxAge), failedCaches);
29
+ const failedCaches = (0, ramda_1.slice)(0, successIndex, this.caches);
30
+ const [firstPromise] = (0, ramda_1.map)(cache => cache.set(key, value, maxAge), failedCaches);
30
31
  await firstPromise;
31
32
  return value;
32
33
  };
33
34
  this.set = async (key, value, maxAge) => {
34
- const isSet = await Promise.all(ramda_1.map(cache => cache.set(key, value, maxAge), this.caches));
35
- return ramda_1.any(item => item, isSet);
35
+ const isSet = await Promise.all((0, ramda_1.map)(cache => cache.set(key, value, maxAge), this.caches));
36
+ return (0, ramda_1.any)(item => item, isSet);
36
37
  };
37
38
  this.has = async (key) => {
38
- const hasList = await Promise.all(ramda_1.map(cache => cache.has(key), this.caches));
39
- return ramda_1.any(item => item, hasList);
39
+ const hasList = await Promise.all((0, ramda_1.map)(cache => cache.has(key), this.caches));
40
+ return (0, ramda_1.any)(item => item, hasList);
40
41
  };
41
42
  this.getStats = (name = 'multilayred-cache') => {
42
43
  const multilayerStats = {
@@ -1,9 +1,22 @@
1
1
  "use strict";
2
- function __export(m) {
3
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
4
- }
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
5
16
  Object.defineProperty(exports, "__esModule", { value: true });
6
- __export(require("./DiskCache"));
7
- __export(require("./LRUCache"));
8
- __export(require("./LRUDiskCache"));
9
- __export(require("./MultilayeredCache"));
17
+ __exportStar(require("./CacheLayer"), exports);
18
+ __exportStar(require("./DiskCache"), exports);
19
+ __exportStar(require("./LRUCache"), exports);
20
+ __exportStar(require("./LRUDiskCache"), exports);
21
+ __exportStar(require("./MultilayeredCache"), exports);
22
+ __exportStar(require("./typings"), exports);
@@ -1,13 +1,13 @@
1
- export declare type FetchResult<V> = {
1
+ export type FetchResult<V> = {
2
2
  value: V;
3
3
  maxAge?: number;
4
4
  };
5
- export declare type DiskStats = {
5
+ export type DiskStats = {
6
6
  hits: number;
7
7
  total: number;
8
8
  name: string;
9
9
  };
10
- export declare type LRUStats = {
10
+ export type LRUStats = {
11
11
  itemCount: number;
12
12
  length: number;
13
13
  disposedItems: number;
@@ -17,13 +17,13 @@ export declare type LRUStats = {
17
17
  name: string;
18
18
  total: number;
19
19
  };
20
- export declare type MultilayerStats = {
20
+ export type MultilayerStats = {
21
21
  hitRate: number | undefined;
22
22
  hits: number;
23
23
  total: number;
24
24
  name: string;
25
25
  };
26
- export declare type LRUDiskCacheOptions = {
26
+ export type LRUDiskCacheOptions = {
27
27
  /**
28
28
  * The maximum size of the cache, checked by applying the length
29
29
  * function to all values in the cache. Not setting this is kind of silly,