Packages

A Gleam WebSocket consumer for AT Protocol Jetstream events

Current section

Files

Jump to
goose src goose@internal@zstd.erl
Raw

src/goose@internal@zstd.erl

-module(goose@internal@zstd).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/goose/internal/zstd.gleam").
-export([create_decompression_context/1, create_ddict/1, select_ddict/2, decompress_using_ddict/2, decompress_streaming/2]).
-export_type([decompression_context/0, decompression_dict/0]).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
?MODULEDOC(false).
-type decompression_context() :: any().
-type decompression_dict() :: any().
-file("src/goose/internal/zstd.gleam", 11).
?DOC(false).
-spec create_decompression_context(integer()) -> decompression_context().
create_decompression_context(Buffer_size) ->
ezstd:create_decompression_context(Buffer_size).
-file("src/goose/internal/zstd.gleam", 15).
?DOC(false).
-spec create_ddict(bitstring()) -> decompression_dict().
create_ddict(Dict_data) ->
ezstd:create_ddict(Dict_data).
-file("src/goose/internal/zstd.gleam", 26).
?DOC(false).
-spec select_ddict(decompression_context(), decompression_dict()) -> {ok, nil} |
{error, binary()}.
select_ddict(Dctx, Ddict) ->
Result_atom = ezstd:select_ddict(Dctx, Ddict),
case erlang:atom_to_binary(Result_atom) of
<<"ok"/utf8>> ->
{ok, nil};
Err ->
{error, <<"Failed to select dictionary: "/utf8, Err/binary>>}
end.
-file("src/goose/internal/zstd.gleam", 40).
?DOC(false).
-spec decompress_using_ddict(bitstring(), decompression_dict()) -> {ok,
bitstring()} |
{error, binary()}.
decompress_using_ddict(Data, Ddict) ->
goose_ffi:decompress_using_ddict_safe(Data, Ddict).
-file("src/goose/internal/zstd.gleam", 48).
?DOC(false).
-spec decompress_streaming(decompression_context(), bitstring()) -> {ok,
bitstring()} |
{error, binary()}.
decompress_streaming(Dctx, Data) ->
goose_ffi:decompress_streaming_safe(Dctx, Data).