DuyTa's picture
Upload folder using huggingface_hub
bc20498 verified
raw
history blame
1.25 kB
import * as fs from 'graceful-fs';
import { dirname } from 'path';
import mkdirp from 'mkdirp';
import resolvePathAndOptions from '../utils/resolvePathAndOptions';
export function copyFile () {
const { resolvedPath: src, options: readOptions } = resolvePathAndOptions( arguments );
return {
to () {
const { resolvedPath: dest, options: writeOptions } = resolvePathAndOptions( arguments );
return new Promise( ( fulfil, reject ) => {
mkdirp( dirname( dest ), err => {
if ( err ) {
reject( err );
} else {
const readStream = fs.createReadStream( src, readOptions );
const writeStream = fs.createWriteStream( dest, writeOptions );
readStream.on( 'error', reject );
writeStream.on( 'error', reject );
writeStream.on( 'close', fulfil );
readStream.pipe( writeStream );
}
});
});
}
};
}
export function copyFileSync () {
const { resolvedPath: src, options: readOptions } = resolvePathAndOptions( arguments );
return {
to () {
const { resolvedPath: dest, options: writeOptions } = resolvePathAndOptions( arguments );
const data = fs.readFileSync( src, readOptions );
mkdirp.sync( dirname( dest ) );
fs.writeFileSync( dest, data, writeOptions );
}
};
}