update to 2018 edition, import in ruma style

This commit is contained in:
Devin R 2020-04-20 09:11:41 -04:00
parent ab6f3ce278
commit 68daaf86f6
11 changed files with 41 additions and 54 deletions

View File

@ -9,6 +9,7 @@ description = "`x-www-form-urlencoded` meets Serde"
categories = ["encoding", "web-programming"] categories = ["encoding", "web-programming"]
keywords = ["serde", "serialization", "urlencoded"] keywords = ["serde", "serialization", "urlencoded"]
exclude = ["/.travis.yml", "/bors.toml"] exclude = ["/.travis.yml", "/bors.toml"]
edition = "2018"
[badges] [badges]
travis-ci = {repository = "nox/serde_urlencoded"} travis-ci = {repository = "nox/serde_urlencoded"}
@ -17,10 +18,7 @@ travis-ci = {repository = "nox/serde_urlencoded"}
test = false test = false
[dependencies] [dependencies]
dtoa = "0.4.0" dtoa = "0.4.5"
itoa = "0.4.0" itoa = "0.4.5"
serde = "1.0.0" serde = { version = "1.0.106", features = ["derive"] }
url = "2.0.0" url = "2.1.1"
[dev-dependencies]
serde_derive = "1.0"

View File

@ -1,12 +1,8 @@
//! Deserialization support for the `application/x-www-form-urlencoded` format. //! Deserialization support for the `application/x-www-form-urlencoded` format.
use std::{borrow::Cow, io::Read};
use serde::de::value::MapDeserializer; use serde::de::{self, value::MapDeserializer, Error as de_Error, IntoDeserializer};
use serde::de::Error as de_Error; use url::form_urlencoded::{parse, Parse as UrlEncodedParse};
use serde::de::{self, IntoDeserializer};
use std::borrow::Cow;
use std::io::Read;
use url::form_urlencoded::parse;
use url::form_urlencoded::Parse as UrlEncodedParse;
#[doc(inline)] #[doc(inline)]
pub use serde::de::value::Error; pub use serde::de::value::Error;
@ -123,7 +119,7 @@ impl<'de> de::Deserializer<'de> for Deserializer<'de> {
visitor.visit_unit() visitor.visit_unit()
} }
forward_to_deserialize_any! { serde::forward_to_deserialize_any! {
bool bool
u8 u8
u16 u16
@ -230,7 +226,7 @@ impl<'de> de::Deserializer<'de> for Part<'de> {
visitor.visit_newtype_struct(self) visitor.visit_newtype_struct(self)
} }
forward_to_deserialize_any! { serde::forward_to_deserialize_any! {
char char
str str
string string

View File

@ -1,13 +1,5 @@
//! `x-www-form-urlencoded` meets Serde //! `x-www-form-urlencoded` meets Serde
#![warn(unused_extern_crates)]
extern crate dtoa;
extern crate itoa;
#[macro_use]
extern crate serde;
extern crate url;
pub mod de; pub mod de;
pub mod ser; pub mod ser;

View File

@ -1,9 +1,8 @@
use ser::part::Sink; use std::{borrow::Cow, ops::Deref};
use ser::Error;
use serde::Serialize;
use std::borrow::Cow;
use std::ops::Deref;
use serde::Serialize;
use crate::ser::{part::Sink, Error};
pub enum Key<'key> { pub enum Key<'key> {
Static(&'static str), Static(&'static str),
Dynamic(Cow<'key, str>), Dynamic(Cow<'key, str>),

View File

@ -5,13 +5,10 @@ mod pair;
mod part; mod part;
mod value; mod value;
use std::{borrow::Cow, error, fmt, str};
use serde::ser; use serde::ser;
use std::borrow::Cow; use url::form_urlencoded::{Serializer as UrlEncodedSerializer, Target as UrlEncodedTarget};
use std::error;
use std::fmt;
use std::str;
use url::form_urlencoded::Serializer as UrlEncodedSerializer;
use url::form_urlencoded::Target as UrlEncodedTarget;
/// Serializes a value into a `application/x-www-form-urlencoded` `String` buffer. /// Serializes a value into a `application/x-www-form-urlencoded` `String` buffer.
/// ///

View File

@ -1,13 +1,10 @@
use ser::key::KeySink;
use ser::part::PartSerializer;
use ser::value::ValueSink;
use ser::Error;
use serde::ser; use serde::ser;
use std::borrow::Cow; use std::borrow::Cow;
use std::mem; use std::mem;
use url::form_urlencoded::Serializer as UrlEncodedSerializer; use url::form_urlencoded::Serializer as UrlEncodedSerializer;
use url::form_urlencoded::Target as UrlEncodedTarget; use url::form_urlencoded::Target as UrlEncodedTarget;
use crate::ser::{Error, part::PartSerializer, key::KeySink, value::ValueSink};
pub struct PairSerializer<'input, 'target, Target: 'target + UrlEncodedTarget> { pub struct PairSerializer<'input, 'target, Target: 'target + UrlEncodedTarget> {
urlencoder: &'target mut UrlEncodedSerializer<'input, Target>, urlencoder: &'target mut UrlEncodedSerializer<'input, Target>,
state: PairState, state: PairState,

View File

@ -1,9 +1,10 @@
use dtoa;
use itoa;
use ser::Error;
use serde::ser;
use std::str; use std::str;
use dtoa;
use itoa;
use serde::ser;
use crate::ser::Error;
pub struct PartSerializer<S> { pub struct PartSerializer<S> {
sink: S, sink: S,
} }

0
src/ser/seq.rs Normal file
View File

View File

@ -1,9 +1,9 @@
use ser::part::{PartSerializer, Sink};
use ser::Error;
use serde::ser::Serialize;
use std::str; use std::str;
use url::form_urlencoded::Serializer as UrlEncodedSerializer;
use url::form_urlencoded::Target as UrlEncodedTarget; use serde::Serialize;
use url::form_urlencoded::{Serializer as UrlEncodedSerializer, Target as UrlEncodedTarget};
use crate::ser::{part::{PartSerializer, Sink}, Error};
pub struct ValueSink<'input, 'key, 'target, Target> pub struct ValueSink<'input, 'key, 'target, Target>
where where

View File

@ -1,6 +1,4 @@
extern crate serde_urlencoded; use serde::Deserialize;
#[macro_use]
extern crate serde_derive;
#[derive(Deserialize, Debug, PartialEq)] #[derive(Deserialize, Debug, PartialEq)]
struct NewType<T>(T); struct NewType<T>(T);

View File

@ -1,10 +1,19 @@
extern crate serde_urlencoded; use serde::Serialize;
#[macro_use]
extern crate serde_derive;
#[derive(Serialize)] #[derive(Serialize)]
struct NewType<T>(T); struct NewType<T>(T);
#[derive(Serialize)]
struct NewStruct {
list: Vec<String>,
}
#[test]
fn serialize_newstruct() {
let s = NewStruct { list: vec![ "hello".into() ] };
println!("{:?}", serde_urlencoded::to_string(s));
}
#[test] #[test]
fn serialize_newtype_i32() { fn serialize_newtype_i32() {
let params = &[("field", Some(NewType(11)))]; let params = &[("field", Some(NewType(11)))];