// 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. */ startsWith(searchString: string, position?: number): boolean; } interface NumberConstructor { /** * Returns true if the value passed is an integer, false otherwise. * @param number A numeric value. */ isInteger(number: number): boolean; } interface Array { /** * 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. */ fill(value: T, start?: number, end?: number): T[]; } // Copied from lib.dom.d.ts and modified interface Map { clear(): void; delete (key: K): boolean; forEach(callbackfn: (value: V, index: K, map: Map) => void, thisArg?: any): void; keys(): List; values(): List; get(key: K): V; has(key: K): boolean; set(key: K, value: V): Map; size: number; } declare var Map: { new(): Map; // alexeagle: PATCHED new(m: Map): Map; new(l: List): Map; prototype: Map; }; interface Set { add(value: T): Set; clear(): void; delete (value: T): boolean; forEach(callbackfn: (value: T, index: T, set: Set) => void, thisArg?: any): void; has(value: T): boolean; size: number; } declare var Set: { new(): Set; // alexeagle PATCHED new(s: Set): Set; new(l: List): Set; prototype: Set; }; 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;