member_expr

Macro member_expr 

Source
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 to JsWord

§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.name

Chaining 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.bar

Accessing prototype:

use macroforge_ts_syn::{member_expr, ident};

let class = Expr::Ident(ident!("MyClass"));
let proto = member_expr!(class, "prototype");
// Generates: MyClass.prototype