Documentation ¶
Index ¶
- Constants
- func AsSequenceNode(list ...string) *yamlv3.Node
- func ChangeRoot(inputFile *ytbx.InputFile, path string, useGoPatchPaths bool, ...) error
- func CreateTableStyleString(separator string, indent int, columns ...string) string
- type BriefReport
- type CompareOption
- type Detail
- type Diff
- type HumanReport
- type Report
- type ReportWriter
Constants ¶
const ( ADDITION = '+' REMOVAL = '-' MODIFICATION = '±' ORDERCHANGE = '⇆' )
Constants to distinguish between the different kinds of differences
Variables ¶
This section is empty.
Functions ¶
func AsSequenceNode ¶
AsSequenceNode translates a string list into a SequenceNode
func ChangeRoot ¶
func ChangeRoot(inputFile *ytbx.InputFile, path string, useGoPatchPaths bool, translateListToDocuments bool) error
ChangeRoot changes the root of an input file to a position inside its document based on the given path. Input files with more than one document are not supported, since they could have multiple elements with that path.
func CreateTableStyleString ¶
CreateTableStyleString takes the multi-line input strings as columns and arranges an output string to create a table-style output format with proper padding so that the text blocks can be arranged next to each other.
Types ¶
type BriefReport ¶
type BriefReport struct {
Report
}
BriefReport is a reporter that only prints a summary
func (*BriefReport) WriteReport ¶
func (report *BriefReport) WriteReport(out io.Writer) error
WriteReport writes a brief summary to the provided writer
type CompareOption ¶
type CompareOption func(*compareSettings)
CompareOption sets a specific compare setting for the object comparison
func AdditionalIdentifiers ¶
func AdditionalIdentifiers(fieldNames ...string) CompareOption
AdditionalIdentifiers specifies additional identifiers that will be used as the key for matching maps from source to target.
func IgnoreOrderChanges ¶
func IgnoreOrderChanges(value bool) CompareOption
IgnoreOrderChanges disables the detection for changes of the order in lists
func KubernetesEntityDetection ¶
func KubernetesEntityDetection(value bool) CompareOption
KubernetesEntityDetection enabled detecting entity identifiers from Kubernetes "kind:" and "metadata:" fields.
func NonStandardIdentifierGuessCountThreshold ¶
func NonStandardIdentifierGuessCountThreshold(nonStandardIdentifierGuessCountThreshold int) CompareOption
NonStandardIdentifierGuessCountThreshold specifies how many list entries are needed for the guess-the-identifier function to actually consider the key name. Or in short, if the lists only contain two entries each, there are more possibilities to find unique enough key, which might not qualify as such.
type Detail ¶
Detail encapsulate the actual details of a change, mainly the kind of difference and the values
type HumanReport ¶
type HumanReport struct { Report MinorChangeThreshold float64 MultilineContextLines int NoTableStyle bool DoNotInspectCerts bool OmitHeader bool UseGoPatchPaths bool }
HumanReport is a reporter with human readable output in mind
func (*HumanReport) LoadX509Certs ¶
func (report *HumanReport) LoadX509Certs(from, to string) (string, string, error)
LoadX509Certs tries to load the provided strings as a cert each and returns a textual representation of the certs, or an error if the strings are not X509 certs
func (*HumanReport) WriteReport ¶
func (report *HumanReport) WriteReport(out io.Writer) error
WriteReport writes a human readable report to the provided writer
type Report ¶
Report encapsulates the actual end-result of the comparison: The input data and the list of differences
func CompareInputFiles ¶
func CompareInputFiles(from ytbx.InputFile, to ytbx.InputFile, compareOptions ...CompareOption) (Report, error)
CompareInputFiles is one of the convenience main entry points for comparing objects. In this case the representation of an input file, which might contain multiple documents. It returns a report with the list of differences.
func (Report) Exclude ¶
Exclude accepts YAML paths as input and returns a new report with differences without those paths
func (Report) ExcludeRegexp ¶
ExcludeRegexp accepts regular expressions as input and returns a new report with differences for not matching those patterns
func (Report) Filter ¶
Filter accepts YAML paths as input and returns a new report with differences for those paths only
func (Report) FilterRegexp ¶
FilterRegexp accepts regular expressions as input and returns a new report with differences for matching those patterns
type ReportWriter ¶
ReportWriter defines the interface required for types that can write reports