| 1 | import { assert, describe, it } from "@effect/vitest" |
| 2 | import { Cause, Context } from "effect" |
| 3 | |
| 4 | describe("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 | }) |