package compare

import "github.com/gohugoio/hugo/compare"

Index

Functions

func Eq

func Eq(v1, v2 any) bool

Eq returns whether v1 is equal to v2. It will use the Eqer interface if implemented, which defines equals when two value are interchangeable in the Hugo templates.

func LessStrings

func LessStrings(s, t string) bool

LessStrings returns whether s is less than t lexicographically.

func ProbablyEq

func ProbablyEq(v1, v2 any) bool

ProbablyEq returns whether v1 is probably equal to v2.

func Strings

func Strings(s, t string) int

Strings returns an integer comparing two strings lexicographically.

Types

type Comparer

type Comparer interface {
	Compare(other any) int
}

Comparer can be used to compare two values. This will be used when using the le, ge etc. operators in the templates. Compare returns -1 if the given version is less than, 0 if equal and 1 if greater than the running version.

type Eqer

type Eqer interface {
	// Eq returns whether this value is equal to the other.
	// This is for internal use.
	Eq(other any) bool
}

Eqer can be used to determine if this value is equal to the other. The semantics of equals is that the two value are interchangeable in the Hugo templates.

type ProbablyEqer

type ProbablyEqer interface {
	// For internal use.
	ProbablyEq(other any) bool
}

ProbablyEqer is an equal check that may return false positives, but never a false negative.

Source Files

compare.go compare_strings.go

Version
v0.144.2 (latest)
Published
Feb 19, 2025
Platform
linux/amd64
Imports
3 packages
Last checked
13 hours ago

Tools for package owners.