We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 9067527 commit a309bd2Copy full SHA for a309bd2
lib/jsonrpc2_plug/validator.ex
@@ -9,6 +9,23 @@ defmodule JSONRPC2Plug.Validator do
9
10
@type validator :: (Rule.value() -> Rule.result())
11
12
+ defmacro __using__(_) do
13
+ :functions
14
+ |> __MODULE__.__info__()
15
+ |> Enum.map(fn({func, arity}) ->
16
+ arguments = 0..10
17
+ |> Enum.take(arity)
18
+ |> Enum.map(&(:"arg#{&1}"))
19
+ |> Enum.map(&Macro.var(&1, nil))
20
+
21
+ quote location: :keep do
22
+ def unquote(func)(unquote_splicing(arguments)) do
23
+ unquote(__MODULE__).unquote(func)(unquote_splicing(arguments))
24
+ end
25
26
+ end)
27
28
29
@spec required() :: validator()
30
def required do
31
fn(value) ->
0 commit comments