react-native-fs-turbo 0.2.0 → 0.3.1

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.
@@ -36,7 +36,7 @@ jsi::Value RNFSTurboHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID
36
36
  std::string propName = propNameId.utf8(runtime);
37
37
 
38
38
  RNFSTurboLogger::log("RNFSTurbo", "call func %s...", propName.c_str());
39
-
39
+
40
40
  if (propName == "stat") {
41
41
  return jsi::Function::createFromHostFunction(
42
42
  runtime, jsi::PropNameID::forAscii(runtime, propName),
@@ -286,10 +286,29 @@ jsi::Value RNFSTurboHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID
286
286
  offset = arguments[2].asNumber();
287
287
  }
288
288
  std::string encoding{"utf8"};
289
+ int optionsIndex{-1};
290
+ bool optionsIsObject{false};
289
291
  if (propName == "read" && count == 4 && arguments[3].isString()) {
290
- encoding = arguments[3].asString(runtime).utf8(runtime);
292
+ optionsIndex = 3;
291
293
  } else if (propName != "read" && count == 2 && arguments[1].isString()) {
292
- encoding = arguments[1].asString(runtime).utf8(runtime);
294
+ optionsIndex = 1;
295
+ } else if (propName == "read" && count == 4 && arguments[3].isObject()) {
296
+ optionsIndex = 3;
297
+ optionsIsObject = true;
298
+ } else if (propName != "read" && count == 2 && arguments[1].isObject()) {
299
+ optionsIndex = 1;
300
+ optionsIsObject = true;
301
+ }
302
+ if (optionsIndex > -1 && !optionsIsObject) {
303
+ encoding = arguments[optionsIndex].asString(runtime).utf8(runtime);
304
+ } else if (optionsIndex > -1 && optionsIsObject) {
305
+ auto optionsObject = arguments[optionsIndex].asObject(runtime);
306
+ if (optionsObject.hasProperty(runtime, "encoding")) {
307
+ auto encodingOption = optionsObject.getProperty(runtime, "encoding");
308
+ if (encodingOption.isString()) {
309
+ encoding = encodingOption.asString(runtime).utf8(runtime);
310
+ }
311
+ }
293
312
  }
294
313
  if (encoding != "utf8" && encoding != "base64" && encoding != "uint8" && encoding != "float32" && encoding != "ascii") {
295
314
  throw jsi::JSError(runtime, RNFSTurboLogger::sprintf("%s: %s: %s", propName.c_str(), "Wrong encoding", encoding.c_str()));
@@ -364,10 +383,38 @@ jsi::Value RNFSTurboHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID
364
383
  throw jsi::JSError(runtime, RNFSTurboLogger::sprintf("%s: %s", propName.c_str(), "First argument ('filepath') has to be of type string"));
365
384
  }
366
385
  std::string encoding{"utf8"};
386
+ std::map<std::string, std::string> options;
387
+ int optionsIndex{-1};
388
+ bool optionsIsObject{false};
367
389
  if (propName == "write" && count == 4 && arguments[3].isString()) {
368
- encoding = arguments[3].asString(runtime).utf8(runtime);
390
+ optionsIndex = 3;
369
391
  } else if (propName != "write" && count == 3 && arguments[2].isString()) {
370
- encoding = arguments[2].asString(runtime).utf8(runtime);
392
+ optionsIndex = 2;
393
+ } else if (propName == "write" && count == 4 && arguments[3].isObject()) {
394
+ optionsIndex = 3;
395
+ optionsIsObject = true;
396
+ } else if (propName != "write" && count == 3 && arguments[2].isObject()) {
397
+ optionsIndex = 2;
398
+ optionsIsObject = true;
399
+ }
400
+ if (optionsIndex > -1 && !optionsIsObject) {
401
+ encoding = arguments[optionsIndex].asString(runtime).utf8(runtime);
402
+ } else if (optionsIndex > -1 && optionsIsObject) {
403
+ auto optionsObject = arguments[optionsIndex].asObject(runtime);
404
+ if (optionsObject.hasProperty(runtime, "encoding")) {
405
+ auto encodingOption = optionsObject.getProperty(runtime, "encoding");
406
+ if (encodingOption.isString()) {
407
+ encoding = encodingOption.asString(runtime).utf8(runtime);
408
+ }
409
+ }
410
+ #ifdef __APPLE__
411
+ if (optionsObject.hasProperty(runtime, "NSFileProtectionKey")) {
412
+ auto protectionOption = optionsObject.getProperty(runtime, "NSFileProtectionKey");
413
+ if (protectionOption.isString()) {
414
+ options["NSFileProtectionKey"] = protectionOption.asString(runtime).utf8(runtime);
415
+ }
416
+ }
417
+ #endif
371
418
  }
372
419
  if (encoding != "utf8" && encoding != "base64" && encoding != "uint8" && encoding != "float32" && encoding != "ascii") {
373
420
  throw jsi::JSError(runtime, RNFSTurboLogger::sprintf("%s: %s: %s", propName.c_str(), "Wrong encoding", encoding.c_str()));
@@ -475,6 +522,15 @@ jsi::Value RNFSTurboHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID
475
522
  );
476
523
  }
