Skip to content

Commit 56cb98a

Browse files
committed
Cleanup to structure and decoder.
1 parent bb5402a commit 56cb98a

File tree

2 files changed

+87
-118
lines changed

2 files changed

+87
-118
lines changed

src/bson.rs

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
//! BSON definition
2323
2424
use std::collections::BTreeMap;
25-
use std::string;
2625

2726
use chrono::{DateTime, UTC};
2827
use rustc_serialize::json;
@@ -34,13 +33,13 @@ use spec::BinarySubtype;
3433
pub enum Bson {
3534
FloatingPoint(f64),
3635
String(String),
37-
Array(self::Array),
38-
Document(self::Document),
36+
Array(Array),
37+
Document(Document),
3938
Boolean(bool),
4039
Null,
41-
RegExp(string::String, string::String),
42-
JavaScriptCode(string::String),
43-
JavaScriptCodeWithScope(string::String, self::Document),
40+
RegExp(String, String),
41+
JavaScriptCode(String),
42+
JavaScriptCodeWithScope(String, Document),
4443
Deprecated,
4544
I32(i32),
4645
I64(i64),
@@ -66,32 +65,32 @@ impl Bson {
6665
&Bson::Null => json::Json::Null,
6766
&Bson::RegExp(ref pat, ref opt) => {
6867
let mut re = json::Object::new();
69-
re.insert("pattern".to_string(), json::Json::String(pat.clone()));
70-
re.insert("options".to_string(), json::Json::String(opt.clone()));
68+
re.insert("pattern".to_owned(), json::Json::String(pat.clone()));
69+
re.insert("options".to_owned(), json::Json::String(opt.clone()));
7170

7271
json::Json::Object(re)
7372
},
7473
&Bson::JavaScriptCode(ref code) => json::Json::String(code.clone()),
7574
&Bson::JavaScriptCodeWithScope(ref code, ref scope) => {
7675
let mut obj = json::Object::new();
77-
obj.insert("code".to_string(), json::Json::String(code.clone()));
76+
obj.insert("code".to_owned(), json::Json::String(code.clone()));
7877

7978
let scope_obj =
8079
scope.iter().map(|(k, v)| (k.clone(), v.to_json())).collect();
8180

82-
obj.insert("scope".to_string(), json::Json::Object(scope_obj));
81+
obj.insert("scope".to_owned(), json::Json::Object(scope_obj));
8382

8483
json::Json::Object(obj)
8584
},
86-
&Bson::Deprecated => json::Json::String("deprecated".to_string()),
85+
&Bson::Deprecated => json::Json::String("deprecated".to_owned()),
8786
&Bson::I32(v) => json::Json::I64(v as i64),
8887
&Bson::I64(v) => json::Json::I64(v),
8988
&Bson::TimeStamp(v) => json::Json::I64(v),
9089
&Bson::Binary(t, ref v) => {
9190
let mut obj = json::Object::new();
9291
let tval: u8 = From::from(t);
93-
obj.insert("type".to_string(), json::Json::I64(tval as i64));
94-
obj.insert("data".to_string(), json::Json::String(v[..].to_hex()));
92+
obj.insert("type".to_owned(), json::Json::I64(tval as i64));
93+
obj.insert("data".to_owned(), json::Json::String(v[..].to_hex()));
9594

9695
json::Json::Object(obj)
9796
},
@@ -107,7 +106,7 @@ impl Bson {
107106
&json::Json::F64(x) => Bson::FloatingPoint(x),
108107
&json::Json::String(ref x) => Bson::String(x.clone()),
109108
&json::Json::Boolean(x) => Bson::Boolean(x),
110-
&json::Json::Array(ref x) => Bson::Array(x.iter().map(|x| Bson::from_json(x)).collect()),
109+
&json::Json::Array(ref x) => Bson::Array(x.iter().map(Bson::from_json).collect()),
111110
&json::Json::Object(ref x) => Bson::Document(x.iter().map(|(k, v)| (k.clone(), Bson::from_json(v))).collect()),
112111
&json::Json::Null => Bson::Null,
113112
}
@@ -120,7 +119,7 @@ pub trait ToBson {
120119

121120
impl ToBson for str {
122121
fn to_bson(&self) -> Bson {
123-
Bson::String(self.to_string())
122+
Bson::String(self.to_owned())
124123
}
125124
}
126125

0 commit comments

Comments
 (0)