mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	
		
			
				
	
	
		
			35 lines
		
	
	
		
			847 B
		
	
	
	
		
			Go
		
	
	
	
		
			Vendored
		
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			847 B
		
	
	
	
		
			Go
		
	
	
	
		
			Vendored
		
	
	
	
| package easyjson
 | |
| 
 | |
| import (
 | |
| 	json "encoding/json"
 | |
| 
 | |
| 	jlexer "github.com/mailru/easyjson/jlexer"
 | |
| 	"github.com/mailru/easyjson/jwriter"
 | |
| )
 | |
| 
 | |
| // UnknownFieldsProxy implemets UnknownsUnmarshaler and UnknownsMarshaler
 | |
| // use it as embedded field in your structure to parse and then serialize unknown struct fields
 | |
| type UnknownFieldsProxy struct {
 | |
| 	unknownFields map[string]interface{}
 | |
| }
 | |
| 
 | |
| func (s *UnknownFieldsProxy) UnmarshalUnknown(in *jlexer.Lexer, key string) {
 | |
| 	if s.unknownFields == nil {
 | |
| 		s.unknownFields = make(map[string]interface{}, 1)
 | |
| 	}
 | |
| 	s.unknownFields[key] = in.Interface()
 | |
| }
 | |
| 
 | |
| func (s UnknownFieldsProxy) MarshalUnknowns(out *jwriter.Writer, first bool) {
 | |
| 	for key, val := range s.unknownFields {
 | |
| 		if first {
 | |
| 			first = false
 | |
| 		} else {
 | |
| 			out.RawByte(',')
 | |
| 		}
 | |
| 		out.String(string(key))
 | |
| 		out.RawByte(':')
 | |
| 		out.Raw(json.Marshal(val))
 | |
| 	}
 | |
| }
 |