registerValue register Value to init Map
(objValue reflect.Value)
| 11 | |
| 12 | // registerValue register Value to init Map |
| 13 | func (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 |
| 42 | func (dm *mapperObject) cleanRegisterValue() { |
no test coverage detected