@@ -14,33 +14,36 @@ @implementation RNFSManager
14
14
15
15
static int MainBundleDirectory = 999 ;
16
16
17
- @synthesize bridge = _bridge;
18
17
RCT_EXPORT_MODULE ();
19
18
20
- - (dispatch_queue_t )methodQueue {
19
+ - (dispatch_queue_t )methodQueue
20
+ {
21
21
return dispatch_queue_create (" pe.lum.rnfs" , DISPATCH_QUEUE_SERIAL);
22
22
}
23
23
24
- RCT_EXPORT_METHOD (readDir:(NSString *)directory inFolder:(NSNumber *)folder callback:(RCTResponseSenderBlock)callback){
24
+ RCT_EXPORT_METHOD (readDir:(NSString *)directory
25
+ inFolder:(nonnull NSNumber *)folder
26
+ callback:(RCTResponseSenderBlock)callback)
27
+ {
25
28
NSString *path;
26
- int folderInt = [folder integerValue ];
29
+ NSInteger folderInt = [folder integerValue ];
27
30
28
31
if (folderInt == MainBundleDirectory) {
29
32
path = [[NSBundle mainBundle ] bundlePath ];
30
33
} else {
31
34
NSArray *paths = NSSearchPathForDirectoriesInDomains (folderInt, NSUserDomainMask, YES );
32
- path = [paths objectAtIndex: 0 ];
35
+ path = [paths firstObject ];
33
36
}
34
37
35
38
NSFileManager *fileManager = [NSFileManager defaultManager ];
36
39
NSError *error = nil ;
37
- NSString * dirPath = [path stringByAppendingPathComponent: directory];
40
+ NSString *dirPath = [path stringByAppendingPathComponent: directory];
38
41
NSArray *contents = [fileManager contentsOfDirectoryAtPath: dirPath error: &error];
39
42
40
- contents = [contents rnfs_mapObjectsUsingBlock: ^id (id obj, NSUInteger idx) {
43
+ contents = [contents rnfs_mapObjectsUsingBlock: ^id (NSString * obj, NSUInteger idx) {
41
44
return @{
42
- @" name" : ( NSString *) obj,
43
- @" path" : [dirPath stringByAppendingPathComponent: ( NSString *) obj]
45
+ @" name" : obj,
46
+ @" path" : [dirPath stringByAppendingPathComponent: obj]
44
47
};
45
48
}];
46
49
@@ -51,7 +54,9 @@ - (dispatch_queue_t)methodQueue {
51
54
callback (@[[NSNull null ], contents]);
52
55
}
53
56
54
- RCT_EXPORT_METHOD (stat:(NSString *)filepath callback:(RCTResponseSenderBlock)callback){
57
+ RCT_EXPORT_METHOD (stat:(NSString *)filepath
58
+ callback:(RCTResponseSenderBlock)callback)
59
+ {
55
60
NSError *error = nil ;
56
61
NSDictionary *attributes = [[NSFileManager defaultManager ] attributesOfItemAtPath: filepath error: &error];
57
62
@@ -60,17 +65,21 @@ - (dispatch_queue_t)methodQueue {
60
65
}
61
66
62
67
attributes = @{
63
- @" ctime" : [self dateToTimeIntervalNumber: (NSDate *)[attributes objectForKey: NSFileCreationDate ]],
64
- @" mtime" : [self dateToTimeIntervalNumber: (NSDate *)[attributes objectForKey: NSFileModificationDate ]],
68
+ @" ctime" : [self dateToTimeIntervalNumber: (NSDate *)[attributes objectForKey: NSFileCreationDate ]],
69
+ @" mtime" : [self dateToTimeIntervalNumber: (NSDate *)[attributes objectForKey: NSFileModificationDate ]],
65
70
@" size" : [attributes objectForKey: NSFileSize ],
66
71
@" type" : [attributes objectForKey: NSFileType ],
67
- @" mode" : [ NSNumber numberWithInteger: [[ NSString stringWithFormat: @" %o " , [(NSNumber *)[attributes objectForKey: NSFilePosixPermissions ] integerValue ]] integerValue ]]
72
+ @" mode" : @([[ NSString stringWithFormat: @" %ld " , ( long ) [(NSNumber *)[attributes objectForKey: NSFilePosixPermissions ] integerValue ]] integerValue ])
68
73
};
69
74
70
75
callback (@[[NSNull null ], attributes]);
71
76
}
72
77
73
- RCT_EXPORT_METHOD (writeFile:(NSString *)filepath contents:(NSString *)base64Content attributes:(NSDictionary *)attributes callback:(RCTResponseSenderBlock)callback){
78
+ RCT_EXPORT_METHOD (writeFile:(NSString *)filepath
79
+ contents:(NSString *)base64Content
80
+ attributes:(NSDictionary *)attributes
81
+ callback:(RCTResponseSenderBlock)callback)
82
+ {
74
83
NSData *data = [[NSData alloc ] initWithBase64EncodedString: base64Content options: NSDataBase64DecodingIgnoreUnknownCharacters ];
75
84
BOOL success = [[NSFileManager defaultManager ] createFileAtPath: filepath contents: data attributes: attributes];
76
85
@@ -81,7 +90,9 @@ - (dispatch_queue_t)methodQueue {
81
90
callback (@[[NSNull null ], [NSNumber numberWithBool: success]]);
82
91
}
83
92
84
- RCT_EXPORT_METHOD (unlink:(NSString *)filepath callback:(RCTResponseSenderBlock)callback) {
93
+ RCT_EXPORT_METHOD (unlink:(NSString *)filepath
94
+ callback:(RCTResponseSenderBlock)callback)
95
+ {
85
96
NSFileManager *manager = [NSFileManager defaultManager ];
86
97
BOOL exists = [manager fileExistsAtPath: filepath isDirectory: false ];
87
98
@@ -98,7 +109,9 @@ - (dispatch_queue_t)methodQueue {
98
109
callback (@[[NSNull null ], [NSNumber numberWithBool: success], filepath]);
99
110
}
100
111
101
- RCT_EXPORT_METHOD (readFile:(NSString *)filepath callback:(RCTResponseSenderBlock)callback){
112
+ RCT_EXPORT_METHOD (readFile:(NSString *)filepath
113
+ callback:(RCTResponseSenderBlock)callback)
114
+ {
102
115
NSData *content = [[NSFileManager defaultManager ] contentsAtPath: filepath];
103
116
NSString *base64Content = [content base64EncodedStringWithOptions: NSDataBase64EncodingEndLineWithLineFeed ];
104
117
@@ -109,20 +122,35 @@ - (dispatch_queue_t)methodQueue {
109
122
callback (@[[NSNull null ], base64Content]);
110
123
}
111
124
112
- - (NSNumber *) dateToTimeIntervalNumber : (NSDate *)date {
113
- return [NSNumber numberWithDouble: [date timeIntervalSince1970 ]];
125
+ RCT_EXPORT_METHOD (pathForBundle:(NSString *)bundleNamed
126
+ callback:(RCTResponseSenderBlock)callback)
127
+ {
128
+ NSString *path = [[NSBundle mainBundle ].bundlePath stringByAppendingFormat: @" /%@ .bundle" , bundleNamed];
129
+ NSBundle *bundle = [NSBundle bundleWithPath: path];
130
+ if (!bundle.isLoaded ) {
131
+ [bundle load ];
132
+ }
133
+
134
+ callback (@[[NSNull null ], path]);
135
+ }
136
+
137
+ - (NSNumber *) dateToTimeIntervalNumber : (NSDate *)date
138
+ {
139
+ return @([date timeIntervalSince1970 ]);
114
140
}
115
141
116
- - (NSArray *) makeErrorPayload : (NSError *)error {
142
+ - (NSArray *)makeErrorPayload : (NSError *)error
143
+ {
117
144
return @[@{
118
145
@" description" : error.localizedDescription ,
119
- @" code" : [ NSNumber numberWithInteger: error.code]
146
+ @" code" : @( error.code )
120
147
}];
121
148
}
122
149
123
- - (NSString *) getPathForDirectory : (int )directory {
150
+ - (NSString *)getPathForDirectory : (int )directory
151
+ {
124
152
NSArray *paths = NSSearchPathForDirectoriesInDomains (directory, NSUserDomainMask, YES );
125
- return [paths objectAtIndex: 0 ];
153
+ return [paths firstObject ];
126
154
}
127
155
128
156
- (NSDictionary *)constantsToExport
0 commit comments