MCPcopy Create free account
hub / github.com/devfeel/mapper / registerValue

Method registerValue

mapper_object_internal.go:13–39  ·  view source on GitHub ↗

registerValue register Value to init Map

(objValue reflect.Value)

Source from the content-addressed store, hash-verified

11
12// registerValue register Value to init Map
13func (dm *mapperObject) registerValue(objValue reflect.Value) error {
14 regValue := objValue
15 if objValue == dm.ZeroValue {
16 return errors.New("obj value does not exist")
17 }
18
19 if regValue.Type().Kind() == reflect.Ptr {
20 regValue = regValue.Elem()
21 }
22
23 typeName := regValue.Type().String()
24 if regValue.Type().Kind() == reflect.Struct {
25 for i := 0; i < regValue.NumField(); i++ {
26 fieldName := dm.getFieldName(regValue, i)
27 if fieldName == IgnoreTagValue {
28 continue
29 }
30 mapFieldName := typeName + nameConnector + fieldName
31 realFieldName := regValue.Type().Field(i).Name
32 dm.fieldNameMap.Store(mapFieldName, realFieldName)
33 }
34 }
35
36 // store register flag
37 dm.registerMap.Store(typeName, nil)
38 return nil
39}
40
41// cleanRegisterValue clean all register Value & field name map
42func (dm *mapperObject) cleanRegisterValue() {

Callers 2

RegisterMethod · 0.95
elemMapperMethod · 0.95

Calls 2

getFieldNameMethod · 0.95
StringMethod · 0.45

Tested by

no test coverage detected