1 // Copyright 2016-present 650 Industries. All rights reserved. 2 3 #import <Foundation/Foundation.h> 4 #import <ABI49_0_0ExpoModulesCore/ABI49_0_0EXExportedModule.h> 5 #import <ABI49_0_0ExpoModulesCore/ABI49_0_0EXModuleRegistryConsumer.h> 6 #import <ABI49_0_0ExpoModulesCore/ABI49_0_0EXEventEmitter.h> 7 #import <ABI49_0_0ExpoModulesCore/ABI49_0_0EXFileSystemInterface.h> 8 9 @interface ABI49_0_0EXFileSystem : ABI49_0_0EXExportedModule <ABI49_0_0EXEventEmitter, ABI49_0_0EXModuleRegistryConsumer, ABI49_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 - (ABI49_0_0EXFileSystemPermissionFlags)permissionsForURI:(NSURL *)uri; 18 19 - (nullable NSURL *)percentEncodedURLFromURIString:(nonnull NSString *)uri; 20 21 - (BOOL)ensureDirExistsWithPath:(NSString *)path; 22 23 - (NSString *)generatePathInDirectory:(NSString *)directory withExtension:(NSString *)extension; 24 25 @end 26 27 @protocol ABI49_0_0EXFileSystemHandler 28 29 + (void)getInfoForFile:(NSURL *)fileUri 30 withOptions:(NSDictionary *)optionxs 31 resolver:(ABI49_0_0EXPromiseResolveBlock)resolve 32 rejecter:(ABI49_0_0EXPromiseRejectBlock)reject; 33 34 + (void)copyFrom:(NSURL *)from 35 to:(NSURL *)to 36 resolver:(ABI49_0_0EXPromiseResolveBlock)resolve 37 rejecter:(ABI49_0_0EXPromiseRejectBlock)reject; 38 39 @end 40