@macroforge/mcp-server
Version:
MCP server for Macroforge documentation and code analysis
33 lines (27 loc) • 983 B
Markdown
## Parsing Input
Use `parse_ts_macro_input!` to convert the token stream:
Rust
```
use macroforge_ts::ts_syn::{Data, DeriveInput, parse_ts_macro_input};
pub fn my_macro(mut input: TsStream) -> Result<TsStream, MacroforgeError> {
let input = parse_ts_macro_input!(input as DeriveInput);
// Access class data
match &input.data {
Data::Class(class) => {
let class_name = input.name();
let fields = class.fields();
// ...
}
Data::Interface(interface) => {
// Handle interfaces
}
Data::Enum(_) => {
// Handle enums (if supported)
}
Data::TypeAlias(_) => {
// Handle type aliases (if supported)
}
}
}
```