1 // Copyright 2016-present 650 Industries. All rights reserved. 2 3 #import <Foundation/Foundation.h> 4 #import <ExpoModulesCore/EXExportedModule.h> 5 #import <ExpoModulesCore/EXModuleRegistryConsumer.h> 6 #import <ExpoModulesCore/EXEventEmitter.h> 7 #import <ExpoModulesCore/EXFileSystemInterface.h> 8 9 @interface EXFileSystem : EXExportedModule <EXEventEmitter, EXModuleRegistryConsumer, EXFileSystemInterface> 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 - (EXFileSystemPermissionFlags)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