Skip to content

Commit 2fbaf60

Browse files
authored
Add files via upload
1 parent dba877c commit 2fbaf60

File tree

3 files changed

+317
-1
lines changed

3 files changed

+317
-1
lines changed

index.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,3 @@
3232
</body>
3333

3434
</html>
35-

service-worker-assets.js

Lines changed: 261 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,261 @@
1+
self.assetsManifest = {
2+
"version": "K2AM/eb9",
3+
"assets": [
4+
{
5+
"hash": "sha256-7swnkVVLqmf/yqyfon2FbKbIiI9IgEYZ7TfmoVZLURE=",
6+
"url": "HashifyNETBlazor.styles.css"
7+
},
8+
{
9+
"hash": "sha256-WTNUc4ZU0pA0T6sszpCY8wzVCkHIWp004GYJVIEnshg=",
10+
"url": "_framework/HashifyNET.wasm"
11+
},
12+
{
13+
"hash": "sha256-hYT18lOMn9AejE6cp6df3M9qUTwzIEj1Ec2KfBtdBvo=",
14+
"url": "_framework/HashifyNETBlazor.wasm"
15+
},
16+
{
17+
"hash": "sha256-1iKOJegOjo1RRPSy4m7hwDDn5fiZmx5qVl7e2i1a7Yo=",
18+
"url": "_framework/Microsoft.AspNetCore.Components.Forms.wasm"
19+
},
20+
{
21+
"hash": "sha256-Z36T51b2/aSgy1ag2Vssl/ABdDRyFZmwB6ugGnfOKOk=",
22+
"url": "_framework/Microsoft.AspNetCore.Components.Web.wasm"
23+
},
24+
{
25+
"hash": "sha256-Ytvy8CoGTpQ8T9C6pUC1APPOYmuCm6rVpgWFTIGq8Sg=",
26+
"url": "_framework/Microsoft.AspNetCore.Components.WebAssembly.wasm"
27+
},
28+
{
29+
"hash": "sha256-un+EwbSM6t4mYeOiRyRn1D/XMZ71ItLuiOVXTDL2ysI=",
30+
"url": "_framework/Microsoft.AspNetCore.Components.wasm"
31+
},
32+
{
33+
"hash": "sha256-XR+WUfg8LtnrwdXFBnV+qO3ROyp6cYCfl1AZajIAheM=",
34+
"url": "_framework/Microsoft.Extensions.Configuration.Abstractions.wasm"
35+
},
36+
{
37+
"hash": "sha256-Nbv4DDWJLbUri+9QrX+3vnA2FV/Qux8Jm1buTARMlBs=",
38+
"url": "_framework/Microsoft.Extensions.Configuration.Json.wasm"
39+
},
40+
{
41+
"hash": "sha256-od574rRtVVRJj+24jbl8j3GdQFpxlJOpSx+pEMw1Q18=",
42+
"url": "_framework/Microsoft.Extensions.Configuration.wasm"
43+
},
44+
{
45+
"hash": "sha256-OP/INJK3EIdLpegAuQ3UyF4B3AGtAPUzQfu62vmf4js=",
46+
"url": "_framework/Microsoft.Extensions.DependencyInjection.Abstractions.wasm"
47+
},
48+
{
49+
"hash": "sha256-gPl1KWGxLIxxQgQ9BG1m/niMzqZGG651efBdnDY3kDc=",
50+
"url": "_framework/Microsoft.Extensions.DependencyInjection.wasm"
51+
},
52+
{
53+
"hash": "sha256-KOwfQHIjclTDhdIKS+xmd+aKXqagT0opz/L023JIFy0=",
54+
"url": "_framework/Microsoft.Extensions.Logging.Abstractions.wasm"
55+
},
56+
{
57+
"hash": "sha256-KCdgvZvpkT0QTlCjj/PtlVlJnNw1mDlJAtaRSWXz0YM=",
58+
"url": "_framework/Microsoft.Extensions.Logging.wasm"
59+
},
60+
{
61+
"hash": "sha256-mngxZ7DtB5tYzmxZdVWZapJTSJ/yGClqQAcqOkLk3Lk=",
62+
"url": "_framework/Microsoft.Extensions.Options.wasm"
63+
},
64+
{
65+
"hash": "sha256-xyqqv0SMCahnrOs+p5QYDHoh/BAYlbNtyjTTpqmRW/g=",
66+
"url": "_framework/Microsoft.Extensions.Primitives.wasm"
67+
},
68+
{
69+
"hash": "sha256-FdHug4S2a7HOsi37rnvEfDrrRGQkT4tHlR4E9AN0Obg=",
70+
"url": "_framework/Microsoft.JSInterop.WebAssembly.wasm"
71+
},
72+
{
73+
"hash": "sha256-cu8+FjlIvoZK+sTcZysXHCzAhm4KeFlJED0Hfhkgg1o=",
74+
"url": "_framework/Microsoft.JSInterop.wasm"
75+
},
76+
{
77+
"hash": "sha256-N+dr1Jqq7mGxIGVcV7fEXn6oqP08F0gV36/akOyeTQw=",
78+
"url": "_framework/System.Collections.Concurrent.wasm"
79+
},
80+
{
81+
"hash": "sha256-X6KBvL1LYcoDtMAb9XclUc1M2XWnBDsmu4pjayzG3V8=",
82+
"url": "_framework/System.Collections.Immutable.wasm"
83+
},
84+
{
85+
"hash": "sha256-viiPGevf5L7IR/wmtWJO5Uj8Y8xw6vsiE0kO3raV/mU=",
86+
"url": "_framework/System.Collections.NonGeneric.wasm"
87+
},
88+
{
89+
"hash": "sha256-KXdXoXce5n54Ha5QNyFcqFHLPQufMOPG2f1nvJkRBF0=",
90+
"url": "_framework/System.Collections.Specialized.wasm"
91+
},
92+
{
93+
"hash": "sha256-BUp2msbXDr3k5XY6hntQZ/+e73X2b9BjNIXF5c0RoBE=",
94+
"url": "_framework/System.Collections.wasm"
95+
},
96+
{
97+
"hash": "sha256-jowm1Kk9Xb7vl7eU9zEcHNwzxl3s7lBNMZox09ZGNfk=",
98+
"url": "_framework/System.ComponentModel.Primitives.wasm"
99+
},
100+
{
101+
"hash": "sha256-+uXf5+ZRGs/LUQx3+YBrNgHCiooC5lmMHAmfgGwet3c=",
102+
"url": "_framework/System.ComponentModel.TypeConverter.wasm"
103+
},
104+
{
105+
"hash": "sha256-/zzH1dhTR2VZ4pJJPbvoypOm8TmppNSIcKQ1EV8N6D0=",
106+
"url": "_framework/System.ComponentModel.wasm"
107+
},
108+
{
109+
"hash": "sha256-I9pbTSwAxU26fdXAtPZcaVxe8AzC7eWoJ2TqjmLX+wE=",
110+
"url": "_framework/System.Console.wasm"
111+
},
112+
{
113+
"hash": "sha256-H2hFU0DDYVB7Xzec9HSRBnRFDMgQHKruSDuici484mg=",
114+
"url": "_framework/System.IO.Hashing.wasm"
115+
},
116+
{
117+
"hash": "sha256-6UtMOYFyP4D+XROU5q/3bMsOSWgvdVNJw5oE9Dq0pV0=",
118+
"url": "_framework/System.Linq.Expressions.wasm"
119+
},
120+
{
121+
"hash": "sha256-DJw4POcEm5fzbJ47BcN3nmLgP/UcoUBYDvsB+S8o49w=",
122+
"url": "_framework/System.Linq.wasm"
123+
},
124+
{
125+
"hash": "sha256-v3ca+HwnqTkQUfhIEwrXkSVqEdA4jJL4CaDd5XxhRmU=",
126+
"url": "_framework/System.Memory.wasm"
127+
},
128+
{
129+
"hash": "sha256-AHlTBmlh23h6KUX4ub3RUdSWDfeU0lGeCXnnuMJRhcQ=",
130+
"url": "_framework/System.Net.Http.wasm"
131+
},
132+
{
133+
"hash": "sha256-FYeG3sBpwdbzqVzUrKqoN3hBIttkkiDtTiHEqLALDE4=",
134+
"url": "_framework/System.Net.Primitives.wasm"
135+
},
136+
{
137+
"hash": "sha256-leI2g6pDEvi27cqihQIfz4n8DgrZ+JnRUQElICvaSoI=",
138+
"url": "_framework/System.ObjectModel.wasm"
139+
},
140+
{
141+
"hash": "sha256-LOYJuWO6lohSjTa8vlpPs1hFAxo9dSSMb9e/PFLVuwM=",
142+
"url": "_framework/System.Private.CoreLib.wasm"
143+
},
144+
{
145+
"hash": "sha256-o6HwpABOtftkzNRROc1U5seWO22RLFcUZCfSoziUTq4=",
146+
"url": "_framework/System.Private.Uri.wasm"
147+
},
148+
{
149+
"hash": "sha256-yZ+Z6Ds6n3P/NW9CBYC3m9L6eAMv+sCrpEt/Du2Jogs=",
150+
"url": "_framework/System.Runtime.InteropServices.JavaScript.wasm"
151+
},
152+
{
153+
"hash": "sha256-ayezSISQegpF89f2I+tfDdXNFNoAite0l2bmpIQotXc=",
154+
"url": "_framework/System.Runtime.InteropServices.wasm"
155+
},
156+
{
157+
"hash": "sha256-PFjDu+tjQ+GP5/N5ZIc5O3nyXb4uOYrmI7f4K2DTD00=",
158+
"url": "_framework/System.Runtime.Numerics.wasm"
159+
},
160+
{
161+
"hash": "sha256-iCBLOCJh3J/QZS++gOCkcpXDHYoM5j4Yqp2kNM2BKCM=",
162+
"url": "_framework/System.Runtime.Serialization.Primitives.wasm"
163+
},
164+
{
165+
"hash": "sha256-UDar3CjiQf0nncSffd3UBllhjZ+JE+4ZiVeZzlKPMGw=",
166+
"url": "_framework/System.Runtime.wasm"
167+
},
168+
{
169+
"hash": "sha256-fIr65Tz7sRMjP7ON/BaSOqYYwqvy42QZla3q1Y4icn8=",
170+
"url": "_framework/System.Security.Cryptography.wasm"
171+
},
172+
{
173+
"hash": "sha256-bDRdy+G9zVcWlrj3vP+blIqH38T9rpqxvXdcv1INqnE=",
174+
"url": "_framework/System.Text.Encodings.Web.wasm"
175+
},
176+
{
177+
"hash": "sha256-TK0ueSvz09onLgsC4sfMk4+9qXGikpQo9gbfY86zTQE=",
178+
"url": "_framework/System.Text.Json.wasm"
179+
},
180+
{
181+
"hash": "sha256-3W9FSHhJnymXzdUqrxjgrpUOznpPW+8vDLZntL7hmmA=",
182+
"url": "_framework/System.Text.RegularExpressions.wasm"
183+
},
184+
{
185+
"hash": "sha256-cxFfnMlUxFX1evOLiudXokgiW3Zvw1WiBaMvCsG7/+A=",
186+
"url": "_framework/System.Threading.Thread.wasm"
187+
},
188+
{
189+
"hash": "sha256-73q5tUA0jmzlSZYc043ThvYYYclz7EZisyRqQnlbhIU=",
190+
"url": "_framework/System.Threading.ThreadPool.wasm"
191+
},
192+
{
193+
"hash": "sha256-2BLx+xagyRkiDiqrRDd/ky3JxqiOF1AWQ+5CYOTcDAg=",
194+
"url": "_framework/System.Threading.wasm"
195+
},
196+
{
197+
"hash": "sha256-9DLmgOsnmEbjuZrRVFruRmVRvh/skjCDv6hQMjVZ3K8=",
198+
"url": "_framework/System.wasm"
199+
},
200+
{
201+
"hash": "sha256-cc1BOkQ+aIb+XJaP/xA0r8brkkt9HBv6H0aVlonRP1A=",
202+
"url": "_framework/blazor.boot.json"
203+
},
204+
{
205+
"hash": "sha256-gvHfnndfEu1tRf0rFb5988rWq7ITIotOaE8+AMbKYbc=",
206+
"url": "_framework/blazor.webassembly.js"
207+
},
208+
{
209+
"hash": "sha256-7SfZvEvB4CK7KrKGp7RmD2YyWXaxcUwmVfVD9Jrwboo=",
210+
"url": "_framework/dotnet.js"
211+
},
212+
{
213+
"hash": "sha256-LFnzI7njw8du1wXlCI/HWh/alHzYmmvuwiDPKOkBebo=",
214+
"url": "_framework/dotnet.native.js"
215+
},
216+
{
217+
"hash": "sha256-hr/TaopyV2+BBG35P7zbX6QEO49bwM0ev90t8qYInRg=",
218+
"url": "_framework/dotnet.native.wasm"
219+
},
220+
{
221+
"hash": "sha256-OH8zlJkheyf8H9oAbu0wu1oQm9FKy/BKjDk4Bj/va3s=",
222+
"url": "_framework/dotnet.runtime.js"
223+
},
224+
{
225+
"hash": "sha256-SZLtQnRc0JkwqHab0VUVP7T3uBPSeYzxzDnpxPpUnHk=",
226+
"url": "_framework/icudt_CJK.dat"
227+
},
228+
{
229+
"hash": "sha256-8fItetYY8kQ0ww6oxwTLiT3oXlBwHKumbeP2pRF4yTc=",
230+
"url": "_framework/icudt_EFIGS.dat"
231+
},
232+
{
233+
"hash": "sha256-L7sV7NEYP37/Qr2FPCePo5cJqRgTXRwGHuwF5Q+0Nfs=",
234+
"url": "_framework/icudt_no_CJK.dat"
235+
},
236+
{
237+
"hash": "sha256-JOZWd9XYwDyrwjSB0PVTcc602GisYED21qQUCSMlGtI=",
238+
"url": "css/app.css"
239+
},
240+
{
241+
"hash": "sha256-z8OR40MowJ8GgK6P89Y+hiJK5+cclzFHzLhFQLL92bg=",
242+
"url": "css/bootstrap/bootstrap.min.css"
243+
},
244+
{
245+
"hash": "sha256-gBwg2tmA0Ci2u54gMF1jNCVku6vznarkLS6D76htNNQ=",
246+
"url": "css/bootstrap/bootstrap.min.css.map"
247+
},
248+
{
249+
"hash": "sha256-UwRO60WlX7s4PuZLaaB0HuF07CJZQWKQDD5nSoN5T6E=",
250+
"url": "index.html"
251+
},
252+
{
253+
"hash": "sha256-YNotAqc7evGVPPTRfphMEsy7dkWdb4+u9KpO6S4ogxI=",
254+
"url": "logo.png"
255+
},
256+
{
257+
"hash": "sha256-P3mq4M0vKFc8rSujNJ1z7Ny5+zPJgAb9iSgXMKOsLe4=",
258+
"url": "manifest.webmanifest"
259+
}
260+
]
261+
};