477
524
  }
525
+ #ifdef __APPLE__
526
+ if (options.count("NSFileProtectionKey") > 0) {
527
+ platformHelper->setResourceValue(
528
+ filePath.c_str(),
529
+ "NSFileProtectionKey",
530
+ options["NSFileProtectionKey"].c_str()
531
+ );
532
+ }
533
+ #endif
478
534
  } catch (const char *error_message) {
479
535
  throw jsi::JSError(runtime, RNFSTurboLogger::sprintf("%s: %s: %s", filePath.c_str(), propName.c_str(), error_message));
480
536
  } catch (std::exception const& e) {
@@ -499,9 +555,32 @@ jsi::Value RNFSTurboHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID
499
555
 
500
556
  std::string filePath = cleanPath(arguments[0].asString(runtime).utf8(runtime));
501
557
  std::string destPath = cleanPath(arguments[1].asString(runtime).utf8(runtime));
558
+
559
+ std::map<std::string, std::string> options;
560
+ if (count == 3 && arguments[2].isObject()) {
561
+ auto optionsObject = arguments[2].asObject(runtime);
562
+ #ifdef __APPLE__
563
+ if (optionsObject.hasProperty(runtime, "NSFileProtectionKey")) {
564
+ auto protectionOption = optionsObject.getProperty(runtime, "NSFileProtectionKey");
565
+ if (protectionOption.isString()) {
566
+ options["NSFileProtectionKey"] = protectionOption.asString(runtime).utf8(runtime);
567
+ }
568
+ }
569
+ #endif
570
+ }
502
571
 
503
572
  try {
504
573
  fs::rename(filePath.c_str(), destPath.c_str());
574
+
575
+ #ifdef __APPLE__
576
+ if (options.count("NSFileProtectionKey") > 0) {
577
+ platformHelper->setResourceValue(
578
+ destPath.c_str(),
579
+ "NSFileProtectionKey",
580
+ options["NSFileProtectionKey"].c_str()
581
+ );
582
+ }
583
+ #endif
505
584
  } catch (fs::filesystem_error& e) {
506
585
  throw jsi::JSError(runtime, RNFSTurboLogger::sprintf("%s: %s", "moveFile", e.what()));
507
586
  }
@@ -524,6 +603,19 @@ jsi::Value RNFSTurboHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID
524
603
 
525
604
  std::string srcFolderPath = cleanPath(arguments[0].asString(runtime).utf8(runtime));
526
605
  std::string destFolderPath = cleanPath(arguments[1].asString(runtime).utf8(runtime));
606
+
607
+ std::map<std::string, std::string> options;
608
+ if (count == 3 && arguments[2].isObject()) {
609
+ auto optionsObject = arguments[2].asObject(runtime);
610
+ #ifdef __APPLE__
611
+ if (optionsObject.hasProperty(runtime, "NSFileProtectionKey")) {
612
+ auto protectionOption = optionsObject.getProperty(runtime, "NSFileProtectionKey");
613
+ if (protectionOption.isString()) {
614
+ options["NSFileProtectionKey"] = protectionOption.asString(runtime).utf8(runtime);
615
+ }
616
+ }
617
+ #endif
618
+ }
527
619
 
528
620
  struct stat t_stat;
529
621
  int res = stat(srcFolderPath.c_str(), &t_stat);
@@ -536,6 +628,16 @@ jsi::Value RNFSTurboHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID
536
628
 
537
629
  try {
538
630
  fs::copy(srcFolderPath, destFolderPath, fs::copy_options::overwrite_existing | fs::copy_options::recursive);
631
+
632
+ #ifdef __APPLE__
633
+ if (options.count("NSFileProtectionKey") > 0) {
634
+ platformHelper->setResourceValue(
635
+ destFolderPath.c_str(),
636
+ "NSFileProtectionKey",
637
+ options["NSFileProtectionKey"].c_str()
638
+ );
639
+ }
640
+ #endif
539
641
  } catch (fs::filesystem_error& e) {
540
642
  throw jsi::JSError(runtime, RNFSTurboLogger::sprintf("%s: %s", "copyFolder", e.what()));
541
643
  }
@@ -563,6 +665,19 @@ jsi::Value RNFSTurboHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID
563
665
 
564
666
  std::string filePath = cleanPath(arguments[0].asString(runtime).utf8(runtime));
565
667
  std::string destPath = cleanPath(arguments[1].asString(runtime).utf8(runtime));
668
+
669
+ std::map<std::string, std::string> options;
670
+ if (count == 3 && arguments[2].isObject()) {
671
+ auto optionsObject = arguments[2].asObject(runtime);
672
+ #ifdef __APPLE__
673
+ if (optionsObject.hasProperty(runtime, "NSFileProtectionKey")) {
674
+ auto protectionOption = optionsObject.getProperty(runtime, "NSFileProtectionKey");
675
+ if (protectionOption.isString()) {
676
+ options["NSFileProtectionKey"] = protectionOption.asString(runtime).utf8(runtime);
677
+ }
678
+ }
679
+ #endif
680
+ }
566
681
 
567
682
  try {
568
683
  if (propName == "copyFileAssets" || propName == "copyFileRes") {
@@ -571,6 +686,16 @@ jsi::Value RNFSTurboHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID
571
686
  #endif
572
687
  } else {
573
688
  fs::copy(filePath.c_str(), destPath.c_str());
689
+
690
+ #ifdef __APPLE__
691
+ if (options.count("NSFileProtectionKey") > 0) {
692
+ platformHelper->setResourceValue(
693
+ destPath.c_str(),
694
+ "NSFileProtectionKey",
695
+ options["NSFileProtectionKey"].c_str()
696
+ );
697
+ }
698
+ #endif
574
699
  }
575
700
  } catch (fs::filesystem_error& e) {
576
701
  throw jsi::JSError(runtime, RNFSTurboLogger::sprintf("%s: %s", propName.c_str(), e.what()));
@@ -834,29 +959,44 @@ jsi::Value RNFSTurboHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID
834
959
 
835
960
  std::string filePath = cleanPath(arguments[0].asString(runtime).utf8(runtime));
836
961
 
837
- bool isExcludedFromBackupKey{false};
962
+ std::map<std::string, std::string> options;
838
963
  if (count == 2 && arguments[1].isObject()) {
839
- jsi::Value propIsExcludedFromBackupKey = arguments[1].asObject(runtime).getProperty(runtime, "NSURLIsExcludedFromBackupKey");
840
- if (propIsExcludedFromBackupKey.isBool()) {
841
- isExcludedFromBackupKey = propIsExcludedFromBackupKey.getBool();
964
+ auto optionsObject = arguments[1].asObject(runtime);
965
+ #ifdef __APPLE__
966
+ if (optionsObject.hasProperty(runtime, "NSFileProtectionKey")) {
967
+ auto protectionOption = optionsObject.getProperty(runtime, "NSFileProtectionKey");
968
+ if (protectionOption.isString()) {
969
+ options["NSFileProtectionKey"] = protectionOption.asString(runtime).utf8(runtime);
842
970
  }
971
+ }
972
+ if (optionsObject.hasProperty(runtime, "NSURLIsExcludedFromBackupKey")) {
973
+ auto excludeFromBackupOption = optionsObject.getProperty(runtime, "NSURLIsExcludedFromBackupKey");
974
+ if (excludeFromBackupOption.isBool()) {
975
+ options["NSURLIsExcludedFromBackupKey"] = excludeFromBackupOption.getBool() ? "YES" : "NO";
976
+ }
977
+ }
978
+ #endif
843
979
  }
844
980
 
845
981
  try {
846
982
  fs::create_directories(filePath);
847
983
 
848
- if (isExcludedFromBackupKey) {
849
984
  #ifdef __APPLE__
850
- NSString *nsFilePath = [NSString stringWithCString:filePath.c_str()
851
- encoding:[NSString defaultCStringEncoding]];
852
- NSURL *url = [NSURL fileURLWithPath:nsFilePath];
853
- BOOL success = [url setResourceValue:[NSNumber numberWithBool:YES] forKey:NSURLIsExcludedFromBackupKey error:nil];
854
-
855
- if (!success) {
856
- throw jsi::JSError(runtime, RNFSTurboLogger::sprintf("%s: %s: %s", filePath.c_str(), "mkdir", "Can not set NSURLIsExcludedFromBackupKey"));
857
- }
858
- #endif
985
+ if (options.count("NSFileProtectionKey") > 0) {
986
+ platformHelper->setResourceValue(
987
+ filePath.c_str(),
988
+ "NSFileProtectionKey",
989
+ options["NSFileProtectionKey"].c_str()
990
+ );
859
991
  }
992
+ if (options.count("NSURLIsExcludedFromBackupKey") > 0) {
993
+ platformHelper->setResourceValue(
994
+ filePath.c_str(),
995
+ "NSURLIsExcludedFromBackupKey",
996
+ options["NSURLIsExcludedFromBackupKey"].c_str()
997
+ );
998
+ }
999
+ #endif
860
1000
  } catch (fs::filesystem_error& e) {
861
1001
  throw jsi::JSError(runtime, RNFSTurboLogger::sprintf("%s: %s", "mkdir", e.what()));
862
1002
  }
@@ -999,47 +1139,57 @@ jsi::Value RNFSTurboHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID
999
1139
  RNFSTurboPlatformHelper::jobId += 1;
1000
1140
  int jobId = RNFSTurboPlatformHelper::jobId;
1001
1141
 
1002
- RNFSTurboCompleteDownloadCallback completeCallback = [&runtime, completeFunc](int jobId, int statusCode, float bytesWritten) -> void {
1003
- jsi::Object result = jsi::Object(runtime);
1004
- result.setProperty(runtime, "jobId", jsi::Value(jobId));
1005
- result.setProperty(runtime, "statusCode", jsi::Value(statusCode));
1006
- result.setProperty(runtime, "bytesWritten", jsi::Value(bytesWritten));
1007
- completeFunc->call(runtime, std::move(result));
1142
+ RNFSTurboCompleteDownloadCallback completeCallback = [&runtime, completeFunc, this](int jobId, int statusCode, float bytesWritten) -> void {
1143
+ jsInvoker->invokeAsync([&runtime, completeFunc, jobId, statusCode, bytesWritten]() {
1144
+ jsi::Object result = jsi::Object(runtime);
1145
+ result.setProperty(runtime, "jobId", jsi::Value(jobId));
1146
+ result.setProperty(runtime, "statusCode", jsi::Value(statusCode));
1147
+ result.setProperty(runtime, "bytesWritten", jsi::Value(bytesWritten));
1148
+ completeFunc->call(runtime, std::move(result));
1149
+ });
1008
1150
  };
1009
1151
 
1010
- RNFSTurboErrorCallback errorCallback = [&runtime, errorFunc](int jobId, const char* errorMessage) -> void {
1011
- errorFunc->call(runtime, jsi::String::createFromUtf8(runtime, RNFSTurboLogger::sprintf("%s: %s", "downloadFile", errorMessage)));
1152
+ RNFSTurboErrorCallback errorCallback = [&runtime, errorFunc, this](int jobId, const char* errorMessage) -> void {
1153
+ jsInvoker->invokeAsync([&runtime, errorFunc, jobId, errorMessage]() {
1154
+ errorFunc->call(runtime, jsi::String::createFromUtf8(runtime, RNFSTurboLogger::sprintf("%s: %s", "downloadFile", errorMessage)));
1155
+ });
1012
1156
  };
1013
1157
 
1014
1158
  std::optional<RNFSTurboBeginDownloadCallback> beginCallback = std::nullopt;
1015
1159
  if (beginCallbackFunc) {
1016
- beginCallback = [&runtime, beginCallbackFunc](int jobId, int statusCode, float contentLength, std::map<std::string, std::string> headers) -> void {
1017
- jsi::Object result = jsi::Object(runtime);
1018
- result.setProperty(runtime, "jobId", jsi::Value(jobId));
1019
- result.setProperty(runtime, "statusCode", jsi::Value(statusCode));
1020
- result.setProperty(runtime, "contentLength", jsi::Value(contentLength));
1021
- jsi::Object jsHeaders = jsi::Object(runtime);
1022
- for (auto const& [key, val] : headers) {
1023
- jsHeaders.setProperty(runtime, key.c_str(), jsi::String::createFromUtf8(runtime, val));
1024
- }
1025
- result.setProperty(runtime, "headers", jsHeaders);
1026
- beginCallbackFunc->call(runtime, std::move(result));
1160
+ beginCallback = [&runtime, beginCallbackFunc, this](int jobId, int statusCode, float contentLength, std::map<std::string, std::string> headers) -> void {
1161
+ jsInvoker->invokeAsync([&runtime, beginCallbackFunc, jobId, statusCode, contentLength, headers]() {
1162
+ jsi::Object result = jsi::Object(runtime);
1163
+ result.setProperty(runtime, "jobId", jsi::Value(jobId));
1164
+ result.setProperty(runtime, "statusCode", jsi::Value(statusCode));
1165
+ result.setProperty(runtime, "contentLength", jsi::Value(contentLength));
1166
+ jsi::Object jsHeaders = jsi::Object(runtime);
1167
+ for (auto const& [key, val] : headers) {
1168
+ jsHeaders.setProperty(runtime, key.c_str(), jsi::String::createFromUtf8(runtime, val));
1169
+ }
1170
+ result.setProperty(runtime, "headers", jsHeaders);
1171
+ beginCallbackFunc->call(runtime, std::move(result));
1172
+ });
1027
1173
  };
1028
1174
  }
1029
1175
  std::optional<RNFSTurboProgressDownloadCallback> progressCallback = std::nullopt;
1030
1176
  if (progressCallbackFunc) {
1031
- progressCallback = [&runtime, progressCallbackFunc](int jobId, float contentLength, float bytesWritten) -> void {
1032
- jsi::Object result = jsi::Object(runtime);
1033
- result.setProperty(runtime, "jobId", jsi::Value(jobId));
1034
- result.setProperty(runtime, "contentLength", jsi::Value(contentLength));
1035
- result.setProperty(runtime, "bytesWritten", jsi::Value(bytesWritten));
1036
- progressCallbackFunc->call(runtime, std::move(result));
1177
+ progressCallback = [&runtime, progressCallbackFunc, this](int jobId, float contentLength, float bytesWritten) -> void {
1178
+ jsInvoker->invokeAsync([&runtime, progressCallbackFunc, jobId, contentLength, bytesWritten]() {
1179
+ jsi::Object result = jsi::Object(runtime);
1180
+ result.setProperty(runtime, "jobId", jsi::Value(jobId));
1181
+ result.setProperty(runtime, "contentLength", jsi::Value(contentLength));
1182
+ result.setProperty(runtime, "bytesWritten", jsi::Value(bytesWritten));
1183
+ progressCallbackFunc->call(runtime, std::move(result));
1184
+ });
1037
1185
  };
1038
1186
  }
1039
1187
  std::optional<RNFSTurboResumableDownloadCallback> resumableCallback = std::nullopt;
1040
1188
  if (resumableCallbackFunc) {
1041
- resumableCallback = [&runtime, resumableCallbackFunc](int jobId) -> void {
1042
- resumableCallbackFunc->call(runtime, jsi::Value(jobId));
1189
+ resumableCallback = [&runtime, resumableCallbackFunc, this](int jobId) -> void {
1190
+ jsInvoker->invokeAsync([&runtime, resumableCallbackFunc, jobId]() {
1191
+ resumableCallbackFunc->call(runtime, jsi::Value(jobId));
1192
+ });
1043
1193
  };
1044
1194
  }
1045
1195
 
@@ -1288,26 +1438,32 @@ jsi::Value RNFSTurboHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID
1288
1438
  completeFunc->call(runtime, std::move(result));
1289
1439
  };
1290
1440
 
1291
- RNFSTurboErrorCallback errorCallback = [&runtime, errorFunc](int jobId, const char* errorMessage) -> void {
1292
- errorFunc->call(runtime, jsi::String::createFromUtf8(runtime, RNFSTurboLogger::sprintf("%s: %s", "uploadFiles", errorMessage)));
1441
+ RNFSTurboErrorCallback errorCallback = [&runtime, errorFunc, this](int jobId, const char* errorMessage) -> void {
1442
+ jsInvoker->invokeAsync([&runtime, errorFunc, errorMessage]() {
1443
+ errorFunc->call(runtime, jsi::String::createFromUtf8(runtime, RNFSTurboLogger::sprintf("%s: %s", "uploadFiles", errorMessage)));
1444
+ });
1293
1445
  };
1294
1446
 
1295
1447
  std::optional<RNFSTurboBeginUploadCallback> beginCallback = std::nullopt;
1296
1448
  if (beginCallbackFunc) {
1297
- beginCallback = [&runtime, beginCallbackFunc](int jobId) -> void {
1298
- jsi::Object result = jsi::Object(runtime);
1299
- result.setProperty(runtime, "jobId", jsi::Value(jobId));
1300
- beginCallbackFunc->call(runtime, std::move(result));
1449
+ beginCallback = [&runtime, beginCallbackFunc, this](int jobId) -> void {
1450
+ jsInvoker->invokeAsync([&runtime, beginCallbackFunc, jobId]() {
1451
+ jsi::Object result = jsi::Object(runtime);
1452
+ result.setProperty(runtime, "jobId", jsi::Value(jobId));
1453
+ beginCallbackFunc->call(runtime, std::move(result));
1454
+ });
1301
1455
  };
1302
1456
  }
1303
1457
  std::optional<RNFSTurboProgressUploadCallback> progressCallback = std::nullopt;
1304
1458
  if (progressCallbackFunc) {
1305
- progressCallback = [&runtime, progressCallbackFunc](int jobId, float totalBytesExpectedToSend, float totalBytesSent) -> void {
1306
- jsi::Object result = jsi::Object(runtime);
1307
- result.setProperty(runtime, "jobId", jsi::Value(jobId));
1308
- result.setProperty(runtime, "totalBytesExpectedToSend", jsi::Value(totalBytesExpectedToSend));
1309
- result.setProperty(runtime, "totalBytesSent", jsi::Value(totalBytesSent));
1310
- progressCallbackFunc->call(runtime, std::move(result));
1459
+ progressCallback = [&runtime, progressCallbackFunc, this](int jobId, float totalBytesExpectedToSend, float totalBytesSent) -> void {
1460
+ jsInvoker->invokeAsync([&runtime, progressCallbackFunc, jobId, totalBytesExpectedToSend, totalBytesSent]() {
1461
+ jsi::Object result = jsi::Object(runtime);
1462
+ result.setProperty(runtime, "jobId", jsi::Value(jobId));
1463
+ result.setProperty(runtime, "totalBytesExpectedToSend", jsi::Value(totalBytesExpectedToSend));
1464
+ result.setProperty(runtime, "totalBytesSent", jsi::Value(totalBytesSent));
1465
+ progressCallbackFunc->call(runtime, std::move(result));
1466
+ });
1311
1467
  };
1312
1468
  }
1313
1469
 
@@ -1404,11 +1560,13 @@ jsi::Value RNFSTurboHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID
1404
1560
  RNFSTurboPlatformHelper::jobId += 1;
1405
1561
  int jobId = RNFSTurboPlatformHelper::jobId;
1406
1562
 
1407
- RNFSTurboScanCallback scanCallback = [&runtime, scanFunc](int jobId, std::string path) -> void {
1408
- jsi::Object result = jsi::Object(runtime);
1409
- result.setProperty(runtime, "jobId", jsi::Value(jobId));
1410
- result.setProperty(runtime, "path", jsi::String::createFromUtf8(runtime, path));
1411
- scanFunc->call(runtime, std::move(result));
1563
+ RNFSTurboScanCallback scanCallback = [&runtime, scanFunc, this](int jobId, std::string path) -> void {
1564
+ jsInvoker->invokeAsync([&runtime, scanFunc, jobId, path]() {
1565
+ jsi::Object result = jsi::Object(runtime);
1566
+ result.setProperty(runtime, "jobId", jsi::Value(jobId));
1567
+ result.setProperty(runtime, "path", jsi::String::createFromUtf8(runtime, path));
1568
+ scanFunc->call(runtime, std::move(result));
1569
+ });
1412
1570
  };
1413
1571
 
1414
1572
  try {
@@ -1416,10 +1574,10 @@ jsi::Value RNFSTurboHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID
1416
1574
  } catch (const char* error_message) {
1417
1575
  throw jsi::JSError(runtime, RNFSTurboLogger::sprintf("%s: %s", "scanFile", error_message));
1418
1576
  }
1577
+ return jsi::Value(jobId);
1419
1578
  #else
1420
1579
  throw jsi::JSError(runtime, RNFSTurboLogger::sprintf("%s: %s", "scanFile", "Command only for Android"));
1421
1580
  #endif
1422
- return jsi::Value::undefined();
1423
1581
  }
1424
1582
  );
1425
1583
  }
@@ -42,6 +42,7 @@ public:
42
42
  public:
43
43
  jsi::Value get(jsi::Runtime&, const jsi::PropNameID& name) override;
44
44
  std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& rt) override;
45
+ std::shared_ptr<facebook::react::CallInvoker> jsInvoker;
45
46
 
46
47
  private:
47
48
  RNFSTurboPlatformHelper* platformHelper;
@@ -58,7 +58,6 @@ struct DownloadCallbacks {
58
58
  RNFSTurboBeginDownloadCallback beginCallback;
59
59
  RNFSTurboProgressDownloadCallback progressCallback;
60
60
  RNFSTurboResumableDownloadCallback resumableCallback;
61
- std::chrono::time_point<std::chrono::steady_clock> lastProgressCall{ std::chrono::steady_clock::now() };
62
61
  };
63
62
 
64
63
  struct UploadCallbacks {
@@ -66,7 +65,6 @@ struct UploadCallbacks {
66
65
  RNFSTurboErrorCallback errorCallback;
67
66
  RNFSTurboBeginUploadCallback beginCallback;
68
67
  RNFSTurboProgressUploadCallback progressCallback;
69
- std::chrono::time_point<std::chrono::steady_clock> lastProgressCall{ std::chrono::steady_clock::now() };
70
68
  };
71
69
 
72
70
  class RNFSTurboPlatformHelper {
@@ -154,4 +152,6 @@ public:
154
152
  std::vector<std::string> getAllExternalFilesDirs();
155
153
 
156
154
  const char* pathForGroup(const char* groupIdentifier);
155
+
156
+ void setResourceValue(const char* path, const char* optionType, const char* optionValue);
157
157
  };
@@ -405,3 +405,22 @@ const char* RNFSTurboPlatformHelper::pathForGroup(const char* groupIdentifier) {
405
405
  throw [[NSString stringWithFormat:@"No directory for group '%@' found", nsGroupIdentifier] UTF8String];
406
406
  }
407
407
  }
408
+
409
+ void RNFSTurboPlatformHelper::setResourceValue(
410
+ const char *path,
411
+ const char *optionType,
412
+ const char *optionValue
413
+ ) {
414
+ NSString* nsFilePath = [NSString stringWithUTF8String:path];
415
+ NSString* type = [NSString stringWithUTF8String:optionType];
416
+ NSString* value = [NSString stringWithUTF8String:optionValue];
417
+ NSURL *nsFileUrl = [NSURL fileURLWithPath:nsFilePath];
418
+ if ([type isEqualToString:NSFileProtectionKey]) {
419
+ NSMutableDictionary *attributes = [[NSMutableDictionary alloc] init];
420
+ [attributes setValue:value forKey:@"NSFileProtectionKey"];
421
+ [[NSFileManager defaultManager] setAttributes:attributes ofItemAtPath:nsFilePath error:nil];
422
+ } else if ([type isEqualToString:NSURLIsExcludedFromBackupKey]) {
423
+ BOOL isExclude = [value isEqualToString:@"YES"];
424
+ [nsFileUrl setResourceValue:@(isExclude) forKey:NSURLIsExcludedFromBackupKey error:nil];
425
+ }
426
+ }
@@ -77,45 +77,45 @@ class RNFSTurbo {
77
77
  const func = this.getFunctionFromCache("readdir");
78
78
  return func(dirpath);
79
79
  }
80
- readFile(filepath, encoding) {
80
+ readFile(filepath, options) {
81
81
  const func = this.getFunctionFromCache("readFile");
82
- return func(filepath, encoding);
82
+ return func(filepath, options);
83
83
  }
84
- read(filepath, length, position, encoding) {
84
+ read(filepath, length, position, options) {
85
85
  const func = this.getFunctionFromCache("read");
86
- return func(filepath, length, position, encoding);
86
+ return func(filepath, length, position, options);
87
87
  }
88
- readFileAssets(filepath, encoding) {
88
+ readFileAssets(filepath, options) {
89
89
  const func = this.getFunctionFromCache("readFileAssets");
90
- return func(filepath, encoding);
90
+ return func(filepath, options);
91
91
  }
92
- readFileRes(filepath, encoding) {
92
+ readFileRes(filepath, options) {
93
93
  const func = this.getFunctionFromCache("readFileRes");
94
- return func(filepath, encoding);
94
+ return func(filepath, options);
95
95
  }
96
- writeFile(filepath, contents, encoding) {
96
+ writeFile(filepath, contents, options) {
97
97
  const func = this.getFunctionFromCache("writeFile");
98
- return func(filepath, contents, encoding);
98
+ return func(filepath, contents, options);
99
99
  }
100
- appendFile(filepath, contents, encoding) {
100
+ appendFile(filepath, contents, options) {
101
101
  const func = this.getFunctionFromCache("appendFile");
102
- return func(filepath, contents, encoding);
102
+ return func(filepath, contents, options);
103
103
  }
104
- write(filepath, contents, position, encoding) {
104
+ write(filepath, contents, position, options) {
105
105
  const func = this.getFunctionFromCache("write");
106
- return func(filepath, contents, position, encoding);
106
+ return func(filepath, contents, position, options);
107
107
  }
108
- moveFile(filepath, destPath) {
108
+ moveFile(filepath, destPath, options) {
109
109
  const func = this.getFunctionFromCache("moveFile");
110
- return func(filepath, destPath);
110
+ return func(filepath, destPath, options);
111
111
  }
112
- copyFolder(srcFolderPath, destFolderPath) {
112
+ copyFolder(srcFolderPath, destFolderPath, options) {
113
113
  const func = this.getFunctionFromCache("copyFolder");
114
- return func(srcFolderPath, destFolderPath);
114
+ return func(srcFolderPath, destFolderPath, options);
115
115
  }
116
- copyFile(filepath, destPath) {
116
+ copyFile(filepath, destPath, options) {
117
117
  const func = this.getFunctionFromCache("copyFile");
118
- return func(filepath, destPath);
118
+ return func(filepath, destPath, options);
119
119
  }
120
120
  copyFileAssets(filepath, destPath) {
121
121
  const func = this.getFunctionFromCache("copyFileAssets");
@@ -1 +1 @@
1
- {"version":3,"names":["_createRNFSTurbo","require","RNFSTurbo","constructor","configuration","instance","createRNFSTurbo","nativeInstance","functionCache","getFunctionFromCache","functionName","MainBundlePath","mainBundlePath","CachesDirectoryPath","cachesDirectoryPath","DocumentDirectoryPath","documentDirectoryPath","TemporaryDirectoryPath","temporaryDirectoryPath","LibraryDirectoryPath","libraryDirectoryPath","ExternalDirectoryPath","externalDirectoryPath","ExternalStorageDirectoryPath","externalStorageDirectoryPath","ExternalCachesDirectoryPath","externalCachesDirectoryPath","DownloadDirectoryPath","PicturesDirectoryPath","picturesDirectoryPath","RoamingDirectoryPath","roamingDirectoryPath","stat","filepath","isNewFormat","func","readDir","dirpath","readDirAssets","readdir","readFile","encoding","read","length","position","readFileAssets","readFileRes","writeFile","contents","appendFile","write","moveFile","destPath","copyFolder","srcFolderPath","destFolderPath","copyFile","copyFileAssets","copyFileRes","copyAssetsFileIOS","imageUri","width","height","scale","compression","resizeMode","copyAssetsVideoIOS","videoUri","unlink","exists","existsAssets","existsRes","hash","algorithm","touch","mtime","ctime","valueOf","mkdir","options","downloadFile","completeCallback","errorCallback","funcResult","resolve","reject","tmpCallbackFunc","res","tmpErrorFunc","promise","Promise","callbackInterval","setInterval","clearInterval","undefined","jobId","stopDownload","resumeDownload","isResumable","completeHandlerIOS","uploadFiles","stopUpload","getFSInfo","scanFile","path","getAllExternalFilesDirs","pathForGroup","groupIdentifier","RNFSTurboInstance","_default","exports","default"],"sourceRoot":"../../src","sources":["RNFSTurbo.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_createRNFSTurbo","require","RNFSTurbo","constructor","configuration","instance","createRNFSTurbo","nativeInstance","functionCache","getFunctionFromCache","functionName","MainBundlePath","mainBundlePath","CachesDirectoryPath","cachesDirectoryPath","DocumentDirectoryPath","documentDirectoryPath","TemporaryDirectoryPath","temporaryDirectoryPath","LibraryDirectoryPath","libraryDirectoryPath","ExternalDirectoryPath","externalDirectoryPath","ExternalStorageDirectoryPath","externalStorageDirectoryPath","ExternalCachesDirectoryPath","externalCachesDirectoryPath","DownloadDirectoryPath","PicturesDirectoryPath","picturesDirectoryPath","RoamingDirectoryPath","roamingDirectoryPath","stat","filepath","isNewFormat","func","readDir","dirpath","readDirAssets","readdir","readFile","options","read","length","position","readFileAssets","readFileRes","writeFile","contents","appendFile","write","moveFile","destPath","copyFolder","srcFolderPath","destFolderPath","copyFile","copyFileAssets","copyFileRes","copyAssetsFileIOS","imageUri","width","height","scale","compression","resizeMode","copyAssetsVideoIOS","videoUri","unlink","exists","existsAssets","existsRes","hash","algorithm","touch","mtime","ctime","valueOf","mkdir","downloadFile","completeCallback","errorCallback","funcResult","resolve","reject","tmpCallbackFunc","res","tmpErrorFunc","promise","Promise","callbackInterval","setInterval","clearInterval","undefined","jobId","stopDownload","resumeDownload","isResumable","completeHandlerIOS","uploadFiles","stopUpload","getFSInfo","scanFile","path","getAllExternalFilesDirs","pathForGroup","groupIdentifier","RNFSTurboInstance","_default","exports","default"],"sourceRoot":"../../src","sources":["RNFSTurbo.ts"],"mappings":"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","ignoreList":[]}