From 51615440bf9a932004bca2b69e5805b1ec48427f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Wed, 31 Jan 2024 12:34:28 +0100 Subject: docs: Make null booleans falsy in the docs helper --- parser/lowercase_camel_json.go | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'parser') diff --git a/parser/lowercase_camel_json.go b/parser/lowercase_camel_json.go index 3dd4c24b0..72715a04b 100644 --- a/parser/lowercase_camel_json.go +++ b/parser/lowercase_camel_json.go @@ -25,9 +25,23 @@ import ( // Regexp definitions var ( - keyMatchRegex = regexp.MustCompile(`\"(\w+)\":`) + keyMatchRegex = regexp.MustCompile(`\"(\w+)\":`) + nullEnableBoolRegex = regexp.MustCompile(`\"(enable\w+)\":null`) ) +type NullBoolJSONMarshaller struct { + Wrapped json.Marshaler +} + +func (c NullBoolJSONMarshaller) MarshalJSON() ([]byte, error) { + b, err := c.Wrapped.MarshalJSON() + if err != nil { + return nil, err + } + i := bytes.Index(b, []byte("enableDefault")) + return nullEnableBoolRegex.ReplaceAll(b, []byte(`"$1": false`)), nil +} + // Code adapted from https://gist.github.com/piersy/b9934790a8892db1a603820c0c23e4a7 type LowerCaseCamelJSONMarshaller struct { Value any -- cgit v1.2.3