28 lines
		
	
	
		
			970 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			28 lines
		
	
	
		
			970 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
|  | /** | ||
|  |  * @license | ||
|  |  * Copyright Google LLC 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 {CompileFn, doCompile, setCompileFn} from '../mock_compile'; | ||
|  | 
 | ||
|  | /** | ||
|  |  * A function to compile the given code in two steps: | ||
|  |  * | ||
|  |  * - first compile the code in partial mode | ||
|  |  * - then compile the partially compiled code using the linker | ||
|  |  * | ||
|  |  * This should produce the same output as the full AOT compilation | ||
|  |  */ | ||
|  | const linkedCompile: CompileFn = (data, angularFiles, options) => { | ||
|  |   const result = doCompile(data, angularFiles, {...options, compilationMode: 'partial'}); | ||
|  |   // TODO: additional post linking
 | ||
|  |   return result; | ||
|  | }; | ||
|  | 
 | ||
|  | // Update the function that will do the compiling with this specialised version that
 | ||
|  | // runs the prelink and postlink parts of AOT compilation, to check it produces the
 | ||
|  | // same result as a normal full AOT compile.
 | ||
|  | setCompileFn(linkedCompile); |