@@ -31,7 +31,8 @@ addToLibrary({
3131 try {
3232 var u = new URL ( fileUrl , self . location . origin ) ;
3333 url = u . toString ( ) ;
34- } catch ( e ) {
34+ } catch ( _e ) {
35+ throw { status : 404 } ;
3536 }
3637 }
3738 var chunkSize = __wasmfs_fetch_get_chunk_size ( file ) ;
@@ -41,15 +42,15 @@ addToLibrary({
4142 var lastChunk = ( ( offset + len ) / chunkSize ) | 0 ;
4243 if ( ! ( file in wasmFS$JSMemoryRanges ) ) {
4344 var fileInfo = await fetch ( url , { method :"HEAD" , headers :{ "Range" : "bytes=0-" } } ) ;
44- if ( fileInfo . ok &&
45+ if ( fileInfo . ok &&
4546 fileInfo . headers . has ( "Content-Length" ) &&
4647 fileInfo . headers . get ( "Accept-Ranges" ) == "bytes" &&
4748 ( parseInt ( fileInfo . headers . get ( "Content-Length" ) ) > chunkSize * 2 ) ) {
4849 wasmFS$JSMemoryRanges [ file ] = { size :parseInt ( fileInfo . headers . get ( "Content-Length" ) ) , chunks :[ ] , chunkSize :chunkSize } ;
4950 } else {
5051 // may as well/forced to download the whole file
5152 var wholeFileReq = await fetch ( url ) ;
52- if ( ! wholeFileReq . ok ) {
53+ if ( ! wholeFileReq . ok ) {
5354 throw wholeFileReq ;
5455 }
5556 var wholeFileData = new Uint8Array ( await wholeFileReq . arrayBuffer ( ) ) ;
@@ -60,11 +61,11 @@ addToLibrary({
6061 }
6162 var allPresent = true ;
6263 var i ;
63- if ( lastChunk * chunkSize < offset + len ) {
64+ if ( lastChunk * chunkSize < offset + len ) {
6465 lastChunk += 1 ;
6566 }
66- for ( i = firstChunk ; i < lastChunk ; i ++ ) {
67- if ( ! wasmFS$JSMemoryRanges [ file ] . chunks [ i ] ) {
67+ for ( i = firstChunk ; i < lastChunk ; i ++ ) {
68+ if ( ! wasmFS$JSMemoryRanges [ file ] . chunks [ i ] ) {
6869 allPresent = false ;
6970 break ;
7071 }
@@ -78,14 +79,13 @@ addToLibrary({
7879 var start = firstChunk * chunkSize ;
7980 var end = lastChunk * chunkSize ;
8081 var response = await fetch ( url , { headers :{ "Range" : `bytes=${ start } -${ end - 1 } ` } } ) ;
81- if ( response . ok ) {
82- var bytes = new Uint8Array ( await response [ 'arrayBuffer' ] ( ) ) ;
83- for ( i = firstChunk ; i < lastChunk ; i ++ ) {
84- wasmFS$JSMemoryRanges [ file ] . chunks [ i ] = bytes . slice ( i * chunkSize - start , ( i + 1 ) * chunkSize - start ) ;
85- }
86- } else {
82+ if ( ! response . ok ) {
8783 throw response ;
8884 }
85+ var bytes = new Uint8Array ( await response [ 'arrayBuffer' ] ( ) ) ;
86+ for ( i = firstChunk ; i < lastChunk ; i ++ ) {
87+ wasmFS$JSMemoryRanges [ file ] . chunks [ i ] = bytes . slice ( i * chunkSize - start , ( i + 1 ) * chunkSize - start ) ;
88+ }
8989 return Promise . resolve ( ) ;
9090 }
9191
@@ -110,24 +110,21 @@ addToLibrary({
110110 read : async ( file , buffer , length , offset ) => {
111111 try {
112112 await getFileRange ( file , offset || 0 , length ) ;
113- } catch ( response ) {
114- return response . status === 404 ? - { { { cDefs . ENOENT } } } : - { { { cDefs. EBADF } } } ;
113+ } catch ( failedResponse ) {
114+ return failedResponse . status === 404 ? - { { { cDefs . ENOENT } } } : - { { { cDefs. EBADF } } } ;
115115 }
116116 var fileInfo = wasmFS$JSMemoryRanges [ file ] ;
117117 var fileData = fileInfo . chunks ;
118118 var chunkSize = fileInfo . chunkSize ;
119119 var firstChunk = ( offset / chunkSize ) | 0 ;
120120 var lastChunk = ( ( offset + length ) / chunkSize ) | 0 ;
121- if ( offset + length > lastChunk * chunkSize ) {
121+ if ( offset + length > lastChunk * chunkSize ) {
122122 lastChunk += 1 ;
123123 }
124124 var readLength = 0 ;
125125 for ( var i = firstChunk ; i < lastChunk ; i ++ ) {
126126 var chunk = fileData [ i ] ;
127127 var start = Math . max ( i * chunkSize , offset ) ;
128- if ( ! chunk ) {
129- throw [ fileData . length , firstChunk , lastChunk , i ] ;
130- }
131128 var chunkStart = i * chunkSize ;
132129 var end = Math . min ( chunkStart + chunkSize , offset + length ) ;
133130 HEAPU8 . set ( chunk . subarray ( start - chunkStart , end - chunkStart ) , buffer + ( start - offset ) ) ;
@@ -138,7 +135,7 @@ addToLibrary({
138135 getSize : async ( file ) => {
139136 try {
140137 await getFileRange ( file , 0 , 0 ) ;
141- } catch ( response ) {
138+ } catch ( failedResponse ) {
142139 return 0 ;
143140 }
144141 return wasmFS$JSMemoryRanges [ file ] . size ;
0 commit comments