DefaultArgs
Compile time check for function defaults.
How To Use
Currently only supports modules as arguments.
Make sure you use, require or importDefaultArgs.
Wrap the default module argument you want to check with the default macro.
If the module cannot be loaded, then an ArgumentError is raised at compile time.
defmodule Foo do
use DefaultArgs
def bar(http_client \\ default(MyHttpClient)) do
# work
end
def baz(http_client \\ default(MisspeltModule)) do
# raises ArgumentError at compile time.
end
end
Installation
Available in Hex: available in Hex.
-
Add
default_argsto your list of dependencies inmix.exs:
```elixir
def deps do
[{:default_args, "~> 0.1.1"}]
end
```