skir_client
Values
pub fn bool_serializer() -> serializer.Serializer(Bool)
Returns the serializer for Bool values.
pub fn bytes_serializer() -> serializer.Serializer(BitArray)
Returns the serializer for BitArray (bytes) values.
pub fn float32_serializer() -> serializer.Serializer(Float)
Returns the serializer for Float (float32) values.
pub fn float64_serializer() -> serializer.Serializer(Float)
Returns the serializer for Float (float64) values.
pub fn from_bytes(
serializer: serializer.Serializer(a),
bytes: BitArray,
) -> Result(a, String)
Deserializes a value from binary format. Unrecognized fields are dropped.
pub fn from_bytes_with_options(
serializer: serializer.Serializer(a),
bytes: BitArray,
keep_unrecognized_values keep_unrecognized_values: Bool,
) -> Result(a, String)
Deserializes a value from binary format.
When keep_unrecognized_values is True, field data that this client
does not recognise is preserved in unrecognized_fields_.
pub fn from_gleam_timestamp(
t: timestamp.Timestamp,
) -> timestamp.Timestamp
Converts a Gleam Timestamp to a Skir Timestamp.
pub fn from_json_code(
serializer: serializer.Serializer(a),
json_code: String,
) -> Result(a, String)
Deserializes a value from a JSON string. Accepts both dense and readable JSON. Unrecognized fields are dropped.
pub fn from_json_code_with_options(
serializer: serializer.Serializer(a),
json_code: String,
keep_unrecognized_values keep_unrecognized_values: Bool,
) -> Result(a, String)
Deserializes a value from a JSON string.
When keep_unrecognized_values is True, field data that this client
does not recognise is preserved in unrecognized_fields_ so that
re-serializing the value does not silently discard forward-compatible
fields.
pub fn hash64_serializer() -> serializer.Serializer(Int)
Returns the serializer for Int (hash64) values.
pub fn int32_serializer() -> serializer.Serializer(Int)
Returns the serializer for Int (int32) values.
pub fn int64_serializer() -> serializer.Serializer(Int)
Returns the serializer for Int (int64) values.
pub fn json_decoder(
serializer: serializer.Serializer(a),
) -> decode.Decoder(a)
Returns a JSON decoder for this serializer (Drop mode).
pub fn json_decoder_with_options(
serializer: serializer.Serializer(a),
keep_unrecognized_values keep_unrecognized_values: Bool,
) -> decode.Decoder(a)
Returns a JSON decoder for this serializer with configurable keep/drop mode.
pub fn keyed_list_serializer(
item_serializer: serializer.Serializer(a),
key_extractor: String,
) -> serializer.Serializer(List(a))
Returns a keyed serializer for List(a) values.
pub fn list_serializer(
item_serializer: serializer.Serializer(a),
) -> serializer.Serializer(List(a))
Returns a serializer for List(a) values.
pub fn optional_serializer(
item_serializer: serializer.Serializer(a),
) -> serializer.Serializer(option.Option(a))
Returns a serializer for Option(a) values.
pub fn recursive_serializer(
item_serializer: serializer.Serializer(a),
) -> serializer.Serializer(recursive.Recursive(a))
Returns a serializer for Recursive(a) values.
pub fn string_serializer() -> serializer.Serializer(String)
Returns the serializer for String values.
pub fn timestamp_serializer() -> serializer.Serializer(
timestamp.Timestamp,
)
Returns the serializer for Timestamp values.
pub fn to_bytes(
serializer: serializer.Serializer(a),
value: a,
) -> BitArray
Serializes a value to a compact binary format.
pub fn to_dense_json(
serializer: serializer.Serializer(a),
value: a,
) -> json.Json
Serializes a value to dense (field-index-based) JSON value.
pub fn to_dense_json_code(
serializer: serializer.Serializer(a),
value: a,
) -> String
Serializes a value to dense (field-index-based) JSON code. Dense JSON is safe for persistent storage: renaming a field does not break deserialization.
pub fn to_gleam_timestamp(
t: timestamp.Timestamp,
) -> timestamp.Timestamp
Converts a Skir Timestamp to a Gleam Timestamp.
pub fn to_readable_json(
serializer: serializer.Serializer(a),
value: a,
) -> json.Json
Serializes a value to readable (field-name-based) JSON value.
pub fn to_readable_json_code(
serializer: serializer.Serializer(a),
value: a,
) -> String
Serializes a value to readable (field-name-based, indented) JSON code. Uses 2-space indentation.
pub fn type_descriptor(
serializer: serializer.Serializer(a),
) -> type_descriptor.TypeDescriptor
Returns the TypeDescriptor for the type this serializer handles.
pub const unix_epoch: timestamp.Timestamp
The default Timestamp: the Unix epoch (1970-01-01T00:00:00Z).