49 lines
		
	
	
		
			751 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			751 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package encoder
 | |
| 
 | |
| import (
 | |
| 	"context"
 | |
| 	"io"
 | |
| )
 | |
| 
 | |
| type OptionFlag uint8
 | |
| 
 | |
| const (
 | |
| 	HTMLEscapeOption OptionFlag = 1 << iota
 | |
| 	IndentOption
 | |
| 	UnorderedMapOption
 | |
| 	DebugOption
 | |
| 	ColorizeOption
 | |
| 	ContextOption
 | |
| 	NormalizeUTF8Option
 | |
| 	FieldQueryOption
 | |
| )
 | |
| 
 | |
| type Option struct {
 | |
| 	Flag        OptionFlag
 | |
| 	ColorScheme *ColorScheme
 | |
| 	Context     context.Context
 | |
| 	DebugOut    io.Writer
 | |
| 	DebugDOTOut io.WriteCloser
 | |
| }
 | |
| 
 | |
| type EncodeFormat struct {
 | |
| 	Header string
 | |
| 	Footer string
 | |
| }
 | |
| 
 | |
| type EncodeFormatScheme struct {
 | |
| 	Int       EncodeFormat
 | |
| 	Uint      EncodeFormat
 | |
| 	Float     EncodeFormat
 | |
| 	Bool      EncodeFormat
 | |
| 	String    EncodeFormat
 | |
| 	Binary    EncodeFormat
 | |
| 	ObjectKey EncodeFormat
 | |
| 	Null      EncodeFormat
 | |
| }
 | |
| 
 | |
| type (
 | |
| 	ColorScheme = EncodeFormatScheme
 | |
| 	ColorFormat = EncodeFormat
 | |
| )
 |