Replies: 3 comments 21 replies
-
You could use the namespace for versioning the protocol. Maybe |
Beta Was this translation helpful? Give feedback.
-
@mynomoto I made a branch, aptly named I think I did what you suggested there. When you run This is the cheshire implementation: |
Beta Was this translation helpful? Give feedback.
-
A demo of the current approach on main, using cheshire as the json impl: (require '[babashka.deps])
(babashka.deps/add-deps '{:deps {io.clj-easy.tools.json
{:git/url "https://github.com/clj-easy/tools.misc"
:deps/root "json/cheshire"
:git/sha "aea9d3165650b82de4332c9ae53fb5f0f01a5ce0"}}})
(require '[clj-easy.tools.json.v0 :as json])
(prn (json/read-str (json/write-str {:a 1}))) |
Beta Was this translation helpful? Give feedback.
-
Maybe it's a good idea to version the protocols:
so we can add more protocols,
HttpClient_v2
, over time. Old libraries keep working if they encounter an implementation of v1, but can upgrade to the improved protocol v2, by using that.Alternatively, one could add more methods to the protocol over time.
We can start with
v0
which is the alpha and allow breakage on that one.Beta Was this translation helpful? Give feedback.
All reactions