add proto codec.Frame support #94
							
								
								
									
										14
									
								
								yaml.go
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								yaml.go
									
									
									
									
									
								
							| @@ -4,9 +4,10 @@ package yaml // import "go.unistack.org/micro-codec-yaml/v3" | ||||
| import ( | ||||
| 	"io" | ||||
|  | ||||
| 	"sigs.k8s.io/yaml" | ||||
| 	pb "go.unistack.org/micro-proto/v3/codec" | ||||
| 	"go.unistack.org/micro/v3/codec" | ||||
| 	rutil "go.unistack.org/micro/v3/util/reflect" | ||||
| 	"sigs.k8s.io/yaml" | ||||
| ) | ||||
|  | ||||
| type yamlCodec struct { | ||||
| @@ -32,7 +33,10 @@ func (c *yamlCodec) Marshal(v interface{}, opts ...codec.Option) ([]byte, error) | ||||
| 		v = nv | ||||
| 	} | ||||
|  | ||||
| 	if m, ok := v.(*codec.Frame); ok { | ||||
| 	switch m := v.(type) { | ||||
| 	case *codec.Frame: | ||||
| 		return m.Data, nil | ||||
| 	case *pb.Frame: | ||||
| 		return m.Data, nil | ||||
| 	} | ||||
|  | ||||
| @@ -53,7 +57,11 @@ func (c *yamlCodec) Unmarshal(b []byte, v interface{}, opts ...codec.Option) err | ||||
| 		v = nv | ||||
| 	} | ||||
|  | ||||
| 	if m, ok := v.(*codec.Frame); ok { | ||||
| 	switch m := v.(type) { | ||||
| 	case *codec.Frame: | ||||
| 		m.Data = b | ||||
| 		return nil | ||||
| 	case *pb.Frame: | ||||
| 		m.Data = b | ||||
| 		return nil | ||||
| 	} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user