mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-28 23:12:14 -05:00
parent
432885c499
commit
2919a6a503
3 changed files with 18 additions and 1 deletions
|
@ -107,6 +107,15 @@ func (c *Scratch) Get(key string) interface{} {
|
||||||
return val
|
return val
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Values returns the raw backing map. Note that you should just use
|
||||||
|
// this method on the locally scoped Scratch instances you obtain via newScratch, not
|
||||||
|
// .Page.Scratch etc., as that will lead to concurrency issues.
|
||||||
|
func (c *Scratch) Values() map[string]interface{} {
|
||||||
|
c.mu.RLock()
|
||||||
|
defer c.mu.RUnlock()
|
||||||
|
return c.values
|
||||||
|
}
|
||||||
|
|
||||||
// SetInMap stores a value to a map with the given key in the Node context.
|
// SetInMap stores a value to a map with the given key in the Node context.
|
||||||
// This map can later be retrieved with GetSortedMapValues.
|
// This map can later be retrieved with GetSortedMapValues.
|
||||||
func (c *Scratch) SetInMap(key string, mapKey string, value interface{}) string {
|
func (c *Scratch) SetInMap(key string, mapKey string, value interface{}) string {
|
||||||
|
@ -147,7 +156,7 @@ func (c *Scratch) GetSortedMapValues(key string) interface{} {
|
||||||
return sortedArray
|
return sortedArray
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewScratch returns a new instance Scratch.
|
// NewScratch returns a new instance of Scratch.
|
||||||
func NewScratch() *Scratch {
|
func NewScratch() *Scratch {
|
||||||
return &Scratch{values: make(map[string]interface{})}
|
return &Scratch{values: make(map[string]interface{})}
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,6 +47,9 @@ func TestScratchAdd(t *testing.T) {
|
||||||
scratch.Add("scratch", scratch)
|
scratch.Add("scratch", scratch)
|
||||||
_, err := scratch.Add("scratch", scratch)
|
_, err := scratch.Add("scratch", scratch)
|
||||||
|
|
||||||
|
m := scratch.Values()
|
||||||
|
c.Assert(m, qt.HasLen, 5)
|
||||||
|
|
||||||
if err == nil {
|
if err == nil {
|
||||||
t.Errorf("Expected error from invalid arithmetic")
|
t.Errorf("Expected error from invalid arithmetic")
|
||||||
}
|
}
|
||||||
|
|
|
@ -113,6 +113,11 @@ Removes the given key
|
||||||
{{ .Scratch.Delete "greetings" }}
|
{{ .Scratch.Delete "greetings" }}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### .Values
|
||||||
|
|
||||||
|
`Values` returns the raw backing map. Note that you should just use this method on the locally scoped `Scratch` instances you obtain via `newScratch`, not
|
||||||
|
`.Page.Scratch` etc., as that will lead to concurrency issues.
|
||||||
|
|
||||||
## Scope
|
## Scope
|
||||||
The scope of the backing data is global for the given `Page` or `Shortcode`, and spans partial and shortcode includes.
|
The scope of the backing data is global for the given `Page` or `Shortcode`, and spans partial and shortcode includes.
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue