ref: cae07ce84b3bd4a33fd18b5109a1a3c3dce2191c
parent: 4f9c109dc5431553e5dbf98e0ed37487c12e8d16
author: Ricardo N Feliciano <[email protected]>
date: Sat Sep 22 10:58:46 EDT 2018
tpl/collections: Allow first function to return an empty slice Fixes #5235
--- a/docs/content/en/functions/first.md
+++ b/docs/content/en/functions/first.md
@@ -25,3 +25,5 @@
{{ .Render "summary" }}
{{ end }}
```
+
+*Note: Exclusive to `first`, LIMIT can be '0' to return an empty array.*
--- a/tpl/collections/collections.go
+++ b/tpl/collections/collections.go
@@ -215,8 +215,8 @@
return nil, err
}
- if limitv < 1 {
- return nil, errors.New("can't return negative/empty count of items from sequence")
+ if limitv < 0 {
+ return nil, errors.New("can't return negative count of items from sequence")
}
seqv := reflect.ValueOf(seq)
--- a/tpl/collections/collections_test.go
+++ b/tpl/collections/collections_test.go
@@ -256,6 +256,7 @@
{int64(2), []int{100, 200, 300}, []int{100, 200}},
{100, []int{100, 200}, []int{100, 200}},
{"1", []int{100, 200, 300}, []int{100}},
+ {0, []string{"h", "u", "g", "o"}, []string{}},
{int64(-1), []int{100, 200, 300}, false},
{"noint", []int{100, 200, 300}, false},
{1, nil, false},