func ToStringResolutionDetail()

in pkg/confidence/utils.go [239:268]


func ToStringResolutionDetail(res InterfaceResolutionDetail,
	defaultValue string) StringResolutionDetail {
	if res.ResolutionDetail.Reason == TargetingMatchReason {
		v, ok := res.Value.(string)
		if ok {
			return StringResolutionDetail{
				Value:            v,
				ResolutionDetail: res.ResolutionDetail,
			}
		}

		err := NewTypeMismatchResolutionError("Unable to convert response property to boolean")

		return StringResolutionDetail{
			Value: defaultValue,
			ResolutionDetail: ResolutionDetail{
				Variant:      "",
				Reason:       ErrorReason,
				ErrorCode:    err.code,
				ErrorMessage: err.message,
				FlagMetadata: nil,
			},
		}
	}

	return StringResolutionDetail{
		Value:            defaultValue,
		ResolutionDetail: res.ResolutionDetail,
	}
}