geam-stdlib 0.2.0

Official Gleam standard-library providers for Geam
Documentation
import gleam/bit_array

pub fn main() {
  let hello = bit_array.from_string("hello")
  assert bit_array.base64_encode(hello, True) == "aGVsbG8="
  assert bit_array.base64_encode(hello, False) == "aGVsbG8"
  assert bit_array.base64_decode("aGVsbG8=") == Ok(hello)
  assert bit_array.base64_decode("aGVsbG8") == Ok(hello)
  assert bit_array.base64_decode("AB==") == Ok(<<0>>)
  assert bit_array.byte_size(bit_array.from_string("aG  \t\nVsbG8=")) == 12
  assert bit_array.base64_decode("aG  \t\nVsbG8=") == Ok(hello)
  assert bit_array.base64_decode("***") == Error(Nil)
  assert bit_array.base64_url_encode(<<251, 255>>, True) == "-_8="
  assert bit_array.base64_url_decode("-_8=") == Ok(<<251, 255>>)
  assert bit_array.base16_encode(hello) == "68656C6C6F"
  assert bit_array.base16_decode("68656c6c6f") == Ok(hello)
  assert bit_array.base16_decode("ABC") == Error(Nil)
  assert bit_array.base16_decode("GG") == Error(Nil)
  assert bit_array.base64_encode(<<5:size(3)>>, True) == "oA=="
  assert bit_array.base16_encode(<<5:size(3)>>) == "A0"

  "codecs"
}

// @geam:expect "codecs"