@auxilium/datalynk-client 1.6.2 → 1.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +18 -7
- package/dist/index.mjs +18 -7
- package/dist/service.worker.mjs +155 -40
- package/dist/utils.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -241,9 +241,21 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
241
241
|
async tx(operation, readonly = false) {
|
|
242
242
|
const db = await this.database.connection;
|
|
243
243
|
return new Promise((resolve, reject) => {
|
|
244
|
-
const
|
|
245
|
-
|
|
246
|
-
|
|
244
|
+
const transaction = db.transaction(this.name, readonly ? "readonly" : "readwrite");
|
|
245
|
+
let result;
|
|
246
|
+
transaction.oncomplete = () => resolve(result);
|
|
247
|
+
transaction.onabort = () => reject(transaction.error || new Error("IndexedDB transaction aborted"));
|
|
248
|
+
transaction.onerror = () => reject(transaction.error || new Error("IndexedDB transaction failed"));
|
|
249
|
+
try {
|
|
250
|
+
const request = operation(transaction.objectStore(this.name));
|
|
251
|
+
request.onsuccess = () => {
|
|
252
|
+
result = request.result;
|
|
253
|
+
};
|
|
254
|
+
request.onerror = () => reject(request.error || new Error("IndexedDB request failed"));
|
|
255
|
+
} catch (error) {
|
|
256
|
+
transaction.abort();
|
|
257
|
+
reject(error);
|
|
258
|
+
}
|
|
247
259
|
});
|
|
248
260
|
}
|
|
249
261
|
add(value, key) {
|
|
@@ -3410,7 +3422,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
3410
3422
|
} });
|
|
3411
3423
|
}
|
|
3412
3424
|
}
|
|
3413
|
-
const version = "1.6.
|
|
3425
|
+
const version = "1.6.3";
|
|
3414
3426
|
class WebRtc {
|
|
3415
3427
|
constructor(api) {
|
|
3416
3428
|
__publicField(this, "ice");
|
|
@@ -4946,7 +4958,6 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
4946
4958
|
});
|
|
4947
4959
|
}
|
|
4948
4960
|
request(data, options = {}) {
|
|
4949
|
-
var _a, _b;
|
|
4950
4961
|
data = typeof data == "string" ? { [data]: {} } : data;
|
|
4951
4962
|
let key = JSON.stringify(data);
|
|
4952
4963
|
if (this.offline && typeof navigator != "undefined") {
|
|
@@ -4954,8 +4965,8 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
4954
4965
|
if (options.offline) {
|
|
4955
4966
|
if (!this.ensureOfflineSessionOwner(this.token))
|
|
4956
4967
|
return Promise.reject(errorFromCode(409, "Offline queue belongs to another authenticated user"));
|
|
4957
|
-
|
|
4958
|
-
return
|
|
4968
|
+
if (!this.database) return Promise.reject(new Error("Offline queue storage is unavailable"));
|
|
4969
|
+
return this.database.table("pending").add(data, key).then(() => void 0);
|
|
4959
4970
|
}
|
|
4960
4971
|
return Promise.reject(errorFromCode(503, this.status === "unavailable" ? "Datalynk is unavailable" : "You are offline"));
|
|
4961
4972
|
}
|
package/dist/index.mjs
CHANGED
|
@@ -237,9 +237,21 @@ class Table {
|
|
|
237
237
|
async tx(operation, readonly = false) {
|
|
238
238
|
const db = await this.database.connection;
|
|
239
239
|
return new Promise((resolve, reject) => {
|
|
240
|
-
const
|
|
241
|
-
|
|
242
|
-
|
|
240
|
+
const transaction = db.transaction(this.name, readonly ? "readonly" : "readwrite");
|
|
241
|
+
let result;
|
|
242
|
+
transaction.oncomplete = () => resolve(result);
|
|
243
|
+
transaction.onabort = () => reject(transaction.error || new Error("IndexedDB transaction aborted"));
|
|
244
|
+
transaction.onerror = () => reject(transaction.error || new Error("IndexedDB transaction failed"));
|
|
245
|
+
try {
|
|
246
|
+
const request = operation(transaction.objectStore(this.name));
|
|
247
|
+
request.onsuccess = () => {
|
|
248
|
+
result = request.result;
|
|
249
|
+
};
|
|
250
|
+
request.onerror = () => reject(request.error || new Error("IndexedDB request failed"));
|
|
251
|
+
} catch (error) {
|
|
252
|
+
transaction.abort();
|
|
253
|
+
reject(error);
|
|
254
|
+
}
|
|
243
255
|
});
|
|
244
256
|
}
|
|
245
257
|
add(value, key) {
|
|
@@ -3406,7 +3418,7 @@ class Superuser {
|
|
|
3406
3418
|
} });
|
|
3407
3419
|
}
|
|
3408
3420
|
}
|
|
3409
|
-
const version = "1.6.
|
|
3421
|
+
const version = "1.6.3";
|
|
3410
3422
|
class WebRtc {
|
|
3411
3423
|
constructor(api) {
|
|
3412
3424
|
__publicField(this, "ice");
|
|
@@ -4942,7 +4954,6 @@ const _Api = class _Api {
|
|
|
4942
4954
|
});
|
|
4943
4955
|
}
|
|
4944
4956
|
request(data, options = {}) {
|
|
4945
|
-
var _a, _b;
|
|
4946
4957
|
data = typeof data == "string" ? { [data]: {} } : data;
|
|
4947
4958
|
let key = JSON.stringify(data);
|
|
4948
4959
|
if (this.offline && typeof navigator != "undefined") {
|
|
@@ -4950,8 +4961,8 @@ const _Api = class _Api {
|
|
|
4950
4961
|
if (options.offline) {
|
|
4951
4962
|
if (!this.ensureOfflineSessionOwner(this.token))
|
|
4952
4963
|
return Promise.reject(errorFromCode(409, "Offline queue belongs to another authenticated user"));
|
|
4953
|
-
|
|
4954
|
-
return
|
|
4964
|
+
if (!this.database) return Promise.reject(new Error("Offline queue storage is unavailable"));
|
|
4965
|
+
return this.database.table("pending").add(data, key).then(() => void 0);
|
|
4955
4966
|
}
|
|
4956
4967
|
return Promise.reject(errorFromCode(503, this.status === "unavailable" ? "Datalynk is unavailable" : "You are offline"));
|
|
4957
4968
|
}
|
package/dist/service.worker.mjs
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const CACHE_NAME = 'datalynk';
|
|
2
2
|
const STATE_CACHE = 'datalynk-app-state';
|
|
3
|
+
const SCOPE_PREFIX = self.location.origin + '/datalynk-app-scope?path=';
|
|
3
4
|
let ONLINE = true;
|
|
4
5
|
const netChan = 'BroadcastChannel' in self ? new BroadcastChannel('sw-net') : null;
|
|
5
6
|
let updateQueue = Promise.resolve();
|
|
@@ -11,6 +12,74 @@ function safeAsset(url) {
|
|
|
11
12
|
&& ![...url.searchParams.keys()].some(key => /token|auth|secret|key|session|password/i.test(key));
|
|
12
13
|
}
|
|
13
14
|
|
|
15
|
+
function safeResponse(response) {
|
|
16
|
+
return !!response && (response.status === 200 || response.type === 'opaque')
|
|
17
|
+
&& !response.headers.has('content-range') && !response.headers.has('set-cookie')
|
|
18
|
+
&& !/private|no-store/i.test(response.headers.get('cache-control') || '');
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function validAssetResponse(response, url) {
|
|
22
|
+
if(!safeResponse(response)) return false;
|
|
23
|
+
const asset = new URL(url);
|
|
24
|
+
if(/\.json$/i.test(asset.pathname) && !/\bpublic\b/i.test(response.headers.get('cache-control') || '')) return false;
|
|
25
|
+
if(/\.html$/i.test(asset.pathname) && (asset.origin !== self.location.origin
|
|
26
|
+
|| !/text\/html/i.test(response.headers.get('content-type') || '')
|
|
27
|
+
|| (response.url && (new URL(response.url).origin !== asset.origin
|
|
28
|
+
|| new URL(response.url).pathname !== asset.pathname)))) return false;
|
|
29
|
+
if(/\.(?:m?js|css)$/i.test(asset.pathname)
|
|
30
|
+
&& /text\/html/i.test(response.headers.get('content-type') || '')) return false;
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function appScope(pathname) {
|
|
35
|
+
if(pathname === '/' || pathname === '/index.html') return '/';
|
|
36
|
+
if(pathname.endsWith('/index.html')) return pathname.slice(0, -'index.html'.length);
|
|
37
|
+
return pathname.endsWith('/') ? pathname : pathname + '/';
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
async function navigationFallback(cache, url) {
|
|
41
|
+
if(url.origin !== self.location.origin) return null;
|
|
42
|
+
const state = await caches.open(STATE_CACHE);
|
|
43
|
+
const scopes = [];
|
|
44
|
+
for(const request of await state.keys()) {
|
|
45
|
+
if(!request.url.startsWith(SCOPE_PREFIX)) continue;
|
|
46
|
+
const scope = decodeURIComponent(request.url.slice(SCOPE_PREFIX.length));
|
|
47
|
+
if(!scope.startsWith('/') || (scope === '/'
|
|
48
|
+
? !['/', '/index.html'].includes(url.pathname)
|
|
49
|
+
: url.pathname !== scope.slice(0, -1) && !url.pathname.startsWith(scope))) continue;
|
|
50
|
+
const saved = await state.match(request);
|
|
51
|
+
if(saved) scopes.push({scope, page: await saved.text()});
|
|
52
|
+
}
|
|
53
|
+
scopes.sort((a, b) => b.scope.length - a.scope.length);
|
|
54
|
+
for(const {page} of scopes) {
|
|
55
|
+
const cached = await cache.match(page);
|
|
56
|
+
if(validAssetResponse(cached, page)) return cached;
|
|
57
|
+
}
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
async function cachedMediaRange(cache, request, destination) {
|
|
62
|
+
if(request.headers.has('if-range')) return null;
|
|
63
|
+
const match = /^bytes=(\d*)-(\d*)$/i.exec(request.headers.get('range') || '');
|
|
64
|
+
if(!match || (!match[1] && !match[2])) return null;
|
|
65
|
+
const cached = await savedAsset(cache, request, destination);
|
|
66
|
+
if(!cached || cached.status !== 200 || cached.type === 'opaque') return null;
|
|
67
|
+
const full = await cached.blob();
|
|
68
|
+
const size = full.size;
|
|
69
|
+
const start = match[1] ? Number(match[1]) : Math.max(0, size - Number(match[2]));
|
|
70
|
+
const end = match[1] ? (match[2] ? Number(match[2]) : size - 1) : size - 1;
|
|
71
|
+
if(!Number.isSafeInteger(start) || !Number.isSafeInteger(end) || start >= size || end < start)
|
|
72
|
+
return new Response(null, {status: 416, headers: {'Content-Range': `bytes */${size}`}});
|
|
73
|
+
const last = Math.min(end, size - 1);
|
|
74
|
+
const headers = new Headers();
|
|
75
|
+
const type = cached.headers.get('content-type');
|
|
76
|
+
if(type) headers.set('Content-Type', type);
|
|
77
|
+
headers.set('Accept-Ranges', 'bytes');
|
|
78
|
+
headers.set('Content-Range', `bytes ${start}-${last}/${size}`);
|
|
79
|
+
headers.set('Content-Length', String(last - start + 1));
|
|
80
|
+
return new Response(full.slice(start, last + 1), {status: 206, headers});
|
|
81
|
+
}
|
|
82
|
+
|
|
14
83
|
function assetKey(url, destination) {
|
|
15
84
|
const key = new URL(url);
|
|
16
85
|
if(destination !== 'navigate' && destination !== 'json') key.searchParams.delete('bust');
|
|
@@ -20,7 +89,12 @@ function assetKey(url, destination) {
|
|
|
20
89
|
|
|
21
90
|
async function savedAsset(cache, request, destination) {
|
|
22
91
|
const key = assetKey(request.url || request, destination);
|
|
23
|
-
|
|
92
|
+
const params = new URL(request.url || request).searchParams;
|
|
93
|
+
const versionedFile = destination === 'navigate'
|
|
94
|
+
|| (destination === 'asset' && [...params.keys()].every(name => name === 'v' || name === 'bust'));
|
|
95
|
+
const response = await cache.match(key) || (versionedFile && await cache.match(key, {ignoreSearch: true}));
|
|
96
|
+
return validAssetResponse(response, key) && (destination !== 'json' || /\bpublic\b/i.test(response.headers.get('cache-control') || ''))
|
|
97
|
+
? response : null;
|
|
24
98
|
}
|
|
25
99
|
|
|
26
100
|
async function removeOtherVersions(cache, key) {
|
|
@@ -42,6 +116,9 @@ async function activeCache() {
|
|
|
42
116
|
|
|
43
117
|
function updateAppAssets(values) {
|
|
44
118
|
updateQueue = updateQueue.catch(() => {}).then(async () => {
|
|
119
|
+
const first = (() => {
|
|
120
|
+
try { return new URL(values[0], self.location.origin); } catch { return null; }
|
|
121
|
+
})();
|
|
45
122
|
const urls = [...new Set(values.map(value => {
|
|
46
123
|
try {
|
|
47
124
|
const url = new URL(value, self.location.origin);
|
|
@@ -60,12 +137,16 @@ function updateAppAssets(values) {
|
|
|
60
137
|
if(new URL(request.url).pathname === new URL(urls[0]).pathname
|
|
61
138
|
&& new URL(request.url).origin === new URL(urls[0]).origin) continue;
|
|
62
139
|
const saved = await previous.match(request);
|
|
63
|
-
if(saved && safeAsset(new URL(request.url))) await next.put(request, saved);
|
|
140
|
+
if(saved && safeAsset(new URL(request.url)) && validAssetResponse(saved, request.url)) await next.put(request, saved);
|
|
64
141
|
}
|
|
65
142
|
for(const url of urls) {
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
|
|
143
|
+
const asset = new URL(url);
|
|
144
|
+
const corsRequired = asset.origin !== self.location.origin && /\.(?:m?js|woff2?|ttf|otf)$/i.test(asset.pathname);
|
|
145
|
+
const response = await fetch(url, {mode: asset.origin === self.location.origin ? 'same-origin' : corsRequired ? 'cors' : 'no-cors'});
|
|
146
|
+
if(!safeResponse(response) || (corsRequired && response.type === 'opaque')
|
|
147
|
+
|| (/\.html$/i.test(asset.pathname) && (asset.origin !== self.location.origin
|
|
148
|
+
|| !/text\/html/i.test(response.headers.get('content-type') || '')
|
|
149
|
+
|| (response.url && response.url !== url)))
|
|
69
150
|
|| (/\.json$/i.test(new URL(url).pathname) && !/\bpublic\b/i.test(response.headers.get('cache-control') || ''))
|
|
70
151
|
|| (/\.(?:m?js|css)(?:$|\?)/i.test(url) && /text\/html/i.test(response.headers.get('content-type') || '')))
|
|
71
152
|
throw new Error('Offline app update incomplete: ' + url);
|
|
@@ -82,9 +163,15 @@ function updateAppAssets(values) {
|
|
|
82
163
|
&& new URL(url).pathname === new URL(request.url).pathname)) continue;
|
|
83
164
|
if(await next.match(request)) continue;
|
|
84
165
|
const saved = await previous.match(request);
|
|
85
|
-
if(saved && safeAsset(new URL(request.url))) await next.put(request, saved);
|
|
166
|
+
if(saved && safeAsset(new URL(request.url)) && validAssetResponse(saved, request.url)) await next.put(request, saved);
|
|
86
167
|
}
|
|
87
168
|
const state = await caches.open(STATE_CACHE);
|
|
169
|
+
if(first?.origin === self.location.origin && safeAsset(first) && urls.includes(first.href)) {
|
|
170
|
+
const page = assetKey(first.href, 'navigate');
|
|
171
|
+
const scope = appScope(first.pathname);
|
|
172
|
+
if(validAssetResponse(await next.match(page), page))
|
|
173
|
+
await state.put(SCOPE_PREFIX + encodeURIComponent(scope), new Response(page));
|
|
174
|
+
}
|
|
88
175
|
await state.put(self.location.origin + '/datalynk-app-active', new Response(nextName));
|
|
89
176
|
} catch(error) {
|
|
90
177
|
await caches.delete(nextName);
|
|
@@ -142,6 +229,7 @@ self.addEventListener('activate', (event) => {
|
|
|
142
229
|
const appCache = await activeCache();
|
|
143
230
|
for(const request of await appCache.keys())
|
|
144
231
|
if(!safeAsset(new URL(request.url))
|
|
232
|
+
|| !validAssetResponse(await appCache.match(request), request.url)
|
|
145
233
|
|| (/\.json$/i.test(new URL(request.url).pathname)
|
|
146
234
|
&& !/\bpublic\b/i.test((await appCache.match(request))?.headers.get('cache-control') || '')))
|
|
147
235
|
await appCache.delete(request);
|
|
@@ -180,53 +268,80 @@ self.addEventListener('fetch', (event) => {
|
|
|
180
268
|
}
|
|
181
269
|
|
|
182
270
|
event.respondWith((async () => {
|
|
183
|
-
const cache = await activeCache();
|
|
184
271
|
const url = new URL(request.url);
|
|
185
|
-
const appFile = request.mode === 'navigate' || ['script', 'style', 'image', 'font', 'worker'].includes(request.destination);
|
|
272
|
+
const appFile = request.mode === 'navigate' || ['script', 'style', 'image', 'font', 'worker', 'audio'].includes(request.destination);
|
|
186
273
|
const staticJson = url.origin === self.location.origin && /\.json$/i.test(url.pathname) && !request.destination;
|
|
187
|
-
const
|
|
188
|
-
&&
|
|
274
|
+
const safeRequest = safeAsset(url) && !request.headers.has('authorization')
|
|
275
|
+
&& (url.origin === self.location.origin || !['image', 'audio'].includes(request.destination));
|
|
276
|
+
const range = request.headers.has('range');
|
|
189
277
|
const destination = request.mode === 'navigate' ? 'navigate' : staticJson ? 'json' : 'asset';
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
278
|
+
let warmedHtml = false;
|
|
279
|
+
if(safeRequest && !range && url.origin === self.location.origin && !request.destination
|
|
280
|
+
&& /\.html$/i.test(url.pathname)) {
|
|
281
|
+
try { warmedHtml = !!await savedAsset(await activeCache(), request, destination); }
|
|
282
|
+
catch(error) { console.warn('Unable to check warmed HTML fragment', error); }
|
|
283
|
+
}
|
|
284
|
+
const cacheable = (appFile || staticJson || warmedHtml) && safeRequest && !range;
|
|
285
|
+
let networkResponse;
|
|
286
|
+
try {
|
|
287
|
+
networkResponse = await fetch(request);
|
|
288
|
+
broadcastStatus(true);
|
|
289
|
+
} catch {
|
|
290
|
+
broadcastStatus(false);
|
|
291
|
+
try {
|
|
292
|
+
const cache = await activeCache();
|
|
293
|
+
if(range && request.destination === 'audio' && safeRequest && url.origin === self.location.origin) {
|
|
294
|
+
const media = await cachedMediaRange(cache, request, destination);
|
|
295
|
+
if(media) return media;
|
|
296
|
+
}
|
|
297
|
+
if(cacheable) {
|
|
298
|
+
const cached = await savedAsset(cache, request, destination);
|
|
299
|
+
if(cached && !(request.mode === 'cors' && cached.type === 'opaque')) return cached;
|
|
300
|
+
if(request.mode === 'navigate') {
|
|
301
|
+
const fallback = await navigationFallback(cache, url);
|
|
302
|
+
if(fallback) return fallback;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
} catch(error) { console.warn('Unable to read offline app cache', error); }
|
|
306
|
+
return new Response('You are offline', {
|
|
307
|
+
status: 503, statusText: 'Service Unavailable', headers: {'Content-Type': 'text/plain'}
|
|
308
|
+
});
|
|
196
309
|
}
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
310
|
+
try {
|
|
311
|
+
if(networkResponse.status === 404 || networkResponse.status >= 500) {
|
|
312
|
+
const cache = await activeCache();
|
|
313
|
+
if(range && request.destination === 'audio' && safeRequest && url.origin === self.location.origin) {
|
|
314
|
+
const media = await cachedMediaRange(cache, request, destination);
|
|
315
|
+
if(media) { broadcastStatus(false); return media; }
|
|
316
|
+
}
|
|
317
|
+
if(cacheable) {
|
|
318
|
+
const cached = await savedAsset(cache, request, destination);
|
|
319
|
+
if(cached && !(request.mode === 'cors' && cached.type === 'opaque')) { broadcastStatus(false); return cached; }
|
|
320
|
+
if(request.mode === 'navigate') {
|
|
321
|
+
const fallback = await navigationFallback(cache, url);
|
|
322
|
+
if(fallback) { broadcastStatus(false); return fallback; }
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
const saved = cacheable && await savedAsset(await activeCache(), request, destination);
|
|
327
|
+
if(safeResponse(networkResponse) && cacheable && (networkResponse.status === 200 || !saved)
|
|
200
328
|
&& (!staticJson || /\bpublic\b/i.test(networkResponse.headers.get('cache-control') || ''))
|
|
201
|
-
|
|
202
|
-
&&
|
|
329
|
+
&& (!warmedHtml || (/text\/html/i.test(networkResponse.headers.get('content-type') || '')
|
|
330
|
+
&& (!networkResponse.url || networkResponse.url === request.url)))
|
|
203
331
|
&& !(/\.(?:m?js|css)(?:$|\?)/i.test(url.href) && /text\/html/i.test(networkResponse.headers.get('content-type') || ''))) {
|
|
204
332
|
const isOpaqueNav = networkResponse.type === 'opaque' && request.mode === 'navigate';
|
|
205
333
|
if (!isOpaqueNav) {
|
|
206
334
|
event.waitUntil((async () => {
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
335
|
+
const current = await activeCache();
|
|
336
|
+
const key = assetKey(url.href, destination);
|
|
337
|
+
await current.put(key, networkResponse.clone());
|
|
338
|
+
if(destination !== 'json') await removeOtherVersions(current, key);
|
|
211
339
|
})().catch(error => console.warn('Unable to save offline app file', error)));
|
|
212
340
|
}
|
|
213
341
|
}
|
|
214
342
|
return networkResponse;
|
|
215
|
-
} catch {
|
|
216
|
-
|
|
217
|
-
const cached = cacheable && await savedAsset(await activeCache(), request, destination);
|
|
218
|
-
if(cached) return cached;
|
|
219
|
-
if(cacheable && request.mode === 'navigate') {
|
|
220
|
-
const fallback = (await cache.match('/')) || (await cache.match('/index.html'));
|
|
221
|
-
if(fallback) return fallback;
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
return new Response('You are offline', {
|
|
225
|
-
status: 503,
|
|
226
|
-
statusText: 'Service Unavailable',
|
|
227
|
-
headers: {'Content-Type': 'text/plain'}
|
|
228
|
-
});
|
|
229
|
-
}
|
|
343
|
+
} catch(error) { console.warn('Unable to read app cache', error); }
|
|
344
|
+
return networkResponse;
|
|
230
345
|
})());
|
|
231
346
|
});
|
|
232
347
|
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@auxilium/datalynk-client",
|
|
3
3
|
"description": "Datalynk client library",
|
|
4
4
|
"repository": "https://gitlab.auxiliumgroup.com/auxilium/datalynk/datalynk-client",
|
|
5
|
-
"version": "1.6.
|
|
5
|
+
"version": "1.6.3",
|
|
6
6
|
"author": "Auxilium Group <devops@auxiliumgroup.com>",
|
|
7
7
|
"private": false,
|
|
8
8
|
"main": "./dist/index.cjs",
|