This requires delicate handling of type definitions which collide, because we use TypeScript-provided lib.d.ts for --target=es5 and lib.es6.d.ts for --target=es6. We need to include our polyfill typings only in the --target=es5 case, and the usages have to be consistent with lib.es6.d.ts. Also starting with this change we now typecheck additional modules, so this fixes a bunch of wrong typings which were never checked before. Fixes #3178
		
			
				
	
	
		
			34 lines
		
	
	
		
			784 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			784 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| /**
 | |
|  * This file contains declarations of global symbols we reference in our code
 | |
|  */
 | |
| 
 | |
| /// <reference path="typings/zone/zone.d.ts"/>
 | |
| declare var assert: any;
 | |
| declare type int = number;
 | |
| 
 | |
| interface List<T> extends Array<T> {}
 | |
| 
 | |
| // FIXME: K must be string!
 | |
| // FIXME: should have an index signature, `[k: string]: V;`
 | |
| interface StringMap<K, V> {}
 | |
| 
 | |
| interface BrowserNodeGlobal {
 | |
|   Object: typeof Object;
 | |
|   Array: typeof Array;
 | |
|   Map: typeof Map;
 | |
|   Set: typeof Set;
 | |
|   Date: typeof Date;
 | |
|   RegExp: typeof RegExp;
 | |
|   JSON: typeof JSON;
 | |
|   Math: typeof Math;
 | |
|   assert(condition): void;
 | |
|   Reflect: any;
 | |
|   zone: Zone;
 | |
|   getAngularTestability: Function;
 | |
|   getAllAngularTestabilities: Function;
 | |
|   setTimeout: Function;
 | |
|   clearTimeout: Function;
 | |
|   setInterval: Function;
 | |
|   clearInterval: Function;
 | |
| }
 |