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;
|
|
}
|