@jacraig/request 1.0.8 → 1.1.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.
- package/lib/Request.cjs.js +228 -54
- package/lib/Request.cjs.js.map +1 -1
- package/lib/Request.esm.js +228 -55
- package/lib/Request.esm.js.map +1 -1
- package/lib/Request.umd.js +228 -54
- package/lib/Request.umd.js.map +1 -1
- package/lib/Request.umd.min.js +1 -1
- package/lib/Request.umd.min.js.map +1 -1
- package/lib/declarations/AsyncFunction.d.ts +2 -0
- package/lib/declarations/AsyncFunction.d.ts.map +1 -0
- package/lib/declarations/Cache.d.ts +9 -30
- package/lib/declarations/Cache.d.ts.map +1 -1
- package/lib/declarations/CacheEntryOptions.d.ts +6 -0
- package/lib/declarations/CacheEntryOptions.d.ts.map +1 -0
- package/lib/declarations/CacheProvider.d.ts +15 -0
- package/lib/declarations/CacheProvider.d.ts.map +1 -0
- package/lib/declarations/{Database.d.ts → DatabaseConnection.d.ts} +2 -1
- package/lib/declarations/DatabaseConnection.d.ts.map +1 -0
- package/lib/declarations/InMemoryStorageProvider.d.ts +14 -0
- package/lib/declarations/InMemoryStorageProvider.d.ts.map +1 -0
- package/lib/declarations/IndexedDbStorageProvider.d.ts +15 -0
- package/lib/declarations/IndexedDbStorageProvider.d.ts.map +1 -0
- package/lib/declarations/Request.d.ts +12 -2
- package/lib/declarations/Request.d.ts.map +1 -1
- package/lib/declarations/StorageEntry.d.ts +7 -0
- package/lib/declarations/StorageEntry.d.ts.map +1 -0
- package/lib/declarations/StorageProvider.d.ts +11 -0
- package/lib/declarations/StorageProvider.d.ts.map +1 -0
- package/package.json +8 -2
- package/lib/declarations/Database.d.ts.map +0 -1
package/lib/Request.esm.js
CHANGED
|
@@ -1,5 +1,57 @@
|
|
|
1
1
|
import { Logger } from '@jacraig/woodchuck';
|
|
2
2
|
|
|
3
|
+
class Cache {
|
|
4
|
+
constructor(provider) {
|
|
5
|
+
this.storageProvider = provider;
|
|
6
|
+
}
|
|
7
|
+
async set(key, value, entryOptions = { expirationTime: 0, slidingExpirationTime: 0, sliding: false }) {
|
|
8
|
+
Logger.debug("Setting object in cache: ", { "key": key, "value": value, "entryOptions": entryOptions });
|
|
9
|
+
await this.storageProvider.add(value, key, entryOptions);
|
|
10
|
+
}
|
|
11
|
+
async get(key) {
|
|
12
|
+
Logger.debug("Getting object from cache: " + key);
|
|
13
|
+
await this.storageProvider.compact();
|
|
14
|
+
let returnValue = await this.storageProvider.get(key);
|
|
15
|
+
if (returnValue == null) {
|
|
16
|
+
return returnValue;
|
|
17
|
+
}
|
|
18
|
+
let entryOptions = await this.storageProvider.getOptions(key);
|
|
19
|
+
if (entryOptions.sliding) {
|
|
20
|
+
await this.set(key, returnValue, {
|
|
21
|
+
expirationTime: new Date().getTime() + entryOptions.slidingExpirationTime,
|
|
22
|
+
slidingExpirationTime: entryOptions.slidingExpirationTime,
|
|
23
|
+
sliding: true
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
return returnValue;
|
|
27
|
+
}
|
|
28
|
+
async getOrCreate(key, fallBack, options = { expirationTime: 0, slidingExpirationTime: 0, sliding: false }) {
|
|
29
|
+
Logger.debug("Getting object from cache or creating it: ", { "key": key });
|
|
30
|
+
await this.storageProvider.compact();
|
|
31
|
+
let returnValue = await this.storageProvider.getOrCreate(key, fallBack, options);
|
|
32
|
+
if (returnValue == null) {
|
|
33
|
+
return returnValue;
|
|
34
|
+
}
|
|
35
|
+
let entryOptions = await this.storageProvider.getOptions(key);
|
|
36
|
+
if (entryOptions.sliding) {
|
|
37
|
+
await this.set(key, returnValue, {
|
|
38
|
+
expirationTime: new Date().getTime() + entryOptions.slidingExpirationTime,
|
|
39
|
+
slidingExpirationTime: entryOptions.slidingExpirationTime,
|
|
40
|
+
sliding: true
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
return returnValue;
|
|
44
|
+
}
|
|
45
|
+
async remove(key) {
|
|
46
|
+
Logger.debug("Removing object from cache: " + key);
|
|
47
|
+
await this.storageProvider.remove(key);
|
|
48
|
+
}
|
|
49
|
+
async clear() {
|
|
50
|
+
Logger.debug("Clearing cache");
|
|
51
|
+
await this.storageProvider.clear();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
3
55
|
class DatabaseConnection {
|
|
4
56
|
constructor(dbName, tables, version) {
|
|
5
57
|
this.dbName = dbName;
|
|
@@ -39,6 +91,10 @@ class DatabaseConnection {
|
|
|
39
91
|
});
|
|
40
92
|
}
|
|
41
93
|
add(table, obj, key) {
|
|
94
|
+
if (table == null || key == null) {
|
|
95
|
+
Logger.error('Table and key must be specified to add an object to the database');
|
|
96
|
+
return Promise.reject(new Error('Table and key must be specified to add an object to the database'));
|
|
97
|
+
}
|
|
42
98
|
return new Promise((resolve, reject) => {
|
|
43
99
|
if (!this.database) {
|
|
44
100
|
Logger.error('Database connection is not open');
|
|
@@ -57,7 +113,34 @@ class DatabaseConnection {
|
|
|
57
113
|
};
|
|
58
114
|
});
|
|
59
115
|
}
|
|
116
|
+
clear(table) {
|
|
117
|
+
if (table == null) {
|
|
118
|
+
Logger.error('Table must be specified to clear the database');
|
|
119
|
+
return Promise.reject(new Error('Table must be specified to clear the database'));
|
|
120
|
+
}
|
|
121
|
+
return new Promise((resolve, reject) => {
|
|
122
|
+
if (!this.database) {
|
|
123
|
+
Logger.error('Database connection is not open');
|
|
124
|
+
reject(new Error('Database connection is not open'));
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
const transaction = this.database.transaction(table, 'readwrite');
|
|
128
|
+
const objectStore = transaction.objectStore(table);
|
|
129
|
+
const request = objectStore.clear();
|
|
130
|
+
request.onsuccess = () => {
|
|
131
|
+
resolve();
|
|
132
|
+
};
|
|
133
|
+
request.onerror = (ev) => {
|
|
134
|
+
Logger.error('Failed to clear the database: ', ev.target.error);
|
|
135
|
+
reject(new Error('Failed to clear the database: ' + ev.target.error));
|
|
136
|
+
};
|
|
137
|
+
});
|
|
138
|
+
}
|
|
60
139
|
remove(table, key) {
|
|
140
|
+
if (table == null || key == null) {
|
|
141
|
+
Logger.error('Table and key must be specified to remove an object from the database');
|
|
142
|
+
return Promise.reject(new Error('Table and key must be specified to remove an object from the database'));
|
|
143
|
+
}
|
|
61
144
|
return new Promise((resolve, reject) => {
|
|
62
145
|
if (!this.database) {
|
|
63
146
|
Logger.error('Database connection is not open');
|
|
@@ -77,6 +160,10 @@ class DatabaseConnection {
|
|
|
77
160
|
});
|
|
78
161
|
}
|
|
79
162
|
getByKey(table, key) {
|
|
163
|
+
if (table == null || key == null) {
|
|
164
|
+
Logger.error('Table and key must be specified to get an object from the database');
|
|
165
|
+
return Promise.reject(new Error('Table and key must be specified to get an object from the database'));
|
|
166
|
+
}
|
|
80
167
|
return new Promise((resolve, reject) => {
|
|
81
168
|
if (!this.database) {
|
|
82
169
|
Logger.error('Database connection is not open');
|
|
@@ -96,6 +183,10 @@ class DatabaseConnection {
|
|
|
96
183
|
});
|
|
97
184
|
}
|
|
98
185
|
getKeys(table) {
|
|
186
|
+
if (table == null) {
|
|
187
|
+
Logger.error('Table must be specified to get keys from the database');
|
|
188
|
+
return Promise.reject(new Error('Table must be specified to get keys from the database'));
|
|
189
|
+
}
|
|
99
190
|
return new Promise((resolve, reject) => {
|
|
100
191
|
if (!this.database) {
|
|
101
192
|
Logger.error('Database connection is not open');
|
|
@@ -115,6 +206,10 @@ class DatabaseConnection {
|
|
|
115
206
|
});
|
|
116
207
|
}
|
|
117
208
|
get(table, query) {
|
|
209
|
+
if (table == null || query == null) {
|
|
210
|
+
Logger.error('Table and query must be specified to get an object from the database');
|
|
211
|
+
return Promise.reject(new Error('Table and query must be specified to get an object from the database'));
|
|
212
|
+
}
|
|
118
213
|
return new Promise((resolve, reject) => {
|
|
119
214
|
if (!this.database) {
|
|
120
215
|
Logger.error('Database connection is not open');
|
|
@@ -134,6 +229,10 @@ class DatabaseConnection {
|
|
|
134
229
|
});
|
|
135
230
|
}
|
|
136
231
|
getAll(table, query) {
|
|
232
|
+
if (table == null) {
|
|
233
|
+
Logger.error('Table must be specified to get objects from the database');
|
|
234
|
+
return Promise.reject(new Error('Table must be specified to get objects from the database'));
|
|
235
|
+
}
|
|
137
236
|
return new Promise((resolve, reject) => {
|
|
138
237
|
if (!this.database) {
|
|
139
238
|
Logger.error('Database connection is not open');
|
|
@@ -156,16 +255,14 @@ class DatabaseConnection {
|
|
|
156
255
|
|
|
157
256
|
class IndexedDbStorageProvider {
|
|
158
257
|
constructor() {
|
|
258
|
+
this.storage = new Map();
|
|
159
259
|
this.database = new DatabaseConnection("cacheStore", ["cache", "cacheEntryOptions"], 1);
|
|
160
260
|
}
|
|
161
261
|
async clear() {
|
|
262
|
+
this.storage.clear();
|
|
162
263
|
await this.database.openDatabase();
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
for (let i = 0; i < cacheEntryOptions.length; i++) {
|
|
166
|
-
let cacheEntry = cacheEntries[i];
|
|
167
|
-
await this.remove(cacheEntry.key);
|
|
168
|
-
}
|
|
264
|
+
this.database.clear("cache");
|
|
265
|
+
this.database.clear("cacheEntryOptions");
|
|
169
266
|
return this;
|
|
170
267
|
}
|
|
171
268
|
async getOptions(key) {
|
|
@@ -173,12 +270,14 @@ class IndexedDbStorageProvider {
|
|
|
173
270
|
return this.database.getByKey("cacheEntryOptions", key);
|
|
174
271
|
}
|
|
175
272
|
async add(obj, key, options) {
|
|
273
|
+
this.storage.has(key) ? this.storage.get(key).value = obj : this.storage.set(key, { promise: Promise.resolve(obj), value: obj, options: options });
|
|
176
274
|
await this.database.openDatabase();
|
|
177
275
|
await this.database.add("cache", obj, key);
|
|
178
276
|
await this.database.add("cacheEntryOptions", options, key);
|
|
179
277
|
return this;
|
|
180
278
|
}
|
|
181
279
|
async remove(key) {
|
|
280
|
+
this.storage.delete(key);
|
|
182
281
|
await this.database.openDatabase();
|
|
183
282
|
await this.database.remove("cache", key);
|
|
184
283
|
await this.database.remove("cacheEntryOptions", key);
|
|
@@ -188,62 +287,119 @@ class IndexedDbStorageProvider {
|
|
|
188
287
|
await this.database.openDatabase();
|
|
189
288
|
return this.database.getByKey("cache", key);
|
|
190
289
|
}
|
|
290
|
+
async getOrCreate(key, fallBack, options) {
|
|
291
|
+
let value = await this.get(key);
|
|
292
|
+
if (value != null) {
|
|
293
|
+
return value;
|
|
294
|
+
}
|
|
295
|
+
if (this.storage.has(key)) {
|
|
296
|
+
let entry = this.storage.get(key);
|
|
297
|
+
if (entry?.value !== undefined) {
|
|
298
|
+
return entry.value;
|
|
299
|
+
}
|
|
300
|
+
return entry?.promise;
|
|
301
|
+
}
|
|
302
|
+
const promise = (async () => {
|
|
303
|
+
const value = await fallBack();
|
|
304
|
+
await this.add(value, key, options);
|
|
305
|
+
return value;
|
|
306
|
+
})();
|
|
307
|
+
this.storage.set(key, { promise: promise, value: undefined, options: options });
|
|
308
|
+
return promise;
|
|
309
|
+
}
|
|
191
310
|
async compact() {
|
|
192
311
|
await this.database.openDatabase();
|
|
193
|
-
let
|
|
194
|
-
let cacheEntries = await this.database.getAll("cache");
|
|
312
|
+
let cacheKeys = await this.database.getKeys("cache");
|
|
195
313
|
let now = new Date().getTime();
|
|
196
|
-
for (let i = 0; i <
|
|
197
|
-
let
|
|
198
|
-
let
|
|
199
|
-
if (cacheEntryOption.expirationTime == 0) {
|
|
314
|
+
for (let i = 0; i < cacheKeys.length; i++) {
|
|
315
|
+
let key = cacheKeys[i];
|
|
316
|
+
let cacheEntryOption = await this.database.getByKey("cacheEntryOptions", key);
|
|
317
|
+
if (cacheEntryOption.expirationTime == 0 || cacheEntryOption.expirationTime >= now) {
|
|
200
318
|
continue;
|
|
201
319
|
}
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
320
|
+
this.storage.delete(key);
|
|
321
|
+
await this.database.remove("cache", key);
|
|
322
|
+
await this.database.remove("cacheEntryOptions", key);
|
|
205
323
|
}
|
|
206
324
|
return this;
|
|
207
325
|
}
|
|
208
326
|
}
|
|
209
|
-
|
|
327
|
+
|
|
328
|
+
class CacheProvider {
|
|
210
329
|
constructor() { }
|
|
211
|
-
static configure(storageProvider = new IndexedDbStorageProvider()) {
|
|
212
|
-
|
|
213
|
-
globalThis.
|
|
330
|
+
static configure(name = "Default", storageProvider = new IndexedDbStorageProvider()) {
|
|
331
|
+
Logger.debug("Configuring cache with storage provider: ", { "name": name, "storageProvider": storageProvider });
|
|
332
|
+
this.storageProviders ??= globalThis.StorageProviders ?? {};
|
|
333
|
+
if (this.storageProviders[name] != null) {
|
|
334
|
+
Logger.debug("Cache already configured with storage provider: ", { "name": name });
|
|
335
|
+
return this.storageProviders;
|
|
336
|
+
}
|
|
337
|
+
this.storageProviders[name] = new Cache(storageProvider ?? new IndexedDbStorageProvider());
|
|
338
|
+
globalThis.StorageProviders = this.storageProviders;
|
|
339
|
+
return this.storageProviders;
|
|
340
|
+
}
|
|
341
|
+
static getProvider(name = "Default") {
|
|
342
|
+
let Providers = this.configure(name);
|
|
343
|
+
if (Providers == undefined) {
|
|
344
|
+
return new Cache(new IndexedDbStorageProvider());
|
|
345
|
+
}
|
|
346
|
+
return Providers[name] ?? new Cache(new IndexedDbStorageProvider());
|
|
214
347
|
}
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
class InMemoryStorageProvider {
|
|
351
|
+
constructor() {
|
|
352
|
+
this.storage = new Map();
|
|
219
353
|
}
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
354
|
+
add(obj, key, options) {
|
|
355
|
+
this.storage.set(key, { promise: Promise.resolve(obj), value: obj, options: options });
|
|
356
|
+
return Promise.resolve(this);
|
|
357
|
+
}
|
|
358
|
+
remove(key) {
|
|
359
|
+
this.storage.delete(key);
|
|
360
|
+
return Promise.resolve(this);
|
|
361
|
+
}
|
|
362
|
+
get(key) {
|
|
363
|
+
if (!this.storage.has(key)) {
|
|
364
|
+
return Promise.resolve(undefined);
|
|
227
365
|
}
|
|
228
|
-
|
|
229
|
-
if (
|
|
230
|
-
|
|
231
|
-
expirationTime: new Date().getTime() + entryOptions.slidingExpirationTime,
|
|
232
|
-
slidingExpirationTime: entryOptions.slidingExpirationTime,
|
|
233
|
-
sliding: true
|
|
234
|
-
});
|
|
366
|
+
const entry = this.storage.get(key);
|
|
367
|
+
if (entry == undefined) {
|
|
368
|
+
return Promise.resolve(undefined);
|
|
235
369
|
}
|
|
236
|
-
|
|
370
|
+
if (entry.value != undefined) {
|
|
371
|
+
return Promise.resolve(entry.value);
|
|
372
|
+
}
|
|
373
|
+
return entry.promise;
|
|
237
374
|
}
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
375
|
+
async getOrCreate(key, fallBack, options) {
|
|
376
|
+
if (this.storage.has(key)) {
|
|
377
|
+
return this.get(key);
|
|
378
|
+
}
|
|
379
|
+
const promise = (async () => {
|
|
380
|
+
const value = await fallBack();
|
|
381
|
+
this.storage.get(key).value = value;
|
|
382
|
+
return value;
|
|
383
|
+
})();
|
|
384
|
+
this.storage.set(key, { promise: promise, value: undefined, options: options });
|
|
385
|
+
return promise;
|
|
386
|
+
}
|
|
387
|
+
getOptions(key) {
|
|
388
|
+
return Promise.resolve(this.storage.get(key).options);
|
|
389
|
+
}
|
|
390
|
+
compact() {
|
|
391
|
+
const now = new Date().getTime();
|
|
392
|
+
for (const [key, entry] of this.storage) {
|
|
393
|
+
if (entry.options.expirationTime == 0 || entry.options.expirationTime >= now) {
|
|
394
|
+
continue;
|
|
395
|
+
}
|
|
396
|
+
this.remove(key);
|
|
397
|
+
}
|
|
398
|
+
return Promise.resolve(this);
|
|
242
399
|
}
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
await this.storageProvider.clear();
|
|
400
|
+
clear() {
|
|
401
|
+
this.storage.clear();
|
|
402
|
+
return Promise.resolve(this);
|
|
247
403
|
}
|
|
248
404
|
}
|
|
249
405
|
|
|
@@ -252,6 +408,11 @@ class CancellationToken {
|
|
|
252
408
|
this.canceled = false;
|
|
253
409
|
}
|
|
254
410
|
}
|
|
411
|
+
var CacheNames;
|
|
412
|
+
(function (CacheNames) {
|
|
413
|
+
CacheNames["Default"] = "Default";
|
|
414
|
+
CacheNames["InMemory"] = "InMemory";
|
|
415
|
+
})(CacheNames || (CacheNames = {}));
|
|
255
416
|
class Request {
|
|
256
417
|
constructor(options) {
|
|
257
418
|
this.options = {
|
|
@@ -265,12 +426,15 @@ class Request {
|
|
|
265
426
|
error: (reason) => { Logger.error("Request error from " + this.options.url + ":", reason); },
|
|
266
427
|
retry: (attempt) => { Logger.debug("Request retry on " + this.options.url + ":", { "attempt": attempt }); },
|
|
267
428
|
storageMode: StorageMode.NetworkFirst,
|
|
429
|
+
cache: CacheNames.Default,
|
|
268
430
|
cacheKey: "",
|
|
269
431
|
timeout: 60000,
|
|
270
432
|
retryAttempts: 3,
|
|
271
433
|
retryDelay: 1000
|
|
272
434
|
};
|
|
273
435
|
this.abortController = null;
|
|
436
|
+
CacheProvider.configure(CacheNames.Default, new IndexedDbStorageProvider());
|
|
437
|
+
CacheProvider.configure(CacheNames.InMemory, new InMemoryStorageProvider());
|
|
274
438
|
this.options = { ...this.options, ...options };
|
|
275
439
|
}
|
|
276
440
|
static get(url, data) {
|
|
@@ -345,6 +509,11 @@ class Request {
|
|
|
345
509
|
this.options.storageMode = storageMode;
|
|
346
510
|
return this;
|
|
347
511
|
}
|
|
512
|
+
withCache(cacheName, cache = new IndexedDbStorageProvider()) {
|
|
513
|
+
CacheProvider.configure(cacheName, cache);
|
|
514
|
+
this.options.cache = cacheName;
|
|
515
|
+
return this;
|
|
516
|
+
}
|
|
348
517
|
withCacheKey(cacheKey) {
|
|
349
518
|
this.options.cacheKey = cacheKey;
|
|
350
519
|
return this;
|
|
@@ -370,9 +539,10 @@ class Request {
|
|
|
370
539
|
return this;
|
|
371
540
|
}
|
|
372
541
|
async send() {
|
|
373
|
-
const { authenticationProvider, method, url, data, headers, credentials, serializer, parser, success, error, storageMode, cacheKey, timeout, retryAttempts, retryDelay, retry, cancellationToken } = this.options;
|
|
542
|
+
const { authenticationProvider, method, url, data, headers, credentials, serializer, parser, success, error, storageMode, cache, cacheKey, timeout, retryAttempts, retryDelay, retry, cancellationToken } = this.options;
|
|
374
543
|
const abortController = new AbortController();
|
|
375
544
|
this.abortController = abortController;
|
|
545
|
+
let cacheUsing = CacheProvider.getProvider(cache);
|
|
376
546
|
let attempts = 0;
|
|
377
547
|
let lastError = null;
|
|
378
548
|
let successMethod = success || ((response) => { Logger.debug("Request response from " + url + ":", response); });
|
|
@@ -381,18 +551,15 @@ class Request {
|
|
|
381
551
|
let parserMethod = parser || ((response) => response.json());
|
|
382
552
|
let retryMethod = retry || ((attempt) => { Logger.debug("Request retry on " + url + ":", { "attempt": attempt }); });
|
|
383
553
|
const sendRequest = async () => {
|
|
384
|
-
if (storageMode === StorageMode.
|
|
385
|
-
const cachedValue = await
|
|
554
|
+
if (storageMode === StorageMode.StorageAndUpdate) {
|
|
555
|
+
const cachedValue = await cacheUsing.get(cacheKey || "");
|
|
386
556
|
if (cachedValue !== undefined) {
|
|
387
557
|
successMethod(cachedValue);
|
|
388
|
-
if (storageMode === StorageMode.StorageFirst) {
|
|
389
|
-
return cachedValue;
|
|
390
|
-
}
|
|
391
558
|
}
|
|
392
559
|
}
|
|
393
560
|
if (!navigator.onLine) {
|
|
394
561
|
if (storageMode === StorageMode.NetworkFirst) {
|
|
395
|
-
const cachedValue = await
|
|
562
|
+
const cachedValue = await cacheUsing.get(cacheKey || "");
|
|
396
563
|
if (cachedValue !== undefined) {
|
|
397
564
|
successMethod(cachedValue);
|
|
398
565
|
return cachedValue;
|
|
@@ -422,7 +589,7 @@ class Request {
|
|
|
422
589
|
const parsedResponse = await parserMethod(response);
|
|
423
590
|
successMethod(parsedResponse);
|
|
424
591
|
if (storageMode !== StorageMode.NetworkOnly) {
|
|
425
|
-
await
|
|
592
|
+
await cacheUsing.set(cacheKey || "", parsedResponse);
|
|
426
593
|
}
|
|
427
594
|
return parsedResponse;
|
|
428
595
|
}
|
|
@@ -436,6 +603,9 @@ class Request {
|
|
|
436
603
|
}
|
|
437
604
|
if (attempts < (retryAttempts || 0)) {
|
|
438
605
|
++attempts;
|
|
606
|
+
if (storageMode !== StorageMode.NetworkOnly) {
|
|
607
|
+
cacheUsing.remove(cacheKey || "");
|
|
608
|
+
}
|
|
439
609
|
await new Promise(resolve => setTimeout(resolve, retryDelay));
|
|
440
610
|
retryMethod(attempts);
|
|
441
611
|
return sendRequest();
|
|
@@ -443,6 +613,9 @@ class Request {
|
|
|
443
613
|
errorMethod(lastError);
|
|
444
614
|
return Promise.reject(lastError);
|
|
445
615
|
};
|
|
616
|
+
if (storageMode === StorageMode.StorageFirst) {
|
|
617
|
+
return cacheUsing.getOrCreate(cacheKey || "", sendRequest);
|
|
618
|
+
}
|
|
446
619
|
return sendRequest();
|
|
447
620
|
}
|
|
448
621
|
async handleTimeout(timeout) {
|
|
@@ -463,5 +636,5 @@ var StorageMode;
|
|
|
463
636
|
StorageMode[StorageMode["StorageAndUpdate"] = 3] = "StorageAndUpdate";
|
|
464
637
|
})(StorageMode || (StorageMode = {}));
|
|
465
638
|
|
|
466
|
-
export { Cache, CancellationToken, IndexedDbStorageProvider, Request, StorageMode };
|
|
639
|
+
export { Cache, CacheNames, CancellationToken, InMemoryStorageProvider, IndexedDbStorageProvider, Request, StorageMode };
|
|
467
640
|
//# sourceMappingURL=Request.esm.js.map
|
package/lib/Request.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Request.esm.js","sources":["../src/Database.ts","../src/Cache.ts","../src/Request.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Request.esm.js","sources":["../src/Cache.ts","../src/DatabaseConnection.ts","../src/IndexedDbStorageProvider.ts","../src/CacheProvider.ts","../src/InMemoryStorageProvider.ts","../src/Request.ts"],"sourcesContent":[null,null,null,null,null,null],"names":[],"mappings":"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"}
|