/*! ***************************************************************************** Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR NON-INFRINGEMENT. See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. ***************************************************************************** */ /// ///////////////////////////// /// Window Iterable APIs ///////////////////////////// interface AudioParam { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParam/setValueCurveAtTime) */ setValueCurveAtTime(values: Iterable, startTime: number, duration: number): AudioParam; } interface AudioParamMap extends ReadonlyMap { } interface BaseAudioContext { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createIIRFilter) */ createIIRFilter(feedforward: Iterable, feedback: Iterable): IIRFilterNode; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createPeriodicWave) */ createPeriodicWave(real: Iterable, imag: Iterable, constraints?: PeriodicWaveConstraints): PeriodicWave; } interface CSSKeyframesRule { [Symbol.iterator](): IterableIterator; } interface CSSNumericArray { [Symbol.iterator](): IterableIterator; entries(): IterableIterator<[number, CSSNumericValue]>; keys(): IterableIterator; values(): IterableIterator; } interface CSSRuleList { [Symbol.iterator](): IterableIterator; } interface CSSStyleDeclaration { [Symbol.iterator](): IterableIterator; } interface CSSTransformValue { [Symbol.iterator](): IterableIterator; entries(): IterableIterator<[number, CSSTransformComponent]>; keys(): IterableIterator; values(): IterableIterator; } interface CSSUnparsedValue { [Symbol.iterator](): IterableIterator; entries(): IterableIterator<[number, CSSUnparsedSegment]>; keys(): IterableIterator; values(): IterableIterator; } interface Cache { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Cache/addAll) */ addAll(requests: Iterable): Promise; } interface CanvasPath { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/roundRect) */ roundRect(x: number, y: number, w: number, h: number, radii?: number | DOMPointInit | Iterable): void; } interface CanvasPathDrawingStyles { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/setLineDash) */ setLineDash(segments: Iterable): void; } interface DOMRectList { [Symbol.iterator](): IterableIterator; } interface DOMStringList { [Symbol.iterator](): IterableIterator; } interface DOMTokenList { [Symbol.iterator](): IterableIterator; entries(): IterableIterator<[number, string]>; keys(): IterableIterator; values(): IterableIterator; } interface DataTransferItemList { [Symbol.iterator](): IterableIterator; } interface EventCounts extends ReadonlyMap { } interface FileList { [Symbol.iterator](): IterableIterator; } interface FontFaceSet extends Set { } interface FormData { [Symbol.iterator](): IterableIterator<[string, FormDataEntryValue]>; /** Returns an array of key, value pairs for every entry in the list. */ entries(): IterableIterator<[string, FormDataEntryValue]>; /** Returns a list of keys in the list. */ keys(): IterableIterator; /** Returns a list of values in the list. */ values(): IterableIterator; } interface HTMLAllCollection { [Symbol.iterator](): IterableIterator; } interface HTMLCollectionBase { [Symbol.iterator](): IterableIterator; } interface HTMLCollectionOf { [Symbol.iterator](): IterableIterator; } interface HTMLFormElement { [Symbol.iterator](): IterableIterator; } interface HTMLSelectElement { [Symbol.iterator](): IterableIterator; } interface Headers { [Symbol.iterator](): IterableIterator<[string, string]>; /** Returns an iterator allowing to go through all key/value pairs contained in this object. */ entries(): IterableIterator<[string, string]>; /** Returns an iterator allowing to go through all keys of the key/value pairs contained in this object. */ keys(): IterableIterator; /** Returns an iterator allowing to go through all values of the key/value pairs contained in this object. */ values(): IterableIterator; } interface Highlight extends Set { } interface HighlightRegistry extends Map { } interface IDBDatabase { /** * Returns a new transaction with the given mode ("readonly" or "readwrite") and scope which can be a single object store name or an array of names. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/transaction) */ transaction(storeNames: string | Iterable, mode?: IDBTransactionMode, options?: IDBTransactionOptions): IDBTransaction; } interface IDBObjectStore { /** * Creates a new index in store with the given name, keyPath and options and returns a new IDBIndex. If the keyPath and options define constraints that cannot be satisfied with the data already in store the upgrade transaction will abort with a "ConstraintError" DOMException. * * Throws an "InvalidStateError" DOMException if not called within an upgrade transaction. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/createIndex) */ createIndex(name: string, keyPath: string | Iterable, options?: IDBIndexParameters): IDBIndex; } interface MIDIInputMap extends ReadonlyMap { } interface MIDIOutput { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MIDIOutput/send) */ send(data: Iterable, timestamp?: DOMHighResTimeStamp): void; } interface MIDIOutputMap extends ReadonlyMap { } interface MediaKeyStatusMap { [Symbol.iterator](): IterableIterator<[BufferSource, MediaKeyStatus]>; entries(): IterableIterator<[BufferSource, MediaKeyStatus]>; keys(): IterableIterator; values(): IterableIterator; } interface MediaList { [Symbol.iterator](): IterableIterator; } interface MessageEvent { /** * @deprecated * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageEvent/initMessageEvent) */ initMessageEvent(type: string, bubbles?: boolean, cancelable?: boolean, data?: any, origin?: string, lastEventId?: string, source?: MessageEventSource | null, ports?: Iterable): void; } interface MimeTypeArray { [Symbol.iterator](): IterableIterator; } interface NamedNodeMap { [Symbol.iterator](): IterableIterator; } interface Navigator { /** * Available only in secure contexts. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/requestMediaKeySystemAccess) */ requestMediaKeySystemAccess(keySystem: string, supportedConfigurations: Iterable): Promise; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/vibrate) */ vibrate(pattern: Iterable): boolean; } interface NodeList { [Symbol.iterator](): IterableIterator; /** Returns an array of key, value pairs for every entry in the list. */ entries(): IterableIterator<[number, Node]>; /** Returns an list of keys in the list. */ keys(): IterableIterator; /** Returns an list of values in the list. */ values(): IterableIterator; } interface NodeListOf { [Symbol.iterator](): IterableIterator; /** Returns an array of key, value pairs for every entry in the list. */ entries(): IterableIterator<[number, TNode]>; /** Returns an list of keys in the list. */ keys(): IterableIterator; /** Returns an list of values in the list. */ values(): IterableIterator; } interface Plugin { [Symbol.iterator](): IterableIterator; } interface PluginArray { [Symbol.iterator](): IterableIterator; } interface RTCRtpTransceiver { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpTransceiver/setCodecPreferences) */ setCodecPreferences(codecs: Iterable): void; } interface RTCStatsReport extends ReadonlyMap { } interface SVGLengthList { [Symbol.iterator](): IterableIterator; } interface SVGNumberList { [Symbol.iterator](): IterableIterator; } interface SVGPointList { [Symbol.iterator](): IterableIterator; } interface SVGStringList { [Symbol.iterator](): IterableIterator; } interface SVGTransformList { [Symbol.iterator](): IterableIterator; } interface SourceBufferList { [Symbol.iterator](): IterableIterator; } interface SpeechRecognitionResult { [Symbol.iterator](): IterableIterator; } interface SpeechRecognitionResultList { [Symbol.iterator](): IterableIterator; } interface StylePropertyMapReadOnly { [Symbol.iterator](): IterableIterator<[string, Iterable]>; entries(): IterableIterator<[string, Iterable]>; keys(): IterableIterator; values(): IterableIterator>; } interface StyleSheetList { [Symbol.iterator](): IterableIterator; } interface SubtleCrypto { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/deriveKey) */ deriveKey(algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params, baseKey: CryptoKey, derivedKeyType: AlgorithmIdentifier | AesDerivedKeyParams | HmacImportParams | HkdfParams | Pbkdf2Params, extractable: boolean, keyUsages: Iterable): Promise; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/generateKey) */ generateKey(algorithm: "Ed25519", extractable: boolean, keyUsages: ReadonlyArray<"sign" | "verify">): Promise; generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams, extractable: boolean, keyUsages: ReadonlyArray): Promise; generateKey(algorithm: AesKeyGenParams | HmacKeyGenParams | Pbkdf2Params, extractable: boolean, keyUsages: ReadonlyArray): Promise; generateKey(algorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: Iterable): Promise; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/importKey) */ importKey(format: "jwk", keyData: JsonWebKey, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: ReadonlyArray): Promise; importKey(format: Exclude, keyData: BufferSource, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: Iterable): Promise; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/unwrapKey) */ unwrapKey(format: KeyFormat, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, unwrappedKeyAlgorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: Iterable): Promise; } interface TextTrackCueList { [Symbol.iterator](): IterableIterator; } interface TextTrackList { [Symbol.iterator](): IterableIterator; } interface TouchList { [Symbol.iterator](): IterableIterator; } interface URLSearchParams { [Symbol.iterator](): IterableIterator<[string, string]>; /** Returns an array of key, value pairs for every entry in the search params. */ entries(): IterableIterator<[string, string]>; /** Returns a list of keys in the search params. */ keys(): IterableIterator; /** Returns a list of values in the search params. */ values(): IterableIterator; } interface WEBGL_draw_buffers { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_draw_buffers/drawBuffersWEBGL) */ drawBuffersWEBGL(buffers: Iterable): void; } interface WEBGL_multi_draw { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_multi_draw/multiDrawArraysInstancedWEBGL) */ multiDrawArraysInstancedWEBGL(mode: GLenum, firstsList: Int32Array | Iterable, firstsOffset: number, countsList: Int32Array | Iterable, countsOffset: number, instanceCountsList: Int32Array | Iterable, instanceCountsOffset: number, drawcount: GLsizei): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_multi_draw/multiDrawArraysWEBGL) */ multiDrawArraysWEBGL(mode: GLenum, firstsList: Int32Array | Iterable, firstsOffset: number, countsList: Int32Array | Iterable, countsOffset: number, drawcount: GLsizei): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_multi_draw/multiDrawElementsInstancedWEBGL) */ multiDrawElementsInstancedWEBGL(mode: GLenum, countsList: Int32Array | Iterable, countsOffset: number, type: GLenum, offsetsList: Int32Array | Iterable, offsetsOffset: number, instanceCountsList: Int32Array | Iterable, instanceCountsOffset: number, drawcount: GLsizei): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_multi_draw/multiDrawElementsWEBGL) */ multiDrawElementsWEBGL(mode: GLenum, countsList: Int32Array | Iterable, countsOffset: number, type: GLenum, offsetsList: Int32Array | Iterable, offsetsOffset: number, drawcount: GLsizei): void; } interface WebGL2RenderingContextBase { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clearBuffer) */ clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Iterable, srcOffset?: number): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clearBuffer) */ clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Iterable, srcOffset?: number): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clearBuffer) */ clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Iterable, srcOffset?: number): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/drawBuffers) */ drawBuffers(buffers: Iterable): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getActiveUniforms) */ getActiveUniforms(program: WebGLProgram, uniformIndices: Iterable, pname: GLenum): any; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getUniformIndices) */ getUniformIndices(program: WebGLProgram, uniformNames: Iterable): Iterable | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/invalidateFramebuffer) */ invalidateFramebuffer(target: GLenum, attachments: Iterable): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/invalidateSubFramebuffer) */ invalidateSubFramebuffer(target: GLenum, attachments: Iterable, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/transformFeedbackVaryings) */ transformFeedbackVaryings(program: WebGLProgram, varyings: Iterable, bufferMode: GLenum): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */ uniform1uiv(location: WebGLUniformLocation | null, data: Iterable, srcOffset?: number, srcLength?: GLuint): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */ uniform2uiv(location: WebGLUniformLocation | null, data: Iterable, srcOffset?: number, srcLength?: GLuint): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */ uniform3uiv(location: WebGLUniformLocation | null, data: Iterable, srcOffset?: number, srcLength?: GLuint): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */ uniform4uiv(location: WebGLUniformLocation | null, data: Iterable, srcOffset?: number, srcLength?: GLuint): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */ uniformMatrix2x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable, srcOffset?: number, srcLength?: GLuint): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */ uniformMatrix2x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable, srcOffset?: number, srcLength?: GLuint): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */ uniformMatrix3x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable, srcOffset?: number, srcLength?: GLuint): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */ uniformMatrix3x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable, srcOffset?: number, srcLength?: GLuint): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */ uniformMatrix4x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable, srcOffset?: number, srcLength?: GLuint): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */ uniformMatrix4x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable, srcOffset?: number, srcLength?: GLuint): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/vertexAttribI) */ vertexAttribI4iv(index: GLuint, values: Iterable): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/vertexAttribI) */ vertexAttribI4uiv(index: GLuint, values: Iterable): void; } interface WebGL2RenderingContextOverloads { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */ uniform1fv(location: WebGLUniformLocation | null, data: Iterable, srcOffset?: number, srcLength?: GLuint): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */ uniform1iv(location: WebGLUniformLocation | null, data: Iterable, srcOffset?: number, srcLength?: GLuint): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */ uniform2fv(location: WebGLUniformLocation | null, data: Iterable, srcOffset?: number, srcLength?: GLuint): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */ uniform2iv(location: WebGLUniformLocation | null, data: Iterable, srcOffset?: number, srcLength?: GLuint): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */ uniform3fv(location: WebGLUniformLocation | null, data: Iterable, srcOffset?: number, srcLength?: GLuint): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */ uniform3iv(location: WebGLUniformLocation | null, data: Iterable, srcOffset?: number, srcLength?: GLuint): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */ uniform4fv(location: WebGLUniformLocation | null, data: Iterable, srcOffset?: number, srcLength?: GLuint): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */ uniform4iv(location: WebGLUniformLocation | null, data: Iterable, srcOffset?: number, srcLength?: GLuint): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */ uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable, srcOffset?: number, srcLength?: GLuint): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */ uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable, srcOffset?: number, srcLength?: GLuint): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */ uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable, srcOffset?: number, srcLength?: GLuint): void; } interface WebGLRenderingContextBase { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */ vertexAttrib1fv(index: GLuint, values: Iterable): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */ vertexAttrib2fv(index: GLuint, values: Iterable): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */ vertexAttrib3fv(index: GLuint, values: Iterable): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */ vertexAttrib4fv(index: GLuint, values: Iterable): void; } interface WebGLRenderingContextOverloads { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */ uniform1fv(location: WebGLUniformLocation | null, v: Iterable): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */ uniform1iv(location: WebGLUniformLocation | null, v: Iterable): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */ uniform2fv(location: WebGLUniformLocation | null, v: Iterable): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */ uniform2iv(location: WebGLUniformLocation | null, v: Iterable): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */ uniform3fv(location: WebGLUniformLocation | null, v: Iterable): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */ uniform3iv(location: WebGLUniformLocation | null, v: Iterable): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */ uniform4fv(location: WebGLUniformLocation | null, v: Iterable): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */ uniform4iv(location: WebGLUniformLocation | null, v: Iterable): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */ uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Iterable): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */ uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Iterable): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */ uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Iterable): void; }