angular_ast 0.4.4 angular_ast: ^0.4.4 copied to clipboard
Parser and utilities for AngularDart templates
angular_ast #
Parser and utilities for AngularDart templates.
This package is platform agnostic (no HTML or Dart VM dependencies).
Usage #
Currently in development and not stable.
import 'package:angular_ast/angular_ast.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: String sourceUrl: String describing the path of the HTML string. bool desugar: (Default: true) Enabled desugaring of banana-syntax, star syntax, and pipes. bool parseExpressions: (Default: true) Parses Dart expressions raises exceptions if occurred. ExceptionHandler exceptionHandler: (Default: ThrowingExceptionHandler) Switch to 'new RecoveringExceptionHandler()' to enable error recovery.
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. } }