@@ -13,7 +13,7 @@ import {
13
13
} from 'fs' ;
14
14
import { readdir , readFile , rm , writeFile } from 'node:fs/promises' ;
15
15
import { resolve as resolvePath } from 'node:path' ;
16
- import { Readable , Writable } from 'node:stream' ;
16
+ import { finished , Readable } from 'node:stream' ;
17
17
18
18
import { MethodTypes } from './constants' ;
19
19
import {
@@ -23,6 +23,7 @@ import {
23
23
FileStorageConfigFactory ,
24
24
FileStorageDirBaseArgs ,
25
25
} from './file-storage.class' ;
26
+ import { FileStorageWritable } from './types' ;
26
27
27
28
export type StreamOptions = {
28
29
flags ?: string ;
@@ -115,10 +116,12 @@ export class FileStorageLocal implements FileStorage {
115
116
return writeFile ( fileName , content , options ) ;
116
117
}
117
118
118
- async uploadStream ( args : FileStorageLocalUploadStream ) : Promise < Writable > {
119
+ async uploadStream ( args : FileStorageLocalUploadStream ) : Promise < FileStorageWritable > {
119
120
const { filePath, options, request } = args ;
120
121
const fileName = await this . transformFilePath ( filePath , MethodTypes . WRITE , request , options ) ;
121
- return createWriteStream ( fileName , options ) ;
122
+ const writeStream = createWriteStream ( fileName , options ) ;
123
+ finished ( writeStream , ( err ) => writeStream . emit ( 'done' , err ) ) ;
124
+ return writeStream ;
122
125
}
123
126
124
127
downloadFile ( args : {
0 commit comments