diff options
Diffstat (limited to 'src/library/mod.rs')
| -rw-r--r-- | src/library/mod.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/library/mod.rs b/src/library/mod.rs index 313d423b..1c97f529 100644 --- a/src/library/mod.rs +++ b/src/library/mod.rs @@ -26,6 +26,7 @@ mod utility; /// Helpful imports for creating library functionality. mod prelude { pub use std::fmt::{self, Debug, Formatter}; + pub use std::num::NonZeroUsize; pub use std::rc::Rc; pub use typst_macros::properties; @@ -172,6 +173,15 @@ castable! { } castable! { + prelude::NonZeroUsize, + Expected: "positive integer", + Value::Int(int) => int + .try_into() + .and_then(|n: usize| n.try_into()) + .map_err(|_| "must be positive")?, +} + +castable! { String, Expected: "string", Value::Str(string) => string.into(), |
