Upgrade dependent version: github.com/open-policy-agent/opa v0.18.0 -> v0.45.0 Signed-off-by: hongzhouzi <hongzhouzi@kubesphere.io> Signed-off-by: hongzhouzi <hongzhouzi@kubesphere.io>
26 lines
991 B
Go
26 lines
991 B
Go
package inmem
|
|
|
|
// An Opt modifies store at instantiation.
|
|
type Opt func(*store)
|
|
|
|
// OptRoundTripOnWrite sets whether incoming objects written to store are
|
|
// round-tripped through JSON to ensure they are serializable to JSON.
|
|
//
|
|
// Callers should disable this if they can guarantee all objects passed to
|
|
// Write() are serializable to JSON. Failing to do so may result in undefined
|
|
// behavior, including panics.
|
|
//
|
|
// Usually, when only storing objects in the inmem store that have been read
|
|
// via encoding/json, this is safe to disable, and comes with an improvement
|
|
// in performance and memory use.
|
|
//
|
|
// If setting to false, callers should deep-copy any objects passed to Write()
|
|
// unless they can guarantee the objects will not be mutated after being written,
|
|
// and that mutations happening to the objects after they have been passed into
|
|
// Write() don't affect their logic.
|
|
func OptRoundTripOnWrite(enabled bool) Opt {
|
|
return func(s *store) {
|
|
s.roundTripOnWrite = enabled
|
|
}
|
|
}
|