MCPcopy Index your code
hub / github.com/wavetermdev/waveterm / convertJsonNumber

Function convertJsonNumber

pkg/wconfig/settingsconfig.go:821–843  ·  view source on GitHub ↗
(num json.Number, ctype reflect.Type)

Source from the content-addressed store, hash-verified

819var dummyNumber json.Number
820
821func convertJsonNumber(num json.Number, ctype reflect.Type) (interface{}, error) {
822 // ctype might be int64, float64, string, *int64, *float64, *string
823 // switch on ctype first
824 if ctype.Kind() == reflect.Pointer {
825 ctype = ctype.Elem()
826 }
827 if reflect.Int64 == ctype.Kind() {
828 if ival, err := num.Int64(); err == nil {
829 return ival, nil
830 }
831 return nil, fmt.Errorf("invalid number for int64: %s", num)
832 }
833 if reflect.Float64 == ctype.Kind() {
834 if fval, err := num.Float64(); err == nil {
835 return fval, nil
836 }
837 return nil, fmt.Errorf("invalid number for float64: %s", num)
838 }
839 if reflect.String == ctype.Kind() {
840 return num.String(), nil
841 }
842 return nil, fmt.Errorf("cannot convert number to %s", ctype)
843}
844
845func SetBaseConfigValue(toMerge waveobj.MetaMapType) error {
846 m, cerrs := ReadWaveHomeConfigFile(SettingsFile)

Callers 1

SetBaseConfigValueFunction · 0.85

Calls 1

StringMethod · 0.45

Tested by

no test coverage detected