Refine error API
This commit is contained in:
parent
d2a57c839c
commit
a00314d108
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "preserves"
|
||||
version = "0.2.0"
|
||||
version = "0.2.1"
|
||||
authors = ["Tony Garnock-Jones <tonyg@leastfixedpoint.com>"]
|
||||
edition = "2018"
|
||||
description = "Implementation of the Preserves serialization format via serde."
|
||||
|
|
|
@ -211,7 +211,7 @@ mod decoder_tests {
|
|||
#[cfg(test)]
|
||||
mod samples_tests {
|
||||
use crate::symbol::Symbol;
|
||||
use crate::value::{Codec, Decoder, codec};
|
||||
use crate::value::{Codec, Decoder, decoder::Error};
|
||||
use crate::value::{Value, PlainValue, Map};
|
||||
use crate::value::DecodePlaceholderMap;
|
||||
use crate::value::to_value;
|
||||
|
@ -237,7 +237,7 @@ mod samples_tests {
|
|||
DecodeShort(#[serde(with = "serde_bytes")] Vec<u8>),
|
||||
}
|
||||
|
||||
#[test] fn run() -> codec::Result<()> {
|
||||
#[test] fn run() -> std::io::Result<()> {
|
||||
let mut fh = std::fs::File::open("../../tests/samples.bin").unwrap();
|
||||
let mut d = Decoder::<_, PlainValue>::new(&mut fh, None);
|
||||
let tests: TestCases = from_value(&d.next().unwrap()).unwrap();
|
||||
|
@ -270,14 +270,14 @@ mod samples_tests {
|
|||
TestCase::DecodeError(ref bin) => {
|
||||
match codec.decode(&mut &bin[..]) {
|
||||
Ok(_) => panic!("Unexpected success"),
|
||||
Err(codec::Error::Syntax(_)) => (),
|
||||
Err(Error::Syntax(_)) => (),
|
||||
Err(e) => panic!("Unexpected error {:?}", e),
|
||||
}
|
||||
}
|
||||
TestCase::DecodeShort(ref bin) => {
|
||||
match codec.decode(&mut &bin[..]) {
|
||||
Ok(_) => panic!("Unexpected success"),
|
||||
Err(codec::Error::Eof) => (),
|
||||
Err(Error::Eof) => (),
|
||||
Err(e) => panic!("Unexpected error {:?}", e),
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,9 +3,6 @@ use decoder::{Decoder, DecodePlaceholderMap};
|
|||
use encoder::{Encoder, EncodePlaceholderMap};
|
||||
use std::io::{Read, Write};
|
||||
|
||||
pub type Error = decoder::Error;
|
||||
pub type Result<T> = decoder::Result<T>;
|
||||
|
||||
pub struct Codec<N: NestedValue> {
|
||||
pub decode_placeholders: Option<DecodePlaceholderMap<N>>,
|
||||
pub encode_placeholders: Option<EncodePlaceholderMap<N>>,
|
||||
|
@ -29,11 +26,11 @@ impl<N: NestedValue> Codec<N> {
|
|||
Encoder::new(write, self.encode_placeholders.as_ref())
|
||||
}
|
||||
|
||||
pub fn decode<'r, R: Read>(&self, read: &'r mut R) -> Result<N> {
|
||||
pub fn decode<'r, R: Read>(&self, read: &'r mut R) -> decoder::Result<N> {
|
||||
self.decoder(read).next()
|
||||
}
|
||||
|
||||
pub fn encode_bytes(&self, v: &N) -> Result<Vec<u8>> {
|
||||
pub fn encode_bytes(&self, v: &N) -> std::io::Result<Vec<u8>> {
|
||||
let mut buf: Vec<u8> = Vec::new();
|
||||
self.encoder(&mut buf).write(v)?;
|
||||
Ok(buf)
|
||||
|
|
Loading…
Reference in New Issue