mirror of
				https://github.com/k3s-io/kubernetes.git
				synced 2025-10-30 21:30: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