* Fix linting
* Use is.ElementsMatch
This will ignore the ordering of the final intersection. Especially
important when checking old versions of go that do not guarantee an order
when iterating through maps.
* lint: fix inconsistent callback function parameter names
* lint: rename "iteratee" to "transform" for *Map helpers
* lint: rename "project" parameters to "transform"
* lint: rename "cb" parameters to "callback"
* lint: rename "iteratee" to "callback" for ForEach helpers
---------
Co-authored-by: Franky W. <frankywahl@users.noreply.github.com>
Co-authored-by: Samuel Berthe <dev@samuel-berthe.fr>
* lint: pin golangci-lint version
* fix: more consistent panic strings
* Update golangci-lint version in workflow
Updated golangci-lint action version to v2.4.
---------
Co-authored-by: Samuel Berthe <dev@samuel-berthe.fr>
* chore: fix test timeout helper
using os.Exit(1) kills everything, tests statuses are not always displayed
* chore: refactor WaitFor unit tests
zero-code changes
* fix: WaitFor on first condition
duration must be non-zero if first conditions is true
* feat: add WaitForWithContext
* chore: provide meaningful returned values for WaitFor and WaitForWithContext
All Async* functions should use a buffered channel, so the spawned goroutine can always write its value to the channel even if there is no reader. This allows the goroutine to exit, and the channel to be garbage collected.