summaryrefslogtreecommitdiff
path: root/dhall/src/lib.rs
diff options
context:
space:
mode:
authorNadrieril2019-04-10 19:18:25 +0200
committerNadrieril2019-04-10 19:18:25 +0200
commitff12918696181f1b0f2b8272944044e27c89e319 (patch)
tree7651c4fdb7bb68b980d5657aefe8e5f92dacfc93 /dhall/src/lib.rs
parent58f10a2a274fe858da6cc73d4a33718bfc46d52b (diff)
Add a new Deserialize trait for reading dhall values
Diffstat (limited to '')
-rw-r--r--dhall/src/lib.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/dhall/src/lib.rs b/dhall/src/lib.rs
index 3bfc46f..b49d1c1 100644
--- a/dhall/src/lib.rs
+++ b/dhall/src/lib.rs
@@ -21,7 +21,21 @@ mod imports;
mod normalize;
mod traits;
mod typecheck;
+pub use crate::traits::Deserialize;
pub use crate::traits::SimpleStaticType;
pub use crate::traits::StaticType;
pub use dhall_generator::SimpleStaticType;
pub mod expr;
+
+pub fn from_str<'a, T: Deserialize<'a>>(
+ s: &'a str,
+ ty: Option<&crate::expr::Type>,
+) -> crate::traits::Result<T> {
+ T::from_str(s, ty)
+}
+
+pub fn from_str_auto_type<'a, T: Deserialize<'a> + StaticType>(
+ s: &'a str,
+) -> crate::traits::Result<T> {
+ from_str(s, Some(&<T as StaticType>::get_static_type()))
+}