Skip to content

DragonFoxCollective/return-ok

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

return-ok

Macros for dealing with Options and Results where you shouldn't

Macros

  • ok_some: Result<Option<T>> -> T or return Result<Option<T>>
match $value {
	Ok(Some(value)) => value,
	Ok(None) => return Ok(None),
	Err(err) => return Err(err.into()),
}
  • some_ok: Option<Result<T>> -> T or return Option<Result<T>>
match $value {
	Some(Ok(value)) => value,
	Some(Err(err)) => return Some(Err(err.into())),
	None => return None,
}
  • option_ok: Result<Option<T>> -> Option<T> or return Result<Option<T>>
match $value {
	Ok(value) => value,
	Err(err) => return Some(Err(err.into())),
}
  • some_or_return: Option<T> -> T or return default
match $value {
	Some(value) => value,
	None => return Default::default(),
}
  • some_or_return_ok: Option<T> -> T or return Result<default>
match $value {
	Some(value) => value,
	None => return Ok(Default::default()),
}
  • some_or_return_err: Option<T> -> T or return Result<default>
match $value {
	Some(value) => value,
	None => return Err(Default::default()),
}
  • some_or_return_some: Option<T> -> T or return Option<default>
match $value {
	Some(value) => value,
	None => return Some(Default::default()),
}
  • some_or_continue: Option<T> -> T or continue
match $value {
	Some(value) => value,
	None => continue,
}
  • ok_or_return: Result<T> -> T or return default
match $value {
	Ok(value) => value,
	Err(_) => return Default::default(),
}
  • ok_or_return_ok: Result<T> -> T or return Result<default>
match $value {
	Ok(value) => value,
	Err(_) => return Ok(Default::default()),
}
  • ok_or_return_err: Result<T> -> T or return Result<default>
match $value {
	Ok(value) => value,
	Err(_) => return Err(Default::default()),
}
  • ok_or_return_some: Result<T> -> T or return Option<default>
match $value {
	Ok(value) => value,
	Err(_) => return Some(Default::default()),
}
  • ok_or_continue: Result<T> -> T or continue
match $value {
	Ok(value) => value,
	Err(_) => continue,
}

About

Macros for dealing with Options and Results where you shouldn't

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Languages