Encode
Encoder fmt
Encoding implements
to_encoder : val -> Encoder fmt
where val implements Encoding, fmt implements EncoderFormatting
EncoderFormatting implements
u8 : U8 -> Encoder fmt
where fmt implements EncoderFormatting
u16 : U16 -> Encoder fmt
where fmt implements EncoderFormatting
u32 : U32 -> Encoder fmt
where fmt implements EncoderFormatting
u64 : U64 -> Encoder fmt
where fmt implements EncoderFormatting
u128 : U128 -> Encoder fmt
where fmt implements EncoderFormatting
i8 : I8 -> Encoder fmt
where fmt implements EncoderFormatting
i16 : I16 -> Encoder fmt
where fmt implements EncoderFormatting
i32 : I32 -> Encoder fmt
where fmt implements EncoderFormatting
i64 : I64 -> Encoder fmt
where fmt implements EncoderFormatting
i128 : I128 -> Encoder fmt
where fmt implements EncoderFormatting
f32 : F32 -> Encoder fmt
where fmt implements EncoderFormatting
f64 : F64 -> Encoder fmt
where fmt implements EncoderFormatting
dec : Dec -> Encoder fmt
where fmt implements EncoderFormatting
bool : Bool -> Encoder fmt
where fmt implements EncoderFormatting
string : Str -> Encoder fmt
where fmt implements EncoderFormatting
list : List elem, (elem -> Encoder fmt) -> Encoder fmt
where fmt implements EncoderFormatting
record : List
{
key : Str,
value : Encoder fmt
}
-> Encoder fmt
where fmt implements EncoderFormatting
tuple : List (Encoder fmt) -> Encoder fmt
where fmt implements EncoderFormatting
tag : Str, List (Encoder fmt) -> Encoder fmt
where fmt implements EncoderFormatting
custom : (List U8, fmt -> List U8) -> Encoder fmt
where fmt implements EncoderFormatting
Creates a custom encoder from a given function.
expect # Appends the byte 42 custom_encoder = Encode.custom(\bytes, _fmt -> List.append(bytes, 42)) actual = Encode.append_with([], custom_encoder, Core.json) expected = [42] # Expected result is a list with a single byte, 42 actual == expected
append_with :
List U8,
Encoder fmt,
fmt
-> List U8
where fmt implements EncoderFormatting
append :
List U8,
val,
fmt
-> List U8
where val implements Encoding, fmt implements EncoderFormatting
Appends the encoded representation of a value to an existing list of bytes.
expect actual = Encode.append([], { foo: 43 }, Core.json) expected = Str.to_utf8("""{"foo":43}""") actual == expected
to_bytes : val, fmt -> List U8
where val implements Encoding, fmt implements EncoderFormatting
Encodes a value to a list of bytes (List U8
) according to the specified format.
expect foo_rec = { foo: 42 } actual = Encode.to_bytes(foo_rec, Core.json) expected = Str.to_utf8("""{"foo":42}""") actual == expected