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
- 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 { Kind Kind XSel cue.Selector // valid if UniqueY YSel cue.Selector // valid if UniqueX Sub *EditScript // non-nil if Modified }
Edit represents a single operation within an edit-script.
type EditScript ¶
EditScript represents the series of differences between two CUE values. x and y must be either both list or struct.
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 // Hidden fields are only useful to compare when a values are from the same // package. SkipHidden 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.12.0 (latest)
- Published
- Jan 30, 2025
- Platform
- linux/amd64
- Imports
- 4 packages
- Last checked
- 8 hours ago –
Tools for package owners.