Files
stash/vendor/github.com/asticode/go-astikit/json.go
WithoutPants bba7c23957 Upgrade to go 1.19 and update dependencies (#3069)
* Update to go 1.19
* Update dependencies
* Update cross-compile script
* Add missing targets to cross-compile-all
* Update cache action to remove warning
2022-11-04 13:41:26 +11:00

36 lines
589 B
Go

package astikit
import (
"bytes"
"encoding/json"
"fmt"
)
func JSONEqual(a, b interface{}) bool {
ba, err := json.Marshal(a)
if err != nil {
return false
}
bb, err := json.Marshal(b)
if err != nil {
return false
}
return bytes.Equal(ba, bb)
}
func JSONClone(src, dst interface{}) (err error) {
// Marshal
var b []byte
if b, err = json.Marshal(src); err != nil {
err = fmt.Errorf("main: marshaling failed: %w", err)
return
}
// Unmarshal
if err = json.Unmarshal(b, dst); err != nil {
err = fmt.Errorf("main: unmarshaling failed: %w", err)
return
}
return
}