@nativescript/core 8.5.3 → 8.5.4-alpha.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.
Files changed (145) hide show
  1. package/accessibility/accessibility-css-helper.js +5 -6
  2. package/accessibility/accessibility-css-helper.js.map +1 -1
  3. package/accessibility/accessibility-service.android.js +24 -23
  4. package/accessibility/accessibility-service.android.js.map +1 -1
  5. package/accessibility/accessibility-service.ios.js +1 -1
  6. package/accessibility/accessibility-service.ios.js.map +1 -1
  7. package/accessibility/font-scale.android.js +1 -1
  8. package/accessibility/font-scale.android.js.map +1 -1
  9. package/accessibility/font-scale.ios.js +1 -1
  10. package/accessibility/font-scale.ios.js.map +1 -1
  11. package/accessibility/index.android.js +1 -1
  12. package/accessibility/index.android.js.map +1 -1
  13. package/accessibility/index.ios.js +1 -1
  14. package/accessibility/index.ios.js.map +1 -1
  15. package/application/application-common.d.ts +197 -41
  16. package/application/application-common.js +411 -151
  17. package/application/application-common.js.map +1 -1
  18. package/application/application-interfaces.d.ts +116 -28
  19. package/application/application-shims.d.ts +351 -0
  20. package/application/application-shims.js +353 -0
  21. package/application/application-shims.js.map +1 -0
  22. package/application/application.android.d.ts +75 -0
  23. package/application/application.android.js +445 -0
  24. package/application/application.android.js.map +1 -0
  25. package/application/application.d.ts +105 -0
  26. package/application/application.ios.d.ts +72 -0
  27. package/application/application.ios.js +375 -0
  28. package/application/application.ios.js.map +1 -0
  29. package/application/index.android.d.ts +2 -77
  30. package/application/index.android.js +2 -455
  31. package/application/index.android.js.map +1 -1
  32. package/application/index.d.ts +2 -759
  33. package/application/index.ios.d.ts +2 -65
  34. package/application/index.ios.js +2 -516
  35. package/application/index.ios.js.map +1 -1
  36. package/application-settings/index.android.js +2 -2
  37. package/application-settings/index.android.js.map +1 -1
  38. package/connectivity/index.android.js +4 -5
  39. package/connectivity/index.android.js.map +1 -1
  40. package/css/LICENSE +9 -0
  41. package/css/Readme.md +278 -0
  42. package/css-value/LICENSE +9 -0
  43. package/css-value/Readme.md +45 -0
  44. package/fetch/LICENSE +20 -0
  45. package/fetch/README.md +1 -0
  46. package/file-system/file-system-access.android.d.ts +18 -0
  47. package/file-system/file-system-access.android.js +205 -3
  48. package/file-system/file-system-access.android.js.map +1 -1
  49. package/file-system/file-system-access.d.ts +67 -0
  50. package/file-system/file-system-access.ios.d.ts +9 -0
  51. package/file-system/file-system-access.ios.js +106 -0
  52. package/file-system/file-system-access.ios.js.map +1 -1
  53. package/file-system/index.d.ts +60 -0
  54. package/file-system/index.js +197 -3
  55. package/file-system/index.js.map +1 -1
  56. package/image-source/index.android.js +2 -2
  57. package/image-source/index.android.js.map +1 -1
  58. package/index.d.ts +22 -139
  59. package/index.js +15 -156
  60. package/index.js.map +1 -1
  61. package/js-libs/easysax/LICENSE +20 -0
  62. package/js-libs/easysax/README.md +46 -0
  63. package/module-name-resolver/index.js +5 -5
  64. package/module-name-resolver/index.js.map +1 -1
  65. package/module-name-resolver/non-bundle-workflow-compat.js +2 -2
  66. package/module-name-resolver/non-bundle-workflow-compat.js.map +1 -1
  67. package/package.json +1 -1
  68. package/platform/index.android.js +5 -5
  69. package/platform/index.android.js.map +1 -1
  70. package/platforms/README.md +1 -0
  71. package/platforms/android/widgets-release.aar +0 -0
  72. package/platforms/ios/TNSWidgets.xcframework/Info.plist +7 -7
  73. package/platforms/ios/TNSWidgets.xcframework/ios-arm64/TNSWidgets.framework/Headers/NSFileHandle+Async.h +22 -0
  74. package/platforms/ios/TNSWidgets.xcframework/ios-arm64/TNSWidgets.framework/Headers/TNSWidgets.h +1 -0
  75. package/platforms/ios/TNSWidgets.xcframework/ios-arm64/TNSWidgets.framework/Info.plist +0 -0
  76. package/platforms/ios/TNSWidgets.xcframework/ios-arm64/TNSWidgets.framework/TNSWidgets +0 -0
  77. package/platforms/ios/TNSWidgets.xcframework/ios-arm64/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/DWARF/TNSWidgets +0 -0
  78. package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Headers/NSFileHandle+Async.h +22 -0
  79. package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Headers/TNSWidgets.h +1 -0
  80. package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Resources/Info.plist +4 -4
  81. package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/TNSWidgets +0 -0
  82. package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/NSFileHandle+Async.h +22 -0
  83. package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/TNSWidgets.h +1 -0
  84. package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Resources/Info.plist +4 -4
  85. package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/TNSWidgets +0 -0
  86. package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/Current/TNSWidgets +0 -0
  87. package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/DWARF/TNSWidgets +0 -0
  88. package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/TNSWidgets.framework/Headers/NSFileHandle+Async.h +22 -0
  89. package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/TNSWidgets.framework/Headers/TNSWidgets.h +1 -0
  90. package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/TNSWidgets.framework/Info.plist +0 -0
  91. package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/TNSWidgets.framework/TNSWidgets +0 -0
  92. package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/TNSWidgets.framework/_CodeSignature/CodeResources +14 -3
  93. package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/DWARF/TNSWidgets +0 -0
  94. package/ui/action-bar/index.android.js +5 -5
  95. package/ui/action-bar/index.android.js.map +1 -1
  96. package/ui/core/view/index.android.js +2 -2
  97. package/ui/core/view/index.android.js.map +1 -1
  98. package/ui/core/view/view-helper/index.ios.js +5 -6
  99. package/ui/core/view/view-helper/index.ios.js.map +1 -1
  100. package/ui/dialogs/index.ios.js +9 -3
  101. package/ui/dialogs/index.ios.js.map +1 -1
  102. package/ui/frame/activity.android.js +2 -2
  103. package/ui/frame/activity.android.js.map +1 -1
  104. package/ui/frame/index.android.d.ts +1 -1
  105. package/ui/frame/index.android.js +45 -82
  106. package/ui/frame/index.android.js.map +1 -1
  107. package/ui/frame/index.ios.js +2 -2
  108. package/ui/frame/index.ios.js.map +1 -1
  109. package/ui/styling/background.android.js +3 -5
  110. package/ui/styling/background.android.js.map +1 -1
  111. package/ui/styling/style-scope.js +5 -5
  112. package/ui/styling/style-scope.js.map +1 -1
  113. package/ui/tab-view/index.android.js +2 -2
  114. package/ui/tab-view/index.android.js.map +1 -1
  115. package/ui/transition/shared-transition-helper.ios.js +19 -19
  116. package/ui/transition/shared-transition-helper.ios.js.map +1 -1
  117. package/ui/transition/shared-transition.js +1 -2
  118. package/ui/transition/shared-transition.js.map +1 -1
  119. package/utils/android/index.d.ts +21 -0
  120. package/utils/android/index.js +157 -0
  121. package/utils/android/index.js.map +1 -0
  122. package/utils/index.android.d.ts +8 -3
  123. package/utils/index.android.js +15 -10
  124. package/utils/index.android.js.map +1 -1
  125. package/utils/index.d.ts +7 -7
  126. package/utils/index.ios.d.ts +8 -3
  127. package/utils/index.ios.js +13 -8
  128. package/utils/index.ios.js.map +1 -1
  129. package/utils/ios/index.d.ts +36 -0
  130. package/utils/ios/index.js +276 -0
  131. package/utils/ios/index.js.map +1 -0
  132. package/utils/layout-helper/index.android.js +3 -3
  133. package/utils/layout-helper/index.android.js.map +1 -1
  134. package/utils/mainthread-helper.android.js +2 -2
  135. package/utils/mainthread-helper.android.js.map +1 -1
  136. package/utils/native-helper.android.d.ts +8 -23
  137. package/utils/native-helper.android.js +10 -169
  138. package/utils/native-helper.android.js.map +1 -1
  139. package/utils/native-helper.d.ts +272 -255
  140. package/utils/native-helper.ios.d.ts +8 -38
  141. package/utils/native-helper.ios.js +10 -295
  142. package/utils/native-helper.ios.js.map +1 -1
  143. package/utils/platform-check.d.ts +4 -0
  144. package/utils/platform-check.js +21 -0
  145. package/utils/platform-check.js.map +1 -0
