types

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 5, 2023 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package types contains types shared between packages in Hugo.

Package types contains types shared between packages in Hugo.

Index

Constants

This section is empty.

Variables

View Source
var InvocationCounter atomic.Int64

This is only used for debugging purposes.

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).

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL