1import { assert, describe, it } from "@effect/vitest"
2import { Cause, Context } from "effect"
3
4describe("Cause.map", () => {
5 it("preserves annotations on mapped failures", () => {
6 class RequestId extends Context.Service<RequestId, string>()("RequestId") {}
7
8 const cause = Cause.fail("error").pipe(
9 Cause.annotate(Context.make(RequestId, "request-1")),
10 Cause.map((error) => error.toUpperCase())
11 )
12
13 assert.strictEqual(Context.getOrUndefined(Cause.annotations(cause), RequestId), "request-1")
14 })
15})