package maps

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

Index

Functions

func GetNestedParam

func GetNestedParam(keyStr, separator string, candidates ...map[string]interface{}) (interface{}, error)

GetNestedParam gets the first match of the keyStr in the candidates given. It will first try the exact match and then try to find it as a nested map value, using the given separator, e.g. "mymap.name". It assumes that all the maps given have lower cased keys.

func GetNestedParamFn

func GetNestedParamFn(keyStr, separator string, lookupFn func(key string) interface{}) (interface{}, string, map[string]interface{}, error)

func GetString

func GetString(m map[string]interface{}, key string) string

GetString tries to get a value with key from map m and convert it to a string. It will return an empty string if not found or if it cannot be convertd to a string.

func ToLower

func ToLower(m map[string]interface{})

ToLower makes all the keys in the given map lower cased and will do so recursively. Notes: * This will modify the map given. * Any nested map[interface{}]interface{} will be converted to map[string]interface{}.

Types

type KeyRenamer

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

KeyRenamer supports renaming of keys in a map.

func NewKeyRenamer

func NewKeyRenamer(patternKeys ...string) (KeyRenamer, error)

NewKeyRenamer creates a new KeyRenamer given a list of pattern and new key value pairs.

func (KeyRenamer) Rename

func (r KeyRenamer) Rename(m map[string]interface{})

Rename renames the keys in the given map according to the patterns in the current KeyRenamer.

type Scratch

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

Scratch is a writable context used for stateful operations in Page/Node rendering.

func NewScratch

func NewScratch() *Scratch

NewScratch returns a new instance Scratch.

func (*Scratch) Add

func (c *Scratch) Add(key string, newAddend interface{}) (string, error)

Add will, for single values, add (using the + operator) the addend to the existing addend (if found). Supports numeric values and strings.

If the first add for a key is an array or slice, then the next value(s) will be appended.

func (*Scratch) Delete

func (c *Scratch) Delete(key string) string

Delete deletes the given key.

func (*Scratch) Get

func (c *Scratch) Get(key string) interface{}

Get returns a value previously set by Add or Set.

func (*Scratch) GetSortedMapValues

func (c *Scratch) GetSortedMapValues(key string) interface{}

GetSortedMapValues returns a sorted map previously filled with SetInMap.

func (*Scratch) Set

func (c *Scratch) Set(key string, value interface{}) string

Set stores a value with the given key in the Node context. This value can later be retrieved with Get.

func (*Scratch) SetInMap

func (c *Scratch) SetInMap(key string, mapKey string, value interface{}) string

SetInMap stores a value to a map with the given key in the Node context. This map can later be retrieved with GetSortedMapValues.

type Scratcher

type Scratcher interface {
	Scratch() *Scratch
}

Scratcher provides a scratching service.

func NewScratcher

func NewScratcher() Scratcher

NewScratcher creates a new Scratcher.

Source Files

maps.go maps_get.go params.go scratch.go

Version
v0.59.0
Published
Oct 21, 2019
Platform
linux/amd64
Imports
8 packages
Last checked
7 hours ago

Tools for package owners.