clj-commons / clj-commons/failjure

[FEAT REQ] Allow HasFailed proto extension via metadata

Open
#39 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Clojure
Stars
427
Forks
20
PR merge metrics
No merged PRs in 30d

Description

I would like to use maps as failures. Clojure has recently introduced protocol extension via metadata (https://clojure.org/reference/protocols#_extend_via_metadata). If `:extend-via-metadata true` will be placed on `f/HasFailed`, we can use this facility to use arbitrary maps for errors and be able to carry extra data similar to `ex-info` exceptions.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at f/HasFailed and inspect how the protocol is defined and used. Configure metadata extension so arbitrary maps can satisfy the protocol and carry extra error data, then verify existing failure behavior alongside map-based errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
clojure
Domain
tooling
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
65/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.