(
args: &StepOptions,
positional: Option<&str>,
)
| 748 | } |
| 749 | |
| 750 | fn parse_batch_sleep_duration_ms( |
| 751 | args: &StepOptions, |
| 752 | positional: Option<&str>, |
| 753 | ) -> Result<u64, crate::error::AppError> { |
| 754 | if let Some(value) = args |
| 755 | .value("ms") |
| 756 | .or_else(|| args.value("milliseconds")) |
| 757 | .or_else(|| args.value("duration-ms")) |
| 758 | { |
| 759 | return parse_duration_ms_value(value, "sleep --ms"); |
| 760 | } |
| 761 | |
| 762 | if let Some(value) = args.value("seconds").or_else(|| args.value("s")) { |
| 763 | return parse_duration_seconds_value(value, "sleep --seconds"); |
| 764 | } |
| 765 | |
| 766 | let Some(value) = positional else { |
| 767 | return Err(crate::error::AppError::bad_request( |
| 768 | "sleep requires a duration, for example `sleep 500`, `sleep 500ms`, or `sleep 0.5s`.", |
| 769 | )); |
| 770 | }; |
| 771 | |
| 772 | parse_duration_literal_ms(value) |
| 773 | } |
| 774 | |
| 775 | fn parse_duration_literal_ms(value: &str) -> Result<u64, crate::error::AppError> { |
| 776 | let value = value.trim(); |
no test coverage detected