1/*! ***************************************************************************** 2Copyright (c) Microsoft Corporation. All rights reserved. 3Licensed under the Apache License, Version 2.0 (the "License"); you may not use 4this file except in compliance with the License. You may obtain a copy of the 5License at http://www.apache.org/licenses/LICENSE-2.0 6 7THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 8KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED 9WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, 10MERCHANTABLITY OR NON-INFRINGEMENT. 11 12See the Apache Version 2.0 License for specific language governing permissions 13and limitations under the License. 14***************************************************************************** */ 15 16 17 18/// <reference no-default-lib="true"/> 19 20 21///////////////////////////// 22/// DOM Iterable APIs 23///////////////////////////// 24 25interface AudioParam { 26 setValueCurveAtTime(values: Iterable<number>, startTime: number, duration: number): AudioParam; 27} 28 29interface AudioParamMap extends ReadonlyMap<string, AudioParam> { 30} 31 32interface BaseAudioContext { 33 createIIRFilter(feedforward: Iterable<number>, feedback: Iterable<number>): IIRFilterNode; 34 createPeriodicWave(real: Iterable<number>, imag: Iterable<number>, constraints?: PeriodicWaveConstraints): PeriodicWave; 35} 36 37interface CSSRuleList { 38 [Symbol.iterator](): IterableIterator<CSSRule>; 39} 40 41interface CSSStyleDeclaration { 42 [Symbol.iterator](): IterableIterator<string>; 43} 44 45interface Cache { 46 addAll(requests: Iterable<RequestInfo>): Promise<void>; 47} 48 49interface CanvasPathDrawingStyles { 50 setLineDash(segments: Iterable<number>): void; 51} 52 53interface ClientRectList { 54 [Symbol.iterator](): IterableIterator<ClientRect>; 55} 56 57interface DOMRectList { 58 [Symbol.iterator](): IterableIterator<DOMRect>; 59} 60 61interface DOMStringList { 62 [Symbol.iterator](): IterableIterator<string>; 63} 64 65interface DOMTokenList { 66 [Symbol.iterator](): IterableIterator<string>; 67 entries(): IterableIterator<[number, string]>; 68 keys(): IterableIterator<number>; 69 values(): IterableIterator<string>; 70} 71 72interface DataTransferItemList { 73 [Symbol.iterator](): IterableIterator<DataTransferItem>; 74} 75 76interface FileList { 77 [Symbol.iterator](): IterableIterator<File>; 78} 79 80interface FormData { 81 [Symbol.iterator](): IterableIterator<[string, FormDataEntryValue]>; 82 /** 83 * Returns an array of key, value pairs for every entry in the list. 84 */ 85 entries(): IterableIterator<[string, FormDataEntryValue]>; 86 /** 87 * Returns a list of keys in the list. 88 */ 89 keys(): IterableIterator<string>; 90 /** 91 * Returns a list of values in the list. 92 */ 93 values(): IterableIterator<FormDataEntryValue>; 94} 95 96interface HTMLAllCollection { 97 [Symbol.iterator](): IterableIterator<Element>; 98} 99 100interface HTMLCollectionBase { 101 [Symbol.iterator](): IterableIterator<Element>; 102} 103 104interface HTMLCollectionOf<T extends Element> { 105 [Symbol.iterator](): IterableIterator<T>; 106} 107 108interface HTMLFormElement { 109 [Symbol.iterator](): IterableIterator<Element>; 110} 111 112interface HTMLSelectElement { 113 [Symbol.iterator](): IterableIterator<Element>; 114} 115 116interface Headers { 117 [Symbol.iterator](): IterableIterator<[string, string]>; 118 /** 119 * Returns an iterator allowing to go through all key/value pairs contained in this object. 120 */ 121 entries(): IterableIterator<[string, string]>; 122 /** 123 * Returns an iterator allowing to go through all keys of the key/value pairs contained in this object. 124 */ 125 keys(): IterableIterator<string>; 126 /** 127 * Returns an iterator allowing to go through all values of the key/value pairs contained in this object. 128 */ 129 values(): IterableIterator<string>; 130} 131 132interface IDBDatabase { 133 /** 134 * 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. 135 */ 136 transaction(storeNames: string | Iterable<string>, mode?: IDBTransactionMode): IDBTransaction; 137} 138 139interface IDBObjectStore { 140 /** 141 * 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. 142 * 143 * Throws an "InvalidStateError" DOMException if not called within an upgrade transaction. 144 */ 145 createIndex(name: string, keyPath: string | Iterable<string>, options?: IDBIndexParameters): IDBIndex; 146} 147 148interface MediaKeyStatusMap { 149 [Symbol.iterator](): IterableIterator<[BufferSource, MediaKeyStatus]>; 150 entries(): IterableIterator<[BufferSource, MediaKeyStatus]>; 151 keys(): IterableIterator<BufferSource>; 152 values(): IterableIterator<MediaKeyStatus>; 153} 154 155interface MediaList { 156 [Symbol.iterator](): IterableIterator<string>; 157} 158 159interface MimeTypeArray { 160 [Symbol.iterator](): IterableIterator<MimeType>; 161} 162 163interface NamedNodeMap { 164 [Symbol.iterator](): IterableIterator<Attr>; 165} 166 167interface Navigator { 168 requestMediaKeySystemAccess(keySystem: string, supportedConfigurations: Iterable<MediaKeySystemConfiguration>): Promise<MediaKeySystemAccess>; 169} 170 171interface NodeList { 172 [Symbol.iterator](): IterableIterator<Node>; 173 /** 174 * Returns an array of key, value pairs for every entry in the list. 175 */ 176 entries(): IterableIterator<[number, Node]>; 177 /** 178 * Returns an list of keys in the list. 179 */ 180 keys(): IterableIterator<number>; 181 /** 182 * Returns an list of values in the list. 183 */ 184 values(): IterableIterator<Node>; 185} 186 187interface NodeListOf<TNode extends Node> { 188 [Symbol.iterator](): IterableIterator<TNode>; 189 /** 190 * Returns an array of key, value pairs for every entry in the list. 191 */ 192 entries(): IterableIterator<[number, TNode]>; 193 /** 194 * Returns an list of keys in the list. 195 */ 196 keys(): IterableIterator<number>; 197 /** 198 * Returns an list of values in the list. 199 */ 200 values(): IterableIterator<TNode>; 201} 202 203interface Plugin { 204 [Symbol.iterator](): IterableIterator<MimeType>; 205} 206 207interface PluginArray { 208 [Symbol.iterator](): IterableIterator<Plugin>; 209} 210 211interface RTCRtpTransceiver { 212 setCodecPreferences(codecs: Iterable<RTCRtpCodecCapability>): void; 213} 214 215interface RTCStatsReport extends ReadonlyMap<string, any> { 216} 217 218interface SVGLengthList { 219 [Symbol.iterator](): IterableIterator<SVGLength>; 220} 221 222interface SVGNumberList { 223 [Symbol.iterator](): IterableIterator<SVGNumber>; 224} 225 226interface SVGPointList { 227 [Symbol.iterator](): IterableIterator<DOMPoint>; 228} 229 230interface SVGStringList { 231 [Symbol.iterator](): IterableIterator<string>; 232} 233 234interface SourceBufferList { 235 [Symbol.iterator](): IterableIterator<SourceBuffer>; 236} 237 238interface SpeechGrammarList { 239 [Symbol.iterator](): IterableIterator<SpeechGrammar>; 240} 241 242interface SpeechRecognitionResult { 243 [Symbol.iterator](): IterableIterator<SpeechRecognitionAlternative>; 244} 245 246interface SpeechRecognitionResultList { 247 [Symbol.iterator](): IterableIterator<SpeechRecognitionResult>; 248} 249 250interface StyleSheetList { 251 [Symbol.iterator](): IterableIterator<CSSStyleSheet>; 252} 253 254interface TextTrackCueList { 255 [Symbol.iterator](): IterableIterator<TextTrackCue>; 256} 257 258interface TextTrackList { 259 [Symbol.iterator](): IterableIterator<TextTrack>; 260} 261 262interface TouchList { 263 [Symbol.iterator](): IterableIterator<Touch>; 264} 265 266interface URLSearchParams { 267 [Symbol.iterator](): IterableIterator<[string, string]>; 268 /** 269 * Returns an array of key, value pairs for every entry in the search params. 270 */ 271 entries(): IterableIterator<[string, string]>; 272 /** 273 * Returns a list of keys in the search params. 274 */ 275 keys(): IterableIterator<string>; 276 /** 277 * Returns a list of values in the search params. 278 */ 279 values(): IterableIterator<string>; 280} 281 282interface VRDisplay { 283 requestPresent(layers: Iterable<VRLayer>): Promise<void>; 284} 285 286interface WEBGL_draw_buffers { 287 drawBuffersWEBGL(buffers: Iterable<GLenum>): void; 288} 289 290interface WebAuthentication { 291 makeCredential(accountInformation: Account, cryptoParameters: Iterable<ScopedCredentialParameters>, attestationChallenge: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null, options?: ScopedCredentialOptions): Promise<ScopedCredentialInfo>; 292} 293 294interface WebGL2RenderingContextBase { 295 clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Iterable<GLfloat>, srcOffset?: GLuint): void; 296 clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Iterable<GLint>, srcOffset?: GLuint): void; 297 clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Iterable<GLuint>, srcOffset?: GLuint): void; 298 drawBuffers(buffers: Iterable<GLenum>): void; 299 getActiveUniforms(program: WebGLProgram, uniformIndices: Iterable<GLuint>, pname: GLenum): any; 300 getUniformIndices(program: WebGLProgram, uniformNames: Iterable<string>): Iterable<GLuint> | null; 301 invalidateFramebuffer(target: GLenum, attachments: Iterable<GLenum>): void; 302 invalidateSubFramebuffer(target: GLenum, attachments: Iterable<GLenum>, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; 303 transformFeedbackVaryings(program: WebGLProgram, varyings: Iterable<string>, bufferMode: GLenum): void; 304 uniform1uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: GLuint, srcLength?: GLuint): void; 305 uniform2uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: GLuint, srcLength?: GLuint): void; 306 uniform3uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: GLuint, srcLength?: GLuint): void; 307 uniform4uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: GLuint, srcLength?: GLuint): void; 308 uniformMatrix2x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; 309 uniformMatrix2x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; 310 uniformMatrix3x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; 311 uniformMatrix3x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; 312 uniformMatrix4x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; 313 uniformMatrix4x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; 314 vertexAttribI4iv(index: GLuint, values: Iterable<GLint>): void; 315 vertexAttribI4uiv(index: GLuint, values: Iterable<GLuint>): void; 316} 317 318interface WebGL2RenderingContextOverloads { 319 uniform1fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; 320 uniform1iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: GLuint, srcLength?: GLuint): void; 321 uniform2fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; 322 uniform2iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: GLuint, srcLength?: GLuint): void; 323 uniform3fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; 324 uniform3iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: GLuint, srcLength?: GLuint): void; 325 uniform4fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; 326 uniform4iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: GLuint, srcLength?: GLuint): void; 327 uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; 328 uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; 329 uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; 330} 331 332interface WebGLRenderingContextBase { 333 vertexAttrib1fv(index: GLuint, values: Iterable<GLfloat>): void; 334 vertexAttrib2fv(index: GLuint, values: Iterable<GLfloat>): void; 335 vertexAttrib3fv(index: GLuint, values: Iterable<GLfloat>): void; 336 vertexAttrib4fv(index: GLuint, values: Iterable<GLfloat>): void; 337} 338 339interface WebGLRenderingContextOverloads { 340 uniform1fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void; 341 uniform1iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void; 342 uniform2fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void; 343 uniform2iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void; 344 uniform3fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void; 345 uniform3iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void; 346 uniform4fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void; 347 uniform4iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void; 348 uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Iterable<GLfloat>): void; 349 uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Iterable<GLfloat>): void; 350 uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Iterable<GLfloat>): void; 351} 352