GleamLZ_String
This is a Gleam implementation of the lz-string compression algorithm
Installation
gleam add TODO:
Usage
import gleamlz_string
pub fn main() {
let string = "Hello World!"
//Uint8Array
gleamlz_string.compress_to_uint8(string)
//<<4, 133, 48, 54, 96, 246, 0, 64, 234, 144, 39, 48, 4, 192, 132, 64>>
gleamlz_string.decompress_from_uint8(<<4, 133, 48, 54, 96, 246, 0, 64, 234, 144, 39, 48, 4, 192, 132, 64>>)
//"Hello World!
//Base64
gleamlz_string.compress_to_base64(string)
//"BIUwNmD2AEDqkCcwBMCEQA=="
gleamlz_string.decompress_from_base64("BIUwNmD2AEDqkCcwBMCEQA==")
//"Hello World"
//URI encoded
gleamlz_string.compress_to_encoded_uri(string)
//"BIUwNmD2AEDqkCcwBMCEQA$$"
gleamlz_string.decompress_from_encoded_uri("BIUwNmD2AEDqkCcwBMCEQA$$")
//"Hello World!"
}
Note
TODO:
-
Add
compress_to_utf16
-
Add tests for
base64
andencoded_uri
- Add tests to automatically compare with the JavaScript version of LZ_String
- Finish README
- Add Documentation
Docs
TODO
Acknowledgements
Used Michael Shapiro’s elixir verson as reference