hugo/tpl/collections
Bjørn Erik Pedersen 10ac2ec446 tpl/collections: Fix handling of different interface types in Slice
In Hugo `0.49` we improved type support in `slice`. This has an unfortunate side effect in that `resources.Concat` now expects something that can resolve to `resource.Resources`.

This worked for most situations, but when you try to `slice` different `Resource` objects, you would be getting `[]interface {}` and not `resource.Resources`. And `concat` would fail:

```bash
error calling Concat: slice []interface {} not supported in concat.
```

This commit fixes that by simplifying the type checking logic in `Slice`:

* If the first item implements the `Slicer` interface, we try that
* If the above fails or the first item does not implement `Slicer`, we just return the `[]interface {}`

Fixes #5269
2018-10-02 23:54:16 +03:00
..
append.go tpl/collections: Add collections.Append 2018-09-14 10:12:08 +02:00
append_test.go tpl/collections: Add collections.Append 2018-09-14 10:12:08 +02:00
apply.go tpl/collections: Add Pages support to Intersect and Union 2017-07-03 21:48:03 +02:00
apply_test.go Add Hugo Piper with SCSS support and much more 2018-07-06 11:46:12 +02:00
collections.go tpl/collections: Fix handling of different interface types in Slice 2018-10-02 23:54:16 +03:00
collections_test.go tpl/collections: Fix handling of different interface types in Slice 2018-10-02 23:54:16 +03:00
index.go tpl: Add template function namespaces 2017-04-30 10:56:38 +02:00
index_test.go all: gofmt -s 2017-08-07 20:03:15 +02:00
init.go tpl/collections: Add collections.Append 2018-09-14 10:12:08 +02:00
init_test.go all: Update import paths to gohugoio/hugo 2017-06-13 18:42:45 +02:00
reflect_helpers.go tpl/collections: Improve type handling in collections.Slice 2018-09-10 09:19:01 +02:00
sort.go Run gofmt to get imports in line vs gohugoio/hugo 2017-06-13 19:12:10 +02:00
sort_test.go all: Update import paths to gohugoio/hugo 2017-06-13 18:42:45 +02:00
where.go tpl/collections: Fix intersect on []interface{} handling 2017-07-28 07:21:21 +02:00
where_test.go tpl/collections: Fix intersect on []interface{} handling 2017-07-28 07:21:21 +02:00