mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	upgrade gopkg.in/evanphx/json-patch to v4.11.0
Signed-off-by: pacoxu <paco.xu@daocloud.io>
This commit is contained in:
		
							
								
								
									
										19
									
								
								vendor/github.com/evanphx/json-patch/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								vendor/github.com/evanphx/json-patch/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,19 +0,0 @@
 | 
			
		||||
language: go
 | 
			
		||||
 | 
			
		||||
go:
 | 
			
		||||
  - 1.14
 | 
			
		||||
  - 1.13
 | 
			
		||||
 | 
			
		||||
install:
 | 
			
		||||
  - if ! go get code.google.com/p/go.tools/cmd/cover; then go get golang.org/x/tools/cmd/cover; fi
 | 
			
		||||
  - go get github.com/jessevdk/go-flags
 | 
			
		||||
 | 
			
		||||
script:
 | 
			
		||||
  - go get
 | 
			
		||||
  - go test -cover ./...
 | 
			
		||||
  - cd ./v5
 | 
			
		||||
  - go get
 | 
			
		||||
  - go test -cover ./...
 | 
			
		||||
 | 
			
		||||
notifications:
 | 
			
		||||
  email: false
 | 
			
		||||
							
								
								
									
										19
									
								
								vendor/github.com/evanphx/json-patch/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								vendor/github.com/evanphx/json-patch/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -39,6 +39,25 @@ go get -u github.com/evanphx/json-patch/v5
 | 
			
		||||
  which limits the total size increase in bytes caused by "copy" operations in a
 | 
			
		||||
  patch. It defaults to 0, which means there is no limit.
 | 
			
		||||
 | 
			
		||||
These global variables control the behavior of `jsonpatch.Apply`.
 | 
			
		||||
 | 
			
		||||
An alternative to `jsonpatch.Apply` is `jsonpatch.ApplyWithOptions` whose behavior
 | 
			
		||||
is controlled by an `options` parameter of type `*jsonpatch.ApplyOptions`.
 | 
			
		||||
 | 
			
		||||
Structure `jsonpatch.ApplyOptions` includes the configuration options above 
 | 
			
		||||
and adds two new options: `AllowMissingPathOnRemove` and `EnsurePathExistsOnAdd`.
 | 
			
		||||
 | 
			
		||||
When `AllowMissingPathOnRemove` is set to `true`, `jsonpatch.ApplyWithOptions` will ignore
 | 
			
		||||
`remove` operations whose `path` points to a non-existent location in the JSON document.
 | 
			
		||||
`AllowMissingPathOnRemove` defaults to `false` which will lead to `jsonpatch.ApplyWithOptions`
 | 
			
		||||
returning an error when hitting a missing `path` on `remove`.
 | 
			
		||||
 | 
			
		||||
When `EnsurePathExistsOnAdd` is set to `true`, `jsonpatch.ApplyWithOptions` will make sure
 | 
			
		||||
that `add` operations produce all the `path` elements that are missing from the target object.
 | 
			
		||||
 | 
			
		||||
Use `jsonpatch.NewApplyOptions` to create an instance of `jsonpatch.ApplyOptions`
 | 
			
		||||
whose values are populated from the global configuration variables.
 | 
			
		||||
 | 
			
		||||
## Create and apply a merge patch
 | 
			
		||||
Given both an original JSON document and a modified JSON document, you can create
 | 
			
		||||
