mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-25 01:25:36 -05:00
allow registering options source providers to resource-deployment (#12712)
* first draft * compile fixes * uncomment code * waitForAzdataToolDisovery added to azdata api * missed change in last commit * remove switchReturn * contributeOptionsSource renamed * remove switchReturn reference * create optionSourceService * azdataTool usage more reliable * package.json fixes and cleanup * cleanup * revert 4831a6e6b8b08684488b2c9e18092fa252e3057f * pr feedback * pr feedback * pr feedback * cleanup * cleanup * fix eulaAccepted check * fix whitespade in doc comments.
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import * as rd from 'resource-deployment';
|
||||
import * as loc from '../localizedConstants';
|
||||
|
||||
class OptionsSourcesService {
|
||||
private _optionsSourceStore = new Map<string, rd.IOptionsSourceProvider>();
|
||||
registerOptionsSourceProvider(provider: rd.IOptionsSourceProvider): void {
|
||||
if (this._optionsSourceStore.has(provider.optionsSourceId)) {
|
||||
throw new Error(loc.optionsSourceAlreadyDefined(provider.optionsSourceId));
|
||||
}
|
||||
this._optionsSourceStore.set(provider.optionsSourceId, provider);
|
||||
}
|
||||
|
||||
getOptionsSource(optionsSourceProviderId: string): rd.IOptionsSourceProvider {
|
||||
const optionsSource = this._optionsSourceStore.get(optionsSourceProviderId);
|
||||
if (optionsSource === undefined) {
|
||||
throw new Error(loc.noOptionsSourceDefined(optionsSourceProviderId));
|
||||
}
|
||||
return optionsSource;
|
||||
}
|
||||
}
|
||||
|
||||
export const optionsSourcesService = new OptionsSourcesService();
|
||||
Reference in New Issue
Block a user