@@ -1569,13 +1569,32 @@ class FulaModule: NSObject {
15691569
15701570 @objc ( getFolderSize: withResolver: withRejecter: )
15711571 func getFolderSize( folderPath: String , resolve: @escaping RCTPromiseResolveBlock , reject: @escaping RCTPromiseRejectBlock ) -> Void {
1572+ // Validate the folder path
1573+ guard !folderPath. isEmpty else {
1574+ reject ( " ERR_INVALID_PATH " , " The folder path is empty. " , nil )
1575+ return
1576+ }
1577+
15721578 do {
1573- let result = try self . fula!. getFolderSize ( folderPath)
1574- let resultString = result. toUTF8String ( ) !
1575- resolve ( resultString)
1579+ // Ensure fula is not nil before calling getFolderSize
1580+ guard let fula = self . fula else {
1581+ reject ( " ERR_FULA " , " Fula instance is not initialized. " , nil )
1582+ return
1583+ }
1584+
1585+ // Attempt to get the folder size
1586+ let result = try fula. getFolderSize ( folderPath)
1587+
1588+ // Convert the result to a UTF-8 string safely
1589+ if let resultString = result. toUTF8String ( ) {
1590+ resolve ( resultString)
1591+ } else {
1592+ reject ( " ERR_CONVERSION " , " Failed to convert result to UTF-8 string. " , nil )
1593+ }
15761594 } catch let error {
1577- print ( " getFolderSize " , error. localizedDescription)
1578- reject ( " ERR_FULA " , " getFolderSize " , error)
1595+ // Log and reject with detailed error information
1596+ print ( " getFolderSize error: " , error. localizedDescription)
1597+ reject ( " ERR_FULA " , " Failed to get folder size: \( error. localizedDescription) " , error)
15791598 }
15801599 }
15811600
0 commit comments