pub enum PatternLike {
Identifier(Identifier),
ObjectPattern(ObjectPattern),
ArrayPattern(ArrayPattern),
AssignmentPattern(AssignmentPattern),
RestElement(RestElement),
MemberExpression(MemberExpression),
TSAsExpression(TSAsExpression),
TSSatisfiesExpression(TSSatisfiesExpression),
TSNonNullExpression(TSNonNullExpression),
TSTypeAssertion(TSTypeAssertion),
TypeCastExpression(TypeCastExpression),
}Expand description
Covers assignment targets and patterns. In Babel, LVal includes Identifier, MemberExpression, ObjectPattern, ArrayPattern, RestElement, AssignmentPattern.
Variants§
Identifier(Identifier)
ObjectPattern(ObjectPattern)
ArrayPattern(ArrayPattern)
AssignmentPattern(AssignmentPattern)
RestElement(RestElement)
MemberExpression(MemberExpression)
TSAsExpression(TSAsExpression)
TSSatisfiesExpression(TSSatisfiesExpression)
TSNonNullExpression(TSNonNullExpression)
TSTypeAssertion(TSTypeAssertion)
TypeCastExpression(TypeCastExpression)
Implementations§
Source§impl PatternLike
impl PatternLike
Sourcepub fn as_expression(&self) -> Option<Expression>
pub fn as_expression(&self) -> Option<Expression>
Convert to the matching Expression variant when this pattern shares
a node type with Expression (i.e. it can appear in expression
position), otherwise None.
Reproduces exactly the set that serde_json::from_value::<Expression>
of the same node would accept: the eight variants below wrap the same
inner types as their Expression counterparts (AssignmentPattern
included — Expression carries it for error-recovery positions), while
the pattern-only variants (ObjectPattern, ArrayPattern,
RestElement) are not expressions and yield None.
Trait Implementations§
Source§impl Clone for PatternLike
impl Clone for PatternLike
Source§fn clone(&self) -> PatternLike
fn clone(&self) -> PatternLike
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PatternLike
impl Debug for PatternLike
Auto Trait Implementations§
impl Freeze for PatternLike
impl RefUnwindSafe for PatternLike
impl Send for PatternLike
impl Sync for PatternLike
impl Unpin for PatternLike
impl UnsafeUnpin for PatternLike
impl UnwindSafe for PatternLike
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