465 lines
No EOL
14 KiB
TypeScript
465 lines
No EOL
14 KiB
TypeScript
/*! *****************************************************************************
|
|
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
this file except in compliance with the License. You may obtain a copy of the
|
|
License at http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
|
|
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
|
|
MERCHANTABLITY OR NON-INFRINGEMENT.
|
|
|
|
See the Apache Version 2.0 License for specific language governing permissions
|
|
and limitations under the License.
|
|
***************************************************************************** */
|
|
|
|
|
|
|
|
/// <reference no-default-lib="true"/>
|
|
|
|
|
|
/// <reference path="lib.es2015.symbol.d.ts" />
|
|
|
|
interface SymbolConstructor {
|
|
/**
|
|
* A method that returns the default iterator for an object. Called by the semantics of the
|
|
* for-of statement.
|
|
*/
|
|
readonly iterator: symbol;
|
|
}
|
|
|
|
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 Array<T> {
|
|
/** Iterator */
|
|
[Symbol.iterator](): IterableIterator<T>;
|
|
|
|
/**
|
|
* Returns an array of key, value pairs for every entry in the array
|
|
*/
|
|
entries(): IterableIterator<[number, T]>;
|
|
|
|
/**
|
|
* Returns an list of keys in the array
|
|
*/
|
|
keys(): IterableIterator<number>;
|
|
|
|
/**
|
|
* Returns an list of values in the array
|
|
*/
|
|
values(): IterableIterator<T>;
|
|
}
|
|
|
|
interface ArrayConstructor {
|
|
/**
|
|
* Creates an array from an iterable object.
|
|
* @param iterable An iterable object to convert to an array.
|
|
* @param mapfn A mapping function to call on every element of the array.
|
|
* @param thisArg Value of 'this' used to invoke the mapfn.
|
|
*/
|
|
from<T, U>(iterable: Iterable<T>, mapfn: (v: T, k: number) => U, thisArg?: any): Array<U>;
|
|
|
|
/**
|
|
* Creates an array from an iterable object.
|
|
* @param iterable An iterable object to convert to an array.
|
|
*/
|
|
from<T>(iterable: Iterable<T>): Array<T>;
|
|
}
|
|
|
|
interface ReadonlyArray<T> {
|
|
/** Iterator */
|
|
[Symbol.iterator](): IterableIterator<T>;
|
|
|
|
/**
|
|
* Returns an array of key, value pairs for every entry in the array
|
|
*/
|
|
entries(): IterableIterator<[number, T]>;
|
|
|
|
/**
|
|
* Returns an list of keys in the array
|
|
*/
|
|
keys(): IterableIterator<number>;
|
|
|
|
/**
|
|
* Returns an list of values in the array
|
|
*/
|
|
values(): IterableIterator<T>;
|
|
}
|
|
|
|
interface IArguments {
|
|
/** Iterator */
|
|
[Symbol.iterator](): IterableIterator<any>;
|
|
}
|
|
|
|
interface Map<K, V> {
|
|
[Symbol.iterator](): IterableIterator<[K,V]>;
|
|
entries(): IterableIterator<[K, V]>;
|
|
keys(): IterableIterator<K>;
|
|
values(): IterableIterator<V>;
|
|
}
|
|
|
|
interface MapConstructor {
|
|
new <K, V>(iterable: Iterable<[K, V]>): Map<K, V>;
|
|
}
|
|
|
|
interface WeakMap<K, V> { }
|
|
|
|
interface WeakMapConstructor {
|
|
new <K, V>(iterable: Iterable<[K, V]>): WeakMap<K, V>;
|
|
}
|
|
|
|
interface Set<T> {
|
|
[Symbol.iterator](): IterableIterator<T>;
|
|
entries(): IterableIterator<[T, T]>;
|
|
keys(): IterableIterator<T>;
|
|
values(): IterableIterator<T>;
|
|
}
|
|
|
|
interface SetConstructor {
|
|
new <T>(iterable: Iterable<T>): Set<T>;
|
|
}
|
|
|
|
interface WeakSet<T> { }
|
|
|
|
interface WeakSetConstructor {
|
|
new <T>(iterable: Iterable<T>): WeakSet<T>;
|
|
}
|
|
|
|
interface Promise<T> { }
|
|
|
|
interface PromiseConstructor {
|
|
/**
|
|
* Creates a Promise that is resolved with an array of results when all of the provided Promises
|
|
* resolve, or rejected when any Promise is rejected.
|
|
* @param values An array of Promises.
|
|
* @returns A new Promise.
|
|
*/
|
|
all<TAll>(values: Iterable<TAll | PromiseLike<TAll>>): Promise<TAll[]>;
|
|
|
|
/**
|
|
* Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
|
|
* or rejected.
|
|
* @param values An array of Promises.
|
|
* @returns A new Promise.
|
|
*/
|
|
race<T>(values: Iterable<T | PromiseLike<T>>): Promise<T>;
|
|
}
|
|
|
|
declare namespace Reflect {
|
|
function enumerate(target: any): IterableIterator<any>;
|
|
}
|
|
|
|
interface String {
|
|
/** Iterator */
|
|
[Symbol.iterator](): IterableIterator<string>;
|
|
}
|
|
|
|
/**
|
|
* A typed array of 8-bit integer values. The contents are initialized to 0. If the requested
|
|
* number of bytes could not be allocated an exception is raised.
|
|
*/
|
|
interface Int8Array {
|
|
[Symbol.iterator](): IterableIterator<number>;
|
|
/**
|
|
* Returns an array of key, value pairs for every entry in the array
|
|
*/
|
|
entries(): IterableIterator<[number, number]>;
|
|
/**
|
|
* Returns an list of keys in the array
|
|
*/
|
|
keys(): IterableIterator<number>;
|
|
/**
|
|
* Returns an list of values in the array
|
|
*/
|
|
values(): IterableIterator<number>;
|
|
}
|
|
|
|
interface Int8ArrayConstructor {
|
|
new (elements: Iterable<number>): Int8Array;
|
|
|
|
/**
|
|
* Creates an array from an array-like or iterable object.
|
|
* @param arrayLike An array-like or iterable object to convert to an array.
|
|
* @param mapfn A mapping function to call on every element of the array.
|
|
* @param thisArg Value of 'this' used to invoke the mapfn.
|
|
*/
|
|
from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array;
|
|
}
|
|
|
|
/**
|
|
* A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the
|
|
* requested number of bytes could not be allocated an exception is raised.
|
|
*/
|
|
interface Uint8Array {
|
|
[Symbol.iterator](): IterableIterator<number>;
|
|
/**
|
|
* Returns an array of key, value pairs for every entry in the array
|
|
*/
|
|
entries(): IterableIterator<[number, number]>;
|
|
/**
|
|
* Returns an list of keys in the array
|
|
*/
|
|
keys(): IterableIterator<number>;
|
|
/**
|
|
* Returns an list of values in the array
|
|
*/
|
|
values(): IterableIterator<number>;
|
|
}
|
|
|
|
interface Uint8ArrayConstructor {
|
|
new (elements: Iterable<number>): Uint8Array;
|
|
|
|
/**
|
|
* Creates an array from an array-like or iterable object.
|
|
* @param arrayLike An array-like or iterable object to convert to an array.
|
|
* @param mapfn A mapping function to call on every element of the array.
|
|
* @param thisArg Value of 'this' used to invoke the mapfn.
|
|
*/
|
|
from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array;
|
|
}
|
|
|
|
/**
|
|
* A typed array of 8-bit unsigned integer (clamped) values. The contents are initialized to 0.
|
|
* If the requested number of bytes could not be allocated an exception is raised.
|
|
*/
|
|
interface Uint8ClampedArray {
|
|
[Symbol.iterator](): IterableIterator<number>;
|
|
/**
|
|
* Returns an array of key, value pairs for every entry in the array
|
|
*/
|
|
entries(): IterableIterator<[number, number]>;
|
|
|
|
/**
|
|
* Returns an list of keys in the array
|
|
*/
|
|
keys(): IterableIterator<number>;
|
|
|
|
/**
|
|
* Returns an list of values in the array
|
|
*/
|
|
values(): IterableIterator<number>;
|
|
}
|
|
|
|
interface Uint8ClampedArrayConstructor {
|
|
new (elements: Iterable<number>): Uint8ClampedArray;
|
|
|
|
|
|
/**
|
|
* Creates an array from an array-like or iterable object.
|
|
* @param arrayLike An array-like or iterable object to convert to an array.
|
|
* @param mapfn A mapping function to call on every element of the array.
|
|
* @param thisArg Value of 'this' used to invoke the mapfn.
|
|
*/
|
|
from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray;
|
|
}
|
|
|
|
/**
|
|
* A typed array of 16-bit signed integer values. The contents are initialized to 0. If the
|
|
* requested number of bytes could not be allocated an exception is raised.
|
|
*/
|
|
interface Int16Array {
|
|
[Symbol.iterator](): IterableIterator<number>;
|
|
/**
|
|
* Returns an array of key, value pairs for every entry in the array
|
|
*/
|
|
entries(): IterableIterator<[number, number]>;
|
|
|
|
/**
|
|
* Returns an list of keys in the array
|
|
*/
|
|
keys(): IterableIterator<number>;
|
|
|
|
/**
|
|
* Returns an list of values in the array
|
|
*/
|
|
values(): IterableIterator<number>;
|
|
}
|
|
|
|
interface Int16ArrayConstructor {
|
|
new (elements: Iterable<number>): Int16Array;
|
|
|
|
/**
|
|
* Creates an array from an array-like or iterable object.
|
|
* @param arrayLike An array-like or iterable object to convert to an array.
|
|
* @param mapfn A mapping function to call on every element of the array.
|
|
* @param thisArg Value of 'this' used to invoke the mapfn.
|
|
*/
|
|
from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array;
|
|
}
|
|
|
|
/**
|
|
* A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the
|
|
* requested number of bytes could not be allocated an exception is raised.
|
|
*/
|
|
interface Uint16Array {
|
|
[Symbol.iterator](): IterableIterator<number>;
|
|
/**
|
|
* Returns an array of key, value pairs for every entry in the array
|
|
*/
|
|
entries(): IterableIterator<[number, number]>;
|
|
/**
|
|
* Returns an list of keys in the array
|
|
*/
|
|
keys(): IterableIterator<number>;
|
|
/**
|
|
* Returns an list of values in the array
|
|
*/
|
|
values(): IterableIterator<number>;
|
|
}
|
|
|
|
interface Uint16ArrayConstructor {
|
|
new (elements: Iterable<number>): Uint16Array;
|
|
|
|
/**
|
|
* Creates an array from an array-like or iterable object.
|
|
* @param arrayLike An array-like or iterable object to convert to an array.
|
|
* @param mapfn A mapping function to call on every element of the array.
|
|
* @param thisArg Value of 'this' used to invoke the mapfn.
|
|
*/
|
|
from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array;
|
|
}
|
|
|
|
/**
|
|
* A typed array of 32-bit signed integer values. The contents are initialized to 0. If the
|
|
* requested number of bytes could not be allocated an exception is raised.
|
|
*/
|
|
interface Int32Array {
|
|
[Symbol.iterator](): IterableIterator<number>;
|
|
/**
|
|
* Returns an array of key, value pairs for every entry in the array
|
|
*/
|
|
entries(): IterableIterator<[number, number]>;
|
|
/**
|
|
* Returns an list of keys in the array
|
|
*/
|
|
keys(): IterableIterator<number>;
|
|
/**
|
|
* Returns an list of values in the array
|
|
*/
|
|
values(): IterableIterator<number>;
|
|
}
|
|
|
|
interface Int32ArrayConstructor {
|
|
new (elements: Iterable<number>): Int32Array;
|
|
|
|
/**
|
|
* Creates an array from an array-like or iterable object.
|
|
* @param arrayLike An array-like or iterable object to convert to an array.
|
|
* @param mapfn A mapping function to call on every element of the array.
|
|
* @param thisArg Value of 'this' used to invoke the mapfn.
|
|
*/
|
|
from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array;
|
|
}
|
|
|
|
/**
|
|
* A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the
|
|
* requested number of bytes could not be allocated an exception is raised.
|
|
*/
|
|
interface Uint32Array {
|
|
[Symbol.iterator](): IterableIterator<number>;
|
|
/**
|
|
* Returns an array of key, value pairs for every entry in the array
|
|
*/
|
|
entries(): IterableIterator<[number, number]>;
|
|
/**
|
|
* Returns an list of keys in the array
|
|
*/
|
|
keys(): IterableIterator<number>;
|
|
/**
|
|
* Returns an list of values in the array
|
|
*/
|
|
values(): IterableIterator<number>;
|
|
}
|
|
|
|
interface Uint32ArrayConstructor {
|
|
new (elements: Iterable<number>): Uint32Array;
|
|
|
|
/**
|
|
* Creates an array from an array-like or iterable object.
|
|
* @param arrayLike An array-like or iterable object to convert to an array.
|
|
* @param mapfn A mapping function to call on every element of the array.
|
|
* @param thisArg Value of 'this' used to invoke the mapfn.
|
|
*/
|
|
from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array;
|
|
}
|
|
|
|
/**
|
|
* A typed array of 32-bit float values. The contents are initialized to 0. If the requested number
|
|
* of bytes could not be allocated an exception is raised.
|
|
*/
|
|
interface Float32Array {
|
|
[Symbol.iterator](): IterableIterator<number>;
|
|
/**
|
|
* Returns an array of key, value pairs for every entry in the array
|
|
*/
|
|
entries(): IterableIterator<[number, number]>;
|
|
/**
|
|
* Returns an list of keys in the array
|
|
*/
|
|
keys(): IterableIterator<number>;
|
|
/**
|
|
* Returns an list of values in the array
|
|
*/
|
|
values(): IterableIterator<number>;
|
|
}
|
|
|
|
interface Float32ArrayConstructor {
|
|
new (elements: Iterable<number>): Float32Array;
|
|
|
|
/**
|
|
* Creates an array from an array-like or iterable object.
|
|
* @param arrayLike An array-like or iterable object to convert to an array.
|
|
* @param mapfn A mapping function to call on every element of the array.
|
|
* @param thisArg Value of 'this' used to invoke the mapfn.
|
|
*/
|
|
from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array;
|
|
}
|
|
|
|
/**
|
|
* A typed array of 64-bit float values. The contents are initialized to 0. If the requested
|
|
* number of bytes could not be allocated an exception is raised.
|
|
*/
|
|
interface Float64Array {
|
|
[Symbol.iterator](): IterableIterator<number>;
|
|
/**
|
|
* Returns an array of key, value pairs for every entry in the array
|
|
*/
|
|
entries(): IterableIterator<[number, number]>;
|
|
/**
|
|
* Returns an list of keys in the array
|
|
*/
|
|
keys(): IterableIterator<number>;
|
|
/**
|
|
* Returns an list of values in the array
|
|
*/
|
|
values(): IterableIterator<number>;
|
|
}
|
|
|
|
interface Float64ArrayConstructor {
|
|
new (elements: Iterable<number>): Float64Array;
|
|
|
|
/**
|
|
* Creates an array from an array-like or iterable object.
|
|
* @param arrayLike An array-like or iterable object to convert to an array.
|
|
* @param mapfn A mapping function to call on every element of the array.
|
|
* @param thisArg Value of 'this' used to invoke the mapfn.
|
|
*/
|
|
from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array;
|
|
} |