react-native-fs-turbo 0.1.2 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/CMakeLists.txt +36 -0
- package/android/build.gradle +106 -0
- package/android/gradle.properties +5 -0
- package/android/src/main/AndroidManifest.xml +3 -0
- package/android/src/main/AndroidManifestNew.xml +2 -0
- package/android/src/main/cpp/RNFSTurboLogger.cpp +16 -0
- package/android/src/main/cpp/RNFSTurboPlatformHelper.cpp +703 -0
- package/android/src/main/java/com/cmpayc/rnfsturbo/RNFSTurboDownloadParams.java +48 -0
- package/android/src/main/java/com/cmpayc/rnfsturbo/RNFSTurboDownloadResult.java +25 -0
- package/android/src/main/java/com/cmpayc/rnfsturbo/RNFSTurboDownloader.java +190 -0
- package/android/src/main/java/com/cmpayc/rnfsturbo/RNFSTurboIORejectionException.java +32 -0
- package/android/src/main/java/com/cmpayc/rnfsturbo/RNFSTurboPackage.java +52 -0
- package/android/src/main/java/com/cmpayc/rnfsturbo/RNFSTurboPlatformContextModule.java +99 -0
- package/android/src/main/java/com/cmpayc/rnfsturbo/RNFSTurboPlatformHelper.java +458 -0
- package/android/src/main/java/com/cmpayc/rnfsturbo/RNFSTurboUploadParams.java +45 -0
- package/android/src/main/java/com/cmpayc/rnfsturbo/RNFSTurboUploadResult.java +28 -0
- package/android/src/main/java/com/cmpayc/rnfsturbo/RNFSTurboUploader.java +237 -0
- package/cpp/NativeRNFSTurboModule.cpp +2 -2
- package/cpp/NativeRNFSTurboModule.h +2 -18
- package/cpp/RNFSTurboHostObject.cpp +1 -1
- package/cpp/RNFSTurboHostObject.h +1 -1
- package/lib/commonjs/createRNFSTurbo.js +1 -1
- package/lib/commonjs/createRNFSTurbo.js.map +1 -1
- package/lib/module/createRNFSTurbo.js +1 -1
- package/lib/module/createRNFSTurbo.js.map +1 -1
- package/lib/typescript/NativeRNFSTurboModule.d.ts +1 -1
- package/lib/typescript/NativeRNFSTurboModule.d.ts.map +1 -1
- package/package.json +6 -1
- package/react-native.config.js +20 -0
- package/src/NativeRNFSTurboModule.ts +1 -1
- package/src/createRNFSTurbo.ts +1 -1
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
/*
|
|
2
|
+
The MIT License (MIT)
|
|
3
|
+
|
|
4
|
+
Copyright (c) 2015 Johannes Lumpe
|
|
5
|
+
|
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
8
|
+
in the Software without restriction, including without limitation the rights
|
|
9
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
11
|
+
furnished to do so, subject to the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be included in all
|
|
14
|
+
copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
Modified by Sergei Kazakov on 31.10.24.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
package com.cmpayc.rnfsturbo;
|
|
20
|
+
|
|
21
|
+
import android.os.AsyncTask;
|
|
22
|
+
import android.util.Log;
|
|
23
|
+
import android.webkit.MimeTypeMap;
|
|
24
|
+
|
|
25
|
+
import java.io.BufferedInputStream;
|
|
26
|
+
import java.io.BufferedReader;
|
|
27
|
+
import java.io.DataOutputStream;
|
|
28
|
+
import java.io.File;
|
|
29
|
+
import java.io.FileInputStream;
|
|
30
|
+
import java.io.InputStreamReader;
|
|
31
|
+
import java.net.HttpURLConnection;
|
|
32
|
+
import java.nio.channels.Channels;
|
|
33
|
+
import java.nio.channels.FileChannel;
|
|
34
|
+
import java.nio.channels.WritableByteChannel;
|
|
35
|
+
import java.util.HashMap;
|
|
36
|
+
import java.util.List;
|
|
37
|
+
import java.util.Map;
|
|
38
|
+
import java.util.concurrent.atomic.AtomicBoolean;
|
|
39
|
+
|
|
40
|
+
public class RNFSTurboUploader extends AsyncTask<RNFSTurboUploadParams, int[], RNFSTurboUploadResult> {
|
|
41
|
+
private RNFSTurboUploadParams mParams;
|
|
42
|
+
private RNFSTurboUploadResult res;
|
|
43
|
+
private AtomicBoolean mAbort = new AtomicBoolean(false);
|
|
44
|
+
|
|
45
|
+
@Override
|
|
46
|
+
protected RNFSTurboUploadResult doInBackground(RNFSTurboUploadParams... uploadParams) {
|
|
47
|
+
mParams = uploadParams[0];
|
|
48
|
+
res = new RNFSTurboUploadResult();
|
|
49
|
+
new Thread(new Runnable() {
|
|
50
|
+
@Override
|
|
51
|
+
public void run() {
|
|
52
|
+
try {
|
|
53
|
+
upload(mParams, res);
|
|
54
|
+
mParams.onUploadComplete.onUploadComplete(res);
|
|
55
|
+
} catch (Exception e) {
|
|
56
|
+
res.exception = e;
|
|
57
|
+
mParams.onUploadComplete.onUploadComplete(res);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}).start();
|
|
61
|
+
return res;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
private void upload(RNFSTurboUploadParams params, RNFSTurboUploadResult result) throws Exception {
|
|
65
|
+
HttpURLConnection connection = null;
|
|
66
|
+
DataOutputStream request = null;
|
|
67
|
+
String crlf = "\r\n";
|
|
68
|
+
String twoHyphens = "--";
|
|
69
|
+
String boundary = "*****";
|
|
70
|
+
String tail = crlf + twoHyphens + boundary + twoHyphens + crlf;
|
|
71
|
+
String metaData = "", stringData = "";
|
|
72
|
+
String[] fileHeader;
|
|
73
|
+
int statusCode, byteSentTotal;
|
|
74
|
+
int fileCount = 0;
|
|
75
|
+
long totalFileLength = 0;
|
|
76
|
+
BufferedInputStream responseStream = null;
|
|
77
|
+
BufferedReader responseStreamReader = null;
|
|
78
|
+
String name, filename, filepath, filetype;
|
|
79
|
+
try {
|
|
80
|
+
Object[] files = new Object[params.filesNum];
|
|
81
|
+
boolean binaryStreamOnly = params.binaryStreamOnly;
|
|
82
|
+
|
|
83
|
+
connection = (HttpURLConnection) params.src.openConnection();
|
|
84
|
+
connection.setDoOutput(true);
|
|
85
|
+
connection.setRequestMethod(params.method);
|
|
86
|
+
if (!binaryStreamOnly) {
|
|
87
|
+
connection.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary);
|
|
88
|
+
}
|
|
89
|
+
for (String key : params.headers.keySet()) {
|
|
90
|
+
connection.setRequestProperty(key, params.headers.get(key));
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
for (String key : params.fields.keySet()) {
|
|
94
|
+
metaData += twoHyphens + boundary + crlf + "Content-Disposition: form-data; name=\"" + key + "\"" + crlf + crlf + params.fields.get(key) +crlf;
|
|
95
|
+
}
|
|
96
|
+
stringData += metaData;
|
|
97
|
+
fileHeader = new String[files.length];
|
|
98
|
+
for ( int i = 0; i < params.files.length - 1; i += 4) {
|
|
99
|
+
name = params.files[i];
|
|
100
|
+
filename = params.files[i + 1];
|
|
101
|
+
filepath = params.files[i + 2];
|
|
102
|
+
filetype = params.files[i + 3];
|
|
103
|
+
if (filetype.isEmpty()) {
|
|
104
|
+
filetype = getMimeType(filepath);
|
|
105
|
+
}
|
|
106
|
+
File file = new File(filepath);
|
|
107
|
+
long fileLength = file.length();
|
|
108
|
+
totalFileLength += fileLength;
|
|
109
|
+
if (!binaryStreamOnly) {
|
|
110
|
+
String fileHeaderType = twoHyphens + boundary + crlf +
|
|
111
|
+
"Content-Disposition: form-data; name=\"" + name + "\"; filename=\"" + filename + "\"" + crlf +
|
|
112
|
+
"Content-Type: " + filetype + crlf;
|
|
113
|
+
;
|
|
114
|
+
if (files.length - 1 == fileCount) {
|
|
115
|
+
totalFileLength += tail.length();
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
String fileLengthHeader = "Content-length: " + fileLength + crlf;
|
|
119
|
+
fileHeader[fileCount] = fileHeaderType + fileLengthHeader + crlf;
|
|
120
|
+
stringData += fileHeaderType + fileLengthHeader + crlf;
|
|
121
|
+
}
|
|
122
|
+
fileCount++;
|
|
123
|
+
}
|
|
124
|
+
fileCount = 0;
|
|
125
|
+
if (mParams.onUploadBegin != null) {
|
|
126
|
+
mParams.onUploadBegin.onUploadBegin();
|
|
127
|
+
}
|
|
128
|
+
if (!binaryStreamOnly) {
|
|
129
|
+
long requestLength = totalFileLength;
|
|
130
|
+
requestLength += stringData.length() + files.length * crlf.length();
|
|
131
|
+
connection.setRequestProperty("Content-length", "" +(int) requestLength);
|
|
132
|
+
connection.setFixedLengthStreamingMode((int)requestLength);
|
|
133
|
+
}
|
|
134
|
+
connection.connect();
|
|
135
|
+
|
|
136
|
+
request = new DataOutputStream(connection.getOutputStream());
|
|
137
|
+
WritableByteChannel requestChannel = Channels.newChannel(request);
|
|
138
|
+
|
|
139
|
+
if (!binaryStreamOnly) {
|
|
140
|
+
request.writeBytes(metaData);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
byteSentTotal = 0;
|
|
144
|
+
|
|
145
|
+
for ( int i = 0; i < params.files.length - 1; i += 4) {
|
|
146
|
+
filepath = params.files[i + 2];
|
|
147
|
+
if (!binaryStreamOnly) {
|
|
148
|
+
request.writeBytes(fileHeader[fileCount]);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
File file = new File(filepath);
|
|
152
|
+
|
|
153
|
+
long fileLength = file.length();
|
|
154
|
+
long bufferSize = (long) Math.ceil(fileLength / 100.f);
|
|
155
|
+
long bytesRead = 0;
|
|
156
|
+
|
|
157
|
+
FileInputStream fileStream = new FileInputStream(file);
|
|
158
|
+
FileChannel fileChannel = fileStream.getChannel();
|
|
159
|
+
|
|
160
|
+
while (bytesRead < fileLength) {
|
|
161
|
+
long transferredBytes = fileChannel.transferTo(bytesRead, bufferSize, requestChannel);
|
|
162
|
+
bytesRead += transferredBytes;
|
|
163
|
+
|
|
164
|
+
if (mParams.onUploadProgress != null) {
|
|
165
|
+
byteSentTotal += transferredBytes;
|
|
166
|
+
mParams.onUploadProgress.onUploadProgress((int) totalFileLength, byteSentTotal);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
if (!binaryStreamOnly) {
|
|
171
|
+
request.writeBytes(crlf);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
fileCount++;
|
|
175
|
+
fileStream.close();
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
if (!binaryStreamOnly) {
|
|
179
|
+
request.writeBytes(tail);
|
|
180
|
+
}
|
|
181
|
+
request.flush();
|
|
182
|
+
request.close();
|
|
183
|
+
|
|
184
|
+
responseStream = new BufferedInputStream(connection.getInputStream());
|
|
185
|
+
responseStreamReader = new BufferedReader(new InputStreamReader(responseStream));
|
|
186
|
+
Map<String, List<String>> headers = connection.getHeaderFields();
|
|
187
|
+
|
|
188
|
+
Map<String, String> headersFlat = new HashMap<>();
|
|
189
|
+
|
|
190
|
+
for (Map.Entry<String, List<String>> entry : headers.entrySet()) {
|
|
191
|
+
String headerKey = entry.getKey();
|
|
192
|
+
String valueKey = entry.getValue().get(0);
|
|
193
|
+
|
|
194
|
+
if (headerKey != null && valueKey != null) {
|
|
195
|
+
headersFlat.put(headerKey, valueKey);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
StringBuilder stringBuilder = new StringBuilder();
|
|
199
|
+
String line = "";
|
|
200
|
+
|
|
201
|
+
while ((line = responseStreamReader.readLine()) != null) {
|
|
202
|
+
stringBuilder.append(line).append("\n");
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
String response = stringBuilder.toString();
|
|
206
|
+
statusCode = connection.getResponseCode();
|
|
207
|
+
res.headers = headersFlat;
|
|
208
|
+
res.body = response;
|
|
209
|
+
res.statusCode = statusCode;
|
|
210
|
+
} finally {
|
|
211
|
+
if (connection != null)
|
|
212
|
+
connection.disconnect();
|
|
213
|
+
if (request != null)
|
|
214
|
+
request.close();
|
|
215
|
+
if (responseStream != null)
|
|
216
|
+
responseStream.close();
|
|
217
|
+
if (responseStreamReader != null)
|
|
218
|
+
responseStreamReader.close();
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
protected String getMimeType(String path) {
|
|
223
|
+
String type = null;
|
|
224
|
+
String extension = MimeTypeMap.getFileExtensionFromUrl(path);
|
|
225
|
+
if (extension != null) {
|
|
226
|
+
type = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension.toLowerCase());
|
|
227
|
+
}
|
|
228
|
+
if (type == null) {
|
|
229
|
+
type = "*/*";
|
|
230
|
+
}
|
|
231
|
+
return type;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
protected void stop() {
|
|
235
|
+
mAbort.set(true);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
@@ -15,8 +15,8 @@ NativeRNFSTurboModule::NativeRNFSTurboModule(std::shared_ptr<CallInvoker> jsInvo
|
|
|
15
15
|
|
|
16
16
|
NativeRNFSTurboModule::~NativeRNFSTurboModule() {}
|
|
17
17
|
|
|
18
|
-
jsi::Object NativeRNFSTurboModule::createRNFSTurbo(jsi::Runtime& runtime
|
|
19
|
-
auto instance = std::make_shared<RNFSTurboHostObject>(
|
|
18
|
+
jsi::Object NativeRNFSTurboModule::createRNFSTurbo(jsi::Runtime& runtime) {
|
|
19
|
+
auto instance = std::make_shared<RNFSTurboHostObject>();
|
|
20
20
|
return jsi::Object::createFromHostObject(runtime, instance);
|
|
21
21
|
}
|
|
22
22
|
|
|
@@ -19,29 +19,13 @@
|
|
|
19
19
|
|
|
20
20
|
namespace facebook::react {
|
|
21
21
|
|
|
22
|
-
// The RNFSTurboConfiguration type from JS
|
|
23
|
-
using RNFSTurboConfig = RNFSTurboModuleConfiguration<
|
|
24
|
-
std::string,
|
|
25
|
-
std::string,
|
|
26
|
-
std::string,
|
|
27
|
-
std::string,
|
|
28
|
-
std::string,
|
|
29
|
-
std::string,
|
|
30
|
-
std::string,
|
|
31
|
-
std::string,
|
|
32
|
-
std::string,
|
|
33
|
-
std::string,
|
|
34
|
-
std::string
|
|
35
|
-
>;
|
|
36
|
-
template <> struct Bridging<RNFSTurboConfig> : RNFSTurboModuleConfigurationBridging<RNFSTurboConfig> {};
|
|
37
|
-
|
|
38
22
|
// The TurboModule itself
|
|
39
23
|
class NativeRNFSTurboModule : public NativeRNFSTurboModuleCxxSpec<NativeRNFSTurboModule> {
|
|
40
24
|
public:
|
|
41
25
|
NativeRNFSTurboModule(std::shared_ptr<CallInvoker> jsInvoker);
|
|
42
26
|
~NativeRNFSTurboModule();
|
|
43
27
|
|
|
44
|
-
jsi::Object createRNFSTurbo(jsi::Runtime& runtime
|
|
28
|
+
jsi::Object createRNFSTurbo(jsi::Runtime& runtime);
|
|
45
29
|
};
|
|
46
30
|
|
|
47
|
-
} // namespace facebook::react
|
|
31
|
+
} // namespace facebook::react
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
using namespace facebook;
|
|
12
12
|
namespace fs = std::filesystem;
|
|
13
13
|
|
|
14
|
-
RNFSTurboHostObject::RNFSTurboHostObject(
|
|
14
|
+
RNFSTurboHostObject::RNFSTurboHostObject() {
|
|
15
15
|
RNFSTurboLogger::log("RNFSTurbo", "Initializing RNFSTurbo");
|
|
16
16
|
#ifdef __ANDROID__
|
|
17
17
|
JNIEnv *env = facebook::jni::Environment::current();
|
|
@@ -10,7 +10,7 @@ const createRNFSTurbo = () => {
|
|
|
10
10
|
configuration,
|
|
11
11
|
module
|
|
12
12
|
} = (0, _NativeRNFSTurboModule.getRNFSTurboModule)();
|
|
13
|
-
const instance = module.createRNFSTurbo(
|
|
13
|
+
const instance = module.createRNFSTurbo();
|
|
14
14
|
if (__DEV__) {
|
|
15
15
|
if (typeof instance !== "object" || instance == null) {
|
|
16
16
|
throw new Error("Failed to create RNFSTurbo instance - an unknown object was returned by createRNFSTurbo(..)!");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_NativeRNFSTurboModule","require","createRNFSTurbo","configuration","module","getRNFSTurboModule","instance","__DEV__","Error","exports"],"sourceRoot":"../../src","sources":["createRNFSTurbo.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAMO,MAAMC,eAAe,GAAGA,CAAA,KAG1B;EACH,MAAM;IAAEC,aAAa;IAAEC;EAAO,CAAC,GAAG,IAAAC,yCAAkB,EAAC,CAAC;EAEtD,MAAMC,QAAQ,GAAGF,MAAM,CAACF,eAAe,
|
|
1
|
+
{"version":3,"names":["_NativeRNFSTurboModule","require","createRNFSTurbo","configuration","module","getRNFSTurboModule","instance","__DEV__","Error","exports"],"sourceRoot":"../../src","sources":["createRNFSTurbo.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAMO,MAAMC,eAAe,GAAGA,CAAA,KAG1B;EACH,MAAM;IAAEC,aAAa;IAAEC;EAAO,CAAC,GAAG,IAAAC,yCAAkB,EAAC,CAAC;EAEtD,MAAMC,QAAQ,GAAGF,MAAM,CAACF,eAAe,CAAC,CAAuB;EAC/D,IAAIK,OAAO,EAAE;IACX,IAAI,OAAOD,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,IAAI,IAAI,EAAE;MACpD,MAAM,IAAIE,KAAK,CACb,8FACF,CAAC;IACH;EACF;EACA,OAAO;IAAEL,aAAa;IAAEG;EAAS,CAAC;AACpC,CAAC;AAACG,OAAA,CAAAP,eAAA,GAAAA,eAAA","ignoreList":[]}
|
|
@@ -6,7 +6,7 @@ export const createRNFSTurbo = () => {
|
|
|
6
6
|
configuration,
|
|
7
7
|
module
|
|
8
8
|
} = getRNFSTurboModule();
|
|
9
|
-
const instance = module.createRNFSTurbo(
|
|
9
|
+
const instance = module.createRNFSTurbo();
|
|
10
10
|
if (__DEV__) {
|
|
11
11
|
if (typeof instance !== "object" || instance == null) {
|
|
12
12
|
throw new Error("Failed to create RNFSTurbo instance - an unknown object was returned by createRNFSTurbo(..)!");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getRNFSTurboModule","createRNFSTurbo","configuration","module","instance","__DEV__","Error"],"sourceRoot":"../../src","sources":["createRNFSTurbo.ts"],"mappings":";;AAAA,SACEA,kBAAkB,QAEb,yBAAyB;AAGhC,OAAO,MAAMC,eAAe,GAAGA,CAAA,KAG1B;EACH,MAAM;IAAEC,aAAa;IAAEC;EAAO,CAAC,GAAGH,kBAAkB,CAAC,CAAC;EAEtD,MAAMI,QAAQ,GAAGD,MAAM,CAACF,eAAe,
|
|
1
|
+
{"version":3,"names":["getRNFSTurboModule","createRNFSTurbo","configuration","module","instance","__DEV__","Error"],"sourceRoot":"../../src","sources":["createRNFSTurbo.ts"],"mappings":";;AAAA,SACEA,kBAAkB,QAEb,yBAAyB;AAGhC,OAAO,MAAMC,eAAe,GAAGA,CAAA,KAG1B;EACH,MAAM;IAAEC,aAAa;IAAEC;EAAO,CAAC,GAAGH,kBAAkB,CAAC,CAAC;EAEtD,MAAMI,QAAQ,GAAGD,MAAM,CAACF,eAAe,CAAC,CAAuB;EAC/D,IAAII,OAAO,EAAE;IACX,IAAI,OAAOD,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,IAAI,IAAI,EAAE;MACpD,MAAM,IAAIE,KAAK,CACb,8FACF,CAAC;IACH;EACF;EACA,OAAO;IAAEJ,aAAa;IAAEE;EAAS,CAAC;AACpC,CAAC","ignoreList":[]}
|
|
@@ -24,7 +24,7 @@ export interface Spec extends TurboModule {
|
|
|
24
24
|
* Create a new instance of RNFSTurbo.
|
|
25
25
|
* The returned {@linkcode UnsafeObject} is a `jsi::HostObject`.
|
|
26
26
|
*/
|
|
27
|
-
readonly createRNFSTurbo: (
|
|
27
|
+
readonly createRNFSTurbo: () => UnsafeObject;
|
|
28
28
|
}
|
|
29
29
|
export declare function getRNFSTurboModule(): {
|
|
30
30
|
configuration: Configuration;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeRNFSTurboModule.d.ts","sourceRoot":"","sources":["../../src/NativeRNFSTurboModule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAIzE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,4BAA4B,EAAE,MAAM,CAAC;IACrC,2BAA2B,EAAE,MAAM,CAAC;IACpC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AAEH,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"NativeRNFSTurboModule.d.ts","sourceRoot":"","sources":["../../src/NativeRNFSTurboModule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAIzE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,4BAA4B,EAAE,MAAM,CAAC;IACrC,2BAA2B,EAAE,MAAM,CAAC;IACpC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AAEH,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,YAAY,CAAC;CAC9C;AAKD,wBAAgB,kBAAkB,IAAI;IACpC,aAAa,EAAE,aAAa,CAAC;IAC7B,MAAM,EAAE,IAAI,CAAC;CACd,CAgCA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-fs-turbo",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "React-Native library for working with Android/iOS file system, written using JSI and C++ TurboModules",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
@@ -15,6 +15,10 @@
|
|
|
15
15
|
"release": "bob build && release-it"
|
|
16
16
|
},
|
|
17
17
|
"files": [
|
|
18
|
+
"android/src",
|
|
19
|
+
"android/build.gradle",
|
|
20
|
+
"android/CMakeLists.txt",
|
|
21
|
+
"android/gradle.properties",
|
|
18
22
|
"cpp/**/*.h",
|
|
19
23
|
"cpp/**/*.cpp",
|
|
20
24
|
"lib/commonjs",
|
|
@@ -25,6 +29,7 @@
|
|
|
25
29
|
"ios/**/*.mm",
|
|
26
30
|
"ios/**/*.cpp",
|
|
27
31
|
"src",
|
|
32
|
+
"react-native.config.js",
|
|
28
33
|
"RNFSTurbo.podspec"
|
|
29
34
|
],
|
|
30
35
|
"keywords": [
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// https://github.com/react-native-community/cli/blob/main/docs/dependencies.md
|
|
2
|
+
|
|
3
|
+
module.exports = {
|
|
4
|
+
dependency: {
|
|
5
|
+
platforms: {
|
|
6
|
+
/**
|
|
7
|
+
* @type {import('@react-native-community/cli-types').IOSDependencyParams}
|
|
8
|
+
*/
|
|
9
|
+
ios: {},
|
|
10
|
+
/**
|
|
11
|
+
* @type {import('@react-native-community/cli-types').AndroidDependencyParams}
|
|
12
|
+
*/
|
|
13
|
+
android: {
|
|
14
|
+
cxxModuleCMakeListsModuleName: 'react-native-fs-turbo',
|
|
15
|
+
cxxModuleCMakeListsPath: 'CMakeLists.txt',
|
|
16
|
+
cxxModuleHeaderName: 'NativeRNFSTurboModule',
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
};
|
|
@@ -30,7 +30,7 @@ export interface Spec extends TurboModule {
|
|
|
30
30
|
* Create a new instance of RNFSTurbo.
|
|
31
31
|
* The returned {@linkcode UnsafeObject} is a `jsi::HostObject`.
|
|
32
32
|
*/
|
|
33
|
-
readonly createRNFSTurbo: (
|
|
33
|
+
readonly createRNFSTurbo: () => UnsafeObject;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
let module: Spec | null;
|
package/src/createRNFSTurbo.ts
CHANGED
|
@@ -10,7 +10,7 @@ export const createRNFSTurbo = (): {
|
|
|
10
10
|
} => {
|
|
11
11
|
const { configuration, module } = getRNFSTurboModule();
|
|
12
12
|
|
|
13
|
-
const instance = module.createRNFSTurbo(
|
|
13
|
+
const instance = module.createRNFSTurbo() as RNFSTurboInterface;
|
|
14
14
|
if (__DEV__) {
|
|
15
15
|
if (typeof instance !== "object" || instance == null) {
|
|
16
16
|
throw new Error(
|