#import "RCTNativeFile.h" @implementation RCTNativeFile + (NSString *)moduleName { return @"NativeFile"; } - (std::shared_ptr)getTurboModule:(const facebook::react::ObjCTurboModule::InitParams &)params { return std::make_shared(params); } - (void)copyFile:(nonnull NSString *)sourcePath destPath:(nonnull NSString *)destPath { [[NSFileManager defaultManager] copyItemAtPath:sourcePath toPath:destPath error:nil]; } - (void)downloadFile:(nonnull NSString *)url destPath:(nonnull NSString *)destPath method:(nonnull NSString *)method headers:(nonnull NSDictionary *)headers body:(nonnull NSString *)body resolve:(nonnull RCTPromiseResolveBlock)resolve reject:(nonnull RCTPromiseRejectBlock)reject { } - (nonnull NSNumber *)exists:(nonnull NSString *)filePath { BOOL isExisted = [[NSFileManager defaultManager] fileExistsAtPath:filePath]; return [NSNumber numberWithBool:isExisted]; } - (NSDictionary *)getConstants { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths firstObject]; NSArray *cachePaths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); NSString *cachesDirectory = [cachePaths firstObject]; return @{ @"ExternalDirectoryPath": documentsDirectory, @"ExternalCachesDirectoryPath": cachesDirectory }; } - (void)mkdir:(nonnull NSString *)filePath { [ [NSFileManager defaultManager] createDirectoryAtPath:filePath withIntermediateDirectories:YES attributes:nil error:nil ]; } - (void)moveFile:(nonnull NSString *)sourcePath destPath:(nonnull NSString *)destPath { [ [NSFileManager defaultManager] moveItemAtPath:sourcePath toPath:destPath error:nil ]; } - (nonnull NSArray *)readDir:(nonnull NSString *)dirPath { NSMutableArray* res = [NSMutableArray array]; NSArray *content = [ [NSFileManager defaultManager] contentsOfDirectoryAtPath:dirPath error:nil ]; for(int i=0; i)constantsToExport { return [self getConstants]; } @end