skuld_port

Port > | Umbrella →

Port/adapter boundaries for Skuld: dispatch to pluggable backends, typed contracts, and bridge adapters.

What's included

Installation

def deps do
[
{:skuld_port, "~> 0.32"}
]
end

Quick start

use Skuld.Syntax
alias Skuld.Effects.{Port, Throw}
comp do
{:ok, user} <- Port.request(MyApp.Users, :get_user, [user_id])
user
end
|> Port.with_handler(%{MyApp.Users => MyApp.Users.Impl})
|> Throw.with_handler()
|> Comp.run!()

See the architecture guide for how this fits into the Skuld ecosystem.


Port > | Umbrella →