From 8a3ef3885229bd24a2d12a1fdae372e3fe937334 Mon Sep 17 00:00:00 2001 From: Masaaki Goshima Date: Sun, 6 Jun 2021 17:57:30 +0900 Subject: [PATCH] Add document for options --- option.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/option.go b/option.go index 60225dd..c8ec1b3 100644 --- a/option.go +++ b/option.go @@ -8,18 +8,21 @@ import ( type EncodeOption = encoder.Option type EncodeOptionFunc func(*EncodeOption) +// UnorderedMap doesn't sort when encoding map type. func UnorderedMap() EncodeOptionFunc { return func(opt *EncodeOption) { opt.Flag |= encoder.UnorderedMapOption } } +// Debug outputs debug information when panic occurs during encoding. func Debug() EncodeOptionFunc { return func(opt *EncodeOption) { opt.Flag |= encoder.DebugOption } } +// Colorize add an identifier for coloring to the string of the encoded result. func Colorize(scheme *ColorScheme) EncodeOptionFunc { return func(opt *EncodeOption) { opt.Flag |= encoder.ColorizeOption @@ -30,6 +33,12 @@ func Colorize(scheme *ColorScheme) EncodeOptionFunc { type DecodeOption = decoder.Option type DecodeOptionFunc func(*DecodeOption) +// DecodeFieldPriorityFirstWin +// in the default behavior, go-json, like encoding/json, +// will reflect the result of the last evaluation when a field with the same name exists. +// This option allow you to change this behavior. +// this option reflects the result of the first evaluation if a field with the same name exists. +// This behavior has a performance advantage as it allows the subsequent strings to be skipped if all fields have been evaluated. func DecodeFieldPriorityFirstWin() DecodeOptionFunc { return func(opt *DecodeOption) { opt.Flag |= decoder.FirstWinOption