mirror of
https://github.com/open-policy-agent/opa.git
synced 2026-08-13 03:42:35 -06:00
e43ef0a979
Earlier this evening I tried to run the Go [modernize](https://pkg.go.dev/golang.org/x/tools/gopls/internal/analysis/modernize) analyzer on OPA. That didn't go as planned: - https://github.com/golang/go/issues/73661 - https://github.com/golang/go/issues/73663 While we wait for that to be fixed, I figured an old-fashioned search-and-replace across the repo may work for at least the `interface{}` to `any` conversion. That should help make it easier to see the other fixes as applied by the modernize tool once it has had those issues resolved. Signed-off-by: Anders Eknert <anders@styra.com>
69 lines
2.0 KiB
Go
69 lines
2.0 KiB
Go
// Copyright 2016 The OPA Authors. All rights reserved.
|
|
// Use of this source code is governed by an Apache2
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package util
|
|
|
|
import (
|
|
"encoding/json"
|
|
"io"
|
|
|
|
v1 "github.com/open-policy-agent/opa/v1/util"
|
|
)
|
|
|
|
// UnmarshalJSON parses the JSON encoded data and stores the result in the value
|
|
// pointed to by x.
|
|
//
|
|
// This function is intended to be used in place of the standard json.Marshal
|
|
// function when json.Number is required.
|
|
func UnmarshalJSON(bs []byte, x any) error {
|
|
return v1.UnmarshalJSON(bs, x)
|
|
}
|
|
|
|
// NewJSONDecoder returns a new decoder that reads from r.
|
|
//
|
|
// This function is intended to be used in place of the standard json.NewDecoder
|
|
// when json.Number is required.
|
|
func NewJSONDecoder(r io.Reader) *json.Decoder {
|
|
return v1.NewJSONDecoder(r)
|
|
}
|
|
|
|
// MustUnmarshalJSON parse the JSON encoded data and returns the result.
|
|
//
|
|
// If the data cannot be decoded, this function will panic. This function is for
|
|
// test purposes.
|
|
func MustUnmarshalJSON(bs []byte) any {
|
|
return v1.MustUnmarshalJSON(bs)
|
|
}
|
|
|
|
// MustMarshalJSON returns the JSON encoding of x
|
|
//
|
|
// If the data cannot be encoded, this function will panic. This function is for
|
|
// test purposes.
|
|
func MustMarshalJSON(x any) []byte {
|
|
return v1.MustMarshalJSON(x)
|
|
}
|
|
|
|
// RoundTrip encodes to JSON, and decodes the result again.
|
|
//
|
|
// Thereby, it is converting its argument to the representation expected by
|
|
// rego.Input and inmem's Write operations. Works with both references and
|
|
// values.
|
|
func RoundTrip(x *any) error {
|
|
return v1.RoundTrip(x)
|
|
}
|
|
|
|
// Reference returns a pointer to its argument unless the argument already is
|
|
// a pointer. If the argument is **t, or ***t, etc, it will return *t.
|
|
//
|
|
// Used for preparing Go types (including pointers to structs) into values to be
|
|
// put through util.RoundTrip().
|
|
func Reference(x any) *any {
|
|
return v1.Reference(x)
|
|
}
|
|
|
|
// Unmarshal decodes a YAML, JSON or JSON extension value into the specified type.
|
|
func Unmarshal(bs []byte, v any) error {
|
|
return v1.Unmarshal(bs, v)
|
|
}
|