• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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