@@ -15,6 +15,12 @@ @implementation FirestackStorage
1515
1616RCT_EXPORT_MODULE (FirestackStorage);
1717
18+ // Run on a different thread
19+ - (dispatch_queue_t )methodQueue
20+ {
21+ return dispatch_queue_create (" io.fullstack.firestack.storage" , DISPATCH_QUEUE_SERIAL);
22+ }
23+
1824RCT_EXPORT_METHOD (downloadUrl: (NSString *) storageUrl
1925 path:(NSString *) path
2026 callback:(RCTResponseSenderBlock) callback)
@@ -225,6 +231,7 @@ - (void) addUploadObservers:(FIRStorageUploadTask *) uploadTask
225231 [downloadTask observeStatus: FIRStorageTaskStatusFailure handler: ^(FIRStorageTaskSnapshot *snapshot) {
226232 if (snapshot.error != nil ) {
227233 NSDictionary *errProps = [[NSMutableDictionary alloc ] init ];
234+ NSLog (@" Error in download: %@ " , snapshot.error );
228235
229236 switch (snapshot.error .code ) {
230237 case FIRStorageErrorCodeObjectNotFound:
@@ -249,6 +256,29 @@ - (void) addUploadObservers:(FIRStorageUploadTask *) uploadTask
249256 }}];
250257}
251258
259+ // This is just too good not to use, but I don't want to take credit for
260+ // this work from RNFS
261+ // https://github.com/johanneslumpe/react-native-fs/blob/master/RNFSManager.m
262+ - (NSString *)getPathForDirectory : (int )directory
263+ {
264+ NSArray *paths = NSSearchPathForDirectoriesInDomains (directory, NSUserDomainMask, YES );
265+ return [paths firstObject ];
266+ }
267+
268+ - (NSDictionary *)constantsToExport
269+ {
270+ return @{
271+ @" MAIN_BUNDLE_PATH" : [[NSBundle mainBundle ] bundlePath ],
272+ @" CACHES_DIRECTORY_PATH" : [self getPathForDirectory: NSCachesDirectory],
273+ @" DOCUMENT_DIRECTORY_PATH" : [self getPathForDirectory: NSDocumentDirectory],
274+ @" EXTERNAL_DIRECTORY_PATH" : [NSNull null ],
275+ @" EXTERNAL_STORAGE_DIRECTORY_PATH" : [NSNull null ],
276+ @" TEMP_DIRECTORY_PATH" : NSTemporaryDirectory (),
277+ @" LIBRARY_DIRECTORY_PATH" : [self getPathForDirectory: NSLibraryDirectory],
278+ @" FILETYPE_REGULAR" : NSFileTypeRegular ,
279+ @" FILETYPE_DIRECTORY" : NSFileTypeDirectory
280+ };
281+ }
252282
253283// Not sure how to get away from this... yet
254284- (NSArray <NSString *> *)supportedEvents {
0 commit comments