refactors out extraction of parser opts, generalizes use of specific parsers by processors
This commit is contained in:
parent
55d0259c89
commit
6dacf64620
7 changed files with 57 additions and 80 deletions
|
@ -33,6 +33,14 @@ behaviour_info(_) -> undefined.
|
|||
|
||||
parser(Mod, Args) -> parser(Mod, Args, []).
|
||||
|
||||
parser(Mod, Args, Opts) -> fun(Input) when is_list(Input) -> (jsx:encoder(Mod, Args, Opts))(Input)
|
||||
; (Input) when is_binary(Input) -> (jsx:decoder(Mod, Args, Opts))(Input)
|
||||
parser(Mod, Args, Opts) when is_atom(Mod), is_list(Opts) ->
|
||||
case proplists:get_value(parser, Opts, auto) of
|
||||
auto ->
|
||||
fun(Input) when is_list(Input) -> (jsx:encoder(Mod, Args, Opts))(Input)
|
||||
; (Input) when is_binary(Input) -> (jsx:decoder(Mod, Args, Opts))(Input)
|
||||
end
|
||||
; encoder ->
|
||||
fun(Input) -> (jsx:encoder(Mod, Args, Opts))(Input) end
|
||||
; decoder ->
|
||||
fun(Input) -> (jsx:decoder(Mod, Args, Opts))(Input) end
|
||||
end.
|
Loading…
Add table
Add a link
Reference in a new issue