2020-09-18 00:52:13 +00:00
use crate ::{ registry , Object } ;
2020-03-02 11:25:21 +00:00
2020-03-03 11:15:18 +00:00
pub struct __EnumValue < ' a > {
pub registry : & ' a registry ::Registry ,
2020-05-15 02:08:37 +00:00
pub value : & ' a registry ::MetaEnumValue ,
2020-03-03 11:15:18 +00:00
}
2020-03-02 11:25:21 +00:00
2020-05-10 04:41:05 +00:00
/// One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.
2020-10-14 09:08:57 +00:00
#[ Object(internal, name = " __EnumValue " ) ]
2020-03-05 06:23:55 +00:00
impl < ' a > __EnumValue < ' a > {
2020-05-01 23:57:34 +00:00
async fn name ( & self ) -> String {
2020-03-05 06:23:55 +00:00
self . value . name . to_string ( )
2020-03-02 11:25:21 +00:00
}
2020-05-01 23:57:34 +00:00
async fn description ( & self ) -> Option < String > {
2020-10-23 10:49:00 +00:00
self . value . description . map ( ToString ::to_string )
2020-03-02 11:25:21 +00:00
}
2020-05-01 23:57:34 +00:00
async fn is_deprecated ( & self ) -> bool {
2020-03-05 06:23:55 +00:00
self . value . deprecation . is_some ( )
2020-03-02 11:25:21 +00:00
}
2020-05-01 23:57:34 +00:00
async fn deprecation_reason ( & self ) -> Option < String > {
2020-10-23 10:49:00 +00:00
self . value . deprecation . map ( ToString ::to_string )
2020-03-02 11:25:21 +00:00
}
}