1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
//! # `lib_tcstring` is an TCF String library which will (currently only) decode a given TCString //! //! NOTE: This is not an official IAB library //! //! General usage //! ```rust,edition2018 //! use std::convert::TryFrom; //! // will return an Result which contains an TCModel V2 //! let tc_model_v2 = lib_tcstring::TCModel::try_from("COvFyGBOvFyGBAbAAAENAPCAAOAAAAAAAAAAAEEUACCKAAA"); //! // will return an Result which contains an TCModel V1 //! let tc_model_v1 = lib_tcstring::TCModel::try_from("BOEFEAyOEFEAyAHABDENAI4AAAB9vABAASA"); //! ``` //! //! If it's possible to know which TCModel version is used you can instead write it like this: //! ```rust,edition2018 //! use std::convert::TryFrom; //! let tc_model_v2 = lib_tcstring::TCModelV2::try_from("COvFyGBOvFyGBAbAAAENAPCAAOAAAAAAAAAAAEEUACCKAAA"); //! let tc_model_v1 = lib_tcstring::TCModelV1::try_from("BOEFEAyOEFEAyAHABDENAI4AAAB9vABAASA"); //! ``` #![warn(clippy::all)] #![doc(html_root_url = "https://docs.rs/lib_tcstring/0.1.2")] #![warn(missing_docs)] #[cfg(feature = "serde")] #[macro_use] extern crate serde; #[macro_use] mod macros; mod decode; pub use decode::model::{ PublisherRestriction, PublisherRestrictionType, TCModel, TCModelV1, TCModelV2, VendorSet, }; pub use decode::error::TcsError; mod tests { #[test] fn test_readme_deps() { version_sync::assert_markdown_deps_updated!("README.md"); } #[test] fn test_html_root_url() { version_sync::assert_html_root_url_updated!("src/lib.rs"); } }