type: formatType()

in radlab-ui/webapp/src/utils/terraform.ts [115:145]


    type: formatType(hclVar.type),
    default: defaultValue,
    // In TF, default = "" is how we say it's optional
    required: typeof hclVar.default === "undefined" || hclVar.default !== "",
    group,
    order,
    options,
    updateSafe,
  }
}

/**
 * Parse a variables.tf file into a RAD Lab UI variable list
 * @param body: string The body of the HCL variables.tf file
 * @returns An array of UI variables
 */
export const parseVarsFile = (body: string) => {
  const parseData: IRawParsed = hclParse.parseToObject(body)
  const variables = parseData[0].variable
  return Object.entries(variables).map(mapHclToUIVar)
}

export const groupVariables = (variableList: IUIVariable[]) =>
  groupBy(variableList, "group")

/**
 * Represents the formik field default value
 **/
export const initialFormikData = (data: IFormData) => {
  const initialObjData: IObjKeyPair = {}
  Object.keys(data).forEach((formVariables) => {