Current section

Files

Jump to
exdjango lib utils zlib.ex
Raw

lib/utils/zlib.ex

defmodule ExDjango.Utils.Zlib do
@moduledoc """
Zlib compress and decompress functions
"""
def compress(data) do
z = :zlib.open()
:zlib.deflateInit(z)
:zlib.deflate(z, data)
result = :zlib.deflate(z, << >>, :finish)
:zlib.deflateEnd(z)
:erlang.list_to_binary(result)
end
def decompress(data, wbits \\ 15) do
z = :zlib.open()
:zlib.inflateInit(z, wbits)
[result|_] = :zlib.inflate(z, data)
:zlib.inflateEnd(z)
result
end
end