MCPcopy
hub / github.com/labstack/echo / setWithProperType

Function setWithProperType

bind.go:361–403  ·  view source on GitHub ↗
(valueKind reflect.Kind, val string, structField reflect.Value)

Source from the content-addressed store, hash-verified

359}
360
361func setWithProperType(valueKind reflect.Kind, val string, structField reflect.Value) error {
362 // But also call it here, in case we're dealing with an array of BindUnmarshalers
363 // Note: format tag not available in this context, so empty string is passed
364 if ok, err := unmarshalInputToField(valueKind, val, structField, ""); ok {
365 return err
366 }
367
368 switch valueKind {
369 case reflect.Pointer:
370 return setWithProperType(structField.Elem().Kind(), val, structField.Elem())
371 case reflect.Int:
372 return setIntField(val, 0, structField)
373 case reflect.Int8:
374 return setIntField(val, 8, structField)
375 case reflect.Int16:
376 return setIntField(val, 16, structField)
377 case reflect.Int32:
378 return setIntField(val, 32, structField)
379 case reflect.Int64:
380 return setIntField(val, 64, structField)
381 case reflect.Uint:
382 return setUintField(val, 0, structField)
383 case reflect.Uint8:
384 return setUintField(val, 8, structField)
385 case reflect.Uint16:
386 return setUintField(val, 16, structField)
387 case reflect.Uint32:
388 return setUintField(val, 32, structField)
389 case reflect.Uint64:
390 return setUintField(val, 64, structField)
391 case reflect.Bool:
392 return setBoolField(val, structField)
393 case reflect.Float32:
394 return setFloatField(val, 32, structField)
395 case reflect.Float64:
396 return setFloatField(val, 64, structField)
397 case reflect.String:
398 structField.SetString(val)
399 default:
400 return errors.New("unknown type")
401 }
402 return nil
403}
404
405func unmarshalInputsToField(valueKind reflect.Kind, values []string, field reflect.Value) (bool, error) {
406 if valueKind == reflect.Pointer {

Callers 2

bindDataFunction · 0.85

Calls 5

unmarshalInputToFieldFunction · 0.85
setIntFieldFunction · 0.85
setUintFieldFunction · 0.85
setBoolFieldFunction · 0.85
setFloatFieldFunction · 0.85

Tested by 1

Used in the wild real call sites across dependent graphs

searching dependent graphs…