package types

import "github.com/gohugoio/hugo/common/types"

Package types contains types shared between packages in Hugo.

Package types contains types shared between packages in Hugo.

Index

Functions

func IsNil

func IsNil(v any) bool

IsNil reports whether v is nil.

func ToDuration

func ToDuration(v any) time.Duration

ToDuration converts v to time.Duration. See ToDurationE if you need to handle errors.

func ToDurationE

func ToDurationE(v any) (time.Duration, error)

ToDurationE converts v to time.Duration.

func ToString

func ToString(v any) string

ToString converts v to a string.

func ToStringE

func ToStringE(v any) (string, error)

ToStringE converts v to a string.

func ToStringSlicePreserveString

func ToStringSlicePreserveString(v any) []string

ToStringSlicePreserveString is the same as ToStringSlicePreserveStringE, but it never fails.

func ToStringSlicePreserveStringE

func ToStringSlicePreserveStringE(v any) ([]string, error)

ToStringSlicePreserveStringE converts v to a string slice. If v is a string, it will be wrapped in a string slice.

func TypeToString

func TypeToString(v any) (string, bool)

TypeToString converts v to a string if it's a valid string type. Note that this will not try to convert numeric values etc., use ToString for that.

Types

type DevMarker

type DevMarker interface {
	DevOnly()
}

DevMarker is a marker interface for types that should only be used during development.

type EvictingStringQueue

type EvictingStringQueue struct {
	// contains filtered or unexported fields
}

EvictingStringQueue is a queue which automatically evicts elements from the head of the queue when attempting to add new elements onto the queue and it is full. This queue orders elements LIFO (last-in-first-out). It throws away duplicates. Note: This queue currently does not contain any remove (poll etc.) methods.

func NewEvictingStringQueue

func NewEvictingStringQueue(size int) *EvictingStringQueue

NewEvictingStringQueue creates a new queue with the given size.

func (*EvictingStringQueue) Add

func (q *EvictingStringQueue) Add(v string)

Add adds a new string to the tail of the queue if it's not already there.

func (*EvictingStringQueue) Contains

func (q *EvictingStringQueue) Contains(v string) bool

Contains returns whether the queue contains v.

func (*EvictingStringQueue) Peek

func (q *EvictingStringQueue) Peek() string

Peek looks at the last element added to the queue.

func (*EvictingStringQueue) PeekAll

func (q *EvictingStringQueue) PeekAll() []string

PeekAll looks at all the elements in the queue, with the newest first.

func (*EvictingStringQueue) PeekAllSet

func (q *EvictingStringQueue) PeekAllSet() map[string]bool

PeekAllSet returns PeekAll as a set.

type KeyValue

type KeyValue struct {
	Key   any
	Value any
}

KeyValue is a interface{} tuple.

type KeyValueStr

type KeyValueStr struct {
	Key   string
	Value string
}

KeyValueStr is a string tuple.

type KeyValues

type KeyValues struct {
	Key    any
	Values []any
}

KeyValues holds an key and a slice of values.

func NewKeyValuesStrings

func NewKeyValuesStrings(key string, values ...string) KeyValues

NewKeyValuesStrings takes a given key and slice of values and returns a new KeyValues struct.

func (KeyValues) KeyString

func (k KeyValues) KeyString() string

KeyString returns the key as a string, an empty string if conversion fails.

func (KeyValues) String

func (k KeyValues) String() string

type RLocker

type RLocker interface {
	RLock()
	RUnlock()
}

RLocker represents the read locks in sync.RWMutex.

type Zeroer

type Zeroer interface {
	IsZero() bool
}

Zeroer, as implemented by time.Time, will be used by the truth template funcs in Hugo (if, with, not, and, or).

Source Files

convert.go evictingqueue.go types.go

Directories

PathSynopsis
common/types/hstring
Version
v0.103.1
Published
Sep 18, 2022
Platform
linux/amd64
Imports
7 packages
Last checked
5 minutes ago

Tools for package owners.