From c1748bbc283a867f3c0c91c9889de145b84779c3 Mon Sep 17 00:00:00 2001 From: Vegard Andreas Larsen Date: Thu, 2 Mar 2017 02:56:21 +0100 Subject: [PATCH] fix(file): remove FileError from return type (#1086) Promises that reject with a `FileError` are not of the type `Promise`, but `Promise`. The previous declarations of `Promise` would break typing further down the chain where you are trying to use the value that the typing says could be `T|FileError` but in reality could only be `T`. --- src/plugins/file.ts | 56 ++++++++++++++++++++++----------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/src/plugins/file.ts b/src/plugins/file.ts index d49512cb1..d62074fdb 100644 --- a/src/plugins/file.ts +++ b/src/plugins/file.ts @@ -481,9 +481,9 @@ export class File { * * @param {string} path Base FileSystem. Please refer to the iOS and Android filesystems above * @param {string} dir Name of directory to check - * @returns {Promise} Returns a Promise that resolves to true if the directory exists or rejects with an error. + * @returns {Promise} Returns a Promise that resolves to true if the directory exists or rejects with an error. */ - static checkDir(path: string, dir: string): Promise { + static checkDir(path: string, dir: string): Promise { if ((/^\//.test(dir))) { let err = new FileError(5); err.message = 'directory cannot start with \/'; @@ -505,9 +505,9 @@ export class File { * @param {string} path Base FileSystem. Please refer to the iOS and Android filesystems above * @param {string} dirName Name of directory to create * @param {boolean} replace If true, replaces file with same name. If false returns error - * @returns {Promise} Returns a Promise that resolves with a DirectoryEntry or rejects with an error. + * @returns {Promise} Returns a Promise that resolves with a DirectoryEntry or rejects with an error. */ - static createDir(path: string, dirName: string, replace: boolean): Promise { + static createDir(path: string, dirName: string, replace: boolean): Promise { if ((/^\//.test(dirName))) { let err = new FileError(5); err.message = 'directory cannot start with \/'; @@ -533,9 +533,9 @@ export class File { * * @param {string} path The path to the directory * @param {string} dirName The directory name - * @returns {Promise} Returns a Promise that resolves to a RemoveResult or rejects with an error. + * @returns {Promise} Returns a Promise that resolves to a RemoveResult or rejects with an error. */ - static removeDir(path: string, dirName: string): Promise { + static removeDir(path: string, dirName: string): Promise { if ((/^\//.test(dirName))) { let err = new FileError(5); err.message = 'directory cannot start with \/'; @@ -558,9 +558,9 @@ export class File { * @param {string} dirName The source directory name * @param {string} newPath The destionation path to the directory * @param {string} newDirName The destination directory name - * @returns {Promise} Returns a Promise that resolves to the new DirectoryEntry object or rejects with an error. + * @returns {Promise} Returns a Promise that resolves to the new DirectoryEntry object or rejects with an error. */ - static moveDir(path: string, dirName: string, newPath: string, newDirName: string): Promise { + static moveDir(path: string, dirName: string, newPath: string, newDirName: string): Promise { newDirName = newDirName || dirName; if ((/^\//.test(newDirName))) { @@ -588,9 +588,9 @@ export class File { * @param {string} dirName Name of directory to copy * @param {string} newPath Base FileSystem of new location * @param {string} newDirName New name of directory to copy to (leave blank to remain the same) - * @returns {Promise} Returns a Promise that resolves to the new Entry object or rejects with an error. + * @returns {Promise} Returns a Promise that resolves to the new Entry object or rejects with an error. */ - static copyDir(path: string, dirName: string, newPath: string, newDirName: string): Promise { + static copyDir(path: string, dirName: string, newPath: string, newDirName: string): Promise { if ((/^\//.test(newDirName))) { let err = new FileError(5); err.message = 'directory cannot start with \/'; @@ -661,9 +661,9 @@ export class File { * * @param {string} path Base FileSystem. Please refer to the iOS and Android filesystems above * @param {string} file Name of file to check - * @returns {Promise} Returns a Promise that resolves with a boolean or rejects with an error. + * @returns {Promise} Returns a Promise that resolves with a boolean or rejects with an error. */ - static checkFile(path: string, file: string): Promise { + static checkFile(path: string, file: string): Promise { if ((/^\//.test(file))) { let err = new FileError(5); err.message = 'file cannot start with \/'; @@ -690,9 +690,9 @@ export class File { * @param {string} path Base FileSystem. Please refer to the iOS and Android filesystems above * @param {string} fileName Name of file to create * @param {boolean} replace If true, replaces file with same name. If false returns error - * @returns {Promise} Returns a Promise that resolves to a FileEntry or rejects with an error. + * @returns {Promise} Returns a Promise that resolves to a FileEntry or rejects with an error. */ - static createFile(path: string, fileName: string, replace: boolean): Promise { + static createFile(path: string, fileName: string, replace: boolean): Promise { if ((/^\//.test(fileName))) { let err = new FileError(5); err.message = 'file-name cannot start with \/'; @@ -718,9 +718,9 @@ export class File { * * @param {string} path Base FileSystem. Please refer to the iOS and Android filesystems above * @param {string} fileName Name of file to remove - * @returns {Promise} Returns a Promise that resolves to a RemoveResult or rejects with an error. + * @returns {Promise} Returns a Promise that resolves to a RemoveResult or rejects with an error. */ - static removeFile(path: string, fileName: string): Promise { + static removeFile(path: string, fileName: string): Promise { if ((/^\//.test(fileName))) { let err = new FileError(5); err.message = 'file-name cannot start with \/'; @@ -807,9 +807,9 @@ export class File { * * @param {string} path Base FileSystem. Please refer to the iOS and Android filesystems above * @param {string} file Name of file, relative to path. - * @returns {Promise} Returns a Promise that resolves with the contents of the file as string or rejects with an error. + * @returns {Promise} Returns a Promise that resolves with the contents of the file as string or rejects with an error. */ - static readAsText(path: string, file: string): Promise { + static readAsText(path: string, file: string): Promise { if ((/^\//.test(file))) { let err = new FileError(5); err.message = 'file-name cannot start with \/'; @@ -848,9 +848,9 @@ export class File { * @param {string} path Base FileSystem. Please refer to the iOS and Android filesystems above * @param {string} file Name of file, relative to path. - * @returns {Promise} Returns a Promise that resolves with the contents of the file as data URL or rejects with an error. + * @returns {Promise} Returns a Promise that resolves with the contents of the file as data URL or rejects with an error. */ - static readAsDataURL(path: string, file: string): Promise { + static readAsDataURL(path: string, file: string): Promise { if ((/^\//.test(file))) { let err = new FileError(5); err.message = 'file-name cannot start with \/'; @@ -890,9 +890,9 @@ export class File { * @param {string} path Base FileSystem. Please refer to the iOS and Android filesystems above * @param {string} file Name of file, relative to path. - * @returns {Promise} Returns a Promise that resolves with the contents of the file as string rejects with an error. + * @returns {Promise} Returns a Promise that resolves with the contents of the file as string rejects with an error. */ - static readAsBinaryString(path: string, file: string): Promise { + static readAsBinaryString(path: string, file: string): Promise { if ((/^\//.test(file))) { let err = new FileError(5); err.message = 'file-name cannot start with \/'; @@ -931,9 +931,9 @@ export class File { * @param {string} path Base FileSystem. Please refer to the iOS and Android filesystems above * @param {string} file Name of file, relative to path. - * @returns {Promise} Returns a Promise that resolves with the contents of the file as ArrayBuffer or rejects with an error. + * @returns {Promise} Returns a Promise that resolves with the contents of the file as ArrayBuffer or rejects with an error. */ - static readAsArrayBuffer(path: string, file: string): Promise { + static readAsArrayBuffer(path: string, file: string): Promise { if ((/^\//.test(file))) { let err = new FileError(5); err.message = 'file-name cannot start with \/'; @@ -974,9 +974,9 @@ export class File { * @param {string} fileName Name of file to move * @param {string} newPath Base FileSystem of new location * @param {string} newFileName New name of file to move to (leave blank to remain the same) - * @returns {Promise} Returns a Promise that resolves to the new Entry or rejects with an error. + * @returns {Promise} Returns a Promise that resolves to the new Entry or rejects with an error. */ - static moveFile(path: string, fileName: string, newPath: string, newFileName: string): Promise { + static moveFile(path: string, fileName: string, newPath: string, newFileName: string): Promise { newFileName = newFileName || fileName; if ((/^\//.test(newFileName))) { @@ -1004,9 +1004,9 @@ export class File { * @param {string} fileName Name of file to copy * @param {string} newPath Base FileSystem of new location * @param {string} newFileName New name of file to copy to (leave blank to remain the same) - * @returns {Promise} Returns a Promise that resolves to an Entry or rejects with an error. + * @returns {Promise} Returns a Promise that resolves to an Entry or rejects with an error. */ - static copyFile(path: string, fileName: string, newPath: string, newFileName: string): Promise { + static copyFile(path: string, fileName: string, newPath: string, newFileName: string): Promise { newFileName = newFileName || fileName; if ((/^\//.test(newFileName))) {