mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-10-31 14:31:02 +00:00 
			
		
		
		
	* Issue search support elasticsearch * Fix lint * Add indexer name on app.ini * add a warnning on SearchIssuesByKeyword * improve code
		
			
				
	
	
		
			45 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
		
			Vendored
		
	
	
	
			
		
		
	
	
			45 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
		
			Vendored
		
	
	
	
| package easyjson
 | |
| 
 | |
| import (
 | |
| 	"github.com/mailru/easyjson/jlexer"
 | |
| 	"github.com/mailru/easyjson/jwriter"
 | |
| )
 | |
| 
 | |
| // RawMessage is a raw piece of JSON (number, string, bool, object, array or
 | |
| // null) that is extracted without parsing and output as is during marshaling.
 | |
| type RawMessage []byte
 | |
| 
 | |
| // MarshalEasyJSON does JSON marshaling using easyjson interface.
 | |
| func (v *RawMessage) MarshalEasyJSON(w *jwriter.Writer) {
 | |
| 	if len(*v) == 0 {
 | |
| 		w.RawString("null")
 | |
| 	} else {
 | |
| 		w.Raw(*v, nil)
 | |
| 	}
 | |
| }
 | |
| 
 | |
| // UnmarshalEasyJSON does JSON unmarshaling using easyjson interface.
 | |
| func (v *RawMessage) UnmarshalEasyJSON(l *jlexer.Lexer) {
 | |
| 	*v = RawMessage(l.Raw())
 | |
| }
 | |
| 
 | |
| // UnmarshalJSON implements encoding/json.Unmarshaler interface.
 | |
| func (v *RawMessage) UnmarshalJSON(data []byte) error {
 | |
| 	*v = data
 | |
| 	return nil
 | |
| }
 | |
| 
 | |
| var nullBytes = []byte("null")
 | |
| 
 | |
| // MarshalJSON implements encoding/json.Marshaler interface.
 | |
| func (v RawMessage) MarshalJSON() ([]byte, error) {
 | |
| 	if len(v) == 0 {
 | |
| 		return nullBytes, nil
 | |
| 	}
 | |
| 	return v, nil
 | |
| }
 | |
| 
 | |
| // IsDefined is required for integration with omitempty easyjson logic.
 | |
| func (v *RawMessage) IsDefined() bool {
 | |
| 	return len(*v) > 0
 | |
| }
 |