Add key_timeout config option (#1649)

This commit is contained in:
Thomas B Homburg
2020-04-24 19:28:38 +02:00
committed by GitHub
parent 0e510ad42b
commit 716c4def03
3 changed files with 30 additions and 8 deletions

View File

@ -20,6 +20,7 @@ use indexmap::IndexMap;
use nu_errors::ShellError;
use nu_source::{AnchorLocation, HasSpan, Span, Spanned, Tag};
use num_bigint::BigInt;
use num_traits::ToPrimitive;
use serde::{Deserialize, Serialize};
use std::path::PathBuf;
use std::time::SystemTime;
@ -122,6 +123,19 @@ impl UntaggedValue {
}
}
/// Expect this value to be an integer and return it
pub fn expect_int(&self) -> i64 {
let big_int = match self {
UntaggedValue::Primitive(Primitive::Int(int)) => Some(int),
_ => None,
};
match big_int.and_then(|i| i.to_i64()) {
Some(i) => i,
_ => panic!("expect_int assumes that the value must be a integer"),
}
}
/// Helper for creating row values
pub fn row(entries: IndexMap<String, Value>) -> UntaggedValue {
UntaggedValue::Row(entries.into())