From f8f2538d203c94f096910887469d757848766bdd Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Fri, 18 Sep 2020 16:26:04 -0700 Subject: [PATCH] Move exists to own file --- .../src/task/taskProvider.ts | 10 +--------- .../typescript-language-features/src/utils/fs.ts | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 9 deletions(-) create mode 100644 extensions/typescript-language-features/src/utils/fs.ts diff --git a/extensions/typescript-language-features/src/task/taskProvider.ts b/extensions/typescript-language-features/src/task/taskProvider.ts index aa2fd99325f..978ed88692f 100644 --- a/extensions/typescript-language-features/src/task/taskProvider.ts +++ b/extensions/typescript-language-features/src/task/taskProvider.ts @@ -10,6 +10,7 @@ import * as nls from 'vscode-nls'; import { wait } from '../test/testUtils'; import { ITypeScriptServiceClient, ServerResponse } from '../typescriptService'; import { coalesce, flatten } from '../utils/arrays'; +import { exists } from '../utils/fs'; import { isTsConfigFileName } from '../utils/languageDescription'; import { Lazy } from '../utils/lazy'; import { isImplicitProjectConfigFile } from '../utils/tsconfig'; @@ -24,15 +25,6 @@ enum AutoDetect { watch = 'watch' } -const exists = async (resource: vscode.Uri): Promise => { - try { - const stat = await vscode.workspace.fs.stat(resource); - // stat.type is an enum flag - return !!(stat.type & vscode.FileType.File); - } catch { - return false; - } -}; interface TypeScriptTaskDefinition extends vscode.TaskDefinition { tsconfig: string; diff --git a/extensions/typescript-language-features/src/utils/fs.ts b/extensions/typescript-language-features/src/utils/fs.ts new file mode 100644 index 00000000000..88ce3e3aa75 --- /dev/null +++ b/extensions/typescript-language-features/src/utils/fs.ts @@ -0,0 +1,16 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import * as vscode from 'vscode'; + +export const exists = async (resource: vscode.Uri): Promise => { + try { + const stat = await vscode.workspace.fs.stat(resource); + // stat.type is an enum flag + return !!(stat.type & vscode.FileType.File); + } catch { + return false; + } +};