Skip to content

Commit 1302568

Browse files
authored
Merge pull request kstep#13 from tomprince/use-question-mark
Use `?` in status.
2 parents c52a01a + e6f3bc3 commit 1302568

File tree

1 file changed

+60
-68
lines changed

1 file changed

+60
-68
lines changed

src/status.rs

Lines changed: 60 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -59,74 +59,66 @@ pub struct Status {
5959
impl Encodable for Status {
6060
fn encode<S: Encoder>(&self, e: &mut S) -> Result<(), S::Error> {
6161
e.emit_struct("Status", 21, |e| {
62-
e.emit_struct_field("volume", 0, |e| self.volume.encode(e))
63-
.and_then(|_| e.emit_struct_field("repeat", 1, |e| self.repeat.encode(e)))
64-
.and_then(|_| e.emit_struct_field("random", 2, |e| self.random.encode(e)))
65-
.and_then(|_| e.emit_struct_field("single", 3, |e| self.single.encode(e)))
66-
.and_then(|_| e.emit_struct_field("consume", 4, |e| self.consume.encode(e)))
67-
.and_then(|_| e.emit_struct_field("queue_version", 5, |e| self.queue_version.encode(e)))
68-
.and_then(|_| e.emit_struct_field("queue_len", 6, |e| self.queue_len.encode(e)))
69-
.and_then(|_| e.emit_struct_field("state", 7, |e| self.state.encode(e)))
70-
.and_then(|_| e.emit_struct_field("song", 8, |e| self.song.encode(e)))
71-
.and_then(|_| e.emit_struct_field("nextsong", 9, |e| self.nextsong.encode(e)))
72-
.and_then(|_| {
73-
e.emit_struct_field("time", 10, |e| {
74-
e.emit_option(|e| {
75-
self.time
76-
.map(|p| {
77-
e.emit_option_some(|e| {
78-
e.emit_tuple(2, |e| {
79-
e.emit_tuple_arg(0, |e| p.0.num_seconds().encode(e))
80-
.and_then(|_| e.emit_tuple_arg(1, |e| p.1.num_seconds().encode(e)))
81-
})
82-
})
83-
})
84-
.unwrap_or_else(|| e.emit_option_none())
85-
})
86-
})
87-
})
88-
.and_then(|_| {
89-
e.emit_struct_field("elapsed", 11, |e| {
90-
e.emit_option(|e| {
91-
self.elapsed
92-
.map(|d| e.emit_option_some(|e| d.num_seconds().encode(e)))
93-
.unwrap_or_else(|| e.emit_option_none())
94-
})
95-
})
96-
})
97-
.and_then(|_| {
98-
e.emit_struct_field("duration", 12, |e| {
99-
e.emit_option(|e| {
100-
self.duration
101-
.map(|d| e.emit_option_some(|e| d.num_seconds().encode(e)))
102-
.unwrap_or_else(|| e.emit_option_none())
103-
})
104-
})
105-
})
106-
.and_then(|_| e.emit_struct_field("bitrate", 13, |e| self.bitrate.encode(e)))
107-
.and_then(|_| {
108-
e.emit_struct_field("crossfade", 14, |e| {
109-
e.emit_option(|e| {
110-
self.crossfade
111-
.map(|d| e.emit_option_some(|e| d.num_seconds().encode(e)))
112-
.unwrap_or_else(|| e.emit_option_none())
113-
})
114-
})
115-
})
116-
.and_then(|_| e.emit_struct_field("mixrampdb", 15, |e| self.mixrampdb.encode(e)))
117-
.and_then(|_| {
118-
e.emit_struct_field("mixrampdelay", 16, |e| {
119-
e.emit_option(|e| {
120-
self.mixrampdelay
121-
.map(|d| e.emit_option_some(|e| d.num_seconds().encode(e)))
122-
.unwrap_or_else(|| e.emit_option_none())
123-
})
124-
})
125-
})
126-
.and_then(|_| e.emit_struct_field("audio", 17, |e| self.audio.encode(e)))
127-
.and_then(|_| e.emit_struct_field("updating_db", 18, |e| self.updating_db.encode(e)))
128-
.and_then(|_| e.emit_struct_field("error", 19, |e| self.error.encode(e)))
129-
.and_then(|_| e.emit_struct_field("replaygain", 20, |e| self.replaygain.encode(e)))
62+
e.emit_struct_field("volume", 0, |e| self.volume.encode(e))?;
63+
e.emit_struct_field("repeat", 1, |e| self.repeat.encode(e))?;
64+
e.emit_struct_field("random", 2, |e| self.random.encode(e))?;
65+
e.emit_struct_field("single", 3, |e| self.single.encode(e))?;
66+
e.emit_struct_field("consume", 4, |e| self.consume.encode(e))?;
67+
e.emit_struct_field("queue_version", 5, |e| self.queue_version.encode(e))?;
68+
e.emit_struct_field("queue_len", 6, |e| self.queue_len.encode(e))?;
69+
e.emit_struct_field("state", 7, |e| self.state.encode(e))?;
70+
e.emit_struct_field("song", 8, |e| self.song.encode(e))?;
71+
e.emit_struct_field("nextsong", 9, |e| self.nextsong.encode(e))?;
72+
e.emit_struct_field("time", 10, |e| {
73+
e.emit_option(|e| {
74+
self.time
75+
.map(|p| {
76+
e.emit_option_some(|e| {
77+
e.emit_tuple(2, |e| {
78+
e.emit_tuple_arg(0, |e| p.0.num_seconds().encode(e))?;
79+
e.emit_tuple_arg(1, |e| p.1.num_seconds().encode(e))?;
80+
Ok(())
81+
})
82+
})
83+
})
84+
.unwrap_or_else(|| e.emit_option_none())
85+
})
86+
})?;
87+
e.emit_struct_field("elapsed", 11, |e| {
88+
e.emit_option(|e| {
89+
self.elapsed
90+
.map(|d| e.emit_option_some(|e| d.num_seconds().encode(e)))
91+
.unwrap_or_else(|| e.emit_option_none())
92+
})
93+
})?;
94+
e.emit_struct_field("duration", 12, |e| {
95+
e.emit_option(|e| {
96+
self.duration
97+
.map(|d| e.emit_option_some(|e| d.num_seconds().encode(e)))
98+
.unwrap_or_else(|| e.emit_option_none())
99+
})
100+
})?;
101+
e.emit_struct_field("bitrate", 13, |e| self.bitrate.encode(e))?;
102+
e.emit_struct_field("crossfade", 14, |e| {
103+
e.emit_option(|e| {
104+
self.crossfade
105+
.map(|d| e.emit_option_some(|e| d.num_seconds().encode(e)))
106+
.unwrap_or_else(|| e.emit_option_none())
107+
})
108+
})?;
109+
e.emit_struct_field("mixrampdb", 15, |e| self.mixrampdb.encode(e))?;
110+
e.emit_struct_field("mixrampdelay", 16, |e| {
111+
e.emit_option(|e| {
112+
self.mixrampdelay
113+
.map(|d| e.emit_option_some(|e| d.num_seconds().encode(e)))
114+
.unwrap_or_else(|| e.emit_option_none())
115+
})
116+
})?;
117+
e.emit_struct_field("audio", 17, |e| self.audio.encode(e))?;
118+
e.emit_struct_field("updating_db", 18, |e| self.updating_db.encode(e))?;
119+
e.emit_struct_field("error", 19, |e| self.error.encode(e))?;
120+
e.emit_struct_field("replaygain", 20, |e| self.replaygain.encode(e))?;
121+
Ok(())
130122
})
131123

132124
}

0 commit comments

Comments
 (0)