2021-01-16 16:16:26 +03:00
|
|
|
package json_test
|
|
|
|
|
2021-01-19 08:01:43 +03:00
|
|
|
import (
|
|
|
|
"bytes"
|
|
|
|
stdjson "encoding/json"
|
2021-03-20 13:01:04 +03:00
|
|
|
|
|
|
|
"github.com/goccy/go-json"
|
2021-01-19 08:01:43 +03:00
|
|
|
)
|
|
|
|
|
2021-03-11 13:29:35 +03:00
|
|
|
func intptr(v int) *int { return &v }
|
2021-03-19 17:31:29 +03:00
|
|
|
func intptr3(v int) ***int { vv := &v; vvv := &vv; return &vvv }
|
2021-03-11 13:29:35 +03:00
|
|
|
func int8ptr(v int8) *int8 { return &v }
|
2021-03-19 17:31:29 +03:00
|
|
|
func int8ptr3(v int8) ***int8 { vv := &v; vvv := &vv; return &vvv }
|
2021-03-11 13:29:35 +03:00
|
|
|
func int16ptr(v int16) *int16 { return &v }
|
2021-03-19 17:31:29 +03:00
|
|
|
func int16ptr3(v int16) ***int16 { vv := &v; vvv := &vv; return &vvv }
|
2021-03-11 13:29:35 +03:00
|
|
|
func int32ptr(v int32) *int32 { return &v }
|
2021-03-19 17:31:29 +03:00
|
|
|
func int32ptr3(v int32) ***int32 { vv := &v; vvv := &vv; return &vvv }
|
2021-03-11 13:29:35 +03:00
|
|
|
func int64ptr(v int64) *int64 { return &v }
|
2021-03-19 17:31:29 +03:00
|
|
|
func int64ptr3(v int64) ***int64 { vv := &v; vvv := &vv; return &vvv }
|
2021-03-11 13:29:35 +03:00
|
|
|
func uptr(v uint) *uint { return &v }
|
2021-03-19 17:31:29 +03:00
|
|
|
func uintptr3(v uint) ***uint { vv := &v; vvv := &vv; return &vvv }
|
2021-03-11 13:29:35 +03:00
|
|
|
func uint8ptr(v uint8) *uint8 { return &v }
|
2021-03-19 17:31:29 +03:00
|
|
|
func uint8ptr3(v uint8) ***uint8 { vv := &v; vvv := &vv; return &vvv }
|
2021-03-11 13:29:35 +03:00
|
|
|
func uint16ptr(v uint16) *uint16 { return &v }
|
2021-03-19 17:31:29 +03:00
|
|
|
func uint16ptr3(v uint16) ***uint16 { vv := &v; vvv := &vv; return &vvv }
|
2021-03-11 13:29:35 +03:00
|
|
|
func uint32ptr(v uint32) *uint32 { return &v }
|
2021-03-19 17:31:29 +03:00
|
|
|
func uint32ptr3(v uint32) ***uint32 { vv := &v; vvv := &vv; return &vvv }
|
2021-03-11 13:29:35 +03:00
|
|
|
func uint64ptr(v uint64) *uint64 { return &v }
|
2021-03-19 17:31:29 +03:00
|
|
|
func uint64ptr3(v uint64) ***uint64 { vv := &v; vvv := &vv; return &vvv }
|
2021-03-11 13:29:35 +03:00
|
|
|
func float32ptr(v float32) *float32 { return &v }
|
2021-03-19 17:31:29 +03:00
|
|
|
func float32ptr3(v float32) ***float32 { vv := &v; vvv := &vv; return &vvv }
|
2021-03-11 13:29:35 +03:00
|
|
|
func float64ptr(v float64) *float64 { return &v }
|
2021-03-19 17:31:29 +03:00
|
|
|
func float64ptr3(v float64) ***float64 { vv := &v; vvv := &vv; return &vvv }
|
2021-03-11 13:29:35 +03:00
|
|
|
func stringptr(v string) *string { return &v }
|
2021-03-19 17:31:29 +03:00
|
|
|
func stringptr3(v string) ***string { vv := &v; vvv := &vv; return &vvv }
|
2021-03-11 13:29:35 +03:00
|
|
|
func boolptr(v bool) *bool { return &v }
|
2021-03-19 17:31:29 +03:00
|
|
|
func boolptr3(v bool) ***bool { vv := &v; vvv := &vv; return &vvv }
|
|
|
|
func bytesptr(v []byte) *[]byte { return &v }
|
|
|
|
func bytesptr3(v []byte) ***[]byte { vv := &v; vvv := &vv; return &vvv }
|
2021-03-20 13:01:04 +03:00
|
|
|
func numberptr(v json.Number) *json.Number { return &v }
|
|
|
|
func numberptr3(v json.Number) ***json.Number { vv := &v; vvv := &vv; return &vvv }
|
2021-03-11 13:29:35 +03:00
|
|
|
func sliceptr(v []int) *[]int { return &v }
|
|
|
|
func arrayptr(v [2]int) *[2]int { return &v }
|
|
|
|
func mapptr(v map[string]int) *map[string]int { return &v }
|
2021-01-19 08:01:43 +03:00
|
|
|
|
|
|
|
func encodeByEncodingJSON(data interface{}, indent, escape bool) string {
|
|
|
|
var buf bytes.Buffer
|
|
|
|
enc := stdjson.NewEncoder(&buf)
|
|
|
|
enc.SetEscapeHTML(escape)
|
|
|
|
if indent {
|
|
|
|
enc.SetIndent("", " ")
|
|
|
|
}
|
|
|
|
enc.Encode(data)
|
|
|
|
return buf.String()
|
|
|
|
}
|