/*! ***************************************************************************** Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR NON-INFRINGEMENT. See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. ***************************************************************************** */ /// <reference no-default-lib="true"/> ///////////////////////////// /// Window Iterable APIs ///////////////////////////// interface AudioParam { setValueCurveAtTime(values: Iterable<number>, startTime: number, duration: number): AudioParam; } interface AudioParamMap extends ReadonlyMap<string, AudioParam> { } interface BaseAudioContext { createIIRFilter(feedforward: Iterable<number>, feedback: Iterable<number>): IIRFilterNode; createPeriodicWave(real: Iterable<number>, imag: Iterable<number>, constraints?: PeriodicWaveConstraints): PeriodicWave; } interface CSSRuleList { [Symbol.iterator](): IterableIterator<CSSRule>; } interface CSSStyleDeclaration { [Symbol.iterator](): IterableIterator<string>; } interface Cache { addAll(requests: Iterable<RequestInfo>): Promise<void>; } interface CanvasPathDrawingStyles { setLineDash(segments: Iterable<number>): void; } interface DOMRectList { [Symbol.iterator](): IterableIterator<DOMRect>; } interface DOMStringList { [Symbol.iterator](): IterableIterator<string>; } interface DOMTokenList { [Symbol.iterator](): IterableIterator<string>; entries(): IterableIterator<[number, string]>; keys(): IterableIterator<number>; values(): IterableIterator<string>; } interface DataTransferItemList { [Symbol.iterator](): IterableIterator<DataTransferItem>; } interface EventCounts extends ReadonlyMap<string, number> { } interface FileList { [Symbol.iterator](): IterableIterator<File>; } interface FontFaceSet extends Set<FontFace> { } 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<string>; /** Returns a list of values in the list. */ values(): IterableIterator<FormDataEntryValue>; } interface HTMLAllCollection { [Symbol.iterator](): IterableIterator<Element>; } interface HTMLCollectionBase { [Symbol.iterator](): IterableIterator<Element>; } interface HTMLCollectionOf<T extends Element> { [Symbol.iterator](): IterableIterator<T>; } interface HTMLFormElement { [Symbol.iterator](): IterableIterator<Element>; } interface HTMLSelectElement { [Symbol.iterator](): IterableIterator<HTMLOptionElement>; } 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<string>; /** Returns an iterator allowing to go through all values of the key/value pairs contained in this object. */ values(): IterableIterator<string>; } 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. */ transaction(storeNames: string | Iterable<string>, 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. */ createIndex(name: string, keyPath: string | Iterable<string>, options?: IDBIndexParameters): IDBIndex; } interface MediaKeyStatusMap { [Symbol.iterator](): IterableIterator<[BufferSource, MediaKeyStatus]>; entries(): IterableIterator<[BufferSource, MediaKeyStatus]>; keys(): IterableIterator<BufferSource>; values(): IterableIterator<MediaKeyStatus>; } interface MediaList { [Symbol.iterator](): IterableIterator<string>; } interface MessageEvent<T = any> { /** @deprecated */ initMessageEvent(type: string, bubbles?: boolean, cancelable?: boolean, data?: any, origin?: string, lastEventId?: string, source?: MessageEventSource | null, ports?: Iterable<MessagePort>): void; } interface MimeTypeArray { [Symbol.iterator](): IterableIterator<MimeType>; } interface NamedNodeMap { [Symbol.iterator](): IterableIterator<Attr>; } interface Navigator { /** Available only in secure contexts. */ requestMediaKeySystemAccess(keySystem: string, supportedConfigurations: Iterable<MediaKeySystemConfiguration>): Promise<MediaKeySystemAccess>; vibrate(pattern: Iterable<number>): boolean; } interface NodeList { [Symbol.iterator](): IterableIterator<Node>; /** 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<number>; /** Returns an list of values in the list. */ values(): IterableIterator<Node>; } interface NodeListOf<TNode extends Node> { [Symbol.iterator](): IterableIterator<TNode>; /** 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<number>; /** Returns an list of values in the list. */ values(): IterableIterator<TNode>; } interface Plugin { [Symbol.iterator](): IterableIterator<MimeType>; } interface PluginArray { [Symbol.iterator](): IterableIterator<Plugin>; } interface RTCRtpTransceiver { setCodecPreferences(codecs: Iterable<RTCRtpCodecCapability>): void; } interface RTCStatsReport extends ReadonlyMap<string, any> { } interface SVGLengthList { [Symbol.iterator](): IterableIterator<SVGLength>; } interface SVGNumberList { [Symbol.iterator](): IterableIterator<SVGNumber>; } interface SVGPointList { [Symbol.iterator](): IterableIterator<DOMPoint>; } interface SVGStringList { [Symbol.iterator](): IterableIterator<string>; } interface SVGTransformList { [Symbol.iterator](): IterableIterator<SVGTransform>; } interface SourceBufferList { [Symbol.iterator](): IterableIterator<SourceBuffer>; } interface SpeechRecognitionResult { [Symbol.iterator](): IterableIterator<SpeechRecognitionAlternative>; } interface SpeechRecognitionResultList { [Symbol.iterator](): IterableIterator<SpeechRecognitionResult>; } interface StyleSheetList { [Symbol.iterator](): IterableIterator<CSSStyleSheet>; } interface SubtleCrypto { deriveKey(algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params, baseKey: CryptoKey, derivedKeyType: AlgorithmIdentifier | AesDerivedKeyParams | HmacImportParams | HkdfParams | Pbkdf2Params, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<CryptoKey>; generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKeyPair>; generateKey(algorithm: AesKeyGenParams | HmacKeyGenParams | Pbkdf2Params, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>; generateKey(algorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<CryptoKeyPair | CryptoKey>; importKey(format: "jwk", keyData: JsonWebKey, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>; importKey(format: Exclude<KeyFormat, "jwk">, keyData: BufferSource, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<CryptoKey>; unwrapKey(format: KeyFormat, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, unwrappedKeyAlgorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<CryptoKey>; } interface TextTrackCueList { [Symbol.iterator](): IterableIterator<TextTrackCue>; } interface TextTrackList { [Symbol.iterator](): IterableIterator<TextTrack>; } interface TouchList { [Symbol.iterator](): IterableIterator<Touch>; } 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<string>; /** Returns a list of values in the search params. */ values(): IterableIterator<string>; } interface WEBGL_draw_buffers { drawBuffersWEBGL(buffers: Iterable<GLenum>): void; } interface WEBGL_multi_draw { multiDrawArraysInstancedWEBGL(mode: GLenum, firstsList: Int32Array | Iterable<GLint>, firstsOffset: GLuint, countsList: Int32Array | Iterable<GLsizei>, countsOffset: GLuint, instanceCountsList: Int32Array | Iterable<GLsizei>, instanceCountsOffset: GLuint, drawcount: GLsizei): void; multiDrawArraysWEBGL(mode: GLenum, firstsList: Int32Array | Iterable<GLint>, firstsOffset: GLuint, countsList: Int32Array | Iterable<GLsizei>, countsOffset: GLuint, drawcount: GLsizei): void; multiDrawElementsInstancedWEBGL(mode: GLenum, countsList: Int32Array | Iterable<GLint>, countsOffset: GLuint, type: GLenum, offsetsList: Int32Array | Iterable<GLsizei>, offsetsOffset: GLuint, instanceCountsList: Int32Array | Iterable<GLsizei>, instanceCountsOffset: GLuint, drawcount: GLsizei): void; multiDrawElementsWEBGL(mode: GLenum, countsList: Int32Array | Iterable<GLint>, countsOffset: GLuint, type: GLenum, offsetsList: Int32Array | Iterable<GLsizei>, offsetsOffset: GLuint, drawcount: GLsizei): void; } interface WebGL2RenderingContextBase { clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Iterable<GLfloat>, srcOffset?: GLuint): void; clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Iterable<GLint>, srcOffset?: GLuint): void; clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Iterable<GLuint>, srcOffset?: GLuint): void; drawBuffers(buffers: Iterable<GLenum>): void; getActiveUniforms(program: WebGLProgram, uniformIndices: Iterable<GLuint>, pname: GLenum): any; getUniformIndices(program: WebGLProgram, uniformNames: Iterable<string>): Iterable<GLuint> | null; invalidateFramebuffer(target: GLenum, attachments: Iterable<GLenum>): void; invalidateSubFramebuffer(target: GLenum, attachments: Iterable<GLenum>, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; transformFeedbackVaryings(program: WebGLProgram, varyings: Iterable<string>, bufferMode: GLenum): void; uniform1uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: GLuint, srcLength?: GLuint): void; uniform2uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: GLuint, srcLength?: GLuint): void; uniform3uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: GLuint, srcLength?: GLuint): void; uniform4uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: GLuint, srcLength?: GLuint): void; uniformMatrix2x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; uniformMatrix2x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; uniformMatrix3x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; uniformMatrix3x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; uniformMatrix4x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; uniformMatrix4x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; vertexAttribI4iv(index: GLuint, values: Iterable<GLint>): void; vertexAttribI4uiv(index: GLuint, values: Iterable<GLuint>): void; } interface WebGL2RenderingContextOverloads { uniform1fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; uniform1iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: GLuint, srcLength?: GLuint): void; uniform2fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; uniform2iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: GLuint, srcLength?: GLuint): void; uniform3fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; uniform3iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: GLuint, srcLength?: GLuint): void; uniform4fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; uniform4iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: GLuint, srcLength?: GLuint): void; uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; } interface WebGLRenderingContextBase { vertexAttrib1fv(index: GLuint, values: Iterable<GLfloat>): void; vertexAttrib2fv(index: GLuint, values: Iterable<GLfloat>): void; vertexAttrib3fv(index: GLuint, values: Iterable<GLfloat>): void; vertexAttrib4fv(index: GLuint, values: Iterable<GLfloat>): void; } interface WebGLRenderingContextOverloads { uniform1fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void; uniform1iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void; uniform2fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void; uniform2iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void; uniform3fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void; uniform3iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void; uniform4fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void; uniform4iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void; uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Iterable<GLfloat>): void; uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Iterable<GLfloat>): void; uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Iterable<GLfloat>): void; }