You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
198 lines
5.2 KiB
198 lines
5.2 KiB
2 years ago
|
interface Symbol {
|
||
|
/** Returns a string representation of an object. */
|
||
|
toString(): string;
|
||
|
|
||
|
/** Returns the primitive value of the specified object. */
|
||
|
valueOf(): Object;
|
||
|
|
||
|
[Symbol.toStringTag]: string;
|
||
|
}
|
||
|
|
||
|
interface SymbolConstructor {
|
||
|
/**
|
||
|
* A reference to the prototype.
|
||
|
*/
|
||
|
prototype: Symbol;
|
||
|
|
||
|
/**
|
||
|
* Returns a new unique Symbol value.
|
||
|
* @param description Description of the new Symbol object.
|
||
|
*/
|
||
|
(description?: string|number): symbol;
|
||
|
|
||
|
/**
|
||
|
* Returns a Symbol object from the global symbol registry matching the given key if found.
|
||
|
* Otherwise, returns a new symbol with this key.
|
||
|
* @param key key to search for.
|
||
|
*/
|
||
|
for(key: string): symbol;
|
||
|
|
||
|
/**
|
||
|
* Returns a key from the global symbol registry matching the given Symbol if found.
|
||
|
* Otherwise, returns a undefined.
|
||
|
* @param sym Symbol to find the key for.
|
||
|
*/
|
||
|
keyFor(sym: symbol): string;
|
||
|
|
||
|
// Well-known Symbols
|
||
|
|
||
|
/**
|
||
|
* A method that determines if a constructor object recognizes an object as one of the
|
||
|
* constructor’s instances. Called by the semantics of the instanceof operator.
|
||
|
*/
|
||
|
hasInstance: symbol;
|
||
|
|
||
|
/**
|
||
|
* A Boolean value that if true indicates that an object should flatten to its array elements
|
||
|
* by Array.prototype.concat.
|
||
|
*/
|
||
|
isConcatSpreadable: symbol;
|
||
|
|
||
|
/**
|
||
|
* A method that returns the default iterator for an object. Called by the semantics of the
|
||
|
* for-of statement.
|
||
|
*/
|
||
|
iterator: symbol;
|
||
|
|
||
|
/**
|
||
|
* A regular expression method that matches the regular expression against a string. Called
|
||
|
* by the String.prototype.match method.
|
||
|
*/
|
||
|
match: symbol;
|
||
|
|
||
|
/**
|
||
|
* A regular expression method that replaces matched substrings of a string. Called by the
|
||
|
* String.prototype.replace method.
|
||
|
*/
|
||
|
replace: symbol;
|
||
|
|
||
|
/**
|
||
|
* A regular expression method that returns the index within a string that matches the
|
||
|
* regular expression. Called by the String.prototype.search method.
|
||
|
*/
|
||
|
search: symbol;
|
||
|
|
||
|
/**
|
||
|
* A function valued property that is the constructor function that is used to create
|
||
|
* derived objects.
|
||
|
*/
|
||
|
species: symbol;
|
||
|
|
||
|
/**
|
||
|
* A regular expression method that splits a string at the indices that match the regular
|
||
|
* expression. Called by the String.prototype.split method.
|
||
|
*/
|
||
|
split: symbol;
|
||
|
|
||
|
/**
|
||
|
* A method that converts an object to a corresponding primitive value.Called by the ToPrimitive
|
||
|
* abstract operation.
|
||
|
*/
|
||
|
toPrimitive: symbol;
|
||
|
|
||
|
/**
|
||
|
* A String value that is used in the creation of the default string description of an object.
|
||
|
* Called by the built-in method Object.prototype.toString.
|
||
|
*/
|
||
|
toStringTag: symbol;
|
||
|
|
||
|
/**
|
||
|
* An Object whose own property names are property names that are excluded from the with
|
||
|
* environment bindings of the associated objects.
|
||
|
*/
|
||
|
unscopables: symbol;
|
||
|
}
|
||
|
declare var Symbol: SymbolConstructor;
|
||
|
|
||
|
interface IteratorResult<T> {
|
||
|
done: boolean;
|
||
|
value?: T;
|
||
|
}
|
||
|
|
||
|
interface Iterator<T> {
|
||
|
next(value?: any): IteratorResult<T>;
|
||
|
return?(value?: any): IteratorResult<T>;
|
||
|
throw?(e?: any): IteratorResult<T>;
|
||
|
}
|
||
|
|
||
|
interface Iterable<T> {
|
||
|
[Symbol.iterator](): Iterator<T>;
|
||
|
}
|
||
|
|
||
|
interface IterableIterator<T> extends Iterator<T> {
|
||
|
[Symbol.iterator](): IterableIterator<T>;
|
||
|
}
|
||
|
|
||
|
interface WeakMap<K, V> {
|
||
|
clear(): void;
|
||
|
delete(key: K): boolean;
|
||
|
get(key: K): V;
|
||
|
has(key: K): boolean;
|
||
|
set(key: K, value?: V): WeakMap<K, V>;
|
||
|
}
|
||
|
|
||
|
interface WeakMapConstructor {
|
||
|
new <K, V>(): WeakMap<K, V>;
|
||
|
prototype: WeakMap<any, any>;
|
||
|
}
|
||
|
|
||
|
declare var WeakMap: WeakMapConstructor;
|
||
|
|
||
|
interface Map<K, V> {
|
||
|
clear(): void;
|
||
|
delete(key: K): boolean;
|
||
|
entries(): IterableIterator<[K, V]>;
|
||
|
forEach(callbackfn: (value: V, index: K, map: Map<K, V>) => void, thisArg?: any): void;
|
||
|
get(key: K): V;
|
||
|
has(key: K): boolean;
|
||
|
keys(): IterableIterator<K>;
|
||
|
set(key: K, value?: V): Map<K, V>;
|
||
|
size: number;
|
||
|
values(): IterableIterator<V>;
|
||
|
[Symbol.iterator]():IterableIterator<[K,V]>;
|
||
|
[Symbol.toStringTag]: string;
|
||
|
}
|
||
|
|
||
|
interface MapConstructor {
|
||
|
new <K, V>(): Map<K, V>;
|
||
|
new <K, V>(iterable: Iterable<[K, V]>): Map<K, V>;
|
||
|
prototype: Map<any, any>;
|
||
|
}
|
||
|
declare var Map: MapConstructor;
|
||
|
|
||
|
interface Set<T> {
|
||
|
add(value: T): Set<T>;
|
||
|
clear(): void;
|
||
|
delete(value: T): boolean;
|
||
|
entries(): IterableIterator<[T, T]>;
|
||
|
forEach(callbackfn: (value: T, index: T, set: Set<T>) => void, thisArg?: any): void;
|
||
|
has(value: T): boolean;
|
||
|
keys(): IterableIterator<T>;
|
||
|
size: number;
|
||
|
values(): IterableIterator<T>;
|
||
|
[Symbol.iterator]():IterableIterator<T>;
|
||
|
[Symbol.toStringTag]: string;
|
||
|
}
|
||
|
|
||
|
interface SetConstructor {
|
||
|
new <T>(): Set<T>;
|
||
|
new <T>(iterable: Iterable<T>): Set<T>;
|
||
|
prototype: Set<any>;
|
||
|
}
|
||
|
declare var Set: SetConstructor;
|
||
|
|
||
|
interface WeakSet<T> {
|
||
|
add(value: T): WeakSet<T>;
|
||
|
clear(): void;
|
||
|
delete(value: T): boolean;
|
||
|
has(value: T): boolean;
|
||
|
[Symbol.toStringTag]: string;
|
||
|
}
|
||
|
|
||
|
interface WeakSetConstructor {
|
||
|
new <T>(): WeakSet<T>;
|
||
|
new <T>(iterable: Iterable<T>): WeakSet<T>;
|
||
|
prototype: WeakSet<any>;
|
||
|
}
|
||
|
declare var WeakSet: WeakSetConstructor;
|