forked from joltup/rn-fetch-blob
-
Notifications
You must be signed in to change notification settings - Fork 141
/
Copy pathNativeBlobUtils.js
86 lines (80 loc) · 4.89 KB
/
NativeBlobUtils.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
// @flow
import type { TurboModule } from 'react-native/Libraries/TurboModule/RCTExport';
import { TurboModuleRegistry } from 'react-native';
export interface Spec extends TurboModule {
+getConstants: () => {|
CacheDir: string,
DocumentDir: string,
DownloadDir: string,
LibraryDir: string,
MainBundleDir: string,
MovieDir: string,
MusicDir: string,
PictureDir: string,
ApplicationSupportDir: string,
// Android Only Constants
RingtoneDir: string,
SDCardDir: string,
SDCardApplicationDir: string,
DCIMDir: string,
// Android Only Legacy Constants
LegacyDCIMDir: string,
LegacyPictureDir: string,
LegacyMusicDir: string,
LegacyDownloadDir: string,
LegacyMovieDir: string,
LegacyRingtoneDir: string,
LegacySDCardDir: string,
|};
+fetchBlobForm: (options: Object, taskId: string, method: string, url: string, headers: Object, form: Array<any>, callback: (value: Array<any>) => void) => void;
+fetchBlob: (options: Object, taskId: string, method: string, url: string, headers: Object, body: string, callback: (value: Array<any>) => void) => void;
+createFile: (path: string, data: string, encoding: string) => Promise<void>;
+createFileASCII: (path: string, data: Array<any>) => Promise<void>;
+pathForAppGroup: (groupName: string) => Promise<string>;
+syncPathAppGroup: (groupName: string) => string;
+exists: (path: string, callback: (value: Array<boolean>) => void) => void;
+writeFile: (path: string, encoding: string, data: string, transformFile: boolean, append: boolean) => Promise<number>;
+writeFileArray: (path: string, data: Array<any>, append: boolean) => Promise<number>;
+writeStream: (path: string, withEncoding: string, appendData: boolean, callback: (value: Array<any>) => void) => void;
+writeArrayChunk: (streamId: string, withArray: Array<any>, callback: (value: Array<any>) => void) => void;
+writeChunk: (streamId: string, withData: string, callback: (value: Array<any>) => void) => void;
+closeStream: (streamId: string, callback: (value: Array<any>) => void) => void;
+unlink: (path: string, callback: (value: Array<any>) => void) => void;
+removeSession: (paths: Array<any>, callback: (value: Array<any>) => void) => void;
+ls: (path: string) => Promise<Array<any>>;
+stat: (target: string, callback: (value: Array<any>) => void) => void;
+lstat: (path: string, callback: (value: Array<any>) => void) => void;
+cp: (src: string, dest: string, callback: (value: Array<any>) => void) => void;
+mv: (path: string, dest: string, callback: (value: Array<any>) => void) => void;
+mkdir: (path: string) => Promise<boolean>;
+readFile: (path: string, encoding: string, transformFile: boolean) => Promise<Array<any>>;
+hash: (path: string, algorithm: string) => Promise<string>;
+readStream: (path: string, encoding: string, bufferSize: number, tick: number, streamId: string) => void;
+getEnvironmentDirs: (callback: (value: Array<any>) => void) => void;
+cancelRequest: (taskId: string, callback: (value: Array<any>) => void) => void;
+enableProgressReport: (taskId: string, interval: number, count: number) => void;
+enableUploadProgressReport: (taskId: string, interval: number, count: number) => void;
+slice: (src: string, dest: string, start: number, end: number) => Promise<string>;
+presentOptionsMenu: (uri: string, scheme: string) => Promise<Array<any>>;
+presentOpenInMenu: (uri: string, scheme: string) => Promise<Array<any>>;
+presentPreview: (uri: string, scheme: string) => Promise<Array<any>>;
+excludeFromBackupKey: (url: string) => Promise<Array<any>>;
+df: (callback: (value: Array<any>) => void) => void;
+emitExpiredEvent: (callback: (value: string) => void) => void; // The callback is not really used here
// Android Only APIs
+actionViewIntent: (path: string, mime: string, chooserTitle: string) => Promise<void>;
+addCompleteDownload: (config: Object) => Promise<void>;
+copyToInternal: (contentUri: string, destpath: string) => Promise<string>;
+copyToMediaStore: (filedata: Object, mt: string, path: string) => Promise<string>;
+createMediaFile: (filedata: Object, mt: string) => Promise<string>;
+getBlob: (contentUri: string, encoding: string) => Promise<Array<any>>;
+getContentIntent: (mime: string) => Promise<string>;
+getSDCardDir: () => Promise<string>;
+getSDCardApplicationDir: () => Promise<string>;
+scanFile: (pairs: Array<any>, callback: (value: Array<any>) => void) => void;
+writeToMediaFile: (fileUri: string, path: string, transformFile: boolean) => Promise<string>;
// RCTEventEmitter
+addListener: (eventName: string) => void;
+removeListeners: (count: number) => void;
}
export default (TurboModuleRegistry.get<Spec>('ReactNativeBlobUtil'): ?Spec);