shape-runtime 0.2.0

Bytecode compiler, builtins, and runtime infrastructure for Shape
Documentation
/// @module std::core::msgpack
/// MessagePack Binary Serialization
///
/// Encode and decode values using the MessagePack binary format.
///
/// # Example
///
/// ```shape
/// use std::core::msgpack
///
/// let encoded = msgpack.encode({ name: "Alice", age: 30 })
/// match encoded {
///     Ok(hex) => {
///         let decoded = msgpack.decode(hex)
///         print(decoded)
///     }
///     Err(e) => print(f"Error: {e}")
/// }
/// ```

/// Encode a value to MessagePack (hex-encoded string).
///
/// # Arguments
///
/// * `value` - Value to encode
///
/// # Returns
///
/// `Ok(hex_string)` on success, `Err(message)` on failure.
pub builtin fn encode(value: _) -> Result<string, string>;

/// Decode a hex-encoded MessagePack string to a value.
///
/// # Arguments
///
/// * `data` - Hex-encoded MessagePack data
///
/// # Returns
///
/// `Ok(value)` on success, `Err(message)` on failure.
pub builtin fn decode(data: string) -> Result<_, string>;

/// Encode a value to MessagePack as a byte array.
///
/// # Arguments
///
/// * `value` - Value to encode
///
/// # Returns
///
/// `Ok(byte_array)` on success, `Err(message)` on failure.
pub builtin fn encode_bytes(value: _) -> Result<Array<int>, string>;

/// Decode MessagePack from a byte array to a value.
///
/// # Arguments
///
/// * `data` - Array of byte values (0-255)
///
/// # Returns
///
/// `Ok(value)` on success, `Err(message)` on failure.
pub builtin fn decode_bytes(data: Array<int>) -> Result<_, string>;