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 ¶
- func IsNil(v interface{}) bool
- func ToString(v interface{}) string
- func ToStringE(v interface{}) (string, error)
- func ToStringSlicePreserveString(v interface{}) []string
- func ToStringSlicePreserveStringE(v interface{}) ([]string, error)
- func TypeToString(v interface{}) (string, bool)
- type DevMarker
- type EvictingStringQueue
- func NewEvictingStringQueue(size int) *EvictingStringQueue
- func (q *EvictingStringQueue) Add(v string)
- func (q *EvictingStringQueue) Contains(v string) bool
- func (q *EvictingStringQueue) Peek() string
- func (q *EvictingStringQueue) PeekAll() []string
- func (q *EvictingStringQueue) PeekAllSet() map[string]bool
- type KeyValue
- type KeyValueStr
- type KeyValues
- func NewKeyValuesStrings(key string, values ...string) KeyValues
- func (k KeyValues) KeyString() string
- func (k KeyValues) String() string
- type RLocker
- type Zeroer
Functions ¶
func IsNil ¶
func IsNil(v interface{}) bool
IsNil reports whether v is nil.
func ToString ¶
func ToString(v interface{}) string
ToString converts v to a string.
func ToStringE ¶
ToStringE converts v to a string.
func ToStringSlicePreserveString ¶
func ToStringSlicePreserveString(v interface{}) []string
ToStringSlicePreserveString is the same as ToStringSlicePreserveStringE, but it never fails.
func ToStringSlicePreserveStringE ¶
ToStringSlicePreserveStringE converts v to a string slice. If v is a string, it will be wrapped in a string slice.
func TypeToString ¶
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 interface{} Value interface{} }
KeyValue is a interface{} tuple.
type KeyValueStr ¶
KeyValueStr is a string tuple.
type KeyValues ¶
type KeyValues struct { Key interface{} Values []interface{} }
KeyValues holds an key and a slice of values.
func NewKeyValuesStrings ¶
NewKeyValuesStrings takes a given key and slice of values and returns a new KeyValues struct.
func (KeyValues) KeyString ¶
KeyString returns the key as a string, an empty string if conversion fails.
func (KeyValues) 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
- Version
- v0.84.4
- Published
- Jul 1, 2021
- Platform
- linux/amd64
- Imports
- 6 packages
- Last checked
- 3 hours ago –
Tools for package owners.