Make the decoder return a binary and untabify
This commit is contained in:
parent
cea581988d
commit
5d116b2e5a
@ -11,8 +11,8 @@
|
||||
|
||||
-export([encode/1,decode/1]).
|
||||
|
||||
%% Define records for the various typed syntactic forms. These don't
|
||||
%% seem to exist elsewhere.
|
||||
%% Define records for the various typed syntactic forms. These make
|
||||
%% the code easier but don't seem to exist elsewhere.
|
||||
|
||||
-record(contract, {ann,con,decls}).
|
||||
-record(letfun, {ann,id,args,type,body}).
|
||||
@ -126,7 +126,7 @@ decode(Json) ->
|
||||
Map = jsx:decode(Json, [return_maps]),
|
||||
%% io:format("~p\n", [Map]),
|
||||
#{<<"contract">> := C} = Map,
|
||||
lists:flatten(decode_contract(C)).
|
||||
list_to_binary(decode_contract(C)).
|
||||
|
||||
decode_contract(#{<<"name">> := Name,
|
||||
<<"type_defs">> := _Ts,
|
||||
@ -153,18 +153,18 @@ decode_arg(#{<<"type">> := T}) -> decode_type(T).
|
||||
|
||||
%% To keep dialyzer happy and quiet.
|
||||
%% decode_tdefs(Ts) -> [ decode_tdef(T) || T <- Ts ].
|
||||
|
||||
%%
|
||||
%% decode_tdef(#{<<"name">> := Name,<<"vars">> := Vs,<<"typedef">> := T}) ->
|
||||
%% [" type"," ",io_lib:format("~s", [Name]),decode_tvars(Vs),
|
||||
%% " = ",decode_type(T),$\n].
|
||||
|
||||
%%
|
||||
%% decode_tvars([]) -> []; %No tvars, no parentheses
|
||||
%% decode_tvars(Vs) ->
|
||||
%% Dvs = [ decode_tvar(V) || V <- Vs ],
|
||||
%% [$(,lists:join(", ", Dvs),$)].
|
||||
|
||||
%%
|
||||
%% decode_tvar(#{<<"name">> := N}) -> io_lib:format("~s", [N]).
|
||||
|
||||
%%
|
||||
%% #contract{Ann, Con, [Declarations]}.
|
||||
|
||||
contract_name(#contract{con=#con{name=N}}) -> N.
|
||||
|
Loading…
x
Reference in New Issue
Block a user