(v reflect.Value)
| 638 | } |
| 639 | |
| 640 | func unwrapInterface(v reflect.Value) reflect.Value { |
| 641 | // For map serialization, we need to unwrap interfaces including nil ones |
| 642 | // A nil interface should become an invalid (zero) Value for proper null detection |
| 643 | if v.Kind() == reflect.Interface { |
| 644 | return v.Elem() |
| 645 | } |
| 646 | return v |
| 647 | } |
| 648 | |
| 649 | func wrapMapSerializerIfNeeded(declaredType, actualType reflect.Type, serializer Serializer) (reflect.Type, Serializer) { |
| 650 | if declaredType == nil || actualType == nil || serializer == nil { |
no test coverage detected