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"]
keywords = ["serde", "serialization", "urlencoded"]
exclude = ["/.travis.yml", "/bors.toml"]
edition = "2018"
[badges]
travis-ci = {repository = "nox/serde_urlencoded"}
@ -17,10 +18,7 @@ travis-ci = {repository = "nox/serde_urlencoded"}
test = false
[dependencies]
dtoa = "0.4.0"
itoa = "0.4.0"
serde = "1.0.0"
url = "2.0.0"
[dev-dependencies]
serde_derive = "1.0"
dtoa = "0.4.5"
itoa = "0.4.5"
serde = { version = "1.0.106", features = ["derive"] }
url = "2.1.1"

View File

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

View File

@ -1,13 +1,5 @@
//! `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 ser;

View File

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

View File

@ -5,13 +5,10 @@ mod pair;
mod part;
mod value;
use std::{borrow::Cow, error, fmt, str};
use serde::ser;
use std::borrow::Cow;
use std::error;
use std::fmt;
use std::str;
use url::form_urlencoded::Serializer as UrlEncodedSerializer;
use url::form_urlencoded::Target as UrlEncodedTarget;
use url::form_urlencoded::{Serializer as UrlEncodedSerializer, Target as UrlEncodedTarget};
/// 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 std::borrow::Cow;
use std::mem;
use url::form_urlencoded::Serializer as UrlEncodedSerializer;
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> {
urlencoder: &'target mut UrlEncodedSerializer<'input, Target>,
state: PairState,

View File

@ -1,9 +1,10 @@
use dtoa;
use itoa;
use ser::Error;
use serde::ser;
use std::str;
use dtoa;
use itoa;
use serde::ser;
use crate::ser::Error;
pub struct PartSerializer<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 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>
where

View File

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

View File

@ -1,10 +1,19 @@
extern crate serde_urlencoded;
#[macro_use]
extern crate serde_derive;
use serde::Serialize;
#[derive(Serialize)]
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]
fn serialize_newtype_i32() {
let params = &[("field", Some(NewType(11)))];