From 69b0da41dff1813f3939cf4ea09fbbb2d06b7719 Mon Sep 17 00:00:00 2001 From: Markus Wüstenberg Date: Thu, 19 Sep 2024 19:33:58 +0200 Subject: Drop support for Go 1.16 and Go 1.17 (#203) Fixes #184--- .github/workflows/ci.yml | 7 ------- examples/simple/simple.go | 3 --- examples/tailwindcss/tailwindcss.go | 3 --- gomponents.go | 9 +++++++++ gomponents_generic.go | 13 ------------- gomponents_generic_test.go | 34 ---------------------------------- gomponents_non_generic.go | 13 ------------- gomponents_non_generic_test.go | 34 ---------------------------------- gomponents_test.go | 22 ++++++++++++++++++++++ 9 files changed, 31 insertions(+), 107 deletions(-) delete mode 100644 gomponents_generic.go delete mode 100644 gomponents_generic_test.go delete mode 100644 gomponents_non_generic.go delete mode 100644 gomponents_non_generic_test.go diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cabd79c..b179ab4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,8 +20,6 @@ jobs: strategy: matrix: go: - - "1.16" - - "1.17" - "1.18" - "1.19" - "1.20" @@ -43,13 +41,8 @@ jobs: run: go build -v ./... - name: Test - if: ${{ matrix.go != '1.16' }} run: go test -v -coverprofile=coverage.txt -shuffle on ./... - - name: Test - if: ${{ matrix.go == '1.16' }} - run: go test -v -coverprofile=coverage.txt ./... - - name: Coverage uses: codecov/codecov-action@v3 diff --git a/examples/simple/simple.go b/examples/simple/simple.go index 0a7138a..20c41fb 100644 --- a/examples/simple/simple.go +++ b/examples/simple/simple.go @@ -1,6 +1,3 @@ -//go:build go1.18 -// +build go1.18 - package main import ( diff --git a/examples/tailwindcss/tailwindcss.go b/examples/tailwindcss/tailwindcss.go index 39a012e..6e92288 100644 --- a/examples/tailwindcss/tailwindcss.go +++ b/examples/tailwindcss/tailwindcss.go @@ -1,6 +1,3 @@ -//go:build go1.18 -// +build go1.18 - package main import ( diff --git a/gomponents.go b/gomponents.go index ffe8483..1a3b4ee 100644 --- a/gomponents.go +++ b/gomponents.go @@ -246,6 +246,15 @@ func Rawf(format string, a ...interface{}) Node { }) } +// Map a slice of anything to a slice of Nodes. +func Map[T any](ts []T, cb func(T) Node) []Node { + var nodes []Node + for _, t := range ts { + nodes = append(nodes, cb(t)) + } + return nodes +} + type group struct { children []Node } diff --git a/gomponents_generic.go b/gomponents_generic.go deleted file mode 100644 index 6e6500b..0000000 --- a/gomponents_generic.go +++ /dev/null @@ -1,13 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -package gomponents - -// Map a slice of anything to a slice of Nodes. -func Map[T any](ts []T, cb func(T) Node) []Node { - var nodes []Node - for _, t := range ts { - nodes = append(nodes, cb(t)) - } - return nodes -} diff --git a/gomponents_generic_test.go b/gomponents_generic_test.go deleted file mode 100644 index 0492ae3..0000000 --- a/gomponents_generic_test.go +++ /dev/null @@ -1,34 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -package gomponents_test - -import ( - "os" - "testing" - - g "github.com/maragudk/gomponents" - "github.com/maragudk/gomponents/internal/assert" -) - -func TestMap(t *testing.T) { - t.Run("maps slices to nodes", func(t *testing.T) { - items := []string{"hat", "partyhat", "turtlehat"} - lis := g.Map(items, func(i string) g.Node { - return g.El("li", g.Text(i)) - }) - - list := g.El("ul", lis...) - - assert.Equal(t, `