update dependencies (#6519)
Signed-off-by: hongming <coder.scala@gmail.com>
This commit is contained in:
101
vendor/github.com/evanphx/json-patch/patch.go
generated
vendored
101
vendor/github.com/evanphx/json-patch/patch.go
generated
vendored
@@ -3,11 +3,10 @@ package jsonpatch
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -277,7 +276,7 @@ func (o Operation) Path() (string, error) {
|
||||
return op, nil
|
||||
}
|
||||
|
||||
return "unknown", errors.Wrapf(ErrMissing, "operation missing path field")
|
||||
return "unknown", fmt.Errorf("operation missing path field: %w", ErrMissing)
|
||||
}
|
||||
|
||||
// From reads the "from" field of the Operation.
|
||||
@@ -294,7 +293,7 @@ func (o Operation) From() (string, error) {
|
||||
return op, nil
|
||||
}
|
||||
|
||||
return "unknown", errors.Wrapf(ErrMissing, "operation, missing from field")
|
||||
return "unknown", fmt.Errorf("operation, missing from field: %w", ErrMissing)
|
||||
}
|
||||
|
||||
func (o Operation) value() *lazyNode {
|
||||
@@ -319,7 +318,7 @@ func (o Operation) ValueInterface() (interface{}, error) {
|
||||
return v, nil
|
||||
}
|
||||
|
||||
return nil, errors.Wrapf(ErrMissing, "operation, missing value field")
|
||||
return nil, fmt.Errorf("operation, missing value field: %w", ErrMissing)
|
||||
}
|
||||
|
||||
func isArray(buf []byte) bool {
|
||||
@@ -398,7 +397,7 @@ func (d *partialDoc) get(key string) (*lazyNode, error) {
|
||||
func (d *partialDoc) remove(key string) error {
|
||||
_, ok := (*d)[key]
|
||||
if !ok {
|
||||
return errors.Wrapf(ErrMissing, "Unable to remove nonexistent key: %s", key)
|
||||
return fmt.Errorf("Unable to remove nonexistent key: %s: %w", key, ErrMissing)
|
||||
}
|
||||
|
||||
delete(*d, key)
|
||||
@@ -415,10 +414,10 @@ func (d *partialArray) set(key string, val *lazyNode) error {
|
||||
|
||||
if idx < 0 {
|
||||
if !SupportNegativeIndices {
|
||||
return errors.Wrapf(ErrInvalidIndex, "Unable to access invalid index: %d", idx)
|
||||
return fmt.Errorf("Unable to access invalid index: %d: %w", idx, ErrInvalidIndex)
|
||||
}
|
||||
if idx < -len(*d) {
|
||||
return errors.Wrapf(ErrInvalidIndex, "Unable to access invalid index: %d", idx)
|
||||
return fmt.Errorf("Unable to access invalid index: %d: %w", idx, ErrInvalidIndex)
|
||||
}
|
||||
idx += len(*d)
|
||||
}
|
||||
@@ -435,7 +434,7 @@ func (d *partialArray) add(key string, val *lazyNode) error {
|
||||
|
||||
idx, err := strconv.Atoi(key)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "value was not a proper array index: '%s'", key)
|
||||
return fmt.Errorf("value was not a proper array index: '%s': %w", key, err)
|
||||
}
|
||||
|
||||
sz := len(*d) + 1
|
||||
@@ -445,15 +444,15 @@ func (d *partialArray) add(key string, val *lazyNode) error {
|
||||
cur := *d
|
||||
|
||||
if idx >= len(ary) {
|
||||
return errors.Wrapf(ErrInvalidIndex, "Unable to access invalid index: %d", idx)
|
||||
return fmt.Errorf("Unable to access invalid index: %d: %w", idx, ErrInvalidIndex)
|
||||
}
|
||||
|
||||
if idx < 0 {
|
||||
if !SupportNegativeIndices {
|
||||
return errors.Wrapf(ErrInvalidIndex, "Unable to access invalid index: %d", idx)
|
||||
return fmt.Errorf("Unable to access invalid index: %d: %w", idx, ErrInvalidIndex)
|
||||
}
|
||||
if idx < -len(ary) {
|
||||
return errors.Wrapf(ErrInvalidIndex, "Unable to access invalid index: %d", idx)
|
||||
return fmt.Errorf("Unable to access invalid index: %d: %w", idx, ErrInvalidIndex)
|
||||
}
|
||||
idx += len(ary)
|
||||
}
|
||||
@@ -475,16 +474,16 @@ func (d *partialArray) get(key string) (*lazyNode, error) {
|
||||
|
||||
if idx < 0 {
|
||||
if !SupportNegativeIndices {
|
||||
return nil, errors.Wrapf(ErrInvalidIndex, "Unable to access invalid index: %d", idx)
|
||||
return nil, fmt.Errorf("Unable to access invalid index: %d: %w", idx, ErrInvalidIndex)
|
||||
}
|
||||
if idx < -len(*d) {
|
||||
return nil, errors.Wrapf(ErrInvalidIndex, "Unable to access invalid index: %d", idx)
|
||||
return nil, fmt.Errorf("Unable to access invalid index: %d: %w", idx, ErrInvalidIndex)
|
||||
}
|
||||
idx += len(*d)
|
||||
}
|
||||
|
||||
if idx >= len(*d) {
|
||||
return nil, errors.Wrapf(ErrInvalidIndex, "Unable to access invalid index: %d", idx)
|
||||
return nil, fmt.Errorf("Unable to access invalid index: %d: %w", idx, ErrInvalidIndex)
|
||||
}
|
||||
|
||||
return (*d)[idx], nil
|
||||
@@ -499,15 +498,15 @@ func (d *partialArray) remove(key string) error {
|
||||
cur := *d
|
||||
|
||||
if idx >= len(cur) {
|
||||
return errors.Wrapf(ErrInvalidIndex, "Unable to access invalid index: %d", idx)
|
||||
return fmt.Errorf("Unable to access invalid index: %d: %w", idx, ErrInvalidIndex)
|
||||
}
|
||||
|
||||
if idx < 0 {
|
||||
if !SupportNegativeIndices {
|
||||
return errors.Wrapf(ErrInvalidIndex, "Unable to access invalid index: %d", idx)
|
||||
return fmt.Errorf("Unable to access invalid index: %d: %w", idx, ErrInvalidIndex)
|
||||
}
|
||||
if idx < -len(cur) {
|
||||
return errors.Wrapf(ErrInvalidIndex, "Unable to access invalid index: %d", idx)
|
||||
return fmt.Errorf("Unable to access invalid index: %d: %w", idx, ErrInvalidIndex)
|
||||
}
|
||||
idx += len(cur)
|
||||
}
|
||||
@@ -525,18 +524,18 @@ func (d *partialArray) remove(key string) error {
|
||||
func (p Patch) add(doc *container, op Operation) error {
|
||||
path, err := op.Path()
|
||||
if err != nil {
|
||||
return errors.Wrapf(ErrMissing, "add operation failed to decode path")
|
||||
return fmt.Errorf("add operation failed to decode path: %w", ErrMissing)
|
||||
}
|
||||
|
||||
con, key := findObject(doc, path)
|
||||
|
||||
if con == nil {
|
||||
return errors.Wrapf(ErrMissing, "add operation does not apply: doc is missing path: \"%s\"", path)
|
||||
return fmt.Errorf("add operation does not apply: doc is missing path: \"%s\": %w", path, ErrMissing)
|
||||
}
|
||||
|
||||
err = con.add(key, op.value())
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "error in add for path: '%s'", path)
|
||||
return fmt.Errorf("error in add for path: '%s': %w", path, err)
|
||||
}
|
||||
|
||||
return nil
|
||||
@@ -545,18 +544,18 @@ func (p Patch) add(doc *container, op Operation) error {
|
||||
func (p Patch) remove(doc *container, op Operation) error {
|
||||
path, err := op.Path()
|
||||
if err != nil {
|
||||
return errors.Wrapf(ErrMissing, "remove operation failed to decode path")
|
||||
return fmt.Errorf("remove operation failed to decode path: %w", ErrMissing)
|
||||
}
|
||||
|
||||
con, key := findObject(doc, path)
|
||||
|
||||
if con == nil {
|
||||
return errors.Wrapf(ErrMissing, "remove operation does not apply: doc is missing path: \"%s\"", path)
|
||||
return fmt.Errorf("remove operation does not apply: doc is missing path: \"%s\": %w", path, ErrMissing)
|
||||
}
|
||||
|
||||
err = con.remove(key)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "error in remove for path: '%s'", path)
|
||||
return fmt.Errorf("error in remove for path: '%s': %w", path, err)
|
||||
}
|
||||
|
||||
return nil
|
||||
@@ -565,7 +564,7 @@ func (p Patch) remove(doc *container, op Operation) error {
|
||||
func (p Patch) replace(doc *container, op Operation) error {
|
||||
path, err := op.Path()
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "replace operation failed to decode path")
|
||||
return fmt.Errorf("replace operation failed to decode path: %w", err)
|
||||
}
|
||||
|
||||
if path == "" {
|
||||
@@ -574,7 +573,7 @@ func (p Patch) replace(doc *container, op Operation) error {
|
||||
if val.which == eRaw {
|
||||
if !val.tryDoc() {
|
||||
if !val.tryAry() {
|
||||
return errors.Wrapf(err, "replace operation value must be object or array")
|
||||
return fmt.Errorf("replace operation value must be object or array: %w", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -585,7 +584,7 @@ func (p Patch) replace(doc *container, op Operation) error {
|
||||
case eDoc:
|
||||
*doc = &val.doc
|
||||
case eRaw:
|
||||
return errors.Wrapf(err, "replace operation hit impossible case")
|
||||
return fmt.Errorf("replace operation hit impossible case: %w", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
@@ -594,17 +593,17 @@ func (p Patch) replace(doc *container, op Operation) error {
|
||||
con, key := findObject(doc, path)
|
||||
|
||||
if con == nil {
|
||||
return errors.Wrapf(ErrMissing, "replace operation does not apply: doc is missing path: %s", path)
|
||||
return fmt.Errorf("replace operation does not apply: doc is missing path: %s: %w", path, ErrMissing)
|
||||
}
|
||||
|
||||
_, ok := con.get(key)
|
||||
if ok != nil {
|
||||
return errors.Wrapf(ErrMissing, "replace operation does not apply: doc is missing key: %s", path)
|
||||
return fmt.Errorf("replace operation does not apply: doc is missing key: %s: %w", path, ErrMissing)
|
||||
}
|
||||
|
||||
err = con.set(key, op.value())
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "error in remove for path: '%s'", path)
|
||||
return fmt.Errorf("error in remove for path: '%s': %w", path, err)
|
||||
}
|
||||
|
||||
return nil
|
||||
@@ -613,39 +612,39 @@ func (p Patch) replace(doc *container, op Operation) error {
|
||||
func (p Patch) move(doc *container, op Operation) error {
|
||||
from, err := op.From()
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "move operation failed to decode from")
|
||||
return fmt.Errorf("move operation failed to decode from: %w", err)
|
||||
}
|
||||
|
||||
con, key := findObject(doc, from)
|
||||
|
||||
if con == nil {
|
||||
return errors.Wrapf(ErrMissing, "move operation does not apply: doc is missing from path: %s", from)
|
||||
return fmt.Errorf("move operation does not apply: doc is missing from path: %s: %w", from, ErrMissing)
|
||||
}
|
||||
|
||||
val, err := con.get(key)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "error in move for path: '%s'", key)
|
||||
return fmt.Errorf("error in move for path: '%s': %w", key, err)
|
||||
}
|
||||
|
||||
err = con.remove(key)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "error in move for path: '%s'", key)
|
||||
return fmt.Errorf("error in move for path: '%s': %w", key, err)
|
||||
}
|
||||
|
||||
path, err := op.Path()
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "move operation failed to decode path")
|
||||
return fmt.Errorf("move operation failed to decode path: %w", err)
|
||||
}
|
||||
|
||||
con, key = findObject(doc, path)
|
||||
|
||||
if con == nil {
|
||||
return errors.Wrapf(ErrMissing, "move operation does not apply: doc is missing destination path: %s", path)
|
||||
return fmt.Errorf("move operation does not apply: doc is missing destination path: %s: %w", path, ErrMissing)
|
||||
}
|
||||
|
||||
err = con.add(key, val)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "error in move for path: '%s'", path)
|
||||
return fmt.Errorf("error in move for path: '%s': %w", path, err)
|
||||
}
|
||||
|
||||
return nil
|
||||
@@ -654,7 +653,7 @@ func (p Patch) move(doc *container, op Operation) error {
|
||||
func (p Patch) test(doc *container, op Operation) error {
|
||||
path, err := op.Path()
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "test operation failed to decode path")
|
||||
return fmt.Errorf("test operation failed to decode path: %w", err)
|
||||
}
|
||||
|
||||
if path == "" {
|
||||
@@ -673,67 +672,67 @@ func (p Patch) test(doc *container, op Operation) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
return errors.Wrapf(ErrTestFailed, "testing value %s failed", path)
|
||||
return fmt.Errorf("testing value %s failed: %w", path, ErrTestFailed)
|
||||
}
|
||||
|
||||
con, key := findObject(doc, path)
|
||||
|
||||
if con == nil {
|
||||
return errors.Wrapf(ErrMissing, "test operation does not apply: is missing path: %s", path)
|
||||
return fmt.Errorf("test operation does not apply: is missing path: %s: %w", path, ErrMissing)
|
||||
}
|
||||
|
||||
val, err := con.get(key)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "error in test for path: '%s'", path)
|
||||
return fmt.Errorf("error in test for path: '%s': %w", path, err)
|
||||
}
|
||||
|
||||
if val == nil {
|
||||
if op.value() == nil || op.value().raw == nil {
|
||||
return nil
|
||||
}
|
||||
return errors.Wrapf(ErrTestFailed, "testing value %s failed", path)
|
||||
return fmt.Errorf("testing value %s failed: %w", path, ErrTestFailed)
|
||||
} else if op.value() == nil {
|
||||
return errors.Wrapf(ErrTestFailed, "testing value %s failed", path)
|
||||
return fmt.Errorf("testing value %s failed: %w", path, ErrTestFailed)
|
||||
}
|
||||
|
||||
if val.equal(op.value()) {
|
||||
return nil
|
||||
}
|
||||
|
||||
return errors.Wrapf(ErrTestFailed, "testing value %s failed", path)
|
||||
return fmt.Errorf("testing value %s failed: %w", path, ErrTestFailed)
|
||||
}
|
||||
|
||||
func (p Patch) copy(doc *container, op Operation, accumulatedCopySize *int64) error {
|
||||
from, err := op.From()
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "copy operation failed to decode from")
|
||||
return fmt.Errorf("copy operation failed to decode from: %w", err)
|
||||
}
|
||||
|
||||
con, key := findObject(doc, from)
|
||||
|
||||
if con == nil {
|
||||
return errors.Wrapf(ErrMissing, "copy operation does not apply: doc is missing from path: %s", from)
|
||||
return fmt.Errorf("copy operation does not apply: doc is missing from path: %s: %w", from, ErrMissing)
|
||||
}
|
||||
|
||||
val, err := con.get(key)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "error in copy for from: '%s'", from)
|
||||
return fmt.Errorf("error in copy for from: '%s': %w", from, err)
|
||||
}
|
||||
|
||||
path, err := op.Path()
|
||||
if err != nil {
|
||||
return errors.Wrapf(ErrMissing, "copy operation failed to decode path")
|
||||
return fmt.Errorf("copy operation failed to decode path: %w", ErrMissing)
|
||||
}
|
||||
|
||||
con, key = findObject(doc, path)
|
||||
|
||||
if con == nil {
|
||||
return errors.Wrapf(ErrMissing, "copy operation does not apply: doc is missing destination path: %s", path)
|
||||
return fmt.Errorf("copy operation does not apply: doc is missing destination path: %s: %w", path, ErrMissing)
|
||||
}
|
||||
|
||||
valCopy, sz, err := deepCopy(val)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "error while performing deep copy")
|
||||
return fmt.Errorf("error while performing deep copy: %w", err)
|
||||
}
|
||||
|
||||
(*accumulatedCopySize) += int64(sz)
|
||||
@@ -743,7 +742,7 @@ func (p Patch) copy(doc *container, op Operation, accumulatedCopySize *int64) er
|
||||
|
||||
err = con.add(key, valCopy)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "error while adding value during copy")
|
||||
return fmt.Errorf("error while adding value during copy: %w", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
||||
Reference in New Issue
Block a user