func makeEnvironmentVariablesMap()

in docgen/lib/render/enhanced.go [623:651]


func makeEnvironmentVariablesMap(
	env map[string]*proto.RunInstruction_EnvironmentVariableValue,
	runtime string) map[string]string {
	var valueFunc func(*proto.RunInstruction_EnvironmentVariableValue) string
	switch runtime {
	case DOCKER:
		valueFunc = func(v *proto.RunInstruction_EnvironmentVariableValue) string {
			return v.DockerValue
		}
	case DOCKER_COMPOSE:
		valueFunc = func(v *proto.RunInstruction_EnvironmentVariableValue) string {
			return v.DockerComposeValue
		}
	case KUBERNETES:
		valueFunc = func(v *proto.RunInstruction_EnvironmentVariableValue) string {
			return v.KubernetesValue
		}
	}

	result := make(map[string]string)
	for k, v := range env {
		if len(valueFunc(v)) > 0 {
			result[k] = valueFunc(v)
		} else if len(v.Value) > 0 {
			result[k] = v.Value
		}
	}
	return result
}