HelperString Convert a Helper into key/value string
(w expr.DialectWriter, jh u.JsonHelper)
| 2075 | |
| 2076 | // HelperString Convert a Helper into key/value string |
| 2077 | func HelperString(w expr.DialectWriter, jh u.JsonHelper) { |
| 2078 | |
| 2079 | // isJson := false |
| 2080 | // for k, v := range jh { |
| 2081 | // switch lvt := lv.(type) { |
| 2082 | // case int, int64, int32, string, bool, float64: |
| 2083 | // // |
| 2084 | // case []string, []int, []int32, []int64, []float64: |
| 2085 | // // |
| 2086 | // case u.JsonHelper, map[string]interface{}: |
| 2087 | // isJson = true |
| 2088 | // break |
| 2089 | // default: |
| 2090 | // u.Warnf("unhandled type comparison: %T", lv) |
| 2091 | // } |
| 2092 | // } |
| 2093 | pos := 0 |
| 2094 | keys := jh.Keys() |
| 2095 | sort.Strings(keys) |
| 2096 | |
| 2097 | for _, k := range keys { |
| 2098 | val := jh[k] |
| 2099 | if pos > 0 { |
| 2100 | io.WriteString(w, ", ") |
| 2101 | } |
| 2102 | w.WriteIdentity(k) |
| 2103 | io.WriteString(w, " = ") |
| 2104 | switch v := val.(type) { |
| 2105 | case string: |
| 2106 | w.WriteLiteral(v) |
| 2107 | case int, int64, int32, bool, float64: |
| 2108 | io.WriteString(w, fmt.Sprintf("%v", v)) |
| 2109 | default: |
| 2110 | u.Warnf("unhandled type comparison: %T", val) |
| 2111 | } |
| 2112 | pos++ |
| 2113 | } |
| 2114 | } |
no test coverage detected