use super::*;
pub(super) use aws_sdk_dynamodb::types::ReturnValue as SDKReturnValue;
mod state_traits {
pub trait ReturnValue {}
pub trait OutputFormat {}
pub trait ConditionState {}
pub trait FilterState {}
pub trait ProjectionState {}
}
pub(super) use state_traits::*;
#[doc(hidden)]
pub struct Old;
impl ReturnValue for Old {}
#[doc(hidden)]
pub struct New;
impl ReturnValue for New {}
#[doc(hidden)]
pub trait ReturnValueKind: ReturnValue {
fn return_value() -> SDKReturnValue;
}
impl ReturnValueKind for Old {
fn return_value() -> SDKReturnValue {
SDKReturnValue::AllOld
}
}
impl ReturnValueKind for New {
fn return_value() -> SDKReturnValue {
SDKReturnValue::AllNew
}
}
#[doc(hidden)]
pub struct ReturnNothing;
impl ReturnValue for ReturnNothing {}
#[doc(hidden)]
pub struct Return<RV: ReturnValueKind>(PhantomData<RV>);
impl<RV: ReturnValueKind> ReturnValue for Return<RV> {}
#[doc(hidden)]
pub struct Typed;
impl OutputFormat for Typed {}
#[doc(hidden)]
pub struct Raw;
impl OutputFormat for Raw {}
#[doc(hidden)]
pub struct NoCondition;
impl ConditionState for NoCondition {}
#[doc(hidden)]
pub struct AlreadyHasCondition;
impl ConditionState for AlreadyHasCondition {}
#[doc(hidden)]
pub struct NoFilter;
impl FilterState for NoFilter {}
#[doc(hidden)]
pub struct AlreadyHasFilter;
impl FilterState for AlreadyHasFilter {}
#[doc(hidden)]
pub struct NoProjection;
impl ProjectionState for NoProjection {}
#[doc(hidden)]
pub struct AlreadyHasProjection;
impl ProjectionState for AlreadyHasProjection {}