mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-14 17:22:20 -05:00
35 lines
2.1 KiB
TypeScript
35 lines
2.1 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 rd from 'resource-deployment';
|
|
|
|
/**
|
|
* This is a sample value provider used to demonstrate how values are received and can be used to generate the return value.
|
|
*/
|
|
export class SampleValueProvider implements rd.IValueProvider {
|
|
/**
|
|
* This ID corresponds to the `providerId` property in the `valueProvider` properties of the package.json definitions.
|
|
*/
|
|
readonly id = 'sample-resource-deployment.sample-value-provider';
|
|
|
|
/**
|
|
*
|
|
* @param triggerValues This is an object whose keys correspond to the `variableName` (or `label` if no `variableName` is given) property of the trigger fields.
|
|
* This will contain an entry for every trigger field defined in the `valueProvider` property on the target field - even if those values are empty/undefined.
|
|
* @returns The calculated input type to return. This is expected to match the type of the target field (so string for text, boolean for checkbox, etc)
|
|
*/
|
|
public async getValue(triggerValues: { [key: string]: rd.InputValueType; }): Promise<rd.InputValueType> {
|
|
Object.values(triggerValues)
|
|
// Because this example is used by two different fields we have logic here to handle determining which one it came from.
|
|
// If you are making a generic provider that you don't want to have know about each field that uses it you can use
|
|
// Object.values(triggerValues) to get the array of values and operate on those directly.
|
|
if (triggerValues['AZDATA_NB_VAR_SAMPLE_VALUE_PROVIDER_MULTIPLE_PLACE'] !== undefined) {
|
|
return `Hello ${triggerValues['AZDATA_NB_VAR_SAMPLE_VALUE_PROVIDER_MULTIPLE_NAME']} from ${triggerValues['AZDATA_NB_VAR_SAMPLE_VALUE_PROVIDER_MULTIPLE_PLACE']}!`;
|
|
} else {
|
|
return `Hello ${triggerValues['AZDATA_NB_VAR_SAMPLE_VALUE_PROVIDER_SINGLE_NAME']}!`;
|
|
}
|
|
}
|
|
}
|