#![no_std]
#![doc = include_str!("../README.md")]
extern crate alloc;
mod bounded;
mod contract;
mod float;
pub mod native;
pub mod schema;
mod shape;
#[cfg(feature = "typescript")]
pub mod typescript;
pub use bounded::{Bytes, List, Text};
pub use contract::{
Method, RequestBytes, ResponseBytes, decode_request, decode_response, encode_request,
encode_response, encoded_request_len, encoded_response_len,
};
pub use float::{FiniteF32, FiniteF64};
pub use ic_wire_derive::Wire;
pub use shape::{Limits, Shape, Wire};
#[doc(hidden)]
pub mod __private {
pub use serde;
}
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub enum Error {
Limit,
SchemaLimit,
Allocation,
Malformed,
Trailing,
Noncanonical,
Identity,
}
impl core::fmt::Display for Error {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
write!(f, "wire {self:?}")
}
}
impl core::error::Error for Error {}