@@ -1,11 +1,11 @@
1
1
  import * as textModule from '../text';
2
- import { getNativeApplication } from '../application';
2
+ import { Application } from '../application';
3
3
  import { getFileExtension } from '../utils';
4
4
  import { SDK_VERSION } from '../utils/constants';
5
5
  let applicationContext;
6
6
  function getApplicationContext() {
7
7
  if (!applicationContext) {
8
- applicationContext = getNativeApplication().getApplicationContext();
8
+ applicationContext = Application.android.getNativeApplication().getApplicationContext();
9
9
  }
10
10
  return applicationContext;
11
11
  }
@@ -24,9 +24,12 @@ export class FileSystemAccess {
24
24
  this.copy = this.copySync.bind(this);
25
25
  this.readBuffer = this.readBufferSync.bind(this);
26
26
  this.read = this.readSync.bind(this);
27
+ this.appendBuffer = this.appendBufferSync.bind(this);
28
+ this.append = this.appendSync.bind(this);
27
29
  this.writeBuffer = this.writeBufferSync.bind(this);
28
30
  this.write = this.writeSync.bind(this);
29
31
  this.readText = this.readTextSync.bind(this);
32
+ this.appendText = this.appendTextSync.bind(this);
30
33
  this.writeText = this.writeTextSync.bind(this);
31
34
  }
