/
githubmirror
/
deno
Обзор
Документация
Войти
/
githubmirror
/
deno
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
libs/ops/webidl/test_cases/enum.out
42 строки
2 KB
Bartek Iwańczuk
perf(core): optimize V8-to-Rust string conversion with ValueView (#32688)
16 мар 2026, 14:50
Не верифицирован
16 мар 2026, 14:50
4a19007
Код
Авторство
О чём код?
impl<'a> ::deno_core::webidl::WebIdlConverter<'a> for Enumeration { type Options = (); fn convert<'b, 'i>( __scope: &mut ::deno_core::v8::PinScope<'a, 'i>, __value: ::deno_core::v8::Local<'a, ::deno_core::v8::Value>, __prefix: std::borrow::Cow<'static, str>, __context: ::deno_core::webidl::ContextFn<'b>, __options: &Self::Options, ) -> Result<Self, ::deno_core::webidl::WebIdlError> { { let mut __buf: [::std::mem::MaybeUninit< u8, >; deno_core::_ops::STRING_STACK_BUFFER_SIZE] = [::std::mem::MaybeUninit::uninit(); deno_core::_ops::STRING_STACK_BUFFER_SIZE]; match deno_core::_ops::to_str(__scope, &*__value, &mut __buf).as_ref() { "foo-bar" => Ok(Self::FooBar), "baz" => Ok(Self::Baz), "hello" => Ok(Self::World), s => { Err( ::deno_core::webidl::WebIdlError::new( __prefix, __context, ::deno_core::webidl::WebIdlErrorKind::InvalidEnumVariant { converter: "Enumeration", variant: s.to_string(), }, ), ) } } } } } impl Enumeration { pub fn as_str(&self) -> &'static str { match self { Self::FooBar => "foo-bar", Self::Baz => "baz", Self::World => "hello", } } }