https://github.com/jacobemcken/aws-simple-sign 2.3.0 is available A library that can generate presigned URLs for S3 and sign HTTP requests for AWS (Babashka compatible). Added: • Allow overriding response headers Thanks to @will.semple3 for the suggestion
https://cljdoc.org/d/io.github.noahtheduke/splint/1.23.1/doc/home: a linter focused on style and code shape splint
v1.23.0 & v1.23.1
New Rules
• lint/empty-loop-in-fn: Prefer (defn foo [] (... (recur))) over (defn foo [] (loop [] (... (recur)))).
• style/prefer-var-dispatch: Use a var for a multimethod's dispatch function: (defmulti example #'dispatch-fn). Only for CLJ, disabled by default.
• style/defmulti-arglists: Always include :arglists in the metadata of a defmulti: (defmulti example {:arglists '([obj])} #'dispatch-fn).
Relevant changes:
• lint/redundant-call: Make sure the function isn't aliased from another namespace.
lint/defmethod-names: Skip methods with unquoted dispatch vals. (For example, (defmethod foo ~some-val ...).)
• Fix some bugs in the clj-kondo hook for noahtheduke.splint.rules/defrule.
• Add hook for noahtheduke.splint.pattern/pattern to ease usage in other libraries.
• Deprecate lint/try-splicing, extend lint/body-unquote-splicing to cover try.
I wouldn't recommend this for CLJS
> style/prefer-var-dispatch: Use a var for a multimethod's dispatch function: (defmulti example #'dispatch-fn).
oh? i don't know anything about vars in cljs
it bloats the final artifact with unnecessary info
interesting
i'll cut a point release to limit this to CLJ
in CLJS you should warn against it ;)
lol i'll leave that to you
people are going to change this in .cljc files without being aware of this
sure, good points
it's not disastrous but not exactly a recommendation in general
yeah, i'll narrow it to clj and leave it off by default
i've been thinking about a counterpoint rule for performance, about vars. i'm not sure how it would look, so i haven't written it yet, but i know recommending vars is recommending slower code
have you benchmarked multimethods on vars vs the deref-ed function?
I've tested it informally but I didn't see any difference
here you are: https://cljdoc.org/d/io.github.noahtheduke/splint/1.23.1/doc/home