mirror of
https://github.com/kyverno/kyverno.git
synced 2025-03-06 16:06:56 +00:00
25 lines
610 B
Go
25 lines
610 B
Go
package patch
|
|
|
|
import "bytes"
|
|
|
|
// buffer is a wrapper around a slice of bytes used for JSON
|
|
// marshal and unmarshal operations for a strategic merge patch
|
|
type buffer struct {
|
|
*bytes.Buffer
|
|
}
|
|
|
|
// UnmarshalJSON writes the slice of bytes to an internal buffer
|
|
func (buff buffer) UnmarshalJSON(b []byte) error {
|
|
buff.Reset()
|
|
|
|
if _, err := buff.Write(b); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON returns the buffered slice of bytes. The returned slice
|
|
// is valid for use only until the next buffer modification.
|
|
func (buff buffer) MarshalJSON() ([]byte, error) {
|
|
return buff.Bytes(), nil
|
|
}
|