ngast 3.0.0-dev.0 ngast: ^3.0.0-dev.0 copied to clipboard
Parser and utilities for AngularDart templates
ngast #
Parser and utilities for AngularDart templates.
Usage #
Currently in development and not stable.
import 'package:ngast/ngast.dart';
main() {
// Create an AST tree by parsing an AngularDart template.
var tree = parse('<button [title]="someTitle">Hello</button>');
// Print to console.
print(tree);
// Output:
// [
// ElementAst <button> {
// properties=
// PropertyAst {
// title="ExpressionAst {someTitle}"}
// childNodes=TextAst {Hello}
// }
// }
// ]
}
Additional flags can be passed to change the behavior of the parser:
Data type | Name | Description | Default Value |
---|---|---|---|
String |
sourceUrl | String describing the path of the HTML string. | |
bool |
desugar | Enabled desugaring of banana-syntax, star syntax, and pipes. | true |
bool |
parseExpressions | Parses Dart expressions raises exceptions if occurred. | true |
ExceptionHandler |
exceptionHandler | Switch to 'new RecoveringExceptionHandler()' to enable error recovery. | ThrowingExceptionHandler |
When using RecoveringExceptionHandler, the accumulated exceptions can be accessed through the RecoveringExceptionHandler object. Refer to the following example:
void parse(String content, String sourceUrl) {
var exceptionHandler = new RecoveringExceptionHandler();
var asts = parse(
content,
sourceUrl: sourceUrl,
desugar: false,
parseExpressions: false,
exceptionHandler: exceptionHandler,
);
for (AngularParserException e in exceptionHandler.exceptions) {
// Do something with exception.
}
}