import { AzureWizardPromptStep } from "vscode-azureextensionui" ; import { BindingSettingValue } from "../../../funcConfig/function" ; import { IBindingSetting } from "../../../templates/IBindingTemplate" ; import { getBindingSetting , setBindingSetting } from "../../createFunction/IFunctionWizardContext" ; import { IBindingWizardContext } from "../IBindingWizardContext" ; export abstract class BindingSettingStepBase extends AzureWizardPromptStep < IBindingWizardContext > { protected readonly _setting : IBindingSetting ; constructor ( setting ) { super ( ) ; this . _setting = setting ; this . id = setting . name ; } public abstract promptCore ( context ) ; public async prompt ( context ) { setBindingSetting ( context , this . _setting , await this . promptCore ( context ) ) ; } public shouldPrompt ( context ) { return ! getBindingSetting ( context , this . _setting ) ; } }