mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08: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))
 | 
						|
	}
 | 
						|
}
 |