1#![no_std]
6#![doc = include_str!("../README.md")]
7extern crate alloc;
8mod bounded;
9mod contract;
10mod float;
11pub mod native;
12pub mod schema;
13mod shape;
14#[cfg(feature = "typescript")]
16pub mod typescript;
17pub use bounded::{Bytes, List, Text};
18pub use contract::{
19 Method, RequestBytes, ResponseBytes, decode_request, decode_response, encode_request,
20 encode_response, encoded_request_len, encoded_response_len,
21};
22pub use float::{FiniteF32, FiniteF64};
23pub use ic_wire_derive::Wire;
24pub use shape::{Limits, Shape, Wire};
25
26#[doc(hidden)]
28pub mod __private {
29 pub use serde;
30}
31
32#[derive(Clone, Copy, Debug, Eq, PartialEq)]
34pub enum Error {
35 Limit,
37 SchemaLimit,
39 Allocation,
41 Malformed,
43 Trailing,
45 Noncanonical,
47 Identity,
49}
50impl core::fmt::Display for Error {
51 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
52 write!(f, "wire {self:?}")
53 }
54}
55impl core::error::Error for Error {}