mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-15 01:25:36 -05:00
* Made prompt when no arcdata upon startup * Changed to NoAzureCLIArcExtError Co-authored-by: Candice Ye <canye@microsoft.com>
46 lines
1.5 KiB
TypeScript
46 lines
1.5 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
import * as azExt from 'az-ext';
|
|
import * as which from 'which';
|
|
import * as loc from '../localizedConstants';
|
|
|
|
export class NoAzureCLIError extends Error implements azExt.ErrorWithLink {
|
|
constructor() {
|
|
super(loc.noAzureCLI);
|
|
}
|
|
|
|
public get messageWithLink(): string {
|
|
return loc.noAzureCLI;
|
|
}
|
|
}
|
|
|
|
export class NoAzureCLIArcExtError extends Error implements azExt.ErrorWithLink {
|
|
constructor() {
|
|
super(loc.arcdataExtensionNotInstalled);
|
|
}
|
|
|
|
public get messageWithLink(): string {
|
|
return loc.arcdataExtensionNotInstalled;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Searches for the first instance of the specified executable in the PATH environment variable
|
|
* @param exe The executable to search for
|
|
*/
|
|
export function searchForCmd(exe: string): Promise<string> {
|
|
// Note : This is separated out to allow for easy test stubbing
|
|
return new Promise<string>((resolve, reject) => which(exe, (err, path) => err ? reject(err) : resolve(<any>path)));
|
|
}
|
|
|
|
/**
|
|
* Gets the message to display for a given error object that may be a variety of types.
|
|
* @param error The error object
|
|
*/
|
|
export function getErrorMessage(error: any): string {
|
|
return error.message ?? error;
|
|
}
|