gpkm/pkm/ser_de

Types

pub type Errors {
  InvalidSize(dt: EncryptedDataType)
  ReadError(dt: EncryptedDataType)
  UnhandledDataType(dt: EncryptedDataType)
}

Constructors

  • InvalidSize(dt: EncryptedDataType)
  • ReadError(dt: EncryptedDataType)
  • UnhandledDataType(dt: EncryptedDataType)

Functions

pub fn as_binary(
  bits_read: Result(BitArray, Nil),
  data_type: EncryptedDataType,
) -> Result(BitArray, Nil)

Converts BitArray’s encoding to Bin:

  • if the BitArray’s content is already Bin, it remains unchained
  • else, it decodes the B64 BitArray
pub fn build_pkm_from_bytes(pbs: UnencryptedPkmBytes) -> Pkm

Construct Pkm record, by selecting, then converting pkm_bytes fields

This Pkm record will be serialized to JSON

pub fn deserialize_b64(b64: String) -> Result(BitArray, Nil)

Deserialize base64 string, no matter its format:

  • single line
  • multiple spaced lines
pub fn get_current_pkm_bytes_size(
  bits_read: Result(BitArray, Nil),
) -> Result(Int, Nil)
pub fn get_unencrypted_header(
  pkm_bytes: List(Int),
  endian: Endian,
) -> UnencryptedHeaderBytes
pub fn get_unencrypted_pkm_bytes(
  pkm_bits: BitArray,
  endian: Endian,
) -> UnencryptedPkmBytes
pub fn header_as_bytes(h: UnencryptedHeaderBytes) -> List(Int)
pub fn read_pkm(
  pkm_data: String,
  dt: EncryptedDataType,
) -> Result(Pkm, Errors)
pub fn slice_bits(
  bits_read: Result(BitArray, Nil),
  dt: EncryptedDataType,
) -> Result(BitArray, Errors)
Search Document