service-worker.js

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
/* Manifest version: K2AM/eb9 */
2+
// Caution! Be sure you understand the caveats before publishing an application with
3+
// offline support. See https://aka.ms/blazor-offline-considerations
4+
5+
self.importScripts('./service-worker-assets.js');
6+
self.addEventListener('install', event => event.waitUntil(onInstall(event)));
7+
self.addEventListener('activate', event => event.waitUntil(onActivate(event)));
8+
self.addEventListener('fetch', event => event.respondWith(onFetch(event)));
9+
10+
const cacheNamePrefix = 'offline-cache-';
11+
const cacheName = `${cacheNamePrefix}${self.assetsManifest.version}`;
12+
const offlineAssetsInclude = [ /\.dll$/, /\.pdb$/, /\.wasm/, /\.html/, /\.js$/, /\.json$/, /\.css$/, /\.woff$/, /\.png$/, /\.jpe?g$/, /\.gif$/, /\.ico$/, /\.blat$/, /\.dat$/ ];
13+
const offlineAssetsExclude = [ /^service-worker\.js$/ ];
14+
15+
// Replace with your base path if you are hosting on a subfolder. Ensure there is a trailing '/'.
16+
const base = "/";
17+
const baseUrl = new URL(base, self.origin);
18+
const manifestUrlList = self.assetsManifest.assets.map(asset => new URL(asset.url, baseUrl).href);
19+
20+
async function onInstall(event) {
21+
console.info('Service worker: Install');
22+
23+
// Fetch and cache all matching items from the assets manifest
24+
const assetsRequests = self.assetsManifest.assets
25+
.filter(asset => offlineAssetsInclude.some(pattern => pattern.test(asset.url)))
26+
.filter(asset => !offlineAssetsExclude.some(pattern => pattern.test(asset.url)))
27+
.map(asset => new Request(asset.url, { integrity: asset.hash, cache: 'no-cache' }));
28+
await caches.open(cacheName).then(cache => cache.addAll(assetsRequests));
29+
}
30+
31+
async function onActivate(event) {
32+
console.info('Service worker: Activate');
33+
34+
// Delete unused caches
35+
const cacheKeys = await caches.keys();
36+
await Promise.all(cacheKeys
37+
.filter(key => key.startsWith(cacheNamePrefix) && key !== cacheName)
38+
.map(key => caches.delete(key)));
39+
}
40+
41+
async function onFetch(event) {
42+
let cachedResponse = null;
43+
if (event.request.method === 'GET') {
44+
// For all navigation requests, try to serve index.html from cache,
45+
// unless that request is for an offline resource.
46+
// If you need some URLs to be server-rendered, edit the following check to exclude those URLs
47+
const shouldServeIndexHtml = event.request.mode === 'navigate'
48+
&& !manifestUrlList.some(url => url === event.request.url);
49+
50+
const request = shouldServeIndexHtml ? 'index.html' : event.request;
51+
const cache = await caches.open(cacheName);
52+
cachedResponse = await cache.match(request);
53+
}
54+
55+
return cachedResponse || fetch(event.request);
56+
}

0 commit comments

Comments
 (0)