• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

IBM / fp-go / 39247670987
69%

Build:
DEFAULT BRANCH: main
Ran 19 Oct 2026 11:53AM UTC
Jobs 12
Files 1055
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

19 Oct 2026 11:51AM UTC coverage: 68.689% (+0.03%) from 68.659%
39247670987

push

github

web-flow
feat(effect): catch, map and tap errors by type (#283)

* feat(effect): catch, map and tap errors by type

Add CatchAs, CatchIs, MapErrorAs and TapErrorAs to context/readerioresult
and effect, the Go counterpart of catchTag in effect-ts: they dispatch on
error types with errors.As and on sentinel values with errors.Is.

Errors that do not match pass through unchanged, also when the context
is already cancelled; only the handler of a matching error checks the
context. The functions are thin wrappers over ChainLeft, TapLeft and
MapLeft.

Part of the effect Tier 2 plan (docs/EFFECT_TIER2_PLAN.md, step 2).

Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com>

* refactor(effect): write onMatch point free

Matchers return a Result that keeps the original error as its Left value, so onMatch and MapErrorAs compose with result.Fold instead of closing over the error.

Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com>

* refactor(effect): write isError point free

Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com>

* refactor(effect): implement catch by type in readerreaderioresult

Move CatchAs, CatchIs, MapErrorAs and TapErrorAs to
context/readerreaderioresult and let effect delegate to them, as for the
other effect combinators.

Add result.ErrorAs and result.ErrorIs, which select errors by type and
by sentinel value and keep any other error as the Left value. They
replace the package-local isError and asError helpers.

Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com>

---------

Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com>

36505 of 53145 relevant lines covered (68.69%)

29592.8 hits per line

Jobs
ID Job ID Ran Files Coverage
1 v1-go-1.24.x - 39247670987.1 19 Oct 2026 11:53AM UTC 498
27.22
GitHub Action Run
2 v1-go-1.22.x - 39247670987.2 19 Oct 2026 11:53AM UTC 498
27.22
GitHub Action Run
3 v1-go-1.20.x - 39247670987.3 19 Oct 2026 11:55AM UTC 456
31.83
GitHub Action Run
4 v1-go-1.26.x - 39247670987.4 19 Oct 2026 11:53AM UTC 498
27.22
GitHub Action Run
5 v1-go-1.23.x - 39247670987.5 19 Oct 2026 11:55AM UTC 498
27.22
GitHub Action Run
6 v2-go-1.25.x - 39247670987.6 19 Oct 2026 11:57AM UTC 950
60.72
GitHub Action Run
7 v2-go-1.27.x - 39247670987.7 19 Oct 2026 11:55AM UTC 956
58.61
GitHub Action Run
8 v1-go-1.25.x - 39247670987.8 19 Oct 2026 11:54AM UTC 498
27.22
GitHub Action Run
9 v1-go-1.21.x - 39247670987.9 19 Oct 2026 11:53AM UTC 456
31.83
GitHub Action Run
10 v2-go-1.26.x - 39247670987.10 19 Oct 2026 11:56AM UTC 950
60.71
GitHub Action Run
11 v2-go-1.24.x - 39247670987.11 19 Oct 2026 11:57AM UTC 950
60.72
GitHub Action Run
12 v1-go-1.27.x - 39247670987.12 19 Oct 2026 11:54AM UTC 498
25.57
GitHub Action Run
Source Files on build 39247670987
  • Tree
  • List 1055
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #39247670987
  • 595fed78 on github
  • Prev Build on main (#39243319541)
  • Next Build on main (#39272203489)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc