• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*! *****************************************************************************
2Copyright (c) Microsoft Corporation. All rights reserved.
3Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4this file except in compliance with the License. You may obtain a copy of the
5License at http://www.apache.org/licenses/LICENSE-2.0
6
7THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
9WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
10MERCHANTABLITY OR NON-INFRINGEMENT.
11
12See the Apache Version 2.0 License for specific language governing permissions
13and limitations under the License.
14***************************************************************************** */
15
16
17
18/// <reference no-default-lib="true"/>
19
20
21interface Map<K, V> {
22    clear(): void;
23    delete(key: K): boolean;
24    forEach(callbackfn: (value: V, key: K, map: Map<K, V>) => void, thisArg?: any): void;
25    get(key: K): V | undefined;
26    has(key: K): boolean;
27    set(key: K, value: V): this;
28    readonly size: number;
29}
30
31interface MapConstructor {
32    new(): Map<any, any>;
33    new<K, V>(entries?: readonly (readonly [K, V])[] | null): Map<K, V>;
34    readonly prototype: Map<any, any>;
35}
36declare var Map: MapConstructor;
37
38interface ReadonlyMap<K, V> {
39    forEach(callbackfn: (value: V, key: K, map: ReadonlyMap<K, V>) => void, thisArg?: any): void;
40    get(key: K): V | undefined;
41    has(key: K): boolean;
42    readonly size: number;
43}
44
45interface WeakMap<K extends object, V> {
46    delete(key: K): boolean;
47    get(key: K): V | undefined;
48    has(key: K): boolean;
49    set(key: K, value: V): this;
50}
51
52interface WeakMapConstructor {
53    new <K extends object = object, V = any>(entries?: readonly [K, V][] | null): WeakMap<K, V>;
54    readonly prototype: WeakMap<object, any>;
55}
56declare var WeakMap: WeakMapConstructor;
57
58interface Set<T> {
59    add(value: T): this;
60    clear(): void;
61    delete(value: T): boolean;
62    forEach(callbackfn: (value: T, value2: T, set: Set<T>) => void, thisArg?: any): void;
63    has(value: T): boolean;
64    readonly size: number;
65}
66
67interface SetConstructor {
68    new <T = any>(values?: readonly T[] | null): Set<T>;
69    readonly prototype: Set<any>;
70}
71declare var Set: SetConstructor;
72
73interface ReadonlySet<T> {
74    forEach(callbackfn: (value: T, value2: T, set: ReadonlySet<T>) => void, thisArg?: any): void;
75    has(value: T): boolean;
76    readonly size: number;
77}
78
79interface WeakSet<T extends object> {
80    add(value: T): this;
81    delete(value: T): boolean;
82    has(value: T): boolean;
83}
84
85interface WeakSetConstructor {
86    new <T extends object = object>(values?: readonly T[] | null): WeakSet<T>;
87    readonly prototype: WeakSet<object>;
88}
89declare var WeakSet: WeakSetConstructor;
90