37 releases (24 breaking)
new 0.25.0 | Mar 20, 2023 |
---|---|
0.23.2 | Jan 4, 2023 |
0.21.0 | Nov 10, 2022 |
0.17.0 | Jul 11, 2022 |
0.5.0 | Oct 29, 2021 |
#232 in Text processing
19,435 downloads per month
Used in 31 crates
(25 directly)
175KB
5K
SLoC
deno_ast
Source text parsing, lexing, and AST related functionality for Deno.
use deno_ast::parse_module;
use deno_ast::MediaType;
use deno_ast::ParseParams;
use deno_ast::SourceTextInfo;
let source_text = "class MyClass {}";
let text_info = SourceTextInfo::new(source_text.into());
let parsed_source = parse_module(ParseParams {
specifier: "file:///my_file.ts".to_string(),
media_type: MediaType::TypeScript,
text_info,
capture_tokens: true,
maybe_syntax: None,
scope_analysis: false,
}).expect("should parse");
// returns the comments
parsed_source.comments();
// returns the tokens if captured
parsed_source.tokens();
// returns the module (AST)
parsed_source.module();
// returns the `SourceTextInfo`
parsed_source.text_info();
Dependencies
~9–15MB
~324K SLoC