Dealing with abstract.
This requires using Conventional Commits, so it's not a slam dunk.
There needs to be a way to build a release and deploy it to Clojars. Sean Corfield's build-clj can be a useful building block.
Fixed in version 0.1.2.
decodeoptionally take the current time as an option
:now. At the moment, the value has to be an integer that represents seconds since the Unix epoch.
It should be extended to allow values that satisfy the
Instprotocol. We can then call
inst-mson the value to convert it into seconds.
The change involves
- Adding Inst handling to
- Updating the docstrings for encode and decode
- Adding unit tests with Inst now
Fixed by https://git.sr.ht/~miikka/clj-branca/commit/4c0ad8ea23023dfba539f15d57a27b314c8643c2 and published in release 0.1.1.
cljdoc analysis is failing because it can't find
byte-streams. I believe this is because the published jar lacks the pom file, so cljdoc does not know about clj-branca's dependencies.
Now I've realized that the O(n) performance is (likely) not possible. Base62 encoding is essentially radix conversion from base 256 to base 62 and based on quick search, the best known bound is O(M(n) log n) where M is the bound for multiplication of two n-bit integers. Still, it would be good to do a small benchmark to check the performance against the other implementations.
(Base64 is a special case since 256 is a multiple of 64.)