mirror of
https://github.com/kyverno/kyverno.git
synced 2024-12-14 11:57:48 +00:00
f20c0ed417
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
26 lines
614 B
Go
26 lines
614 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
|
|
}
|