UNPKG

@atomist/sdm

Version:

Atomist Software Delivery Machine SDK

60 lines 2.14 kB
import { BaseParameter, BaseValue } from "@atomist/automation-client/lib/internal/metadata/decoratorSupport"; export declare type ParametersDefinition<PARAMS = any> = ParametersListing | ParametersObject<PARAMS>; /** * Interface mixed in with BaseParameter to allow adding a default value to a parameter. * When the class-style decorated approach is used, this is unnecessary as any field * value will be used as a default. */ export interface HasDefaultValue { defaultValue?: any; } export declare type ParametersObjectValue = BaseParameter & HasDefaultValue; export declare type MappedParameterOrSecretObjectValue = MappedParameterOrSecretDeclaration; export declare type ValueParameterObjectValue = ValueDeclaration; /** * Object with properties defining parameters, secrets, mapped parameters and values. * Useful for combination via spreads. */ export declare type ParametersObject<PARAMS, K extends keyof PARAMS = keyof PARAMS> = Record<K, ParametersObjectValue | MappedParameterOrSecretObjectValue | ValueParameterObjectValue>; export declare enum DeclarationType { Mapped = "mapped", Secret = "secret" } export interface MappedParameterOrSecretDeclaration { declarationType: DeclarationType; uri: string; /** * Only valid on mapped parameters */ required?: boolean; } /** * Define values to be injected from the SDM configuration */ export declare type ValueDeclaration = BaseValue; /** * Define parameters used in a command */ export interface ParametersListing { readonly parameters: NamedParameter[]; readonly mappedParameters: NamedMappedParameter[]; readonly secrets: NamedSecret[]; readonly values: NamedValue[]; } export declare type NamedParameter = BaseParameter & { name: string; } & HasDefaultValue; export interface NamedSecret { name: string; uri: string; } export interface NamedMappedParameter { name: string; uri: string; required?: boolean; } export declare type NamedValue = NamedValueParameter; export interface NamedValueParameter extends BaseValue { name: string; } //# sourceMappingURL=ParametersDefinition.d.ts.map