mirror of
https://github.com/sagiegurari/duckscript
synced 2024-10-14 11:53:05 +00:00
Added state 64 bit numeric value support #39
This commit is contained in:
parent
094a8f8b2d
commit
7942425e23
|
@ -2,6 +2,7 @@
|
|||
|
||||
### v0.1.5
|
||||
|
||||
* Added state 64 bit numeric value support #39
|
||||
* Changed standard namespace to std from sdk #34
|
||||
* New read command #33
|
||||
* New hostname command #18
|
||||
|
|
|
@ -24,6 +24,10 @@ pub enum StateValue {
|
|||
Number32Bit(i32),
|
||||
/// unsigned number
|
||||
UnsignedNumber32Bit(u32),
|
||||
/// signed number
|
||||
Number64Bit(i64),
|
||||
/// unsigned number
|
||||
UnsignedNumber64Bit(u64),
|
||||
/// textual value
|
||||
String(String),
|
||||
/// list
|
||||
|
|
|
@ -43,7 +43,7 @@ impl Command for CommandImpl {
|
|||
if arguments.len() < 2 {
|
||||
CommandResult::Error("Invalid arguments provided.".to_string())
|
||||
} else {
|
||||
let start: i32 = match arguments[0].parse() {
|
||||
let start: i64 = match arguments[0].parse() {
|
||||
Ok(value) => value,
|
||||
Err(_) => {
|
||||
return CommandResult::Error(
|
||||
|
@ -52,7 +52,7 @@ impl Command for CommandImpl {
|
|||
}
|
||||
};
|
||||
|
||||
let end: i32 = match arguments[1].parse() {
|
||||
let end: i64 = match arguments[1].parse() {
|
||||
Ok(value) => value,
|
||||
Err(_) => {
|
||||
return CommandResult::Error(
|
||||
|
@ -65,7 +65,7 @@ impl Command for CommandImpl {
|
|||
CommandResult::Error("Invalid arguments provided, range start value cannot be bigger than the range end value.".to_string())
|
||||
} else {
|
||||
let array: Vec<_> = (start..end)
|
||||
.map(|value| StateValue::Number32Bit(value))
|
||||
.map(|value| StateValue::Number64Bit(value))
|
||||
.collect();
|
||||
|
||||
let key = put_handle(state, StateValue::List(array));
|
||||
|
|
|
@ -65,7 +65,7 @@ fn run_positive() {
|
|||
|
||||
for index in 5..10 {
|
||||
match list.remove(0) {
|
||||
StateValue::Number32Bit(value) => assert_eq!(value, index),
|
||||
StateValue::Number64Bit(value) => assert_eq!(value, index),
|
||||
_ => panic!("Invalid handle value."),
|
||||
};
|
||||
}
|
||||
|
@ -90,7 +90,7 @@ fn run_negative() {
|
|||
|
||||
for index in -5..10 {
|
||||
match list.remove(0) {
|
||||
StateValue::Number32Bit(value) => assert_eq!(value, index),
|
||||
StateValue::Number64Bit(value) => assert_eq!(value, index),
|
||||
_ => panic!("Invalid handle value."),
|
||||
};
|
||||
}
|
||||
|
|
|
@ -215,8 +215,11 @@ fn get_next_iteration(
|
|||
StateValue::UnsignedNumber(ref value) => Some(value.to_string()),
|
||||
StateValue::Number32Bit(ref value) => Some(value.to_string()),
|
||||
StateValue::UnsignedNumber32Bit(ref value) => Some(value.to_string()),
|
||||
StateValue::Number64Bit(ref value) => Some(value.to_string()),
|
||||
StateValue::UnsignedNumber64Bit(ref value) => Some(value.to_string()),
|
||||
StateValue::String(ref value) => Some(value.to_string()),
|
||||
_ => None,
|
||||
StateValue::List(_) => None,
|
||||
StateValue::SubState(_) => None,
|
||||
}
|
||||
} else {
|
||||
None
|
||||
|
|
Loading…
Reference in a new issue