From 3a0015b30331efc14d6fae1a22baa4c87ab4cb18 Mon Sep 17 00:00:00 2001 From: wcj Date: Mon, 21 Jul 2025 10:34:35 +0800 Subject: [PATCH] overload copydir and movedir Signed-off-by: wuchengjun Change-Id: I65e3b10c5c0ee87a54a11b87317e02513b7f7198 --- .../js/src/mod_fs/ani/ets/@ohos.file.fs.ets | 80 +++++++++++++++++-- 1 file changed, 72 insertions(+), 8 deletions(-) diff --git a/interfaces/kits/js/src/mod_fs/ani/ets/@ohos.file.fs.ets b/interfaces/kits/js/src/mod_fs/ani/ets/@ohos.file.fs.ets index 610c1094f..7c5118a09 100644 --- a/interfaces/kits/js/src/mod_fs/ani/ets/@ohos.file.fs.ets +++ b/interfaces/kits/js/src/mod_fs/ani/ets/@ohos.file.fs.ets @@ -164,7 +164,10 @@ function copyDirSync(src: string, dest: string, mode?: number): void { return FileIoImpl.copyDirSync(src, dest, mode); } -function copyDir(src: string, dest: string, mode?: number): Promise { +overload copyDir {copyDirWithMode, copyDirWithCallback, copyDirWithCallbackOfArrayOfConflictFiles, + copyDirWithModeCallback, copyDirWithModeCallbackOfArrayOfConflictFiles} + +function copyDirWithMode(src: string, dest: string, mode?: number): Promise { return new Promise((resolve: (result: undefined) => void, reject: (e: BusinessError>) => void): void => { let promise = taskpool.execute((src: string, dest: string, mode?: number): undefined => @@ -175,9 +178,23 @@ function copyDir(src: string, dest: string, mode?: number): Promise { reject(e as BusinessError>); }); }); +} + +function copyDirWithCallback(src: string, dest: string, callback: AsyncCallback): void { + let promise = taskpool.execute((src: string, dest: string): undefined => + FileIoImpl.copyDirSync(src, dest), src, dest); + promise.then((ret: NullishType): void => { + let e = new BusinessError(); + e.code = 0; + callback(e, undefined); + }).catch((e: Error): void => { + let conflictError = (e as BusinessError); + callback(conflictError, undefined); + }); } -function copyDir(src: string, dest: string, callback: AsyncCallback>): void { +function copyDirWithCallbackOfArrayOfConflictFiles(src: string, dest: string, + callback: AsyncCallback>): void { let promise = taskpool.execute((src: string, dest: string): undefined => FileIoImpl.copyDirSync(src, dest), src, dest); promise.then((ret: NullishType): void => { @@ -190,7 +207,21 @@ function copyDir(src: string, dest: string, callback: AsyncCallback>): void { +function copyDirWithModeCallback(src: string, dest: string, mode: number, callback: AsyncCallback): void { + let promise = taskpool.execute((src: string, dest: string, mode: number): undefined => + FileIoImpl.copyDirSync(src, dest, mode), src, dest, mode); + promise.then((ret: NullishType): void => { + let e = new BusinessError(); + e.code = 0; + callback(e, undefined); + }).catch((e: Error): void => { + let conflictError = (e as BusinessError); + callback(conflictError, undefined); + }); +} + +function copyDirWithModeCallbackOfArrayOfConflictFiles(src: string, dest: string, mode: number, + callback: AsyncCallback>): void { let promise = taskpool.execute((src: string, dest: string, mode: number): undefined => FileIoImpl.copyDirSync(src, dest, mode), src, dest, mode); promise.then((ret: NullishType): void => { @@ -203,7 +234,7 @@ function copyDir(src: string, dest: string, mode: number, callback: AsyncCallbac }); } -function copyDir(arg0: Object, arg1: Object, arg2: NullishType, arg3: NullishType): void { +function copyDirByArgs(arg0: Object, arg1: Object, arg2: NullishType, arg3: NullishType): void { let src = arg0 as string; let dest = arg1 as string; if (typeof arg2 === 'number' && typeof arg3 === 'function') { @@ -318,7 +349,10 @@ function moveDirSync(src: string, dest: string, mode?: number): void { return FileIoImpl.movedirSync(src, dest, mode) } -function moveDir(src: string, dest: string, mode?: number): Promise { +overload moveDir {moveDirWithMode, moveDirWithCallback, moveDirWithcallbackOfArrayOfConflictFiles, + moveDirWithModeCallback, moveDirWithModeCallbackOfArrayOfConflictFiles} + +function moveDirWithMode(src: string, dest: string, mode?: number): Promise { return new Promise((resolve: (result: undefined) => void, reject: (e: BusinessError>) => void): void => { let promise = taskpool.execute((src: string, dest: string, mode?: number): undefined => { @@ -332,7 +366,22 @@ function moveDir(src: string, dest: string, mode?: number): Promise { }) } -function moveDir(src: string, dest: string, callback: AsyncCallback>): void { +function moveDirWithCallback(src: string, dest: string, callback: AsyncCallback): void{ + let promise = taskpool.execute((src: string, dest: string): undefined => { + return FileIoImpl.movedirSync(src, dest); + }, src, dest); + promise.then((ret: NullishType): void => { + let e = new BusinessError(); + e.code = 0; + callback(e, undefined); + }).catch((e: Error): void => { + let conflictError = (e as BusinessError); + callback(conflictError, undefined); + }); +} + +function moveDirWithcallbackOfArrayOfConflictFiles(src: string, dest: string, + callback: AsyncCallback>): void { let promise = taskpool.execute((src: string, dest: string): undefined => { return FileIoImpl.movedirSync(src, dest); }, src, dest); @@ -346,7 +395,22 @@ function moveDir(src: string, dest: string, callback: AsyncCallback>): void { +function moveDirWithModeCallback(src: string, dest: string, mode: number, callback: AsyncCallback): void{ + let promise = taskpool.execute((src: string, dest: string, mode: number): undefined => { + return FileIoImpl.movedirSync(src, dest, mode); + }, src, dest, mode); + promise.then((ret: NullishType): void => { + let e = new BusinessError(); + e.code = 0; + callback(e, undefined); + }).catch((e: Error): void => { + let conflictError = (e as BusinessError); + callback(conflictError, undefined); + }); +} + +function moveDirWithModeCallbackOfArrayOfConflictFiles(src: string, dest: string, mode: number, + callback: AsyncCallback>): void { let promise = taskpool.execute((src: string, dest: string, mode: number): undefined => { return FileIoImpl.movedirSync(src, dest, mode); }, src, dest, mode); @@ -360,7 +424,7 @@ function moveDir(src: string, dest: string, mode: number, callback: AsyncCallbac }); } -function moveDir(arg0: Object, arg1: Object, arg2: NullishType, arg3: NullishType): void { +function moveDirByArgs(arg0: Object, arg1: Object, arg2: NullishType, arg3: NullishType): void { let src = arg0 as string; let dest = arg1 as string; if (typeof arg2 === 'number' && typeof arg3 === 'function') { -- Gitee