26 lines
		
	
	
		
			821 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			26 lines
		
	
	
		
			821 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
|  | /** | ||
|  |  * @license | ||
|  |  * Copyright Google Inc. All Rights Reserved. | ||
|  |  * | ||
|  |  * Use of this source code is governed by an MIT-style license that can be | ||
|  |  * found in the LICENSE file at https://angular.io/license
 | ||
|  |  */ | ||
|  | 
 | ||
|  | import {parseTemplate} from '@angular/compiler'; | ||
|  | import {Node} from '@angular/compiler/src/render3/r3_ast'; | ||
|  | 
 | ||
|  | /** | ||
|  |  * Parses the given HTML content using the Angular compiler. In case the parsing | ||
|  |  * fails, null is being returned. | ||
|  |  */ | ||
|  | export function parseHtmlGracefully(htmlContent: string, filePath: string): Node[]|null { | ||
|  |   try { | ||
|  |     return parseTemplate(htmlContent, filePath).nodes; | ||
|  |   } catch { | ||
|  |     // Do nothing if the template couldn't be parsed. We don't want to throw any
 | ||
|  |     // exception if a template is syntactically not valid. e.g. template could be
 | ||
|  |     // using preprocessor syntax.
 | ||
|  |     return null; | ||
|  |   } | ||
|  | } |