1 // Copyright 2016-present 650 Industries. All rights reserved. 2 3 #import <Foundation/Foundation.h> 4 #import <ABI47_0_0ExpoModulesCore/ABI47_0_0EXExportedModule.h> 5 #import <ABI47_0_0ExpoModulesCore/ABI47_0_0EXModuleRegistryConsumer.h> 6 #import <ABI47_0_0ExpoModulesCore/ABI47_0_0EXEventEmitter.h> 7 #import <ABI47_0_0ExpoModulesCore/ABI47_0_0EXFileSystemInterface.h> 8 9 @interface ABI47_0_0EXFileSystem : ABI47_0_0EXExportedModule <ABI47_0_0EXEventEmitter, ABI47_0_0EXModuleRegistryConsumer, ABI47_0_0EXFileSystemInterface> 10 11 @property (nonatomic, readonly) NSString *documentDirectory; 12 @property (nonatomic, readonly) NSString *cachesDirectory; 13 @property (nonatomic, readonly) NSString *bundleDirectory; 14 15 - (instancetype)initWithDocumentDirectory:(NSString *)documentDirectory cachesDirectory:(NSString *)cachesDirectory bundleDirectory:(NSString *)bundleDirectory; 16 17 - (ABI47_0_0EXFileSystemPermissionFlags)permissionsForURI:(NSURL *)uri; 18 19 - (BOOL)ensureDirExistsWithPath:(NSString *)path; 20 21 - (NSString *)generatePathInDirectory:(NSString *)directory withExtension:(NSString *)extension; 22 23 @end 24 25 @protocol ABI47_0_0EXFileSystemHandler 26 27 + (void)getInfoForFile:(NSURL *)fileUri 28 withOptions:(NSDictionary *)optionxs 29 resolver:(ABI47_0_0EXPromiseResolveBlock)resolve 30 rejecter:(ABI47_0_0EXPromiseRejectBlock)reject; 31 32 + (void)copyFrom:(NSURL *)from 33 to:(NSURL *)to 34 resolver:(ABI47_0_0EXPromiseResolveBlock)resolve 35 rejecter:(ABI47_0_0EXPromiseRejectBlock)reject; 36 37 @end 38 39 @interface NSData (ABI47_0_0EXFileSystem) 40 41 - (NSString *)md5String; 42 43 @end 44