diff options
| author | Edward Barnard | 2015-12-22 12:34:39 +0000 |
|---|---|---|
| committer | Edward Barnard | 2015-12-22 12:34:39 +0000 |
| commit | 2f9201a4f6a75b4c348ef63e37573f3c964908f0 (patch) | |
| tree | 8a7fa88be54e08969292d295c9e67f7cd769717d /src/lib.rs | |
| parent | 139c96123b04c2ed34d17cd0864ef5ae66676ef4 (diff) | |
| download | rust-plist-2f9201a4f6a75b4c348ef63e37573f3c964908f0.tar.bz2 | |
Make Builder type private. Functionality is available in Plist::from_events.
Diffstat (limited to 'src/lib.rs')
| -rw-r--r-- | src/lib.rs | 14 |
1 files changed, 12 insertions, 2 deletions
@@ -7,8 +7,6 @@ pub mod binary; pub mod xml; mod builder; -pub use builder::{Builder, BuilderError, BuilderResult}; - use chrono::{DateTime, UTC}; use chrono::format::ParseError as ChronoParseError; use std::collections::BTreeMap; @@ -31,6 +29,18 @@ use rustc_serialize::base64::{STANDARD, ToBase64}; use rustc_serialize::json::Json as RustcJson; impl Plist { + pub fn from_events<T>(events: T) -> Result<Plist, ()> + where T: IntoIterator<Item = ReadResult<PlistEvent>> + { + let iter = events.into_iter(); + let builder = builder::Builder::new(iter); + + match builder.build() { + Ok(plist) => Ok(plist), + Err(_) => Err(()) + } + } + pub fn into_events(self) -> Vec<PlistEvent> { let mut events = Vec::new(); self.into_events_inner(&mut events); |
