Categorygithub.com/joakim-ribier/go-utils
repository
0.0.0-20241124143409-ba965f148eb9
Repository: https://github.com/joakim-ribier/go-utils.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author

# README

go-utils

Go Report Card Software License Go Reference codecov

Go library that provides utilities functions to manipulate slices type, json serialization, io, and http calls.

Usage - Test - Thanks - License

Usage

The main goal is to make code cooler to write in implementations, have fun coding and discover a new language!

Run $ go get github.com/joakim-ribier/go-utils to add this library on your project.

Otherwise, you can download it and start $ go build ./... to work on.

slicesutil

// []User --> []User
slicesutil.FilterT[User](users, func(u User) bool {
	return u.Age > 17
})

// []User --> *User
slicesutil.FindT[User](users, func(u User) bool {
	return u.Age == 2
})

// []User --> []User
slicesutil.SortT[User, int](_1, func(a, b User) (int, int) {
	return a.Age, b.Age
})

// []User --> []string
slicesutil.TransformT[User, string](users, func(u User) (*string, error) {
	return &u.Name, nil
})

Find more examples on the README.md (pkg/slicesutil).

Test

$ go test ./... -race -covermode=atomic -coverprofile=coverage.out
...
ok  	github.com/joakim-ribier/go-utils/pkg/cryptosutil	1.700s	coverage: 80.0% of statements
ok  	github.com/joakim-ribier/go-utils/pkg/genericsutil	1.900s	coverage: 100.0% of statements
ok  	github.com/joakim-ribier/go-utils/pkg/httpsutil	3.537s	coverage: 82.2% of statements
ok  	github.com/joakim-ribier/go-utils/pkg/iosutil	2.425s	coverage: 100.0% of statements
ok  	github.com/joakim-ribier/go-utils/pkg/jsonsutil	2.247s	coverage: 100.0% of statements
ok  	github.com/joakim-ribier/go-utils/pkg/logsutil	2.140s	coverage: 100.0% of statements
ok  	github.com/joakim-ribier/go-utils/pkg/mapsutil	2.580s	coverage: 100.0% of statements
ok  	github.com/joakim-ribier/go-utils/pkg/slicesutil	2.953s	coverage: 100.0% of statements
ok  	github.com/joakim-ribier/go-utils/pkg/stringsutil	2.770s	coverage: 100.0% of statements
ok  	github.com/joakim-ribier/go-utils/pkg/timesutil	3.880s	coverage: 100.0% of statements

Projects using go-utils

Thanks to

License

This software is licensed under the MIT license, see License for more information.