rlp: add RawValue
This commit is contained in:
@@ -354,6 +354,8 @@ var (
|
||||
func makeWriter(typ reflect.Type) (writer, error) {
|
||||
kind := typ.Kind()
|
||||
switch {
|
||||
case typ == rawValueType:
|
||||
return writeRawValue, nil
|
||||
case typ.Implements(encoderInterface):
|
||||
return writeEncoder, nil
|
||||
case kind != reflect.Ptr && reflect.PtrTo(typ).Implements(encoderInterface):
|
||||
@@ -389,6 +391,11 @@ func isByte(typ reflect.Type) bool {
|
||||
return typ.Kind() == reflect.Uint8 && !typ.Implements(encoderInterface)
|
||||
}
|
||||
|
||||
func writeRawValue(val reflect.Value, w *encbuf) error {
|
||||
w.str = append(w.str, val.Bytes()...)
|
||||
return nil
|
||||
}
|
||||
|
||||
func writeUint(val reflect.Value, w *encbuf) error {
|
||||
i := val.Uint()
|
||||
if i == 0 {
|
||||
|
Reference in New Issue
Block a user