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/// Worker Iterable APIs 23///////////////////////////// 24 25interface Cache { 26 addAll(requests: Iterable<RequestInfo>): Promise<void>; 27} 28 29interface CanvasPath { 30 roundRect(x: number, y: number, w: number, h: number, radii?: number | DOMPointInit | Iterable<number | DOMPointInit>): void; 31} 32 33interface CanvasPathDrawingStyles { 34 setLineDash(segments: Iterable<number>): void; 35} 36 37interface DOMStringList { 38 [Symbol.iterator](): IterableIterator<string>; 39} 40 41interface FileList { 42 [Symbol.iterator](): IterableIterator<File>; 43} 44 45interface FontFaceSet extends Set<FontFace> { 46} 47 48interface FormData { 49 [Symbol.iterator](): IterableIterator<[string, FormDataEntryValue]>; 50 /** Returns an array of key, value pairs for every entry in the list. */ 51 entries(): IterableIterator<[string, FormDataEntryValue]>; 52 /** Returns a list of keys in the list. */ 53 keys(): IterableIterator<string>; 54 /** Returns a list of values in the list. */ 55 values(): IterableIterator<FormDataEntryValue>; 56} 57 58interface Headers { 59 [Symbol.iterator](): IterableIterator<[string, string]>; 60 /** Returns an iterator allowing to go through all key/value pairs contained in this object. */ 61 entries(): IterableIterator<[string, string]>; 62 /** Returns an iterator allowing to go through all keys of the key/value pairs contained in this object. */ 63 keys(): IterableIterator<string>; 64 /** Returns an iterator allowing to go through all values of the key/value pairs contained in this object. */ 65 values(): IterableIterator<string>; 66} 67 68interface IDBDatabase { 69 /** 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. */ 70 transaction(storeNames: string | Iterable<string>, mode?: IDBTransactionMode, options?: IDBTransactionOptions): IDBTransaction; 71} 72 73interface IDBObjectStore { 74 /** 75 * 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. 76 * 77 * Throws an "InvalidStateError" DOMException if not called within an upgrade transaction. 78 */ 79 createIndex(name: string, keyPath: string | Iterable<string>, options?: IDBIndexParameters): IDBIndex; 80} 81 82interface MessageEvent<T = any> { 83 /** @deprecated */ 84 initMessageEvent(type: string, bubbles?: boolean, cancelable?: boolean, data?: any, origin?: string, lastEventId?: string, source?: MessageEventSource | null, ports?: Iterable<MessagePort>): void; 85} 86 87interface SubtleCrypto { 88 deriveKey(algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params, baseKey: CryptoKey, derivedKeyType: AlgorithmIdentifier | AesDerivedKeyParams | HmacImportParams | HkdfParams | Pbkdf2Params, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<CryptoKey>; 89 generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKeyPair>; 90 generateKey(algorithm: AesKeyGenParams | HmacKeyGenParams | Pbkdf2Params, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>; 91 generateKey(algorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<CryptoKeyPair | CryptoKey>; 92 importKey(format: "jwk", keyData: JsonWebKey, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>; 93 importKey(format: Exclude<KeyFormat, "jwk">, keyData: BufferSource, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<CryptoKey>; 94 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>; 95} 96 97interface URLSearchParams { 98 [Symbol.iterator](): IterableIterator<[string, string]>; 99 /** Returns an array of key, value pairs for every entry in the search params. */ 100 entries(): IterableIterator<[string, string]>; 101 /** Returns a list of keys in the search params. */ 102 keys(): IterableIterator<string>; 103 /** Returns a list of values in the search params. */ 104 values(): IterableIterator<string>; 105} 106 107interface WEBGL_draw_buffers { 108 drawBuffersWEBGL(buffers: Iterable<GLenum>): void; 109} 110 111interface WEBGL_multi_draw { 112 multiDrawArraysInstancedWEBGL(mode: GLenum, firstsList: Int32Array | Iterable<GLint>, firstsOffset: GLuint, countsList: Int32Array | Iterable<GLsizei>, countsOffset: GLuint, instanceCountsList: Int32Array | Iterable<GLsizei>, instanceCountsOffset: GLuint, drawcount: GLsizei): void; 113 multiDrawArraysWEBGL(mode: GLenum, firstsList: Int32Array | Iterable<GLint>, firstsOffset: GLuint, countsList: Int32Array | Iterable<GLsizei>, countsOffset: GLuint, drawcount: GLsizei): void; 114 multiDrawElementsInstancedWEBGL(mode: GLenum, countsList: Int32Array | Iterable<GLsizei>, countsOffset: GLuint, type: GLenum, offsetsList: Int32Array | Iterable<GLsizei>, offsetsOffset: GLuint, instanceCountsList: Int32Array | Iterable<GLsizei>, instanceCountsOffset: GLuint, drawcount: GLsizei): void; 115 multiDrawElementsWEBGL(mode: GLenum, countsList: Int32Array | Iterable<GLsizei>, countsOffset: GLuint, type: GLenum, offsetsList: Int32Array | Iterable<GLsizei>, offsetsOffset: GLuint, drawcount: GLsizei): void; 116} 117 118interface WebGL2RenderingContextBase { 119 clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Iterable<GLfloat>, srcOffset?: GLuint): void; 120 clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Iterable<GLint>, srcOffset?: GLuint): void; 121 clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Iterable<GLuint>, srcOffset?: GLuint): void; 122 drawBuffers(buffers: Iterable<GLenum>): void; 123 getActiveUniforms(program: WebGLProgram, uniformIndices: Iterable<GLuint>, pname: GLenum): any; 124 getUniformIndices(program: WebGLProgram, uniformNames: Iterable<string>): Iterable<GLuint> | null; 125 invalidateFramebuffer(target: GLenum, attachments: Iterable<GLenum>): void; 126 invalidateSubFramebuffer(target: GLenum, attachments: Iterable<GLenum>, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; 127 transformFeedbackVaryings(program: WebGLProgram, varyings: Iterable<string>, bufferMode: GLenum): void; 128 uniform1uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: GLuint, srcLength?: GLuint): void; 129 uniform2uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: GLuint, srcLength?: GLuint): void; 130 uniform3uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: GLuint, srcLength?: GLuint): void; 131 uniform4uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: GLuint, srcLength?: GLuint): void; 132 uniformMatrix2x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; 133 uniformMatrix2x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; 134 uniformMatrix3x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; 135 uniformMatrix3x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; 136 uniformMatrix4x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; 137 uniformMatrix4x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; 138 vertexAttribI4iv(index: GLuint, values: Iterable<GLint>): void; 139 vertexAttribI4uiv(index: GLuint, values: Iterable<GLuint>): void; 140} 141 142interface WebGL2RenderingContextOverloads { 143 uniform1fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; 144 uniform1iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: GLuint, srcLength?: GLuint): void; 145 uniform2fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; 146 uniform2iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: GLuint, srcLength?: GLuint): void; 147 uniform3fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; 148 uniform3iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: GLuint, srcLength?: GLuint): void; 149 uniform4fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; 150 uniform4iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: GLuint, srcLength?: GLuint): void; 151 uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; 152 uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; 153 uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void; 154} 155 156interface WebGLRenderingContextBase { 157 vertexAttrib1fv(index: GLuint, values: Iterable<GLfloat>): void; 158 vertexAttrib2fv(index: GLuint, values: Iterable<GLfloat>): void; 159 vertexAttrib3fv(index: GLuint, values: Iterable<GLfloat>): void; 160 vertexAttrib4fv(index: GLuint, values: Iterable<GLfloat>): void; 161} 162 163interface WebGLRenderingContextOverloads { 164 uniform1fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void; 165 uniform1iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void; 166 uniform2fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void; 167 uniform2iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void; 168 uniform3fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void; 169 uniform3iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void; 170 uniform4fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void; 171 uniform4iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void; 172 uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Iterable<GLfloat>): void; 173 uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Iterable<GLfloat>): void; 174 uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Iterable<GLfloat>): void; 175} 176