package diff
import "cuelang.org/go/internal/diff"
Index ¶
- Variables
- func Diff(x, y cue.Value) (Kind, *EditScript)
- func Print(w io.Writer, es *EditScript) error
- type Edit
- type EditScript
- func (es *EditScript) LabelX(i int) string
- func (es *EditScript) LabelY(i int) string
- func (es *EditScript) Len() int
- func (es *EditScript) ValueX(i int) (v cue.Value)
- func (es *EditScript) ValueY(i int) (v cue.Value)
- type Kind
- type Profile
Variables ¶
var ( // Schema is the standard profile used for comparing schema. Schema = &Profile{} // Final is the standard profile for comparing data. Final = &Profile{ Concrete: true, } )
Functions ¶
func Diff ¶
func Diff(x, y cue.Value) (Kind, *EditScript)
Diff is a shorthand for Schema.Diff.
func Print ¶
func Print(w io.Writer, es *EditScript) error
Print the differences between two structs represented by an edit script.
Types ¶
type Edit ¶
type Edit struct {
// contains filtered or unexported fields
}
Edit represents a single operation within an edit-script.
func (Edit) Kind ¶
func (Edit) XPos ¶
func (Edit) YPos ¶
type EditScript ¶
type EditScript struct {
// contains filtered or unexported fields
}
EditScript represents the series of differences between two CUE values. x and y must be either both list or struct.
func (*EditScript) LabelX ¶
func (es *EditScript) LabelX(i int) string
Label returns a string representation of the label.
func (*EditScript) LabelY ¶
func (es *EditScript) LabelY(i int) string
func (*EditScript) Len ¶
func (es *EditScript) Len() int
Len returns the number of edits.
func (*EditScript) ValueX ¶
func (es *EditScript) ValueX(i int) (v cue.Value)
ValueX returns the value of X involved at step i.
func (*EditScript) ValueY ¶
func (es *EditScript) ValueY(i int) (v cue.Value)
ValueY returns the value of Y involved at step i.
type Kind ¶
type Kind uint8
Kind identifies the kind of operation of an edit script.
const ( // Identity indicates that a value pair is identical in both list X and Y. Identity Kind = iota // UniqueX indicates that a value only exists in X and not Y. UniqueX // UniqueY indicates that a value only exists in Y and not X. UniqueY // Modified indicates that a value pair is a modification of each other. Modified )
type Profile ¶
type Profile struct { Concrete bool }
Profile configures a diff operation.
func (*Profile) Diff ¶
func (p *Profile) Diff(x, y cue.Value) (Kind, *EditScript)
Diff returns an edit script representing the difference between x and y.
Source Files ¶
diff.go print.go
- Version
- v0.4.1-beta.4
- Published
- Dec 1, 2021
- Platform
- windows/amd64
- Imports
- 4 packages
- Last checked
- 42 minutes ago –
Tools for package owners.