intelephense
1.14.41.16.1
lib/lib.es5.d.tslib/lib.es5.d.ts+352−314
Index: package/lib/lib.es5.d.ts
===================================================================
--- package/lib/lib.es5.d.ts
+++ package/lib/lib.es5.d.ts
@@ -695,9 +695,9 @@
* @param x A numeric expression for which the arctangent is needed.
*/
atan(x: number): number;
/**
- * Returns the angle (in radians) from the X axis to a point.
+ * Returns the angle (in radians) between the X axis and the line going through both the origin and the given point.
* @param y A numeric expression representing the cartesian y-coordinate.
* @param x A numeric expression representing the cartesian x-coordinate.
*/
atan2(y: number, x: number): number;
@@ -817,9 +817,9 @@
/** Gets the milliseconds of a Date, using local time. */
getMilliseconds(): number;
/** Gets the milliseconds of a Date object using Universal Coordinated Time (UTC). */
getUTCMilliseconds(): number;
- /** Gets the difference in minutes between the time on the local computer and Universal Coordinated Time (UTC). */
+ /** Gets the difference in minutes between Universal Coordinated Time (UTC) and the time on the local computer. */
getTimezoneOffset(): number;
/**
* Sets the date and time value in the Date object.
* @param time A numeric value representing the number of elapsed milliseconds since midnight, January 1, 1970 GMT.
@@ -1157,22 +1157,25 @@
* Converts a JavaScript Object Notation (JSON) string into an object.
* @param text A valid JSON string.
* @param reviver A function that transforms the results. This function is called for each member of the object.
* If a member contains nested objects, the nested objects are transformed before the parent object is.
+ * @throws {SyntaxError} If `text` is not valid JSON.
*/
parse(text: string, reviver?: (this: any, key: string, value: any) => any): any;
/**
* Converts a JavaScript value to a JavaScript Object Notation (JSON) string.
* @param value A JavaScript value, usually an object or array, to be converted.
* @param replacer A function that transforms the results.
* @param space Adds indentation, white space, and line break characters to the return-value JSON text to make it easier to read.
+ * @throws {TypeError} If a circular reference or a BigInt value is found.
*/
stringify(value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string;
/**
* Converts a JavaScript value to a JavaScript Object Notation (JSON) string.
* @param value A JavaScript value, usually an object or array, to be converted.
* @param replacer An array of strings and numbers that acts as an approved list for selecting the object properties that will be stringified.
* @param space Adds indentation, white space, and line break characters to the return-value JSON text to make it easier to read.
+ * @throws {TypeError} If a circular reference or a BigInt value is found.
*/
stringify(value: any, replacer?: (number | string)[] | null, space?: string | number): string;
}
@@ -1259,10 +1262,10 @@
*/
some(predicate: (value: T, index: number, array: readonly T[]) => unknown, thisArg?: any): boolean;
/**
* Performs the specified action for each element in an array.
- * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array.
- * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
+ * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array.
+ * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
*/
forEach(callbackfn: (value: T, index: number, array: readonly T[]) => void, thisArg?: any): void;
/**
* Calls a defined callback function on each element of an array, and returns an array that contains the results.
@@ -1383,25 +1386,29 @@
* Sorts an array in place.
* This method mutates the array and returns a reference to the same array.
* @param compareFn Function used to determine the order of the elements. It is expected to return
* a negative value if the first argument is less than the second argument, zero if they're equal, and a positive
- * value otherwise. If omitted, the elements are sorted in ascending, ASCII character order.
+ * value otherwise. If omitted, the elements are sorted in ascending, UTF-16 code unit order.
* ```ts
* [11,2,22,1].sort((a, b) => a - b)
* ```
*/
sort(compareFn?: (a: T, b: T) => number): this;
/**
* Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements.
* @param start The zero-based location in the array from which to start removing elements.
- * @param deleteCount The number of elements to remove.
+ * @param deleteCount The number of elements to remove. Omitting this argument will remove all elements from the start
+ * paramater location to end of the array. If value of this argument is either a negative number, zero, undefined, or a type
+ * that cannot be converted to an integer, the function will evaluate the argument as zero and not remove any elements.
* @returns An array containing the elements that were deleted.
*/
splice(start: number, deleteCount?: number): T[];
/**
* Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements.
* @param start The zero-based location in the array from which to start removing elements.
- * @param deleteCount The number of elements to remove.
+ * @param deleteCount The number of elements to remove. If value of this argument is either a negative number, zero,
+ * undefined, or a type that cannot be converted to an integer, the function will evaluate the argument as zero and
+ * not remove any elements.
* @param items Elements to insert into the array in place of the deleted elements.
* @returns An array containing the elements that were deleted.
*/
splice(start: number, deleteCount: number, ...items: T[]): T[];
@@ -1450,10 +1457,10 @@
*/
some(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean;
/**
* Performs the specified action for each element in an array.
- * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array.
- * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
+ * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array.
+ * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
*/
forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void;
/**
* Calls a defined callback function on each element of an array, and returns an array that contains the results.
@@ -1700,9 +1707,9 @@
/**
* Returns a section of an ArrayBuffer.
*/
- slice(begin: number, end?: number): ArrayBuffer;
+ slice(begin?: number, end?: number): ArrayBuffer;
}
/**
* Allowed ArrayBuffer types for the buffer of an ArrayBufferView and related Typed Arrays.
@@ -1718,27 +1725,27 @@
isView(arg: any): arg is ArrayBufferView;
}
declare var ArrayBuffer: ArrayBufferConstructor;
-interface ArrayBufferView {
+interface ArrayBufferView<TArrayBuffer extends ArrayBufferLike = ArrayBufferLike> {
/**
* The ArrayBuffer instance referenced by the array.
*/
- buffer: ArrayBufferLike;
+ readonly buffer: TArrayBuffer;
/**
* The length in bytes of the array.
*/
- byteLength: number;
+ readonly byteLength: number;
/**
* The offset in bytes of the array.
*/
- byteOffset: number;
+ readonly byteOffset: number;
}
-interface DataView {
- readonly buffer: ArrayBuffer;
+interface DataView<TArrayBuffer extends ArrayBufferLike = ArrayBufferLike> {
+ readonly buffer: TArrayBuffer;
readonly byteLength: number;
readonly byteOffset: number;
/**
* Gets the Float32 value at the specified byte offset from the start of the view. There is
@@ -1862,29 +1869,28 @@
* @param littleEndian If false or undefined, a big-endian value should be written.
*/
setUint32(byteOffset: number, value: number, littleEndian?: boolean): void;
}
-
interface DataViewConstructor {
- readonly prototype: DataView;
- new (buffer: ArrayBufferLike & { BYTES_PER_ELEMENT?: never; }, byteOffset?: number, byteLength?: number): DataView;
+ readonly prototype: DataView<ArrayBufferLike>;
+ new <TArrayBuffer extends ArrayBufferLike & { BYTES_PER_ELEMENT?: never; }>(buffer: TArrayBuffer, byteOffset?: number, byteLength?: number): DataView<TArrayBuffer>;
}
declare var DataView: DataViewConstructor;
/**
* 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 {
+interface Int8Array<TArrayBuffer extends ArrayBufferLike = ArrayBufferLike> {
/**
* The size in bytes of each element in the array.
*/
readonly BYTES_PER_ELEMENT: number;
/**
* The ArrayBuffer instance referenced by the array.
*/
- readonly buffer: ArrayBufferLike;
+ readonly buffer: TArrayBuffer;
/**
* The length in bytes of the array.
*/
@@ -1913,9 +1919,9 @@
* which is coercible to the Boolean value false, or until the end of the array.
* @param thisArg An object to which the this keyword can refer in the predicate function.
* If thisArg is omitted, undefined is used as the this value.
*/
- every(predicate: (value: number, index: number, array: Int8Array) => unknown, thisArg?: any): boolean;
+ every(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;
/**
* Changes all array elements from `start` to `end` index to a static `value` and returns the modified array
* @param value value to fill array section with
@@ -1932,9 +1938,9 @@
* the predicate function one time for each element in the array.
* @param thisArg An object to which the this keyword can refer in the predicate function.
* If thisArg is omitted, undefined is used as the this value.
*/
- filter(predicate: (value: number, index: number, array: Int8Array) => any, thisArg?: any): Int8Array;
+ filter(predicate: (value: number, index: number, array: this) => any, thisArg?: any): Int8Array<ArrayBuffer>;
/**
* Returns the value of the first element in the array where predicate is true, and undefined
* otherwise.
@@ -1943,9 +1949,9 @@
* immediately returns that element value. Otherwise, find returns undefined.
* @param thisArg If provided, it will be used as the this value for each invocation of
* predicate. If it is not provided, undefined is used instead.
*/
- find(predicate: (value: number, index: number, obj: Int8Array) => boolean, thisArg?: any): number | undefined;
+ find(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number | undefined;
/**
* Returns the index of the first element in the array where predicate is true, and -1
* otherwise.
@@ -1954,24 +1960,24 @@
* findIndex immediately returns that element index. Otherwise, findIndex returns -1.
* @param thisArg If provided, it will be used as the this value for each invocation of
* predicate. If it is not provided, undefined is used instead.
*/
- findIndex(predicate: (value: number, index: number, obj: Int8Array) => boolean, thisArg?: any): number;
+ findIndex(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number;
/**
* Performs the specified action for each element in an array.
- * @param callbackfn A function that accepts up to three arguments. forEach calls the
+ * @param callbackfn A function that accepts up to three arguments. forEach calls the
* callbackfn function one time for each element in the array.
- * @param thisArg An object to which the this keyword can refer in the callbackfn function.
+ * @param thisArg An object to which the this keyword can refer in the callbackfn function.
* If thisArg is omitted, undefined is used as the this value.
*/
- forEach(callbackfn: (value: number, index: number, array: Int8Array) => void, thisArg?: any): void;
+ forEach(callbackfn: (value: number, index: number, array: this) => void, thisArg?: any): void;
/**
* Returns the index of the first occurrence of a value in an array.
* @param searchElement The value to locate in the array.
* @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the
- * search starts at index 0.
+ * search starts at index 0.
*/
indexOf(searchElement: number, fromIndex?: number): number;
/**
@@ -2001,9 +2007,9 @@
* callbackfn function one time for each element in the array.
* @param thisArg An object to which the this keyword can refer in the callbackfn function.
* If thisArg is omitted, undefined is used as the this value.
*/
- map(callbackfn: (value: number, index: number, array: Int8Array) => number, thisArg?: any): Int8Array;
+ map(callbackfn: (value: number, index: number, array: this) => number, thisArg?: any): Int8Array<ArrayBuffer>;
/**
* Calls the specified callback function for all the elements in an array. The return value of
* the callback function is the accumulated result, and is provided as an argument in the next
@@ -2013,10 +2019,10 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an argument
* instead of an array value.
*/
- reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int8Array) => number): number;
- reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int8Array) => number, initialValue: number): number;
+ reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;
+ reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;
/**
* Calls the specified callback function for all the elements in an array. The return value of
* the callback function is the accumulated result, and is provided as an argument in the next
@@ -2026,9 +2032,9 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an argument
* instead of an array value.
*/
- reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int8Array) => U, initialValue: U): U;
+ reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;
/**
* Calls the specified callback function for all the elements in an array, in descending order.
* The return value of the callback function is the accumulated result, and is provided as an
@@ -2038,10 +2044,10 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an
* argument instead of an array value.
*/
- reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int8Array) => number): number;
- reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int8Array) => number, initialValue: number): number;
+ reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;
+ reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;
/**
* Calls the specified callback function for all the elements in an array, in descending order.
* The return value of the callback function is the accumulated result, and is provided as an
@@ -2051,14 +2057,14 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an argument
* instead of an array value.
*/
- reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int8Array) => U, initialValue: U): U;
+ reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;
/**
* Reverses the elements in an Array.
*/
- reverse(): Int8Array;
+ reverse(): this;
/**
* Sets a value or an array of values.
* @param array A typed or untyped array of values to set.
@@ -2070,9 +2076,9 @@
* Returns a section of an array.
* @param start The beginning of the specified portion of the array.
* @param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'.
*/
- slice(start?: number, end?: number): Int8Array;
+ slice(start?: number, end?: number): Int8Array<ArrayBuffer>;
/**
* Determines whether the specified callback function returns true for any element of an array.
* @param predicate A function that accepts up to three arguments. The some method calls
@@ -2080,9 +2086,9 @@
* which is coercible to the Boolean value true, or until the end of the array.
* @param thisArg An object to which the this keyword can refer in the predicate function.
* If thisArg is omitted, undefined is used as the this value.
*/
- some(predicate: (value: number, index: number, array: Int8Array) => unknown, thisArg?: any): boolean;
+ some(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;
/**
* Sorts an array.
* @param compareFn Function used to determine the order of the elements. It is expected to return
@@ -2099,9 +2105,9 @@
* at begin, inclusive, up to end, exclusive.
* @param begin The index of the beginning of the array.
* @param end The index of the end of the array.
*/
- subarray(begin?: number, end?: number): Int8Array;
+ subarray(begin?: number, end?: number): Int8Array<TArrayBuffer>;
/**
* Converts a number to a string by using the current locale.
*/
@@ -2112,17 +2118,19 @@
*/
toString(): string;
/** Returns the primitive value of the specified object. */
- valueOf(): Int8Array;
+ valueOf(): this;
[index: number]: number;
}
interface Int8ArrayConstructor {
- readonly prototype: Int8Array;
- new (length: number): Int8Array;
- new (array: ArrayLike<number> | ArrayBufferLike): Int8Array;
- new (buffer: ArrayBufferLike, byteOffset?: number, length?: number): Int8Array;
+ readonly prototype: Int8Array<ArrayBufferLike>;
+ new (length: number): Int8Array<ArrayBuffer>;
+ new (array: ArrayLike<number>): Int8Array<ArrayBuffer>;
+ new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): Int8Array<TArrayBuffer>;
+ new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Int8Array<ArrayBuffer>;
+ new (array: ArrayLike<number> | ArrayBuffer): Int8Array<ArrayBuffer>;
/**
* The size in bytes of each element in the array.
*/
@@ -2131,40 +2139,40 @@
/**
* Returns a new array from a set of elements.
* @param items A set of elements to include in the new array object.
*/
- of(...items: number[]): Int8Array;
+ of(...items: number[]): Int8Array<ArrayBuffer>;
/**
* Creates an array from an array-like or iterable object.
- * @param arrayLike An array-like or iterable object to convert to an array.
+ * @param arrayLike An array-like object to convert to an array.
*/
- from(arrayLike: ArrayLike<number>): Int8Array;
+ from(arrayLike: ArrayLike<number>): Int8Array<ArrayBuffer>;
/**
* Creates an array from an array-like or iterable object.
- * @param arrayLike An array-like or iterable object to convert to an array.
+ * @param arrayLike An array-like 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>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Int8Array;
+ from<T>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Int8Array<ArrayBuffer>;
}
declare var Int8Array: Int8ArrayConstructor;
/**
* 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 {
+interface Uint8Array<TArrayBuffer extends ArrayBufferLike = ArrayBufferLike> {
/**
* The size in bytes of each element in the array.
*/
readonly BYTES_PER_ELEMENT: number;
/**
* The ArrayBuffer instance referenced by the array.
*/
- readonly buffer: ArrayBufferLike;
+ readonly buffer: TArrayBuffer;
/**
* The length in bytes of the array.
*/
@@ -2193,9 +2201,9 @@
* which is coercible to the Boolean value false, or until the end of the array.
* @param thisArg An object to which the this keyword can refer in the predicate function.
* If thisArg is omitted, undefined is used as the this value.
*/
- every(predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any): boolean;
+ every(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;
/**
* Changes all array elements from `start` to `end` index to a static `value` and returns the modified array
* @param value value to fill array section with
@@ -2212,9 +2220,9 @@
* the predicate function one time for each element in the array.
* @param thisArg An object to which the this keyword can refer in the predicate function.
* If thisArg is omitted, undefined is used as the this value.
*/
- filter(predicate: (value: number, index: number, array: Uint8Array) => any, thisArg?: any): Uint8Array;
+ filter(predicate: (value: number, index: number, array: this) => any, thisArg?: any): Uint8Array<ArrayBuffer>;
/**
* Returns the value of the first element in the array where predicate is true, and undefined
* otherwise.
@@ -2223,9 +2231,9 @@
* immediately returns that element value. Otherwise, find returns undefined.
* @param thisArg If provided, it will be used as the this value for each invocation of
* predicate. If it is not provided, undefined is used instead.
*/
- find(predicate: (value: number, index: number, obj: Uint8Array) => boolean, thisArg?: any): number | undefined;
+ find(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number | undefined;
/**
* Returns the index of the first element in the array where predicate is true, and -1
* otherwise.
@@ -2234,24 +2242,24 @@
* findIndex immediately returns that element index. Otherwise, findIndex returns -1.
* @param thisArg If provided, it will be used as the this value for each invocation of
* predicate. If it is not provided, undefined is used instead.
*/
- findIndex(predicate: (value: number, index: number, obj: Uint8Array) => boolean, thisArg?: any): number;
+ findIndex(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number;
/**
* Performs the specified action for each element in an array.
- * @param callbackfn A function that accepts up to three arguments. forEach calls the
+ * @param callbackfn A function that accepts up to three arguments. forEach calls the
* callbackfn function one time for each element in the array.
- * @param thisArg An object to which the this keyword can refer in the callbackfn function.
+ * @param thisArg An object to which the this keyword can refer in the callbackfn function.
* If thisArg is omitted, undefined is used as the this value.
*/
- forEach(callbackfn: (value: number, index: number, array: Uint8Array) => void, thisArg?: any): void;
+ forEach(callbackfn: (value: number, index: number, array: this) => void, thisArg?: any): void;
/**
* Returns the index of the first occurrence of a value in an array.
* @param searchElement The value to locate in the array.
* @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the
- * search starts at index 0.
+ * search starts at index 0.
*/
indexOf(searchElement: number, fromIndex?: number): number;
/**
@@ -2281,9 +2289,9 @@
* callbackfn function one time for each element in the array.
* @param thisArg An object to which the this keyword can refer in the callbackfn function.
* If thisArg is omitted, undefined is used as the this value.
*/
- map(callbackfn: (value: number, index: number, array: Uint8Array) => number, thisArg?: any): Uint8Array;
+ map(callbackfn: (value: number, index: number, array: this) => number, thisArg?: any): Uint8Array<ArrayBuffer>;
/**
* Calls the specified callback function for all the elements in an array. The return value of
* the callback function is the accumulated result, and is provided as an argument in the next
@@ -2293,10 +2301,10 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an argument
* instead of an array value.
*/
- reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number): number;
- reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue: number): number;
+ reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;
+ reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;
/**
* Calls the specified callback function for all the elements in an array. The return value of
* the callback function is the accumulated result, and is provided as an argument in the next
@@ -2306,9 +2314,9 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an argument
* instead of an array value.
*/
- reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8Array) => U, initialValue: U): U;
+ reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;
/**
* Calls the specified callback function for all the elements in an array, in descending order.
* The return value of the callback function is the accumulated result, and is provided as an
@@ -2318,10 +2326,10 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an
* argument instead of an array value.
*/
- reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number): number;
- reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue: number): number;
+ reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;
+ reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;
/**
* Calls the specified callback function for all the elements in an array, in descending order.
* The return value of the callback function is the accumulated result, and is provided as an
@@ -2331,14 +2339,14 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an argument
* instead of an array value.
*/
- reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8Array) => U, initialValue: U): U;
+ reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;
/**
* Reverses the elements in an Array.
*/
- reverse(): Uint8Array;
+ reverse(): this;
/**
* Sets a value or an array of values.
* @param array A typed or untyped array of values to set.
@@ -2350,9 +2358,9 @@
* Returns a section of an array.
* @param start The beginning of the specified portion of the array.
* @param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'.
*/
- slice(start?: number, end?: number): Uint8Array;
+ slice(start?: number, end?: number): Uint8Array<ArrayBuffer>;
/**
* Determines whether the specified callback function returns true for any element of an array.
* @param predicate A function that accepts up to three arguments. The some method calls
@@ -2360,9 +2368,9 @@
* which is coercible to the Boolean value true, or until the end of the array.
* @param thisArg An object to which the this keyword can refer in the predicate function.
* If thisArg is omitted, undefined is used as the this value.
*/
- some(predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any): boolean;
+ some(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;
/**
* Sorts an array.
* @param compareFn Function used to determine the order of the elements. It is expected to return
@@ -2379,9 +2387,9 @@
* at begin, inclusive, up to end, exclusive.
* @param begin The index of the beginning of the array.
* @param end The index of the end of the array.
*/
- subarray(begin?: number, end?: number): Uint8Array;
+ subarray(begin?: number, end?: number): Uint8Array<TArrayBuffer>;
/**
* Converts a number to a string by using the current locale.
*/
@@ -2392,18 +2400,19 @@
*/
toString(): string;
/** Returns the primitive value of the specified object. */
- valueOf(): Uint8Array;
+ valueOf(): this;
[index: number]: number;
}
-
interface Uint8ArrayConstructor {
- readonly prototype: Uint8Array;
- new (length: number): Uint8Array;
- new (array: ArrayLike<number> | ArrayBufferLike): Uint8Array;
- new (buffer: ArrayBufferLike, byteOffset?: number, length?: number): Uint8Array;
+ readonly prototype: Uint8Array<ArrayBufferLike>;
+ new (length: number): Uint8Array<ArrayBuffer>;
+ new (array: ArrayLike<number>): Uint8Array<ArrayBuffer>;
+ new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): Uint8Array<TArrayBuffer>;
+ new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint8Array<ArrayBuffer>;
+ new (array: ArrayLike<number> | ArrayBuffer): Uint8Array<ArrayBuffer>;
/**
* The size in bytes of each element in the array.
*/
@@ -2412,40 +2421,40 @@
/**
* Returns a new array from a set of elements.
* @param items A set of elements to include in the new array object.
*/
- of(...items: number[]): Uint8Array;
+ of(...items: number[]): Uint8Array<ArrayBuffer>;
/**
* Creates an array from an array-like or iterable object.
- * @param arrayLike An array-like or iterable object to convert to an array.
+ * @param arrayLike An array-like object to convert to an array.
*/
- from(arrayLike: ArrayLike<number>): Uint8Array;
+ from(arrayLike: ArrayLike<number>): Uint8Array<ArrayBuffer>;
/**
* Creates an array from an array-like or iterable object.
- * @param arrayLike An array-like or iterable object to convert to an array.
+ * @param arrayLike An array-like 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>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8Array;
+ from<T>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8Array<ArrayBuffer>;
}
declare var Uint8Array: Uint8ArrayConstructor;
/**
* 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 {
+interface Uint8ClampedArray<TArrayBuffer extends ArrayBufferLike = ArrayBufferLike> {
/**
* The size in bytes of each element in the array.
*/
readonly BYTES_PER_ELEMENT: number;
/**
* The ArrayBuffer instance referenced by the array.
*/
- readonly buffer: ArrayBufferLike;
+ readonly buffer: TArrayBuffer;
/**
* The length in bytes of the array.
*/
@@ -2474,9 +2483,9 @@
* which is coercible to the Boolean value false, or until the end of the array.
* @param thisArg An object to which the this keyword can refer in the predicate function.
* If thisArg is omitted, undefined is used as the this value.
*/
- every(predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any): boolean;
+ every(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;
/**
* Changes all array elements from `start` to `end` index to a static `value` and returns the modified array
* @param value value to fill array section with
@@ -2493,9 +2502,9 @@
* the predicate function one time for each element in the array.
* @param thisArg An object to which the this keyword can refer in the predicate function.
* If thisArg is omitted, undefined is used as the this value.
*/
- filter(predicate: (value: number, index: number, array: Uint8ClampedArray) => any, thisArg?: any): Uint8ClampedArray;
+ filter(predicate: (value: number, index: number, array: this) => any, thisArg?: any): Uint8ClampedArray<ArrayBuffer>;
/**
* Returns the value of the first element in the array where predicate is true, and undefined
* otherwise.
@@ -2504,9 +2513,9 @@
* immediately returns that element value. Otherwise, find returns undefined.
* @param thisArg If provided, it will be used as the this value for each invocation of
* predicate. If it is not provided, undefined is used instead.
*/
- find(predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any): number | undefined;
+ find(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number | undefined;
/**
* Returns the index of the first element in the array where predicate is true, and -1
* otherwise.
@@ -2515,24 +2524,24 @@
* findIndex immediately returns that element index. Otherwise, findIndex returns -1.
* @param thisArg If provided, it will be used as the this value for each invocation of
* predicate. If it is not provided, undefined is used instead.
*/
- findIndex(predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any): number;
+ findIndex(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number;
/**
* Performs the specified action for each element in an array.
- * @param callbackfn A function that accepts up to three arguments. forEach calls the
+ * @param callbackfn A function that accepts up to three arguments. forEach calls the
* callbackfn function one time for each element in the array.
- * @param thisArg An object to which the this keyword can refer in the callbackfn function.
+ * @param thisArg An object to which the this keyword can refer in the callbackfn function.
* If thisArg is omitted, undefined is used as the this value.
*/
- forEach(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => void, thisArg?: any): void;
+ forEach(callbackfn: (value: number, index: number, array: this) => void, thisArg?: any): void;
/**
* Returns the index of the first occurrence of a value in an array.
* @param searchElement The value to locate in the array.
* @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the
- * search starts at index 0.
+ * search starts at index 0.
*/
indexOf(searchElement: number, fromIndex?: number): number;
/**
@@ -2562,9 +2571,9 @@
* callbackfn function one time for each element in the array.
* @param thisArg An object to which the this keyword can refer in the callbackfn function.
* If thisArg is omitted, undefined is used as the this value.
*/
- map(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => number, thisArg?: any): Uint8ClampedArray;
+ map(callbackfn: (value: number, index: number, array: this) => number, thisArg?: any): Uint8ClampedArray<ArrayBuffer>;
/**
* Calls the specified callback function for all the elements in an array. The return value of
* the callback function is the accumulated result, and is provided as an argument in the next
@@ -2574,10 +2583,10 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an argument
* instead of an array value.
*/
- reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
- reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
+ reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;
+ reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;
/**
* Calls the specified callback function for all the elements in an array. The return value of
* the callback function is the accumulated result, and is provided as an argument in the next
@@ -2587,9 +2596,9 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an argument
* instead of an array value.
*/
- reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U;
+ reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;
/**
* Calls the specified callback function for all the elements in an array, in descending order.
* The return value of the callback function is the accumulated result, and is provided as an
@@ -2599,10 +2608,10 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an
* argument instead of an array value.
*/
- reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;
- reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;
+ reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;
+ reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;
/**
* Calls the specified callback function for all the elements in an array, in descending order.
* The return value of the callback function is the accumulated result, and is provided as an
@@ -2612,14 +2621,14 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an argument
* instead of an array value.
*/
- reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U;
+ reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;
/**
* Reverses the elements in an Array.
*/
- reverse(): Uint8ClampedArray;
+ reverse(): this;
/**
* Sets a value or an array of values.
* @param array A typed or untyped array of values to set.
@@ -2631,9 +2640,9 @@
* Returns a section of an array.
* @param start The beginning of the specified portion of the array.
* @param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'.
*/
- slice(start?: number, end?: number): Uint8ClampedArray;
+ slice(start?: number, end?: number): Uint8ClampedArray<ArrayBuffer>;
/**
* Determines whether the specified callback function returns true for any element of an array.
* @param predicate A function that accepts up to three arguments. The some method calls
@@ -2641,9 +2650,9 @@
* which is coercible to the Boolean value true, or until the end of the array.
* @param thisArg An object to which the this keyword can refer in the predicate function.
* If thisArg is omitted, undefined is used as the this value.
*/
- some(predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any): boolean;
+ some(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;
/**
* Sorts an array.
* @param compareFn Function used to determine the order of the elements. It is expected to return
@@ -2660,9 +2669,9 @@
* at begin, inclusive, up to end, exclusive.
* @param begin The index of the beginning of the array.
* @param end The index of the end of the array.
*/
- subarray(begin?: number, end?: number): Uint8ClampedArray;
+ subarray(begin?: number, end?: number): Uint8ClampedArray<TArrayBuffer>;
/**
* Converts a number to a string by using the current locale.
*/
@@ -2673,18 +2682,19 @@
*/
toString(): string;
/** Returns the primitive value of the specified object. */
- valueOf(): Uint8ClampedArray;
+ valueOf(): this;
[index: number]: number;
}
-
interface Uint8ClampedArrayConstructor {
- readonly prototype: Uint8ClampedArray;
- new (length: number): Uint8ClampedArray;
- new (array: ArrayLike<number> | ArrayBufferLike): Uint8ClampedArray;
- new (buffer: ArrayBufferLike, byteOffset?: number, length?: number): Uint8ClampedArray;
+ readonly prototype: Uint8ClampedArray<ArrayBufferLike>;
+ new (length: number): Uint8ClampedArray<ArrayBuffer>;
+ new (array: ArrayLike<number>): Uint8ClampedArray<ArrayBuffer>;
+ new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): Uint8ClampedArray<TArrayBuffer>;
+ new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint8ClampedArray<ArrayBuffer>;
+ new (array: ArrayLike<number> | ArrayBuffer): Uint8ClampedArray<ArrayBuffer>;
/**
* The size in bytes of each element in the array.
*/
@@ -2693,40 +2703,40 @@
/**
* Returns a new array from a set of elements.
* @param items A set of elements to include in the new array object.
*/
- of(...items: number[]): Uint8ClampedArray;
+ of(...items: number[]): Uint8ClampedArray<ArrayBuffer>;
/**
* Creates an array from an array-like or iterable object.
- * @param arrayLike An array-like or iterable object to convert to an array.
+ * @param arrayLike An array-like object to convert to an array.
*/
- from(arrayLike: ArrayLike<number>): Uint8ClampedArray;
+ from(arrayLike: ArrayLike<number>): Uint8ClampedArray<ArrayBuffer>;
/**
* Creates an array from an array-like or iterable object.
- * @param arrayLike An array-like or iterable object to convert to an array.
+ * @param arrayLike An array-like 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>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8ClampedArray;
+ from<T>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8ClampedArray<ArrayBuffer>;
}
declare var Uint8ClampedArray: Uint8ClampedArrayConstructor;
/**
* 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 {
+interface Int16Array<TArrayBuffer extends ArrayBufferLike = ArrayBufferLike> {
/**
* The size in bytes of each element in the array.
*/
readonly BYTES_PER_ELEMENT: number;
/**
* The ArrayBuffer instance referenced by the array.
*/
- readonly buffer: ArrayBufferLike;
+ readonly buffer: TArrayBuffer;
/**
* The length in bytes of the array.
*/
@@ -2755,9 +2765,9 @@
* which is coercible to the Boolean value false, or until the end of the array.
* @param thisArg An object to which the this keyword can refer in the predicate function.
* If thisArg is omitted, undefined is used as the this value.
*/
- every(predicate: (value: number, index: number, array: Int16Array) => unknown, thisArg?: any): boolean;
+ every(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;
/**
* Changes all array elements from `start` to `end` index to a static `value` and returns the modified array
* @param value value to fill array section with
@@ -2774,9 +2784,9 @@
* the predicate function one time for each element in the array.
* @param thisArg An object to which the this keyword can refer in the predicate function.
* If thisArg is omitted, undefined is used as the this value.
*/
- filter(predicate: (value: number, index: number, array: Int16Array) => any, thisArg?: any): Int16Array;
+ filter(predicate: (value: number, index: number, array: this) => any, thisArg?: any): Int16Array<ArrayBuffer>;
/**
* Returns the value of the first element in the array where predicate is true, and undefined
* otherwise.
@@ -2785,9 +2795,9 @@
* immediately returns that element value. Otherwise, find returns undefined.
* @param thisArg If provided, it will be used as the this value for each invocation of
* predicate. If it is not provided, undefined is used instead.
*/
- find(predicate: (value: number, index: number, obj: Int16Array) => boolean, thisArg?: any): number | undefined;
+ find(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number | undefined;
/**
* Returns the index of the first element in the array where predicate is true, and -1
* otherwise.
@@ -2796,23 +2806,23 @@
* findIndex immediately returns that element index. Otherwise, findIndex returns -1.
* @param thisArg If provided, it will be used as the this value for each invocation of
* predicate. If it is not provided, undefined is used instead.
*/
- findIndex(predicate: (value: number, index: number, obj: Int16Array) => boolean, thisArg?: any): number;
+ findIndex(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number;
/**
* Performs the specified action for each element in an array.
- * @param callbackfn A function that accepts up to three arguments. forEach calls the
+ * @param callbackfn A function that accepts up to three arguments. forEach calls the
* callbackfn function one time for each element in the array.
- * @param thisArg An object to which the this keyword can refer in the callbackfn function.
+ * @param thisArg An object to which the this keyword can refer in the callbackfn function.
* If thisArg is omitted, undefined is used as the this value.
*/
- forEach(callbackfn: (value: number, index: number, array: Int16Array) => void, thisArg?: any): void;
+ forEach(callbackfn: (value: number, index: number, array: this) => void, thisArg?: any): void;
/**
* Returns the index of the first occurrence of a value in an array.
* @param searchElement The value to locate in the array.
* @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the
- * search starts at index 0.
+ * search starts at index 0.
*/
indexOf(searchElement: number, fromIndex?: number): number;
/**
@@ -2842,9 +2852,9 @@
* callbackfn function one time for each element in the array.
* @param thisArg An object to which the this keyword can refer in the callbackfn function.
* If thisArg is omitted, undefined is used as the this value.
*/
- map(callbackfn: (value: number, index: number, array: Int16Array) => number, thisArg?: any): Int16Array;
+ map(callbackfn: (value: number, index: number, array: this) => number, thisArg?: any): Int16Array<ArrayBuffer>;
/**
* Calls the specified callback function for all the elements in an array. The return value of
* the callback function is the accumulated result, and is provided as an argument in the next
@@ -2854,10 +2864,10 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an argument
* instead of an array value.
*/
- reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int16Array) => number): number;
- reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int16Array) => number, initialValue: number): number;
+ reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;
+ reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;
/**
* Calls the specified callback function for all the elements in an array. The return value of
* the callback function is the accumulated result, and is provided as an argument in the next
@@ -2867,9 +2877,9 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an argument
* instead of an array value.
*/
- reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int16Array) => U, initialValue: U): U;
+ reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;
/**
* Calls the specified callback function for all the elements in an array, in descending order.
* The return value of the callback function is the accumulated result, and is provided as an
@@ -2879,10 +2889,10 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an
* argument instead of an array value.
*/
- reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int16Array) => number): number;
- reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int16Array) => number, initialValue: number): number;
+ reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;
+ reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;
/**
* Calls the specified callback function for all the elements in an array, in descending order.
* The return value of the callback function is the accumulated result, and is provided as an
@@ -2892,14 +2902,14 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an argument
* instead of an array value.
*/
- reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int16Array) => U, initialValue: U): U;
+ reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;
/**
* Reverses the elements in an Array.
*/
- reverse(): Int16Array;
+ reverse(): this;
/**
* Sets a value or an array of values.
* @param array A typed or untyped array of values to set.
@@ -2911,9 +2921,9 @@
* Returns a section of an array.
* @param start The beginning of the specified portion of the array.
* @param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'.
*/
- slice(start?: number, end?: number): Int16Array;
+ slice(start?: number, end?: number): Int16Array<ArrayBuffer>;
/**
* Determines whether the specified callback function returns true for any element of an array.
* @param predicate A function that accepts up to three arguments. The some method calls
@@ -2921,9 +2931,9 @@
* which is coercible to the Boolean value true, or until the end of the array.
* @param thisArg An object to which the this keyword can refer in the predicate function.
* If thisArg is omitted, undefined is used as the this value.
*/
- some(predicate: (value: number, index: number, array: Int16Array) => unknown, thisArg?: any): boolean;
+ some(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;
/**
* Sorts an array.
* @param compareFn Function used to determine the order of the elements. It is expected to return
@@ -2940,9 +2950,9 @@
* at begin, inclusive, up to end, exclusive.
* @param begin The index of the beginning of the array.
* @param end The index of the end of the array.
*/
- subarray(begin?: number, end?: number): Int16Array;
+ subarray(begin?: number, end?: number): Int16Array<TArrayBuffer>;
/**
* Converts a number to a string by using the current locale.
*/
@@ -2953,18 +2963,19 @@
*/
toString(): string;
/** Returns the primitive value of the specified object. */
- valueOf(): Int16Array;
+ valueOf(): this;
[index: number]: number;
}
-
interface Int16ArrayConstructor {
- readonly prototype: Int16Array;
- new (length: number): Int16Array;
- new (array: ArrayLike<number> | ArrayBufferLike): Int16Array;
- new (buffer: ArrayBufferLike, byteOffset?: number, length?: number): Int16Array;
+ readonly prototype: Int16Array<ArrayBufferLike>;
+ new (length: number): Int16Array<ArrayBuffer>;
+ new (array: ArrayLike<number>): Int16Array<ArrayBuffer>;
+ new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): Int16Array<TArrayBuffer>;
+ new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Int16Array<ArrayBuffer>;
+ new (array: ArrayLike<number> | ArrayBuffer): Int16Array<ArrayBuffer>;
/**
* The size in bytes of each element in the array.
*/
@@ -2973,40 +2984,40 @@
/**
* Returns a new array from a set of elements.
* @param items A set of elements to include in the new array object.
*/
- of(...items: number[]): Int16Array;
+ of(...items: number[]): Int16Array<ArrayBuffer>;
/**
* Creates an array from an array-like or iterable object.
- * @param arrayLike An array-like or iterable object to convert to an array.
+ * @param arrayLike An array-like object to convert to an array.
*/
- from(arrayLike: ArrayLike<number>): Int16Array;
+ from(arrayLike: ArrayLike<number>): Int16Array<ArrayBuffer>;
/**
* Creates an array from an array-like or iterable object.
- * @param arrayLike An array-like or iterable object to convert to an array.
+ * @param arrayLike An array-like 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>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Int16Array;
+ from<T>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Int16Array<ArrayBuffer>;
}
declare var Int16Array: Int16ArrayConstructor;
/**
* 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 {
+interface Uint16Array<TArrayBuffer extends ArrayBufferLike = ArrayBufferLike> {
/**
* The size in bytes of each element in the array.
*/
readonly BYTES_PER_ELEMENT: number;
/**
* The ArrayBuffer instance referenced by the array.
*/
- readonly buffer: ArrayBufferLike;
+ readonly buffer: TArrayBuffer;
/**
* The length in bytes of the array.
*/
@@ -3035,9 +3046,9 @@
* which is coercible to the Boolean value false, or until the end of the array.
* @param thisArg An object to which the this keyword can refer in the predicate function.
* If thisArg is omitted, undefined is used as the this value.
*/
- every(predicate: (value: number, index: number, array: Uint16Array) => unknown, thisArg?: any): boolean;
+ every(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;
/**
* Changes all array elements from `start` to `end` index to a static `value` and returns the modified array
* @param value value to fill array section with
@@ -3054,9 +3065,9 @@
* the predicate function one time for each element in the array.
* @param thisArg An object to which the this keyword can refer in the predicate function.
* If thisArg is omitted, undefined is used as the this value.
*/
- filter(predicate: (value: number, index: number, array: Uint16Array) => any, thisArg?: any): Uint16Array;
+ filter(predicate: (value: number, index: number, array: this) => any, thisArg?: any): Uint16Array<ArrayBuffer>;
/**
* Returns the value of the first element in the array where predicate is true, and undefined
* otherwise.
@@ -3065,9 +3076,9 @@
* immediately returns that element value. Otherwise, find returns undefined.
* @param thisArg If provided, it will be used as the this value for each invocation of
* predicate. If it is not provided, undefined is used instead.
*/
- find(predicate: (value: number, index: number, obj: Uint16Array) => boolean, thisArg?: any): number | undefined;
+ find(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number | undefined;
/**
* Returns the index of the first element in the array where predicate is true, and -1
* otherwise.
@@ -3076,24 +3087,24 @@
* findIndex immediately returns that element index. Otherwise, findIndex returns -1.
* @param thisArg If provided, it will be used as the this value for each invocation of
* predicate. If it is not provided, undefined is used instead.
*/
- findIndex(predicate: (value: number, index: number, obj: Uint16Array) => boolean, thisArg?: any): number;
+ findIndex(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number;
/**
* Performs the specified action for each element in an array.
- * @param callbackfn A function that accepts up to three arguments. forEach calls the
+ * @param callbackfn A function that accepts up to three arguments. forEach calls the
* callbackfn function one time for each element in the array.
- * @param thisArg An object to which the this keyword can refer in the callbackfn function.
+ * @param thisArg An object to which the this keyword can refer in the callbackfn function.
* If thisArg is omitted, undefined is used as the this value.
*/
- forEach(callbackfn: (value: number, index: number, array: Uint16Array) => void, thisArg?: any): void;
+ forEach(callbackfn: (value: number, index: number, array: this) => void, thisArg?: any): void;
/**
* Returns the index of the first occurrence of a value in an array.
* @param searchElement The value to locate in the array.
* @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the
- * search starts at index 0.
+ * search starts at index 0.
*/
indexOf(searchElement: number, fromIndex?: number): number;
/**
@@ -3123,9 +3134,9 @@
* callbackfn function one time for each element in the array.
* @param thisArg An object to which the this keyword can refer in the callbackfn function.
* If thisArg is omitted, undefined is used as the this value.
*/
- map(callbackfn: (value: number, index: number, array: Uint16Array) => number, thisArg?: any): Uint16Array;
+ map(callbackfn: (value: number, index: number, array: this) => number, thisArg?: any): Uint16Array<ArrayBuffer>;
/**
* Calls the specified callback function for all the elements in an array. The return value of
* the callback function is the accumulated result, and is provided as an argument in the next
@@ -3135,10 +3146,10 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an argument
* instead of an array value.
*/
- reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint16Array) => number): number;
- reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint16Array) => number, initialValue: number): number;
+ reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;
+ reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;
/**
* Calls the specified callback function for all the elements in an array. The return value of
* the callback function is the accumulated result, and is provided as an argument in the next
@@ -3148,9 +3159,9 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an argument
* instead of an array value.
*/
- reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint16Array) => U, initialValue: U): U;
+ reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;
/**
* Calls the specified callback function for all the elements in an array, in descending order.
* The return value of the callback function is the accumulated result, and is provided as an
@@ -3160,10 +3171,10 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an
* argument instead of an array value.
*/
- reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint16Array) => number): number;
- reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint16Array) => number, initialValue: number): number;
+ reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;
+ reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;
/**
* Calls the specified callback function for all the elements in an array, in descending order.
* The return value of the callback function is the accumulated result, and is provided as an
@@ -3173,14 +3184,14 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an argument
* instead of an array value.
*/
- reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint16Array) => U, initialValue: U): U;
+ reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;
/**
* Reverses the elements in an Array.
*/
- reverse(): Uint16Array;
+ reverse(): this;
/**
* Sets a value or an array of values.
* @param array A typed or untyped array of values to set.
@@ -3192,9 +3203,9 @@
* Returns a section of an array.
* @param start The beginning of the specified portion of the array.
* @param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'.
*/
- slice(start?: number, end?: number): Uint16Array;
+ slice(start?: number, end?: number): Uint16Array<ArrayBuffer>;
/**
* Determines whether the specified callback function returns true for any element of an array.
* @param predicate A function that accepts up to three arguments. The some method calls
@@ -3202,9 +3213,9 @@
* which is coercible to the Boolean value true, or until the end of the array.
* @param thisArg An object to which the this keyword can refer in the predicate function.
* If thisArg is omitted, undefined is used as the this value.
*/
- some(predicate: (value: number, index: number, array: Uint16Array) => unknown, thisArg?: any): boolean;
+ some(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;
/**
* Sorts an array.
* @param compareFn Function used to determine the order of the elements. It is expected to return
@@ -3221,9 +3232,9 @@
* at begin, inclusive, up to end, exclusive.
* @param begin The index of the beginning of the array.
* @param end The index of the end of the array.
*/
- subarray(begin?: number, end?: number): Uint16Array;
+ subarray(begin?: number, end?: number): Uint16Array<TArrayBuffer>;
/**
* Converts a number to a string by using the current locale.
*/
@@ -3234,18 +3245,19 @@
*/
toString(): string;
/** Returns the primitive value of the specified object. */
- valueOf(): Uint16Array;
+ valueOf(): this;
[index: number]: number;
}
-
interface Uint16ArrayConstructor {
- readonly prototype: Uint16Array;
- new (length: number): Uint16Array;
- new (array: ArrayLike<number> | ArrayBufferLike): Uint16Array;
- new (buffer: ArrayBufferLike, byteOffset?: number, length?: number): Uint16Array;
+ readonly prototype: Uint16Array<ArrayBufferLike>;
+ new (length: number): Uint16Array<ArrayBuffer>;
+ new (array: ArrayLike<number>): Uint16Array<ArrayBuffer>;
+ new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): Uint16Array<TArrayBuffer>;
+ new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint16Array<ArrayBuffer>;
+ new (array: ArrayLike<number> | ArrayBuffer): Uint16Array<ArrayBuffer>;
/**
* The size in bytes of each element in the array.
*/
@@ -3254,39 +3266,39 @@
/**
* Returns a new array from a set of elements.
* @param items A set of elements to include in the new array object.
*/
- of(...items: number[]): Uint16Array;
+ of(...items: number[]): Uint16Array<ArrayBuffer>;
/**
* Creates an array from an array-like or iterable object.
- * @param arrayLike An array-like or iterable object to convert to an array.
+ * @param arrayLike An array-like object to convert to an array.
*/
- from(arrayLike: ArrayLike<number>): Uint16Array;
+ from(arrayLike: ArrayLike<number>): Uint16Array<ArrayBuffer>;
/**
* Creates an array from an array-like or iterable object.
- * @param arrayLike An array-like or iterable object to convert to an array.
+ * @param arrayLike An array-like 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>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Uint16Array;
+ from<T>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Uint16Array<ArrayBuffer>;
}
declare var Uint16Array: Uint16ArrayConstructor;
/**
* 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 {
+interface Int32Array<TArrayBuffer extends ArrayBufferLike = ArrayBufferLike> {
/**
* The size in bytes of each element in the array.
*/
readonly BYTES_PER_ELEMENT: number;
/**
* The ArrayBuffer instance referenced by the array.
*/
- readonly buffer: ArrayBufferLike;
+ readonly buffer: TArrayBuffer;
/**
* The length in bytes of the array.
*/
@@ -3315,9 +3327,9 @@
* which is coercible to the Boolean value false, or until the end of the array.
* @param thisArg An object to which the this keyword can refer in the predicate function.
* If thisArg is omitted, undefined is used as the this value.
*/
- every(predicate: (value: number, index: number, array: Int32Array) => unknown, thisArg?: any): boolean;
+ every(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;
/**
* Changes all array elements from `start` to `end` index to a static `value` and returns the modified array
* @param value value to fill array section with
@@ -3334,9 +3346,9 @@
* the predicate function one time for each element in the array.
* @param thisArg An object to which the this keyword can refer in the predicate function.
* If thisArg is omitted, undefined is used as the this value.
*/
- filter(predicate: (value: number, index: number, array: Int32Array) => any, thisArg?: any): Int32Array;
+ filter(predicate: (value: number, index: number, array: this) => any, thisArg?: any): Int32Array<ArrayBuffer>;
/**
* Returns the value of the first element in the array where predicate is true, and undefined
* otherwise.
@@ -3345,9 +3357,9 @@
* immediately returns that element value. Otherwise, find returns undefined.
* @param thisArg If provided, it will be used as the this value for each invocation of
* predicate. If it is not provided, undefined is used instead.
*/
- find(predicate: (value: number, index: number, obj: Int32Array) => boolean, thisArg?: any): number | undefined;
+ find(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number | undefined;
/**
* Returns the index of the first element in the array where predicate is true, and -1
* otherwise.
@@ -3356,24 +3368,24 @@
* findIndex immediately returns that element index. Otherwise, findIndex returns -1.
* @param thisArg If provided, it will be used as the this value for each invocation of
* predicate. If it is not provided, undefined is used instead.
*/
- findIndex(predicate: (value: number, index: number, obj: Int32Array) => boolean, thisArg?: any): number;
+ findIndex(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number;
/**
* Performs the specified action for each element in an array.
- * @param callbackfn A function that accepts up to three arguments. forEach calls the
+ * @param callbackfn A function that accepts up to three arguments. forEach calls the
* callbackfn function one time for each element in the array.
- * @param thisArg An object to which the this keyword can refer in the callbackfn function.
+ * @param thisArg An object to which the this keyword can refer in the callbackfn function.
* If thisArg is omitted, undefined is used as the this value.
*/
- forEach(callbackfn: (value: number, index: number, array: Int32Array) => void, thisArg?: any): void;
+ forEach(callbackfn: (value: number, index: number, array: this) => void, thisArg?: any): void;
/**
* Returns the index of the first occurrence of a value in an array.
* @param searchElement The value to locate in the array.
* @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the
- * search starts at index 0.
+ * search starts at index 0.
*/
indexOf(searchElement: number, fromIndex?: number): number;
/**
@@ -3403,9 +3415,9 @@
* callbackfn function one time for each element in the array.
* @param thisArg An object to which the this keyword can refer in the callbackfn function.
* If thisArg is omitted, undefined is used as the this value.
*/
- map(callbackfn: (value: number, index: number, array: Int32Array) => number, thisArg?: any): Int32Array;
+ map(callbackfn: (value: number, index: number, array: this) => number, thisArg?: any): Int32Array<ArrayBuffer>;
/**
* Calls the specified callback function for all the elements in an array. The return value of
* the callback function is the accumulated result, and is provided as an argument in the next
@@ -3415,10 +3427,10 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an argument
* instead of an array value.
*/
- reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int32Array) => number): number;
- reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int32Array) => number, initialValue: number): number;
+ reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;
+ reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;
/**
* Calls the specified callback function for all the elements in an array. The return value of
* the callback function is the accumulated result, and is provided as an argument in the next
@@ -3428,9 +3440,9 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an argument
* instead of an array value.
*/
- reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int32Array) => U, initialValue: U): U;
+ reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;
/**
* Calls the specified callback function for all the elements in an array, in descending order.
* The return value of the callback function is the accumulated result, and is provided as an
@@ -3440,10 +3452,10 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an
* argument instead of an array value.
*/
- reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int32Array) => number): number;
- reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int32Array) => number, initialValue: number): number;
+ reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;
+ reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;
/**
* Calls the specified callback function for all the elements in an array, in descending order.
* The return value of the callback function is the accumulated result, and is provided as an
@@ -3453,14 +3465,14 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an argument
* instead of an array value.
*/
- reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int32Array) => U, initialValue: U): U;
+ reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;
/**
* Reverses the elements in an Array.
*/
- reverse(): Int32Array;
+ reverse(): this;
/**
* Sets a value or an array of values.
* @param array A typed or untyped array of values to set.
@@ -3472,9 +3484,9 @@
* Returns a section of an array.
* @param start The beginning of the specified portion of the array.
* @param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'.
*/
- slice(start?: number, end?: number): Int32Array;
+ slice(start?: number, end?: number): Int32Array<ArrayBuffer>;
/**
* Determines whether the specified callback function returns true for any element of an array.
* @param predicate A function that accepts up to three arguments. The some method calls
@@ -3482,9 +3494,9 @@
* which is coercible to the Boolean value true, or until the end of the array.
* @param thisArg An object to which the this keyword can refer in the predicate function.
* If thisArg is omitted, undefined is used as the this value.
*/
- some(predicate: (value: number, index: number, array: Int32Array) => unknown, thisArg?: any): boolean;
+ some(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;
/**
* Sorts an array.
* @param compareFn Function used to determine the order of the elements. It is expected to return
@@ -3501,9 +3513,9 @@
* at begin, inclusive, up to end, exclusive.
* @param begin The index of the beginning of the array.
* @param end The index of the end of the array.
*/
- subarray(begin?: number, end?: number): Int32Array;
+ subarray(begin?: number, end?: number): Int32Array<TArrayBuffer>;
/**
* Converts a number to a string by using the current locale.
*/
@@ -3514,18 +3526,19 @@
*/
toString(): string;
/** Returns the primitive value of the specified object. */
- valueOf(): Int32Array;
+ valueOf(): this;
[index: number]: number;
}
-
interface Int32ArrayConstructor {
- readonly prototype: Int32Array;
- new (length: number): Int32Array;
- new (array: ArrayLike<number> | ArrayBufferLike): Int32Array;
- new (buffer: ArrayBufferLike, byteOffset?: number, length?: number): Int32Array;
+ readonly prototype: Int32Array<ArrayBufferLike>;
+ new (length: number): Int32Array<ArrayBuffer>;
+ new (array: ArrayLike<number>): Int32Array<ArrayBuffer>;
+ new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): Int32Array<TArrayBuffer>;
+ new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Int32Array<ArrayBuffer>;
+ new (array: ArrayLike<number> | ArrayBuffer): Int32Array<ArrayBuffer>;
/**
* The size in bytes of each element in the array.
*/
@@ -3534,40 +3547,40 @@
/**
* Returns a new array from a set of elements.
* @param items A set of elements to include in the new array object.
*/
- of(...items: number[]): Int32Array;
+ of(...items: number[]): Int32Array<ArrayBuffer>;
/**
* Creates an array from an array-like or iterable object.
- * @param arrayLike An array-like or iterable object to convert to an array.
+ * @param arrayLike An array-like object to convert to an array.
*/
- from(arrayLike: ArrayLike<number>): Int32Array;
+ from(arrayLike: ArrayLike<number>): Int32Array<ArrayBuffer>;
/**
* Creates an array from an array-like or iterable object.
- * @param arrayLike An array-like or iterable object to convert to an array.
+ * @param arrayLike An array-like 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>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Int32Array;
+ from<T>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Int32Array<ArrayBuffer>;
}
declare var Int32Array: Int32ArrayConstructor;
/**
* 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 {
+interface Uint32Array<TArrayBuffer extends ArrayBufferLike = ArrayBufferLike> {
/**
* The size in bytes of each element in the array.
*/
readonly BYTES_PER_ELEMENT: number;
/**
* The ArrayBuffer instance referenced by the array.
*/
- readonly buffer: ArrayBufferLike;
+ readonly buffer: TArrayBuffer;
/**
* The length in bytes of the array.
*/
@@ -3596,9 +3609,9 @@
* which is coercible to the Boolean value false, or until the end of the array.
* @param thisArg An object to which the this keyword can refer in the predicate function.
* If thisArg is omitted, undefined is used as the this value.
*/
- every(predicate: (value: number, index: number, array: Uint32Array) => unknown, thisArg?: any): boolean;
+ every(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;
/**
* Changes all array elements from `start` to `end` index to a static `value` and returns the modified array
* @param value value to fill array section with
@@ -3615,9 +3628,9 @@
* the predicate function one time for each element in the array.
* @param thisArg An object to which the this keyword can refer in the predicate function.
* If thisArg is omitted, undefined is used as the this value.
*/
- filter(predicate: (value: number, index: number, array: Uint32Array) => any, thisArg?: any): Uint32Array;
+ filter(predicate: (value: number, index: number, array: this) => any, thisArg?: any): Uint32Array<ArrayBuffer>;
/**
* Returns the value of the first element in the array where predicate is true, and undefined
* otherwise.
@@ -3626,9 +3639,9 @@
* immediately returns that element value. Otherwise, find returns undefined.
* @param thisArg If provided, it will be used as the this value for each invocation of
* predicate. If it is not provided, undefined is used instead.
*/
- find(predicate: (value: number, index: number, obj: Uint32Array) => boolean, thisArg?: any): number | undefined;
+ find(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number | undefined;
/**
* Returns the index of the first element in the array where predicate is true, and -1
* otherwise.
@@ -3637,23 +3650,23 @@
* findIndex immediately returns that element index. Otherwise, findIndex returns -1.
* @param thisArg If provided, it will be used as the this value for each invocation of
* predicate. If it is not provided, undefined is used instead.
*/
- findIndex(predicate: (value: number, index: number, obj: Uint32Array) => boolean, thisArg?: any): number;
+ findIndex(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number;
/**
* Performs the specified action for each element in an array.
- * @param callbackfn A function that accepts up to three arguments. forEach calls the
+ * @param callbackfn A function that accepts up to three arguments. forEach calls the
* callbackfn function one time for each element in the array.
- * @param thisArg An object to which the this keyword can refer in the callbackfn function.
+ * @param thisArg An object to which the this keyword can refer in the callbackfn function.
* If thisArg is omitted, undefined is used as the this value.
*/
- forEach(callbackfn: (value: number, index: number, array: Uint32Array) => void, thisArg?: any): void;
+ forEach(callbackfn: (value: number, index: number, array: this) => void, thisArg?: any): void;
/**
* Returns the index of the first occurrence of a value in an array.
* @param searchElement The value to locate in the array.
* @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the
- * search starts at index 0.
+ * search starts at index 0.
*/
indexOf(searchElement: number, fromIndex?: number): number;
/**
@@ -3683,9 +3696,9 @@
* callbackfn function one time for each element in the array.
* @param thisArg An object to which the this keyword can refer in the callbackfn function.
* If thisArg is omitted, undefined is used as the this value.
*/
- map(callbackfn: (value: number, index: number, array: Uint32Array) => number, thisArg?: any): Uint32Array;
+ map(callbackfn: (value: number, index: number, array: this) => number, thisArg?: any): Uint32Array<ArrayBuffer>;
/**
* Calls the specified callback function for all the elements in an array. The return value of
* the callback function is the accumulated result, and is provided as an argument in the next
@@ -3695,10 +3708,10 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an argument
* instead of an array value.
*/
- reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint32Array) => number): number;
- reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint32Array) => number, initialValue: number): number;
+ reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;
+ reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;
/**
* Calls the specified callback function for all the elements in an array. The return value of
* the callback function is the accumulated result, and is provided as an argument in the next
@@ -3708,9 +3721,9 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an argument
* instead of an array value.
*/
- reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint32Array) => U, initialValue: U): U;
+ reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;
/**
* Calls the specified callback function for all the elements in an array, in descending order.
* The return value of the callback function is the accumulated result, and is provided as an
@@ -3720,10 +3733,10 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an
* argument instead of an array value.
*/
- reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint32Array) => number): number;
- reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint32Array) => number, initialValue: number): number;
+ reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;
+ reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;
/**
* Calls the specified callback function for all the elements in an array, in descending order.
* The return value of the callback function is the accumulated result, and is provided as an
@@ -3733,14 +3746,14 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an argument
* instead of an array value.
*/
- reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint32Array) => U, initialValue: U): U;
+ reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;
/**
* Reverses the elements in an Array.
*/
- reverse(): Uint32Array;
+ reverse(): this;
/**
* Sets a value or an array of values.
* @param array A typed or untyped array of values to set.
@@ -3752,9 +3765,9 @@
* Returns a section of an array.
* @param start The beginning of the specified portion of the array.
* @param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'.
*/
- slice(start?: number, end?: number): Uint32Array;
+ slice(start?: number, end?: number): Uint32Array<ArrayBuffer>;
/**
* Determines whether the specified callback function returns true for any element of an array.
* @param predicate A function that accepts up to three arguments. The some method calls
@@ -3762,9 +3775,9 @@
* which is coercible to the Boolean value true, or until the end of the array.
* @param thisArg An object to which the this keyword can refer in the predicate function.
* If thisArg is omitted, undefined is used as the this value.
*/
- some(predicate: (value: number, index: number, array: Uint32Array) => unknown, thisArg?: any): boolean;
+ some(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;
/**
* Sorts an array.
* @param compareFn Function used to determine the order of the elements. It is expected to return
@@ -3781,9 +3794,9 @@
* at begin, inclusive, up to end, exclusive.
* @param begin The index of the beginning of the array.
* @param end The index of the end of the array.
*/
- subarray(begin?: number, end?: number): Uint32Array;
+ subarray(begin?: number, end?: number): Uint32Array<TArrayBuffer>;
/**
* Converts a number to a string by using the current locale.
*/
@@ -3794,18 +3807,19 @@
*/
toString(): string;
/** Returns the primitive value of the specified object. */
- valueOf(): Uint32Array;
+ valueOf(): this;
[index: number]: number;
}
-
interface Uint32ArrayConstructor {
- readonly prototype: Uint32Array;
- new (length: number): Uint32Array;
- new (array: ArrayLike<number> | ArrayBufferLike): Uint32Array;
- new (buffer: ArrayBufferLike, byteOffset?: number, length?: number): Uint32Array;
+ readonly prototype: Uint32Array<ArrayBufferLike>;
+ new (length: number): Uint32Array<ArrayBuffer>;
+ new (array: ArrayLike<number>): Uint32Array<ArrayBuffer>;
+ new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): Uint32Array<TArrayBuffer>;
+ new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint32Array<ArrayBuffer>;
+ new (array: ArrayLike<number> | ArrayBuffer): Uint32Array<ArrayBuffer>;
/**
* The size in bytes of each element in the array.
*/
@@ -3814,40 +3828,40 @@
/**
* Returns a new array from a set of elements.
* @param items A set of elements to include in the new array object.
*/
- of(...items: number[]): Uint32Array;
+ of(...items: number[]): Uint32Array<ArrayBuffer>;
/**
* Creates an array from an array-like or iterable object.
- * @param arrayLike An array-like or iterable object to convert to an array.
+ * @param arrayLike An array-like object to convert to an array.
*/
- from(arrayLike: ArrayLike<number>): Uint32Array;
+ from(arrayLike: ArrayLike<number>): Uint32Array<ArrayBuffer>;
/**
* Creates an array from an array-like or iterable object.
- * @param arrayLike An array-like or iterable object to convert to an array.
+ * @param arrayLike An array-like 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>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Uint32Array;
+ from<T>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Uint32Array<ArrayBuffer>;
}
declare var Uint32Array: Uint32ArrayConstructor;
/**
* 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 {
+interface Float32Array<TArrayBuffer extends ArrayBufferLike = ArrayBufferLike> {
/**
* The size in bytes of each element in the array.
*/
readonly BYTES_PER_ELEMENT: number;
/**
* The ArrayBuffer instance referenced by the array.
*/
- readonly buffer: ArrayBufferLike;
+ readonly buffer: TArrayBuffer;
/**
* The length in bytes of the array.
*/
@@ -3876,9 +3890,9 @@
* which is coercible to the Boolean value false, or until the end of the array.
* @param thisArg An object to which the this keyword can refer in the predicate function.
* If thisArg is omitted, undefined is used as the this value.
*/
- every(predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any): boolean;
+ every(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;
/**
* Changes all array elements from `start` to `end` index to a static `value` and returns the modified array
* @param value value to fill array section with
@@ -3895,9 +3909,9 @@
* the predicate function one time for each element in the array.
* @param thisArg An object to which the this keyword can refer in the predicate function.
* If thisArg is omitted, undefined is used as the this value.
*/
- filter(predicate: (value: number, index: number, array: Float32Array) => any, thisArg?: any): Float32Array;
+ filter(predicate: (value: number, index: number, array: this) => any, thisArg?: any): Float32Array<ArrayBuffer>;
/**
* Returns the value of the first element in the array where predicate is true, and undefined
* otherwise.
@@ -3906,9 +3920,9 @@
* immediately returns that element value. Otherwise, find returns undefined.
* @param thisArg If provided, it will be used as the this value for each invocation of
* predicate. If it is not provided, undefined is used instead.
*/
- find(predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any): number | undefined;
+ find(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number | undefined;
/**
* Returns the index of the first element in the array where predicate is true, and -1
* otherwise.
@@ -3917,24 +3931,24 @@
* findIndex immediately returns that element index. Otherwise, findIndex returns -1.
* @param thisArg If provided, it will be used as the this value for each invocation of
* predicate. If it is not provided, undefined is used instead.
*/
- findIndex(predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any): number;
+ findIndex(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number;
/**
* Performs the specified action for each element in an array.
- * @param callbackfn A function that accepts up to three arguments. forEach calls the
+ * @param callbackfn A function that accepts up to three arguments. forEach calls the
* callbackfn function one time for each element in the array.
- * @param thisArg An object to which the this keyword can refer in the callbackfn function.
+ * @param thisArg An object to which the this keyword can refer in the callbackfn function.
* If thisArg is omitted, undefined is used as the this value.
*/
- forEach(callbackfn: (value: number, index: number, array: Float32Array) => void, thisArg?: any): void;
+ forEach(callbackfn: (value: number, index: number, array: this) => void, thisArg?: any): void;
/**
* Returns the index of the first occurrence of a value in an array.
* @param searchElement The value to locate in the array.
* @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the
- * search starts at index 0.
+ * search starts at index 0.
*/
indexOf(searchElement: number, fromIndex?: number): number;
/**
@@ -3964,9 +3978,9 @@
* callbackfn function one time for each element in the array.
* @param thisArg An object to which the this keyword can refer in the callbackfn function.
* If thisArg is omitted, undefined is used as the this value.
*/
- map(callbackfn: (value: number, index: number, array: Float32Array) => number, thisArg?: any): Float32Array;
+ map(callbackfn: (value: number, index: number, array: this) => number, thisArg?: any): Float32Array<ArrayBuffer>;
/**
* Calls the specified callback function for all the elements in an array. The return value of
* the callback function is the accumulated result, and is provided as an argument in the next
@@ -3976,10 +3990,10 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an argument
* instead of an array value.
*/
- reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
- reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
+ reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;
+ reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;
/**
* Calls the specified callback function for all the elements in an array. The return value of
* the callback function is the accumulated result, and is provided as an argument in the next
@@ -3989,9 +4003,9 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an argument
* instead of an array value.
*/
- reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U;
+ reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;
/**
* Calls the specified callback function for all the elements in an array, in descending order.
* The return value of the callback function is the accumulated result, and is provided as an
@@ -4001,10 +4015,10 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an
* argument instead of an array value.
*/
- reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
- reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
+ reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;
+ reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;
/**
* Calls the specified callback function for all the elements in an array, in descending order.
* The return value of the callback function is the accumulated result, and is provided as an
@@ -4014,14 +4028,14 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an argument
* instead of an array value.
*/
- reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U;
+ reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;
/**
* Reverses the elements in an Array.
*/
- reverse(): Float32Array;
+ reverse(): this;
/**
* Sets a value or an array of values.
* @param array A typed or untyped array of values to set.
@@ -4033,9 +4047,9 @@
* Returns a section of an array.
* @param start The beginning of the specified portion of the array.
* @param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'.
*/
- slice(start?: number, end?: number): Float32Array;
+ slice(start?: number, end?: number): Float32Array<ArrayBuffer>;
/**
* Determines whether the specified callback function returns true for any element of an array.
* @param predicate A function that accepts up to three arguments. The some method calls
@@ -4043,9 +4057,9 @@
* which is coercible to the Boolean value true, or until the end of the array.
* @param thisArg An object to which the this keyword can refer in the predicate function.
* If thisArg is omitted, undefined is used as the this value.
*/
- some(predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any): boolean;
+ some(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;
/**
* Sorts an array.
* @param compareFn Function used to determine the order of the elements. It is expected to return
@@ -4062,9 +4076,9 @@
* at begin, inclusive, up to end, exclusive.
* @param begin The index of the beginning of the array.
* @param end The index of the end of the array.
*/
- subarray(begin?: number, end?: number): Float32Array;
+ subarray(begin?: number, end?: number): Float32Array<TArrayBuffer>;
/**
* Converts a number to a string by using the current locale.
*/
@@ -4075,18 +4089,19 @@
*/
toString(): string;
/** Returns the primitive value of the specified object. */
- valueOf(): Float32Array;
+ valueOf(): this;
[index: number]: number;
}
-
interface Float32ArrayConstructor {
- readonly prototype: Float32Array;
- new (length: number): Float32Array;
- new (array: ArrayLike<number> | ArrayBufferLike): Float32Array;
- new (buffer: ArrayBufferLike, byteOffset?: number, length?: number): Float32Array;
+ readonly prototype: Float32Array<ArrayBufferLike>;
+ new (length: number): Float32Array<ArrayBuffer>;
+ new (array: ArrayLike<number>): Float32Array<ArrayBuffer>;
+ new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): Float32Array<TArrayBuffer>;
+ new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Float32Array<ArrayBuffer>;
+ new (array: ArrayLike<number> | ArrayBuffer): Float32Array<ArrayBuffer>;
/**
* The size in bytes of each element in the array.
*/
@@ -4095,40 +4110,40 @@
/**
* Returns a new array from a set of elements.
* @param items A set of elements to include in the new array object.
*/
- of(...items: number[]): Float32Array;
+ of(...items: number[]): Float32Array<ArrayBuffer>;
/**
* Creates an array from an array-like or iterable object.
- * @param arrayLike An array-like or iterable object to convert to an array.
+ * @param arrayLike An array-like object to convert to an array.
*/
- from(arrayLike: ArrayLike<number>): Float32Array;
+ from(arrayLike: ArrayLike<number>): Float32Array<ArrayBuffer>;
/**
* Creates an array from an array-like or iterable object.
- * @param arrayLike An array-like or iterable object to convert to an array.
+ * @param arrayLike An array-like 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>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Float32Array;
+ from<T>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Float32Array<ArrayBuffer>;
}
declare var Float32Array: Float32ArrayConstructor;
/**
* 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 {
+interface Float64Array<TArrayBuffer extends ArrayBufferLike = ArrayBufferLike> {
/**
* The size in bytes of each element in the array.
*/
readonly BYTES_PER_ELEMENT: number;
/**
* The ArrayBuffer instance referenced by the array.
*/
- readonly buffer: ArrayBufferLike;
+ readonly buffer: TArrayBuffer;
/**
* The length in bytes of the array.
*/
@@ -4157,9 +4172,9 @@
* which is coercible to the Boolean value false, or until the end of the array.
* @param thisArg An object to which the this keyword can refer in the predicate function.
* If thisArg is omitted, undefined is used as the this value.
*/
- every(predicate: (value: number, index: number, array: Float64Array) => unknown, thisArg?: any): boolean;
+ every(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;
/**
* Changes all array elements from `start` to `end` index to a static `value` and returns the modified array
* @param value value to fill array section with
@@ -4176,9 +4191,9 @@
* the predicate function one time for each element in the array.
* @param thisArg An object to which the this keyword can refer in the predicate function.
* If thisArg is omitted, undefined is used as the this value.
*/
- filter(predicate: (value: number, index: number, array: Float64Array) => any, thisArg?: any): Float64Array;
+ filter(predicate: (value: number, index: number, array: this) => any, thisArg?: any): Float64Array<ArrayBuffer>;
/**
* Returns the value of the first element in the array where predicate is true, and undefined
* otherwise.
@@ -4187,9 +4202,9 @@
* immediately returns that element value. Otherwise, find returns undefined.
* @param thisArg If provided, it will be used as the this value for each invocation of
* predicate. If it is not provided, undefined is used instead.
*/
- find(predicate: (value: number, index: number, obj: Float64Array) => boolean, thisArg?: any): number | undefined;
+ find(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number | undefined;
/**
* Returns the index of the first element in the array where predicate is true, and -1
* otherwise.
@@ -4198,24 +4213,24 @@
* findIndex immediately returns that element index. Otherwise, findIndex returns -1.
* @param thisArg If provided, it will be used as the this value for each invocation of
* predicate. If it is not provided, undefined is used instead.
*/
- findIndex(predicate: (value: number, index: number, obj: Float64Array) => boolean, thisArg?: any): number;
+ findIndex(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number;
/**
* Performs the specified action for each element in an array.
- * @param callbackfn A function that accepts up to three arguments. forEach calls the
+ * @param callbackfn A function that accepts up to three arguments. forEach calls the
* callbackfn function one time for each element in the array.
- * @param thisArg An object to which the this keyword can refer in the callbackfn function.
+ * @param thisArg An object to which the this keyword can refer in the callbackfn function.
* If thisArg is omitted, undefined is used as the this value.
*/
- forEach(callbackfn: (value: number, index: number, array: Float64Array) => void, thisArg?: any): void;
+ forEach(callbackfn: (value: number, index: number, array: this) => void, thisArg?: any): void;
/**
* Returns the index of the first occurrence of a value in an array.
* @param searchElement The value to locate in the array.
* @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the
- * search starts at index 0.
+ * search starts at index 0.
*/
indexOf(searchElement: number, fromIndex?: number): number;
/**
@@ -4245,9 +4260,9 @@
* callbackfn function one time for each element in the array.
* @param thisArg An object to which the this keyword can refer in the callbackfn function.
* If thisArg is omitted, undefined is used as the this value.
*/
- map(callbackfn: (value: number, index: number, array: Float64Array) => number, thisArg?: any): Float64Array;
+ map(callbackfn: (value: number, index: number, array: this) => number, thisArg?: any): Float64Array<ArrayBuffer>;
/**
* Calls the specified callback function for all the elements in an array. The return value of
* the callback function is the accumulated result, and is provided as an argument in the next
@@ -4257,10 +4272,10 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an argument
* instead of an array value.
*/
- reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float64Array) => number): number;
- reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float64Array) => number, initialValue: number): number;
+ reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;
+ reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;
/**
* Calls the specified callback function for all the elements in an array. The return value of
* the callback function is the accumulated result, and is provided as an argument in the next
@@ -4270,9 +4285,9 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an argument
* instead of an array value.
*/
- reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float64Array) => U, initialValue: U): U;
+ reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;
/**
* Calls the specified callback function for all the elements in an array, in descending order.
* The return value of the callback function is the accumulated result, and is provided as an
@@ -4282,10 +4297,10 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an
* argument instead of an array value.
*/
- reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float64Array) => number): number;
- reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float64Array) => number, initialValue: number): number;
+ reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;
+ reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;
/**
* Calls the specified callback function for all the elements in an array, in descending order.
* The return value of the callback function is the accumulated result, and is provided as an
@@ -4295,14 +4310,14 @@
* @param initialValue If initialValue is specified, it is used as the initial value to start
* the accumulation. The first call to the callbackfn function provides this value as an argument
* instead of an array value.
*/
- reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float64Array) => U, initialValue: U): U;
+ reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;
/**
* Reverses the elements in an Array.
*/
- reverse(): Float64Array;
+ reverse(): this;
/**
* Sets a value or an array of values.
* @param array A typed or untyped array of values to set.
@@ -4314,9 +4329,9 @@
* Returns a section of an array.
* @param start The beginning of the specified portion of the array.
* @param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'.
*/
- slice(start?: number, end?: number): Float64Array;
+ slice(start?: number, end?: number): Float64Array<ArrayBuffer>;
/**
* Determines whether the specified callback function returns true for any element of an array.
* @param predicate A function that accepts up to three arguments. The some method calls
@@ -4324,9 +4339,9 @@
* which is coercible to the Boolean value true, or until the end of the array.
* @param thisArg An object to which the this keyword can refer in the predicate function.
* If thisArg is omitted, undefined is used as the this value.
*/
- some(predicate: (value: number, index: number, array: Float64Array) => unknown, thisArg?: any): boolean;
+ some(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;
/**
* Sorts an array.
* @param compareFn Function used to determine the order of the elements. It is expected to return
@@ -4343,9 +4358,9 @@
* at begin, inclusive, up to end, exclusive.
* @param begin The index of the beginning of the array.
* @param end The index of the end of the array.
*/
- subarray(begin?: number, end?: number): Float64Array;
+ subarray(begin?: number, end?: number): Float64Array<TArrayBuffer>;
/**
* Converts a number to a string by using the current locale.
*/
@@ -4356,18 +4371,19 @@
*/
toString(): string;
/** Returns the primitive value of the specified object. */
- valueOf(): Float64Array;
+ valueOf(): this;
[index: number]: number;
}
-
interface Float64ArrayConstructor {
- readonly prototype: Float64Array;
- new (length: number): Float64Array;
- new (array: ArrayLike<number> | ArrayBufferLike): Float64Array;
- new (buffer: ArrayBufferLike, byteOffset?: number, length?: number): Float64Array;
+ readonly prototype: Float64Array<ArrayBufferLike>;
+ new (length: number): Float64Array<ArrayBuffer>;
+ new (array: ArrayLike<number>): Float64Array<ArrayBuffer>;
+ new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): Float64Array<TArrayBuffer>;
+ new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Float64Array<ArrayBuffer>;
+ new (array: ArrayLike<number> | ArrayBuffer): Float64Array<ArrayBuffer>;
/**
* The size in bytes of each element in the array.
*/
@@ -4376,23 +4392,23 @@
/**
* Returns a new array from a set of elements.
* @param items A set of elements to include in the new array object.
*/
- of(...items: number[]): Float64Array;
+ of(...items: number[]): Float64Array<ArrayBuffer>;
/**
* Creates an array from an array-like or iterable object.
- * @param arrayLike An array-like or iterable object to convert to an array.
+ * @param arrayLike An array-like object to convert to an array.
*/
- from(arrayLike: ArrayLike<number>): Float64Array;
+ from(arrayLike: ArrayLike<number>): Float64Array<ArrayBuffer>;
/**
* Creates an array from an array-like or iterable object.
- * @param arrayLike An array-like or iterable object to convert to an array.
+ * @param arrayLike An array-like 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>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Float64Array;
+ from<T>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Float64Array<ArrayBuffer>;
}
declare var Float64Array: Float64ArrayConstructor;
/////////////////////////////
@@ -4432,14 +4448,35 @@
}
var Collator: CollatorConstructor;
+ interface NumberFormatOptionsStyleRegistry {
+ decimal: never;
+ percent: never;
+ currency: never;
+ }
+
+ type NumberFormatOptionsStyle = keyof NumberFormatOptionsStyleRegistry;
+
+ interface NumberFormatOptionsCurrencyDisplayRegistry {
+ code: never;
+ symbol: never;
+ name: never;
+ }
+
+ type NumberFormatOptionsCurrencyDisplay = keyof NumberFormatOptionsCurrencyDisplayRegistry;
+
+ interface NumberFormatOptionsUseGroupingRegistry {}
+
+ type NumberFormatOptionsUseGrouping = {} extends NumberFormatOptionsUseGroupingRegistry ? boolean : keyof NumberFormatOptionsUseGroupingRegistry | "true" | "false" | boolean;
+ type ResolvedNumberFormatOptionsUseGrouping = {} extends NumberFormatOptionsUseGroupingRegistry ? boolean : keyof NumberFormatOptionsUseGroupingRegistry | false;
+
interface NumberFormatOptions {
- localeMatcher?: string | undefined;
- style?: string | undefined;
+ localeMatcher?: "lookup" | "best fit" | undefined;
+ style?: NumberFormatOptionsStyle | undefined;
currency?: string | undefined;
- currencySign?: string | undefined;
- useGrouping?: boolean | undefined;
+ currencyDisplay?: NumberFormatOptionsCurrencyDisplay | undefined;
+ useGrouping?: NumberFormatOptionsUseGrouping | undefined;
minimumIntegerDigits?: number | undefined;
minimumFractionDigits?: number | undefined;
maximumFractionDigits?: number | undefined;
minimumSignificantDigits?: number | undefined;
@@ -4448,16 +4485,17 @@
interface ResolvedNumberFormatOptions {
locale: string;
numberingSystem: string;
- style: string;
+ style: NumberFormatOptionsStyle;
currency?: string;
+ currencyDisplay?: NumberFormatOptionsCurrencyDisplay;
minimumIntegerDigits: number;
- minimumFractionDigits: number;
- maximumFractionDigits: number;
+ minimumFractionDigits?: number;
+ maximumFractionDigits?: number;
minimumSignificantDigits?: number;
maximumSignificantDigits?: number;
- useGrouping: boolean;
+ useGrouping: ResolvedNumberFormatOptionsUseGrouping;
}
interface NumberFormat {
format(value: number): string;