| 
									
										
										
										
											2015-08-06 09:52:33 -07:00
										 |  |  | // This file is used for TypeScript compilation to ES5 only.
 | 
					
						
							|  |  |  | // Since this file is not included in the compilation to ES6, it is an error
 | 
					
						
							|  |  |  | // to <reference> this file from other sources.
 | 
					
						
							|  |  |  | // Instead it is referenced by the rootFilePaths option to the compiler.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // We also want the following typings to be available only when compiling to
 | 
					
						
							|  |  |  | // ES5, because they are redundant with lib.es6.d.ts.
 | 
					
						
							|  |  |  | /// <reference path="../angular2/typings/es6-promise/es6-promise.d.ts"/>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // es6-promise.d.ts chose a different name for this interface than TS lib.es6.d.ts
 | 
					
						
							|  |  |  | // Generic Type Alises are in TS 1.6 (https://github.com/Microsoft/TypeScript/pull/3397)
 | 
					
						
							|  |  |  | // So we cannot write:
 | 
					
						
							|  |  |  | // declare type PromiseLike = Thenable;
 | 
					
						
							|  |  |  | // Until then we use a workaround:
 | 
					
						
							|  |  |  | interface PromiseLike<T> extends Thenable<T> {} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-01 10:45:56 -07:00
										 |  |  | // Extend the ES5 standard library with some ES6 features we polyfill at runtime
 | 
					
						
							|  |  |  | // by loading traceur-runtime.js
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // These are mostly copied from lib.es6.d.ts
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | interface String { | 
					
						
							|  |  |  |   /** | 
					
						
							|  |  |  |    * Returns true if the sequence of elements of searchString converted to a String is the | 
					
						
							|  |  |  |    * same as the corresponding elements of this object (converted to a String) starting at | 
					
						
							|  |  |  |    * position. Otherwise returns false. | 
					
						
							|  |  |  |    */ | 
					
						
							| 
									
										
										
										
											2015-04-11 12:40:05 -07:00
										 |  |  |   startsWith(searchString: string, position?: number): boolean; | 
					
						
							| 
									
										
										
										
											2015-04-01 10:45:56 -07:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | interface NumberConstructor { | 
					
						
							|  |  |  |   /** | 
					
						
							|  |  |  |    * Returns true if the value passed is an integer, false otherwise. | 
					
						
							|  |  |  |    * @param number A numeric value. | 
					
						
							|  |  |  |    */ | 
					
						
							|  |  |  |   isInteger(number: number): boolean; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | interface Array<T> { | 
					
						
							|  |  |  |   /** | 
					
						
							|  |  |  |    * Returns the this object after filling the section identified by start and end with value | 
					
						
							|  |  |  |    * @param value value to fill array section with | 
					
						
							|  |  |  |    * @param start index to start filling the array at. If start is negative, it is treated as | 
					
						
							|  |  |  |    * length+start where length is the length of the array. | 
					
						
							|  |  |  |    * @param end index to stop filling the array at. If end is negative, it is treated as | 
					
						
							|  |  |  |    * length+end. | 
					
						
							|  |  |  |    */ | 
					
						
							| 
									
										
										
										
											2015-04-11 12:40:05 -07:00
										 |  |  |   fill(value: T, start?: number, end?: number): T[]; | 
					
						
							| 
									
										
										
										
											2015-04-01 10:45:56 -07:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Copied from lib.dom.d.ts and modified
 | 
					
						
							|  |  |  | interface Map<K, V> { | 
					
						
							|  |  |  |   clear(): void; | 
					
						
							|  |  |  |   delete (key: K): boolean; | 
					
						
							| 
									
										
										
										
											2015-04-11 12:40:05 -07:00
										 |  |  |   forEach(callbackfn: (value: V, index: K, map: Map<K, V>) => void, thisArg?: any): void; | 
					
						
							| 
									
										
										
										
											2015-05-20 09:48:15 -07:00
										 |  |  |   keys(): List<K>; | 
					
						
							|  |  |  |   values(): List<V>; | 
					
						
							| 
									
										
										
										
											2015-04-01 10:45:56 -07:00
										 |  |  |   get(key: K): V; | 
					
						
							|  |  |  |   has(key: K): boolean; | 
					
						
							|  |  |  |   set(key: K, value: V): Map<K, V>; | 
					
						
							|  |  |  |   size: number; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | declare var Map: { | 
					
						
							| 
									
										
										
										
											2015-06-17 21:36:42 -07:00
										 |  |  |   new (): Map<any, any>; | 
					
						
							| 
									
										
										
										
											2015-04-01 10:45:56 -07:00
										 |  |  |   new<K, V>(): Map<K, V>; | 
					
						
							|  |  |  |   // alexeagle: PATCHED
 | 
					
						
							| 
									
										
										
										
											2015-06-17 16:21:40 -07:00
										 |  |  |   new<K, V>(m: Map<K, V>): Map<any, any>; | 
					
						
							|  |  |  |   new<K, V>(l: List<any>): Map<any, any>; | 
					
						
							| 
									
										
										
										
											2015-04-01 10:45:56 -07:00
										 |  |  |   prototype: Map<any, any>; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | interface Set<T> { | 
					
						
							|  |  |  |   add(value: T): Set<T>; | 
					
						
							|  |  |  |   clear(): void; | 
					
						
							|  |  |  |   delete (value: T): boolean; | 
					
						
							| 
									
										
										
										
											2015-04-11 12:40:05 -07:00
										 |  |  |   forEach(callbackfn: (value: T, index: T, set: Set<T>) => void, thisArg?: any): void; | 
					
						
							| 
									
										
										
										
											2015-04-01 10:45:56 -07:00
										 |  |  |   has(value: T): boolean; | 
					
						
							|  |  |  |   size: number; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | declare var Set: { | 
					
						
							| 
									
										
										
										
											2015-06-17 21:36:42 -07:00
										 |  |  |   new (): Set<any>; | 
					
						
							| 
									
										
										
										
											2015-04-01 10:45:56 -07:00
										 |  |  |   new<T>(): Set<T>; | 
					
						
							|  |  |  |   // alexeagle PATCHED
 | 
					
						
							|  |  |  |   new<T>(s: Set<T>): Set<T>; | 
					
						
							|  |  |  |   new<T>(l: List<T>): Set<T>; | 
					
						
							|  |  |  |   prototype: Set<any>; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | interface SymbolConstructor { | 
					
						
							|  |  |  |   /** | 
					
						
							|  |  |  |    * A method that returns the default iterator for an object.Called by the semantics of the | 
					
						
							|  |  |  |    * for-of statement. | 
					
						
							|  |  |  |    */ | 
					
						
							|  |  |  |   iterator: symbol; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | declare var Symbol: SymbolConstructor; |