macro_rules! member_expr {
($obj:expr, $prop:expr) => { ... };
}Expand description
Creates a member access expression (obj.prop).
This macro generates a MemberExpr representing
property access in JavaScript/TypeScript, such as obj.property or this.field.
§Arguments
$obj- The object expression to access the property on$prop- The property name as a string or something convertible toJsWord
§Examples
Accessing a property:
ⓘ
use macroforge_ts_syn::{member_expr, ident};
use swc_core::ecma::ast::Expr;
let this_expr = Expr::This(ThisExpr { span: DUMMY_SP });
let access = member_expr!(this_expr, "name");
// Generates: this.nameChaining member access:
ⓘ
use macroforge_ts_syn::{member_expr, ident};
use swc_core::ecma::ast::Expr;
let obj = Expr::Ident(ident!("obj"));
let nested = member_expr!(member_expr!(obj, "foo"), "bar");
// Generates: obj.foo.barAccessing prototype:
ⓘ
use macroforge_ts_syn::{member_expr, ident};
let class = Expr::Ident(ident!("MyClass"));
let proto = member_expr!(class, "prototype");
// Generates: MyClass.prototype