a [Merge Patch](https://tools.ietf.org/html/rfc7396) document. 
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										33
									
								
								vendor/github.com/evanphx/json-patch/merge.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										33
									
								
								vendor/github.com/evanphx/json-patch/merge.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -38,7 +38,10 @@ func mergeDocs(doc, patch *partialDoc, mergeMerge bool) {
 | 
			
		||||
			cur, ok := (*doc)[k]
 | 
			
		||||
 | 
			
		||||
			if !ok || cur == nil {
 | 
			
		||||
				pruneNulls(v)
 | 
			
		||||
				if !mergeMerge {
 | 
			
		||||
					pruneNulls(v)
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				(*doc)[k] = v
 | 
			
		||||
			} else {
 | 
			
		||||
				(*doc)[k] = merge(cur, v, mergeMerge)
 | 
			
		||||
@@ -79,8 +82,8 @@ func pruneAryNulls(ary *partialArray) *partialArray {
 | 
			
		||||
	for _, v := range *ary {
 | 
			
		||||
		if v != nil {
 | 
			
		||||
			pruneNulls(v)
 | 
			
		||||
			newAry = append(newAry, v)
 | 
			
		||||
		}
 | 
			
		||||
		newAry = append(newAry, v)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	*ary = newAry
 | 
			
		||||
@@ -88,8 +91,8 @@ func pruneAryNulls(ary *partialArray) *partialArray {
 | 
			
		||||
	return ary
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var errBadJSONDoc = fmt.Errorf("Invalid JSON Document")
 | 
			
		||||
var errBadJSONPatch = fmt.Errorf("Invalid JSON Patch")
 | 
			
		||||
var ErrBadJSONDoc = fmt.Errorf("Invalid JSON Document")
 | 
			
		||||
var ErrBadJSONPatch = fmt.Errorf("Invalid JSON Patch")
 | 
			
		||||
var errBadMergeTypes = fmt.Errorf("Mismatched JSON Documents")
 | 
			
		||||
 | 
			
		||||
// MergeMergePatches merges two merge patches together, such that
 | 
			
		||||
@@ -114,19 +117,19 @@ func doMergePatch(docData, patchData []byte, mergeMerge bool) ([]byte, error) {
 | 
			
		||||
	patchErr := json.Unmarshal(patchData, patch)
 | 
			
		||||
 | 
			
		||||
	if _, ok := docErr.(*json.SyntaxError); ok {
 | 
			
		||||
		return nil, errBadJSONDoc
 | 
			
		||||
		return nil, ErrBadJSONDoc
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if _, ok := patchErr.(*json.SyntaxError); ok {
 | 
			
		||||
		return nil, errBadJSONPatch
 | 
			
		||||
		return nil, ErrBadJSONPatch
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if docErr == nil && *doc == nil {
 | 
			
		||||
		return nil, errBadJSONDoc
 | 
			
		||||
		return nil, ErrBadJSONDoc
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if patchErr == nil && *patch == nil {
 | 
			
		||||
		return nil, errBadJSONPatch
 | 
			
		||||
		return nil, ErrBadJSONPatch
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if docErr != nil || patchErr != nil {
 | 
			
		||||
@@ -142,7 +145,7 @@ func doMergePatch(docData, patchData []byte, mergeMerge bool) ([]byte, error) {
 | 
			
		||||
			patchErr = json.Unmarshal(patchData, patchAry)
 | 
			
		||||
 | 
			
		||||
			if patchErr != nil {
 | 
			
		||||
				return nil, errBadJSONPatch
 | 
			
		||||
				return nil, ErrBadJSONPatch
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			pruneAryNulls(patchAry)
 | 
			
		||||
@@ -150,7 +153,7 @@ func doMergePatch(docData, patchData []byte, mergeMerge bool) ([]byte, error) {
 | 
			
		||||
			out, patchErr := json.Marshal(patchAry)
 | 
			
		||||
 | 
			
		||||
			if patchErr != nil {
 | 
			
		||||
				return nil, errBadJSONPatch
 | 
			
		||||
				return nil, ErrBadJSONPatch
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			return out, nil
 | 
			
		||||
@@ -207,12 +210,12 @@ func createObjectMergePatch(originalJSON, modifiedJSON []byte) ([]byte, error) {
 | 
			
		||||
 | 
			
		||||
	err := json.Unmarshal(originalJSON, &originalDoc)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, errBadJSONDoc
 | 
			
		||||
		return nil, ErrBadJSONDoc
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	err = json.Unmarshal(modifiedJSON, &modifiedDoc)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, errBadJSONDoc
 | 
			
		||||
		return nil, ErrBadJSONDoc
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	dest, err := getDiff(originalDoc, modifiedDoc)
 | 
			
		||||
@@ -233,17 +236,17 @@ func createArrayMergePatch(originalJSON, modifiedJSON []byte) ([]byte, error) {
 | 
			
		||||
 | 
			
		||||
	err := json.Unmarshal(originalJSON, &originalDocs)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, errBadJSONDoc
 | 
			
		||||
		return nil, ErrBadJSONDoc
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	err = json.Unmarshal(modifiedJSON, &modifiedDocs)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, errBadJSONDoc
 | 
			
		||||
		return nil, ErrBadJSONDoc
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	total := len(originalDocs)
 | 
			
		||||
	if len(modifiedDocs) != total {
 | 
			
		||||
		return nil, errBadJSONDoc
 | 
			
		||||
		return nil, ErrBadJSONDoc
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	result := []json.RawMessage{}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								vendor/github.com/evanphx/json-patch/patch.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/github.com/evanphx/json-patch/patch.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -721,6 +721,10 @@ func (p Patch) Apply(doc []byte) ([]byte, error) {
 | 
			
		||||
// ApplyIndent mutates a JSON document according to the patch, and returns the new
 | 
			
		||||
// document indented.
 | 
			
		||||
func (p Patch) ApplyIndent(doc []byte, indent string) ([]byte, error) {
 | 
			
		||||
	if len(doc) == 0 {
 | 
			
		||||
		return doc, nil
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var pd container
 | 
			
		||||
	if doc[0] == '[' {
 | 
			
		||||
		pd = &partialArray{}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user