Although seemingly unremarkable in appearance, the utility belt is one of Batman's most important tools in fighting crime.
Utility belt has a limited functionality: it only provides commonly used functions wrapping a limited set of dependencies.
Currently it has:
utility-belt.id
- various functions for working with UUIDsutility-belt.json
- sets up automatic conversions of Joda time objects to/from JSON, you need to pull in clj-time
and cheshire
if you need to use thoseutility-belt.time
- common functions for date and time calculations, you need to pull in clj-time
if you need to use thoseutilit-belt.conv
- type conversions (string to int, int to string, etc)utlity-belt.component
- small utils which make working with Stuart Sierra's Component a bit easierutility-belt.map-keys
- easy transformations of map keys between kebab and snake caseutility-belt.lifecycle
- helpers to manage Clojure application lifecycle (registering shutdown hooks etc)Micro wrapper around nREPL server, as easy to use as passing the port number.
:warning: This is a REPL so take care of securing it!
(def system
{:nrepl-server (utility-belt.component.nrepl/create 23211)})
:raising_hand: Note that the server by default binds to 0.0.0.0
You an pass the address to bind to if you need more control:
(def system
{:nrepl-server (utility-belt.component.nrepl/create 23211"127.0.0.1")})
utility-belt.lifecycle
provides a set of helpers to manage application lifecycle. Best used if you're using Component. Example:
(ns app.core
(:require [app.system]
[com.stuartsierra.component :as component]
[utility-belt.lifecycle :as life]))
(def system (atom nil))
(def -main []
(life/register-shutdown-hook :stop-system #(component/stop @system))
(life/register-shutdown-hook :goodbye #(println "BYYYYEEEE 👋"))
(life/install-shutdown-hooks!)
(reset! system (component/start (app.system/create))))
In alphabetical order
Can you improve this documentation?Edit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close