func determineInputVariableType()

in dev/import-beats/variables.go [184:206]


func determineInputVariableType(name, v interface{}) string {
	if arr, isArray := v.([]interface{}); isArray {
		if len(arr) == 0 {
			return "text" // array doesn't contain any items, assuming default type
		}
		return determineInputVariableType(name, arr[0])
	}

	if _, isBool := v.(bool); isBool {
		return "bool"
	} else if _, isInt := v.(int); isInt {
		return "integer"
	}

	if name == "password" {
		return "password"
	}

	if _, isString := v.(string); isString || v == nil {
		return "text"
	}
	return "yaml"
}