Documentation ¶
Index ¶
- Constants
- Variables
- 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
- func JSONStrComparator(from, to string) bool
- func SetLoggingLevel(loggingLevel LogLevel)
- type BriefReport
- type Comparator
- type CompareOption
- type Detail
- type Diff
- type HumanReport
- type LogLevel
- type Report
- type ReportWriter
Constants ¶
const ( ADDITION = '+' REMOVAL = '-' MODIFICATION = '±' ORDERCHANGE = '⇆' )
Constants to distinguish between the different kinds of differences
Variables ¶
var CustomComparatorMap = map[string]Comparator{ "/spec/template/metadata/annotations/pod.beta1.sigma.ali/alloc-spec": JSONStrComparator, "/spec/template/metadata/annotations/pod.beta1.sigma.ali/container-state-spec": JSONStrComparator, }
var DebugLogger = log.New(io.Discard, "Debug: ", log.Lshortfile)
DebugLogger is the debugging logger definition
var ErrorLogger = log.New(os.Stderr, "Error: ", log.Lshortfile)
ErrorLogger is the error logger definition
var LoggingLevel = ERROR
LoggingLevel stores the currently configured logging level
var WarningLogger = log.New(io.Discard, "Warning: ", log.Lshortfile)
WarningLogger is the warning logger definition
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.
func JSONStrComparator ¶ added in v0.4.1
func SetLoggingLevel ¶
func SetLoggingLevel(loggingLevel LogLevel)
SetLoggingLevel will initialise the logging set-up according to the provided input
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 Comparator ¶
type CompareOption ¶
type CompareOption func(*compareSettings)
CompareOption sets a specific compare setting for the object comparison
func IgnoreOrderChanges ¶
func IgnoreOrderChanges(value bool) CompareOption
IgnoreOrderChanges disables the detection for changes of the order in lists
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 no qualify as such.
func PathsToIgnoreAddition ¶
func PathsToIgnoreAddition(paths []string) CompareOption
PathsToIgnoreAddition configures list of path to ignore addition change
func PathsToIgnoreRemoval ¶
func PathsToIgnoreRemoval(paths []string) CompareOption
PathsToIgnoreRemoval configures list of path to ignore removal change
type Detail ¶
Detail encapsulate the actual details of a change, mainly the kind of difference and the values
type HumanReport ¶
type HumanReport struct { NoTableStyle bool DoNotInspectCerts bool OmitHeader bool UseGoPatchPaths bool MinorChangeThreshold float64 Report }
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.
type ReportWriter ¶
ReportWriter defines the interface required for types that can write reports