2016-06-23 09:47:54 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/ * *  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @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
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * / 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-11-18 08:40:41 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								import  { StaticReflector ,  StaticReflectorHost ,  StaticSymbol }  from  '@angular/compiler' ;  
						 
					
						
							
								
									
										
										
										
											2016-11-15 09:19:00 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								import  { HostListener ,  Inject ,  animate ,  group ,  keyframes ,  sequence ,  state ,  style ,  transition ,  trigger }  from  '@angular/core' ;  
						 
					
						
							
								
									
										
										
										
											2016-06-17 13:11:00 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								import  { MetadataCollector }  from  '@angular/tsc-wrapped' ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  *  as  ts  from  'typescript' ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-07-27 02:05:07 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-06-17 13:11:00 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// This matches .ts files but not .d.ts files.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								const  TS_EXT  =  /(^.|(?!\.d)..)\.ts$/ ;  
						 
					
						
							
								
									
										
										
										
											2016-05-31 09:15:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								describe ( 'StaticReflector' ,  ( )  = >  {  
						 
					
						
							
								
									
										
										
										
											2016-11-12 14:08:58 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  const  noContext  =  new  StaticSymbol ( '' ,  '' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-18 08:40:41 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  let  host : StaticReflectorHost ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  let  reflector : StaticReflector ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-18 10:53:21 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-11-18 15:17:44 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  function  init ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      testData :  { [ key : string ] :  any }  =  DEFAULT_TEST_DATA , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      decorators :  { name : string ,  filePath : string ,  ctor : any } [ ]  =  [ ] )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    host  =  new  MockStaticReflectorHost ( testData ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    reflector  =  new  StaticReflector ( host ,  undefined ,  decorators ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  beforeEach ( ( )  = >  init ( ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-24 10:03:10 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  function  simplify ( context : StaticSymbol ,  value : any )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return  reflector . simplify ( context ,  value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-18 10:53:21 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  it ( 'should get annotations for NgFor' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    const  NgFor  =  reflector . findDeclaration ( '@angular/common/src/directives/ng_for' ,  'NgFor' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-12 14:08:58 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    const  annotations  =  reflector . annotations ( NgFor ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( annotations . length ) . toEqual ( 1 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-12 14:08:58 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    const  annotation  =  annotations [ 0 ] ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( annotation . selector ) . toEqual ( '[ngFor][ngForOf]' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( annotation . inputs ) . toEqual ( [ 'ngForTrackBy' ,  'ngForOf' ,  'ngForTemplate' ] ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-24 10:03:10 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should get constructor for NgFor' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    const  NgFor  =  reflector . findDeclaration ( '@angular/common/src/directives/ng_for' ,  'NgFor' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const  ViewContainerRef  =  reflector . findDeclaration ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        '@angular/core/src/linker/view_container_ref' ,  'ViewContainerRef' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-12 14:08:58 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    const  TemplateRef  = 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        reflector . findDeclaration ( '@angular/core/src/linker/template_ref' ,  'TemplateRef' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const  IterableDiffers  =  reflector . findDeclaration ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        '@angular/core/src/change_detection/differs/iterable_differs' ,  'IterableDiffers' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const  ChangeDetectorRef  =  reflector . findDeclaration ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        '@angular/core/src/change_detection/change_detector_ref' ,  'ChangeDetectorRef' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-11-12 14:08:58 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    const  parameters  =  reflector . parameters ( NgFor ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( parameters ) . toEqual ( [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      [ ViewContainerRef ] ,  [ TemplateRef ] ,  [ IterableDiffers ] ,  [ ChangeDetectorRef ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ] ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should get annotations for HeroDetailComponent' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-12 14:08:58 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    const  HeroDetailComponent  = 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        reflector . findDeclaration ( 'src/app/hero-detail.component' ,  'HeroDetailComponent' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-12 14:08:58 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    const  annotations  =  reflector . annotations ( HeroDetailComponent ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( annotations . length ) . toEqual ( 1 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-12 14:08:58 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    const  annotation  =  annotations [ 0 ] ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( annotation . selector ) . toEqual ( 'my-hero-detail' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( annotation . animations ) . toEqual ( [ trigger ( 'myAnimation' ,  [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      state ( 'state1' ,  style ( { 'background' :  'white' } ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      transition ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          '* => *' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          sequence ( [ group ( [ animate ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              '1s 0.5s' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              keyframes ( [ style ( { 'background' :  'blue' } ) ,  style ( { 'background' :  'red' } ) ] ) ) ] ) ] ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ] ) ] ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-11-17 09:52:38 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  it ( 'should throw an exception for unsupported metadata versions' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( ( )  = >  reflector . findDeclaration ( 'src/version-error' ,  'e' ) ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        . toThrow ( new  Error ( 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-17 09:52:38 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            'Metadata version mismatch for module /tmp/src/version-error.d.ts, found version 100, expected 2' ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-02 16:40:38 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  it ( 'should get and empty annotation list for an unknown class' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    const  UnknownClass  =  reflector . findDeclaration ( 'src/app/app.component' ,  'UnknownClass' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-12 14:08:58 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    const  annotations  =  reflector . annotations ( UnknownClass ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( annotations ) . toEqual ( [ ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should get propMetadata for HeroDetailComponent' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-12 14:08:58 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    const  HeroDetailComponent  = 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        reflector . findDeclaration ( 'src/app/hero-detail.component' ,  'HeroDetailComponent' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-12 14:08:58 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    const  props  =  reflector . propMetadata ( HeroDetailComponent ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( props [ 'hero' ] ) . toBeTruthy ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-09-12 19:14:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( props [ 'onMouseOver' ] ) . toEqual ( [ new  HostListener ( 'mouseover' ,  [ '$event' ] ) ] ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should get an empty object from propMetadata for an unknown class' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    const  UnknownClass  =  reflector . findDeclaration ( 'src/app/app.component' ,  'UnknownClass' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-12 14:08:58 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    const  properties  =  reflector . propMetadata ( UnknownClass ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( properties ) . toEqual ( { } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should get empty parameters list for an unknown class ' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    const  UnknownClass  =  reflector . findDeclaration ( 'src/app/app.component' ,  'UnknownClass' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-12 14:08:58 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    const  parameters  =  reflector . parameters ( UnknownClass ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( parameters ) . toEqual ( [ ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-06-03 15:43:09 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  it ( 'should provide context for errors reported by the collector' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    const  SomeClass  =  reflector . findDeclaration ( 'src/error-reporting' ,  'SomeClass' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( ( )  = >  reflector . annotations ( SomeClass ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toThrow ( new  Error ( 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-11 17:26:35 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            'Error encountered resolving symbol values statically. A reasonable error message (position 13:34 in the original .ts file), resolving symbol ErrorSym in /tmp/src/error-references.d.ts, resolving symbol Link2 in /tmp/src/error-references.d.ts, resolving symbol Link1 in /tmp/src/error-references.d.ts, resolving symbol SomeClass in /tmp/src/error-reporting.d.ts, resolving symbol SomeClass in /tmp/src/error-reporting.d.ts' ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-03 15:43:09 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  it ( 'should simplify primitive into itself' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  1 ) ) . toBe ( 1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  true ) ) . toBe ( true ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  'some value' ) ) . toBe ( 'some value' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-10-11 15:47:44 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  it ( 'should simplify a static symbol into itself' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const  staticSymbol  =  new  StaticSymbol ( '' ,  '' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  staticSymbol ) ) . toBe ( staticSymbol ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  it ( 'should simplify an array into a copy of the array' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  [ 1 ,  2 ,  3 ] ) ) . toEqual ( [ 1 ,  2 ,  3 ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should simplify an object to a copy of the object' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-12 14:08:58 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    const  expr  =  { a : 1 ,  b : 2 ,  c : 3 } ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  expr ) ) . toEqual ( expr ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should simplify &&' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '&&' ,  left : true ,  right : true } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '&&' ,  left : true ,  right : false } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( false ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '&&' ,  left : false ,  right : true } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( false ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '&&' ,  left : false ,  right : false } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( false ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should simplify ||' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '||' ,  left : true ,  right : true } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '||' ,  left : true ,  right : false } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '||' ,  left : false ,  right : true } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '||' ,  left : false ,  right : false } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( false ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should simplify &' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '&' ,  left : 0x22 ,  right : 0x0F } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( 0x22  &  0x0F ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '&' ,  left : 0x22 ,  right : 0xF0 } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( 0x22  &  0xF0 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should simplify |' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '|' ,  left : 0x22 ,  right : 0x0F } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( 0x22  |  0x0F ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '|' ,  left : 0x22 ,  right : 0xF0 } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( 0x22  |  0xF0 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should simplify ^' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '|' ,  left : 0x22 ,  right : 0x0F } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( 0x22  |  0x0F ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '|' ,  left : 0x22 ,  right : 0xF0 } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( 0x22  |  0xF0 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should simplify ==' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '==' ,  left : 0x22 ,  right : 0x22 } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( 0x22  ==  0x22 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '==' ,  left : 0x22 ,  right : 0xF0 } ) ) ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-30 18:07:40 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        . toBe ( 0x22  as  any  ==  0xF0 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should simplify !=' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '!=' ,  left : 0x22 ,  right : 0x22 } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( 0x22  !=  0x22 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '!=' ,  left : 0x22 ,  right : 0xF0 } ) ) ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-30 18:07:40 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        . toBe ( 0x22  as  any  !=  0xF0 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should simplify ===' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '===' ,  left : 0x22 ,  right : 0x22 } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( 0x22  ===  0x22 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '===' ,  left : 0x22 ,  right : 0xF0 } ) ) ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-30 18:07:40 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        . toBe ( 0x22  as  any  ===  0xF0 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should simplify !==' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '!==' ,  left : 0x22 ,  right : 0x22 } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( 0x22  !==  0x22 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '!==' ,  left : 0x22 ,  right : 0xF0 } ) ) ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-30 18:07:40 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        . toBe ( 0x22  as  any  !==  0xF0 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should simplify >' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '>' ,  left : 1 ,  right : 1 } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( 1  >  1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '>' ,  left : 1 ,  right : 0 } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( 1  >  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '>' ,  left : 0 ,  right : 1 } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( 0  >  1 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should simplify >=' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '>=' ,  left : 1 ,  right : 1 } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( 1  >=  1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '>=' ,  left : 1 ,  right : 0 } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( 1  >=  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '>=' ,  left : 0 ,  right : 1 } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( 0  >=  1 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should simplify <=' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '<=' ,  left : 1 ,  right : 1 } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( 1  <=  1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '<=' ,  left : 1 ,  right : 0 } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( 1  <=  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '<=' ,  left : 0 ,  right : 1 } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( 0  <=  1 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should simplify <' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '<' ,  left : 1 ,  right : 1 } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( 1  <  1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '<' ,  left : 1 ,  right : 0 } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( 1  <  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '<' ,  left : 0 ,  right : 1 } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( 0  <  1 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should simplify <<' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '<<' ,  left : 0x55 ,  right : 2 } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( 0x55  <<  2 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should simplify >>' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '>>' ,  left : 0x55 ,  right : 2 } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( 0x55  >>  2 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should simplify +' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '+' ,  left : 0x55 ,  right : 2 } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( 0x55  +  2 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should simplify -' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '-' ,  left : 0x55 ,  right : 2 } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( 0x55  -  2 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should simplify *' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '*' ,  left : 0x55 ,  right : 2 } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( 0x55  *  2 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should simplify /' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '/' ,  left : 0x55 ,  right : 2 } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( 0x55  /  2 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should simplify %' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'binop' ,  operator :  '%' ,  left : 0x55 ,  right : 2 } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBe ( 0x55  %  2 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should simplify prefix -' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'pre' ,  operator :  '-' ,  operand : 2 } ) ) ) . toBe ( - 2 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should simplify prefix ~' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'pre' ,  operator :  '~' ,  operand : 2 } ) ) ) . toBe ( ~ 2 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should simplify prefix !' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'pre' ,  operator :  '!' ,  operand : true } ) ) ) . toBe ( ! true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'pre' ,  operator :  '!' ,  operand : false } ) ) ) . toBe ( ! false ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should simplify an array index' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  ( { __symbolic :  'index' ,  expression :  [ 1 ,  2 ,  3 ] ,  index : 2 } ) ) ) . toBe ( 3 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should simplify an object index' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-12 14:08:58 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    const  expr  =  { __symbolic :  'select' ,  expression :  { a : 1 ,  b : 2 ,  c : 3 } ,  member :  'b' } ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( simplify ( noContext ,  expr ) ) . toBe ( 2 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should simplify a module reference' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( simplify ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								               new  StaticSymbol ( '/src/cases' ,  '' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								               ( { __symbolic :  'reference' ,  module :  './extern' ,  name :  's' } ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toEqual ( 's' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should simplify a non existing reference as a static symbol' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( simplify ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								               new  StaticSymbol ( '/src/cases' ,  '' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								               ( { __symbolic :  'reference' ,  module :  './extern' ,  name :  'nonExisting' } ) ) ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        . toEqual ( reflector . getStaticSymbol ( '/src/extern.d.ts' ,  'nonExisting' ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-13 15:56:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
											 
										
											
												feat(browser): use AppModules for bootstrap in the browser
This introduces the `BrowserModule` to be used for long form
bootstrap and offline compile bootstrap:
```
@AppModule({
  modules: [BrowserModule],
  precompile: [MainComponent],
  providers: […], // additional providers
  directives: […], // additional platform directives
  pipes: […] // additional platform pipes
})
class MyModule {
  constructor(appRef: ApplicationRef) {
    appRef.bootstrap(MainComponent);
  }
}
// offline compile
import {bootstrapModuleFactory} from ‘@angular/platform-browser’;
bootstrapModuleFactory(MyModuleNgFactory);
// runtime compile long form
import {bootstrapModule} from ‘@angular/platform-browser-dynamic’;
bootstrapModule(MyModule);
```
The short form, `bootstrap(...)`, can now creates a module on the fly,
given `directives`, `pipes, `providers`, `precompile` and `modules`
properties.
Related changes:
- make `SanitizationService`, `SecurityContext` public in `@angular/core` so that the offline compiler can resolve the token
- move `AnimationDriver` to `platform-browser` and make it
  public so that the offline compiler can resolve the token
BREAKING CHANGES:
- short form bootstrap does no longer allow
  to inject compiler internals (i.e. everything 
  from `@angular/compiler). Inject `Compiler` instead.
  To provide custom providers for the compiler,
  create a custom compiler via `browserCompiler({providers: [...]})`
  and pass that into the `bootstrap` method.
											 
										 
										
											2016-06-30 13:07:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  it ( 'should simplify a function reference as a static symbol' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( simplify ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								               new  StaticSymbol ( '/src/cases' ,  'myFunction' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								               ( { __symbolic :  'function' ,  parameters :  [ 'a' ] ,  value :  [ ] } ) ) ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        . toEqual ( reflector . getStaticSymbol ( '/src/cases' ,  'myFunction' ) ) ; 
							 
						 
					
						
							
								
									
										
											 
										
											
												feat(browser): use AppModules for bootstrap in the browser
This introduces the `BrowserModule` to be used for long form
bootstrap and offline compile bootstrap:
```
@AppModule({
  modules: [BrowserModule],
  precompile: [MainComponent],
  providers: […], // additional providers
  directives: […], // additional platform directives
  pipes: […] // additional platform pipes
})
class MyModule {
  constructor(appRef: ApplicationRef) {
    appRef.bootstrap(MainComponent);
  }
}
// offline compile
import {bootstrapModuleFactory} from ‘@angular/platform-browser’;
bootstrapModuleFactory(MyModuleNgFactory);
// runtime compile long form
import {bootstrapModule} from ‘@angular/platform-browser-dynamic’;
bootstrapModule(MyModule);
```
The short form, `bootstrap(...)`, can now creates a module on the fly,
given `directives`, `pipes, `providers`, `precompile` and `modules`
properties.
Related changes:
- make `SanitizationService`, `SecurityContext` public in `@angular/core` so that the offline compiler can resolve the token
- move `AnimationDriver` to `platform-browser` and make it
  public so that the offline compiler can resolve the token
BREAKING CHANGES:
- short form bootstrap does no longer allow
  to inject compiler internals (i.e. everything 
  from `@angular/compiler). Inject `Compiler` instead.
  To provide custom providers for the compiler,
  create a custom compiler via `browserCompiler({providers: [...]})`
  and pass that into the `bootstrap` method.
											 
										 
										
											2016-06-30 13:07:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-06-13 15:56:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  it ( 'should simplify values initialized with a function call' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( simplify ( new  StaticSymbol ( '/tmp/src/function-reference.ts' ,  '' ) ,  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __symbolic :  'reference' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      name :  'one' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } ) ) . toEqual ( [ 'some-value' ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( simplify ( new  StaticSymbol ( '/tmp/src/function-reference.ts' ,  '' ) ,  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __symbolic :  'reference' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-25 05:29:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      name :  'three' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } ) ) . toEqual ( 3 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-13 15:56:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should error on direct recursive calls' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ( )  = >  simplify ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            new  StaticSymbol ( '/tmp/src/function-reference.ts' ,  '' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            { __symbolic :  'reference' ,  name :  'recursion' } ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toThrow ( new  Error ( 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-25 05:29:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            'Recursion not supported, resolving symbol recursive in /tmp/src/function-recursive.d.ts, resolving symbol recursion in /tmp/src/function-reference.ts, resolving symbol  in /tmp/src/function-reference.ts' ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-13 15:56:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-11-09 16:29:22 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  it ( 'should record data about the error in the exception' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    let  threw  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    try  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      const  metadata  =  host . getMetadataFor ( '/tmp/src/invalid-metadata.ts' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      expect ( metadata ) . toBeDefined ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-17 09:52:38 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      const  moduleMetadata : any  =  metadata [ 0 ] [ 'metadata' ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      expect ( moduleMetadata ) . toBeDefined ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      const  classData : any  =  moduleMetadata [ 'InvalidMetadata' ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      expect ( classData ) . toBeDefined ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      simplify ( new  StaticSymbol ( '/tmp/src/invalid-metadata.ts' ,  '' ) ,  classData . decorators [ 0 ] ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-09 16:29:22 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    }  catch  ( e )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      expect ( e . fileName ) . toBe ( '/tmp/src/invalid-metadata.ts' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      threw  =  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( threw ) . toBe ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-06-13 15:56:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  it ( 'should error on indirect recursive calls' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ( )  = >  simplify ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            new  StaticSymbol ( '/tmp/src/function-reference.ts' ,  '' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            { __symbolic :  'reference' ,  name :  'indirectRecursion' } ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toThrow ( new  Error ( 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-25 05:29:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            'Recursion not supported, resolving symbol indirectRecursion2 in /tmp/src/function-recursive.d.ts, resolving symbol indirectRecursion1 in /tmp/src/function-recursive.d.ts, resolving symbol indirectRecursion in /tmp/src/function-reference.ts, resolving symbol  in /tmp/src/function-reference.ts' ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-13 15:56:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-17 13:11:00 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-06-13 15:56:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  it ( 'should simplify a spread expression' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( simplify ( new  StaticSymbol ( '/tmp/src/spread.ts' ,  '' ) ,  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __symbolic :  'reference' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      name :  'spread' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } ) ) . toEqual ( [ 0 ,  1 ,  2 ,  3 ,  4 ,  5 ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-17 13:11:00 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should be able to get metadata from a ts file' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-12 14:08:58 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    const  metadata  =  reflector . getModuleMetadata ( '/tmp/src/custom-decorator-reference.ts' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-17 13:11:00 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( metadata ) . toEqual ( { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __symbolic :  'module' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-17 09:52:38 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      version : 2 , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-17 13:11:00 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      metadata :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        Foo :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          __symbolic :  'class' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          decorators :  [ { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            __symbolic :  'call' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            expression : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                { __symbolic :  'reference' ,  module :  './custom-decorator' ,  name :  'CustomDecorator' } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          members :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            foo :  [ { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              __symbolic :  'property' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              decorators :  [ { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                __symbolic :  'call' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                expression :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                  __symbolic :  'reference' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                  module :  './custom-decorator' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                  name :  'CustomDecorator' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              } ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should be able to get metadata for a class containing a custom decorator' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-12 14:08:58 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    const  props  =  reflector . propMetadata ( 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        reflector . getStaticSymbol ( '/tmp/src/custom-decorator-reference.ts' ,  'Foo' ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-17 13:11:00 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( props ) . toEqual ( { foo :  [ ] } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 09:19:00 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  it ( 'should read ctor parameters with forwardRef' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const  src  =  '/tmp/src/forward-ref.ts' ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    const  dep  =  reflector . getStaticSymbol ( src ,  'Dep' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const  props  =  reflector . parameters ( reflector . getStaticSymbol ( src ,  'Forward' ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 09:19:00 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( props ) . toEqual ( [ [ dep ,  new  Inject ( dep ) ] ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-06-17 13:11:00 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  it ( 'should report an error for invalid function calls' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        ( )  = >  reflector . annotations ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            reflector . getStaticSymbol ( '/tmp/src/invalid-calls.ts' ,  'MyComponent' ) ) ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-17 13:11:00 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        . toThrow ( new  Error ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ` Error encountered resolving symbol values statically. Calling function 'someFunction', function calls are not supported. Consider replacing the function or lambda with a reference to an exported function, resolving symbol MyComponent in /tmp/src/invalid-calls.ts, resolving symbol MyComponent in /tmp/src/invalid-calls.ts ` ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-26 10:18:35 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should be able to get metadata for a class containing a static method call' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const  annotations  =  reflector . annotations ( 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        reflector . getStaticSymbol ( '/tmp/src/static-method-call.ts' ,  'MyComponent' ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-26 10:18:35 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( annotations . length ) . toBe ( 1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( annotations [ 0 ] . providers ) . toEqual ( { provider :  'a' ,  useValue : 100 } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-27 19:26:59 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should be able to get metadata for a class containing a static field reference' ,  ( )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    const  annotations  =  reflector . annotations ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        reflector . getStaticSymbol ( '/tmp/src/static-field-reference.ts' ,  'Foo' ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-27 19:26:59 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( annotations . length ) . toBe ( 1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( annotations [ 0 ] . providers ) . toEqual ( [ { provider :  'a' ,  useValue :  'Some string' } ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-28 17:32:29 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should be able to get the metadata for a class calling a method with a conditional expression' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								       const  annotations  =  reflector . annotations ( 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								           reflector . getStaticSymbol ( '/tmp/src/static-method-call.ts' ,  'MyCondComponent' ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-28 17:32:29 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								       expect ( annotations . length ) . toBe ( 1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								       expect ( annotations [ 0 ] . providers ) . toEqual ( [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								         [ { provider :  'a' ,  useValue :  '1' } ] ,  [ { provider :  'a' ,  useValue :  '2' } ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								       ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-29 09:10:45 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-11-29 12:02:50 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  it ( 'should be able to get metadata for a class with nested method calls' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const  annotations  =  reflector . annotations ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        reflector . getStaticSymbol ( '/tmp/src/static-method-call.ts' ,  'MyFactoryComponent' ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( annotations . length ) . toBe ( 1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( annotations [ 0 ] . providers ) . toEqual ( { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      provide :  'c' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      useFactory : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          reflector . getStaticSymbol ( '/tmp/src/static-method.ts' ,  'AnotherModule' ,  [ 'someFactory' ] ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-07-29 09:10:45 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  it ( 'should be able to get the metadata for a class calling a method with default parameters' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								       const  annotations  =  reflector . annotations ( 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								           reflector . getStaticSymbol ( '/tmp/src/static-method-call.ts' ,  'MyDefaultsComponent' ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-29 09:10:45 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								       expect ( annotations . length ) . toBe ( 1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								       expect ( annotations [ 0 ] . providers ) . toEqual ( [ [ 'a' ,  true ,  false ] ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-23 11:58:12 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should be able to get metadata with a reference to a static method' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const  annotations  =  reflector . annotations ( 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        reflector . getStaticSymbol ( '/tmp/src/static-method-ref.ts' ,  'MethodReference' ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-23 11:58:12 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( annotations . length ) . toBe ( 1 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-09-12 09:44:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    expect ( annotations [ 0 ] . providers [ 0 ] . useValue . members [ 0 ] ) . toEqual ( 'staticMethod' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-23 11:58:12 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-24 10:03:10 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  it ( 'should be able to produce a symbol for an exported symbol' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( reflector . findDeclaration ( '@angular/router' ,  'foo' ,  'main.ts' ) ) . toBeDefined ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-17 13:11:00 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  it ( 'should be able to produce a symbol for values space only reference' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( reflector . findDeclaration ( '@angular/router/src/providers' ,  'foo' ,  'main.ts' ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . toBeDefined ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-28 21:54:02 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  it ( 'should be produce the same symbol if asked twice' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const  foo1  =  reflector . getStaticSymbol ( 'main.ts' ,  'foo' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const  foo2  =  reflector . getStaticSymbol ( 'main.ts' ,  'foo' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( foo1 ) . toBe ( foo2 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-10-06 15:10:44 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  it ( 'should be able to produce a symbol for a module with no file' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     ( )  = >  {  expect ( reflector . getStaticSymbol ( 'angularjs' ,  'SomeAngularSymbol' ) ) . toBeDefined ( ) ;  } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-10-06 15:10:44 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  it ( 'should be able to trace a named export' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const  symbol  =  reflector . findDeclaration ( './reexport/reexport' ,  'One' ,  '/tmp/src/main.ts' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( symbol . name ) . toEqual ( 'One' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( symbol . filePath ) . toEqual ( '/tmp/src/reexport/src/origin1.d.ts' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should be able to trace a renamed export' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const  symbol  =  reflector . findDeclaration ( './reexport/reexport' ,  'Four' ,  '/tmp/src/main.ts' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( symbol . name ) . toEqual ( 'Three' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( symbol . filePath ) . toEqual ( '/tmp/src/reexport/src/origin1.d.ts' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should be able to trace an export * export' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const  symbol  =  reflector . findDeclaration ( './reexport/reexport' ,  'Five' ,  '/tmp/src/main.ts' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( symbol . name ) . toEqual ( 'Five' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( symbol . filePath ) . toEqual ( '/tmp/src/reexport/src/origin5.d.ts' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should be able to trace a multi-level re-export' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const  symbol  =  reflector . findDeclaration ( './reexport/reexport' ,  'Thirty' ,  '/tmp/src/main.ts' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( symbol . name ) . toEqual ( 'Thirty' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( symbol . filePath ) . toEqual ( '/tmp/src/reexport/src/origin30.d.ts' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-17 20:11:55 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should cache tracing a named export' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const  moduleNameToFileNameSpy  =  spyOn ( host ,  'moduleNameToFileName' ) . and . callThrough ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const  getMetadataForSpy  =  spyOn ( host ,  'getMetadataFor' ) . and . callThrough ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    reflector . findDeclaration ( './reexport/reexport' ,  'One' ,  '/tmp/src/main.ts' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    moduleNameToFileNameSpy . calls . reset ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    getMetadataForSpy . calls . reset ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const  symbol  =  reflector . findDeclaration ( './reexport/reexport' ,  'One' ,  '/tmp/src/main.ts' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( moduleNameToFileNameSpy . calls . count ( ) ) . toBe ( 1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( getMetadataForSpy . calls . count ( ) ) . toBe ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( symbol . name ) . toEqual ( 'One' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( symbol . filePath ) . toEqual ( '/tmp/src/reexport/src/origin1.d.ts' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-11-18 15:17:44 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  describe ( 'inheritance' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    class  ClassDecorator  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      constructor ( public  value : any )  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    class  ParamDecorator  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      constructor ( public  value : any )  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    class  PropDecorator  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      constructor ( public  value : any )  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    function  initWithDecorator ( testData :  { [ key : string ] :  any } )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      testData [ '/tmp/src/decorator.ts' ]  =  ` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            export  function  ClassDecorator ( ) :  any  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            export  function  ParamDecorator ( ) :  any  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            export  function  PropDecorator ( ) :  any  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      ` ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      init ( testData ,  [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        { filePath :  '/tmp/src/decorator.ts' ,  name :  'ClassDecorator' ,  ctor : ClassDecorator } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        { filePath :  '/tmp/src/decorator.ts' ,  name :  'ParamDecorator' ,  ctor : ParamDecorator } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        { filePath :  '/tmp/src/decorator.ts' ,  name :  'PropDecorator' ,  ctor : PropDecorator } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    it ( 'should inherit annotations' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      initWithDecorator ( { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        '/tmp/src/main.ts' :  ` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            import  { ClassDecorator }  from  './decorator' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            @ClassDecorator ( 'parent' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            export  class  Parent  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            @ClassDecorator ( 'child' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            export  class  Child  extends  Parent  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            export  class  ChildNoDecorators  extends  Parent  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          ` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      // Check that metadata for Parent was not changed!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      expect ( reflector . annotations ( reflector . getStaticSymbol ( '/tmp/src/main.ts' ,  'Parent' ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          . toEqual ( [ new  ClassDecorator ( 'parent' ) ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      expect ( reflector . annotations ( reflector . getStaticSymbol ( '/tmp/src/main.ts' ,  'Child' ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          . toEqual ( [ new  ClassDecorator ( 'parent' ) ,  new  ClassDecorator ( 'child' ) ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      expect ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          reflector . annotations ( reflector . getStaticSymbol ( '/tmp/src/main.ts' ,  'ChildNoDecorators' ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          . toEqual ( [ new  ClassDecorator ( 'parent' ) ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    it ( 'should inherit parameters' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      initWithDecorator ( { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        '/tmp/src/main.ts' :  ` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            import  { ParamDecorator }  from  './decorator' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            export  class  A  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            export  class  B  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            export  class  C  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            export  class  Parent  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              constructor ( @ParamDecorator ( 'a' )  a : A ,  @ParamDecorator ( 'b' )  b : B )  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            export  class  Child  extends  Parent  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            export  class  ChildWithCtor  extends  Parent  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              constructor ( @ParamDecorator ( 'c' )  c : C )  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          ` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      // Check that metadata for Parent was not changed!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      expect ( reflector . parameters ( reflector . getStaticSymbol ( '/tmp/src/main.ts' ,  'Parent' ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          . toEqual ( [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            [ reflector . getStaticSymbol ( '/tmp/src/main.ts' ,  'A' ) ,  new  ParamDecorator ( 'a' ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            [ reflector . getStaticSymbol ( '/tmp/src/main.ts' ,  'B' ) ,  new  ParamDecorator ( 'b' ) ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      expect ( reflector . parameters ( reflector . getStaticSymbol ( '/tmp/src/main.ts' ,  'Child' ) ) ) . toEqual ( [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        [ reflector . getStaticSymbol ( '/tmp/src/main.ts' ,  'A' ) ,  new  ParamDecorator ( 'a' ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        [ reflector . getStaticSymbol ( '/tmp/src/main.ts' ,  'B' ) ,  new  ParamDecorator ( 'b' ) ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      expect ( reflector . parameters ( reflector . getStaticSymbol ( '/tmp/src/main.ts' ,  'ChildWithCtor' ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          . toEqual ( [ [ reflector . getStaticSymbol ( '/tmp/src/main.ts' ,  'C' ) ,  new  ParamDecorator ( 'c' ) ] ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    it ( 'should inherit property metadata' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      initWithDecorator ( { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        '/tmp/src/main.ts' :  ` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            import  { PropDecorator }  from  './decorator' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            export  class  A  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            export  class  B  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            export  class  C  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            export  class  Parent  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              @PropDecorator ( 'a' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              a : A ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              @PropDecorator ( 'b1' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              b : B ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            export  class  Child  extends  Parent  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              @PropDecorator ( 'b2' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              b : B ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              @PropDecorator ( 'c' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              c : C ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          ` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      // Check that metadata for Parent was not changed!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      expect ( reflector . propMetadata ( reflector . getStaticSymbol ( '/tmp/src/main.ts' ,  'Parent' ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          . toEqual ( { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            'a' :  [ new  PropDecorator ( 'a' ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            'b' :  [ new  PropDecorator ( 'b1' ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      expect ( reflector . propMetadata ( reflector . getStaticSymbol ( '/tmp/src/main.ts' ,  'Child' ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          . toEqual ( { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            'a' :  [ new  PropDecorator ( 'a' ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            'b' :  [ new  PropDecorator ( 'b1' ) ,  new  PropDecorator ( 'b2' ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            'c' :  [ new  PropDecorator ( 'c' ) ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    it ( 'should inherit lifecycle hooks' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      initWithDecorator ( { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        '/tmp/src/main.ts' :  ` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            export  class  Parent  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              hook1() { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              hook2() { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            export  class  Child  extends  Parent  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              hook2() { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              hook3() { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          ` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      function  hooks ( symbol :  StaticSymbol ,  names : string [ ] ) :  boolean [ ]  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  names . map ( name  = >  reflector . hasLifecycleHook ( symbol ,  name ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      // Check that metadata for Parent was not changed!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      expect ( hooks ( reflector . getStaticSymbol ( '/tmp/src/main.ts' ,  'Parent' ) ,  [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        'hook1' ,  'hook2' ,  'hook3' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      ] ) ) . toEqual ( [ true ,  true ,  false ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      expect ( hooks ( reflector . getStaticSymbol ( '/tmp/src/main.ts' ,  'Child' ) ,  [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        'hook1' ,  'hook2' ,  'hook3' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      ] ) ) . toEqual ( [ true ,  true ,  true ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								} ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-11-29 15:36:33 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								export  class  MockStaticReflectorHost  implements  StaticReflectorHost  {  
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  private  collector  =  new  MetadataCollector ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-11-18 15:17:44 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  constructor ( private  data :  { [ key : string ] :  any } )  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-04-28 21:54:02 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  // In tests, assume that symbols are not re-exported
 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-17 12:24:33 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  moduleNameToFileName ( modulePath : string ,  containingFile? : string ) :  string  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-25 21:29:06 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    function  splitPath ( path : string ) :  string [ ]  {  return  path . split ( /\/|\\/g ) ;  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    function  resolvePath ( pathParts : string [ ] ) :  string  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-12 14:08:58 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      const  result : string [ ]  =  [ ] ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-10-21 15:14:44 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      pathParts . forEach ( ( part ,  index )  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-25 21:29:06 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        switch  ( part )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          case  '' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          case  '.' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if  ( index  >  0 )  return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          case  '..' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if  ( index  >  0  &&  result . length  !=  0 )  result . pop ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        result . push ( part ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      return  result . join ( '/' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    function  pathTo ( from :  string ,  to : string ) :  string  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      let  result  =  to ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      if  ( to . startsWith ( '.' ) )  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-12 14:08:58 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        const  fromParts  =  splitPath ( from ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-25 21:29:06 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        fromParts . pop ( ) ;   // remove the file name.
 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-12 14:08:58 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        const  toParts  =  splitPath ( to ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-25 21:29:06 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        result  =  resolvePath ( fromParts . concat ( toParts ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      return  result ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-04-28 21:54:02 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    if  ( modulePath . indexOf ( '.' )  ===  0 )  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-26 10:18:35 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      const  baseName  =  pathTo ( containingFile ,  modulePath ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      const  tsName  =  baseName  +  '.ts' ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-17 20:11:55 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      if  ( this . _getMetadataFor ( tsName ) )  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        return  tsName ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-26 10:18:35 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      } 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      return  baseName  +  '.d.ts' ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-25 21:29:06 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    return  '/tmp/'  +  modulePath  +  '.d.ts' ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-25 21:29:06 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-11-17 20:11:55 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  getMetadataFor ( moduleId : string ) :  any  {  return  this . _getMetadataFor ( moduleId ) ;  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  private  _getMetadataFor ( moduleId : string ) :  any  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-18 15:17:44 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    if  ( this . data [ moduleId ]  &&  moduleId . match ( TS_EXT ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      const  text  =  this . data [ moduleId ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      if  ( typeof  text  ===  'string' )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        const  sf  =  ts . createSourceFile ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            moduleId ,  this . data [ moduleId ] ,  ts . ScriptTarget . ES5 ,  /* setParentNodes */  true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        const  diagnostics : ts.Diagnostic [ ]  =  ( < any > sf ) . parseDiagnostics ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( diagnostics  &&  diagnostics . length )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          throw  Error ( ` Error encountered during parse of file  ${ moduleId } ` ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  [ this . collector . getMetadata ( sf ) ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const  result  =  this . data [ moduleId ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( result )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      return  Array . isArray ( result )  ?  result  :  [ result ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      return  null ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								const  DEFAULT_TEST_DATA :  { [ key : string ] :  any }  =  {  
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      '/tmp/@angular/common/src/forms-deprecated/directives.d.ts' :  [ { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        '__symbolic' :  'module' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-17 09:52:38 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        'version' :  2 , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        'metadata' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          'FORM_DIRECTIVES' :  [ 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								              '__symbolic' :  'reference' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              'name' :  'NgFor' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								              'module' :  '@angular/common/src/directives/ng_for' 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-18 10:53:21 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								          ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-02 16:40:38 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      } ] , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      '/tmp/@angular/common/src/directives/ng_for.d.ts' :  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        '__symbolic' :  'module' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-17 09:52:38 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        'version' :  2 , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        'metadata' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          'NgFor' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            '__symbolic' :  'class' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            'decorators' :  [ 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-18 10:53:21 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								              { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                '__symbolic' :  'call' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                'expression' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                  '__symbolic' :  'reference' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                  'name' :  'Directive' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                  'module' :  '@angular/core/src/metadata' 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                } , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                'arguments' :  [ 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    'selector' :  '[ngFor][ngForOf]' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    'inputs' :  [ 'ngForTrackBy' ,  'ngForOf' ,  'ngForTemplate' ] 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ] , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            'members' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              '__ctor__' :  [ 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                  '__symbolic' :  'constructor' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                  'parameters' :  [ 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                      '__symbolic' :  'reference' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                      'module' :  '@angular/core/src/linker/view_container_ref' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                      'name' :  'ViewContainerRef' 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                      '__symbolic' :  'reference' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                      'module' :  '@angular/core/src/linker/template_ref' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                      'name' :  'TemplateRef' 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                      '__symbolic' :  'reference' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                      'module' :  '@angular/core/src/change_detection/differs/iterable_differs' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                      'name' :  'IterableDiffers' 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    } , 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-18 10:53:21 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                      '__symbolic' :  'reference' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                      'module' :  '@angular/core/src/change_detection/change_detector_ref' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                      'name' :  'ChangeDetectorRef' 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-18 10:53:21 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    } 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                  ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      '/tmp/@angular/core/src/linker/view_container_ref.d.ts' : 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-17 09:52:38 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								          { version : 2 ,  'metadata' :  { 'ViewContainerRef' :  { '__symbolic' :  'class' } } } , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      '/tmp/@angular/core/src/linker/template_ref.d.ts' : 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-17 09:52:38 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								          { version : 2 ,  'module' :  './template_ref' ,  'metadata' :  { 'TemplateRef' :  { '__symbolic' :  'class' } } } , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      '/tmp/@angular/core/src/change_detection/differs/iterable_differs.d.ts' : 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-17 09:52:38 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								          { version : 2 ,  'metadata' :  { 'IterableDiffers' :  { '__symbolic' :  'class' } } } , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      '/tmp/@angular/core/src/change_detection/change_detector_ref.d.ts' : 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-17 09:52:38 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								          { version : 2 ,  'metadata' :  { 'ChangeDetectorRef' :  { '__symbolic' :  'class' } } } , 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      '/tmp/src/app/hero-detail.component.d.ts' :  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        '__symbolic' :  'module' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-17 09:52:38 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        'version' :  2 , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        'metadata' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          'HeroDetailComponent' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            '__symbolic' :  'class' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            'decorators' :  [ 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-12 09:40:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								              { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                '__symbolic' :  'call' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                'expression' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                  '__symbolic' :  'reference' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                  'name' :  'Component' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                  'module' :  '@angular/core/src/metadata' 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                } , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                'arguments' :  [ 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    'selector' :  'my-hero-detail' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    'template' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        '\n  <div *ngIf="hero">\n    <h2>{{hero.name}} details!</h2>\n    <div><label>id: </label>{{hero.id}}</div>\n    <div>\n      <label>name: </label>\n      <input [(ngModel)]="hero.name" placeholder="name"/>\n    </div>\n  </div>\n' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    'animations' :  [ { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                      '__symbolic' :  'call' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                      'expression' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        '__symbolic' :  'reference' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        'name' :  'trigger' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                        'module' :  '@angular/core/src/animation/metadata' 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-31 09:15:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                      } , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                      'arguments' :  [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        'myAnimation' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        [ {  '__symbolic' :  'call' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                           'expression' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                             '__symbolic' :  'reference' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                             'name' :  'state' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                             'module' :  '@angular/core/src/animation/metadata' 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-31 09:15:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                           } , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                           'arguments' :  [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                             'state1' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                              {  '__symbolic' :  'call' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                'expression' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                  '__symbolic' :  'reference' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                  'name' :  'style' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                  'module' :  '@angular/core/src/animation/metadata' 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-31 09:15:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                } , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                'arguments' :  [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                  {  'background' : 'white'  } 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-31 09:15:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                              } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                          } ,  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                            '__symbolic' :  'call' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            'expression' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                              '__symbolic' : 'reference' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                              'name' : 'transition' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                              'module' :  '@angular/core/src/animation/metadata' 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-31 09:15:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                            } , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                            'arguments' :  [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                              '* => *' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-31 09:15:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                              { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                '__symbolic' : 'call' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                'expression' : { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                  '__symbolic' : 'reference' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                  'name' : 'sequence' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                  'module' :  '@angular/core/src/animation/metadata' 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-31 09:15:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                } , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                'arguments' : [ [ {  '__symbolic' :  'call' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                  'expression' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                    '__symbolic' : 'reference' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                    'name' : 'group' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                    'module' :  '@angular/core/src/animation/metadata' 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-31 09:15:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                  } , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                  'arguments' : [ [ { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                    '__symbolic' :  'call' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                    'expression' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                      '__symbolic' : 'reference' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                      'name' : 'animate' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                      'module' :  '@angular/core/src/animation/metadata' 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-31 09:15:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                    } , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                    'arguments' : [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                      '1s 0.5s' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                      {  '__symbolic' :  'call' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                        'expression' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                          '__symbolic' : 'reference' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                          'name' : 'keyframes' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                          'module' :  '@angular/core/src/animation/metadata' 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-31 09:15:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                        } , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                        'arguments' : [ [ {  '__symbolic' :  'call' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                          'expression' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                            '__symbolic' : 'reference' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                            'name' : 'style' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                            'module' :  '@angular/core/src/animation/metadata' 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-31 09:15:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                          } , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                          'arguments' : [  {  'background' :  'blue' }  ] 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-31 09:15:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                        } ,  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                          '__symbolic' :  'call' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                          'expression' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                            '__symbolic' : 'reference' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                            'name' : 'style' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                            'module' :  '@angular/core/src/animation/metadata' 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-31 09:15:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                          } , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                          'arguments' : [  {  'background' :  'red' }  ] 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-31 09:15:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                        } ] ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                      } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                    ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                  } ] ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                } ] ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                              } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                          } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        ] 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    ] 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-31 09:15:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                  } ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                } ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              } ] , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            'members' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              'hero' :  [ 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                  '__symbolic' :  'property' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                  'decorators' :  [ 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-12 09:40:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                      '__symbolic' :  'call' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                      'expression' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        '__symbolic' :  'reference' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        'name' :  'Input' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                        'module' :  '@angular/core/src/metadata' 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                      } 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-12 09:40:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    } 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                  ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                } 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-27 02:05:07 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								              ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              'onMouseOver' :  [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        '__symbolic' :  'method' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        'decorators' :  [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                '__symbolic' :  'call' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                'expression' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                    '__symbolic' :  'reference' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                    'module' :  '@angular/core/src/metadata' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-27 02:05:07 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                                    'name' :  'HostListener' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                'arguments' :  [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                    'mouseover' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                    [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                        '$event' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                    ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                ] 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-17 09:52:38 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      '/src/extern.d.ts' :  { '__symbolic' :  'module' ,  'version' :  2 ,  metadata :  { s :  's' } } , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      '/tmp/src/version-error.d.ts' :  { '__symbolic' :  'module' ,  'version' :  100 ,  metadata :  { e :  's' } } , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-03 15:43:09 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      '/tmp/src/error-reporting.d.ts' :  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        __symbolic :  'module' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-17 09:52:38 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        version : 2 , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-03 15:43:09 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        metadata :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          SomeClass :  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            __symbolic :  'class' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-03 15:43:09 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            decorators :  [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                __symbolic :  'call' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-03 15:43:09 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                expression :  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                  __symbolic :  'reference' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                  name :  'Component' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                  module :  '@angular/core/src/metadata' 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-03 15:43:09 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                arguments :  [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-19 12:51:01 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    entryComponents :  [ 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-03 15:43:09 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                      { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                        __symbolic :  'reference' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        module :  'src/error-references' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        name :  'Link1' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-03 15:43:09 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                      } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      '/tmp/src/error-references.d.ts' :  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        __symbolic :  'module' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-17 09:52:38 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        version : 2 , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-03 15:43:09 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        metadata :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          Link1 :  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            __symbolic :  'reference' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            module :  'src/error-references' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            name :  'Link2' 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-03 15:43:09 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								          } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          Link2 :  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            __symbolic :  'reference' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            module :  'src/error-references' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            name :  'ErrorSym' 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-03 15:43:09 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								          } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          ErrorSym :  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 16:38:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            __symbolic :  'error' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            message :  'A reasonable error message' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-03 15:43:09 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            line : 12 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            character : 33 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-13 15:56:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      '/tmp/src/function-declaration.d.ts' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __symbolic :  'module' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-17 09:52:38 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        version : 2 , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-13 15:56:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        metadata :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          one :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            __symbolic :  'function' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            parameters :  [ 'a' ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            value :  [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              { __symbolic :  'reference' ,  name :  'a' } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          add :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            __symbolic :  'function' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            parameters :  [ 'a' , 'b' ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            value :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              __symbolic :  'binop' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              operator :  '+' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              left :  { __symbolic :  'reference' ,  name :  'a' } , 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-25 05:29:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								              right :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                __symbolic :  'binop' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                operator :  '+' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                left :  { __symbolic :  'reference' ,  name :  'b' } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                right :  { __symbolic :  'reference' ,  name :  'oneLiteral' } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              } 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-13 15:56:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-25 05:29:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								          } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          oneLiteral : 1 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-13 15:56:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      '/tmp/src/function-reference.ts' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __symbolic :  'module' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-17 09:52:38 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        version : 2 , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-13 15:56:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        metadata :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          one :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            __symbolic :  'call' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            expression :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              __symbolic :  'reference' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              module :  './function-declaration' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              name :  'one' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            arguments :  [ 'some-value' ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } , 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-25 05:29:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								          three :  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-13 15:56:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            __symbolic :  'call' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            expression :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              __symbolic :  'reference' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              module :  './function-declaration' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              name :  'add' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            arguments :  [ 1 ,  1 ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          recursion :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            __symbolic :  'call' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            expression :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              __symbolic :  'reference' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              module :  './function-recursive' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              name :  'recursive' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            arguments :  [ 1 ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          indirectRecursion :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            __symbolic :  'call' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            expression :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              __symbolic :  'reference' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              module :  './function-recursive' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              name :  'indirectRecursion1' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            arguments :  [ 1 ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      '/tmp/src/function-recursive.d.ts' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __symbolic :  'modules' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-17 09:52:38 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        version : 2 , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-13 15:56:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        metadata :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          recursive :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            __symbolic :  'function' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            parameters :  [ 'a' ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            value :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              __symbolic :  'call' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              expression :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                __symbolic :  'reference' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                module :  './function-recursive' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                name :  'recursive' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              arguments :  [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                  __symbolic :  'reference' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                  name :  'a' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          indirectRecursion1 :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            __symbolic :  'function' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            parameters :  [ 'a' ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            value :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              __symbolic :  'call' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              expression :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                __symbolic :  'reference' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                module :  './function-recursive' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                name :  'indirectRecursion2' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              arguments :  [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                  __symbolic :  'reference' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                  name :  'a' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          indirectRecursion2 :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            __symbolic :  'function' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            parameters :  [ 'a' ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            value :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              __symbolic :  'call' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              expression :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                __symbolic :  'reference' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                module :  './function-recursive' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                name :  'indirectRecursion1' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              arguments :  [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                  __symbolic :  'reference' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                  name :  'a' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      '/tmp/src/spread.ts' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __symbolic :  'module' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-17 09:52:38 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        version : 2 , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-13 15:56:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        metadata :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          spread :  [ 0 ,  { __symbolic :  'spread' ,  expression :  [ 1 ,  2 ,  3 ,  4 ] } ,  5 ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-17 13:11:00 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      '/tmp/src/custom-decorator.ts' :  ` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        export  function  CustomDecorator ( ) :  any  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          return  ( )  = >  { } ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      ` ,
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      '/tmp/src/custom-decorator-reference.ts' :  ` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        import  { CustomDecorator }  from  './custom-decorator' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        @CustomDecorator ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        export  class  Foo  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          @CustomDecorator ( )  get  foo ( ) :  string  {  return  '' ;  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      ` ,
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      '/tmp/src/invalid-calll-definitions.ts' :  ` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        export  function  someFunction ( a : any )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          if  ( Array . isArray ( a ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            return  a ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          return  undefined ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      ` ,
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      '/tmp/src/invalid-calls.ts' :  ` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        import  { someFunction }  from  './nvalid-calll-definitions.ts' ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        import  { Component }  from  '@angular/core/src/metadata' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        import  { NgIf }  from  '@angular/common' ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-17 13:11:00 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        @Component ( { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          selector :  'my-component' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-19 12:51:01 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								          entryComponents :  [ someFunction ( [ NgIf ] ) ] 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-17 13:11:00 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        } ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        export  class  MyComponent  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        @someFunction ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        @Component ( { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          selector :  'my-component' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-19 12:51:01 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								          entryComponents :  [ NgIf ] 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-17 13:11:00 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        } ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        export  class  MyOtherComponent  {  } 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-26 10:18:35 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      ` ,
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      '/tmp/src/static-method.ts' :  ` 
 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        import  { Component }  from  '@angular/core/src/metadata' ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-26 10:18:35 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        @Component ( { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          selector :  'stub' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        export  class  MyModule  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          static  with ( data : any )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            return  {  provider :  'a' ,  useValue : data  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-28 17:32:29 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								          static  condMethod ( cond : boolean )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            return  [ {  provider :  'a' ,  useValue : cond  ?  '1'  :  '2' } ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-29 09:10:45 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								          static  defaultsMethod ( a ,  b  =  true ,  c  =  false )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            return  [ a ,  b ,  c ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-29 12:02:50 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								          static  withFactory() { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            return  {  provide :  'c' ,  useFactory : AnotherModule.someFactory  } ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        export  class  AnotherModule  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          static  someFactory() { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            return  'e' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-26 10:18:35 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      ` ,
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      '/tmp/src/static-method-call.ts' :  ` 
 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        import  { Component }  from  '@angular/core/src/metadata' ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-26 10:18:35 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        import  { MyModule }  from  './static-method' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        @Component ( { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          providers : MyModule.with ( 100 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        export  class  MyComponent  {  } 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-28 17:32:29 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        @Component ( { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          providers :  [ MyModule . condMethod ( true ) ,  MyModule . condMethod ( false ) ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        export  class  MyCondComponent  {  } 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-29 09:10:45 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        @Component ( { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          providers :  [ MyModule . defaultsMethod ( 'a' ) ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        export  class  MyDefaultsComponent  {  } 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-29 12:02:50 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        @Component ( { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          providers : MyModule.withFactory ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        export  class  MyFactoryComponent  {  } 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-27 19:26:59 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      ` ,
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      '/tmp/src/static-field.ts' :  ` 
 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        import  { Injectable }  from  '@angular/core' ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-27 19:26:59 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        @Injectable ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        export  class  MyModule  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          static  VALUE  =  'Some string' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      ` ,
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      '/tmp/src/static-field-reference.ts' :  ` 
 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        import  { Component }  from  '@angular/core/src/metadata' ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-27 19:26:59 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        import  { MyModule }  from  './static-field' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        @Component ( { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          providers :  [  {  provider :  'a' ,  useValue : MyModule.VALUE  }  ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        export  class  Foo  {  } 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-23 11:58:12 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      ` ,
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      '/tmp/src/static-method-def.ts' :  ` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        export  class  ClassWithStatics  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          static  staticMethod() { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      ` ,
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      '/tmp/src/static-method-ref.ts' :  ` 
 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        import  { Component }  from  '@angular/core/src/metadata' ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-23 11:58:12 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        import  { ClassWithStatics }  from  './static-method-def' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        @Component ( { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          providers :  [  {  provider :  'a' ,  useValue : ClassWithStatics.staticMethod } ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        export  class  MethodReference  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-09 16:29:22 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      ` ,
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      '/tmp/src/invalid-metadata.ts' :  ` 
 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        import  { Component }  from  '@angular/core/src/metadata' ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-09 16:29:22 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        @Component ( { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          providers :  [  {  provider :  'a' ,  useValue :  ( ( )  = >  1 ) ( )  } ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        export  class  InvalidMetadata  { } 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 09:19:00 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      ` ,
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      '/tmp/src/forward-ref.ts' :  ` 
 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        import  { forwardRef }  from  '@angular/core' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        import  { Component }  from  '@angular/core/src/metadata' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        import  { Inject }  from  '@angular/core/src/di/metadata' ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 09:19:00 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        @Component ( { } ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        export  class  Forward  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          constructor ( @Inject ( forwardRef ( ( )  = >  Dep ) )  d : Dep )  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        export  class  Dep  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          @Input  f : Forward ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      ` ,
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      '/tmp/src/reexport/reexport.d.ts' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __symbolic :  'module' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-17 09:52:38 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        version : 2 , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        metadata :  { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        exports :  [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          { from :  './src/origin1' ,  export :  [ 'One' ,  'Two' ,  { name :  'Three' ,  as :  'Four' } ] } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          { from :  './src/origin5' } ,  { from :  './src/reexport2' } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      '/tmp/src/reexport/src/origin1.d.ts' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __symbolic :  'module' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-17 09:52:38 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        version : 2 , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        metadata :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          One :  { __symbolic :  'class' } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          Two :  { __symbolic :  'class' } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          Three :  { __symbolic :  'class' } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      '/tmp/src/reexport/src/origin5.d.ts' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __symbolic :  'module' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-17 09:52:38 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        version : 2 , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        metadata :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          Five :  { __symbolic :  'class' } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      '/tmp/src/reexport/src/origin30.d.ts' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __symbolic :  'module' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-17 09:52:38 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        version : 2 , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        metadata :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          Thirty :  { __symbolic :  'class' } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      '/tmp/src/reexport/src/originNone.d.ts' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __symbolic :  'module' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-17 09:52:38 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        version : 2 , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        metadata :  { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      '/tmp/src/reexport/src/reexport2.d.ts' :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __symbolic :  'module' , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-17 09:52:38 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        version : 2 , 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-15 08:49:23 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        metadata :  { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        exports :  [ { from :  './originNone' } ,  { from :  './origin30' } ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-30 12:27:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    } ;