@@ -166,14 +166,14 @@ interface ObjectConstructor {
166166 * Creates an object that has the specified prototype, and that optionally contains specified properties.
167167 * @param o Object to use as a prototype. May be null
168168 */
169- create<T>(o: T): T;
169+ create<T extends object >(o: T): T;
170170
171171 /**
172172 * Creates an object that has the specified prototype, and that optionally contains specified properties.
173173 * @param o Object to use as a prototype. May be null
174174 * @param properties JavaScript object that contains one or more property descriptors.
175175 */
176- create(o: any , properties: PropertyDescriptorMap): any;
176+ create(o: object | null , properties: PropertyDescriptorMap): any;
177177
178178 /**
179179 * Adds a property to an object, or modifies attributes of an existing property.
@@ -4523,7 +4523,7 @@ interface ObjectConstructor {
45234523 * @param o The object to change its prototype.
45244524 * @param proto The value of the new prototype or null.
45254525 */
4526- setPrototypeOf(o: any, proto: any ): any;
4526+ setPrototypeOf(o: any, proto: object | null ): any;
45274527
45284528 /**
45294529 * Gets the own property descriptor of the specified object.
@@ -4728,7 +4728,7 @@ interface Map<K, V> {
47284728 forEach(callbackfn: (value: V, key: K, map: Map<K, V>) => void, thisArg?: any): void;
47294729 get(key: K): V | undefined;
47304730 has(key: K): boolean;
4731- set(key: K, value? : V): this;
4731+ set(key: K, value: V): this;
47324732 readonly size: number;
47334733}
47344734
@@ -4746,16 +4746,16 @@ interface ReadonlyMap<K, V> {
47464746 readonly size: number;
47474747}
47484748
4749- interface WeakMap<K, V> {
4749+ interface WeakMap<K extends object , V> {
47504750 delete(key: K): boolean;
47514751 get(key: K): V | undefined;
47524752 has(key: K): boolean;
4753- set(key: K, value? : V): this;
4753+ set(key: K, value: V): this;
47544754}
47554755
47564756interface WeakMapConstructor {
47574757 new (): WeakMap<any, any>;
4758- new <K, V>(entries?: [K, V][]): WeakMap<K, V>;
4758+ new <K extends object , V>(entries?: [K, V][]): WeakMap<K, V>;
47594759 readonly prototype: WeakMap<any, any>;
47604760}
47614761declare var WeakMap: WeakMapConstructor;
@@ -4911,10 +4911,10 @@ interface MapConstructor {
49114911 new <K, V>(iterable: Iterable<[K, V]>): Map<K, V>;
49124912}
49134913
4914- interface WeakMap<K, V> { }
4914+ interface WeakMap<K extends object , V> { }
49154915
49164916interface WeakMapConstructor {
4917- new <K, V>(iterable: Iterable<[K, V]>): WeakMap<K, V>;
4917+ new <K extends object , V>(iterable: Iterable<[K, V]>): WeakMap<K, V>;
49184918}
49194919
49204920interface Set<T> {
@@ -5256,6 +5256,7 @@ interface Float64ArrayConstructor {
52565256 from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array;
52575257}
52585258
5259+
52595260/**
52605261 * Represents the completion of an asynchronous operation
52615262 */
@@ -5512,7 +5513,7 @@ interface PromiseConstructor {
55125513declare var Promise: PromiseConstructor;
55135514
55145515interface ProxyHandler<T> {
5515- getPrototypeOf? (target: T): {} | null;
5516+ getPrototypeOf? (target: T): object | null;
55165517 setPrototypeOf? (target: T, v: any): boolean;
55175518 isExtensible? (target: T): boolean;
55185519 preventExtensions? (target: T): boolean;
@@ -5525,7 +5526,7 @@ interface ProxyHandler<T> {
55255526 enumerate? (target: T): PropertyKey[];
55265527 ownKeys? (target: T): PropertyKey[];
55275528 apply? (target: T, thisArg: any, argArray?: any): any;
5528- construct? (target: T, argArray: any, newTarget?: any): {};
5529+ construct? (target: T, argArray: any, newTarget?: any): object
55295530}
55305531
55315532interface ProxyConstructor {
@@ -5556,7 +5557,7 @@ interface Symbol {
55565557 toString(): string;
55575558
55585559 /** Returns the primitive value of the specified object. */
5559- valueOf(): Object ;
5560+ valueOf(): symbol ;
55605561}
55615562
55625563interface SymbolConstructor {
@@ -5700,7 +5701,7 @@ interface Map<K, V> {
57005701 readonly [Symbol.toStringTag]: "Map";
57015702}
57025703
5703- interface WeakMap<K, V>{
5704+ interface WeakMap<K extends object , V>{
57045705 readonly [Symbol.toStringTag]: "WeakMap";
57055706}
57065707
@@ -5917,6 +5918,7 @@ interface Float64Array {
59175918}
59185919
59195920
5921+
59205922/////////////////////////////
59215923/// IE DOM APIs
59225924/////////////////////////////
0 commit comments