UNPKG

react-native-blob-util

Version:

A module provides upload, download, and files access API. Supports file stream read/write for process large files.

87 lines (80 loc) 5 kB
// @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);