remove results serializer dependency on node (#6202)

This commit is contained in:
Anthony Dresser
2019-07-02 18:00:14 -07:00
committed by GitHub
parent 708461eab5
commit 8c4f6f9e5f
5 changed files with 17 additions and 17 deletions

View File

@@ -0,0 +1,48 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { normalize, join, dirname } from 'vs/base/common/path';
import { URI } from 'vs/base/common/uri';
import { IWorkspaceContextService, WorkbenchState } from 'vs/platform/workspace/common/workspace';
import { Schemas } from 'vs/base/common/network';
export const FILE_SCHEMA: string = 'file';
export function resolveCurrentDirectory(uri: string, rootPath: string): string | undefined {
let sqlUri = URI.parse(uri);
let currentDirectory: string;
// use current directory of the sql file if sql file is saved
if (sqlUri.scheme === FILE_SCHEMA) {
currentDirectory = dirname(sqlUri.fsPath);
} else if (sqlUri.scheme === Schemas.untitled) {
// if sql file is unsaved/untitled but a workspace is open use workspace root
let root = rootPath;
if (root) {
currentDirectory = root;
}
} else {
currentDirectory = dirname(sqlUri.path);
}
return currentDirectory;
}
export function resolveFilePath(uri: string, filePath: string, rootPath: string): string {
let currentDirectory = resolveCurrentDirectory(uri, rootPath);
return normalize(join(currentDirectory, filePath));
}
export function getRootPath(contextService: IWorkspaceContextService): string {
let isWorkspace = contextService.getWorkbenchState() === WorkbenchState.WORKSPACE;
if (isWorkspace) {
let folder = contextService.getWorkspace().folders[0];
if (folder && folder.uri) {
return folder.uri.fsPath;
}
}
return undefined;
}