32
35
  getLastModified(path) {
@@ -310,6 +313,67 @@ export class FileSystemAccess {
310
313
  return buffer?.buffer?.nativeObject || buffer;
311
314
  }
312
315
  }
316
+ appendBufferAsync(path, buffer) {
317
+ return new Promise((resolve, reject) => {
318
+ try {
319
+ org.nativescript.widgets.Async.File.appendBuffer(path, FileSystemAccess.getBuffer(buffer), new org.nativescript.widgets.Async.CompleteCallback({
320
+ onComplete: () => {
321
+ resolve();
322
+ },
323
+ onError: (err) => {
324
+ reject(new Error(err));
325
+ },
326
+ }), null);
327
+ }
328
+ catch (ex) {
329
+ reject(ex);
330
+ }
331
+ });
332
+ }
333
+ appendBufferSync(path, buffer, onError) {
334
+ try {
335
+ const javaFile = new java.io.File(path);
336
+ const stream = new java.io.FileOutputStream(javaFile);
337
+ const channel = stream.getChannel();
338
+ channel.write(FileSystemAccess.getBuffer(buffer));
339
+ stream.close();
340
+ }
341
+ catch (exception) {
342
+ if (onError) {
343
+ onError(exception);
344
+ }
345
+ }
346
+ }
347
+ appendAsync(path, bytes) {
348
+ return new Promise((resolve, reject) => {
349
+ try {
350
+ org.nativescript.widgets.Async.File.append(path, bytes, new org.nativescript.widgets.Async.CompleteCallback({
351
+ onComplete: () => {
352
+ resolve();
353
+ },
354
+ onError: (err) => {
355
+ reject(new Error(err));
356
+ },
357
+ }), null);
358
+ }
359
+ catch (ex) {
360
+ reject(ex);
361
+ }
362
+ });
363
+ }
364
+ appendSync(path, bytes, onError) {
365
+ try {
366
+ const javaFile = new java.io.File(path);
367
+ const stream = new java.io.FileOutputStream(javaFile, true);
368
+ stream.write(bytes, 0, bytes.length);
369
+ stream.close();
370
+ }
371
+ catch (exception) {
372
+ if (onError) {
373
+ onError(exception);
374
+ }
375
+ }
376
+ }
313
377
  writeBufferAsync(path, buffer) {
314
378
  return new Promise((resolve, reject) => {
315
379
  try {
@@ -410,7 +474,7 @@ export class FileSystemAccess {
410
474
  // TODO: bufferedReader.read(CharBuffer) does not currently work
411
475
  let line = undefined;
412
476
  let result = '';
413
- while (true) {
477
+ while (line !== null) {
414
478
  line = bufferedReader.readLine();
415
479
  if (line === null) {
416
480
  break;
@@ -442,6 +506,45 @@ export class FileSystemAccess {
442
506
  }
443
507
  return s;
444
508
  }
509
+ appendTextAsync(path, content, encoding) {
510
+ let actualEncoding = encoding;
511
+ if (!actualEncoding) {
512
+ actualEncoding = textModule.encoding.UTF_8;
513
+ }
514
+ return new Promise((resolve, reject) => {
515
+ try {
516
+ org.nativescript.widgets.Async.File.appendText(path, content, actualEncoding, new org.nativescript.widgets.Async.CompleteCallback({
517
+ onComplete: () => {
518
+ resolve();
519
+ },
520
+ onError: (err) => {
521
+ reject(new Error(err));
522
+ },
523
+ }), null);
524
+ }
525
+ catch (ex) {
526
+ reject(ex);
527
+ }
528
+ });
529
+ }
530
+ appendTextSync(path, content, onError, encoding) {
531
+ try {
532
+ const javaFile = new java.io.File(path);
533
+ const stream = new java.io.FileOutputStream(javaFile, true);
534
+ let actualEncoding = encoding;
535
+ if (!actualEncoding) {
536
+ actualEncoding = textModule.encoding.UTF_8;
537
+ }
538
+ const writer = new java.io.OutputStreamWriter(stream, actualEncoding);
539
+ writer.write(content);
540
+ writer.close();
541
+ }
542
+ catch (exception) {
543
+ if (onError) {
544
+ onError(exception);
545
+ }
546
+ }
547
+ }
445
548
  writeTextAsync(path, content, encoding) {
446
549
  let actualEncoding = encoding;
447
550
  if (!actualEncoding) {
@@ -615,6 +718,9 @@ export class FileSystemAccess29 extends FileSystemAccess {
615
718
  constructor() {
616
719
  super(...arguments);
617
720
  this.__skip = true;
721
+ this.appendBuffer = this.appendBufferSync.bind(this);
722
+ this.append = this.appendSync.bind(this);
723
+ this.appendText = this.appendTextSync.bind(this);
618
724
  this.readText = this.readTextSync.bind(this);
619
725
  this.readBuffer = this.readBufferSync.bind(this);
620
726
  this.read = this.readSync.bind(this);
@@ -753,6 +859,102 @@ export class FileSystemAccess29 extends FileSystemAccess {
753
859
  getCurrentAppPath() {
754
860
  return super.getCurrentAppPath();
755
861
  }
862
+ appendBufferAsync(path, content) {
863
+ if (isContentUri(path)) {
864
+ return new Promise((resolve, reject) => {
865
+ getOrSetHelper(path).appendBuffer(applicationContext, FileSystemAccess.getBuffer(content), new org.nativescript.widgets.FileHelper.Callback({
866
+ onSuccess(result) {
867
+ resolve();
868
+ },
869
+ onError(error) {
870
+ reject(error);
871
+ },
872
+ }));
873
+ });
874
+ }
875
+ return super.appendAsync(path, content);
876
+ }
877
+ appendBufferSync(path, content, onError) {
878
+ if (isContentUri(path)) {
879
+ let callback = null;
880
+ if (typeof onError === 'function') {
881
+ callback = new org.nativescript.widgets.FileHelper.Callback({
882
+ onSuccess(result) { },
883
+ onError(error) {
884
+ onError(error);
885
+ },
886
+ });
887
+ }
888
+ getOrSetHelper(path).appendSync(applicationContext, FileSystemAccess.getBuffer(content), callback);
889
+ }
890
+ else {
891
+ super.appendSync(path, content, onError);
892
+ }
893
+ }
894
+ appendAsync(path, content) {
895
+ if (isContentUri(path)) {
896
+ return new Promise((resolve, reject) => {
897
+ getOrSetHelper(path).append(applicationContext, content, new org.nativescript.widgets.FileHelper.Callback({
898
+ onSuccess(result) {
899
+ resolve();
900
+ },
901
+ onError(error) {
902
+ reject(error);
903
+ },
904
+ }));
905
+ });
906
+ }
907
+ return super.appendAsync(path, content);
908
+ }
909
+ appendSync(path, content, onError) {
910
+ if (isContentUri(path)) {
911
+ let callback = null;
912
+ if (typeof onError === 'function') {
913
+ callback = new org.nativescript.widgets.FileHelper.Callback({
914
+ onSuccess(result) { },
915
+ onError(error) {
916
+ onError(error);
917
+ },
918
+ });
919
+ }
920
+ getOrSetHelper(path).appendSync(applicationContext, content, callback);
921
+ }
922
+ else {
923
+ super.appendSync(path, content, onError);
924
+ }
925
+ }
926
+ appendTextAsync(path, content, encoding) {
927
+ if (isContentUri(path)) {
928
+ return new Promise((resolve, reject) => {
929
+ getOrSetHelper(path).appendText(applicationContext, content, encoding ?? null, new org.nativescript.widgets.FileHelper.Callback({
930
+ onSuccess(result) {
931
+ resolve();
932
+ },
933
+ onError(error) {
934
+ reject(error);
935
+ },
936
+ }));
937
+ });
938
+ }
939
+ return super.appendTextAsync(path, content, encoding);
940
+ }
941
+ appendTextSync(path, content, onError, encoding) {
942
+ if (isContentUri(path)) {
943
+ let callback = null;
944
+ if (typeof onError === 'function') {
945
+ callback = new org.nativescript.widgets.FileHelper.Callback({
946
+ onSuccess(result) { },
947
+ onError(error) {
948
+ onError(error);
949
+ },
950
+ });
951
+ }
952
+ getOrSetHelper(path).appendTextSync(applicationContext, content, encoding ?? null, callback);
953
+ }
954
+ else {
955
+ super.appendTextSync(path, content, onError);
956
+ }
957
+ }
756
958
  readTextAsync(path, encoding) {
757
959
  if (isContentUri(path)) {
758
960
  return new Promise((resolve, reject) => {
@@ -1 +1 @@
1
- {"version":3,"file":"file-system-access.android.js","sourceRoot":"","sources":["../../../../packages/core/file-system/file-system-access.android.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-system-access.android.js","sourceRoot":"","sources":["../../../../packages/core/file-system/file-system-access.android.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,55 @@
2
2
  * An utility class used to provide methods to access and work with the file system.
3
3
  */
4
4
  export interface IFileSystemAccess {
5
+ /**
6
+ * Appends binary to a file with a given path.
7
+ * @param path The path to the source file.
8
+ * @param content The content which will be written to the file.
9
+ * @param onError (optional) A callback function to use if any error occurs.
10
+ */
11
+ append(path: string, content: any, onError?: (error: any) => any);
12
+
13
+ /**
14
+ * Appends binary to a file with a given path.
15
+ * @param path The path to the source file.
16
+ * @param content The content which will be written to the file.
17
+ */
18
+ appendAsync(path: string, content: any): Promise<void>;
19
+
20
+ /**
21
+ * Appends a binary to a file with a given path.
22
+ * @param path The path to the source file.
23
+ * @param content The content which will be written to the file.
24
+ * @param onError (optional) A callback function to use if any error occurs.
25
+ */
26
+ appendSync(path: string, content: any, onError?: (error: any) => any);
27
+
28
+ /**
29
+ * Appends text to a file with a given path.
30
+ * @param path The path to the source file.
31
+ * @param content The content which will be written to the file.
32
+ * @param onError (optional) A callback function to use if any error occurs.
33
+ * @param encoding (optional) If set writes the text with the specified encoding (default UTF-8).
34
+ */
35
+ appendText(path: string, content: string, onError?: (error: any) => any, encoding?: any);
36
+
37
+ /**
38
+ * Appends text to a file with a given path.
39
+ * @param path The path to the source file.
40
+ * @param content The content which will be written to the file.
41
+ * @param encoding (optional) If set writes the text with the specified encoding (default UTF-8).
42
+ */
43
+ appendTextAsync(path: string, content: string, encoding?: any): Promise<void>;
44
+
45
+ /**
46
+ * Appends text to a file with a given path.
47
+ * @param path The path to the source file.
48
+ * @param content The content which will be written to the file.
49
+ * @param onError (optional) A callback function to use if any error occurs.
50
+ * @param encoding (optional) If set writes the text with the specified encoding (default UTF-8).
51
+ */
52
+ appendTextSync(path: string, content: string, onError?: (error: any) => any, encoding?: any);
53
+
5
54
  /**
6
55
  * Copies a file to a given path.
7
56
  * @param src The path to the source file.
@@ -282,6 +331,24 @@ export interface IFileSystemAccess {
282
331
  }
283
332
 
284
333
  export class FileSystemAccess implements IFileSystemAccess {
334
+ appendBuffer(path: string, content: ArrayBuffer | Uint8Array | Uint8ClampedArray, onError?: (error: any) => any);
335
+
336
+ appendBufferAsync(path: string, content: ArrayBuffer | Uint8Array | Uint8ClampedArray): Promise<void>;
337
+
338
+ appendBufferSync(path: string, content: ArrayBuffer | Uint8Array | Uint8ClampedArray, onError?: (error: any) => any);
339
+
340
+ append(path: string, content: any, onError?: (error: any) => any);
341
+
342
+ appendAsync(path: string, content: any): Promise<void>;
343
+
344
+ appendSync(path: string, content: any, onError?: (error: any) => any);
345
+
346
+ appendText(path: string, content: string, onError?: (error: any) => any, encoding?: any);
347
+
348
+ appendTextAsync(path: string, content: string, encoding?: any): Promise<void>;
349
+
350
+ appendTextSync(path: string, content: string, onError?: (error: any) => any, encoding?: any);
351
+
285
352
  copy(src: string, dest: string, onError?: (error: any) => any): boolean;
286
353
 
287
354
  copySync(src: string, dest: string, onError?: (error: any) => any): boolean;
@@ -57,6 +57,15 @@ export declare class FileSystemAccess {
57
57
  writeTextAsync(path: string, content: string, encoding?: any): Promise<void>;
58
58
  writeTextSync(path: string, content: string, onError?: (error: any) => any, encoding?: any): void;
59
59
  static getBuffer(buffer: ArrayBuffer | Uint8Array | Uint8ClampedArray): NSData;
60
+ appendBuffer: any;
61
+ appendBufferAsync(path: string, content: ArrayBuffer | Uint8Array | Uint8ClampedArray): Promise<void>;
62
+ appendBufferSync(path: string, content: ArrayBuffer | Uint8Array | Uint8ClampedArray, onError?: (error: any) => any): void;
63
+ append: any;
64
+ appendAsync(path: string, content: NSData): Promise<void>;
65
+ appendSync(path: string, content: NSData, onError?: (error: any) => any): void;
66
+ appendText: any;
67
+ appendTextAsync(path: string, content: string, encoding?: any): Promise<void>;
68
+ appendTextSync(path: string, content: string, onError?: (error: any) => any, encoding?: any): void;
60
69
  writeBuffer: any;
61
70
  writeBufferAsync(path: string, content: ArrayBuffer | Uint8Array | Uint8ClampedArray): Promise<void>;
62
71
  writeBufferSync(path: string, content: ArrayBuffer | Uint8Array | Uint8ClampedArray, onError?: (error: any) => any): void;
@@ -9,6 +9,9 @@ export class FileSystemAccess {
9
9
  this.readBuffer = this.readBufferSync.bind(this);
10
10
  this.read = this.readSync.bind(this);
11
11
  this.writeText = this.writeTextSync.bind(this);
12
+ this.appendBuffer = this.appendBufferSync.bind(this);
13
+ this.append = this.appendSync.bind(this);
14
+ this.appendText = this.appendTextSync.bind(this);
12
15
  this.writeBuffer = this.writeBufferSync.bind(this);
13
16
  this.write = this.writeSync.bind(this);
14
17
  }
@@ -394,6 +397,109 @@ export class FileSystemAccess {
394
397
  return NSData.dataWithBytesNoCopyLength(buf.bytes.add(buffer?.byteOffset ?? 0), len);
395
398
  }
396
399
  }
400
+ appendBufferAsync(path, content) {
401
+ return new Promise((resolve, reject) => {
402
+ try {
403
+ const handle = NSFileHandle.fileHandleForWritingAtPath(path);
404
+ handle.appendDataCompletion(FileSystemAccess.getBuffer(content), (error) => {
405
+ if (error) {
406
+ reject(error);
407
+ }
408
+ else {
409
+ resolve();
410
+ }
411
+ handle.closeFile();
412
+ });
413
+ }
414
+ catch (ex) {
415
+ reject(new Error("Failed to write file at path '" + path + "': " + ex));
416
+ }
417
+ });
418
+ }
419
+ appendBufferSync(path, content, onError) {
420
+ try {
421
+ const handle = NSFileHandle.fileHandleForWritingAtPath(path);
422
+ handle.seekToEndOfFile();
423
+ handle.writeData(FileSystemAccess.getBuffer(content));
424
+ handle.closeFile();
425
+ }
426
+ catch (ex) {
427
+ if (onError) {
428
+ onError(new Error("Failed to write to file '" + path + "': " + ex));
429
+ }
430
+ }
431
+ }
432
+ appendAsync(path, content) {
433
+ return new Promise((resolve, reject) => {
434
+ try {
435
+ const handle = NSFileHandle.fileHandleForWritingAtPath(path);
436
+ handle.appendDataCompletion(content, (error) => {
437
+ if (error) {
438
+ reject(error);
439
+ }
440
+ else {
441
+ resolve();
442
+ }
443
+ handle.closeFile();
444
+ });
445
+ }
446
+ catch (ex) {
447
+ reject(new Error("Failed to write file at path '" + path + "': " + ex));
448
+ }
449
+ });
450
+ }
451
+ appendSync(path, content, onError) {
452
+ try {
453
+ const handle = NSFileHandle.fileHandleForWritingAtPath(path);
454
+ handle.seekToEndOfFile();
455
+ handle.writeData(content);
456
+ handle.closeFile();
457
+ }
458
+ catch (ex) {
459
+ if (onError) {
460
+ onError(new Error("Failed to write to file '" + path + "': " + ex));
461
+ }
462
+ }
463
+ }
464
+ appendTextAsync(path, content, encoding) {
465
+ const nsString = NSString.stringWithString(content);
466
+ const actualEncoding = encoding || textEncoding.UTF_8;
467
+ return new Promise((resolve, reject) => {
468
+ try {
469
+ const data = nsString.dataUsingEncoding(actualEncoding);
470
+ const handle = NSFileHandle.fileHandleForWritingAtPath(path);
471
+ handle.appendDataCompletion(data, (error) => {
472
+ if (error) {
473
+ reject(error);
474
+ }
475
+ else {
476
+ resolve();
477
+ }
478
+ handle.closeFile();
479
+ });
480
+ }
481
+ catch (ex) {
482
+ reject(new Error("Failed to append file at path '" + path + "': " + ex));
483
+ }
484
+ });
485
+ }
486
+ appendTextSync(path, content, onError, encoding) {
487
+ const nsString = NSString.stringWithString(content);
488
+ const actualEncoding = encoding || textEncoding.UTF_8;
489
+ // TODO: verify the useAuxiliaryFile parameter should be false
490
+ try {
491
+ const data = nsString.dataUsingEncoding(actualEncoding);
492
+ const handle = NSFileHandle.fileHandleForWritingAtPath(path);
493
+ handle.seekToEndOfFile();
494
+ handle.writeData(data);
495
+ handle.closeFile();
496
+ }
497
+ catch (ex) {
498
+ if (onError) {
499
+ onError(new Error("Failed to append to file '" + path + "': " + ex));
500
+ }
501
+ }
502
+ }
397
503
  writeBufferAsync(path, content) {
398
504
  return new Promise((resolve, reject) => {
399
505
  try {