import { Inputs } from "."; import { ConditionalExpression } from "./conditional-logic"; import { InputFieldCollection, InputCleanFunction, Connection, KeyValuePair } from "./Inputs"; /** * Collection of input parameters. * Inputs can be static values, references to config variables, or * references to previous steps' outputs. */ export type ActionInputParameters = { [Property in keyof TInputs]: TInputs[Property]["clean"] extends InputCleanFunction ? ReturnType : TInputs[Property]["type"] extends "connection" ? ExtractValue : TInputs[Property]["type"] extends "conditional" ? ExtractValue : ExtractValue; }; export type ExtractValue = TCollection extends "keyvaluelist" ? KeyValuePair[] : TCollection extends "valuelist" ? TType[] : TType;