Merge pull request 'Fix typespec' (#29) from respec into improve_specs

Reviewed-on: #29
This commit was merged in pull request #29.
This commit is contained in:
2026-05-22 15:57:11 +09:00
+6 -8
View File
@@ -788,7 +788,7 @@ contract_code(ID) ->
Result :: {ok, Source}
| {project, Bundle}
| {error, Reason},
Source :: string(),
Source :: binary(),
Bundle :: [{FilePath :: string(), Contents :: binary()}],
Reason :: chain_error() | string().
%% @doc
@@ -801,23 +801,21 @@ contract_source(ID) ->
Error -> Error
end.
extract(<<"ba_", _/binary>> = Blobby) ->
extract(Blobby) ->
case gmser_api_encoder:safe_decode(bytearray, Blobby) of
{ok, TarBaby} -> extract2(TarBaby);
{error, invalid_encoding} -> {ok, unicode:characters_to_list(Blobby)}
end;
extract(Blobby) when is_binary(Blobby) ->
{ok, unicode:characters_to_list(Blobby)}.
{error, invalid_encoding} -> {ok, Blobby}
end.
extract2(TarBaby) ->
case erl_tar:extract({binary, TarBaby}, [memory, compressed]) of
{ok, [{_File, Source}]} ->
{ok, unicode:characters_to_list(Source)};
{ok, Source};
{ok, Bundle} ->
{project, Bundle};
Error ->
io:format("Dis chit happen: ~tp~n", [Error]),
{ok, unicode:characters_to_list(TarBaby)}
{ok, TarBaby}
end.