@@ -221,10 +221,10 @@ export type Filestream = {
221
221
*/
222
222
filePath : string ;
223
223
/**
224
- function that returns a read stream for the file
225
- note: this is called multiple times per "file", so a new NodeJS.ReadableStream will be created each time
224
+ function that returns a read stream for the file. Not utilized for directories.
225
+ note: this is called multiple times per "file", so a new NodeJS.ReadableStream needs to be created each time
226
226
*/
227
- streamGenerator : ( ) => NodeJS . ReadableStream ;
227
+ streamGenerator ? : ( ) => NodeJS . ReadableStream ;
228
228
properties : {
229
229
/**
230
230
relative path to the symlink target
@@ -257,21 +257,27 @@ export async function createPackageFromStreams(dest: string, filestreams: Filest
257
257
filesystem . insertDirectory ( filename , shouldUnpack ) ;
258
258
break ;
259
259
case 'file' :
260
+ if ( streamGenerator == null ) {
261
+ throw new Error ( 'Stream generator is required for `file` type' ) ;
262
+ }
260
263
files . push ( {
261
264
filename,
262
- streamGenerator,
265
+ streamGenerator : streamGenerator ! ,
263
266
link : undefined ,
264
267
mode : stat . mode ,
265
268
unpack : shouldUnpack ,
266
269
} ) ;
267
- return filesystem . insertFile ( filename , streamGenerator , shouldUnpack , {
270
+ return filesystem . insertFile ( filename , streamGenerator ! , shouldUnpack , {
268
271
type : 'file' ,
269
272
stat,
270
273
} ) ;
271
274
case 'link' :
275
+ if ( streamGenerator == null ) {
276
+ throw new Error ( 'Stream generator is required for `link` type' ) ;
277
+ }
272
278
links . push ( {
273
279
filename,
274
- streamGenerator,
280
+ streamGenerator : streamGenerator ! ,
275
281
link : symlink ,
276
282
mode : stat . mode ,
277
283
unpack : shouldUnpack ,
0 commit comments