...

Package jsonpatch

import "gomodules.xyz/jsonpatch/v2"
Overview
Index

Overview ▾

type ByPath

type ByPath []Operation

func (ByPath) Len

func (a ByPath) Len() int

func (ByPath) Less

func (a ByPath) Less(i, j int) bool

func (ByPath) Swap

func (a ByPath) Swap(i, j int)

type JsonPatchOperation

type JsonPatchOperation = Operation

type Operation

type Operation struct {
    Operation string      `json:"op"`
    Path      string      `json:"path"`
    Value     interface{} `json:"value,omitempty"`
}

func CreatePatch

func CreatePatch(a, b []byte) ([]Operation, error)

CreatePatch creates a patch as specified in http://jsonpatch.com/

'a' is original, 'b' is the modified document. Both are to be given as json encoded content. The function will return an array of JsonPatchOperations

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

func NewOperation

func NewOperation(op, path string, value interface{}) Operation

func (*Operation) Json

func (j *Operation) Json() string

func (*Operation) MarshalJSON

func (j *Operation) MarshalJSON() ([]byte, error)