api-def 0.12.1 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/README.md +3 -0
  2. package/bin/index.js +312 -313
  3. package/cjs/Api.d.ts +1 -1
  4. package/cjs/Api.js +99 -145
  5. package/cjs/ApiTypes.d.ts +1 -1
  6. package/cjs/ApiUtils.js +30 -32
  7. package/cjs/Endpoint.d.ts +1 -1
  8. package/cjs/Endpoint.js +112 -175
  9. package/cjs/EndpointBuilder.js +23 -32
  10. package/cjs/QueryHandling.js +12 -13
  11. package/cjs/RequestConfig.js +54 -36
  12. package/cjs/RequestContext.d.ts +1 -1
  13. package/cjs/RequestContext.js +125 -180
  14. package/cjs/RequestError.js +16 -19
  15. package/cjs/Requester.js +230 -312
  16. package/cjs/TextDecoding.js +31 -31
  17. package/cjs/Utils.js +20 -23
  18. package/cjs/backend/AxiosRequestBackend.d.ts +1 -1
  19. package/cjs/backend/AxiosRequestBackend.js +65 -172
  20. package/cjs/backend/FetchRequestBackend.d.ts +1 -1
  21. package/cjs/backend/FetchRequestBackend.js +108 -154
  22. package/cjs/backend/MockRequestBackend.d.ts +1 -1
  23. package/cjs/backend/MockRequestBackend.js +146 -208
  24. package/cjs/cache/ClientCaching.js +26 -74
  25. package/cjs/cache/LocalForageClientCacheBackend.js +15 -83
  26. package/cjs/cache/LocalStorageClientCacheBackend.js +14 -73
  27. package/cjs/index.d.ts +11 -11
  28. package/cjs/index.js +24 -21
  29. package/cjs/middleware/ClientCacheMiddleware.js +80 -103
  30. package/cjs/middleware/LoggingMiddleware.js +71 -42
  31. package/cjs/util/retry/index.js +42 -9
  32. package/cjs/util/retry/lib/retry.js +25 -27
  33. package/cjs/util/retry/lib/retryOperation.d.ts +1 -26
  34. package/cjs/util/retry/lib/retryOperation.js +21 -23
  35. package/esm/Api.d.ts +6 -6
  36. package/esm/Api.js +12 -25
  37. package/esm/ApiConstants.d.ts +1 -1
  38. package/esm/ApiTypes.d.ts +5 -5
  39. package/esm/ApiUtils.d.ts +2 -2
  40. package/esm/ApiUtils.js +4 -5
  41. package/esm/Endpoint.d.ts +6 -6
  42. package/esm/Endpoint.js +22 -28
  43. package/esm/EndpointBuilder.d.ts +4 -4
  44. package/esm/EndpointBuilder.js +2 -2
  45. package/esm/MockingTypes.d.ts +1 -1
  46. package/esm/QueryHandling.d.ts +1 -1
  47. package/esm/QueryHandling.js +2 -3
  48. package/esm/RequestConfig.d.ts +1 -1
  49. package/esm/RequestConfig.js +6 -7
  50. package/esm/RequestContext.d.ts +7 -7
  51. package/esm/RequestContext.js +15 -27
  52. package/esm/RequestError.d.ts +3 -3
  53. package/esm/RequestError.js +2 -3
  54. package/esm/Requester.d.ts +2 -2
  55. package/esm/Requester.js +44 -50
  56. package/esm/UtilTypes.d.ts +1 -1
  57. package/esm/Utils.js +2 -1
  58. package/esm/Validation.d.ts +1 -1
  59. package/esm/backend/AxiosRequestBackend.d.ts +4 -4
  60. package/esm/backend/AxiosRequestBackend.js +47 -84
  61. package/esm/backend/FetchRequestBackend.d.ts +5 -5
  62. package/esm/backend/FetchRequestBackend.js +49 -63
  63. package/esm/backend/MockRequestBackend.d.ts +4 -4
  64. package/esm/backend/MockRequestBackend.js +105 -136
  65. package/esm/backend/RequestBackend.d.ts +2 -2
  66. package/esm/cache/ClientCaching.d.ts +1 -1
  67. package/esm/cache/ClientCaching.js +8 -17
  68. package/esm/cache/LocalForageClientCacheBackend.d.ts +1 -1
  69. package/esm/cache/LocalForageClientCacheBackend.js +8 -25
  70. package/esm/cache/LocalStorageClientCacheBackend.d.ts +1 -1
  71. package/esm/cache/LocalStorageClientCacheBackend.js +9 -26
  72. package/esm/index.d.ts +16 -16
  73. package/esm/index.js +15 -15
  74. package/esm/middleware/ClientCacheMiddleware.d.ts +1 -1
  75. package/esm/middleware/ClientCacheMiddleware.js +8 -17
  76. package/esm/middleware/LoggingMiddleware.d.ts +1 -1
  77. package/esm/middleware/LoggingMiddleware.js +5 -6
  78. package/esm/util/retry/index.js +1 -1
  79. package/esm/util/retry/lib/retry.d.ts +1 -1
  80. package/esm/util/retry/lib/retry.js +13 -7
  81. package/esm/util/retry/lib/retryOperation.d.ts +1 -26
  82. package/esm/util/retry/lib/retryOperation.js +1 -1
  83. package/package.json +66 -28
@@ -1,16 +1,7 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { inferResponseType } from "../ApiUtils";
11
- import { RequestErrorCode, convertToRequestError } from "../RequestError";
12
- import * as Utils from "../Utils";
13
- import { getGlobal, getGlobalFetch } from "../Utils";
1
+ import { inferResponseType } from "../ApiUtils.js";
2
+ import { convertToRequestError, RequestErrorCode } from "../RequestError.js";
3
+ import * as Utils from "../Utils.js";
4
+ import { getGlobal, getGlobalFetch } from "../Utils.js";
14
5
  class FetchError extends Error {
15
6
  }
16
7
  export default class FetchRequestBackend {
@@ -25,59 +16,54 @@ export default class FetchRequestBackend {
25
16
  }
26
17
  }
27
18
  }
28
- extractResponseFromError(error) {
29
- return __awaiter(this, void 0, void 0, function* () {
30
- if ("response" in error) {
31
- const fetchError = error;
32
- return fetchError.response ? fetchError.response : null;
33
- }
34
- return undefined;
35
- });
19
+ async extractResponseFromError(error) {
20
+ if ("response" in error) {
21
+ const fetchError = error;
22
+ return fetchError.response ? fetchError.response : null;
23
+ }
24
+ return undefined;
36
25
  }
37
- convertResponse(context, response) {
38
- return __awaiter(this, void 0, void 0, function* () {
39
- var _a;
40
- const { status, headers } = response;
41
- const convertedResponse = {
42
- method: context.method,
43
- url: response.url,
44
- data: undefined,
45
- status: status,
46
- headers: headers,
47
- state: context.requestConfig.state,
48
- stats: context.stats,
49
- };
50
- const responseType = (_a = context.responseType) !== null && _a !== void 0 ? _a : inferResponseType(response.headers.get("Content-Type"));
51
- let text;
52
- let data;
53
- try {
54
- if (responseType === "arraybuffer") {
55
- data = yield response.arrayBuffer();
56
- }
57
- else if (responseType === "json") {
58
- text = yield response.text();
59
- data = JSON.parse(text);
60
- }
61
- else if (responseType === "stream") {
62
- data = response.body;
63
- }
64
- else {
65
- data = yield response.text();
66
- }
26
+ async convertResponse(context, response) {
27
+ const { status, headers } = response;
28
+ const convertedResponse = {
29
+ method: context.method,
30
+ url: response.url,
31
+ data: undefined,
32
+ status: status,
33
+ headers: headers,
34
+ state: context.requestConfig.state,
35
+ stats: context.stats,
36
+ };
37
+ const responseType = context.responseType ?? inferResponseType(response.headers.get("Content-Type"));
38
+ let text;
39
+ let data;
40
+ try {
41
+ if (responseType === "arraybuffer") {
42
+ data = await response.arrayBuffer();
67
43
  }
68
- catch (error) {
69
- throw convertToRequestError({
70
- error: Object.assign(new Error(`[api-def] Failed to parse response as '${responseType}'${text ? `, got: ${text}` : ""}`), {
71
- cause: error,
72
- }),
73
- code: RequestErrorCode.REQUEST_MISMATCH_RESPONSE_TYPE,
74
- context: context,
75
- response: convertedResponse,
76
- });
44
+ else if (responseType === "json") {
45
+ text = await response.text();
46
+ data = JSON.parse(text);
77
47
  }
78
- convertedResponse.data = data;
79
- return convertedResponse;
80
- });
48
+ else if (responseType === "stream") {
49
+ data = response.body;
50
+ }
51
+ else {
52
+ data = await response.text();
53
+ }
54
+ }
55
+ catch (error) {
56
+ throw convertToRequestError({
57
+ error: Object.assign(new Error(`[api-def] Failed to parse response as '${responseType}'${text ? `, got: ${text}` : ""}`), {
58
+ cause: error,
59
+ }),
60
+ code: RequestErrorCode.REQUEST_MISMATCH_RESPONSE_TYPE,
61
+ context: context,
62
+ response: convertedResponse,
63
+ });
64
+ }
65
+ convertedResponse.data = data;
66
+ return convertedResponse;
81
67
  }
82
68
  makeRequest(context) {
83
69
  if (!this.fetch) {
@@ -1,7 +1,7 @@
1
- import type { ApiResponse } from "../ApiTypes";
2
- import type RequestContext from "../RequestContext";
3
- import type { RequestBackendErrorInfo, RequestOperation } from "./RequestBackend";
4
- import type RequestBackend from "./RequestBackend";
1
+ import type { ApiResponse } from "../ApiTypes.js";
2
+ import type RequestContext from "../RequestContext.js";
3
+ import type RequestBackend from "./RequestBackend.js";
4
+ import type { RequestBackendErrorInfo, RequestOperation } from "./RequestBackend.js";
5
5
  export default class MockRequestBackend implements RequestBackend<ApiResponse> {
6
6
  readonly id = "mock";
7
7
  convertResponse<T>(context: RequestContext, response: ApiResponse, error?: boolean): Promise<ApiResponse<T>>;
@@ -1,151 +1,120 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
11
- var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
12
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
13
- var g = generator.apply(thisArg, _arguments || []), i, q = [];
14
- return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
15
- function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
16
- function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
17
- function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
18
- function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
19
- function fulfill(value) { resume("next", value); }
20
- function reject(value) { resume("throw", value); }
21
- function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
22
- };
23
- import { inferResponseType } from "../ApiUtils";
24
- import { RequestErrorCode, convertToRequestError } from "../RequestError";
25
- import * as Utils from "../Utils";
26
- import { delayThenReturn, randInt } from "../Utils";
1
+ import { inferResponseType } from "../ApiUtils.js";
2
+ import { convertToRequestError, RequestErrorCode } from "../RequestError.js";
3
+ import * as Utils from "../Utils.js";
4
+ import { delayThenReturn, randInt } from "../Utils.js";
27
5
  export default class MockRequestBackend {
28
6
  constructor() {
29
7
  this.id = "mock";
30
8
  }
31
- convertResponse(context, response, error) {
32
- return __awaiter(this, void 0, void 0, function* () {
33
- return response;
34
- });
9
+ async convertResponse(context, response, error) {
10
+ return response;
35
11
  }
36
- extractResponseFromError(error) {
37
- return __awaiter(this, void 0, void 0, function* () {
38
- if ("response" in error) {
39
- const fetchError = error;
40
- return fetchError.response ? fetchError.response : null;
41
- }
42
- return undefined;
43
- });
12
+ async extractResponseFromError(error) {
13
+ if ("response" in error) {
14
+ const fetchError = error;
15
+ return fetchError.response ? fetchError.response : null;
16
+ }
17
+ return undefined;
44
18
  }
45
- runRequest(context) {
46
- return __awaiter(this, void 0, void 0, function* () {
47
- var _a, _b, _c, _d, _e, _f;
48
- const mockingFunc = (_a = context.mocking) === null || _a === void 0 ? void 0 : _a.handler;
49
- if (!mockingFunc) {
50
- throw convertToRequestError({
51
- error: new Error("[api-def] Attempted to run mocked request without mocking function"),
52
- code: RequestErrorCode.REQUEST_INVALID_CONFIG,
53
- context,
54
- });
55
- }
56
- const req = {
57
- body: context.getParsedBody(),
58
- params: (_b = context.requestConfig.params) !== null && _b !== void 0 ? _b : {},
59
- query: context.requestConfig.queryObject,
60
- headers: (_c = context.requestConfig.headers) !== null && _c !== void 0 ? _c : {},
61
- url: context.requestUrl.toString(),
62
- state: context.requestConfig.state,
63
- };
64
- const res = {
65
- statusCode: -1,
66
- headers: {},
67
- response: undefined,
68
- status(statusCode) {
69
- res.statusCode = statusCode;
70
- return res;
71
- },
72
- send(response) {
73
- res.response = response;
74
- if (response && typeof response === "object") {
75
- res.headers["Content-Type"] = "application/json";
76
- }
77
- return res;
78
- },
79
- };
80
- if ((_d = context.mocking) === null || _d === void 0 ? void 0 : _d.delay) {
81
- const delay = context.mocking.delay;
82
- let delayMs;
83
- if (typeof delay === "number") {
84
- delayMs = delay;
85
- }
86
- else {
87
- const [min, max] = delay;
88
- if (min > max) {
89
- throw convertToRequestError({
90
- error: new Error("[api-def] Min delay cannot be greater than max delay"),
91
- code: RequestErrorCode.REQUEST_INVALID_CONFIG,
92
- context,
93
- });
94
- }
95
- delayMs = randInt(min, max);
19
+ async runRequest(context) {
20
+ const mockingFunc = context.mocking?.handler;
21
+ if (!mockingFunc) {
22
+ throw convertToRequestError({
23
+ error: new Error("[api-def] Attempted to run mocked request without mocking function"),
24
+ code: RequestErrorCode.REQUEST_INVALID_CONFIG,
25
+ context,
26
+ });
27
+ }
28
+ const req = {
29
+ body: context.getParsedBody(),
30
+ params: context.requestConfig.params ?? {},
31
+ query: context.requestConfig.queryObject,
32
+ headers: context.requestConfig.headers ?? {},
33
+ url: context.requestUrl.toString(),
34
+ state: context.requestConfig.state,
35
+ };
36
+ const res = {
37
+ statusCode: -1,
38
+ headers: {},
39
+ response: undefined,
40
+ status(statusCode) {
41
+ res.statusCode = statusCode;
42
+ return res;
43
+ },
44
+ send(response) {
45
+ res.response = response;
46
+ if (response && typeof response === "object") {
47
+ res.headers["Content-Type"] = "application/json";
96
48
  }
97
- yield delayThenReturn(yield mockingFunc(req, res), delayMs);
49
+ return res;
50
+ },
51
+ };
52
+ if (context.mocking?.delay) {
53
+ const delay = context.mocking.delay;
54
+ let delayMs;
55
+ if (typeof delay === "number") {
56
+ delayMs = delay;
98
57
  }
99
58
  else {
100
- yield mockingFunc(req, res);
101
- }
102
- if (res.response === undefined) {
103
- throw convertToRequestError({
104
- error: new Error("[api-def] Mocked API did not respond"),
105
- code: RequestErrorCode.REQUEST_INVALID_CONFIG,
106
- context,
107
- });
59
+ const [min, max] = delay;
60
+ if (min > max) {
61
+ throw convertToRequestError({
62
+ error: new Error("[api-def] Min delay cannot be greater than max delay"),
63
+ code: RequestErrorCode.REQUEST_INVALID_CONFIG,
64
+ context,
65
+ });
66
+ }
67
+ delayMs = randInt(min, max);
108
68
  }
109
- const parsedHeaders = Object.keys(res.headers).reduce((parsedHeaders, key) => {
110
- parsedHeaders.set(key, res.headers[key].toString());
111
- return parsedHeaders;
112
- }, new Headers());
113
- const responseType = (_e = context.responseType) !== null && _e !== void 0 ? _e : inferResponseType((_f = res.headers["content-type"]) === null || _f === void 0 ? void 0 : _f.toString());
114
- let data;
115
- if (responseType === "stream") {
116
- // For streaming responses, we create a mock async iterator
117
- data = {
118
- [Symbol.asyncIterator]() {
119
- return __asyncGenerator(this, arguments, function* _a() {
120
- if (res.response) {
121
- // If the response is an array, yield each item
122
- if (Array.isArray(res.response)) {
123
- for (const item of res.response) {
124
- yield yield __await(new TextEncoder().encode(`${JSON.stringify(item)}\n`));
125
- }
126
- }
127
- else {
128
- // Otherwise yield the entire response
129
- yield yield __await(new TextEncoder().encode(`${JSON.stringify(res.response)}\n`));
130
- }
69
+ await delayThenReturn(await mockingFunc(req, res), delayMs);
70
+ }
71
+ else {
72
+ await mockingFunc(req, res);
73
+ }
74
+ if (res.response === undefined) {
75
+ throw convertToRequestError({
76
+ error: new Error("[api-def] Mocked API did not respond"),
77
+ code: RequestErrorCode.REQUEST_INVALID_CONFIG,
78
+ context,
79
+ });
80
+ }
81
+ const parsedHeaders = Object.keys(res.headers).reduce((parsedHeaders, key) => {
82
+ parsedHeaders.set(key, res.headers[key].toString());
83
+ return parsedHeaders;
84
+ }, new Headers());
85
+ const responseType = context.responseType ?? inferResponseType(res.headers["content-type"]?.toString());
86
+ let data;
87
+ if (responseType === "stream") {
88
+ // For streaming responses, we create a mock async iterator
89
+ data = {
90
+ async *[Symbol.asyncIterator]() {
91
+ if (res.response) {
92
+ // If the response is an array, yield each item
93
+ if (Array.isArray(res.response)) {
94
+ for (const item of res.response) {
95
+ yield new TextEncoder().encode(`${JSON.stringify(item)}\n`);
131
96
  }
132
- });
133
- },
134
- };
135
- }
136
- else {
137
- data = res.response;
138
- }
139
- return {
140
- url: context.requestUrl.href,
141
- method: context.method,
142
- headers: parsedHeaders,
143
- data: data,
144
- status: res.statusCode,
145
- state: context.requestConfig.state,
146
- stats: context.stats,
97
+ }
98
+ else {
99
+ // Otherwise yield the entire response
100
+ yield new TextEncoder().encode(`${JSON.stringify(res.response)}\n`);
101
+ }
102
+ }
103
+ },
147
104
  };
148
- });
105
+ }
106
+ else {
107
+ data = res.response;
108
+ }
109
+ return {
110
+ url: context.requestUrl.href,
111
+ method: context.method,
112
+ headers: parsedHeaders,
113
+ data: data,
114
+ status: res.statusCode,
115
+ state: context.requestConfig.state,
116
+ stats: context.stats,
117
+ };
149
118
  }
150
119
  makeRequest(context) {
151
120
  return {
@@ -1,5 +1,5 @@
1
- import type { ApiResponse } from "../ApiTypes";
2
- import type RequestContext from "../RequestContext";
1
+ import type { ApiResponse } from "../ApiTypes.js";
2
+ import type RequestContext from "../RequestContext.js";
3
3
  export interface RequestOperation<R> {
4
4
  promise: Promise<R>;
5
5
  canceler: () => void;
@@ -1,4 +1,4 @@
1
- import type { ClientCacheBackend } from "./ClientCacheBackend";
1
+ import type { ClientCacheBackend } from "./ClientCacheBackend.js";
2
2
  export declare const setClientCacheBackend: (backend: ClientCacheBackend) => void;
3
3
  export declare const DEFAULT_CLIENT_CACHE_EXPIRY: number;
4
4
  export declare const clearClientCache: () => Promise<void>;
@@ -1,13 +1,4 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import LocalStorageClientCacheBackend from "./LocalStorageClientCacheBackend";
1
+ import LocalStorageClientCacheBackend from "./LocalStorageClientCacheBackend.js";
11
2
  let clientCacheBackend = new LocalStorageClientCacheBackend();
12
3
  export const setClientCacheBackend = (backend) => {
13
4
  clientCacheBackend = backend;
@@ -16,24 +7,24 @@ export const DEFAULT_CLIENT_CACHE_EXPIRY = /* 15 mins */ 60 * 1000 * 15;
16
7
  export const clearClientCache = () => {
17
8
  return clientCacheBackend.clear();
18
9
  };
19
- export const setClientCachedItem = (key, value, expiry) => __awaiter(void 0, void 0, void 0, function* () {
10
+ export const setClientCachedItem = async (key, value, expiry) => {
20
11
  const entry = {
21
12
  data: value,
22
13
  expiry: expiry === undefined || Number.isNaN(expiry) ? null : expiry,
23
14
  };
24
- yield clientCacheBackend.setItem(key, entry);
15
+ await clientCacheBackend.setItem(key, entry);
25
16
  return value;
26
- });
27
- export const getClientCachedItem = (key) => __awaiter(void 0, void 0, void 0, function* () {
28
- const entry = yield clientCacheBackend.getItem(key);
17
+ };
18
+ export const getClientCachedItem = async (key) => {
19
+ const entry = await clientCacheBackend.getItem(key);
29
20
  if (!entry) {
30
21
  return undefined;
31
22
  }
32
23
  if (typeof entry.expiry === "number") {
33
24
  if (Date.now() >= entry.expiry) {
34
- yield clientCacheBackend.removeItem(key);
25
+ await clientCacheBackend.removeItem(key);
35
26
  return undefined;
36
27
  }
37
28
  }
38
29
  return entry.data;
39
- });
30
+ };
@@ -1,4 +1,4 @@
1
- import type { ClientCacheBackend } from "./ClientCacheBackend";
1
+ import type { ClientCacheBackend } from "./ClientCacheBackend.js";
2
2
  export default class LocalForageClientCacheBackend implements ClientCacheBackend {
3
3
  private store;
4
4
  constructor(localforage: any);
@@ -1,36 +1,19 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  export default class LocalForageClientCacheBackend {
11
2
  constructor(localforage) {
12
3
  this.store = localforage.createInstance({
13
4
  name: "requestClientCache",
14
5
  });
15
6
  }
16
- getItem(key) {
17
- return __awaiter(this, void 0, void 0, function* () {
18
- return this.store.getItem(key);
19
- });
7
+ async getItem(key) {
8
+ return this.store.getItem(key);
20
9
  }
21
- setItem(key, value) {
22
- return __awaiter(this, void 0, void 0, function* () {
23
- yield this.store.setItem(key, value);
24
- });
10
+ async setItem(key, value) {
11
+ await this.store.setItem(key, value);
25
12
  }
26
- removeItem(key) {
27
- return __awaiter(this, void 0, void 0, function* () {
28
- yield this.store.removeItem(key);
29
- });
13
+ async removeItem(key) {
14
+ await this.store.removeItem(key);
30
15
  }
31
- clear() {
32
- return __awaiter(this, void 0, void 0, function* () {
33
- yield this.store.clear();
34
- });
16
+ async clear() {
17
+ await this.store.clear();
35
18
  }
36
19
  }
@@ -1,4 +1,4 @@
1
- import type { ClientCacheBackend } from "./ClientCacheBackend";
1
+ import type { ClientCacheBackend } from "./ClientCacheBackend.js";
2
2
  export default class LocalStorageClientCacheBackend implements ClientCacheBackend {
3
3
  getItem(key: string): Promise<any>;
4
4
  setItem(key: string, value: any): Promise<void>;
@@ -1,32 +1,15 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  export default class LocalStorageClientCacheBackend {
11
- getItem(key) {
12
- return __awaiter(this, void 0, void 0, function* () {
13
- const item = localStorage.getItem(key);
14
- return item ? JSON.parse(item) : null;
15
- });
2
+ async getItem(key) {
3
+ const item = localStorage.getItem(key);
4
+ return item ? JSON.parse(item) : null;
16
5
  }
17
- setItem(key, value) {
18
- return __awaiter(this, void 0, void 0, function* () {
19
- localStorage.setItem(key, JSON.stringify(value));
20
- });
6
+ async setItem(key, value) {
7
+ localStorage.setItem(key, JSON.stringify(value));
21
8
  }
22
- removeItem(key) {
23
- return __awaiter(this, void 0, void 0, function* () {
24
- localStorage.removeItem(key);
25
- });
9
+ async removeItem(key) {
10
+ localStorage.removeItem(key);
26
11
  }
27
- clear() {
28
- return __awaiter(this, void 0, void 0, function* () {
29
- localStorage.clear();
30
- });
12
+ async clear() {
13
+ localStorage.clear();
31
14
  }
32
15
  }
package/esm/index.d.ts CHANGED
@@ -1,17 +1,17 @@
1
- export * from "./Api";
2
- export * from "./ApiTypes";
3
- export * from "./UtilTypes";
4
- export * from "./ApiConstants";
5
- export { default as retry } from "./util/retry";
1
+ export * from "./Api.js";
2
+ export * from "./ApiConstants.js";
3
+ export * from "./ApiTypes.js";
4
+ export { default as AxiosRequestBackend } from "./backend/AxiosRequestBackend.js";
5
+ export { default as FetchRequestBackend } from "./backend/FetchRequestBackend.js";
6
+ export { default as RequestBackend } from "./backend/RequestBackend.js";
7
+ export { clearClientCache, setClientCacheBackend } from "./cache/ClientCaching.js";
8
+ export { default as LocalForageClientCacheBackend } from "./cache/LocalForageClientCacheBackend.js";
9
+ export { default as LocalStorageClientCacheBackend } from "./cache/LocalStorageClientCacheBackend.js";
10
+ export { default as Endpoint, type EndpointConfig } from "./Endpoint.js";
11
+ export { default as EndpointBuilder, type EndpointBuildOptions } from "./EndpointBuilder.js";
12
+ export { default as ClientCacheMiddleware } from "./middleware/ClientCacheMiddleware.js";
13
+ export { default as LoggingMiddleware } from "./middleware/LoggingMiddleware.js";
14
+ export { getErrorResponse, isRequestError, type RequestError } from "./RequestError.js";
15
+ export * from "./UtilTypes.js";
16
+ export { default as retry } from "./util/retry/index.js";
6
17
  export type { RetryOptions } from "./util/retry/interfaces";
7
- export { isRequestError, getErrorResponse, type RequestError } from "./RequestError";
8
- export { default as Endpoint, type EndpointConfig } from "./Endpoint";
9
- export { default as EndpointBuilder, type EndpointBuildOptions } from "./EndpointBuilder";
10
- export { clearClientCache, setClientCacheBackend } from "./cache/ClientCaching";
11
- export { default as LocalStorageClientCacheBackend } from "./cache/LocalStorageClientCacheBackend";
12
- export { default as LocalForageClientCacheBackend } from "./cache/LocalForageClientCacheBackend";
13
- export { default as RequestBackend } from "./backend/RequestBackend";
14
- export { default as AxiosRequestBackend } from "./backend/AxiosRequestBackend";
15
- export { default as FetchRequestBackend } from "./backend/FetchRequestBackend";
16
- export { default as ClientCacheMiddleware } from "./middleware/ClientCacheMiddleware";
17
- export { default as LoggingMiddleware } from "./middleware/LoggingMiddleware";
package/esm/index.js CHANGED
@@ -1,16 +1,16 @@
1
1
  /// <reference types="typescript" />
2
- export * from "./Api";
3
- export * from "./ApiTypes";
4
- export * from "./UtilTypes";
5
- export * from "./ApiConstants";
6
- export { default as retry } from "./util/retry";
7
- export { isRequestError, getErrorResponse } from "./RequestError";
8
- export { default as Endpoint } from "./Endpoint";
9
- export { default as EndpointBuilder } from "./EndpointBuilder";
10
- export { clearClientCache, setClientCacheBackend } from "./cache/ClientCaching";
11
- export { default as LocalStorageClientCacheBackend } from "./cache/LocalStorageClientCacheBackend";
12
- export { default as LocalForageClientCacheBackend } from "./cache/LocalForageClientCacheBackend";
13
- export { default as AxiosRequestBackend } from "./backend/AxiosRequestBackend";
14
- export { default as FetchRequestBackend } from "./backend/FetchRequestBackend";
15
- export { default as ClientCacheMiddleware } from "./middleware/ClientCacheMiddleware";
16
- export { default as LoggingMiddleware } from "./middleware/LoggingMiddleware";
2
+ export * from "./Api.js";
3
+ export * from "./ApiConstants.js";
4
+ export * from "./ApiTypes.js";
5
+ export { default as AxiosRequestBackend } from "./backend/AxiosRequestBackend.js";
6
+ export { default as FetchRequestBackend } from "./backend/FetchRequestBackend.js";
7
+ export { clearClientCache, setClientCacheBackend } from "./cache/ClientCaching.js";
8
+ export { default as LocalForageClientCacheBackend } from "./cache/LocalForageClientCacheBackend.js";
9
+ export { default as LocalStorageClientCacheBackend } from "./cache/LocalStorageClientCacheBackend.js";
10
+ export { default as Endpoint } from "./Endpoint.js";
11
+ export { default as EndpointBuilder } from "./EndpointBuilder.js";
12
+ export { default as ClientCacheMiddleware } from "./middleware/ClientCacheMiddleware.js";
13
+ export { default as LoggingMiddleware } from "./middleware/LoggingMiddleware.js";
14
+ export { getErrorResponse, isRequestError } from "./RequestError.js";
15
+ export * from "./UtilTypes.js";
16
+ export { default as retry } from "./util/retry/index.js";