Module parse

Module parse 

Source
Expand description

Low-level TypeScript parsing utilities.

This module provides direct access to SWC’s TypeScript parser with sensible defaults for the macro system. For most use cases, prefer the higher-level TsStream API or the lowering functions in lower.

§Primary Function

§Example

use macroforge_ts_syn::parse::parse_ts_module;
use macroforge_ts_syn::lower_classes;

fn example() -> Result<(), macroforge_ts_syn::TsSynError> {
    let source = r#"
        class User {
            name: string;
            age: number;
        }
    "#;

    let module = parse_ts_module(source, "input.ts")?;

    // Now you can use the module with lowering functions
    let _classes = lower_classes(&module, source)?;
    Ok(())
}

§File Type Detection

The parser automatically enables TSX support based on the file name:

  • *.tsx - TSX (TypeScript with JSX) mode enabled
  • *.ts or other - Standard TypeScript mode

§Feature Flag

This module requires the swc feature (enabled by default).

Functions§

parse_ts_module
Parses TypeScript source code into an SWC Module AST.