[atom] add type guarding to isFile() and isDirectory() methods (#22591)

This commit is contained in:
smhxx 2018-01-02 14:15:57 -06:00 committed by Mohamed Hegazy
parent 28cf53f162
commit 12522af29a
2 changed files with 15 additions and 4 deletions

View File

@ -32,6 +32,7 @@ declare let editor: Atom.TextEditor;
declare let editors: Atom.TextEditor[];
declare let emitter: Atom.Emitter;
declare let file: Atom.File;
declare let fileOrDir: Atom.File | Atom.Directory;
declare let grammar: Atom.Grammar;
declare let grammars: Atom.Grammar[];
declare let gutter: Atom.Gutter;
@ -966,6 +967,16 @@ function testFile() {
file.writeSync("Test");
}
// File/Directory Type Guarding ===============================================
function testFileDirectoryTypeGuarding() {
if (fileOrDir.isFile()) {
file = fileOrDir;
}
if (fileOrDir.isDirectory()) {
dir = fileOrDir;
}
}
// GitRepository ==============================================================
function testGitRepository() {
// Construction and Destruction

View File

@ -3279,10 +3279,10 @@ export class Directory {
// Directory Metadata
/** Returns a boolean, always false. */
isFile(): boolean;
isFile(): this is File;
/** Returns a roolean, always true. */
isDirectory(): boolean;
isDirectory(): this is Directory;
/** Returns a boolean indicating whether or not this is a symbolic link. */
isSymbolicLink(): boolean;
@ -3496,10 +3496,10 @@ export class File {
// File Metadata
/** Returns a boolean, always true. */
isFile(): boolean;
isFile(): this is File;
/** Returns a boolean, always false. */
isDirectory(): boolean;
isDirectory(): this is Directory;
/** Returns a boolean indicating whether or not this is a symbolic link. */
isSymbolicLink(): boolean;