pub enum PatOrExpr {
Expr(Box<Expr>),
Pat(Box<Pat>),
}
Variants§
Implementations§
source§impl PatOrExpr
impl PatOrExpr
sourcepub fn expr(self) -> Option<Box<Expr>>
pub fn expr(self) -> Option<Box<Expr>>
Returns the Expr if this is an expression, otherwise returns
None
.
pub fn expect_pat(self) -> Box<Pat>
pub fn expect_expr(self) -> Box<Expr>
pub fn as_pat(&self) -> Option<&Pat>
pub fn as_expr(&self) -> Option<&Expr>
pub fn is_pat(&self) -> bool
pub fn is_expr(&self) -> bool
pub fn as_ident(&self) -> Option<&Ident>
pub fn as_ident_mut(&mut self) -> Option<&mut Ident>
pub fn normalize_expr(self) -> Self
pub fn normalize_ident(self) -> Self
Trait Implementations§
source§impl<'de> Deserialize<'de> for PatOrExpr
impl<'de> Deserialize<'de> for PatOrExpr
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl EqIgnoreSpan for PatOrExpr
impl EqIgnoreSpan for PatOrExpr
fn eq_ignore_span(&self, other: &Self) -> bool
source§impl From<(Atom<JsWordStaticSet>, SyntaxContext)> for PatOrExpr
impl From<(Atom<JsWordStaticSet>, SyntaxContext)> for PatOrExpr
source§impl From<AssignExpr> for PatOrExpr
impl From<AssignExpr> for PatOrExpr
source§fn from(src: AssignExpr) -> PatOrExpr
fn from(src: AssignExpr) -> PatOrExpr
Converts to this type from the input type.
source§impl From<BindingIdent> for PatOrExpr
impl From<BindingIdent> for PatOrExpr
source§fn from(src: BindingIdent) -> PatOrExpr
fn from(src: BindingIdent) -> PatOrExpr
Converts to this type from the input type.
source§impl From<JSXEmptyExpr> for PatOrExpr
impl From<JSXEmptyExpr> for PatOrExpr
source§fn from(src: JSXEmptyExpr) -> PatOrExpr
fn from(src: JSXEmptyExpr) -> PatOrExpr
Converts to this type from the input type.
source§impl From<JSXFragment> for PatOrExpr
impl From<JSXFragment> for PatOrExpr
source§fn from(src: JSXFragment) -> PatOrExpr
fn from(src: JSXFragment) -> PatOrExpr
Converts to this type from the input type.
source§impl From<JSXMemberExpr> for PatOrExpr
impl From<JSXMemberExpr> for PatOrExpr
source§fn from(src: JSXMemberExpr) -> PatOrExpr
fn from(src: JSXMemberExpr) -> PatOrExpr
Converts to this type from the input type.
source§impl From<JSXNamespacedName> for PatOrExpr
impl From<JSXNamespacedName> for PatOrExpr
source§fn from(src: JSXNamespacedName) -> PatOrExpr
fn from(src: JSXNamespacedName) -> PatOrExpr
Converts to this type from the input type.
source§impl From<MemberExpr> for PatOrExpr
impl From<MemberExpr> for PatOrExpr
source§fn from(src: MemberExpr) -> PatOrExpr
fn from(src: MemberExpr) -> PatOrExpr
Converts to this type from the input type.
source§impl From<MetaPropExpr> for PatOrExpr
impl From<MetaPropExpr> for PatOrExpr
source§fn from(src: MetaPropExpr) -> PatOrExpr
fn from(src: MetaPropExpr) -> PatOrExpr
Converts to this type from the input type.
source§impl From<OptChainExpr> for PatOrExpr
impl From<OptChainExpr> for PatOrExpr
source§fn from(src: OptChainExpr) -> PatOrExpr
fn from(src: OptChainExpr) -> PatOrExpr
Converts to this type from the input type.
source§impl From<PrivateName> for PatOrExpr
impl From<PrivateName> for PatOrExpr
source§fn from(src: PrivateName) -> PatOrExpr
fn from(src: PrivateName) -> PatOrExpr
Converts to this type from the input type.
source§impl From<SuperPropExpr> for PatOrExpr
impl From<SuperPropExpr> for PatOrExpr
source§fn from(src: SuperPropExpr) -> PatOrExpr
fn from(src: SuperPropExpr) -> PatOrExpr
Converts to this type from the input type.
source§impl From<TsConstAssertion> for PatOrExpr
impl From<TsConstAssertion> for PatOrExpr
source§fn from(src: TsConstAssertion) -> PatOrExpr
fn from(src: TsConstAssertion) -> PatOrExpr
Converts to this type from the input type.
source§impl From<TsInstantiation> for PatOrExpr
impl From<TsInstantiation> for PatOrExpr
source§fn from(src: TsInstantiation) -> PatOrExpr
fn from(src: TsInstantiation) -> PatOrExpr
Converts to this type from the input type.
source§impl From<TsNonNullExpr> for PatOrExpr
impl From<TsNonNullExpr> for PatOrExpr
source§fn from(src: TsNonNullExpr) -> PatOrExpr
fn from(src: TsNonNullExpr) -> PatOrExpr
Converts to this type from the input type.
source§impl From<TsTypeAssertion> for PatOrExpr
impl From<TsTypeAssertion> for PatOrExpr
source§fn from(src: TsTypeAssertion) -> PatOrExpr
fn from(src: TsTypeAssertion) -> PatOrExpr
Converts to this type from the input type.
source§impl From<UpdateExpr> for PatOrExpr
impl From<UpdateExpr> for PatOrExpr
source§fn from(src: UpdateExpr) -> PatOrExpr
fn from(src: UpdateExpr) -> PatOrExpr
Converts to this type from the input type.
impl Eq for PatOrExpr
impl StructuralPartialEq for PatOrExpr
Auto Trait Implementations§
impl Freeze for PatOrExpr
impl RefUnwindSafe for PatOrExpr
impl Send for PatOrExpr
impl Sync for PatOrExpr
impl Unpin for PatOrExpr
impl UnwindSafe for PatOrExpr
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CallHasher for T
impl<T> CallHasher for T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§impl<T> SpanExt for Twhere
T: Spanned,
impl<T> SpanExt for Twhere
T: Spanned,
fn is_synthesized(&self) -> bool
fn starts_on_new_line(&self, format: ListFormat) -> bool
source§fn comment_range(&self) -> Span
fn comment_range(&self) -> Span
Gets a custom text range to use when emitting comments.