jsonpatch

package
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 6, 2017 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateMergePatch

func CreateMergePatch(a, b []byte) ([]byte, error)

CreateMergePatch creates a merge patch as specified in http://tools.ietf.org/html/draft-ietf-appsawg-json-merge-patch-07

'a' is original, 'b' is the modified document. Both are to be given as json encoded content. The function will return a mergeable json document with differences from a to b.

An error will be returned if any of the two documents are invalid.

func Equal

func Equal(a, b []byte) bool

Equal indicates if 2 JSON documents have the same structural equality.

func MergeMergePatches

func MergeMergePatches(patch1Data, patch2Data []byte) ([]byte, error)

MergeMergePatches merges two merge patches together, such that applying this resulting merged merge patch to a document yields the same as merging each merge patch to the document in succession.

func MergePatch

func MergePatch(docData, patchData []byte) ([]byte, error)

MergePatch merges the patchData into the docData.

Types

type ExtendedPatch

type ExtendedPatch Patch

func DecodeExtendedPatch

func DecodeExtendedPatch(buf []byte) (ExtendedPatch, error)

DecodePatch decodes the passed JSON document as an RFC 6902 patch.

func NewExtendedPatch

func NewExtendedPatch(ops []map[string]*json.RawMessage) (ExtendedPatch, error)

func (ExtendedPatch) Apply

func (ep ExtendedPatch) Apply(doc []byte) ([]byte, error)

Apply mutates a JSON document according to the patch, and returns the new document.

func (ExtendedPatch) ApplyIndent

func (ep ExtendedPatch) ApplyIndent(doc []byte, indent string) ([]byte, error)

ApplyIndent mutates a JSON document according to the patch, and returns the new document indented.

type Patch

type Patch []operation

Patch is an ordered collection of operations.

func DecodePatch

func DecodePatch(buf []byte) (Patch, error)

DecodePatch decodes the passed JSON document as an RFC 6902 patch.

func (Patch) Apply

func (p Patch) Apply(doc []byte) ([]byte, error)

Apply mutates a JSON document according to the patch, and returns the new document.

func (Patch) ApplyIndent

func (p Patch) ApplyIndent(doc []byte, indent string) ([]byte, error)

ApplyIndent mutates a JSON document according to the patch, and returns the new document indented.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL