use flagset::{flags, FlagSet};
use crate::FervidAtom;
flags! {
pub enum VueImports: u64 {
CreateBlock,
CreateCommentVNode,
CreateElementBlock,
CreateElementVNode,
CreateTextVNode,
CreateVNode,
DefineComponent,
Fragment,
IsMemoSame,
IsRef,
KeepAlive,
MergeModels,
NormalizeClass,
NormalizeStyle,
OpenBlock,
RenderList,
RenderSlot,
ResolveComponent,
ResolveDirective,
ResolveDynamicComponent,
SetBlockTracking,
Suspense,
Teleport,
ToDisplayString,
Transition,
TransitionGroup,
Unref,
UseModel,
UseSlots,
VModelCheckbox,
VModelDynamic,
VModelRadio,
VModelSelect,
VModelText,
VShow,
WithCtx,
WithDirectives,
WithMemo,
WithModifiers,
}
}
impl VueImports {
#[inline]
pub fn as_str(self) -> &'static str {
match self {
VueImports::CreateBlock => "_createBlock",
VueImports::CreateCommentVNode => "_createCommentVNode",
VueImports::CreateElementBlock => "_createElementBlock",
VueImports::CreateElementVNode => "_createElementVNode",
VueImports::CreateTextVNode => "_createTextVNode",
VueImports::CreateVNode => "_createVNode",
VueImports::DefineComponent => "_defineComponent",
VueImports::Fragment => "_Fragment",
VueImports::IsMemoSame => "_isMemoSame",
VueImports::IsRef => "_isRef",
VueImports::KeepAlive => "_KeepAlive",
VueImports::MergeModels => "_mergeModels",
VueImports::NormalizeClass => "_normalizeClass",
VueImports::NormalizeStyle => "_normalizeStyle",
VueImports::OpenBlock => "_openBlock",
VueImports::RenderList => "_renderList",
VueImports::RenderSlot => "_renderSlot",
VueImports::ResolveComponent => "_resolveComponent",
VueImports::ResolveDirective => "_resolveDirective",
VueImports::ResolveDynamicComponent => "_resolveDynamicComponent",
VueImports::SetBlockTracking => "_setBlockTracking",
VueImports::Suspense => "_Suspense",
VueImports::Teleport => "_Teleport",
VueImports::ToDisplayString => "_toDisplayString",
VueImports::Transition => "_Transition",
VueImports::TransitionGroup => "_TransitionGroup",
VueImports::Unref => "_unref",
VueImports::UseModel => "_useModel",
VueImports::UseSlots => "_useSlots",
VueImports::VModelCheckbox => "_vModelCheckbox",
VueImports::VModelDynamic => "_vModelDynamic",
VueImports::VModelRadio => "_vModelRadio",
VueImports::VModelSelect => "_vModelSelect",
VueImports::VModelText => "_vModelText",
VueImports::VShow => "_vShow",
VueImports::WithCtx => "_withCtx",
VueImports::WithDirectives => "_withDirectives",
VueImports::WithMemo => "_withMemo",
VueImports::WithModifiers => "_withModifiers",
}
}
#[inline]
pub fn as_atom(self) -> FervidAtom {
self.as_str().into()
}
}
pub type VueImportsSet = FlagSet<VueImports>;