@@ -272,7 +272,8 @@ async function _getDestinationHandleForCopy(dst, srcBaseName, handleKindToCreate
272272 } else if ( dstHandle && dstHandle . kind === Constants . KIND_DIRECTORY
273273 && handleKindToCreate === Constants . KIND_FILE ) {
274274 const fileHandle = await dstHandle . getFileHandle ( srcBaseName , { create : true } ) ;
275- resolve ( fileHandle ) ;
275+ const dstPath = `${ dst } /${ srcBaseName } ` ;
276+ resolve ( { handle : fileHandle , path :dstPath } ) ;
276277 } else if ( dstHandle && dstHandle . kind === Constants . KIND_DIRECTORY
277278 && handleKindToCreate === Constants . KIND_DIRECTORY ) {
278279 let dstChildHandle = await Mounts . getHandleFromPathIfPresent ( `${ dst } /${ srcBaseName } ` ) ;
@@ -281,15 +282,18 @@ async function _getDestinationHandleForCopy(dst, srcBaseName, handleKindToCreate
281282 return ;
282283 }
283284 const directoryHandle = await dstHandle . getDirectoryHandle ( srcBaseName , { create : true } ) ;
284- resolve ( directoryHandle ) ;
285+ const dstPath = `${ dst } /${ srcBaseName } ` ;
286+ resolve ( { handle : directoryHandle , path : dstPath } ) ;
285287 } else if ( ! dstHandle && dstParentHandle && dstParentHandle . kind === Constants . KIND_DIRECTORY
286288 && handleKindToCreate === Constants . KIND_FILE ) {
287289 const fileHandle = await dstParentHandle . getFileHandle ( dstBaseName , { create : true } ) ;
288- resolve ( fileHandle ) ;
290+ const dstPath = `${ dirPath } /${ dstBaseName } ` ;
291+ resolve ( { handle : fileHandle , path : dstPath } ) ;
289292 } else if ( ! dstHandle && dstParentHandle && dstParentHandle . kind === Constants . KIND_DIRECTORY
290293 && handleKindToCreate === Constants . KIND_DIRECTORY ) {
291294 const fileHandle = await dstParentHandle . getDirectoryHandle ( dstBaseName , { create : true } ) ;
292- resolve ( fileHandle ) ;
295+ const dstPath = `${ dirPath } /${ dstBaseName } ` ;
296+ resolve ( { handle : fileHandle , path : dstPath } ) ;
293297 } else {
294298 reject ( new Errors . ENOENT ( `Copy destination doesnt exist: ${ dst } ` ) ) ;
295299 }
@@ -314,9 +318,9 @@ async function _copyFileFromHandles(srcFileHandle, dstHandle, optionalName) {
314318
315319async function _copyFileWithHandle ( srcFileHandle , dst , srcFileName , callback ) {
316320 try {
317- let dstHandle = await _getDestinationHandleForCopy ( dst , srcFileName , Constants . KIND_FILE ) ;
318- await _copyFileFromHandles ( srcFileHandle , dstHandle ) ;
319- callback ( null ) ;
321+ let { handle , path } = await _getDestinationHandleForCopy ( dst , srcFileName , Constants . KIND_FILE ) ;
322+ await _copyFileFromHandles ( srcFileHandle , handle ) ;
323+ callback ( null , path ) ;
320324 } catch ( e ) {
321325 callback ( e ) ;
322326 }
@@ -339,9 +343,9 @@ async function _treeCopy(srcFolderHandle, dstFolderHandle, recursive) {
339343
340344async function _copyFolderWithHandle ( srcFolderHandle , dst , srcFileName , callback , recursive ) {
341345 try {
342- let dstFolderHandle = await _getDestinationHandleForCopy ( dst , srcFileName , Constants . KIND_DIRECTORY ) ;
343- await _treeCopy ( srcFolderHandle , dstFolderHandle , recursive ) ;
344- callback ( null ) ;
346+ let { handle , path } = await _getDestinationHandleForCopy ( dst , srcFileName , Constants . KIND_DIRECTORY ) ;
347+ await _treeCopy ( srcFolderHandle , handle , recursive ) ;
348+ callback ( null , path ) ;
345349 } catch ( e ) {
346350 callback ( e ) ;
347351 }
0 commit comments