From 7a438a6eed18be914c52bcfa1730199931f7bd1e Mon Sep 17 00:00:00 2001 From: Evan Phoenix Date: Fri, 12 Jan 2024 13:46:37 -0800 Subject: [PATCH] Minor simplifications --- v5/merge.go | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/v5/merge.go b/v5/merge.go index 1a03f86..bbe9f85 100644 --- a/v5/merge.go +++ b/v5/merge.go @@ -120,12 +120,16 @@ func MergePatch(docData, patchData []byte) ([]byte, error) { } func doMergePatch(docData, patchData []byte, mergeMerge bool) ([]byte, error) { - doc := &partialDoc{} + if !json.Valid(docData) { + return nil, errBadJSONDoc + } - if !json.Valid(docData) || !json.Valid(patchData) { - return nil, ErrInvalid + if !json.Valid(patchData) { + return nil, errBadJSONPatch } + doc := &partialDoc{} + docErr := doc.UnmarshalJSON(docData) patch := &partialDoc{} @@ -137,11 +141,7 @@ func doMergePatch(docData, patchData []byte, mergeMerge bool) ([]byte, error) { } if isSyntaxError(patchErr) { - if json.Valid(patchData) { - return patchData, nil - } - - return nil, errBadJSONPatch + return patchData, nil } if docErr == nil && doc.obj == nil { @@ -149,10 +149,7 @@ func doMergePatch(docData, patchData []byte, mergeMerge bool) ([]byte, error) { } if patchErr == nil && patch.obj == nil { - if json.Valid(patchData) { - return patchData, nil - } - return nil, errBadJSONPatch + return patchData, nil } if docErr != nil || patchErr != nil {