@@ -157,27 +157,33 @@ class ZipTransformer {
157157
158158 for ( const fileName of Object . keys ( this . files ) ) {
159159 file = this . files [ fileName ] ;
160- if ( file ) {
161- length += 46 + file . nameBuf . length + file . comment . length ;
160+ if ( ! file ) {
161+ throw new TypeError (
162+ `File not found while flushing ZipTransformer: ${ fileName } ` ,
163+ ) ;
162164 }
165+ length += 46 + file . nameBuf . length + file . comment . length ;
163166 }
164167
165168 const data = new Uint8Array ( length + 22 ) ;
166169 const dv = new DataView ( data . buffer ) ;
167170
168171 for ( const fileName of Object . keys ( this . files ) ) {
169172 file = this . files [ fileName ] ;
170- if ( file ) {
171- dv . setUint32 ( index , 0x50_4b_01_02 ) ;
172- dv . setUint16 ( index + 4 , 0x14_00 ) ;
173- dv . setUint16 ( index + 32 , file . comment . length , true ) ;
174- dv . setUint8 ( index + 38 , file . directory ? 16 : 0 ) ;
175- dv . setUint32 ( index + 42 , JSBI . toNumber ( file . offset ) , true ) ;
176- data . set ( file . header , index + 6 ) ;
177- data . set ( file . nameBuf , index + 46 ) ;
178- data . set ( file . comment , index + 46 + file . nameBuf . length ) ;
179- index += 46 + file . nameBuf . length + file . comment . length ;
173+ if ( ! file ) {
174+ throw new TypeError (
175+ `File not found while flushing ZipTransformer: ${ fileName } ` ,
176+ ) ;
180177 }
178+ dv . setUint32 ( index , 0x50_4b_01_02 ) ;
179+ dv . setUint16 ( index + 4 , 0x14_00 ) ;
180+ dv . setUint16 ( index + 32 , file . comment . length , true ) ;
181+ dv . setUint8 ( index + 38 , file . directory ? 16 : 0 ) ;
182+ dv . setUint32 ( index + 42 , JSBI . toNumber ( file . offset ) , true ) ;
183+ data . set ( file . header , index + 6 ) ;
184+ data . set ( file . nameBuf , index + 46 ) ;
185+ data . set ( file . comment , index + 46 + file . nameBuf . length ) ;
186+ index += 46 + file . nameBuf . length + file . comment . length ;
181187 }
182188
183189 dv . setUint32 ( index , 0x50_4b_05_06 ) ;
0 commit comments