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