mirror of
https://github.com/denoland/deno.git
synced 2025-09-26 12:19:12 +00:00
port more ops to JSON (#2809)
This commit is contained in:
parent
79f82cf10e
commit
137f33733d
26 changed files with 640 additions and 1147 deletions
|
@ -205,6 +205,18 @@ impl GetErrorKind for ReadlineError {
|
|||
}
|
||||
}
|
||||
|
||||
impl GetErrorKind for serde_json::error::Error {
|
||||
fn kind(&self) -> ErrorKind {
|
||||
use serde_json::error::*;
|
||||
match self.classify() {
|
||||
Category::Io => ErrorKind::InvalidInput,
|
||||
Category::Syntax => ErrorKind::InvalidInput,
|
||||
Category::Data => ErrorKind::InvalidData,
|
||||
Category::Eof => ErrorKind::UnexpectedEof,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(unix)]
|
||||
mod unix {
|
||||
use super::{ErrorKind, GetErrorKind};
|
||||
|
@ -251,6 +263,11 @@ impl GetErrorKind for dyn AnyError {
|
|||
.or_else(|| self.downcast_ref::<uri::InvalidUri>().map(Get::kind))
|
||||
.or_else(|| self.downcast_ref::<url::ParseError>().map(Get::kind))
|
||||
.or_else(|| self.downcast_ref::<ReadlineError>().map(Get::kind))
|
||||
.or_else(|| {
|
||||
self
|
||||
.downcast_ref::<serde_json::error::Error>()
|
||||
.map(Get::kind)
|
||||
})
|
||||
.or_else(|| unix_error_kind(self))
|
||||
.unwrap_or_else(|| {
|
||||
panic!("Can't get ErrorKind for {:?}", self);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue