@@ -13,55 +13,34 @@ export function openWorkerDatabasePort(
13
13
) {
14
14
const needsDedicated = vfs == WASQLiteVFS . AccessHandlePoolVFS || vfs == WASQLiteVFS . OPFSCoopSyncVFS ;
15
15
16
- const handleErrors = < T extends AbstractWorker > ( instance : T , url : string | URL ) : T => {
17
- instance . onerror = ( event ) => {
18
- throw `Unhandled worker error for ${ workerIdentifier } at ${ url } : ${ event . message } : ${ event . error } ` ;
19
- } ;
20
-
21
- return instance ;
22
- } ;
23
-
24
16
if ( worker ) {
25
17
return ! needsDedicated && multipleTabs
26
- ? handleErrors (
27
- new SharedWorker ( `${ worker } ` , {
28
- /* @vite -ignore */
29
- name : `shared-DB-worker-${ workerIdentifier } `
30
- } ) ,
31
- worker
32
- ) . port
33
- : handleErrors (
34
- new Worker ( `${ worker } ` , {
35
- /* @vite -ignore */
36
- name : `DB-worker-${ workerIdentifier } `
37
- } ) ,
38
- worker
39
- ) ;
18
+ ? new SharedWorker ( `${ worker } ` , {
19
+ /* @vite -ignore */
20
+ name : `shared-DB-worker-${ workerIdentifier } `
21
+ } ) . port
22
+ : new Worker ( `${ worker } ` , {
23
+ /* @vite -ignore */
24
+ name : `DB-worker-${ workerIdentifier } `
25
+ } ) ;
40
26
} else {
41
27
/**
42
28
* Webpack V5 can bundle the worker automatically if the full Worker constructor syntax is used
43
29
* https://webpack.js.org/guides/web-workers/
44
30
* This enables multi tab support by default, but falls back if SharedWorker is not available
45
31
* (in the case of Android)
46
32
*/
47
- const debugUrl = new URL ( './WASQLiteDB.worker.js' , import . meta. url ) ;
48
33
return ! needsDedicated && multipleTabs
49
- ? handleErrors (
50
- new SharedWorker ( new URL ( './WASQLiteDB.worker.js' , import . meta. url ) , {
51
- /* @vite -ignore */
52
- name : `shared-DB-worker-${ workerIdentifier } ` ,
53
- type : 'module'
54
- } ) ,
55
- debugUrl
56
- ) . port
57
- : handleErrors (
58
- new Worker ( new URL ( './WASQLiteDB.worker.js' , import . meta. url ) , {
59
- /* @vite -ignore */
60
- name : `DB-worker-${ workerIdentifier } ` ,
61
- type : 'module'
62
- } ) ,
63
- debugUrl
64
- ) ;
34
+ ? new SharedWorker ( new URL ( './WASQLiteDB.worker.js' , import . meta. url ) , {
35
+ /* @vite -ignore */
36
+ name : `shared-DB-worker-${ workerIdentifier } ` ,
37
+ type : 'module'
38
+ } ) . port
39
+ : new Worker ( new URL ( './WASQLiteDB.worker.js' , import . meta. url ) , {
40
+ /* @vite -ignore */
41
+ name : `DB-worker-${ workerIdentifier } ` ,
42
+ type : 'module'
43
+ } ) ;
65
44
}
66
45
}
67
46
0 commit comments