From 156df3198f8c2d5c3358c5c201d776095d8a8cbd Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Fri, 11 Dec 2020 22:44:11 +0100 Subject: [PATCH 001/362] chore: fork as types-web --- CODEOWNERS | 1 - README.md | 87 +--------------------------------------------------- build.cmd | 5 --- build.sh | 5 --- package.json | 4 +-- 5 files changed, 3 insertions(+), 99 deletions(-) delete mode 100644 CODEOWNERS delete mode 100644 build.cmd delete mode 100644 build.sh diff --git a/CODEOWNERS b/CODEOWNERS deleted file mode 100644 index e273c4597..000000000 --- a/CODEOWNERS +++ /dev/null @@ -1 +0,0 @@ -* @sandersn \ No newline at end of file diff --git a/README.md b/README.md index c9a0da2bc..d0580a20d 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,4 @@ -# TypeScript and JavaScript lib generator - -Travis CI Status: [![Build Status](https://travis-ci.org/Microsoft/TSJS-lib-generator.svg?branch=master)](https://travis-ci.org/Microsoft/TSJS-lib-generator) - -This tool is used to generate `dom.generated.d.ts`, `webworker.generated.d.ts` and `dom.iterable.generated.d.ts` for TypeScript. -The input file is the JSON webidl file generated by the Microsoft Edge browser. +# types-web ## Build Instructions @@ -24,83 +19,3 @@ To test: ```sh npm run test ``` - -## Contribution Guidelines - -The `dom.generated.d.ts`, `webworker.generated.d.ts` and `dom.iterable.generated.d.ts` files from the TypeScript repo are used as baselines. -For each pull request, we will run the script and compare the generated files with the baseline files. -In order to make the tests pass, please update the baseline as well in any pull requests. - -It's recommended to first check which spec the wrong type belongs to. Say we are to update `IntersectionObserver` which belongs to [`Intersection Observer`](https://www.w3.org/TR/intersection-observer/) spec, and then we can do: - -1. First check we have the spec name `Intersection Observer` in `inputfiles/idlSources.json`. If not, add it. -2. Run `npm run fetch-idl "Intersection Observer" && npm run build && npm run baseline-accept`. - -If the above didn't fix the type issues, we can fix them via json files as a last resort. -There are three json files that are typically used to alter the type generation: `addedTypes.json`, `overridingTypes.json`, and `removedTypes.json`. -`comments.json` can used to add comments to the types. -Finally, `knownTypes.json` determine which types are available in a certain environment in case it couldn't be automatically determined. - -The format of each file can be inferred from their existing content. - -The common steps to send a pull request are: - -0. Open or refer to an issue in the [TypeScript repo](https://github.com/Microsoft/TypeScript). -1. Add missing elements to `inputfiles/addedTypes.json`, overriding elements to `inputfiles/overridingTypes.json`, or elements to remove to `inputfiles/removedTypes.json`. -2. Run the build script locally to obtain new `dom.generated.d.ts` and `webworker.generated.d.ts`. -3. Update the files in the `baselines` folder using the newly generated files - under `generated` folder (`npm run baseline-accept`). - -### What are the TypeScript team's heuristics for PRs to the DOM APIs - -Changes to this repo can have pretty drastic ecosystem effects, because these types are included by default in TypeScript. -Due to this, we tend to be quite conservative with our approach to introducing changes. -To give you a sense of whether we will accept changes, you can use these heuristics to know up-front if we'll be open to merging. - -#### Fixes - -> For example, changing a type on a field, or nullability references - -- Does the PR show examples of the changes being used in spec examples or reputable websites like MDN? -- Did this change come from an IDL update? -- Does the change appear to be high-impact on a well-used API? -- Would the changes introduce a lot of breaking changes to existing code? For example the large corpus of typed code in DefinitelyTyped. - -#### Additions - -> For example, adding a new spec or subsection via a new or updated IDL file - -- Does the new objects or fields show up in [mdn/browser-compat-data](https://github.com/mdn/browser-compat-data)? If not, it's likely too soon. -- Is the IDL source from WHATWG? - - Are the additions available in at least two of Firefox, Safari and Chromium? -- Is the IDL source from W3C? - - What stage of the [W3C process](https://en.wikipedia.org/wiki/World_Wide_Web_Consortium#Specification_maturation) is the proposal for these changes: We aim for Proposed recommendation, but can accept Candidate recommendation for stable looking proposals. - - If it's at Working draft the additions available in all three of Firefox, Safari and Chromium -- Could any types added at the global scope have naming conflicts? -- Are the new features going to be used by a lot of people? - -#### Removals - -> For example, removing a browser-specific section of code - -- Do the removed objects or fields show up in [mdn/browser-compat-data](https://github.com/mdn/browser-compat-data)? If so, are they marked as deprecated? -- Does an internet search for the fields show results in blogs/recommendations? -- When was the deprecation (this can be hard to find) but was it at least 2 years ago if so? - -# This repo - -## Code Structure - -- `src/index.ts`: handles the emitting of the `.d.ts` files. -- `src/test.ts`: verifies the output by comparing the `generated/` and `baseline/` contents. - -## Input Files - -- `browser.webidl.preprocessed.json`: a JSON file generated by Microsoft Edge. **Do not edit this file**. - - Due to the different update schedules between Edge and TypeScript, this may not be the most up-to-date version of the spec. -- `mdn/apiDescriptions.json`: a JSON file generated by fetching API descriptions from [MDN](https://developer.mozilla.org/en-US/docs/Web/API). **Do not edit this file**. -- `addedTypes.json`: types that should exist in either browser or webworker but are missing from the Edge spec. The format of the file mimics that of `browser.webidl.preprocessed.json`. -- `overridingTypes.json`: types that are defined in the spec file but has a better or more up-to-date definitions in the json files. -- `removedTypes.json`: types that are defined in the spec file but should be removed. -- `comments.json`: comment strings to be embedded in the generated .js files. -- `deprecatedMessage.json`: the reason why one type is deprecated. The reason why it is a separate file rather than merge in comment.json is mdn/apiDescriptions.json would also possibly be deprecated. \ No newline at end of file diff --git a/build.cmd b/build.cmd deleted file mode 100644 index 1f2c7e04a..000000000 --- a/build.cmd +++ /dev/null @@ -1,5 +0,0 @@ -@echo off -cls - -@echo "Building..." -npm run build & npm run test diff --git a/build.sh b/build.sh deleted file mode 100644 index 28911063e..000000000 --- a/build.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -set -eu - -npm run build & npm run test diff --git a/package.json b/package.json index e23118bd8..b6fff08ab 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { - "name": "tsjs-lib-generator", - "private": true, + "name": "types-web", + "version": "0.1.0", "scripts": { "build": "tsc -p ./tsconfig.json && node ./lib/index.js", "fetch-idl": "tsc -p ./tsconfig.json && node ./lib/idlfetcher.js", From 4dc8f566c10f9d86e41d82050b7b44ac4f48d5e0 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Fri, 11 Dec 2020 23:23:46 +0100 Subject: [PATCH 002/362] refactor: migrate to ES module system --- .github/workflows/ci.yml | 2 ++ package.json | 3 ++- src/emitter.ts | 6 ++--- src/expose.ts | 4 ++-- src/helpers.ts | 2 +- src/idlfetcher.ts | 5 ++-- src/index.ts | 51 ++++++++++++++++++++-------------------- src/legacy-namespace.ts | 4 ++-- src/preprocess.ts | 4 ++-- src/widlprocess.ts | 6 ++--- tsconfig.json | 5 ++-- 11 files changed, 48 insertions(+), 44 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6bf019e49..1f88c5f16 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,6 +8,8 @@ jobs: steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v1 + with: + node-version: '15' - run: npm install - run: npm run build diff --git a/package.json b/package.json index b6fff08ab..c3dff78ae 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "baseline-accept": "cpx \"generated\\*\" baselines\\", "test": "tsc -p ./tsconfig.json && node ./lib/index.js && node ./lib/test.js" }, + "type": "module", "dependencies": { "@types/jsdom": "^16.2.4", "@types/node": "^14.6.4", @@ -19,7 +20,7 @@ "node-fetch": "^2.6.1", "print-diff": "^1.0.0", "styleless-innertext": "^1.1.2", - "typescript": "4.1.0-dev.20200908", + "typescript": "^4.2.0-dev.20201211", "webidl2": "^23.13.0" } } diff --git a/src/emitter.ts b/src/emitter.ts index 922019624..523b18ec1 100644 --- a/src/emitter.ts +++ b/src/emitter.ts @@ -1,6 +1,6 @@ -import * as Browser from "./types"; -import { mapToArray, distinct, map, toNameMap, mapDefined, arrayToMap, flatMap, integerTypes, baseTypeConversionMap } from "./helpers"; -import { collectLegacyNamespaceTypes } from "./legacy-namespace"; +import * as Browser from "./types.js"; +import { mapToArray, distinct, map, toNameMap, mapDefined, arrayToMap, flatMap, integerTypes, baseTypeConversionMap } from "./helpers.js"; +import { collectLegacyNamespaceTypes } from "./legacy-namespace.js"; export const enum Flavor { Window, diff --git a/src/expose.ts b/src/expose.ts index 5fb6e2042..ef689b78a 100644 --- a/src/expose.ts +++ b/src/expose.ts @@ -1,5 +1,5 @@ -import * as Browser from "./types"; -import { getEmptyWebIDL, filter, exposesTo, followTypeReferences, filterProperties, mapToArray, arrayToMap } from "./helpers"; +import * as Browser from "./types.js"; +import { getEmptyWebIDL, filter, exposesTo, followTypeReferences, filterProperties, mapToArray, arrayToMap } from "./helpers.js"; export function getExposedTypes(webidl: Browser.WebIdl, target: string, forceKnownTypes: Set) { const unexposedTypes = new Set(); diff --git a/src/helpers.ts b/src/helpers.ts index 02671a220..244c12f4f 100644 --- a/src/helpers.ts +++ b/src/helpers.ts @@ -1,4 +1,4 @@ -import * as Browser from "./types"; +import * as Browser from "./types.js"; // Extended types used but not defined in the spec export const bufferSourceTypes = new Set(["ArrayBuffer", "ArrayBufferView", "DataView", "Int8Array", "Uint8Array", "Int16Array", "Uint16Array", "Uint8ClampedArray", "Int32Array", "Uint32Array", "Float32Array", "Float64Array"]); diff --git a/src/idlfetcher.ts b/src/idlfetcher.ts index 146cac2e3..80377024e 100644 --- a/src/idlfetcher.ts +++ b/src/idlfetcher.ts @@ -1,5 +1,4 @@ import * as fs from "fs"; -import * as path from "path"; import fetch from "node-fetch"; import { JSDOM } from "jsdom"; import innerText from "styleless-innertext"; @@ -30,9 +29,9 @@ async function fetchIDLs(filter: string[]) { .filter(source => !filter.length || filter.includes(source.title)); await Promise.all(idlSources.map(async source => { const { idl, comments } = await fetchIDL(source); - fs.writeFileSync(path.join(__dirname, `../inputfiles/idl/${source.title}.widl`), idl + '\n'); + fs.writeFileSync(new URL(`../inputfiles/idl/${source.title}.widl`, import.meta.url), idl + '\n'); if (comments) { - fs.writeFileSync(path.join(__dirname, `../inputfiles/idl/${source.title}.commentmap.json`), comments + '\n'); + fs.writeFileSync(new URL(`../inputfiles/idl/${source.title}.commentmap.json`, import.meta.url), comments + '\n'); } })); } diff --git a/src/index.ts b/src/index.ts index 0ca747531..b1a119030 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,10 +1,13 @@ -import * as Browser from "./types"; +import * as Browser from "./types.js"; import * as fs from "fs"; -import * as path from "path"; -import { merge, resolveExposure, markAsDeprecated, mapToArray, arrayToMap } from "./helpers"; -import { Flavor, emitWebIdl } from "./emitter"; -import { convert } from "./widlprocess"; -import { getExposedTypes } from "./expose"; +import { createRequire } from "module"; +import { fileURLToPath } from "url"; +import { merge, resolveExposure, markAsDeprecated, mapToArray, arrayToMap } from "./helpers.js"; +import { Flavor, emitWebIdl } from "./emitter.js"; +import { convert } from "./widlprocess.js"; +import { getExposedTypes } from "./expose.js"; + +const require = createRequire(import.meta.url); function mergeNamesakes(filtered: Browser.WebIdl) { const targets = [ @@ -29,7 +32,7 @@ interface EmitOptions { flavor: Flavor; global: string; name: string; - outputFolder: string; + outputFolder: URL; } function emitFlavor(webidl: Browser.WebIdl, forceKnownTypes: Set, options: EmitOptions) { @@ -37,16 +40,15 @@ function emitFlavor(webidl: Browser.WebIdl, forceKnownTypes: Set, option mergeNamesakes(exposed); const result = emitWebIdl(exposed, options.flavor, false); - fs.writeFileSync(`${options.outputFolder}/${options.name}.generated.d.ts`, result); + fs.writeFileSync(new URL(`${options.name}.generated.d.ts`, options.outputFolder), result); const iterators = emitWebIdl(exposed, options.flavor, true); - fs.writeFileSync(`${options.outputFolder}/${options.name}.iterable.generated.d.ts`, iterators); + fs.writeFileSync(new URL(`${options.name}.iterable.generated.d.ts`, options.outputFolder), iterators); } function emitDom() { - const __SOURCE_DIRECTORY__ = __dirname; - const inputFolder = path.join(__SOURCE_DIRECTORY__, "../", "inputfiles"); - const outputFolder = path.join(__SOURCE_DIRECTORY__, "../", "generated"); + const inputFolder = new URL("../inputfiles/", import.meta.url); + const outputFolder = new URL("../generated/", import.meta.url); // ${name} will be substituted with the name of an interface const removeVerboseIntroductions: [RegExp, string][] = [ @@ -63,20 +65,19 @@ function emitDom() { fs.mkdirSync(outputFolder); } - const overriddenItems = require(path.join(inputFolder, "overridingTypes.json")); - const addedItems = require(path.join(inputFolder, "addedTypes.json")); - const comments = require(path.join(inputFolder, "comments.json")); - const deprecatedInfo = require(path.join(inputFolder, "deprecatedMessage.json")); - const documentationFromMDN = require(path.join(inputFolder, 'mdn', 'apiDescriptions.json')); - const removedItems = require(path.join(inputFolder, "removedTypes.json")); - const idlSources: any[] = require(path.join(inputFolder, "idlSources.json")); + const overriddenItems = require(fileURLToPath(new URL("overridingTypes.json", inputFolder))); + const addedItems = require(fileURLToPath(new URL("addedTypes.json", inputFolder))); + const comments = require(fileURLToPath(new URL("comments.json", inputFolder))); + const deprecatedInfo = require(fileURLToPath(new URL("deprecatedMessage.json", inputFolder))); + const documentationFromMDN = require(fileURLToPath(new URL('mdn/apiDescriptions.json', inputFolder))); + const removedItems = require(fileURLToPath(new URL("removedTypes.json", inputFolder))); + const idlSources: any[] = require(fileURLToPath(new URL("idlSources.json", inputFolder))); const widlStandardTypes = idlSources.map(convertWidl); function convertWidl({ title, deprecated }: { title: string; deprecated?: boolean }) { - const filename = title + ".widl"; - const idl: string = fs.readFileSync(path.join(inputFolder, "idl", filename), { encoding: "utf-8" }); - const commentsMapFilePath = path.join(inputFolder, "idl", title + ".commentmap.json"); - const commentsMap: Record = fs.existsSync(commentsMapFilePath) ? require(commentsMapFilePath) : {}; + const idl: string = fs.readFileSync(new URL(`idl/${title}.widl`, inputFolder), { encoding: "utf-8" }); + const commentsMapFilePath = new URL(`idl/${title}.commentmap.json`, inputFolder); + const commentsMap: Record = fs.existsSync(commentsMapFilePath) ? require(fileURLToPath(commentsMapFilePath)) : {}; commentCleanup(commentsMap); const result = convert(idl, commentsMap); if (deprecated) { @@ -140,9 +141,9 @@ function emitDom() { } /// Load the input file - let webidl: Browser.WebIdl = require(path.join(inputFolder, "browser.webidl.preprocessed.json")); + let webidl: Browser.WebIdl = require(fileURLToPath(new URL("browser.webidl.preprocessed.json", inputFolder))); - const knownTypes = require(path.join(inputFolder, "knownTypes.json")); + const knownTypes = require(fileURLToPath(new URL("knownTypes.json", inputFolder))); for (const w of widlStandardTypes) { webidl = merge(webidl, w.browser, true); diff --git a/src/legacy-namespace.ts b/src/legacy-namespace.ts index f18cd8790..d44a6cfa5 100644 --- a/src/legacy-namespace.ts +++ b/src/legacy-namespace.ts @@ -1,5 +1,5 @@ -import * as Browser from "./types"; -import { mapToArray, arrayToMap } from "./helpers"; +import * as Browser from "./types.js"; +import { mapToArray, arrayToMap } from "./helpers.js"; export function collectLegacyNamespaceTypes(webidl: Browser.WebIdl): Browser.Interface[] { if (!webidl.namespaces) { diff --git a/src/preprocess.ts b/src/preprocess.ts index f5ba0714e..e4c16501f 100644 --- a/src/preprocess.ts +++ b/src/preprocess.ts @@ -1,6 +1,6 @@ import * as fs from "fs"; import * as path from "path"; -import { filter } from "./helpers"; +import { filter } from "./helpers.js"; const __SOURCE_DIRECTORY__ = __dirname; const inputFolder = path.join(__SOURCE_DIRECTORY__, "../", "inputfiles"); @@ -38,4 +38,4 @@ function preprocess() { fs.writeFileSync(path.join(inputFolder, "browser.webidl.preprocessed.json"), JSON.stringify(browser, undefined, 4)); } -preprocess(); \ No newline at end of file +preprocess(); diff --git a/src/widlprocess.ts b/src/widlprocess.ts index e5daec02c..a2b005154 100644 --- a/src/widlprocess.ts +++ b/src/widlprocess.ts @@ -1,6 +1,6 @@ -import * as webidl2 from "webidl2"; -import * as Browser from "./types"; -import { getEmptyWebIDL } from "./helpers"; +import webidl2 from "webidl2"; +import * as Browser from "./types.js"; +import { getEmptyWebIDL } from "./helpers.js"; export function convert(text: string, commentMap: Record) { const rootTypes = webidl2.parse(text); diff --git a/tsconfig.json b/tsconfig.json index 1d92daf0d..ca3aa2422 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,7 +1,8 @@ { "compilerOptions": { - "target": "es2017", - "module": "commonjs", + "target": "es2020", + "module": "es2020", + "moduleResolution": "node", "outDir": "./lib", "strict": true, "esModuleInterop": true, From da501f398a410075d466fff764721c77125bf6f0 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Fri, 11 Dec 2020 23:27:09 +0100 Subject: [PATCH 003/362] chore: remove redundant preprocess.ts --- src/preprocess.ts | 41 ----------------------------------------- 1 file changed, 41 deletions(-) delete mode 100644 src/preprocess.ts diff --git a/src/preprocess.ts b/src/preprocess.ts deleted file mode 100644 index e4c16501f..000000000 --- a/src/preprocess.ts +++ /dev/null @@ -1,41 +0,0 @@ -import * as fs from "fs"; -import * as path from "path"; -import { filter } from "./helpers.js"; - -const __SOURCE_DIRECTORY__ = __dirname; -const inputFolder = path.join(__SOURCE_DIRECTORY__, "../", "inputfiles"); - -function preprocess() { - const webidl = require(path.join(inputFolder, "browser.webidl.json")); - - const browser = filter(webidl, (o, n) => { - if (o) { - if (typeof o.tags === "string") { - if (o.tags.indexOf("MSAppOnly") > -1) return false; - if (o.tags.indexOf("MSAppScheduler") > -1) return false; - if (o.tags.indexOf("Diagnostics") > -1) return false; - if (o.tags.indexOf("Printing") > -1 && typeof o.name === "string" && o.name.toLowerCase().startsWith("ms")) return false; - if (o.tags.indexOf("WinPhoneOnly") > -1) return false; - if (o.tags.indexOf("IEOnly") > -1) return false; - } - if (typeof o.exposed === "string") { - if (o.exposed.indexOf("Diagnostics") > -1) return false; - if (o.exposed.indexOf("WorkerDiagnostics") > -1) return false; - if (o.exposed.indexOf("Isolated") > -1) return false; - } - if (o.iterable === "pair-iterator") return false; - if (o.name === "Function") return false; - if (o.name === "MSExecAtPriorityFunctionCallback") return false; - if (o.name === "MSUnsafeFunctionCallback") return false; - } - if (typeof n === "string") { - if (n.indexOf("-") === 0) return false; - } - return true; - }); - - - fs.writeFileSync(path.join(inputFolder, "browser.webidl.preprocessed.json"), JSON.stringify(browser, undefined, 4)); -} - -preprocess(); From 1357438df0ca299b7ac647731383b8fadc8f49b6 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Fri, 11 Dec 2020 23:34:41 +0100 Subject: [PATCH 004/362] refactor(test): migrate to ES module system --- src/test.ts | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/test.ts b/src/test.ts index 41c231cd1..1db403055 100644 --- a/src/test.ts +++ b/src/test.ts @@ -1,12 +1,11 @@ import * as fs from "fs"; -import * as path from "path"; import child_process from "child_process"; import printDiff from "print-diff"; +import { fileURLToPath } from "url"; -const __SOURCE_DIRECTORY__ = __dirname; -const baselineFolder = path.join(__SOURCE_DIRECTORY__, "../", "baselines"); -const outputFolder = path.join(__SOURCE_DIRECTORY__, "../", "generated"); -const tscPath = path.join(__SOURCE_DIRECTORY__, "../", "node_modules", "typescript", "lib", "tsc.js"); +const baselineFolder = new URL("../baselines/", import.meta.url); +const outputFolder = new URL("../generated/", import.meta.url); +const tscPath = new URL("../node_modules/typescript/lib/tsc.js", import.meta.url); function normalizeLineEndings(text: string): string { return text.replace(/\r\n?/g, "\n"); @@ -16,8 +15,8 @@ function compareToBaselines() { for (const file of fs.readdirSync(baselineFolder)) { if (file.startsWith(".")) continue - const baseline = normalizeLineEndings(fs.readFileSync(path.join(baselineFolder, file)).toString()); - const generated = normalizeLineEndings(fs.readFileSync(path.join(outputFolder, file)).toString()); + const baseline = normalizeLineEndings(fs.readFileSync(new URL(file, baselineFolder)).toString()); + const generated = normalizeLineEndings(fs.readFileSync(new URL(file, outputFolder)).toString()); if (baseline !== generated) { console.error(`Test failed: '${file}' is different from baseline file.`); printDiff(generated, baseline); @@ -30,7 +29,7 @@ function compareToBaselines() { function compileGeneratedFiles(lib: string, ...files: string[]) { try { - child_process.execSync(`node ${tscPath} --strict --lib ${lib} --types --noEmit ${files.map(file => path.join(outputFolder, file)).join(" ")}`); + child_process.execSync(`node ${fileURLToPath(tscPath)} --strict --lib ${lib} --types --noEmit ${files.map(file => fileURLToPath(new URL(file, outputFolder))).join(" ")}`); } catch (e) { console.error(`Test failed: could not compile '${files.join(",")}':`); console.error(e.stdout.toString()); From 7b7e2283c9f3f5a1e1588091c4dc7c62ea85d2ad Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sun, 25 Oct 2020 03:59:21 +0100 Subject: [PATCH 005/362] chore: remove unimplemented WindowClient#ancestorOrigins --- baselines/webworker.generated.d.ts | 1 - inputfiles/removedTypes.json | 7 +++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index 8964f1c33..15f43d70b 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -5363,7 +5363,6 @@ declare var WebSocket: { /** This ServiceWorker API interface represents the scope of a service worker client that is a document in a browser context, controlled by an active worker. The service worker client independently selects and uses a service worker for its own loading and sub-resources. */ interface WindowClient extends Client { - readonly ancestorOrigins: ReadonlyArray; readonly focused: boolean; readonly visibilityState: VisibilityState; focus(): Promise; diff --git a/inputfiles/removedTypes.json b/inputfiles/removedTypes.json index 725ceee08..56c1a7546 100644 --- a/inputfiles/removedTypes.json +++ b/inputfiles/removedTypes.json @@ -389,6 +389,13 @@ "WindowConsole" ] }, + "WindowClient": { + "properties": { + "property": { + "ancestorOrigins": null + } + } + }, "WritableStream": { "methods": { "method": { From 97eae014602f49d72a1d2a8d8753d5c611ed0690 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sun, 25 Oct 2020 03:53:54 +0100 Subject: [PATCH 006/362] chore: remove unimplemented WorkerNavigator#serviceWorker --- baselines/webworker.generated.d.ts | 1 - inputfiles/removedTypes.json | 7 +++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index 15f43d70b..24e44f91f 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -5485,7 +5485,6 @@ declare var WorkerLocation: { /** A subset of the Navigator interface allowed to be accessed from a Worker. Such an object is initialized for each worker and is available via the WorkerGlobalScope.navigator property obtained by calling window.self.navigator. */ interface WorkerNavigator extends NavigatorConcurrentHardware, NavigatorID, NavigatorLanguage, NavigatorOnLine, NavigatorStorage { readonly permissions: Permissions; - readonly serviceWorker: ServiceWorkerContainer; } declare var WorkerNavigator: { diff --git a/inputfiles/removedTypes.json b/inputfiles/removedTypes.json index 56c1a7546..262916071 100644 --- a/inputfiles/removedTypes.json +++ b/inputfiles/removedTypes.json @@ -396,6 +396,13 @@ } } }, + "WorkerNavigator": { + "properties": { + "property": { + "serviceWorker": null + } + } + }, "WritableStream": { "methods": { "method": { From a2d9f9db4a6c0a14bf5f555e89d961b4ccdfc554 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sun, 25 Oct 2020 03:44:20 +0100 Subject: [PATCH 007/362] chore: remove unimplemented PushSubscriptionChangeEvent --- baselines/webworker.generated.d.ts | 17 ----------------- inputfiles/removedTypes.json | 8 ++++++++ 2 files changed, 8 insertions(+), 17 deletions(-) diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index 24e44f91f..997532d21 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -362,11 +362,6 @@ interface PushPermissionDescriptor extends PermissionDescriptor { userVisibleOnly?: boolean; } -interface PushSubscriptionChangeEventInit extends ExtendableEventInit { - newSubscription?: PushSubscription; - oldSubscription?: PushSubscription; -} - interface PushSubscriptionJSON { endpoint?: string; expirationTime?: number | null; @@ -2702,16 +2697,6 @@ declare var PushSubscription: { new(): PushSubscription; }; -interface PushSubscriptionChangeEvent extends ExtendableEvent { - readonly newSubscription: PushSubscription | null; - readonly oldSubscription: PushSubscription | null; -} - -declare var PushSubscriptionChangeEvent: { - prototype: PushSubscriptionChangeEvent; - new(type: string, eventInitDict?: PushSubscriptionChangeEventInit): PushSubscriptionChangeEvent; -}; - interface PushSubscriptionOptions { readonly applicationServerKey: ArrayBuffer | null; readonly userVisibleOnly: boolean; @@ -2913,7 +2898,6 @@ interface ServiceWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap { "notificationclick": NotificationEvent; "notificationclose": NotificationEvent; "push": PushEvent; - "pushsubscriptionchange": PushSubscriptionChangeEvent; "sync": SyncEvent; } @@ -2928,7 +2912,6 @@ interface ServiceWorkerGlobalScope extends WorkerGlobalScope { onnotificationclick: ((this: ServiceWorkerGlobalScope, ev: NotificationEvent) => any) | null; onnotificationclose: ((this: ServiceWorkerGlobalScope, ev: NotificationEvent) => any) | null; onpush: ((this: ServiceWorkerGlobalScope, ev: PushEvent) => any) | null; - onpushsubscriptionchange: ((this: ServiceWorkerGlobalScope, ev: PushSubscriptionChangeEvent) => any) | null; onsync: ((this: ServiceWorkerGlobalScope, ev: SyncEvent) => any) | null; readonly registration: ServiceWorkerRegistration; readonly serviceWorker: ServiceWorker; diff --git a/inputfiles/removedTypes.json b/inputfiles/removedTypes.json index 262916071..f82a15ed5 100644 --- a/inputfiles/removedTypes.json +++ b/inputfiles/removedTypes.json @@ -248,6 +248,7 @@ "PasswordCredential": null, "Position": null, "PositionError": null, + "PushSubscriptionChangeEvent": null, "ReadableByteStreamController": null, "ReadableStream": { "iterator": null @@ -276,6 +277,13 @@ } } }, + "ServiceWorkerGlobalScope": { + "properties": { + "property": { + "onpushsubscriptionchange": null + } + } + }, "ShadowRoot": { "properties": { "property": { From ca1d8559b54f2b6b453d69a622bce308944750da Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sun, 25 Oct 2020 03:34:26 +0100 Subject: [PATCH 008/362] chore: remove unimplemented WebGLObject --- baselines/dom.generated.d.ts | 32 ++++++++++---------------- baselines/webworker.generated.d.ts | 32 ++++++++++---------------- inputfiles/removedTypes.json | 37 ++++++++++++++++++++++++++++++ 3 files changed, 61 insertions(+), 40 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index f44422eee..02ce39299 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -17350,7 +17350,7 @@ declare var WebGLActiveInfo: { }; /** Part of the WebGL API and represents an opaque buffer object storing data such as vertices or colors. */ -interface WebGLBuffer extends WebGLObject { +interface WebGLBuffer { } declare var WebGLBuffer: { @@ -17369,7 +17369,7 @@ declare var WebGLContextEvent: { }; /** Part of the WebGL API and represents a collection of buffers that serve as a rendering destination. */ -interface WebGLFramebuffer extends WebGLObject { +interface WebGLFramebuffer { } declare var WebGLFramebuffer: { @@ -17377,16 +17377,8 @@ declare var WebGLFramebuffer: { new(): WebGLFramebuffer; }; -interface WebGLObject { -} - -declare var WebGLObject: { - prototype: WebGLObject; - new(): WebGLObject; -}; - /** The WebGLProgram is part of the WebGL API and is a combination of two compiled WebGLShaders consisting of a vertex shader and a fragment shader (both written in GLSL). */ -interface WebGLProgram extends WebGLObject { +interface WebGLProgram { } declare var WebGLProgram: { @@ -17394,7 +17386,7 @@ declare var WebGLProgram: { new(): WebGLProgram; }; -interface WebGLQuery extends WebGLObject { +interface WebGLQuery { } declare var WebGLQuery: { @@ -17403,7 +17395,7 @@ declare var WebGLQuery: { }; /** Part of the WebGL API and represents a buffer that can contain an image, or can be source or target of an rendering operation. */ -interface WebGLRenderbuffer extends WebGLObject { +interface WebGLRenderbuffer { } declare var WebGLRenderbuffer: { @@ -18182,7 +18174,7 @@ interface WebGLRenderingContextOverloads { uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void; } -interface WebGLSampler extends WebGLObject { +interface WebGLSampler { } declare var WebGLSampler: { @@ -18191,7 +18183,7 @@ declare var WebGLSampler: { }; /** The WebGLShader is part of the WebGL API and can either be a vertex or a fragment shader. A WebGLProgram requires both types of shaders. */ -interface WebGLShader extends WebGLObject { +interface WebGLShader { } declare var WebGLShader: { @@ -18211,7 +18203,7 @@ declare var WebGLShaderPrecisionFormat: { new(): WebGLShaderPrecisionFormat; }; -interface WebGLSync extends WebGLObject { +interface WebGLSync { } declare var WebGLSync: { @@ -18220,7 +18212,7 @@ declare var WebGLSync: { }; /** Part of the WebGL API and represents an opaque texture object providing storage and state for texturing operations. */ -interface WebGLTexture extends WebGLObject { +interface WebGLTexture { } declare var WebGLTexture: { @@ -18228,7 +18220,7 @@ declare var WebGLTexture: { new(): WebGLTexture; }; -interface WebGLTransformFeedback extends WebGLObject { +interface WebGLTransformFeedback { } declare var WebGLTransformFeedback: { @@ -18245,7 +18237,7 @@ declare var WebGLUniformLocation: { new(): WebGLUniformLocation; }; -interface WebGLVertexArrayObject extends WebGLObject { +interface WebGLVertexArrayObject { } declare var WebGLVertexArrayObject: { @@ -18253,7 +18245,7 @@ declare var WebGLVertexArrayObject: { new(): WebGLVertexArrayObject; }; -interface WebGLVertexArrayObjectOES extends WebGLObject { +interface WebGLVertexArrayObjectOES { } interface WebKitPoint { diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index 997532d21..20b807723 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -4370,7 +4370,7 @@ declare var WebGLActiveInfo: { }; /** Part of the WebGL API and represents an opaque buffer object storing data such as vertices or colors. */ -interface WebGLBuffer extends WebGLObject { +interface WebGLBuffer { } declare var WebGLBuffer: { @@ -4389,7 +4389,7 @@ declare var WebGLContextEvent: { }; /** Part of the WebGL API and represents a collection of buffers that serve as a rendering destination. */ -interface WebGLFramebuffer extends WebGLObject { +interface WebGLFramebuffer { } declare var WebGLFramebuffer: { @@ -4397,16 +4397,8 @@ declare var WebGLFramebuffer: { new(): WebGLFramebuffer; }; -interface WebGLObject { -} - -declare var WebGLObject: { - prototype: WebGLObject; - new(): WebGLObject; -}; - /** The WebGLProgram is part of the WebGL API and is a combination of two compiled WebGLShaders consisting of a vertex shader and a fragment shader (both written in GLSL). */ -interface WebGLProgram extends WebGLObject { +interface WebGLProgram { } declare var WebGLProgram: { @@ -4414,7 +4406,7 @@ declare var WebGLProgram: { new(): WebGLProgram; }; -interface WebGLQuery extends WebGLObject { +interface WebGLQuery { } declare var WebGLQuery: { @@ -4423,7 +4415,7 @@ declare var WebGLQuery: { }; /** Part of the WebGL API and represents a buffer that can contain an image, or can be source or target of an rendering operation. */ -interface WebGLRenderbuffer extends WebGLObject { +interface WebGLRenderbuffer { } declare var WebGLRenderbuffer: { @@ -5202,7 +5194,7 @@ interface WebGLRenderingContextOverloads { uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void; } -interface WebGLSampler extends WebGLObject { +interface WebGLSampler { } declare var WebGLSampler: { @@ -5211,7 +5203,7 @@ declare var WebGLSampler: { }; /** The WebGLShader is part of the WebGL API and can either be a vertex or a fragment shader. A WebGLProgram requires both types of shaders. */ -interface WebGLShader extends WebGLObject { +interface WebGLShader { } declare var WebGLShader: { @@ -5231,7 +5223,7 @@ declare var WebGLShaderPrecisionFormat: { new(): WebGLShaderPrecisionFormat; }; -interface WebGLSync extends WebGLObject { +interface WebGLSync { } declare var WebGLSync: { @@ -5240,7 +5232,7 @@ declare var WebGLSync: { }; /** Part of the WebGL API and represents an opaque texture object providing storage and state for texturing operations. */ -interface WebGLTexture extends WebGLObject { +interface WebGLTexture { } declare var WebGLTexture: { @@ -5248,7 +5240,7 @@ declare var WebGLTexture: { new(): WebGLTexture; }; -interface WebGLTransformFeedback extends WebGLObject { +interface WebGLTransformFeedback { } declare var WebGLTransformFeedback: { @@ -5265,7 +5257,7 @@ declare var WebGLUniformLocation: { new(): WebGLUniformLocation; }; -interface WebGLVertexArrayObject extends WebGLObject { +interface WebGLVertexArrayObject { } declare var WebGLVertexArrayObject: { @@ -5273,7 +5265,7 @@ declare var WebGLVertexArrayObject: { new(): WebGLVertexArrayObject; }; -interface WebGLVertexArrayObjectOES extends WebGLObject { +interface WebGLVertexArrayObjectOES { } interface WebSocketEventMap { diff --git a/inputfiles/removedTypes.json b/inputfiles/removedTypes.json index f82a15ed5..4d0859584 100644 --- a/inputfiles/removedTypes.json +++ b/inputfiles/removedTypes.json @@ -362,6 +362,43 @@ } }, "VideoTrackList": null, + "WebGLBuffer": { + "extends": null + }, + "WebGLFramebuffer": { + "extends": null + }, + "WebGLObject": null, + "WebGLProgram": { + "extends": null + }, + "WebGLQuery": { + "extends": null + }, + "WebGLRenderbuffer": { + "extends": null + }, + "WebGLSampler": { + "extends": null + }, + "WebGLShader": { + "extends": null + }, + "WebGLSync": { + "extends": null + }, + "WebGLTexture": { + "extends": null + }, + "WebGLTransformFeedback": { + "extends": null + }, + "WebGLVertexArrayObject": { + "extends": null + }, + "WebGLVertexArrayObjectOES": { + "extends": null + }, "WebKitCSSMatrix": null, "WebKitDirectoryEntry": null, "WebKitDirectoryReader": null, From 3cd60c99bba2303c3e6189e5c394fcaf3d174b10 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sun, 25 Oct 2020 03:25:14 +0100 Subject: [PATCH 009/362] chore: remove unimplemented WebVR APIs --- baselines/dom.generated.d.ts | 10 ---------- inputfiles/removedTypes.json | 10 ++++++++++ 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 02ce39299..97656121e 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -16124,7 +16124,6 @@ interface VRPose { readonly linearVelocity: Float32Array | null; readonly orientation: Float32Array | null; readonly position: Float32Array | null; - readonly timestamp: number; } declare var VRPose: { @@ -18440,9 +18439,6 @@ interface WindowEventMap extends GlobalEventHandlersEventMap, WindowEventHandler "vrdisplayconnect": Event; "vrdisplaydeactivate": Event; "vrdisplaydisconnect": Event; - "vrdisplayfocus": Event; - "vrdisplaypointerrestricted": Event; - "vrdisplaypointerunrestricted": Event; "vrdisplaypresentchange": Event; "waiting": Event; } @@ -18505,9 +18501,6 @@ interface Window extends EventTarget, AnimationFrameProvider, GlobalEventHandler onvrdisplayconnect: ((this: Window, ev: Event) => any) | null; onvrdisplaydeactivate: ((this: Window, ev: Event) => any) | null; onvrdisplaydisconnect: ((this: Window, ev: Event) => any) | null; - onvrdisplayfocus: ((this: Window, ev: Event) => any) | null; - onvrdisplaypointerrestricted: ((this: Window, ev: Event) => any) | null; - onvrdisplaypointerunrestricted: ((this: Window, ev: Event) => any) | null; onvrdisplaypresentchange: ((this: Window, ev: Event) => any) | null; opener: any; /** @deprecated */ @@ -19551,9 +19544,6 @@ declare var onvrdisplayblur: ((this: Window, ev: Event) => any) | null; declare var onvrdisplayconnect: ((this: Window, ev: Event) => any) | null; declare var onvrdisplaydeactivate: ((this: Window, ev: Event) => any) | null; declare var onvrdisplaydisconnect: ((this: Window, ev: Event) => any) | null; -declare var onvrdisplayfocus: ((this: Window, ev: Event) => any) | null; -declare var onvrdisplaypointerrestricted: ((this: Window, ev: Event) => any) | null; -declare var onvrdisplaypointerunrestricted: ((this: Window, ev: Event) => any) | null; declare var onvrdisplaypresentchange: ((this: Window, ev: Event) => any) | null; declare var opener: any; /** @deprecated */ diff --git a/inputfiles/removedTypes.json b/inputfiles/removedTypes.json index 4d0859584..ff79df8d1 100644 --- a/inputfiles/removedTypes.json +++ b/inputfiles/removedTypes.json @@ -362,6 +362,13 @@ } }, "VideoTrackList": null, + "VRPose": { + "properties": { + "property": { + "timestamp": null + } + } + }, "WebGLBuffer": { "extends": null }, @@ -417,6 +424,9 @@ "ontouchend": null, "ontouchmove": null, "ontouchstart": null, + "onvrdisplayfocus": null, + "onvrdisplaypointerrestricted": null, + "onvrdisplaypointerunrestricted": null, "performance": null } }, From c554b72d5515680340bf37f4b7aefba9b0f5d212 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sun, 25 Oct 2020 03:17:05 +0100 Subject: [PATCH 010/362] chore: remove unimplemented TextTrack#sourceBuffer --- baselines/dom.generated.d.ts | 1 - inputfiles/removedTypes.json | 7 +++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 97656121e..d2b2e328c 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -15686,7 +15686,6 @@ interface TextTrack extends EventTarget { */ mode: TextTrackMode; oncuechange: ((this: TextTrack, ev: Event) => any) | null; - readonly sourceBuffer: SourceBuffer | null; /** * Adds the given cue to textTrack's text track list of cues. */ diff --git a/inputfiles/removedTypes.json b/inputfiles/removedTypes.json index ff79df8d1..235b26d67 100644 --- a/inputfiles/removedTypes.json +++ b/inputfiles/removedTypes.json @@ -361,6 +361,13 @@ } } }, + "TextTrack": { + "properties": { + "property": { + "sourceBuffer": null + } + } + }, "VideoTrackList": null, "VRPose": { "properties": { From f3e46e6024a1b49fa207536427bbcaeb3535ae95 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sun, 25 Oct 2020 03:02:06 +0100 Subject: [PATCH 011/362] chore: remove unexposed TextMetrics APIs --- baselines/dom.generated.d.ts | 28 ---------------------------- baselines/webworker.generated.d.ts | 28 ---------------------------- inputfiles/removedTypes.json | 13 +++++++++++++ 3 files changed, 13 insertions(+), 56 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index d2b2e328c..1f0374b23 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -15602,34 +15602,6 @@ interface TextMetrics { * Returns the measurement described below. */ readonly actualBoundingBoxRight: number; - /** - * Returns the measurement described below. - */ - readonly alphabeticBaseline: number; - /** - * Returns the measurement described below. - */ - readonly emHeightAscent: number; - /** - * Returns the measurement described below. - */ - readonly emHeightDescent: number; - /** - * Returns the measurement described below. - */ - readonly fontBoundingBoxAscent: number; - /** - * Returns the measurement described below. - */ - readonly fontBoundingBoxDescent: number; - /** - * Returns the measurement described below. - */ - readonly hangingBaseline: number; - /** - * Returns the measurement described below. - */ - readonly ideographicBaseline: number; /** * Returns the measurement described below. */ diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index 20b807723..71bf64d31 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -3157,34 +3157,6 @@ interface TextMetrics { * Returns the measurement described below. */ readonly actualBoundingBoxRight: number; - /** - * Returns the measurement described below. - */ - readonly alphabeticBaseline: number; - /** - * Returns the measurement described below. - */ - readonly emHeightAscent: number; - /** - * Returns the measurement described below. - */ - readonly emHeightDescent: number; - /** - * Returns the measurement described below. - */ - readonly fontBoundingBoxAscent: number; - /** - * Returns the measurement described below. - */ - readonly fontBoundingBoxDescent: number; - /** - * Returns the measurement described below. - */ - readonly hangingBaseline: number; - /** - * Returns the measurement described below. - */ - readonly ideographicBaseline: number; /** * Returns the measurement described below. */ diff --git a/inputfiles/removedTypes.json b/inputfiles/removedTypes.json index 235b26d67..9d8e66c0e 100644 --- a/inputfiles/removedTypes.json +++ b/inputfiles/removedTypes.json @@ -361,6 +361,19 @@ } } }, + "TextMetrics": { + "properties": { + "property": { + "alphabeticBaseline": null, + "emHeightAscent": null, + "emHeightDescent": null, + "fontBoundingBoxAscent": null, + "fontBoundingBoxDescent": null, + "hangingBaseline": null, + "ideographicBaseline": null + } + } + }, "TextTrack": { "properties": { "property": { From 04906c8793e2b33d3675f319b389054071fdaec6 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sun, 25 Oct 2020 02:56:22 +0100 Subject: [PATCH 012/362] chore: remove unimplemented SVGUseElement properties --- baselines/dom.generated.d.ts | 10 ++-------- inputfiles/removedTypes.json | 9 +++++++++ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 1f0374b23..156154386 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -14682,9 +14682,7 @@ declare var SVGUnitTypes: { /** Corresponds to the element. */ interface SVGUseElement extends SVGGraphicsElement, SVGURIReference { - readonly animatedInstanceRoot: SVGElementInstance | null; readonly height: SVGAnimatedLength; - readonly instanceRoot: SVGElementInstance | null; readonly width: SVGAnimatedLength; readonly x: SVGAnimatedLength; readonly y: SVGAnimatedLength; @@ -14717,16 +14715,12 @@ declare var SVGViewElement: { readonly SVG_ZOOMANDPAN_UNKNOWN: number; }; -/** Used to reflect the zoomAndPan attribute, and is mixed in to other interfaces for elements that support this attribute. */ interface SVGZoomAndPan { - readonly zoomAndPan: number; -} - -declare var SVGZoomAndPan: { + zoomAndPan: number; readonly SVG_ZOOMANDPAN_DISABLE: number; readonly SVG_ZOOMANDPAN_MAGNIFY: number; readonly SVG_ZOOMANDPAN_UNKNOWN: number; -}; +} interface SVGZoomEvent extends UIEvent { readonly newScale: number; diff --git a/inputfiles/removedTypes.json b/inputfiles/removedTypes.json index 9d8e66c0e..e04519407 100644 --- a/inputfiles/removedTypes.json +++ b/inputfiles/removedTypes.json @@ -361,6 +361,15 @@ } } }, + "SVGUseElement": { + "properties": { + "property": { + "animatedInstanceRoot": null, + "instanceRoot": null + } + } + }, + "SVGZoomAndPan": null, "TextMetrics": { "properties": { "property": { From c47b577c733af1ddd44ea04d59e03cb57499b0ee Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sun, 25 Oct 2020 02:06:14 +0100 Subject: [PATCH 013/362] chore: update WebRTC types --- baselines/dom.generated.d.ts | 79 +++++------------- inputfiles/idl/WebRTC.widl | 138 ++++++++++---------------------- inputfiles/overridingTypes.json | 4 - inputfiles/removedTypes.json | 15 +++- 4 files changed, 72 insertions(+), 164 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 156154386..6f47d8869 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -1164,12 +1164,11 @@ interface RTCConfiguration { iceCandidatePoolSize?: number; iceServers?: RTCIceServer[]; iceTransportPolicy?: RTCIceTransportPolicy; - peerIdentity?: string; rtcpMuxPolicy?: RTCRtcpMuxPolicy; } interface RTCDTMFToneChangeEventInit extends EventInit { - tone: string; + tone?: string; } interface RTCDataChannelEventInit extends EventInit { @@ -1182,7 +1181,6 @@ interface RTCDataChannelInit { maxRetransmits?: number; negotiated?: boolean; ordered?: boolean; - priority?: RTCPriorityType; protocol?: string; } @@ -1202,7 +1200,6 @@ interface RTCErrorEventInit extends EventInit { interface RTCErrorInit { errorDetail: RTCErrorDetailType; - httpRequestStatusCode?: number; receivedAlert?: number; sctpCauseCode?: number; sdpLineNumber?: number; @@ -1273,7 +1270,7 @@ interface RTCIceParameters { } interface RTCIceServer { - credential?: string | RTCOAuthCredential; + credential?: string; credentialType?: RTCIceCredentialType; urls: string | string[]; username?: string; @@ -1293,6 +1290,11 @@ interface RTCInboundRTPStreamStats extends RTCRTPStreamStats { packetsReceived?: number; } +interface RTCLocalSessionDescriptionInit { + sdp?: string; + type?: RTCSdpType; +} + interface RTCMediaStreamTrackStats extends RTCStats { audioLevel?: number; echoReturnLoss?: number; @@ -1310,13 +1312,7 @@ interface RTCMediaStreamTrackStats extends RTCStats { trackIdentifier?: string; } -interface RTCOAuthCredential { - accessToken: string; - macKey: string; -} - interface RTCOfferAnswerOptions { - voiceActivityDetection?: boolean; } interface RTCOfferOptions extends RTCOfferAnswerOptions { @@ -1333,8 +1329,9 @@ interface RTCOutboundRTPStreamStats extends RTCRTPStreamStats { } interface RTCPeerConnectionIceErrorEventInit extends EventInit { + address?: string | null; errorCode: number; - hostCandidate?: string; + port?: number | null; statusText?: string; url?: string; } @@ -1399,16 +1396,9 @@ interface RTCRtpContributingSource { timestamp: number; } -interface RTCRtpDecodingParameters extends RTCRtpCodingParameters { -} - interface RTCRtpEncodingParameters extends RTCRtpCodingParameters { active?: boolean; - codecPayloadType?: number; - dtx?: RTCDtxStatus; maxBitrate?: number; - maxFramerate?: number; - ptime?: number; scaleResolutionDownBy?: number; } @@ -1441,7 +1431,6 @@ interface RTCRtpParameters { } interface RTCRtpReceiveParameters extends RTCRtpParameters { - encodings: RTCRtpDecodingParameters[]; } interface RTCRtpRtxParameters { @@ -1449,9 +1438,7 @@ interface RTCRtpRtxParameters { } interface RTCRtpSendParameters extends RTCRtpParameters { - degradationPreference?: RTCDegradationPreference; encodings: RTCRtpEncodingParameters[]; - priority?: RTCPriorityType; transactionId: string; } @@ -1473,7 +1460,7 @@ interface RTCRtpUnhandled { interface RTCSessionDescriptionInit { sdp?: string; - type?: RTCSdpType; + type: RTCSdpType; } interface RTCSrtpKeyParam { @@ -1502,10 +1489,6 @@ interface RTCStats { type: RTCStatsType; } -interface RTCStatsEventInit extends EventInit { - report: RTCStatsReport; -} - interface RTCStatsReport { } @@ -4722,7 +4705,6 @@ interface Document extends Node, DocumentAndElementEventHandlers, DocumentOrShad createEvent(eventInterface: "RTCPeerConnectionIceErrorEvent"): RTCPeerConnectionIceErrorEvent; createEvent(eventInterface: "RTCPeerConnectionIceEvent"): RTCPeerConnectionIceEvent; createEvent(eventInterface: "RTCSsrcConflictEvent"): RTCSsrcConflictEvent; - createEvent(eventInterface: "RTCStatsEvent"): RTCStatsEvent; createEvent(eventInterface: "RTCTrackEvent"): RTCTrackEvent; createEvent(eventInterface: "SVGZoomEvent"): SVGZoomEvent; createEvent(eventInterface: "SVGZoomEvents"): SVGZoomEvent; @@ -4972,7 +4954,6 @@ interface DocumentEvent { createEvent(eventInterface: "RTCPeerConnectionIceErrorEvent"): RTCPeerConnectionIceErrorEvent; createEvent(eventInterface: "RTCPeerConnectionIceEvent"): RTCPeerConnectionIceEvent; createEvent(eventInterface: "RTCSsrcConflictEvent"): RTCSsrcConflictEvent; - createEvent(eventInterface: "RTCStatsEvent"): RTCStatsEvent; createEvent(eventInterface: "RTCTrackEvent"): RTCTrackEvent; createEvent(eventInterface: "SVGZoomEvent"): SVGZoomEvent; createEvent(eventInterface: "SVGZoomEvents"): SVGZoomEvent; @@ -11921,7 +11902,6 @@ interface RTCCertificate { declare var RTCCertificate: { prototype: RTCCertificate; new(): RTCCertificate; - getSupportedAlgorithms(): AlgorithmIdentifier[]; }; interface RTCDTMFSenderEventMap { @@ -11951,7 +11931,7 @@ interface RTCDTMFToneChangeEvent extends Event { declare var RTCDTMFToneChangeEvent: { prototype: RTCDTMFToneChangeEvent; - new(type: string, eventInitDict: RTCDTMFToneChangeEventInit): RTCDTMFToneChangeEvent; + new(type: string, eventInitDict?: RTCDTMFToneChangeEventInit): RTCDTMFToneChangeEvent; }; interface RTCDataChannelEventMap { @@ -11963,7 +11943,7 @@ interface RTCDataChannelEventMap { } interface RTCDataChannel extends EventTarget { - binaryType: string; + binaryType: BinaryType; readonly bufferedAmount: number; bufferedAmountLowThreshold: number; readonly id: number | null; @@ -11977,7 +11957,6 @@ interface RTCDataChannel extends EventTarget { onmessage: ((this: RTCDataChannel, ev: MessageEvent) => any) | null; onopen: ((this: RTCDataChannel, ev: Event) => any) | null; readonly ordered: boolean; - readonly priority: RTCPriorityType; readonly protocol: string; readonly readyState: RTCDataChannelState; close(): void; @@ -12061,7 +12040,6 @@ declare var RTCDtmfSender: { interface RTCError extends DOMException { readonly errorDetail: RTCErrorDetailType; - readonly httpRequestStatusCode: number | null; readonly receivedAlert: number | null; readonly sctpCauseCode: number | null; readonly sdpLineNumber: number | null; @@ -12154,7 +12132,6 @@ interface RTCIceTransportEventMap { /** Provides access to information about the ICE transport layer over which the data is being sent and received. */ interface RTCIceTransport extends EventTarget { - readonly component: RTCIceComponent; readonly gatheringState: RTCIceGathererState; ongatheringstatechange: ((this: RTCIceTransport, ev: Event) => any) | null; onselectedcandidatepairchange: ((this: RTCIceTransport, ev: Event) => any) | null; @@ -12205,7 +12182,6 @@ interface RTCPeerConnectionEventMap { "icegatheringstatechange": Event; "negotiationneeded": Event; "signalingstatechange": Event; - "statsended": RTCStatsEvent; "track": RTCTrackEvent; } @@ -12228,7 +12204,6 @@ interface RTCPeerConnection extends EventTarget { onicegatheringstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null; onnegotiationneeded: ((this: RTCPeerConnection, ev: Event) => any) | null; onsignalingstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null; - onstatsended: ((this: RTCPeerConnection, ev: RTCStatsEvent) => any) | null; ontrack: ((this: RTCPeerConnection, ev: RTCTrackEvent) => any) | null; readonly peerIdentity: Promise; readonly pendingLocalDescription: RTCSessionDescription | null; @@ -12250,7 +12225,8 @@ interface RTCPeerConnection extends EventTarget { getStats(selector?: MediaStreamTrack | null): Promise; getTransceivers(): RTCRtpTransceiver[]; removeTrack(sender: RTCRtpSender): void; - setConfiguration(configuration: RTCConfiguration): void; + restartIce(): void; + setConfiguration(configuration?: RTCConfiguration): void; setIdentityProvider(provider: string, options?: RTCIdentityProviderOptions): void; setLocalDescription(description: RTCSessionDescriptionInit): Promise; setRemoteDescription(description: RTCSessionDescriptionInit): Promise; @@ -12264,13 +12240,13 @@ declare var RTCPeerConnection: { prototype: RTCPeerConnection; new(configuration?: RTCConfiguration): RTCPeerConnection; generateCertificate(keygenAlgorithm: AlgorithmIdentifier): Promise; - getDefaultIceServers(): RTCIceServer[]; }; interface RTCPeerConnectionIceErrorEvent extends Event { + readonly address: string | null; readonly errorCode: number; readonly errorText: string; - readonly hostCandidate: string; + readonly port: number | null; readonly url: string; } @@ -12282,7 +12258,6 @@ declare var RTCPeerConnectionIceErrorEvent: { /** Events that occurs in relation to ICE candidates with the target, usually an RTCPeerConnection. Only one event is of this type: icecandidate. */ interface RTCPeerConnectionIceEvent extends Event { readonly candidate: RTCIceCandidate | null; - readonly url: string | null; } declare var RTCPeerConnectionIceEvent: { @@ -12292,7 +12267,6 @@ declare var RTCPeerConnectionIceEvent: { /** This WebRTC API interface manages the reception and decoding of data for a MediaStreamTrack on an RTCPeerConnection. */ interface RTCRtpReceiver { - readonly rtcpTransport: RTCDtlsTransport | null; readonly track: MediaStreamTrack; readonly transport: RTCDtlsTransport | null; getContributingSources(): RTCRtpContributingSource[]; @@ -12310,7 +12284,6 @@ declare var RTCRtpReceiver: { /** Provides the ability to control and obtain details about how a particular MediaStreamTrack is encoded and sent to a remote peer. */ interface RTCRtpSender { readonly dtmf: RTCDTMFSender | null; - readonly rtcpTransport: RTCDtlsTransport | null; readonly track: MediaStreamTrack | null; readonly transport: RTCDtlsTransport | null; getParameters(): RTCRtpSendParameters; @@ -12371,7 +12344,7 @@ interface RTCSessionDescription { declare var RTCSessionDescription: { prototype: RTCSessionDescription; - new(descriptionInitDict?: RTCSessionDescriptionInit): RTCSessionDescription; + new(descriptionInitDict: RTCSessionDescriptionInit): RTCSessionDescription; }; interface RTCSrtpSdesTransportEventMap { @@ -12402,15 +12375,6 @@ declare var RTCSsrcConflictEvent: { new(): RTCSsrcConflictEvent; }; -interface RTCStatsEvent extends Event { - readonly report: RTCStatsReport; -} - -declare var RTCStatsEvent: { - prototype: RTCStatsEvent; - new(type: string, eventInitDict: RTCStatsEventInit): RTCStatsEvent; -}; - interface RTCStatsProvider extends EventTarget { getStats(): Promise; msGetStats(): Promise; @@ -20023,15 +19987,13 @@ type PushEncryptionKeyName = "auth" | "p256dh"; type PushPermissionState = "denied" | "granted" | "prompt"; type RTCBundlePolicy = "balanced" | "max-bundle" | "max-compat"; type RTCDataChannelState = "closed" | "closing" | "connecting" | "open"; -type RTCDegradationPreference = "balanced" | "maintain-framerate" | "maintain-resolution"; type RTCDtlsRole = "auto" | "client" | "server"; type RTCDtlsTransportState = "closed" | "connected" | "connecting" | "failed" | "new"; -type RTCDtxStatus = "disabled" | "enabled"; -type RTCErrorDetailType = "data-channel-failure" | "dtls-failure" | "fingerprint-failure" | "hardware-encoder-error" | "hardware-encoder-not-available" | "idp-bad-script-failure" | "idp-execution-failure" | "idp-load-failure" | "idp-need-login" | "idp-timeout" | "idp-tls-failure" | "idp-token-expired" | "idp-token-invalid" | "sctp-failure" | "sdp-syntax-error"; +type RTCErrorDetailType = "data-channel-failure" | "dtls-failure" | "fingerprint-failure" | "hardware-encoder-error" | "hardware-encoder-not-available" | "sctp-failure" | "sdp-syntax-error"; type RTCIceCandidateType = "host" | "prflx" | "relay" | "srflx"; type RTCIceComponent = "rtcp" | "rtp"; type RTCIceConnectionState = "checking" | "closed" | "completed" | "connected" | "disconnected" | "failed" | "new"; -type RTCIceCredentialType = "oauth" | "password"; +type RTCIceCredentialType = "password"; type RTCIceGatherPolicy = "all" | "nohost" | "relay"; type RTCIceGathererState = "complete" | "gathering" | "new"; type RTCIceGatheringState = "complete" | "gathering" | "new"; @@ -20041,8 +20003,7 @@ type RTCIceTcpCandidateType = "active" | "passive" | "so"; type RTCIceTransportPolicy = "all" | "relay"; type RTCIceTransportState = "checking" | "closed" | "completed" | "connected" | "disconnected" | "failed" | "new"; type RTCPeerConnectionState = "closed" | "connected" | "connecting" | "disconnected" | "failed" | "new"; -type RTCPriorityType = "high" | "low" | "medium" | "very-low"; -type RTCRtcpMuxPolicy = "negotiate" | "require"; +type RTCRtcpMuxPolicy = "require"; type RTCRtpTransceiverDirection = "inactive" | "recvonly" | "sendonly" | "sendrecv" | "stopped"; type RTCSctpTransportState = "closed" | "connected" | "connecting"; type RTCSdpType = "answer" | "offer" | "pranswer" | "rollback"; diff --git a/inputfiles/idl/WebRTC.widl b/inputfiles/idl/WebRTC.widl index 4fdc00497..b8ddca528 100644 --- a/inputfiles/idl/WebRTC.widl +++ b/inputfiles/idl/WebRTC.widl @@ -3,25 +3,18 @@ dictionary RTCConfiguration { RTCIceTransportPolicy iceTransportPolicy; RTCBundlePolicy bundlePolicy; RTCRtcpMuxPolicy rtcpMuxPolicy; - DOMString peerIdentity; sequence certificates; [EnforceRange] octet iceCandidatePoolSize = 0; }; enum RTCIceCredentialType { - "password", - "oauth" -}; - -dictionary RTCOAuthCredential { - required DOMString macKey; - required DOMString accessToken; + "password" }; dictionary RTCIceServer { required (DOMString or sequence) urls; DOMString username; - (DOMString or RTCOAuthCredential) credential; + DOMString credential; RTCIceCredentialType credentialType = "password"; }; @@ -37,14 +30,10 @@ enum RTCBundlePolicy { }; enum RTCRtcpMuxPolicy { - // At risk due to lack of implementers' interest. - "negotiate", "require" }; -dictionary RTCOfferAnswerOptions { - boolean voiceActivityDetection = true; -}; +dictionary RTCOfferAnswerOptions {}; dictionary RTCOfferOptions : RTCOfferAnswerOptions { boolean iceRestart = false; @@ -91,25 +80,24 @@ interface RTCPeerConnection : EventTarget { constructor(optional RTCConfiguration configuration = {}); Promise createOffer(optional RTCOfferOptions options = {}); Promise createAnswer(optional RTCAnswerOptions options = {}); - Promise setLocalDescription(optional RTCSessionDescriptionInit description = {}); + Promise setLocalDescription(optional RTCLocalSessionDescriptionInit description = {}); readonly attribute RTCSessionDescription? localDescription; readonly attribute RTCSessionDescription? currentLocalDescription; readonly attribute RTCSessionDescription? pendingLocalDescription; - Promise setRemoteDescription(optional RTCSessionDescriptionInit description = {}); + Promise setRemoteDescription(RTCSessionDescriptionInit description); readonly attribute RTCSessionDescription? remoteDescription; readonly attribute RTCSessionDescription? currentRemoteDescription; readonly attribute RTCSessionDescription? pendingRemoteDescription; - Promise addIceCandidate(optional RTCIceCandidateInit candidate = {}); + Promise addIceCandidate(optional RTCIceCandidateInit candidate = {}); readonly attribute RTCSignalingState signalingState; readonly attribute RTCIceGatheringState iceGatheringState; readonly attribute RTCIceConnectionState iceConnectionState; readonly attribute RTCPeerConnectionState connectionState; readonly attribute boolean? canTrickleIceCandidates; - void restartIce(); - static sequence getDefaultIceServers(); + undefined restartIce(); RTCConfiguration getConfiguration(); - void setConfiguration(RTCConfiguration configuration); - void close(); + undefined setConfiguration(optional RTCConfiguration configuration = {}); + undefined close(); attribute EventHandler onnegotiationneeded; attribute EventHandler onicecandidate; attribute EventHandler onicecandidateerror; @@ -123,25 +111,25 @@ interface RTCPeerConnection : EventTarget { // If these methods are supported // they must be implemented as defined // in section "Legacy Interface Extensions" - Promise createOffer(RTCSessionDescriptionCallback successCallback, + Promise createOffer(RTCSessionDescriptionCallback successCallback, RTCPeerConnectionErrorCallback failureCallback, optional RTCOfferOptions options = {}); - Promise setLocalDescription(optional RTCSessionDescriptionInit description = {}, + Promise setLocalDescription(optional RTCLocalSessionDescriptionInit description = {}, VoidFunction successCallback, RTCPeerConnectionErrorCallback failureCallback); - Promise createAnswer(RTCSessionDescriptionCallback successCallback, + Promise createAnswer(RTCSessionDescriptionCallback successCallback, RTCPeerConnectionErrorCallback failureCallback); - Promise setRemoteDescription(optional RTCSessionDescriptionInit description = {}, + Promise setRemoteDescription(RTCSessionDescriptionInit description, VoidFunction successCallback, RTCPeerConnectionErrorCallback failureCallback); - Promise addIceCandidate(RTCIceCandidateInit candidate, + Promise addIceCandidate(RTCIceCandidateInit candidate, VoidFunction successCallback, RTCPeerConnectionErrorCallback failureCallback); }; -callback RTCPeerConnectionErrorCallback = void (DOMException error); +callback RTCPeerConnectionErrorCallback = undefined (DOMException error); -callback RTCSessionDescriptionCallback = void (RTCSessionDescriptionInit description); +callback RTCSessionDescriptionCallback = undefined (RTCSessionDescriptionInit description); partial dictionary RTCOfferOptions { boolean offerToReceiveAudio; @@ -157,13 +145,18 @@ enum RTCSdpType { [Exposed=Window] interface RTCSessionDescription { - constructor(optional RTCSessionDescriptionInit descriptionInitDict = {}); + constructor(RTCSessionDescriptionInit descriptionInitDict); readonly attribute RTCSdpType type; readonly attribute DOMString sdp; [Default] object toJSON(); }; dictionary RTCSessionDescriptionInit { + required RTCSdpType type; + DOMString sdp = ""; +}; + +dictionary RTCLocalSessionDescriptionInit { RTCSdpType type; DOMString sdp = ""; }; @@ -228,26 +221,21 @@ dictionary RTCPeerConnectionIceEventInit : EventInit { [Exposed=Window] interface RTCPeerConnectionIceErrorEvent : Event { constructor(DOMString type, RTCPeerConnectionIceErrorEventInit eventInitDict); - readonly attribute DOMString hostCandidate; + readonly attribute DOMString? address; + readonly attribute unsigned short? port; readonly attribute DOMString url; readonly attribute unsigned short errorCode; readonly attribute USVString errorText; }; dictionary RTCPeerConnectionIceErrorEventInit : EventInit { - DOMString hostCandidate; + DOMString? address; + unsigned short? port; DOMString url; required unsigned short errorCode; USVString statusText; }; -enum RTCPriorityType { - "very-low", - "low", - "medium", - "high" -}; - partial interface RTCPeerConnection { static Promise generateCertificate(AlgorithmIdentifier keygenAlgorithm); @@ -260,7 +248,6 @@ dictionary RTCCertificateExpiration { [Exposed=Window, Serializable] interface RTCCertificate { readonly attribute DOMTimeStamp expires; - static sequence getSupportedAlgorithms(); sequence getFingerprints(); }; @@ -269,7 +256,7 @@ partial interface RTCPeerConnection { sequence getReceivers(); sequence getTransceivers(); RTCRtpSender addTrack(MediaStreamTrack track, MediaStream... streams); - void removeTrack(RTCRtpSender sender); + undefined removeTrack(RTCRtpSender sender); RTCRtpTransceiver addTransceiver((MediaStreamTrack or DOMString) trackOrKind, optional RTCRtpTransceiverInit init = {}); attribute EventHandler ontrack; @@ -293,12 +280,11 @@ enum RTCRtpTransceiverDirection { interface RTCRtpSender { readonly attribute MediaStreamTrack? track; readonly attribute RTCDtlsTransport? transport; - readonly attribute RTCDtlsTransport? rtcpTransport; static RTCRtpCapabilities? getCapabilities(DOMString kind); - Promise setParameters(RTCRtpSendParameters parameters); + Promise setParameters(RTCRtpSendParameters parameters); RTCRtpSendParameters getParameters(); - Promise replaceTrack(MediaStreamTrack? withTrack); - void setStreams(MediaStream... streams); + Promise replaceTrack(MediaStreamTrack? withTrack); + undefined setStreams(MediaStream... streams); Promise getStats(); }; @@ -311,12 +297,9 @@ dictionary RTCRtpParameters { dictionary RTCRtpSendParameters : RTCRtpParameters { required DOMString transactionId; required sequence encodings; - RTCDegradationPreference degradationPreference = "balanced"; - RTCPriorityType priority = "low"; }; dictionary RTCRtpReceiveParameters : RTCRtpParameters { - required sequence encodings; }; dictionary RTCRtpCodingParameters { @@ -326,26 +309,11 @@ dictionary RTCRtpCodingParameters { dictionary RTCRtpDecodingParameters : RTCRtpCodingParameters {}; dictionary RTCRtpEncodingParameters : RTCRtpCodingParameters { - octet codecPayloadType; - RTCDtxStatus dtx; boolean active = true; - unsigned long ptime; unsigned long maxBitrate; - double maxFramerate; double scaleResolutionDownBy; }; -enum RTCDtxStatus { - "disabled", - "enabled" -}; - -enum RTCDegradationPreference { - "maintain-framerate", - "maintain-resolution", - "balanced" -}; - dictionary RTCRtcpParameters { DOMString cname; boolean reducedSize; @@ -385,7 +353,6 @@ dictionary RTCRtpHeaderExtensionCapability { interface RTCRtpReceiver { readonly attribute MediaStreamTrack track; readonly attribute RTCDtlsTransport? transport; - readonly attribute RTCDtlsTransport? rtcpTransport; static RTCRtpCapabilities? getCapabilities(DOMString kind); RTCRtpReceiveParameters getParameters(); sequence getContributingSources(); @@ -411,8 +378,8 @@ interface RTCRtpTransceiver { [SameObject] readonly attribute RTCRtpReceiver receiver; attribute RTCRtpTransceiverDirection direction; readonly attribute RTCRtpTransceiverDirection? currentDirection; - void stop(); - void setCodecPreferences(sequence codecs); + undefined stop(); + undefined setCodecPreferences(sequence codecs); }; [Exposed=Window] @@ -537,7 +504,6 @@ interface RTCDataChannel : EventTarget { readonly attribute USVString protocol; readonly attribute boolean negotiated; readonly attribute unsigned short? id; - readonly attribute RTCPriorityType priority; readonly attribute RTCDataChannelState readyState; readonly attribute unsigned long bufferedAmount; [EnforceRange] attribute unsigned long bufferedAmountLowThreshold; @@ -546,13 +512,13 @@ interface RTCDataChannel : EventTarget { attribute EventHandler onerror; attribute EventHandler onclosing; attribute EventHandler onclose; - void close(); + undefined close(); attribute EventHandler onmessage; - attribute DOMString binaryType; - void send(USVString data); - void send(Blob data); - void send(ArrayBuffer data); - void send(ArrayBufferView data); + attribute BinaryType binaryType; + undefined send(USVString data); + undefined send(Blob data); + undefined send(ArrayBuffer data); + undefined send(ArrayBufferView data); }; dictionary RTCDataChannelInit { @@ -562,7 +528,6 @@ dictionary RTCDataChannelInit { USVString protocol = ""; boolean negotiated = false; [EnforceRange] unsigned short id; - RTCPriorityType priority = "low"; }; enum RTCDataChannelState { @@ -588,7 +553,7 @@ partial interface RTCRtpSender { [Exposed=Window] interface RTCDTMFSender : EventTarget { - void insertDTMF(DOMString tones, optional unsigned long duration = 100, optional unsigned long interToneGap = 70); + undefined insertDTMF(DOMString tones, optional unsigned long duration = 100, optional unsigned long interToneGap = 70); attribute EventHandler ontonechange; readonly attribute boolean canInsertDTMF; readonly attribute DOMString toneBuffer; @@ -596,17 +561,16 @@ interface RTCDTMFSender : EventTarget { [Exposed=Window] interface RTCDTMFToneChangeEvent : Event { - constructor(DOMString type, RTCDTMFToneChangeEventInit eventInitDict); + constructor(DOMString type, optional RTCDTMFToneChangeEventInit eventInitDict = {}); readonly attribute DOMString tone; }; dictionary RTCDTMFToneChangeEventInit : EventInit { - required DOMString tone; + DOMString tone = ""; }; partial interface RTCPeerConnection { Promise getStats(optional MediaStreamTrack? selector = null); - attribute EventHandler onstatsended; }; [Exposed=Window] @@ -620,22 +584,11 @@ dictionary RTCStats { required DOMString id; }; -[Exposed=Window] -interface RTCStatsEvent : Event { - constructor(DOMString type, RTCStatsEventInit eventInitDict); - readonly attribute RTCStatsReport report; -}; - -dictionary RTCStatsEventInit : EventInit { - required RTCStatsReport report; -}; - [Exposed=Window] interface RTCError : DOMException { constructor(RTCErrorInit init, optional DOMString message = ""); readonly attribute RTCErrorDetailType errorDetail; readonly attribute long? sdpLineNumber; - readonly attribute long? httpRequestStatusCode; readonly attribute long? sctpCauseCode; readonly attribute unsigned long? receivedAlert; readonly attribute unsigned long? sentAlert; @@ -644,7 +597,6 @@ interface RTCError : DOMException { dictionary RTCErrorInit { required RTCErrorDetailType errorDetail; long sdpLineNumber; - long httpRequestStatusCode; long sctpCauseCode; unsigned long receivedAlert; unsigned long sentAlert; @@ -654,14 +606,6 @@ enum RTCErrorDetailType { "data-channel-failure", "dtls-failure", "fingerprint-failure", - "idp-bad-script-failure", - "idp-execution-failure", - "idp-load-failure", - "idp-need-login", - "idp-timeout", - "idp-tls-failure", - "idp-token-expired", - "idp-token-invalid", "sctp-failure", "sdp-syntax-error", "hardware-encoder-not-available", diff --git a/inputfiles/overridingTypes.json b/inputfiles/overridingTypes.json index 5f177c698..3e94ed00b 100644 --- a/inputfiles/overridingTypes.json +++ b/inputfiles/overridingTypes.json @@ -1850,10 +1850,6 @@ { "name": "isolationchange", "type": "Event" - }, - { - "name": "statsended", - "type": "RTCStatsEvent" } ] } diff --git a/inputfiles/removedTypes.json b/inputfiles/removedTypes.json index e04519407..975b66559 100644 --- a/inputfiles/removedTypes.json +++ b/inputfiles/removedTypes.json @@ -270,10 +270,17 @@ } } }, - "RTCPeerConnection": { - "methods": { - "method": { - "restartIce": null + "RTCIceTransport": { + "properties": { + "property": { + "component": null + } + } + }, + "RTCPeerConnectionIceEvent": { + "properties": { + "property": { + "url": null } } }, From 2f266bc9a082248c3839cb1344eca01057b0ef40 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sun, 25 Oct 2020 02:39:08 +0200 Subject: [PATCH 014/362] chore: add Payment Request types --- baselines/dom.generated.d.ts | 69 +++++++++- inputfiles/idl/Payment Request.widl | 188 ++++++++++++++++++++++++++++ inputfiles/idlSources.json | 4 + 3 files changed, 255 insertions(+), 6 deletions(-) create mode 100644 inputfiles/idl/Payment Request.widl diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 6f47d8869..8aab4aeb8 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -15,6 +15,19 @@ interface AddEventListenerOptions extends EventListenerOptions { passive?: boolean; } +interface AddressErrors { + addressLine?: string; + city?: string; + country?: string; + dependentLocality?: string; + organization?: string; + phone?: string; + postalCode?: string; + recipient?: string; + region?: string; + sortingCode?: string; +} + interface AesCbcParams extends Algorithm { iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; } @@ -946,9 +959,14 @@ interface PannerOptions extends AudioNodeOptions { rolloffFactor?: number; } +interface PayerErrors { + email?: string; + name?: string; + phone?: string; +} + interface PaymentCurrencyAmount { currency: string; - currencySystem?: string; value: string; } @@ -972,6 +990,9 @@ interface PaymentDetailsModifier { interface PaymentDetailsUpdate extends PaymentDetailsBase { error?: string; + payerErrors?: PayerErrors; + paymentMethodErrors?: any; + shippingAddressErrors?: AddressErrors; total?: PaymentItem; } @@ -981,17 +1002,23 @@ interface PaymentItem { pending?: boolean; } +interface PaymentMethodChangeEventInit extends PaymentRequestUpdateEventInit { + methodDetails?: any; + methodName?: string; +} + interface PaymentMethodData { data?: any; supportedMethods: string | string[]; } interface PaymentOptions { + requestBillingAddress?: boolean; requestPayerEmail?: boolean; requestPayerName?: boolean; requestPayerPhone?: boolean; requestShipping?: boolean; - shippingType?: string; + shippingType?: PaymentShippingType; } interface PaymentRequestUpdateEventInit extends EventInit { @@ -1004,6 +1031,13 @@ interface PaymentShippingOption { selected?: boolean; } +interface PaymentValidationErrors { + error?: string; + payer?: PayerErrors; + paymentMethod?: any; + shippingAddress?: AddressErrors; +} + interface Pbkdf2Params extends Algorithm { hash: HashAlgorithmIdentifier; iterations: number; @@ -4689,6 +4723,7 @@ interface Document extends Node, DocumentAndElementEventHandlers, DocumentOrShad createEvent(eventInterface: "OfflineAudioCompletionEvent"): OfflineAudioCompletionEvent; createEvent(eventInterface: "OverflowEvent"): OverflowEvent; createEvent(eventInterface: "PageTransitionEvent"): PageTransitionEvent; + createEvent(eventInterface: "PaymentMethodChangeEvent"): PaymentMethodChangeEvent; createEvent(eventInterface: "PaymentRequestUpdateEvent"): PaymentRequestUpdateEvent; createEvent(eventInterface: "PermissionRequestedEvent"): PermissionRequestedEvent; createEvent(eventInterface: "PointerEvent"): PointerEvent; @@ -4938,6 +4973,7 @@ interface DocumentEvent { createEvent(eventInterface: "OfflineAudioCompletionEvent"): OfflineAudioCompletionEvent; createEvent(eventInterface: "OverflowEvent"): OverflowEvent; createEvent(eventInterface: "PageTransitionEvent"): PageTransitionEvent; + createEvent(eventInterface: "PaymentMethodChangeEvent"): PaymentMethodChangeEvent; createEvent(eventInterface: "PaymentRequestUpdateEvent"): PaymentRequestUpdateEvent; createEvent(eventInterface: "PermissionRequestedEvent"): PermissionRequestedEvent; createEvent(eventInterface: "PointerEvent"): PointerEvent; @@ -11381,11 +11417,10 @@ declare var Path2D: { /** This Payment Request API interface is used to store shipping or payment address information. */ interface PaymentAddress { - readonly addressLine: string[]; + readonly addressLine: ReadonlyArray; readonly city: string; readonly country: string; readonly dependentLocality: string; - readonly languageCode: string; readonly organization: string; readonly phone: string; readonly postalCode: string; @@ -11400,7 +11435,18 @@ declare var PaymentAddress: { new(): PaymentAddress; }; +interface PaymentMethodChangeEvent extends PaymentRequestUpdateEvent { + readonly methodDetails: any; + readonly methodName: string; +} + +declare var PaymentMethodChangeEvent: { + prototype: PaymentMethodChangeEvent; + new(type: string, eventInitDict?: PaymentMethodChangeEventInit): PaymentMethodChangeEvent; +}; + interface PaymentRequestEventMap { + "paymentmethodchange": Event; "shippingaddresschange": Event; "shippingoptionchange": Event; } @@ -11408,6 +11454,7 @@ interface PaymentRequestEventMap { /** This Payment Request API interface is the primary access point into the API, and lets web content and apps accept payments from the end user. */ interface PaymentRequest extends EventTarget { readonly id: string; + onpaymentmethodchange: ((this: PaymentRequest, ev: Event) => any) | null; onshippingaddresschange: ((this: PaymentRequest, ev: Event) => any) | null; onshippingoptionchange: ((this: PaymentRequest, ev: Event) => any) | null; readonly shippingAddress: PaymentAddress | null; @@ -11415,7 +11462,7 @@ interface PaymentRequest extends EventTarget { readonly shippingType: PaymentShippingType | null; abort(): Promise; canMakePayment(): Promise; - show(): Promise; + show(detailsPromise: PaymentDetailsUpdate | Promise): Promise; addEventListener(type: K, listener: (this: PaymentRequest, ev: PaymentRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: PaymentRequest, ev: PaymentRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void; @@ -11437,10 +11484,15 @@ declare var PaymentRequestUpdateEvent: { new(type: string, eventInitDict?: PaymentRequestUpdateEventInit): PaymentRequestUpdateEvent; }; +interface PaymentResponseEventMap { + "payerdetailchange": Event; +} + /** This Payment Request API interface is returned after a user selects a payment method and approves a payment request. */ -interface PaymentResponse { +interface PaymentResponse extends EventTarget { readonly details: any; readonly methodName: string; + onpayerdetailchange: ((this: PaymentResponse, ev: Event) => any) | null; readonly payerEmail: string | null; readonly payerName: string | null; readonly payerPhone: string | null; @@ -11448,7 +11500,12 @@ interface PaymentResponse { readonly shippingAddress: PaymentAddress | null; readonly shippingOption: string | null; complete(result?: PaymentComplete): Promise; + retry(errorFields?: PaymentValidationErrors): Promise; toJSON(): any; + addEventListener(type: K, listener: (this: PaymentResponse, ev: PaymentResponseEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: PaymentResponse, ev: PaymentResponseEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } declare var PaymentResponse: { diff --git a/inputfiles/idl/Payment Request.widl b/inputfiles/idl/Payment Request.widl new file mode 100644 index 000000000..0b260ac7e --- /dev/null +++ b/inputfiles/idl/Payment Request.widl @@ -0,0 +1,188 @@ +[SecureContext, Exposed=Window] +interface PaymentRequest : EventTarget { + constructor( + sequence methodData, + PaymentDetailsInit details, + optional PaymentOptions options = {} + ); + [NewObject] + Promise show(optional Promise detailsPromise); + [NewObject] + Promise abort(); + [NewObject] + Promise canMakePayment(); + + readonly attribute DOMString id; + readonly attribute PaymentAddress? shippingAddress; + readonly attribute DOMString? shippingOption; + readonly attribute PaymentShippingType? shippingType; + + attribute EventHandler onshippingaddresschange; + attribute EventHandler onshippingoptionchange; + attribute EventHandler onpaymentmethodchange; +}; + +dictionary PaymentMethodData { + required DOMString supportedMethods; + object data; +}; + +dictionary PaymentCurrencyAmount { + required DOMString currency; + required DOMString value; +}; + +dictionary PaymentDetailsBase { + sequence displayItems; + sequence shippingOptions; + sequence modifiers; +}; + +dictionary PaymentDetailsInit : PaymentDetailsBase { + DOMString id; + required PaymentItem total; +}; + +dictionary PaymentDetailsUpdate : PaymentDetailsBase { + DOMString error; + PaymentItem total; + AddressErrors shippingAddressErrors; + PayerErrors payerErrors; + object paymentMethodErrors; +}; + +dictionary PaymentDetailsModifier { + required DOMString supportedMethods; + PaymentItem total; + sequence additionalDisplayItems; + object data; +}; + +enum PaymentShippingType { + "shipping", + "delivery", + "pickup" +}; + +dictionary PaymentOptions { + boolean requestPayerName = false; + boolean requestBillingAddress = false; + boolean requestPayerEmail = false; + boolean requestPayerPhone = false; + boolean requestShipping = false; + PaymentShippingType shippingType = "shipping"; +}; + +dictionary PaymentItem { + required DOMString label; + required PaymentCurrencyAmount amount; + boolean pending = false; +}; + +[SecureContext, Exposed=(Window)] +interface PaymentAddress { + [Default] object toJSON(); + readonly attribute DOMString city; + readonly attribute DOMString country; + readonly attribute DOMString dependentLocality; + readonly attribute DOMString organization; + readonly attribute DOMString phone; + readonly attribute DOMString postalCode; + readonly attribute DOMString recipient; + readonly attribute DOMString region; + readonly attribute DOMString sortingCode; + readonly attribute FrozenArray addressLine; +}; + +dictionary AddressInit { + DOMString country = ""; + sequence addressLine = []; + DOMString region = ""; + DOMString city = ""; + DOMString dependentLocality = ""; + DOMString postalCode = ""; + DOMString sortingCode = ""; + DOMString organization = ""; + DOMString recipient = ""; + DOMString phone = ""; +}; + +dictionary AddressErrors { + DOMString addressLine; + DOMString city; + DOMString country; + DOMString dependentLocality; + DOMString organization; + DOMString phone; + DOMString postalCode; + DOMString recipient; + DOMString region; + DOMString sortingCode; +}; + +dictionary PaymentShippingOption { + required DOMString id; + required DOMString label; + required PaymentCurrencyAmount amount; + boolean selected = false; +}; + +enum PaymentComplete { + "fail", + "success", + "unknown" +}; + +[SecureContext, Exposed=Window] +interface PaymentResponse : EventTarget { + [Default] object toJSON(); + + readonly attribute DOMString requestId; + readonly attribute DOMString methodName; + readonly attribute object details; + readonly attribute PaymentAddress? shippingAddress; + readonly attribute DOMString? shippingOption; + readonly attribute DOMString? payerName; + readonly attribute DOMString? payerEmail; + readonly attribute DOMString? payerPhone; + + [NewObject] + Promise complete(optional PaymentComplete result = "unknown"); + [NewObject] + Promise retry(optional PaymentValidationErrors errorFields = {}); + + attribute EventHandler onpayerdetailchange; +}; + +dictionary PaymentValidationErrors { + PayerErrors payer; + AddressErrors shippingAddress; + DOMString error; + object paymentMethod; +}; + +dictionary PayerErrors { + DOMString email; + DOMString name; + DOMString phone; +}; + +[SecureContext, Exposed=Window] +interface PaymentMethodChangeEvent : PaymentRequestUpdateEvent { + constructor(DOMString type, optional PaymentMethodChangeEventInit eventInitDict = {}); + readonly attribute DOMString methodName; + readonly attribute object? methodDetails; +}; + +dictionary PaymentMethodChangeEventInit : PaymentRequestUpdateEventInit { + DOMString methodName = ""; + object? methodDetails = null; +}; + +[SecureContext, Exposed=Window] +interface PaymentRequestUpdateEvent : Event { + constructor(DOMString type, optional PaymentRequestUpdateEventInit eventInitDict = {}); + undefined updateWith(Promise detailsPromise); +}; + +dictionary PaymentRequestUpdateEventInit : EventInit {}; diff --git a/inputfiles/idlSources.json b/inputfiles/idlSources.json index c0031482e..1806ea9a1 100644 --- a/inputfiles/idlSources.json +++ b/inputfiles/idlSources.json @@ -434,6 +434,10 @@ "url": "https://www.w3.org/TR/push-api/", "title": "Push" }, + { + "url": "https://w3c.github.io/payment-request/", + "title": "Payment Request" + }, { "url": "https://www.w3.org/TR/referrer-policy/", "title": "Referrer Policy" From 647440a6c8f784f15ccc27617a3a5d3450e316c8 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sun, 25 Oct 2020 02:09:41 +0200 Subject: [PATCH 015/362] chore: remove MediaStreamTrack isolation --- baselines/dom.generated.d.ts | 3 --- inputfiles/removedTypes.json | 8 ++++++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 8aab4aeb8..eb1fb1191 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -10398,7 +10398,6 @@ declare var MediaStreamEvent: { interface MediaStreamTrackEventMap { "ended": Event; - "isolationchange": Event; "mute": Event; "unmute": Event; } @@ -10407,12 +10406,10 @@ interface MediaStreamTrackEventMap { interface MediaStreamTrack extends EventTarget { enabled: boolean; readonly id: string; - readonly isolated: boolean; readonly kind: string; readonly label: string; readonly muted: boolean; onended: ((this: MediaStreamTrack, ev: Event) => any) | null; - onisolationchange: ((this: MediaStreamTrack, ev: Event) => any) | null; onmute: ((this: MediaStreamTrack, ev: Event) => any) | null; onunmute: ((this: MediaStreamTrack, ev: Event) => any) | null; readonly readyState: MediaStreamTrackState; diff --git a/inputfiles/removedTypes.json b/inputfiles/removedTypes.json index 975b66559..9d8144f43 100644 --- a/inputfiles/removedTypes.json +++ b/inputfiles/removedTypes.json @@ -234,6 +234,14 @@ } } }, + "MediaStreamTrack": { + "properties": { + "property": { + "isolated": null, + "onisolationchange": null + } + } + }, "MessageEvent": { "methods": { "method": { From e1ad9336061d62785b371c30c94530becf6cb030 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sun, 25 Oct 2020 01:56:19 +0200 Subject: [PATCH 016/362] chore: remove MS-prefixed events --- baselines/dom.generated.d.ts | 132 ----------------------------------- inputfiles/removedTypes.json | 19 +++++ 2 files changed, 19 insertions(+), 132 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index eb1fb1191..45b5f3a36 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -4705,10 +4705,6 @@ interface Document extends Node, DocumentAndElementEventHandlers, DocumentOrShad createEvent(eventInterface: "InputEvent"): InputEvent; createEvent(eventInterface: "KeyboardEvent"): KeyboardEvent; createEvent(eventInterface: "ListeningStateChangedEvent"): ListeningStateChangedEvent; - createEvent(eventInterface: "MSGestureEvent"): MSGestureEvent; - createEvent(eventInterface: "MSMediaKeyMessageEvent"): MSMediaKeyMessageEvent; - createEvent(eventInterface: "MSMediaKeyNeededEvent"): MSMediaKeyNeededEvent; - createEvent(eventInterface: "MSPointerEvent"): MSPointerEvent; createEvent(eventInterface: "MediaEncryptedEvent"): MediaEncryptedEvent; createEvent(eventInterface: "MediaKeyMessageEvent"): MediaKeyMessageEvent; createEvent(eventInterface: "MediaQueryListEvent"): MediaQueryListEvent; @@ -4955,10 +4951,6 @@ interface DocumentEvent { createEvent(eventInterface: "InputEvent"): InputEvent; createEvent(eventInterface: "KeyboardEvent"): KeyboardEvent; createEvent(eventInterface: "ListeningStateChangedEvent"): ListeningStateChangedEvent; - createEvent(eventInterface: "MSGestureEvent"): MSGestureEvent; - createEvent(eventInterface: "MSMediaKeyMessageEvent"): MSMediaKeyMessageEvent; - createEvent(eventInterface: "MSMediaKeyNeededEvent"): MSMediaKeyNeededEvent; - createEvent(eventInterface: "MSPointerEvent"): MSPointerEvent; createEvent(eventInterface: "MediaEncryptedEvent"): MediaEncryptedEvent; createEvent(eventInterface: "MediaKeyMessageEvent"): MediaKeyMessageEvent; createEvent(eventInterface: "MediaQueryListEvent"): MediaQueryListEvent; @@ -9900,43 +9892,6 @@ declare var MSGesture: { new(): MSGesture; }; -/** The MSGestureEvent is a proprietary interface specific to Internet Explorer and Microsoft Edge which represents events that occur due to touch gestures. Events using this interface include MSGestureStart, MSGestureEnd, MSGestureTap, MSGestureHold, MSGestureChange, and MSInertiaStart. */ -interface MSGestureEvent extends UIEvent { - readonly clientX: number; - readonly clientY: number; - readonly expansion: number; - readonly gestureObject: any; - readonly hwTimestamp: number; - readonly offsetX: number; - readonly offsetY: number; - readonly rotation: number; - readonly scale: number; - readonly screenX: number; - readonly screenY: number; - readonly translationX: number; - readonly translationY: number; - readonly velocityAngular: number; - readonly velocityExpansion: number; - readonly velocityX: number; - readonly velocityY: number; - initGestureEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, offsetXArg: number, offsetYArg: number, translationXArg: number, translationYArg: number, scaleArg: number, expansionArg: number, rotationArg: number, velocityXArg: number, velocityYArg: number, velocityExpansionArg: number, velocityAngularArg: number, hwTimestampArg: number): void; - readonly MSGESTURE_FLAG_BEGIN: number; - readonly MSGESTURE_FLAG_CANCEL: number; - readonly MSGESTURE_FLAG_END: number; - readonly MSGESTURE_FLAG_INERTIA: number; - readonly MSGESTURE_FLAG_NONE: number; -} - -declare var MSGestureEvent: { - prototype: MSGestureEvent; - new(): MSGestureEvent; - readonly MSGESTURE_FLAG_BEGIN: number; - readonly MSGESTURE_FLAG_CANCEL: number; - readonly MSGESTURE_FLAG_END: number; - readonly MSGESTURE_FLAG_INERTIA: number; - readonly MSGESTURE_FLAG_NONE: number; -}; - /** The msGraphicsTrust() constructor returns an object that provides properties for info on protected video playback. */ interface MSGraphicsTrust { readonly constrictionActive: boolean; @@ -9998,25 +9953,6 @@ declare var MSMediaKeyError: { readonly MS_MEDIA_KEYERR_UNKNOWN: number; }; -interface MSMediaKeyMessageEvent extends Event { - readonly destinationURL: string | null; - readonly message: Uint8Array; -} - -declare var MSMediaKeyMessageEvent: { - prototype: MSMediaKeyMessageEvent; - new(): MSMediaKeyMessageEvent; -}; - -interface MSMediaKeyNeededEvent extends Event { - readonly initData: Uint8Array | null; -} - -declare var MSMediaKeyNeededEvent: { - prototype: MSMediaKeyNeededEvent; - new(): MSMediaKeyNeededEvent; -}; - interface MSMediaKeySession extends EventTarget { readonly error: MSMediaKeyError | null; readonly keySystem: string; @@ -10051,29 +9987,6 @@ interface MSNavigatorDoNotTrack { storeWebWideTrackingException(args: StoreExceptionsInformation): void; } -interface MSPointerEvent extends MouseEvent { - readonly currentPoint: any; - readonly height: number; - readonly hwTimestamp: number; - readonly intermediatePoints: any; - readonly isPrimary: boolean; - readonly pointerId: number; - readonly pointerType: any; - readonly pressure: number; - readonly rotation: number; - readonly tiltX: number; - readonly tiltY: number; - readonly width: number; - getCurrentPoint(element: Element): void; - getIntermediatePoints(element: Element): void; - initPointerEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, ctrlKeyArg: boolean, altKeyArg: boolean, shiftKeyArg: boolean, metaKeyArg: boolean, buttonArg: number, relatedTargetArg: EventTarget, offsetXArg: number, offsetYArg: number, widthArg: number, heightArg: number, pressure: number, rotation: number, tiltX: number, tiltY: number, pointerIdArg: number, pointerType: any, hwTimestampArg: number, isPrimary: boolean): void; -} - -declare var MSPointerEvent: { - prototype: MSPointerEvent; - new(typeArg: string, eventInitDict?: PointerEventInit): MSPointerEvent; -}; - interface MSStream { readonly type: string; msClose(): void; @@ -18377,21 +18290,6 @@ interface WindowEventMap extends GlobalEventHandlersEventMap, WindowEventHandler "mouseover": MouseEvent; "mouseup": MouseEvent; "mousewheel": Event; - "MSGestureChange": Event; - "MSGestureDoubleTap": Event; - "MSGestureEnd": Event; - "MSGestureHold": Event; - "MSGestureStart": Event; - "MSGestureTap": Event; - "MSInertiaStart": Event; - "MSPointerCancel": Event; - "MSPointerDown": Event; - "MSPointerEnter": Event; - "MSPointerLeave": Event; - "MSPointerMove": Event; - "MSPointerOut": Event; - "MSPointerOver": Event; - "MSPointerUp": Event; "offline": Event; "online": Event; "orientationchange": Event; @@ -18461,21 +18359,6 @@ interface Window extends EventTarget, AnimationFrameProvider, GlobalEventHandler ongamepadconnected: ((this: Window, ev: GamepadEvent) => any) | null; ongamepaddisconnected: ((this: Window, ev: GamepadEvent) => any) | null; onmousewheel: ((this: Window, ev: Event) => any) | null; - onmsgesturechange: ((this: Window, ev: Event) => any) | null; - onmsgesturedoubletap: ((this: Window, ev: Event) => any) | null; - onmsgestureend: ((this: Window, ev: Event) => any) | null; - onmsgesturehold: ((this: Window, ev: Event) => any) | null; - onmsgesturestart: ((this: Window, ev: Event) => any) | null; - onmsgesturetap: ((this: Window, ev: Event) => any) | null; - onmsinertiastart: ((this: Window, ev: Event) => any) | null; - onmspointercancel: ((this: Window, ev: Event) => any) | null; - onmspointerdown: ((this: Window, ev: Event) => any) | null; - onmspointerenter: ((this: Window, ev: Event) => any) | null; - onmspointerleave: ((this: Window, ev: Event) => any) | null; - onmspointermove: ((this: Window, ev: Event) => any) | null; - onmspointerout: ((this: Window, ev: Event) => any) | null; - onmspointerover: ((this: Window, ev: Event) => any) | null; - onmspointerup: ((this: Window, ev: Event) => any) | null; /** @deprecated */ onorientationchange: ((this: Window, ev: Event) => any) | null; onreadystatechange: ((this: Window, ev: ProgressEvent) => any) | null; @@ -19504,21 +19387,6 @@ declare var ondeviceorientationabsolute: ((this: Window, ev: DeviceOrientationEv declare var ongamepadconnected: ((this: Window, ev: GamepadEvent) => any) | null; declare var ongamepaddisconnected: ((this: Window, ev: GamepadEvent) => any) | null; declare var onmousewheel: ((this: Window, ev: Event) => any) | null; -declare var onmsgesturechange: ((this: Window, ev: Event) => any) | null; -declare var onmsgesturedoubletap: ((this: Window, ev: Event) => any) | null; -declare var onmsgestureend: ((this: Window, ev: Event) => any) | null; -declare var onmsgesturehold: ((this: Window, ev: Event) => any) | null; -declare var onmsgesturestart: ((this: Window, ev: Event) => any) | null; -declare var onmsgesturetap: ((this: Window, ev: Event) => any) | null; -declare var onmsinertiastart: ((this: Window, ev: Event) => any) | null; -declare var onmspointercancel: ((this: Window, ev: Event) => any) | null; -declare var onmspointerdown: ((this: Window, ev: Event) => any) | null; -declare var onmspointerenter: ((this: Window, ev: Event) => any) | null; -declare var onmspointerleave: ((this: Window, ev: Event) => any) | null; -declare var onmspointermove: ((this: Window, ev: Event) => any) | null; -declare var onmspointerout: ((this: Window, ev: Event) => any) | null; -declare var onmspointerover: ((this: Window, ev: Event) => any) | null; -declare var onmspointerup: ((this: Window, ev: Event) => any) | null; /** @deprecated */ declare var onorientationchange: ((this: Window, ev: Event) => any) | null; declare var onreadystatechange: ((this: Window, ev: ProgressEvent) => any) | null; diff --git a/inputfiles/removedTypes.json b/inputfiles/removedTypes.json index 9d8144f43..b7fa82616 100644 --- a/inputfiles/removedTypes.json +++ b/inputfiles/removedTypes.json @@ -252,6 +252,10 @@ "MSCredentials": null, "MSDCCEvent": null, "MSDSHEvent": null, + "MSGestureEvent": null, + "MSMediaKeyMessageEvent": null, + "MSMediaKeyNeededEvent": null, + "MSPointerEvent": null, "MSStreamReader": null, "PasswordCredential": null, "Position": null, @@ -464,6 +468,21 @@ "crypto": null, "isSecureContext": null, "msCredentials": null, + "onmsgesturechange": null, + "onmsgesturedoubletap": null, + "onmsgestureend": null, + "onmsgesturehold": null, + "onmsgesturestart": null, + "onmsgesturetap": null, + "onmsinertiastart": null, + "onmspointercancel": null, + "onmspointerdown": null, + "onmspointerenter": null, + "onmspointerleave": null, + "onmspointermove": null, + "onmspointerout": null, + "onmspointerover": null, + "onmspointerup": null, "ontouchcancel": null, "ontouchend": null, "ontouchmove": null, From eb8029f3cfbfd429950ca5e03a4a29cafe722eb1 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sun, 25 Oct 2020 01:37:10 +0200 Subject: [PATCH 017/362] chore: remove HTMLBaseFontElement --- baselines/dom.generated.d.ts | 28 ---------------------------- inputfiles/comments.json | 12 ------------ inputfiles/removedTypes.json | 1 + 3 files changed, 1 insertion(+), 40 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 45b5f3a36..beb34059d 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -3857,10 +3857,6 @@ declare var DOMImplementation: { new(): DOMImplementation; }; -interface DOML2DeprecatedColorProperty { - color: string; -} - interface DOMMatrix extends DOMMatrixReadOnly { a: number; b: number; @@ -6314,29 +6310,6 @@ declare var HTMLBaseElement: { new(): HTMLBaseElement; }; -/** Provides special properties (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating elements. */ -interface HTMLBaseFontElement extends HTMLElement, DOML2DeprecatedColorProperty { - /** - * Sets or retrieves the current typeface family. - */ - /** @deprecated */ - face: string; - /** - * Sets or retrieves the font size of the object. - */ - /** @deprecated */ - size: number; - addEventListener(type: K, listener: (this: HTMLBaseFontElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; - removeEventListener(type: K, listener: (this: HTMLBaseFontElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; - removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; -} - -declare var HTMLBaseFontElement: { - prototype: HTMLBaseFontElement; - new(): HTMLBaseFontElement; -}; - interface HTMLBodyElementEventMap extends HTMLElementEventMap, WindowEventHandlersEventMap { "orientationchange": Event; } @@ -19165,7 +19138,6 @@ interface HTMLElementTagNameMap { "audio": HTMLAudioElement; "b": HTMLElement; "base": HTMLBaseElement; - "basefont": HTMLBaseFontElement; "bdi": HTMLElement; "bdo": HTMLElement; "blockquote": HTMLQuoteElement; diff --git a/inputfiles/comments.json b/inputfiles/comments.json index b048148ea..6fbe5b28d 100644 --- a/inputfiles/comments.json +++ b/inputfiles/comments.json @@ -1338,18 +1338,6 @@ } } }, - "HTMLBaseFontElement": { - "properties": { - "property": { - "face": { - "comment": "/**\n * Sets or retrieves the current typeface family.\n */" - }, - "size": { - "comment": "/**\n * Sets or retrieves the font size of the object.\n */" - } - } - } - }, "HTMLTextAreaElement": { "properties": { "property": { diff --git a/inputfiles/removedTypes.json b/inputfiles/removedTypes.json index b7fa82616..c7cd0ad7a 100644 --- a/inputfiles/removedTypes.json +++ b/inputfiles/removedTypes.json @@ -201,6 +201,7 @@ "FederatedCredential": null, "FormDataEvent": null, "HTMLAreasCollection": null, + "HTMLBaseFontElement": null, "HTMLMediaElement": { "properties": { "property": { From 34c0302912fc05cd4a7308710459e05894fd832a Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sun, 25 Oct 2020 01:11:56 +0200 Subject: [PATCH 018/362] chore: remove ServiceWorkerMessageEvent --- baselines/dom.generated.d.ts | 26 -------------------------- inputfiles/removedTypes.json | 1 + 2 files changed, 1 insertion(+), 26 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index beb34059d..9f4c1aca0 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -1718,14 +1718,6 @@ interface SecurityPolicyViolationEventInit extends EventInit { violatedDirective?: string; } -interface ServiceWorkerMessageEventInit extends EventInit { - data?: any; - lastEventId?: string; - origin?: string; - ports?: MessagePort[] | null; - source?: ServiceWorker | MessagePort | null; -} - interface ShadowRootInit { delegatesFocus?: boolean; mode: ShadowRootMode; @@ -4736,7 +4728,6 @@ interface Document extends Node, DocumentAndElementEventHandlers, DocumentOrShad createEvent(eventInterface: "SVGZoomEvent"): SVGZoomEvent; createEvent(eventInterface: "SVGZoomEvents"): SVGZoomEvent; createEvent(eventInterface: "SecurityPolicyViolationEvent"): SecurityPolicyViolationEvent; - createEvent(eventInterface: "ServiceWorkerMessageEvent"): ServiceWorkerMessageEvent; createEvent(eventInterface: "SpeechRecognitionErrorEvent"): SpeechRecognitionErrorEvent; createEvent(eventInterface: "SpeechRecognitionEvent"): SpeechRecognitionEvent; createEvent(eventInterface: "SpeechSynthesisErrorEvent"): SpeechSynthesisErrorEvent; @@ -4982,7 +4973,6 @@ interface DocumentEvent { createEvent(eventInterface: "SVGZoomEvent"): SVGZoomEvent; createEvent(eventInterface: "SVGZoomEvents"): SVGZoomEvent; createEvent(eventInterface: "SecurityPolicyViolationEvent"): SecurityPolicyViolationEvent; - createEvent(eventInterface: "ServiceWorkerMessageEvent"): ServiceWorkerMessageEvent; createEvent(eventInterface: "SpeechRecognitionErrorEvent"): SpeechRecognitionErrorEvent; createEvent(eventInterface: "SpeechRecognitionEvent"): SpeechRecognitionEvent; createEvent(eventInterface: "SpeechSynthesisErrorEvent"): SpeechSynthesisErrorEvent; @@ -14826,22 +14816,6 @@ declare var ServiceWorkerContainer: { new(): ServiceWorkerContainer; }; -/** This ServiceWorker API interface contains information about an event sent to a ServiceWorkerContainer target. This extends the default message event to allow setting a ServiceWorker object as the source of a message. The event object is accessed via the handler function of a message event, when fired by a message received from a service worker. - * @deprecated In modern browsers, this interface has been deprecated. Service worker messages will now use the MessageEvent interface, for consistency with other web messaging features. - */ -interface ServiceWorkerMessageEvent extends Event { - readonly data: any; - readonly lastEventId: string; - readonly origin: string; - readonly ports: ReadonlyArray | null; - readonly source: ServiceWorker | MessagePort | null; -} - -declare var ServiceWorkerMessageEvent: { - prototype: ServiceWorkerMessageEvent; - new(type: string, eventInitDict?: ServiceWorkerMessageEventInit): ServiceWorkerMessageEvent; -}; - interface ServiceWorkerRegistrationEventMap { "updatefound": Event; } diff --git a/inputfiles/removedTypes.json b/inputfiles/removedTypes.json index c7cd0ad7a..af2ebc33e 100644 --- a/inputfiles/removedTypes.json +++ b/inputfiles/removedTypes.json @@ -304,6 +304,7 @@ } } }, + "ServiceWorkerMessageEvent": null, "ShadowRoot": { "properties": { "property": { From f5b034caa8964166d03ae05332baa78014ecf5cb Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sat, 24 Oct 2020 23:59:35 +0200 Subject: [PATCH 019/362] chore: remove DeviceLightEvent --- baselines/dom.generated.d.ts | 19 ------------------- inputfiles/removedTypes.json | 7 +++++++ 2 files changed, 7 insertions(+), 19 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 9f4c1aca0..fd3da8f2d 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -358,10 +358,6 @@ interface DelayOptions extends AudioNodeOptions { maxDelayTime?: number; } -interface DeviceLightEventInit extends EventInit { - value?: number; -} - interface DeviceMotionEventAccelerationInit { x?: number | null; y?: number | null; @@ -4334,16 +4330,6 @@ declare var DeviceAcceleration: { new(): DeviceAcceleration; }; -/** The DeviceLightEvent provides web developers with information from photo sensors or similiar detectors about ambient light levels near the device. For example this may be useful to adjust the screen's brightness based on the current ambient light level in order to save energy or provide better readability. */ -interface DeviceLightEvent extends Event { - readonly value: number; -} - -declare var DeviceLightEvent: { - prototype: DeviceLightEvent; - new(typeArg: string, eventInitDict?: DeviceLightEventInit): DeviceLightEvent; -}; - /** The DeviceMotionEvent provides web developers with information about the speed of changes for the device's position and orientation. */ interface DeviceMotionEvent extends Event { readonly acceleration: DeviceMotionEventAcceleration | null; @@ -4678,7 +4664,6 @@ interface Document extends Node, DocumentAndElementEventHandlers, DocumentOrShad createEvent(eventInterface: "CloseEvent"): CloseEvent; createEvent(eventInterface: "CompositionEvent"): CompositionEvent; createEvent(eventInterface: "CustomEvent"): CustomEvent; - createEvent(eventInterface: "DeviceLightEvent"): DeviceLightEvent; createEvent(eventInterface: "DeviceMotionEvent"): DeviceMotionEvent; createEvent(eventInterface: "DeviceOrientationEvent"): DeviceOrientationEvent; createEvent(eventInterface: "DragEvent"): DragEvent; @@ -4923,7 +4908,6 @@ interface DocumentEvent { createEvent(eventInterface: "CloseEvent"): CloseEvent; createEvent(eventInterface: "CompositionEvent"): CompositionEvent; createEvent(eventInterface: "CustomEvent"): CustomEvent; - createEvent(eventInterface: "DeviceLightEvent"): DeviceLightEvent; createEvent(eventInterface: "DeviceMotionEvent"): DeviceMotionEvent; createEvent(eventInterface: "DeviceOrientationEvent"): DeviceOrientationEvent; createEvent(eventInterface: "DragEvent"): DragEvent; @@ -18200,7 +18184,6 @@ interface WindowEventMap extends GlobalEventHandlersEventMap, WindowEventHandler "compassneedscalibration": Event; "contextmenu": MouseEvent; "dblclick": MouseEvent; - "devicelight": DeviceLightEvent; "devicemotion": DeviceMotionEvent; "deviceorientation": DeviceOrientationEvent; "deviceorientationabsolute": DeviceOrientationEvent; @@ -18299,7 +18282,6 @@ interface Window extends EventTarget, AnimationFrameProvider, GlobalEventHandler readonly navigator: Navigator; offscreenBuffering: string | boolean; oncompassneedscalibration: ((this: Window, ev: Event) => any) | null; - ondevicelight: ((this: Window, ev: DeviceLightEvent) => any) | null; ondevicemotion: ((this: Window, ev: DeviceMotionEvent) => any) | null; ondeviceorientation: ((this: Window, ev: DeviceOrientationEvent) => any) | null; ondeviceorientationabsolute: ((this: Window, ev: DeviceOrientationEvent) => any) | null; @@ -19326,7 +19308,6 @@ declare const name: void; declare var navigator: Navigator; declare var offscreenBuffering: string | boolean; declare var oncompassneedscalibration: ((this: Window, ev: Event) => any) | null; -declare var ondevicelight: ((this: Window, ev: DeviceLightEvent) => any) | null; declare var ondevicemotion: ((this: Window, ev: DeviceMotionEvent) => any) | null; declare var ondeviceorientation: ((this: Window, ev: DeviceOrientationEvent) => any) | null; declare var ondeviceorientationabsolute: ((this: Window, ev: DeviceOrientationEvent) => any) | null; diff --git a/inputfiles/removedTypes.json b/inputfiles/removedTypes.json index af2ebc33e..cd1ee7c23 100644 --- a/inputfiles/removedTypes.json +++ b/inputfiles/removedTypes.json @@ -197,6 +197,7 @@ } } }, + "DeviceLightEvent": null, "ElementInternals": null, "FederatedCredential": null, "FormDataEvent": null, @@ -470,6 +471,7 @@ "crypto": null, "isSecureContext": null, "msCredentials": null, + "ondevicelight": null, "onmsgesturechange": null, "onmsgesturedoubletap": null, "onmsgestureend": null, @@ -501,6 +503,11 @@ "requestAnimationFrame": null } }, + "events": { + "event": [ + "devicelight" + ] + }, "implements": [ "GlobalFetch", "IDBEnvironment", From 57b0199a2fd57a35c31888e141c8beafda331522 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sat, 24 Oct 2020 23:06:45 +0200 Subject: [PATCH 020/362] chore: remove unimplemented Web Authentication APIs --- baselines/dom.generated.d.ts | 89 --------------------------- baselines/dom.iterable.generated.d.ts | 4 -- inputfiles/knownTypes.json | 1 - inputfiles/removedTypes.json | 4 ++ 4 files changed, 4 insertions(+), 94 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index fd3da8f2d..4accdb26f 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -2,14 +2,6 @@ /// DOM APIs ///////////////////////////// -interface Account { - displayName: string; - id: string; - imageURL?: string; - name?: string; - rpDisplayName: string; -} - interface AddEventListenerOptions extends EventListenerOptions { once?: boolean; passive?: boolean; @@ -77,13 +69,6 @@ interface AnimationPlaybackEventInit extends EventInit { timelineTime?: number | null; } -interface AssertionOptions { - allowList?: ScopedCredentialDescriptor[]; - extensions?: WebAuthnExtensions; - rpId?: string; - timeoutSeconds?: number; -} - interface AssignedNodesOptions { flatten?: boolean; } @@ -202,15 +187,6 @@ interface ChannelSplitterOptions extends AudioNodeOptions { numberOfOutputs?: number; } -interface ClientData { - challenge: string; - extensions?: WebAuthnExtensions; - hashAlg: string | Algorithm; - origin: string; - rpId: string; - tokenBinding?: string; -} - interface ClientQueryOptions { includeUncontrolled?: boolean; type?: ClientTypes; @@ -1669,24 +1645,6 @@ interface SVGBoundingBoxOptions { stroke?: boolean; } -interface ScopedCredentialDescriptor { - id: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null; - transports?: Transport[]; - type: ScopedCredentialType; -} - -interface ScopedCredentialOptions { - excludeList?: ScopedCredentialDescriptor[]; - extensions?: WebAuthnExtensions; - rpId?: string; - timeoutSeconds?: number; -} - -interface ScopedCredentialParameters { - algorithm: string | Algorithm; - type: ScopedCredentialType; -} - interface ScrollIntoViewOptions extends ScrollOptions { block?: ScrollLogicalPosition; inline?: ScrollLogicalPosition; @@ -1908,9 +1866,6 @@ interface WaveShaperOptions extends AudioNodeOptions { oversample?: OverSampleType; } -interface WebAuthnExtensions { -} - interface WebGLContextAttributes { alpha?: boolean; antialias?: boolean; @@ -14613,26 +14568,6 @@ declare var SVGZoomEvent: { new(): SVGZoomEvent; }; -interface ScopedCredential { - readonly id: ArrayBuffer; - readonly type: ScopedCredentialType; -} - -declare var ScopedCredential: { - prototype: ScopedCredential; - new(): ScopedCredential; -}; - -interface ScopedCredentialInfo { - readonly credential: ScopedCredential; - readonly publicKey: CryptoKey; -} - -declare var ScopedCredentialInfo: { - prototype: ScopedCredentialInfo; - new(): ScopedCredentialInfo; -}; - /** A screen, usually the one on which the current window is being rendered, and is obtained using window.screen. */ interface Screen { readonly availHeight: number; @@ -16177,28 +16112,6 @@ declare var WaveShaperNode: { new(context: BaseAudioContext, options?: WaveShaperOptions): WaveShaperNode; }; -interface WebAuthentication { - getAssertion(assertionChallenge: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null, options?: AssertionOptions): Promise; - makeCredential(accountInformation: Account, cryptoParameters: ScopedCredentialParameters[], attestationChallenge: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null, options?: ScopedCredentialOptions): Promise; -} - -declare var WebAuthentication: { - prototype: WebAuthentication; - new(): WebAuthentication; -}; - -interface WebAuthnAssertion { - readonly authenticatorData: ArrayBuffer; - readonly clientData: ArrayBuffer; - readonly credential: ScopedCredential; - readonly signature: ArrayBuffer; -} - -declare var WebAuthnAssertion: { - prototype: WebAuthnAssertion; - new(): WebAuthnAssertion; -}; - interface WebGL2RenderingContext extends WebGL2RenderingContextBase, WebGL2RenderingContextOverloads, WebGLRenderingContextBase { } @@ -19870,7 +19783,6 @@ type RequestRedirect = "error" | "follow" | "manual"; type ResidentKeyRequirement = "discouraged" | "preferred" | "required"; type ResizeQuality = "high" | "low" | "medium" | "pixelated"; type ResponseType = "basic" | "cors" | "default" | "error" | "opaque" | "opaqueredirect"; -type ScopedCredentialType = "ScopedCred"; type ScrollBehavior = "auto" | "smooth"; type ScrollLogicalPosition = "center" | "end" | "nearest" | "start"; type ScrollRestoration = "auto" | "manual"; @@ -19884,7 +19796,6 @@ type SpeechSynthesisErrorCode = "audio-busy" | "audio-hardware" | "canceled" | " type TextTrackKind = "captions" | "chapters" | "descriptions" | "metadata" | "subtitles"; type TextTrackMode = "disabled" | "hidden" | "showing"; type TouchType = "direct" | "stylus"; -type Transport = "ble" | "nfc" | "usb"; type UserVerificationRequirement = "discouraged" | "preferred" | "required"; type VRDisplayEventReason = "mounted" | "navigation" | "requested" | "unmounted"; type VideoFacingModeEnum = "environment" | "left" | "right" | "user"; diff --git a/baselines/dom.iterable.generated.d.ts b/baselines/dom.iterable.generated.d.ts index d7787b97d..78fc8a243 100644 --- a/baselines/dom.iterable.generated.d.ts +++ b/baselines/dom.iterable.generated.d.ts @@ -267,10 +267,6 @@ interface WEBGL_draw_buffers { drawBuffersWEBGL(buffers: Iterable): void; } -interface WebAuthentication { - makeCredential(accountInformation: Account, cryptoParameters: Iterable, attestationChallenge: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null, options?: ScopedCredentialOptions): Promise; -} - interface WebGL2RenderingContextBase { clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Iterable, srcOffset?: GLuint): void; clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Iterable, srcOffset?: GLuint): void; diff --git a/inputfiles/knownTypes.json b/inputfiles/knownTypes.json index 8e300b665..607694fec 100644 --- a/inputfiles/knownTypes.json +++ b/inputfiles/knownTypes.json @@ -11,7 +11,6 @@ "BigInteger", "ByteLengthChunk", "CanvasRenderingContext2DSettings", - "ClientData", "ClientQueryOptions", "ClientTypes", "CompositeOperationOrAuto", diff --git a/inputfiles/removedTypes.json b/inputfiles/removedTypes.json index cd1ee7c23..d686b6aba 100644 --- a/inputfiles/removedTypes.json +++ b/inputfiles/removedTypes.json @@ -298,6 +298,8 @@ } } }, + "ScopedCredential": null, + "ScopedCredentialInfo": null, "ServiceWorkerGlobalScope": { "properties": { "property": { @@ -420,6 +422,8 @@ } } }, + "WebAuthentication": null, + "WebAuthnAssertion": null, "WebGLBuffer": { "extends": null }, From 6195f6684655aab7ffe6062d4a3cacbd28888dd9 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sat, 24 Oct 2020 23:38:09 +0200 Subject: [PATCH 021/362] feat: use BCD to autoremove unimplemented features --- baselines/dom.generated.d.ts | 68 +--- baselines/dom.iterable.generated.d.ts | 7 + baselines/webworker.generated.d.ts | 3 +- baselines/webworker.iterable.generated.d.ts | 7 + inputfiles/overridingTypes.json | 4 - inputfiles/removedTypes.json | 146 +------- package.json | 1 + src/bcd.ts | 373 ++++++++++++++++++++ src/index.ts | 4 +- 9 files changed, 408 insertions(+), 205 deletions(-) create mode 100644 src/bcd.ts diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 4accdb26f..158974583 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -12353,6 +12353,7 @@ interface ReadableStream { pipeThrough(transform: ReadableWritablePair, options?: StreamPipeOptions): ReadableStream; pipeTo(dest: WritableStream, options?: StreamPipeOptions): Promise; tee(): [ReadableStream, ReadableStream]; + forEach(callbackfn: (value: any, key: number, parent: ReadableStream) => void, thisArg?: any): void; } declare var ReadableStream: { @@ -12387,6 +12388,17 @@ interface ReadableStreamGenericReader { cancel(reason?: any): Promise; } +interface ReadableStreamReader { + cancel(): Promise; + read(): Promise; + releaseLock(): void; +} + +declare var ReadableStreamReader: { + prototype: ReadableStreamReader; + new(): ReadableStreamReader; +}; + /** This Fetch API interface represents a resource request. */ interface Request extends Body { /** @@ -13692,46 +13704,6 @@ declare var SVGNumberList: { interface SVGPathElement extends SVGGraphicsElement { /** @deprecated */ readonly pathSegList: SVGPathSegList; - /** @deprecated */ - createSVGPathSegArcAbs(x: number, y: number, r1: number, r2: number, angle: number, largeArcFlag: boolean, sweepFlag: boolean): SVGPathSegArcAbs; - /** @deprecated */ - createSVGPathSegArcRel(x: number, y: number, r1: number, r2: number, angle: number, largeArcFlag: boolean, sweepFlag: boolean): SVGPathSegArcRel; - /** @deprecated */ - createSVGPathSegClosePath(): SVGPathSegClosePath; - /** @deprecated */ - createSVGPathSegCurvetoCubicAbs(x: number, y: number, x1: number, y1: number, x2: number, y2: number): SVGPathSegCurvetoCubicAbs; - /** @deprecated */ - createSVGPathSegCurvetoCubicRel(x: number, y: number, x1: number, y1: number, x2: number, y2: number): SVGPathSegCurvetoCubicRel; - /** @deprecated */ - createSVGPathSegCurvetoCubicSmoothAbs(x: number, y: number, x2: number, y2: number): SVGPathSegCurvetoCubicSmoothAbs; - /** @deprecated */ - createSVGPathSegCurvetoCubicSmoothRel(x: number, y: number, x2: number, y2: number): SVGPathSegCurvetoCubicSmoothRel; - /** @deprecated */ - createSVGPathSegCurvetoQuadraticAbs(x: number, y: number, x1: number, y1: number): SVGPathSegCurvetoQuadraticAbs; - /** @deprecated */ - createSVGPathSegCurvetoQuadraticRel(x: number, y: number, x1: number, y1: number): SVGPathSegCurvetoQuadraticRel; - /** @deprecated */ - createSVGPathSegCurvetoQuadraticSmoothAbs(x: number, y: number): SVGPathSegCurvetoQuadraticSmoothAbs; - /** @deprecated */ - createSVGPathSegCurvetoQuadraticSmoothRel(x: number, y: number): SVGPathSegCurvetoQuadraticSmoothRel; - /** @deprecated */ - createSVGPathSegLinetoAbs(x: number, y: number): SVGPathSegLinetoAbs; - /** @deprecated */ - createSVGPathSegLinetoHorizontalAbs(x: number): SVGPathSegLinetoHorizontalAbs; - /** @deprecated */ - createSVGPathSegLinetoHorizontalRel(x: number): SVGPathSegLinetoHorizontalRel; - /** @deprecated */ - createSVGPathSegLinetoRel(x: number, y: number): SVGPathSegLinetoRel; - /** @deprecated */ - createSVGPathSegLinetoVerticalAbs(y: number): SVGPathSegLinetoVerticalAbs; - /** @deprecated */ - createSVGPathSegLinetoVerticalRel(y: number): SVGPathSegLinetoVerticalRel; - /** @deprecated */ - createSVGPathSegMovetoAbs(x: number, y: number): SVGPathSegMovetoAbs; - /** @deprecated */ - createSVGPathSegMovetoRel(x: number, y: number): SVGPathSegMovetoRel; - /** @deprecated */ - getPathSegAtLength(distance: number): number; getPointAtLength(distance: number): SVGPoint; getTotalLength(): number; addEventListener(type: K, listener: (this: SVGPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; @@ -14169,25 +14141,11 @@ interface SVGSVGElementEventMap extends SVGElementEventMap { /** Provides access to the properties of elements, as well as methods to manipulate them. This interface contains also various miscellaneous commonly-used utility methods, such as matrix operations and the ability to control the time of redraw on visual rendering devices. */ interface SVGSVGElement extends SVGGraphicsElement, DocumentEvent, SVGFitToViewBox, SVGZoomAndPan { - /** @deprecated */ - contentScriptType: string; - /** @deprecated */ - contentStyleType: string; currentScale: number; readonly currentTranslate: SVGPoint; readonly height: SVGAnimatedLength; onunload: ((this: SVGSVGElement, ev: Event) => any) | null; onzoom: ((this: SVGSVGElement, ev: SVGZoomEvent) => any) | null; - /** @deprecated */ - readonly pixelUnitToMillimeterX: number; - /** @deprecated */ - readonly pixelUnitToMillimeterY: number; - /** @deprecated */ - readonly screenPixelToMillimeterX: number; - /** @deprecated */ - readonly screenPixelToMillimeterY: number; - /** @deprecated */ - readonly viewport: SVGRect; readonly width: SVGAnimatedLength; readonly x: SVGAnimatedLength; readonly y: SVGAnimatedLength; @@ -18393,6 +18351,7 @@ declare var Worklet: { interface WritableStream { readonly locked: boolean; abort(reason?: any): Promise; + close(): Promise; getWriter(): WritableStreamDefaultWriter; } @@ -19627,7 +19586,6 @@ type ConstrainDouble = number | ConstrainDoubleRange; type ConstrainBoolean = boolean | ConstrainBooleanParameters; type ConstrainDOMString = string | string[] | ConstrainDOMStringParameters; type PerformanceEntryList = PerformanceEntry[]; -type ReadableStreamReader = ReadableStreamDefaultReader; type ReadableStreamController = ReadableStreamDefaultController; type VibratePattern = number | number[]; type COSEAlgorithmIdentifier = number; diff --git a/baselines/dom.iterable.generated.d.ts b/baselines/dom.iterable.generated.d.ts index 78fc8a243..0bf4375e1 100644 --- a/baselines/dom.iterable.generated.d.ts +++ b/baselines/dom.iterable.generated.d.ts @@ -195,6 +195,13 @@ interface RTCRtpTransceiver { interface RTCStatsReport extends ReadonlyMap { } +interface ReadableStream { + [Symbol.iterator](): IterableIterator; + entries(): IterableIterator<[number, any]>; + keys(): IterableIterator; + values(): IterableIterator; +} + interface SVGLengthList { [Symbol.iterator](): IterableIterator; } diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index 71bf64d31..709215725 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -1545,7 +1545,6 @@ declare var ExtendableMessageEvent: { interface FetchEvent extends ExtendableEvent { readonly clientId: string; readonly preloadResponse: Promise; - readonly replacesClientId: string; readonly request: Request; readonly resultingClientId: string; respondWith(r: Response | Promise): void; @@ -2715,6 +2714,7 @@ interface ReadableStream { pipeThrough(transform: ReadableWritablePair, options?: StreamPipeOptions): ReadableStream; pipeTo(dest: WritableStream, options?: StreamPipeOptions): Promise; tee(): [ReadableStream, ReadableStream]; + forEach(callbackfn: (value: any, key: number, parent: ReadableStream) => void, thisArg?: any): void; } declare var ReadableStream: { @@ -5443,6 +5443,7 @@ declare var WorkerNavigator: { interface WritableStream { readonly locked: boolean; abort(reason?: any): Promise; + close(): Promise; getWriter(): WritableStreamDefaultWriter; } diff --git a/baselines/webworker.iterable.generated.d.ts b/baselines/webworker.iterable.generated.d.ts index 249b5b899..f7c63536c 100644 --- a/baselines/webworker.iterable.generated.d.ts +++ b/baselines/webworker.iterable.generated.d.ts @@ -66,6 +66,13 @@ interface IDBObjectStore { createIndex(name: string, keyPath: string | Iterable, options?: IDBIndexParameters): IDBIndex; } +interface ReadableStream { + [Symbol.iterator](): IterableIterator; + entries(): IterableIterator<[number, any]>; + keys(): IterableIterator; + values(): IterableIterator; +} + interface URLSearchParams { [Symbol.iterator](): IterableIterator<[string, string]>; /** diff --git a/inputfiles/overridingTypes.json b/inputfiles/overridingTypes.json index 3e94ed00b..a341cbaa2 100644 --- a/inputfiles/overridingTypes.json +++ b/inputfiles/overridingTypes.json @@ -1903,10 +1903,6 @@ "name": "push", "type": "PushEvent" }, - { - "name": "pushsubscriptionchange", - "type": "PushSubscriptionChangeEvent" - }, { "name": "sync", "type": "SyncEvent" diff --git a/inputfiles/removedTypes.json b/inputfiles/removedTypes.json index d686b6aba..8272fdd29 100644 --- a/inputfiles/removedTypes.json +++ b/inputfiles/removedTypes.json @@ -34,19 +34,7 @@ } } }, - "XMLHttpRequestEventTarget": null, - "WorkerUtils": { - "methods": { - "method": { - "clearImmediate": null, - "clearInterval": null, - "clearTimeout": null, - "setImmediate": null, - "setInterval": null, - "setTimeout": null - } - } - } + "XMLHttpRequestEventTarget": null } }, "callback-interfaces": { @@ -66,14 +54,12 @@ }, "interfaces": { "interface": { - "AudioTrackList": null, "AuthenticatorAttestationResponse": { "methods": { "method": { "getAuthenticatorData": null, "getPublicKey": null, - "getPublicKeyAlgorithm": null, - "getTransports": null + "getPublicKeyAlgorithm": null } } }, @@ -197,19 +183,11 @@ } } }, - "DeviceLightEvent": null, "ElementInternals": null, "FederatedCredential": null, "FormDataEvent": null, "HTMLAreasCollection": null, - "HTMLBaseFontElement": null, "HTMLMediaElement": { - "properties": { - "property": { - "audioTracks": null, - "videoTracks": null - } - }, "methods": { "method": { "getStartDate": null @@ -236,14 +214,6 @@ } } }, - "MediaStreamTrack": { - "properties": { - "property": { - "isolated": null, - "onisolationchange": null - } - } - }, "MessageEvent": { "methods": { "method": { @@ -254,7 +224,6 @@ "MSCredentials": null, "MSDCCEvent": null, "MSDSHEvent": null, - "MSGestureEvent": null, "MSMediaKeyMessageEvent": null, "MSMediaKeyNeededEvent": null, "MSPointerEvent": null, @@ -262,44 +231,6 @@ "PasswordCredential": null, "Position": null, "PositionError": null, - "PushSubscriptionChangeEvent": null, - "ReadableByteStreamController": null, - "ReadableStream": { - "iterator": null - }, - "ReadableStreamBYOBReader": null, - "ReadableStreamBYOBRequest": null, - "ReadableStreamReader": null, - "RTCDataChannel": { - "properties": { - "property": { - "onclosing": null - } - } - }, - "RTCIceCandidate": { - "properties": { - "property": { - "address": null - } - } - }, - "RTCIceTransport": { - "properties": { - "property": { - "component": null - } - } - }, - "RTCPeerConnectionIceEvent": { - "properties": { - "property": { - "url": null - } - } - }, - "ScopedCredential": null, - "ScopedCredentialInfo": null, "ServiceWorkerGlobalScope": { "properties": { "property": { @@ -307,7 +238,6 @@ } } }, - "ServiceWorkerMessageEvent": null, "ShadowRoot": { "properties": { "property": { @@ -315,15 +245,6 @@ } } }, - "SourceBuffer": { - "properties": { - "property": { - "audioTracks": null, - "textTracks": null, - "videoTracks": null - } - } - }, "StorageEvent": { "methods": { "method": { @@ -385,43 +306,6 @@ } } }, - "SVGUseElement": { - "properties": { - "property": { - "animatedInstanceRoot": null, - "instanceRoot": null - } - } - }, - "SVGZoomAndPan": null, - "TextMetrics": { - "properties": { - "property": { - "alphabeticBaseline": null, - "emHeightAscent": null, - "emHeightDescent": null, - "fontBoundingBoxAscent": null, - "fontBoundingBoxDescent": null, - "hangingBaseline": null, - "ideographicBaseline": null - } - } - }, - "TextTrack": { - "properties": { - "property": { - "sourceBuffer": null - } - } - }, - "VideoTrackList": null, - "VRPose": { - "properties": { - "property": { - "timestamp": null - } - } - }, "WebAuthentication": null, "WebAuthnAssertion": null, "WebGLBuffer": { @@ -430,7 +314,6 @@ "WebGLFramebuffer": { "extends": null }, - "WebGLObject": null, "WebGLProgram": { "extends": null }, @@ -475,7 +358,6 @@ "crypto": null, "isSecureContext": null, "msCredentials": null, - "ondevicelight": null, "onmsgesturechange": null, "onmsgesturedoubletap": null, "onmsgestureend": null, @@ -495,9 +377,6 @@ "ontouchend": null, "ontouchmove": null, "ontouchstart": null, - "onvrdisplayfocus": null, - "onvrdisplaypointerrestricted": null, - "onvrdisplaypointerunrestricted": null, "performance": null } }, @@ -520,27 +399,6 @@ "WindowConsole" ] }, - "WindowClient": { - "properties": { - "property": { - "ancestorOrigins": null - } - } - }, - "WorkerNavigator": { - "properties": { - "property": { - "serviceWorker": null - } - } - }, - "WritableStream": { - "methods": { - "method": { - "close": null - } - } - }, "XPathNSResolver": null } }, diff --git a/package.json b/package.json index c3dff78ae..31d5a64d4 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ }, "type": "module", "dependencies": { + "@mdn/browser-compat-data": "2.0.7", "@types/jsdom": "^16.2.4", "@types/node": "^14.6.4", "@types/node-fetch": "^2.5.7", diff --git a/src/bcd.ts b/src/bcd.ts new file mode 100644 index 000000000..0c7ddaa38 --- /dev/null +++ b/src/bcd.ts @@ -0,0 +1,373 @@ +import * as Browser from "./types"; +import bcd from "@mdn/browser-compat-data"; +import { Identifier, SimpleSupportStatement, SupportBlock } from "@mdn/browser-compat-data/types"; + +const forceKeepAlive: Record = { + // Things that are incorrectly reported as unsupported. + // These should be filed to https://github.com/mdn/browser-compat-data/issues + "Animation": ["finished", "pending", "ready", "updatePlaybackRate"], + "AnimationPlaybackEvent": ["currentTime", "timelineTime"], + "ByteLengthQueuingStrategy": ["size"], + "ConstantSourceNode": ["offset"], + "CountQueuingStrategy": ["size"], + "ExtendableMessageEvent": ["lastEventId", "origin", "ports", "source"], + "GlobalEventHandlers": [ + "onabort", + "oncancel", // Blink only as of Sep 2020 + "ontouchcancel", + "ontouchend", + "ontouchmove", + "ontouchstart" + ], + "HTMLIFrameElement": ["allowPaymentRequest"], + "KeyframeEffect": [ + "composite", + "iterationComposite", // Gecko only as of Sep 2020 + "getKeyframes", + "setKeyframes", + ], + "MediaSource": ["clearLiveSeekableRange", "setLiveSeekableRange"], + "NavigatorPlugins": ["javaEnabled", "mimeTypes", "plugins"], + "SharedWorkerGlobalScope": ["close"], + "ServiceWorkerGlobalScope": ["onmessageerror"], + "TextTrackCue": ["endTime", "id", "pauseOnExit", "startTime", "track"], + "TrackEvent": ["track"], + "WebKitCSSMatrix": [], + "WindowEventHandlers": ["onmessage"], + + // Widely supported but without being correctly exposed to global + "ReadableStreamDefaultReader": ["closed", "cancel", "read", "releaseLock"], + "ReadableStreamDefaultController": ["desiredSize", "close", "enqueue", "error"], + + // Things that indeed are not widely supported enough + // but they already have been in lib.d.ts for a while + "AbstractRange": ["collapsed", "endContainer", "endOffset", "startContainer", "startOffset"], + "AudioContext": ["outputLatency", "createMediaStreamTrackSource"], + "AudioListener": [ + "forwardX", + "forwardY", + "forwardZ", + "positionX", + "positionY", + "positionZ", + "upX", + "upY", + "upZ", + ], + "AudioParam": ["automationRate", "cancelAndHoldAtTime"], + "CaretPosition": [], + "ClipboardItem": [], + "DOMError": ["name"], + "FederatedCredential": [], + "FetchEvent": ["preloadResponse"], + "Gamepad": [ + "hand", + "pose", + "hapticActuators", // widely supported + ], + "GamepadHapticActuator": [ + "type", // widely supported + "pulse", + ], + "GamepadPose": [ + "angularAcceleration", + "angularVelocity", + "hasOrientation", + "hasPosition", + "linearAcceleration", + "linearVelocity", + "orientation", + "position", + ], + "HTMLElement": ["autocapitalize"], + "HTMLCanvasElement": ["transferControlToOffscreen"], + "HTMLDialogElement": ["open", "returnValue", "close", "show", "showModal"], + "InputDeviceInfo": ["getCapabilities"], + "Request": ["keepalive"], + "RTCDtlsTransport": [ + "getRemoteCertificates", + "iceTransport", + "onerror", + "onstatechange", + "state", + ], + "RTCError": [], + "RTCErrorEvent": ["error"], + "RTCIceCandidate": [ + "component", + "foundation", + "port", + "priority", + "protocol", + "relatedAddress", + "relatedPort", + "tcpType", + "type", + ], + "RTCIceTransport": [ + "gatheringState", + "getLocalCandidates", + "getLocalParameters", + "getRemoteCandidates", + "getRemoteParameters", + "getSelectedCandidatePair", + "ongatheringstatechange", + "onselectedcandidatepairchange", + "onstatechange", + "role", + "state", + ], + "RTCIdentityAssertion": ["idp", "name"], + "RTCPeerConnection": [ + "canTrickleIceCandidates", // widely supported + "getIdentityAssertion", + "onicecandidateerror", + "peerIdentity", + "setIdentityProvider", + "sctp", + ], + "RTCPeerConnectionIceErrorEvent": ["errorCode", "errorText", "hostCandidate", "url"], + "RTCRtpSender": ["rtcpTransport", "transport"], + "RTCRtpTransceiver": ["setCodecPreferences"], + "RTCSctpTransport": [ + "maxChannels", + "maxMessageSize", + "onstatechange", + "state", + "transport", + ], + "RTCStatsReport": [], + "MediaStreamTrackAudioSourceNode": [], + "NavigationPreloadManager": ["disable", "enable", "getState", "setHeaderValue"], + "Notification": [ + "actions", + "badge", + "image", + "maxActions", + "renotify", + "requireInteraction", + "silent", + "timestamp", + "vibrate", + ], + "OfflineAudioContext": [ + "resume", // widely supported + "suspend", + ], + "OffscreenCanvas": [ + "convertToBlob", + "getContext", + "height", + "transferToImageBitmap", + "width", + ], + "PasswordCredential": [], + "PushSubscription": ["expirationTime"], + "PushSubscriptionOptions" : ["userVisibleOnly"], + "ServiceWorkerRegistration": ["sync"], + "SpeechGrammar": ["src", "weight"], + "SpeechGrammarList": ["addFromString", "addFromURI", "item", "length"], + "SpeechRecognition": [ + "abort", + "continuous", + "grammars", + "interimResults", + "lang", + "maxAlternatives", + "onaudioend", + "onaudiostart", + "onend", + "onerror", + "onnomatch", + "onresult", + "onsoundend", + "onsoundstart", + "onspeechend", + "onspeechstart", + "onstart", + "start", + "stop", + ], + "SpeechRecognitionAlternative": ["confidence", "transcript"], + "SpeechRecognitionErrorEvent": ["error", "message"], + "SpeechRecognitionEvent": ["resultIndex", "results"], + "SpeechRecognitionResult": ["item", "length", "isFinal"], + "SpeechRecognitionResultList": ["item", "length"], + "SyncManager": ["getTags", "register"], + "SyncEvent": ["lastChance", "tag"], + "TextDecoderStream": [], + "TextEncoderStream": [], + "TransformStream": ["readable", "writable"], + "TransformStreamDefaultController": ["desiredSize", "enqueue", "error", "terminate"], + "VRDisplay": [ + "cancelAnimationFrame", + "capabilities", + "depthFar", + "depthNear", + "displayId", + "displayName", + "exitPresent", + "getEyeParameters", + "getFrameData", + "getLayers", + "getPose", + "isConnected", + "isPresenting", + "requestAnimationFrame", + "requestPresent", + "resetPose", + "stageParameters", + "submitFrame", + ], + "VRDisplayCapabilities": [ + "canPresent", + "hasExternalDisplay", + "hasOrientation", + "hasPosition", + "maxLayers", + ], + "VRDisplayEvent": ["display", "reason"], + "VREyeParameters": [ + "fieldOfView", + "offset", + "renderHeight", + "renderWidth", + ], + "VRFieldOfView": ["downDegrees", "leftDegrees", "rightDegrees", "upDegrees"], + "VRFrameData": [ + "leftProjectionMatrix", + "leftViewMatrix", + "pose", + "rightProjectionMatrix", + "rightViewMatrix", + "timestamp", + ], + "VRPose": [ + "angularAcceleration", + "angularVelocity", + "linearAcceleration", + "linearVelocity", + "orientation", + "position", + ], + "VTTCue": ["lineAlign", "positionAlign", "region"], + "WebGLVertexArrayObjectOES": [], + "Window": [ + "ondeviceorientationabsolute", + "onvrdisplayactivate", + "onvrdisplayblur", + "onvrdisplaydeactivate", + "onvrdisplaypresentchange" + ], + "WorkerNavigator": ["permissions"], + "WritableStream": ["abort", "getWriter", "locked"], + "WritableStreamDefaultController": ["error"], + "WritableStreamDefaultWriter": [ + "abort", + "close", + "closed", + "desiredSize", + "ready", + "releaseLock", + "write", + ], +}; + +function hasMultipleImplementations(support: SupportBlock) { + function hasStableImplementation(browser: SimpleSupportStatement | SimpleSupportStatement[] | undefined) { + if (!browser) { + return false; + } + const latest = Array.isArray(browser) ? browser[0] : browser; + return latest.version_added && !latest.version_removed && !latest.flags; + } + let count = 0; + if (hasStableImplementation(support.chrome) || hasStableImplementation(support.chrome_android)) { + count += 1; + } + if (hasStableImplementation(support.firefox) || hasStableImplementation(support.firefox_android)) { + count += 1; + } + if (hasStableImplementation(support.safari) || hasStableImplementation(support.safari_ios)) { + count += 1; + } + return count >= 2; +} + +function isEmpty(o: object) { + return !Object.keys(o).length; +} + +function isSuitable(key: string, value: Identifier, parentKey?: string) { + const forceAlive = parentKey ? forceKeepAlive[parentKey]?.includes(key) : !!forceKeepAlive[key]; + if (value.__compat && hasMultipleImplementations(value.__compat.support)) { + if (forceAlive) { + if (parentKey) { + console.warn(`Redundant forceKeepAlive item: ${parentKey}#${key}`) + } else if (!forceKeepAlive[key].length) { + console.warn(`Redundant forceKeepAlive item: ${key}`) + } + } + return true; + } + return forceAlive; +} + +export function getRemovalDataFromBcd(webidl: Browser.WebIdl) { + function getDefinition(key: string) { + if (webidl.interfaces!.interface.hasOwnProperty(key)) { + return { + type: "interface", + base: webidl.interfaces!.interface[key] + }; + } else if (webidl.mixins!.mixin.hasOwnProperty(key)) { + return { + type: "mixin", + base: webidl.mixins!.mixin[key] + }; + } + } + + const interfaces: Record = {}; + const mixins: Record = {}; + for (const [key, value] of Object.entries(bcd.api)) { + const definition = getDefinition(key); + if (!definition) { + continue; + } + const { base } = definition + if (!isSuitable(key, value)) { + if (definition.type === "interface") { + interfaces[key] = { exposed: "" }; + } + continue; + } + + const methods: Record = {}; + const properties: Record = {}; + for (const [memberKey, memberValue] of Object.entries(value)) { + if (!isSuitable(memberKey, memberValue, key)) { + if (base.methods.method.hasOwnProperty(memberKey)) { + methods[memberKey] = { exposed: "" }; + } else if (base.properties!.property.hasOwnProperty(memberKey)) { + properties[memberKey] = { exposed: "" }; + } + } + } + const removalItem: Record = {}; + if (!isEmpty(methods)) { + removalItem.methods = { method: methods }; + } + if (!isEmpty(properties)) { + removalItem.properties = { property: properties }; + } + if (!isEmpty(removalItem)) { + if (definition.type === "interface") { + interfaces[key] = removalItem; + } else { + mixins[key] = removalItem; + } + } + } + return { interfaces: { interface: interfaces }, mixins: { mixin: mixins } }; +} diff --git a/src/index.ts b/src/index.ts index b1a119030..eaa7afe8a 100644 --- a/src/index.ts +++ b/src/index.ts @@ -6,6 +6,7 @@ import { merge, resolveExposure, markAsDeprecated, mapToArray, arrayToMap } from import { Flavor, emitWebIdl } from "./emitter.js"; import { convert } from "./widlprocess.js"; import { getExposedTypes } from "./expose.js"; +import { getRemovalDataFromBcd } from "./bcd.js"; const require = createRequire(import.meta.url); @@ -188,6 +189,7 @@ function emitDom() { } } + webidl = merge(webidl, getRemovalDataFromBcd(webidl) as any); webidl = prune(webidl, removedItems); webidl = mergeApiDescriptions(webidl, documentationFromMDN); webidl = merge(webidl, addedItems); @@ -211,7 +213,7 @@ function emitDom() { if (!template) return obj; const filtered = { ...obj }; for (const k in template) { - if (!obj[k]) { + if (!obj[k] || obj[k].exposed === "") { console.warn(`removedTypes.json has a redundant field ${k} in ${JSON.stringify(template)}`); } else if (Array.isArray(template[k])) { if (!Array.isArray(obj[k])) { From 5ed93df639242a12959987180744c919b735af90 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Fri, 11 Dec 2020 23:53:58 +0100 Subject: [PATCH 022/362] chore: generate package-lock file --- .github/workflows/ci.yml | 2 +- .gitignore | 1 - .npmrc | 1 - package-lock.json | 2335 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 2336 insertions(+), 3 deletions(-) delete mode 100644 .npmrc create mode 100644 package-lock.json diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1f88c5f16..5ecee45ab 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,6 +11,6 @@ jobs: with: node-version: '15' - - run: npm install + - run: npm ci - run: npm run build - run: npm test diff --git a/.gitignore b/.gitignore index 9b2dda73d..b736beae3 100644 --- a/.gitignore +++ b/.gitignore @@ -283,5 +283,4 @@ lib/ inputfiles/browser.webidl.json .vscode/* !.vscode/launch.template.json -package-lock.json yarn.lock diff --git a/.npmrc b/.npmrc deleted file mode 100644 index 43c97e719..000000000 --- a/.npmrc +++ /dev/null @@ -1 +0,0 @@ -package-lock=false diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 000000000..63eab137e --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2335 @@ +{ + "name": "types-web", + "version": "0.1.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "version": "0.1.0", + "dependencies": { + "@mdn/browser-compat-data": "2.0.7", + "@types/jsdom": "^16.2.4", + "@types/node": "^14.6.4", + "@types/node-fetch": "^2.5.7", + "@types/webidl2": "^23.13.2", + "cpx2": "^2.0.0", + "jsdom": "^16.4.0", + "node-fetch": "^2.6.1", + "print-diff": "^1.0.0", + "styleless-innertext": "^1.1.2", + "typescript": "^4.2.0-dev.20201211", + "webidl2": "^23.13.0" + } + }, + "node_modules/@mdn/browser-compat-data": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-2.0.7.tgz", + "integrity": "sha512-GeeM827DlzFFidn1eKkMBiqXFD2oLsnZbaiGhByPl0vcapsRzUL+t9hDoov1swc9rB2jw64R+ihtzC8qOE9wXw==", + "license": "CC0-1.0", + "dependencies": { + "extend": "3.0.2" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@types/jsdom": { + "version": "16.2.5", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-16.2.5.tgz", + "integrity": "sha512-k/ZaTXtReAjwWu0clU0KLS53dyqZnA8mm+jwKFeFrvufXgICp+VNbskETFxKKAguv0pkaEKTax5MaRmvalM+TA==", + "dependencies": { + "@types/node": "*", + "@types/parse5": "*", + "@types/tough-cookie": "*" + } + }, + "node_modules/@types/node": { + "version": "14.14.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.12.tgz", + "integrity": "sha512-ASH8OPHMNlkdjrEdmoILmzFfsJICvhBsFfAum4aKZ/9U4B6M6tTmTPh+f3ttWdD74CEGV5XvXWkbyfSdXaTd7g==" + }, + "node_modules/@types/node-fetch": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.7.tgz", + "integrity": "sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw==", + "dependencies": { + "@types/node": "*", + "form-data": "^3.0.0" + } + }, + "node_modules/@types/parse5": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz", + "integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==" + }, + "node_modules/@types/tough-cookie": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-I99sngh224D0M7XgW1s120zxCt3VYQ3IQsuw3P3jbq5GG4yc79+ZjyKznyOGIQrflfylLgcfekeZW/vk0yng6A==" + }, + "node_modules/@types/webidl2": { + "version": "23.13.5", + "resolved": "https://registry.npmjs.org/@types/webidl2/-/webidl2-23.13.5.tgz", + "integrity": "sha512-iWjoXoF6wclVaWKSqaGpB/lyDqQwwfGlnsPcSCtUE7w1MyytcDGBb1IWdQ1ixMdXjHfcQPlu43xcsD2nv85gyw==" + }, + "node_modules/abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "node_modules/cpx2": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cpx2/-/cpx2-2.0.0.tgz", + "integrity": "sha512-hSkh9xHmUnHMxVS99SpACbAw6jOCaji0KyepBQ4/ULZQ+RB+3uP2PB/zylOCjSxZv9/cvoeG1XuQbZPyNuYftA==", + "dependencies": { + "co": "^4.6.0", + "debounce": "^1.2.0", + "debug": "^4.1.1", + "duplexer": "^0.1.1", + "fs-extra": "^8.1.0", + "glob": "^7.1.4", + "glob2base": "0.0.12", + "minimatch": "^3.0.4", + "resolve": "^1.12.0", + "safe-buffer": "^5.2.0", + "shell-quote": "^1.7.1", + "subarg": "^1.0.0" + }, + "bin": { + "cpx": "bin/index.js" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/debounce": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.0.tgz", + "integrity": "sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg==" + }, + "node_modules/debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz", + "integrity": "sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==" + }, + "node_modules/deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "node_modules/find-index": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz", + "integrity": "sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=" + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", + "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob2base": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz", + "integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=", + "dependencies": { + "find-index": "^0.1.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "engines": { + "node": ">=4" + } + }, + "node_modules/is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz", + "integrity": "sha1-DFLlS8yjkbssSUsh6GJtczbG45c=" + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "node_modules/jsdom": { + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.4.0.tgz", + "integrity": "sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w==", + "dependencies": { + "abab": "^2.0.3", + "acorn": "^7.1.1", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.2.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.0", + "domexception": "^2.0.1", + "escodegen": "^1.14.1", + "html-encoding-sniffer": "^2.0.1", + "is-potential-custom-element-name": "^1.0.0", + "nwsapi": "^2.2.0", + "parse5": "5.1.1", + "request": "^2.88.2", + "request-promise-native": "^1.0.8", + "saxes": "^5.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^3.0.1", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0", + "ws": "^7.2.3", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dependencies": { + "graceful-fs": "^4.1.6" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" + }, + "node_modules/mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "dependencies": { + "mime-db": "1.44.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "engines": { + "node": "*" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==" + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/print-diff": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/print-diff/-/print-diff-1.0.0.tgz", + "integrity": "sha512-tvYT1pVzXxTOMLDRyu6ncaF2LL69d0EAchmGGGJoLc/2GOcnRKcO4PV89l7/s3Er1CpXTgFv7jB4XDgd+yxBjA==", + "dependencies": { + "diff": "^4.0.1" + }, + "engines": { + "node": ">=8.3" + } + }, + "node_modules/psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "dependencies": { + "lodash": "^4.17.19" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", + "dependencies": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "engines": { + "node": ">=0.12.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/request-promise-native/node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/request/node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/request/node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "dependencies": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shell-quote": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==" + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/styleless-innertext": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/styleless-innertext/-/styleless-innertext-1.1.2.tgz", + "integrity": "sha512-DtkmkUlnXmY/toO0hE8w0Tp5JD9oaI26ci8yRfU7FBqn4R/rKRCb6MakmCoT1hVhqgONOWSH02vEdrM5MD4gqQ==" + }, + "node_modules/subarg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", + "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", + "dependencies": { + "minimist": "^1.1.0" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, + "node_modules/tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "dependencies": { + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz", + "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/typescript": { + "version": "4.2.0-dev.20201211", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.0-dev.20201211.tgz", + "integrity": "sha512-k+ENtRQ+u9ZWF7URgAAHYTPSVu8imLa7a08XmZG+swJZTeOZJMrzFfklK/Wn5765RFG6kh2nnvcQaO9AtR/DGg==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "engines": { + "node": ">=10.4" + } + }, + "node_modules/webidl2": { + "version": "23.13.0", + "resolved": "https://registry.npmjs.org/webidl2/-/webidl2-23.13.0.tgz", + "integrity": "sha512-YfBvnpujLVLZ1zKP/aZO1XOtFhMUMFSnXjp88Q4iTMC/i1MUiv7YWq45SN8DrPHCjmnXhzjBouG0tJKg/+o0lg==" + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + }, + "node_modules/whatwg-url": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.4.0.tgz", + "integrity": "sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw==", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^2.0.2", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/ws": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.1.tgz", + "integrity": "sha512-pTsP8UAfhy3sk1lSk/O/s4tjD0CRwvMnzvwr4OKGX7ZvqZtUyx4KIJB5JWbkykPoc55tixMGgTNoh3k4FkNGFQ==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + } + }, + "dependencies": { + "@mdn/browser-compat-data": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-2.0.7.tgz", + "integrity": "sha512-GeeM827DlzFFidn1eKkMBiqXFD2oLsnZbaiGhByPl0vcapsRzUL+t9hDoov1swc9rB2jw64R+ihtzC8qOE9wXw==", + "requires": { + "extend": "3.0.2" + } + }, + "@types/jsdom": { + "version": "16.2.5", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-16.2.5.tgz", + "integrity": "sha512-k/ZaTXtReAjwWu0clU0KLS53dyqZnA8mm+jwKFeFrvufXgICp+VNbskETFxKKAguv0pkaEKTax5MaRmvalM+TA==", + "requires": { + "@types/node": "*", + "@types/parse5": "*", + "@types/tough-cookie": "*" + } + }, + "@types/node": { + "version": "14.14.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.12.tgz", + "integrity": "sha512-ASH8OPHMNlkdjrEdmoILmzFfsJICvhBsFfAum4aKZ/9U4B6M6tTmTPh+f3ttWdD74CEGV5XvXWkbyfSdXaTd7g==" + }, + "@types/node-fetch": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.7.tgz", + "integrity": "sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw==", + "requires": { + "@types/node": "*", + "form-data": "^3.0.0" + } + }, + "@types/parse5": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz", + "integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==" + }, + "@types/tough-cookie": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-I99sngh224D0M7XgW1s120zxCt3VYQ3IQsuw3P3jbq5GG4yc79+ZjyKznyOGIQrflfylLgcfekeZW/vk0yng6A==" + }, + "@types/webidl2": { + "version": "23.13.5", + "resolved": "https://registry.npmjs.org/@types/webidl2/-/webidl2-23.13.5.tgz", + "integrity": "sha512-iWjoXoF6wclVaWKSqaGpB/lyDqQwwfGlnsPcSCtUE7w1MyytcDGBb1IWdQ1ixMdXjHfcQPlu43xcsD2nv85gyw==" + }, + "abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cpx2": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cpx2/-/cpx2-2.0.0.tgz", + "integrity": "sha512-hSkh9xHmUnHMxVS99SpACbAw6jOCaji0KyepBQ4/ULZQ+RB+3uP2PB/zylOCjSxZv9/cvoeG1XuQbZPyNuYftA==", + "requires": { + "co": "^4.6.0", + "debounce": "^1.2.0", + "debug": "^4.1.1", + "duplexer": "^0.1.1", + "fs-extra": "^8.1.0", + "glob": "^7.1.4", + "glob2base": "0.0.12", + "minimatch": "^3.0.4", + "resolve": "^1.12.0", + "safe-buffer": "^5.2.0", + "shell-quote": "^1.7.1", + "subarg": "^1.0.0" + } + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + } + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "debounce": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.0.tgz", + "integrity": "sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg==" + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "decimal.js": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz", + "integrity": "sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==" + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" + }, + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "requires": { + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" + } + } + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "find-index": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz", + "integrity": "sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=" + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", + "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob2base": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz", + "integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=", + "requires": { + "find-index": "^0.1.1" + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "requires": { + "whatwg-encoding": "^1.0.5" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" + }, + "is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "requires": { + "has": "^1.0.3" + } + }, + "is-potential-custom-element-name": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz", + "integrity": "sha1-DFLlS8yjkbssSUsh6GJtczbG45c=" + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "jsdom": { + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.4.0.tgz", + "integrity": "sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w==", + "requires": { + "abab": "^2.0.3", + "acorn": "^7.1.1", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.2.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.0", + "domexception": "^2.0.1", + "escodegen": "^1.14.1", + "html-encoding-sniffer": "^2.0.1", + "is-potential-custom-element-name": "^1.0.0", + "nwsapi": "^2.2.0", + "parse5": "5.1.1", + "request": "^2.88.2", + "request-promise-native": "^1.0.8", + "saxes": "^5.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^3.0.1", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0", + "ws": "^7.2.3", + "xml-name-validator": "^3.0.0" + } + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" + }, + "mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" + }, + "mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "requires": { + "mime-db": "1.44.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + }, + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, + "print-diff": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/print-diff/-/print-diff-1.0.0.tgz", + "integrity": "sha512-tvYT1pVzXxTOMLDRyu6ncaF2LL69d0EAchmGGGJoLc/2GOcnRKcO4PV89l7/s3Er1CpXTgFv7jB4XDgd+yxBjA==", + "requires": { + "diff": "^4.0.1" + } + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + } + } + }, + "request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "requires": { + "lodash": "^4.17.19" + } + }, + "request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "requires": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "dependencies": { + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + } + } + }, + "resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "requires": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "requires": { + "xmlchars": "^2.2.0" + } + }, + "shell-quote": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" + }, + "styleless-innertext": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/styleless-innertext/-/styleless-innertext-1.1.2.tgz", + "integrity": "sha512-DtkmkUlnXmY/toO0hE8w0Tp5JD9oaI26ci8yRfU7FBqn4R/rKRCb6MakmCoT1hVhqgONOWSH02vEdrM5MD4gqQ==" + }, + "subarg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", + "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", + "requires": { + "minimist": "^1.1.0" + } + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, + "tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "requires": { + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tr46": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz", + "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==", + "requires": { + "punycode": "^2.1.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "typescript": { + "version": "4.2.0-dev.20201211", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.0-dev.20201211.tgz", + "integrity": "sha512-k+ENtRQ+u9ZWF7URgAAHYTPSVu8imLa7a08XmZG+swJZTeOZJMrzFfklK/Wn5765RFG6kh2nnvcQaO9AtR/DGg==" + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + }, + "uri-js": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "requires": { + "punycode": "^2.1.0" + } + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" + }, + "webidl2": { + "version": "23.13.0", + "resolved": "https://registry.npmjs.org/webidl2/-/webidl2-23.13.0.tgz", + "integrity": "sha512-YfBvnpujLVLZ1zKP/aZO1XOtFhMUMFSnXjp88Q4iTMC/i1MUiv7YWq45SN8DrPHCjmnXhzjBouG0tJKg/+o0lg==" + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + }, + "whatwg-url": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.4.0.tgz", + "integrity": "sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw==", + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^2.0.2", + "webidl-conversions": "^6.1.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "ws": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.1.tgz", + "integrity": "sha512-pTsP8UAfhy3sk1lSk/O/s4tjD0CRwvMnzvwr4OKGX7ZvqZtUyx4KIJB5JWbkykPoc55tixMGgTNoh3k4FkNGFQ==", + "requires": {} + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + } + } +} From 4004e36cfdad4aa24226e2dfee799d62d15d0f13 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sat, 12 Dec 2020 15:35:32 +0100 Subject: [PATCH 023/362] chore: rename web messaging --- ...mmentmap.json => HTML - Web messaging.commentmap.json} | 0 .../idl/{Web Messaging.widl => HTML - Web messaging.widl} | 0 inputfiles/idlSources.json | 8 ++++---- 3 files changed, 4 insertions(+), 4 deletions(-) rename inputfiles/idl/{Web Messaging.commentmap.json => HTML - Web messaging.commentmap.json} (100%) rename inputfiles/idl/{Web Messaging.widl => HTML - Web messaging.widl} (100%) diff --git a/inputfiles/idl/Web Messaging.commentmap.json b/inputfiles/idl/HTML - Web messaging.commentmap.json similarity index 100% rename from inputfiles/idl/Web Messaging.commentmap.json rename to inputfiles/idl/HTML - Web messaging.commentmap.json diff --git a/inputfiles/idl/Web Messaging.widl b/inputfiles/idl/HTML - Web messaging.widl similarity index 100% rename from inputfiles/idl/Web Messaging.widl rename to inputfiles/idl/HTML - Web messaging.widl diff --git a/inputfiles/idlSources.json b/inputfiles/idlSources.json index 1806ea9a1..9ece7c35b 100644 --- a/inputfiles/idlSources.json +++ b/inputfiles/idlSources.json @@ -362,6 +362,10 @@ "url": "https://html.spec.whatwg.org/multipage/webappapis.html", "title": "HTML - Web application APIs" }, + { + "url": "https://html.spec.whatwg.org/multipage/web-messaging.html", + "title": "HTML - Web messaging" + }, { "url": "https://html.spec.whatwg.org/multipage/web-sockets.html", "title": "HTML - Web sockets" @@ -673,9 +677,5 @@ { "url": "https://xhr.spec.whatwg.org/", "title": "XMLHttpRequest" - }, - { - "url": "https://html.spec.whatwg.org/multipage/web-messaging.html", - "title": "Web Messaging" } ] From 3575d1b7c760e2bbf44a5b62e23e146055a00bbc Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sat, 12 Dec 2020 20:40:25 +0100 Subject: [PATCH 024/362] chore: drop types with poor browser support --- baselines/dom.generated.d.ts | 841 +++----------------- baselines/dom.iterable.generated.d.ts | 24 +- baselines/webworker.generated.d.ts | 240 +----- baselines/webworker.iterable.generated.d.ts | 4 - inputfiles/addedTypes.json | 16 +- inputfiles/knownTypes.json | 1 - inputfiles/overridingTypes.json | 86 +- inputfiles/removedTypes.json | 44 +- src/bcd.ts | 243 +----- 9 files changed, 192 insertions(+), 1307 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 158974583..431e35129 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -104,14 +104,6 @@ interface AudioNodeOptions { channelInterpretation?: ChannelInterpretation; } -interface AudioParamDescriptor { - automationRate?: AutomationRate; - defaultValue?: number; - maxValue?: number; - minValue?: number; - name: string; -} - interface AudioProcessingEventInit extends EventInit { inputBuffer: AudioBuffer; outputBuffer: AudioBuffer; @@ -222,10 +214,6 @@ interface ComputedKeyframe { [property: string]: string | number | null | undefined; } -interface ConfirmSiteSpecificExceptionsInformation extends ExceptionInformation { - arrayOfDomainStrings?: string[]; -} - interface ConstantSourceOptions { offset?: number; } @@ -464,10 +452,6 @@ interface EventSourceInit { withCredentials?: boolean; } -interface ExceptionInformation { - domain?: string | null; -} - interface FilePropertyBag extends BlobPropertyBag { lastModified?: number; } @@ -574,11 +558,6 @@ interface ImageBitmapRenderingContextSettings { alpha?: boolean; } -interface ImageEncodeOptions { - quality?: number; - type?: string; -} - interface ImportMeta { url?: string; } @@ -658,6 +637,41 @@ interface KeyframeEffectOptions extends EffectTiming { iterationComposite?: IterationCompositeOperation; } +interface MSAccountInfo { + accountImageUri?: string; + accountName?: string; + rpDisplayName: string; + userDisplayName: string; + userId?: string; +} + +interface MSCredentialFilter { + accept?: MSCredentialSpec[]; +} + +interface MSCredentialParameters { + type?: MSCredentialType; +} + +interface MSCredentialSpec { + id?: string; + type: MSCredentialType; +} + +interface MSDCCEventInit extends EventInit { + maxFr?: number; + maxFs?: number; +} + +interface MSDSHEventInit extends EventInit { + sources?: number[]; + timestamp?: number; +} + +interface MSSignatureParameters { + userPrompt?: string; +} + interface MediaElementAudioSourceOptions { mediaElement: HTMLMediaElement; } @@ -710,10 +724,6 @@ interface MediaStreamEventInit extends EventInit { stream?: MediaStream; } -interface MediaStreamTrackAudioSourceOptions { - mediaStreamTrack: MediaStreamTrack; -} - interface MediaStreamTrackEventInit extends EventInit { track: MediaStreamTrack; } @@ -854,11 +864,6 @@ interface MutationObserverInit { subtree?: boolean; } -interface NavigationPreloadState { - enabled?: boolean; - headerValue?: string; -} - interface NotificationAction { action: string; icon?: string; @@ -1200,10 +1205,6 @@ interface RTCDtlsParameters { role?: RTCDtlsRole; } -interface RTCErrorEventInit extends EventInit { - error: RTCError; -} - interface RTCErrorInit { errorDetail: RTCErrorDetailType; receivedAlert?: number; @@ -1282,12 +1283,6 @@ interface RTCIceServer { username?: string; } -interface RTCIdentityProviderOptions { - peerIdentity?: string; - protocol?: string; - usernameHint?: string; -} - interface RTCInboundRTPStreamStats extends RTCRTPStreamStats { bytesReceived?: number; fractionLost?: number; @@ -1334,14 +1329,6 @@ interface RTCOutboundRTPStreamStats extends RTCRTPStreamStats { targetBitrate?: number; } -interface RTCPeerConnectionIceErrorEventInit extends EventInit { - address?: string | null; - errorCode: number; - port?: number | null; - statusText?: string; - url?: string; -} - interface RTCPeerConnectionIceEventInit extends EventInit { candidate?: RTCIceCandidate | null; url?: string | null; @@ -1469,21 +1456,6 @@ interface RTCSessionDescriptionInit { type: RTCSdpType; } -interface RTCSrtpKeyParam { - keyMethod?: string; - keySalt?: string; - lifetime?: string; - mkiLength?: number; - mkiValue?: number; -} - -interface RTCSrtpSdesParameters { - cryptoSuite?: string; - keyParams?: RTCSrtpKeyParam[]; - sessionParams?: string[]; - tag?: number; -} - interface RTCSsrcRange { max?: number; min?: number; @@ -1683,16 +1655,6 @@ interface ShareData { url?: string; } -interface SpeechRecognitionErrorEventInit extends EventInit { - error: SpeechRecognitionErrorCode; - message?: string; -} - -interface SpeechRecognitionEventInit extends EventInit { - resultIndex?: number; - results: SpeechRecognitionResultList; -} - interface SpeechSynthesisErrorEventInit extends SpeechSynthesisEventInit { error: SpeechSynthesisErrorCode; } @@ -1729,16 +1691,6 @@ interface StorageEventInit extends EventInit { url?: string; } -interface StoreExceptionsInformation extends ExceptionInformation { - detailURI?: string | null; - explanationString?: string | null; - siteName?: string | null; -} - -interface StoreSiteSpecificExceptionsInformation extends StoreExceptionsInformation { - arrayOfDomainStrings?: string[]; -} - interface StreamPipeOptions { preventAbort?: boolean; preventCancel?: boolean; @@ -1844,23 +1796,6 @@ interface UnderlyingSource { type?: undefined; } -interface VRDisplayEventInit extends EventInit { - display: VRDisplay; - reason?: VRDisplayEventReason; -} - -interface VRLayer { - leftBounds?: number[] | Float32Array | null; - rightBounds?: number[] | Float32Array | null; - source?: HTMLCanvasElement | null; -} - -interface VRStageParameters { - sittingToStandingTransform?: Float32Array; - sizeX?: number; - sizeY?: number; -} - interface WaveShaperOptions extends AudioNodeOptions { curve?: number[] | Float32Array; oversample?: OverSampleType; @@ -2220,12 +2155,10 @@ declare var AudioBufferSourceNode: { /** An audio-processing graph built from audio modules linked together, each represented by an AudioNode. */ interface AudioContext extends BaseAudioContext { readonly baseLatency: number; - readonly outputLatency: number; close(): Promise; createMediaElementSource(mediaElement: HTMLMediaElement): MediaElementAudioSourceNode; createMediaStreamDestination(): MediaStreamAudioDestinationNode; createMediaStreamSource(mediaStream: MediaStream): MediaStreamAudioSourceNode; - createMediaStreamTrackSource(mediaStreamTrack: MediaStreamTrack): MediaStreamTrackAudioSourceNode; getOutputTimestamp(): AudioTimestamp; resume(): Promise; suspend(): Promise; @@ -2252,15 +2185,6 @@ declare var AudioDestinationNode: { /** The position and orientation of the unique person listening to the audio scene, and is used in audio spatialization. All PannerNodes spatialize in relation to the AudioListener stored in the BaseAudioContext.listener attribute. */ interface AudioListener { - readonly forwardX: AudioParam; - readonly forwardY: AudioParam; - readonly forwardZ: AudioParam; - readonly positionX: AudioParam; - readonly positionY: AudioParam; - readonly positionZ: AudioParam; - readonly upX: AudioParam; - readonly upY: AudioParam; - readonly upZ: AudioParam; /** @deprecated */ setOrientation(x: number, y: number, z: number, xUp: number, yUp: number, zUp: number): void; /** @deprecated */ @@ -2298,12 +2222,10 @@ declare var AudioNode: { /** The Web Audio API's AudioParam interface represents an audio-related parameter, usually a parameter of an AudioNode (such as GainNode.gain). */ interface AudioParam { - automationRate: AutomationRate; readonly defaultValue: number; readonly maxValue: number; readonly minValue: number; value: number; - cancelAndHoldAtTime(cancelTime: number): AudioParam; cancelScheduledValues(cancelTime: number): AudioParam; exponentialRampToValueAtTime(value: number, endTime: number): AudioParam; linearRampToValueAtTime(value: number, endTime: number): AudioParam; @@ -3153,7 +3075,6 @@ interface CSSStyleDeclaration { webkitPerspective: string; /** @deprecated */ webkitPerspectiveOrigin: string; - webkitTapHighlightColor: string; /** @deprecated */ webkitTextFillColor: string; /** @deprecated */ @@ -3431,17 +3352,6 @@ interface CanvasUserInterface { scrollPathIntoView(path: Path2D): void; } -interface CaretPosition { - readonly offset: number; - readonly offsetNode: Node; - getClientRect(): DOMRect | null; -} - -declare var CaretPosition: { - prototype: CaretPosition; - new(): CaretPosition; -}; - /** The ChannelMergerNode interface, often used in conjunction with its opposite, ChannelSplitterNode, reunites different mono inputs into a single output. Each input is used to fill a channel of the output. This is useful for accessing each channels separately, e.g. for performing channel mixing where gain must be separately controlled on each channel. */ interface ChannelMergerNode extends AudioNode { } @@ -3713,17 +3623,6 @@ declare var CustomEvent: { new(typeArg: string, eventInitDict?: CustomEventInit): CustomEvent; }; -/** An error object that contains an error name. */ -interface DOMError { - readonly name: string; - toString(): string; -} - -declare var DOMError: { - prototype: DOMError; - new(): DOMError; -}; - /** An abnormal event (called an exception) which occurs as a result of calling a method or accessing a property of a web API. */ interface DOMException { readonly code: number; @@ -4555,7 +4454,6 @@ interface Document extends Node, DocumentAndElementEventHandlers, DocumentOrShad adoptNode(source: T): T; /** @deprecated */ captureEvents(): void; - caretPositionFromPoint(x: number, y: number): CaretPosition | null; /** @deprecated */ caretRangeFromPoint(x: number, y: number): Range; /** @deprecated */ @@ -4633,6 +4531,11 @@ interface Document extends Node, DocumentAndElementEventHandlers, DocumentOrShad createEvent(eventInterface: "InputEvent"): InputEvent; createEvent(eventInterface: "KeyboardEvent"): KeyboardEvent; createEvent(eventInterface: "ListeningStateChangedEvent"): ListeningStateChangedEvent; + createEvent(eventInterface: "MSDCCEvent"): MSDCCEvent; + createEvent(eventInterface: "MSDSHEvent"): MSDSHEvent; + createEvent(eventInterface: "MSMediaKeyMessageEvent"): MSMediaKeyMessageEvent; + createEvent(eventInterface: "MSMediaKeyNeededEvent"): MSMediaKeyNeededEvent; + createEvent(eventInterface: "MSPointerEvent"): MSPointerEvent; createEvent(eventInterface: "MediaEncryptedEvent"): MediaEncryptedEvent; createEvent(eventInterface: "MediaKeyMessageEvent"): MediaKeyMessageEvent; createEvent(eventInterface: "MediaQueryListEvent"): MediaQueryListEvent; @@ -4657,19 +4560,15 @@ interface Document extends Node, DocumentAndElementEventHandlers, DocumentOrShad createEvent(eventInterface: "RTCDTMFToneChangeEvent"): RTCDTMFToneChangeEvent; createEvent(eventInterface: "RTCDataChannelEvent"): RTCDataChannelEvent; createEvent(eventInterface: "RTCDtlsTransportStateChangedEvent"): RTCDtlsTransportStateChangedEvent; - createEvent(eventInterface: "RTCErrorEvent"): RTCErrorEvent; createEvent(eventInterface: "RTCIceCandidatePairChangedEvent"): RTCIceCandidatePairChangedEvent; createEvent(eventInterface: "RTCIceGathererEvent"): RTCIceGathererEvent; createEvent(eventInterface: "RTCIceTransportStateChangedEvent"): RTCIceTransportStateChangedEvent; - createEvent(eventInterface: "RTCPeerConnectionIceErrorEvent"): RTCPeerConnectionIceErrorEvent; createEvent(eventInterface: "RTCPeerConnectionIceEvent"): RTCPeerConnectionIceEvent; createEvent(eventInterface: "RTCSsrcConflictEvent"): RTCSsrcConflictEvent; createEvent(eventInterface: "RTCTrackEvent"): RTCTrackEvent; createEvent(eventInterface: "SVGZoomEvent"): SVGZoomEvent; createEvent(eventInterface: "SVGZoomEvents"): SVGZoomEvent; createEvent(eventInterface: "SecurityPolicyViolationEvent"): SecurityPolicyViolationEvent; - createEvent(eventInterface: "SpeechRecognitionErrorEvent"): SpeechRecognitionErrorEvent; - createEvent(eventInterface: "SpeechRecognitionEvent"): SpeechRecognitionEvent; createEvent(eventInterface: "SpeechSynthesisErrorEvent"): SpeechSynthesisErrorEvent; createEvent(eventInterface: "SpeechSynthesisEvent"): SpeechSynthesisEvent; createEvent(eventInterface: "StorageEvent"): StorageEvent; @@ -4679,8 +4578,6 @@ interface Document extends Node, DocumentAndElementEventHandlers, DocumentOrShad createEvent(eventInterface: "TransitionEvent"): TransitionEvent; createEvent(eventInterface: "UIEvent"): UIEvent; createEvent(eventInterface: "UIEvents"): UIEvent; - createEvent(eventInterface: "VRDisplayEvent"): VRDisplayEvent; - createEvent(eventInterface: "VRDisplayEvent "): VRDisplayEvent ; createEvent(eventInterface: "WebGLContextEvent"): WebGLContextEvent; createEvent(eventInterface: "WheelEvent"): WheelEvent; createEvent(eventInterface: string): Event; @@ -4877,6 +4774,11 @@ interface DocumentEvent { createEvent(eventInterface: "InputEvent"): InputEvent; createEvent(eventInterface: "KeyboardEvent"): KeyboardEvent; createEvent(eventInterface: "ListeningStateChangedEvent"): ListeningStateChangedEvent; + createEvent(eventInterface: "MSDCCEvent"): MSDCCEvent; + createEvent(eventInterface: "MSDSHEvent"): MSDSHEvent; + createEvent(eventInterface: "MSMediaKeyMessageEvent"): MSMediaKeyMessageEvent; + createEvent(eventInterface: "MSMediaKeyNeededEvent"): MSMediaKeyNeededEvent; + createEvent(eventInterface: "MSPointerEvent"): MSPointerEvent; createEvent(eventInterface: "MediaEncryptedEvent"): MediaEncryptedEvent; createEvent(eventInterface: "MediaKeyMessageEvent"): MediaKeyMessageEvent; createEvent(eventInterface: "MediaQueryListEvent"): MediaQueryListEvent; @@ -4901,19 +4803,15 @@ interface DocumentEvent { createEvent(eventInterface: "RTCDTMFToneChangeEvent"): RTCDTMFToneChangeEvent; createEvent(eventInterface: "RTCDataChannelEvent"): RTCDataChannelEvent; createEvent(eventInterface: "RTCDtlsTransportStateChangedEvent"): RTCDtlsTransportStateChangedEvent; - createEvent(eventInterface: "RTCErrorEvent"): RTCErrorEvent; createEvent(eventInterface: "RTCIceCandidatePairChangedEvent"): RTCIceCandidatePairChangedEvent; createEvent(eventInterface: "RTCIceGathererEvent"): RTCIceGathererEvent; createEvent(eventInterface: "RTCIceTransportStateChangedEvent"): RTCIceTransportStateChangedEvent; - createEvent(eventInterface: "RTCPeerConnectionIceErrorEvent"): RTCPeerConnectionIceErrorEvent; createEvent(eventInterface: "RTCPeerConnectionIceEvent"): RTCPeerConnectionIceEvent; createEvent(eventInterface: "RTCSsrcConflictEvent"): RTCSsrcConflictEvent; createEvent(eventInterface: "RTCTrackEvent"): RTCTrackEvent; createEvent(eventInterface: "SVGZoomEvent"): SVGZoomEvent; createEvent(eventInterface: "SVGZoomEvents"): SVGZoomEvent; createEvent(eventInterface: "SecurityPolicyViolationEvent"): SecurityPolicyViolationEvent; - createEvent(eventInterface: "SpeechRecognitionErrorEvent"): SpeechRecognitionErrorEvent; - createEvent(eventInterface: "SpeechRecognitionEvent"): SpeechRecognitionEvent; createEvent(eventInterface: "SpeechSynthesisErrorEvent"): SpeechSynthesisErrorEvent; createEvent(eventInterface: "SpeechSynthesisEvent"): SpeechSynthesisEvent; createEvent(eventInterface: "StorageEvent"): StorageEvent; @@ -4923,8 +4821,6 @@ interface DocumentEvent { createEvent(eventInterface: "TransitionEvent"): TransitionEvent; createEvent(eventInterface: "UIEvent"): UIEvent; createEvent(eventInterface: "UIEvents"): UIEvent; - createEvent(eventInterface: "VRDisplayEvent"): VRDisplayEvent; - createEvent(eventInterface: "VRDisplayEvent "): VRDisplayEvent ; createEvent(eventInterface: "WebGLContextEvent"): WebGLContextEvent; createEvent(eventInterface: "WheelEvent"): WheelEvent; createEvent(eventInterface: string): Event; @@ -4952,7 +4848,6 @@ interface DocumentOrShadowRoot { * Retrieves a collection of styleSheet objects representing the style sheets that correspond to each instance of a link or style object in the document. */ readonly styleSheets: StyleSheetList; - caretPositionFromPoint(x: number, y: number): CaretPosition | null; /** @deprecated */ caretRangeFromPoint(x: number, y: number): Range; elementFromPoint(x: number, y: number): Element | null; @@ -5146,7 +5041,6 @@ interface Element extends Node, Animatable, ChildNode, InnerHTML, NonDocumentTyp * Returns true if matching selectors against element's root yields element, and false otherwise. */ matches(selectors: string): boolean; - msGetRegionContent(): any; releasePointerCapture(pointerId: number): void; /** * Removes element's first attribute whose qualified name is qualifiedName. @@ -5530,12 +5424,10 @@ interface Gamepad { readonly axes: ReadonlyArray; readonly buttons: ReadonlyArray; readonly connected: boolean; - readonly hand: GamepadHand; readonly hapticActuators: ReadonlyArray; readonly id: string; readonly index: number; readonly mapping: GamepadMappingType; - readonly pose: GamepadPose | null; readonly timestamp: number; } @@ -5569,7 +5461,6 @@ declare var GamepadEvent: { /** This Gamepad API interface represents hardware in the controller designed to provide haptic feedback to the user (if available), most commonly vibration hardware. */ interface GamepadHapticActuator { readonly type: GamepadHapticActuatorType; - pulse(value: number, duration: number): Promise; } declare var GamepadHapticActuator: { @@ -5577,23 +5468,6 @@ declare var GamepadHapticActuator: { new(): GamepadHapticActuator; }; -/** This Gamepad API interface represents the pose of a WebVR controller at a given timestamp (which includes orientation, position, velocity, and acceleration information.) */ -interface GamepadPose { - readonly angularAcceleration: Float32Array | null; - readonly angularVelocity: Float32Array | null; - readonly hasOrientation: boolean; - readonly hasPosition: boolean; - readonly linearAcceleration: Float32Array | null; - readonly linearVelocity: Float32Array | null; - readonly orientation: Float32Array | null; - readonly position: Float32Array | null; -} - -declare var GamepadPose: { - prototype: GamepadPose; - new(): GamepadPose; -}; - interface GenericTransformStream { readonly readable: ReadableStream; readonly writable: WritableStream; @@ -5660,7 +5534,6 @@ interface GlobalEventHandlersEventMap { "animationstart": AnimationEvent; "auxclick": MouseEvent; "blur": FocusEvent; - "cancel": Event; "canplay": Event; "canplaythrough": Event; "change": Event; @@ -5758,7 +5631,6 @@ interface GlobalEventHandlers { * @param ev The focus event. */ onblur: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null; - oncancel: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** * Occurs when playback is possible, but would require further buffering. * @param ev The event. @@ -6368,7 +6240,6 @@ interface HTMLCanvasElement extends HTMLElement { * @param type The standard MIME type for the image format to return. If you do not specify this parameter, the default value is a PNG format image. */ toDataURL(type?: string, quality?: any): string; - transferControlToOffscreen(): OffscreenCanvas; addEventListener(type: K, listener: (this: HTMLCanvasElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLCanvasElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; @@ -6467,23 +6338,6 @@ declare var HTMLDetailsElement: { new(): HTMLDetailsElement; }; -interface HTMLDialogElement extends HTMLElement { - open: boolean; - returnValue: string; - close(returnValue?: string): void; - show(): void; - showModal(): void; - addEventListener(type: K, listener: (this: HTMLDialogElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; - removeEventListener(type: K, listener: (this: HTMLDialogElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; - removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; -} - -declare var HTMLDialogElement: { - prototype: HTMLDialogElement; - new(): HTMLDialogElement; -}; - interface HTMLDirectoryElement extends HTMLElement { /** @deprecated */ compact: boolean; @@ -6536,7 +6390,6 @@ interface HTMLElementEventMap extends ElementEventMap, GlobalEventHandlersEventM interface HTMLElement extends Element, DocumentAndElementEventHandlers, ElementCSSInlineStyle, ElementCSSInlineStyle, ElementContentEditable, GlobalEventHandlers, HTMLOrSVGElement { accessKey: string; readonly accessKeyLabel: string; - autocapitalize: string; dir: string; draggable: boolean; hidden: boolean; @@ -9495,7 +9348,7 @@ interface ImageBitmapRenderingContext { /** * Returns the canvas element that the context is bound to. */ - readonly canvas: HTMLCanvasElement | OffscreenCanvas; + readonly canvas: HTMLCanvasElement; /** * Transfers the underlying bitmap data from imageBitmap to context, and the bitmap becomes the contents of the canvas element to which context is bound. */ @@ -9533,15 +9386,6 @@ interface InnerHTML { innerHTML: string; } -interface InputDeviceInfo extends MediaDeviceInfo { - getCapabilities(): MediaTrackCapabilities; -} - -declare var InputDeviceInfo: { - prototype: InputDeviceInfo; - new(): InputDeviceInfo; -}; - interface InputEvent extends UIEvent { readonly data: string | null; readonly inputType: string; @@ -9746,6 +9590,36 @@ declare var MSBlobBuilder: { new(): MSBlobBuilder; }; +interface MSCredentials { + getAssertion(challenge: string, filter?: MSCredentialFilter, params?: MSSignatureParameters): Promise; + makeCredential(accountInfo: MSAccountInfo, params: MSCredentialParameters[], challenge?: string): Promise; +} + +declare var MSCredentials: { + prototype: MSCredentials; + new(): MSCredentials; +}; + +interface MSDCCEvent extends Event { + readonly maxFr: number; + readonly maxFs: number; +} + +declare var MSDCCEvent: { + prototype: MSDCCEvent; + new(type: string, eventInitDict: MSDCCEventInit): MSDCCEvent; +}; + +interface MSDSHEvent extends Event { + readonly sources: number[]; + readonly timestamp: number; +} + +declare var MSDSHEvent: { + prototype: MSDSHEvent; + new(type: string, eventInitDict: MSDSHEventInit): MSDSHEvent; +}; + interface MSFIDOCredentialAssertion extends MSAssertion { readonly algorithm: string | Algorithm; readonly attestation: any; @@ -9778,11 +9652,6 @@ declare var MSFIDOSignatureAssertion: { new(): MSFIDOSignatureAssertion; }; -interface MSFileSaver { - msSaveBlob(blob: any, defaultName?: string): boolean; - msSaveOrOpenBlob(blob: any, defaultName?: string): boolean; -} - interface MSGesture { target: Element; addPointer(pointerId: number): void; @@ -9855,6 +9724,25 @@ declare var MSMediaKeyError: { readonly MS_MEDIA_KEYERR_UNKNOWN: number; }; +interface MSMediaKeyMessageEvent extends Event { + readonly destinationURL: string | null; + readonly message: Uint8Array; +} + +declare var MSMediaKeyMessageEvent: { + prototype: MSMediaKeyMessageEvent; + new(): MSMediaKeyMessageEvent; +}; + +interface MSMediaKeyNeededEvent extends Event { + readonly initData: Uint8Array | null; +} + +declare var MSMediaKeyNeededEvent: { + prototype: MSMediaKeyNeededEvent; + new(): MSMediaKeyNeededEvent; +}; + interface MSMediaKeySession extends EventTarget { readonly error: MSMediaKeyError | null; readonly keySystem: string; @@ -9880,15 +9768,29 @@ declare var MSMediaKeys: { isTypeSupportedWithFeatures(keySystem: string, type?: string | null): string; }; -interface MSNavigatorDoNotTrack { - confirmSiteSpecificTrackingException(args: ConfirmSiteSpecificExceptionsInformation): boolean; - confirmWebWideTrackingException(args: ExceptionInformation): boolean; - removeSiteSpecificTrackingException(args: ExceptionInformation): void; - removeWebWideTrackingException(args: ExceptionInformation): void; - storeSiteSpecificTrackingException(args: StoreSiteSpecificExceptionsInformation): void; - storeWebWideTrackingException(args: StoreExceptionsInformation): void; +interface MSPointerEvent extends MouseEvent { + readonly currentPoint: any; + readonly height: number; + readonly hwTimestamp: number; + readonly intermediatePoints: any; + readonly isPrimary: boolean; + readonly pointerId: number; + readonly pointerType: any; + readonly pressure: number; + readonly rotation: number; + readonly tiltX: number; + readonly tiltY: number; + readonly width: number; + getCurrentPoint(element: Element): void; + getIntermediatePoints(element: Element): void; + initPointerEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, ctrlKeyArg: boolean, altKeyArg: boolean, shiftKeyArg: boolean, metaKeyArg: boolean, buttonArg: number, relatedTargetArg: EventTarget, offsetXArg: number, offsetYArg: number, widthArg: number, heightArg: number, pressure: number, rotation: number, tiltX: number, tiltY: number, pointerIdArg: number, pointerType: any, hwTimestampArg: number, isPrimary: boolean): void; } +declare var MSPointerEvent: { + prototype: MSPointerEvent; + new(typeArg: string, eventInitDict?: PointerEventInit): MSPointerEvent; +}; + interface MSStream { readonly type: string; msClose(): void; @@ -10245,14 +10147,6 @@ declare var MediaStreamTrack: { new(): MediaStreamTrack; }; -interface MediaStreamTrackAudioSourceNode extends AudioNode { -} - -declare var MediaStreamTrackAudioSourceNode: { - prototype: MediaStreamTrackAudioSourceNode; - new(context: AudioContext, options: MediaStreamTrackAudioSourceOptions): MediaStreamTrackAudioSourceNode; -}; - /** Events which indicate that a MediaStream has had tracks added to or removed from the stream through calls to Media Stream API methods. These events are sent to the stream when these changes occur. */ interface MediaStreamTrackEvent extends Event { readonly track: MediaStreamTrack; @@ -10520,37 +10414,19 @@ declare var NamedNodeMap: { new(): NamedNodeMap; }; -interface NavigationPreloadManager { - disable(): Promise; - enable(): Promise; - getState(): Promise; - setHeaderValue(value: string): Promise; -} - -declare var NavigationPreloadManager: { - prototype: NavigationPreloadManager; - new(): NavigationPreloadManager; -}; - /** The state and the identity of the user agent. It allows scripts to query it and to register themselves to carry on some activities. */ -interface Navigator extends MSFileSaver, MSNavigatorDoNotTrack, NavigatorAutomationInformation, NavigatorBeacon, NavigatorConcurrentHardware, NavigatorContentUtils, NavigatorCookies, NavigatorID, NavigatorLanguage, NavigatorOnLine, NavigatorPlugins, NavigatorStorage { - readonly activeVRDisplays: ReadonlyArray; +interface Navigator extends NavigatorAutomationInformation, NavigatorConcurrentHardware, NavigatorContentUtils, NavigatorCookies, NavigatorID, NavigatorLanguage, NavigatorOnLine, NavigatorPlugins, NavigatorStorage { readonly clipboard: Clipboard; readonly credentials: CredentialsContainer; readonly doNotTrack: string | null; readonly geolocation: Geolocation; readonly maxTouchPoints: number; readonly mediaDevices: MediaDevices; - readonly msManipulationViewsEnabled: boolean; - readonly msMaxTouchPoints: number; - readonly msPointerEnabled: boolean; readonly permissions: Permissions; readonly pointerEnabled: boolean; readonly serviceWorker: ServiceWorkerContainer; getGamepads(): (Gamepad | null)[]; getUserMedia(constraints: MediaStreamConstraints, successCallback: NavigatorUserMediaSuccessCallback, errorCallback: NavigatorUserMediaErrorCallback): void; - getVRDisplays(): Promise; - msLaunchUri(uri: string, successCallback?: MSLaunchUriCallback, noHandlerCallback?: MSLaunchUriCallback): void; requestMediaKeySystemAccess(keySystem: string, supportedConfigurations: MediaKeySystemConfiguration[]): Promise; sendBeacon(url: string, data?: BodyInit | null): boolean; share(data?: ShareData): Promise; @@ -10566,10 +10442,6 @@ interface NavigatorAutomationInformation { readonly webdriver: boolean; } -interface NavigatorBeacon { - sendBeacon(url: string, data?: Blob | Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | FormData | string | null): boolean; -} - interface NavigatorConcurrentHardware { readonly hardwareConcurrency: number; } @@ -10928,25 +10800,17 @@ interface NotificationEventMap { /** This Notifications API interface is used to configure and display desktop notifications to the user. */ interface Notification extends EventTarget { - readonly actions: ReadonlyArray; - readonly badge: string; readonly body: string; readonly data: any; readonly dir: NotificationDirection; readonly icon: string; - readonly image: string; readonly lang: string; onclick: ((this: Notification, ev: Event) => any) | null; onclose: ((this: Notification, ev: Event) => any) | null; onerror: ((this: Notification, ev: Event) => any) | null; onshow: ((this: Notification, ev: Event) => any) | null; - readonly renotify: boolean; - readonly requireInteraction: boolean; - readonly silent: boolean; readonly tag: string; - readonly timestamp: number; readonly title: string; - readonly vibrate: ReadonlyArray; close(): void; addEventListener(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -10957,7 +10821,6 @@ interface Notification extends EventTarget { declare var Notification: { prototype: Notification; new(title: string, options?: NotificationOptions): Notification; - readonly maxActions: number; readonly permission: NotificationPermission; requestPermission(deprecatedCallback?: NotificationPermissionCallback): Promise; }; @@ -11016,7 +10879,6 @@ interface OfflineAudioContext extends BaseAudioContext { oncomplete: ((this: OfflineAudioContext, ev: OfflineAudioCompletionEvent) => any) | null; resume(): Promise; startRendering(): Promise; - suspend(suspendTime: number): Promise; addEventListener(type: K, listener: (this: OfflineAudioContext, ev: OfflineAudioContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: OfflineAudioContext, ev: OfflineAudioContextEventMap[K]) => any, options?: boolean | EventListenerOptions): void; @@ -11029,58 +10891,6 @@ declare var OfflineAudioContext: { new(numberOfChannels: number, length: number, sampleRate: number): OfflineAudioContext; }; -interface OffscreenCanvas extends EventTarget { - /** - * These attributes return the dimensions of the OffscreenCanvas object's bitmap. - * - * They can be set, to replace the bitmap with a new, transparent black bitmap of the specified dimensions (effectively resizing it). - */ - height: number; - /** - * These attributes return the dimensions of the OffscreenCanvas object's bitmap. - * - * They can be set, to replace the bitmap with a new, transparent black bitmap of the specified dimensions (effectively resizing it). - */ - width: number; - /** - * Returns a promise that will fulfill with a new Blob object representing a file containing the image in the OffscreenCanvas object. - * - * The argument, if provided, is a dictionary that controls the encoding options of the image file to be created. The type field specifies the file format and has a default value of "image/png"; that type is also used if the requested type isn't supported. If the image format supports variable quality (such as "image/jpeg"), then the quality field is a number in the range 0.0 to 1.0 inclusive indicating the desired quality level for the resulting image. - */ - convertToBlob(options?: ImageEncodeOptions): Promise; - /** - * Returns an object that exposes an API for drawing on the OffscreenCanvas object. contextId specifies the desired API: "2d", "bitmaprenderer", "webgl", or "webgl2". options is handled by that API. - * - * This specification defines the "2d" context below, which is similar but distinct from the "2d" context that is created from a canvas element. The WebGL specifications define the "webgl" and "webgl2" contexts. [WEBGL] - * - * Returns null if the canvas has already been initialized with another context type (e.g., trying to get a "2d" context after getting a "webgl" context). - */ - getContext(contextId: "2d", options?: CanvasRenderingContext2DSettings): OffscreenCanvasRenderingContext2D | null; - getContext(contextId: "bitmaprenderer", options?: ImageBitmapRenderingContextSettings): ImageBitmapRenderingContext | null; - getContext(contextId: "webgl", options?: WebGLContextAttributes): WebGLRenderingContext | null; - getContext(contextId: "webgl2", options?: WebGLContextAttributes): WebGL2RenderingContext | null; - getContext(contextId: OffscreenRenderingContextId, options?: any): OffscreenRenderingContext | null; - /** - * Returns a newly created ImageBitmap object with the image in the OffscreenCanvas object. The image in the OffscreenCanvas object is replaced with a new blank image. - */ - transferToImageBitmap(): ImageBitmap; -} - -declare var OffscreenCanvas: { - prototype: OffscreenCanvas; - new(width: number, height: number): OffscreenCanvas; -}; - -interface OffscreenCanvasRenderingContext2D extends CanvasCompositing, CanvasDrawImage, CanvasDrawPath, CanvasFillStrokeStyles, CanvasFilters, CanvasImageData, CanvasImageSmoothing, CanvasPath, CanvasPathDrawingStyles, CanvasRect, CanvasShadowStyles, CanvasState, CanvasText, CanvasTextDrawingStyles, CanvasTransform { - readonly canvas: OffscreenCanvas; - commit(): void; -} - -declare var OffscreenCanvasRenderingContext2D: { - prototype: OffscreenCanvasRenderingContext2D; - new(): OffscreenCanvasRenderingContext2D; -}; - /** The OscillatorNode interface represents a periodic waveform, such as a sine wave. It is an AudioScheduledSourceNode audio-processing module that causes a specified frequency of a given wave to be created—in effect, a constant tone. */ interface OscillatorNode extends AudioScheduledSourceNode { readonly detune: AudioParam; @@ -11741,7 +11551,6 @@ declare var PushManager: { /** This Push API interface provides a subcription's URL endpoint and allows unsubscription from a push service. */ interface PushSubscription { readonly endpoint: string; - readonly expirationTime: number | null; readonly options: PushSubscriptionOptions; getKey(name: PushEncryptionKeyName): ArrayBuffer | null; toJSON(): PushSubscriptionJSON; @@ -11755,7 +11564,6 @@ declare var PushSubscription: { interface PushSubscriptionOptions { readonly applicationServerKey: ArrayBuffer | null; - readonly userVisibleOnly: boolean; } declare var PushSubscriptionOptions: { @@ -11806,7 +11614,7 @@ declare var RTCDTMFToneChangeEvent: { interface RTCDataChannelEventMap { "bufferedamountlow": Event; "close": Event; - "error": RTCErrorEvent; + "error": Event; "message": MessageEvent; "open": Event; } @@ -11822,7 +11630,7 @@ interface RTCDataChannel extends EventTarget { readonly negotiated: boolean; onbufferedamountlow: ((this: RTCDataChannel, ev: Event) => any) | null; onclose: ((this: RTCDataChannel, ev: Event) => any) | null; - onerror: ((this: RTCDataChannel, ev: RTCErrorEvent) => any) | null; + onerror: ((this: RTCDataChannel, ev: Event) => any) | null; onmessage: ((this: RTCDataChannel, ev: MessageEvent) => any) | null; onopen: ((this: RTCDataChannel, ev: Event) => any) | null; readonly ordered: boolean; @@ -11854,16 +11662,12 @@ declare var RTCDataChannelEvent: { }; interface RTCDtlsTransportEventMap { - "error": RTCErrorEvent; "statechange": Event; } interface RTCDtlsTransport extends EventTarget { - readonly iceTransport: RTCIceTransport; - onerror: ((this: RTCDtlsTransport, ev: RTCErrorEvent) => any) | null; onstatechange: ((this: RTCDtlsTransport, ev: Event) => any) | null; readonly state: RTCDtlsTransportState; - getRemoteCertificates(): ArrayBuffer[]; addEventListener(type: K, listener: (this: RTCDtlsTransport, ev: RTCDtlsTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: RTCDtlsTransport, ev: RTCDtlsTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void; @@ -11920,29 +11724,11 @@ declare var RTCError: { new(init: RTCErrorInit, message?: string): RTCError; }; -interface RTCErrorEvent extends Event { - readonly error: RTCError; -} - -declare var RTCErrorEvent: { - prototype: RTCErrorEvent; - new(type: string, eventInitDict: RTCErrorEventInit): RTCErrorEvent; -}; - /** The RTCIceCandidate interface—part of the WebRTC API—represents a candidate Internet Connectivity Establishment (ICE) configuration which may be used to establish an RTCPeerConnection. */ interface RTCIceCandidate { readonly candidate: string; - readonly component: RTCIceComponent | null; - readonly foundation: string | null; - readonly port: number | null; - readonly priority: number | null; - readonly protocol: RTCIceProtocol | null; - readonly relatedAddress: string | null; - readonly relatedPort: number | null; readonly sdpMLineIndex: number | null; readonly sdpMid: string | null; - readonly tcpType: RTCIceTcpCandidateType | null; - readonly type: RTCIceCandidateType | null; readonly usernameFragment: string | null; toJSON(): RTCIceCandidateInit; } @@ -11993,36 +11779,6 @@ declare var RTCIceGathererEvent: { new(): RTCIceGathererEvent; }; -interface RTCIceTransportEventMap { - "gatheringstatechange": Event; - "selectedcandidatepairchange": Event; - "statechange": Event; -} - -/** Provides access to information about the ICE transport layer over which the data is being sent and received. */ -interface RTCIceTransport extends EventTarget { - readonly gatheringState: RTCIceGathererState; - ongatheringstatechange: ((this: RTCIceTransport, ev: Event) => any) | null; - onselectedcandidatepairchange: ((this: RTCIceTransport, ev: Event) => any) | null; - onstatechange: ((this: RTCIceTransport, ev: Event) => any) | null; - readonly role: RTCIceRole; - readonly state: RTCIceTransportState; - getLocalCandidates(): RTCIceCandidate[]; - getLocalParameters(): RTCIceParameters | null; - getRemoteCandidates(): RTCIceCandidate[]; - getRemoteParameters(): RTCIceParameters | null; - getSelectedCandidatePair(): RTCIceCandidatePair | null; - addEventListener(type: K, listener: (this: RTCIceTransport, ev: RTCIceTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; - removeEventListener(type: K, listener: (this: RTCIceTransport, ev: RTCIceTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void; - removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; -} - -declare var RTCIceTransport: { - prototype: RTCIceTransport; - new(): RTCIceTransport; -}; - interface RTCIceTransportStateChangedEvent extends Event { readonly state: RTCIceTransportState; } @@ -12032,21 +11788,10 @@ declare var RTCIceTransportStateChangedEvent: { new(): RTCIceTransportStateChangedEvent; }; -interface RTCIdentityAssertion { - idp: string; - name: string; -} - -declare var RTCIdentityAssertion: { - prototype: RTCIdentityAssertion; - new(idp: string, name: string): RTCIdentityAssertion; -}; - interface RTCPeerConnectionEventMap { "connectionstatechange": Event; "datachannel": RTCDataChannelEvent; "icecandidate": RTCPeerConnectionIceEvent; - "icecandidateerror": RTCPeerConnectionIceErrorEvent; "iceconnectionstatechange": Event; "icegatheringstatechange": Event; "negotiationneeded": Event; @@ -12068,17 +11813,14 @@ interface RTCPeerConnection extends EventTarget { onconnectionstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null; ondatachannel: ((this: RTCPeerConnection, ev: RTCDataChannelEvent) => any) | null; onicecandidate: ((this: RTCPeerConnection, ev: RTCPeerConnectionIceEvent) => any) | null; - onicecandidateerror: ((this: RTCPeerConnection, ev: RTCPeerConnectionIceErrorEvent) => any) | null; oniceconnectionstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null; onicegatheringstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null; onnegotiationneeded: ((this: RTCPeerConnection, ev: Event) => any) | null; onsignalingstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null; ontrack: ((this: RTCPeerConnection, ev: RTCTrackEvent) => any) | null; - readonly peerIdentity: Promise; readonly pendingLocalDescription: RTCSessionDescription | null; readonly pendingRemoteDescription: RTCSessionDescription | null; readonly remoteDescription: RTCSessionDescription | null; - readonly sctp: RTCSctpTransport | null; readonly signalingState: RTCSignalingState; addIceCandidate(candidate: RTCIceCandidateInit | RTCIceCandidate): Promise; addTrack(track: MediaStreamTrack, ...streams: MediaStream[]): RTCRtpSender; @@ -12088,7 +11830,6 @@ interface RTCPeerConnection extends EventTarget { createDataChannel(label: string, dataChannelDict?: RTCDataChannelInit): RTCDataChannel; createOffer(options?: RTCOfferOptions): Promise; getConfiguration(): RTCConfiguration; - getIdentityAssertion(): Promise; getReceivers(): RTCRtpReceiver[]; getSenders(): RTCRtpSender[]; getStats(selector?: MediaStreamTrack | null): Promise; @@ -12096,7 +11837,6 @@ interface RTCPeerConnection extends EventTarget { removeTrack(sender: RTCRtpSender): void; restartIce(): void; setConfiguration(configuration?: RTCConfiguration): void; - setIdentityProvider(provider: string, options?: RTCIdentityProviderOptions): void; setLocalDescription(description: RTCSessionDescriptionInit): Promise; setRemoteDescription(description: RTCSessionDescriptionInit): Promise; addEventListener(type: K, listener: (this: RTCPeerConnection, ev: RTCPeerConnectionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; @@ -12111,19 +11851,6 @@ declare var RTCPeerConnection: { generateCertificate(keygenAlgorithm: AlgorithmIdentifier): Promise; }; -interface RTCPeerConnectionIceErrorEvent extends Event { - readonly address: string | null; - readonly errorCode: number; - readonly errorText: string; - readonly port: number | null; - readonly url: string; -} - -declare var RTCPeerConnectionIceErrorEvent: { - prototype: RTCPeerConnectionIceErrorEvent; - new(type: string, eventInitDict: RTCPeerConnectionIceErrorEventInit): RTCPeerConnectionIceErrorEvent; -}; - /** Events that occurs in relation to ICE candidates with the target, usually an RTCPeerConnection. Only one event is of this type: icecandidate. */ interface RTCPeerConnectionIceEvent extends Event { readonly candidate: RTCIceCandidate | null; @@ -12174,7 +11901,6 @@ interface RTCRtpTransceiver { readonly mid: string | null; readonly receiver: RTCRtpReceiver; readonly sender: RTCRtpSender; - setCodecPreferences(codecs: RTCRtpCodecCapability[]): void; stop(): void; } @@ -12183,27 +11909,6 @@ declare var RTCRtpTransceiver: { new(): RTCRtpTransceiver; }; -interface RTCSctpTransportEventMap { - "statechange": Event; -} - -interface RTCSctpTransport extends EventTarget { - readonly maxChannels: number | null; - readonly maxMessageSize: number; - onstatechange: ((this: RTCSctpTransport, ev: Event) => any) | null; - readonly state: RTCSctpTransportState; - readonly transport: RTCDtlsTransport; - addEventListener(type: K, listener: (this: RTCSctpTransport, ev: RTCSctpTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; - removeEventListener(type: K, listener: (this: RTCSctpTransport, ev: RTCSctpTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void; - removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; -} - -declare var RTCSctpTransport: { - prototype: RTCSctpTransport; - new(): RTCSctpTransport; -}; - /** One end of a connection—or potential connection—and how it's configured. Each RTCSessionDescription consists of a description type indicating which part of the offer/answer negotiation process it describes and of the SDP descriptor of the session. */ interface RTCSessionDescription { readonly sdp: string; @@ -12216,25 +11921,6 @@ declare var RTCSessionDescription: { new(descriptionInitDict: RTCSessionDescriptionInit): RTCSessionDescription; }; -interface RTCSrtpSdesTransportEventMap { - "error": Event; -} - -interface RTCSrtpSdesTransport extends EventTarget { - onerror: ((this: RTCSrtpSdesTransport, ev: Event) => any) | null; - readonly transport: RTCIceTransport; - addEventListener(type: K, listener: (this: RTCSrtpSdesTransport, ev: RTCSrtpSdesTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; - removeEventListener(type: K, listener: (this: RTCSrtpSdesTransport, ev: RTCSrtpSdesTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void; - removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; -} - -declare var RTCSrtpSdesTransport: { - prototype: RTCSrtpSdesTransport; - new(transport: RTCIceTransport, encryptParameters: RTCSrtpSdesParameters, decryptParameters: RTCSrtpSdesParameters): RTCSrtpSdesTransport; - getLocalParameters(): RTCSrtpSdesParameters[]; -}; - interface RTCSsrcConflictEvent extends Event { readonly ssrc: number; } @@ -14701,11 +14387,9 @@ interface ServiceWorkerRegistrationEventMap { interface ServiceWorkerRegistration extends EventTarget { readonly active: ServiceWorker | null; readonly installing: ServiceWorker | null; - readonly navigationPreload: NavigationPreloadManager; onupdatefound: ((this: ServiceWorkerRegistration, ev: Event) => any) | null; readonly pushManager: PushManager; readonly scope: string; - readonly sync: SyncManager; readonly updateViaCache: ServiceWorkerUpdateViaCache; readonly waiting: ServiceWorker | null; getNotifications(filter?: GetNotificationOptions): Promise; @@ -14813,127 +14497,6 @@ declare var SourceBufferList: { new(): SourceBufferList; }; -interface SpeechGrammar { - src: string; - weight: number; -} - -declare var SpeechGrammar: { - prototype: SpeechGrammar; - new(): SpeechGrammar; -}; - -interface SpeechGrammarList { - readonly length: number; - addFromString(string: string, weight?: number): void; - addFromURI(src: string, weight?: number): void; - item(index: number): SpeechGrammar; - [index: number]: SpeechGrammar; -} - -declare var SpeechGrammarList: { - prototype: SpeechGrammarList; - new(): SpeechGrammarList; -}; - -interface SpeechRecognitionEventMap { - "audioend": Event; - "audiostart": Event; - "end": Event; - "error": SpeechRecognitionErrorEvent; - "nomatch": SpeechRecognitionEvent; - "result": SpeechRecognitionEvent; - "soundend": Event; - "soundstart": Event; - "speechend": Event; - "speechstart": Event; - "start": Event; -} - -interface SpeechRecognition extends EventTarget { - continuous: boolean; - grammars: SpeechGrammarList; - interimResults: boolean; - lang: string; - maxAlternatives: number; - onaudioend: ((this: SpeechRecognition, ev: Event) => any) | null; - onaudiostart: ((this: SpeechRecognition, ev: Event) => any) | null; - onend: ((this: SpeechRecognition, ev: Event) => any) | null; - onerror: ((this: SpeechRecognition, ev: SpeechRecognitionErrorEvent) => any) | null; - onnomatch: ((this: SpeechRecognition, ev: SpeechRecognitionEvent) => any) | null; - onresult: ((this: SpeechRecognition, ev: SpeechRecognitionEvent) => any) | null; - onsoundend: ((this: SpeechRecognition, ev: Event) => any) | null; - onsoundstart: ((this: SpeechRecognition, ev: Event) => any) | null; - onspeechend: ((this: SpeechRecognition, ev: Event) => any) | null; - onspeechstart: ((this: SpeechRecognition, ev: Event) => any) | null; - onstart: ((this: SpeechRecognition, ev: Event) => any) | null; - abort(): void; - start(): void; - stop(): void; - addEventListener(type: K, listener: (this: SpeechRecognition, ev: SpeechRecognitionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; - removeEventListener(type: K, listener: (this: SpeechRecognition, ev: SpeechRecognitionEventMap[K]) => any, options?: boolean | EventListenerOptions): void; - removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; -} - -declare var SpeechRecognition: { - prototype: SpeechRecognition; - new(): SpeechRecognition; -}; - -interface SpeechRecognitionAlternative { - readonly confidence: number; - readonly transcript: string; -} - -declare var SpeechRecognitionAlternative: { - prototype: SpeechRecognitionAlternative; - new(): SpeechRecognitionAlternative; -}; - -interface SpeechRecognitionErrorEvent extends Event { - readonly error: SpeechRecognitionErrorCode; - readonly message: string; -} - -declare var SpeechRecognitionErrorEvent: { - prototype: SpeechRecognitionErrorEvent; - new(type: string, eventInitDict: SpeechRecognitionErrorEventInit): SpeechRecognitionErrorEvent; -}; - -interface SpeechRecognitionEvent extends Event { - readonly resultIndex: number; - readonly results: SpeechRecognitionResultList; -} - -declare var SpeechRecognitionEvent: { - prototype: SpeechRecognitionEvent; - new(type: string, eventInitDict: SpeechRecognitionEventInit): SpeechRecognitionEvent; -}; - -interface SpeechRecognitionResult { - readonly isFinal: boolean; - readonly length: number; - item(index: number): SpeechRecognitionAlternative; - [index: number]: SpeechRecognitionAlternative; -} - -declare var SpeechRecognitionResult: { - prototype: SpeechRecognitionResult; - new(): SpeechRecognitionResult; -}; - -interface SpeechRecognitionResultList { - readonly length: number; - item(index: number): SpeechRecognitionResult; - [index: number]: SpeechRecognitionResult; -} - -declare var SpeechRecognitionResultList: { - prototype: SpeechRecognitionResultList; - new(): SpeechRecognitionResultList; -}; - interface SpeechSynthesisEventMap { "voiceschanged": Event; } @@ -15192,17 +14755,6 @@ declare var SubtleCrypto: { new(): SubtleCrypto; }; -/** This ServiceWorker API interface provides an interface for registering and listing sync registrations. */ -interface SyncManager { - getTags(): Promise; - register(tag: string): Promise; -} - -declare var SyncManager: { - prototype: SyncManager; - new(): SyncManager; -}; - /** The textual content of Element or Attr. If an element has no markup within its content, it has a single child implementing Text that contains the element's text. However, if the element contains markup, it is parsed into information items and Text nodes that form its children. */ interface Text extends CharacterData, Slottable { readonly assignedSlot: HTMLSlotElement | null; @@ -15741,123 +15293,10 @@ declare var URLSearchParams: { toString(): string; }; -/** This WebVR API interface represents any VR device supported by this API. It includes generic information such as device IDs and descriptions, as well as methods for starting to present a VR scene, retrieving eye parameters and display capabilities, and other important functionality. */ -interface VRDisplay extends EventTarget { - readonly capabilities: VRDisplayCapabilities; - depthFar: number; - depthNear: number; - readonly displayId: number; - readonly displayName: string; - readonly isConnected: boolean; - readonly isPresenting: boolean; - readonly stageParameters: VRStageParameters | null; - cancelAnimationFrame(handle: number): void; - exitPresent(): Promise; - getEyeParameters(whichEye: string): VREyeParameters; - getFrameData(frameData: VRFrameData): boolean; - getLayers(): VRLayer[]; - /** @deprecated */ - getPose(): VRPose; - requestAnimationFrame(callback: FrameRequestCallback): number; - requestPresent(layers: VRLayer[]): Promise; - resetPose(): void; - submitFrame(pose?: VRPose): void; -} - -declare var VRDisplay: { - prototype: VRDisplay; - new(): VRDisplay; -}; - -/** This WebVR API interface describes the capabilities of a VRDisplay — its features can be used to perform VR device capability tests, for example can it return position information. */ -interface VRDisplayCapabilities { - readonly canPresent: boolean; - readonly hasExternalDisplay: boolean; - readonly hasOrientation: boolean; - readonly hasPosition: boolean; - readonly maxLayers: number; -} - -declare var VRDisplayCapabilities: { - prototype: VRDisplayCapabilities; - new(): VRDisplayCapabilities; -}; - -/** This WebVR API interface represents represents the event object of WebVR-related events (see the list of WebVR window extensions). */ -interface VRDisplayEvent extends Event { - readonly display: VRDisplay; - readonly reason: VRDisplayEventReason | null; -} - -declare var VRDisplayEvent: { - prototype: VRDisplayEvent; - new(type: string, eventInitDict: VRDisplayEventInit): VRDisplayEvent; -}; - -/** This WebVR API interface represents all the information required to correctly render a scene for a given eye, including field of view information. */ -interface VREyeParameters { - /** @deprecated */ - readonly fieldOfView: VRFieldOfView; - readonly offset: Float32Array; - readonly renderHeight: number; - readonly renderWidth: number; -} - -declare var VREyeParameters: { - prototype: VREyeParameters; - new(): VREyeParameters; -}; - -/** This WebVR API interface represents a field of view defined by 4 different degree values describing the view from a center point. */ -interface VRFieldOfView { - readonly downDegrees: number; - readonly leftDegrees: number; - readonly rightDegrees: number; - readonly upDegrees: number; -} - -declare var VRFieldOfView: { - prototype: VRFieldOfView; - new(): VRFieldOfView; -}; - -/** This WebVR API interface represents all the information needed to render a single frame of a VR scene; constructed by VRDisplay.getFrameData(). */ -interface VRFrameData { - readonly leftProjectionMatrix: Float32Array; - readonly leftViewMatrix: Float32Array; - readonly pose: VRPose; - readonly rightProjectionMatrix: Float32Array; - readonly rightViewMatrix: Float32Array; - readonly timestamp: number; -} - -declare var VRFrameData: { - prototype: VRFrameData; - new(): VRFrameData; -}; - -/** This WebVR API interface represents the state of a VR sensor at a given timestamp (which includes orientation, position, velocity, and acceleration information.) */ -interface VRPose { - readonly angularAcceleration: Float32Array | null; - readonly angularVelocity: Float32Array | null; - readonly linearAcceleration: Float32Array | null; - readonly linearVelocity: Float32Array | null; - readonly orientation: Float32Array | null; - readonly position: Float32Array | null; -} - -declare var VRPose: { - prototype: VRPose; - new(): VRPose; -}; - interface VTTCue extends TextTrackCue { align: AlignSetting; line: LineAndPositionSetting; - lineAlign: LineAlignSetting; position: LineAndPositionSetting; - positionAlign: PositionAlignSetting; - region: VTTRegion | null; size: number; snapToLines: boolean; text: string; @@ -17406,7 +16845,6 @@ declare var WebGLRenderingContext: { }; interface WebGLRenderingContextBase { - readonly canvas: HTMLCanvasElement | OffscreenCanvas; readonly drawingBufferHeight: GLsizei; readonly drawingBufferWidth: GLsizei; activeTexture(texture: GLenum): void; @@ -18057,7 +17495,6 @@ interface WindowEventMap extends GlobalEventHandlersEventMap, WindowEventHandler "dblclick": MouseEvent; "devicemotion": DeviceMotionEvent; "deviceorientation": DeviceOrientationEvent; - "deviceorientationabsolute": DeviceOrientationEvent; "drag": DragEvent; "dragend": DragEvent; "dragenter": DragEvent; @@ -18116,12 +17553,6 @@ interface WindowEventMap extends GlobalEventHandlersEventMap, WindowEventHandler "timeupdate": Event; "unload": Event; "volumechange": Event; - "vrdisplayactivate": Event; - "vrdisplayblur": Event; - "vrdisplayconnect": Event; - "vrdisplaydeactivate": Event; - "vrdisplaydisconnect": Event; - "vrdisplaypresentchange": Event; "waiting": Event; } @@ -18155,19 +17586,12 @@ interface Window extends EventTarget, AnimationFrameProvider, GlobalEventHandler oncompassneedscalibration: ((this: Window, ev: Event) => any) | null; ondevicemotion: ((this: Window, ev: DeviceMotionEvent) => any) | null; ondeviceorientation: ((this: Window, ev: DeviceOrientationEvent) => any) | null; - ondeviceorientationabsolute: ((this: Window, ev: DeviceOrientationEvent) => any) | null; ongamepadconnected: ((this: Window, ev: GamepadEvent) => any) | null; ongamepaddisconnected: ((this: Window, ev: GamepadEvent) => any) | null; onmousewheel: ((this: Window, ev: Event) => any) | null; /** @deprecated */ onorientationchange: ((this: Window, ev: Event) => any) | null; onreadystatechange: ((this: Window, ev: ProgressEvent) => any) | null; - onvrdisplayactivate: ((this: Window, ev: Event) => any) | null; - onvrdisplayblur: ((this: Window, ev: Event) => any) | null; - onvrdisplayconnect: ((this: Window, ev: Event) => any) | null; - onvrdisplaydeactivate: ((this: Window, ev: Event) => any) | null; - onvrdisplaydisconnect: ((this: Window, ev: Event) => any) | null; - onvrdisplaypresentchange: ((this: Window, ev: Event) => any) | null; opener: any; /** @deprecated */ readonly orientation: string | number; @@ -18984,7 +18408,6 @@ interface HTMLElementTagNameMap { "del": HTMLModElement; "details": HTMLDetailsElement; "dfn": HTMLElement; - "dialog": HTMLDialogElement; "dir": HTMLDirectoryElement; "div": HTMLDivElement; "dl": HTMLDListElement; @@ -19182,19 +18605,12 @@ declare var offscreenBuffering: string | boolean; declare var oncompassneedscalibration: ((this: Window, ev: Event) => any) | null; declare var ondevicemotion: ((this: Window, ev: DeviceMotionEvent) => any) | null; declare var ondeviceorientation: ((this: Window, ev: DeviceOrientationEvent) => any) | null; -declare var ondeviceorientationabsolute: ((this: Window, ev: DeviceOrientationEvent) => any) | null; declare var ongamepadconnected: ((this: Window, ev: GamepadEvent) => any) | null; declare var ongamepaddisconnected: ((this: Window, ev: GamepadEvent) => any) | null; declare var onmousewheel: ((this: Window, ev: Event) => any) | null; /** @deprecated */ declare var onorientationchange: ((this: Window, ev: Event) => any) | null; declare var onreadystatechange: ((this: Window, ev: ProgressEvent) => any) | null; -declare var onvrdisplayactivate: ((this: Window, ev: Event) => any) | null; -declare var onvrdisplayblur: ((this: Window, ev: Event) => any) | null; -declare var onvrdisplayconnect: ((this: Window, ev: Event) => any) | null; -declare var onvrdisplaydeactivate: ((this: Window, ev: Event) => any) | null; -declare var onvrdisplaydisconnect: ((this: Window, ev: Event) => any) | null; -declare var onvrdisplaypresentchange: ((this: Window, ev: Event) => any) | null; declare var opener: any; /** @deprecated */ declare var orientation: string | number; @@ -19277,7 +18693,6 @@ declare var onauxclick: ((this: Window, ev: MouseEvent) => any) | null; * @param ev The focus event. */ declare var onblur: ((this: Window, ev: FocusEvent) => any) | null; -declare var oncancel: ((this: Window, ev: Event) => any) | null; /** * Occurs when playback is possible, but would require further buffering. * @param ev The event. @@ -19572,8 +18987,7 @@ type BlobPart = BufferSource | Blob | string; type DOMHighResTimeStamp = number; type RenderingContext = CanvasRenderingContext2D | ImageBitmapRenderingContext | WebGLRenderingContext | WebGL2RenderingContext; type HTMLOrSVGImageElement = HTMLImageElement | SVGImageElement; -type CanvasImageSource = HTMLOrSVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas; -type OffscreenRenderingContext = OffscreenCanvasRenderingContext2D | ImageBitmapRenderingContext | WebGLRenderingContext | WebGL2RenderingContext; +type CanvasImageSource = HTMLOrSVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap; type MessageEventSource = WindowProxy | MessagePort | ServiceWorker; type HTMLOrSVGScriptElement = HTMLScriptElement | SVGScriptElement; type ImageBitmapSource = CanvasImageSource | Blob | ImageData; @@ -19605,7 +19019,7 @@ type GLsizeiptr = number; type GLuint = number; type GLfloat = number; type GLclampf = number; -type TexImageSource = ImageBitmap | ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | OffscreenCanvas; +type TexImageSource = ImageBitmap | ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement; type Float32List = Float32Array | GLfloat[]; type Int32List = Int32Array | GLint[]; type GLint64 = number; @@ -19619,9 +19033,8 @@ type InsertPosition = "beforebegin" | "afterbegin" | "beforeend" | "afterend"; type IDBValidKey = number | string | Date | BufferSource | IDBArrayKey; type MutationRecordType = "attributes" | "characterData" | "childList"; type IDBKeyPath = string; -type Transferable = ArrayBuffer | MessagePort | ImageBitmap | OffscreenCanvas; +type Transferable = ArrayBuffer | MessagePort | ImageBitmap; type RTCIceGatherCandidate = RTCIceCandidateDictionary | RTCIceCandidateComplete; -type RTCTransport = RTCDtlsTransport | RTCSrtpSdesTransport; /** @deprecated */ type MouseWheelEvent = WheelEvent; type WindowProxy = Window; @@ -19635,7 +19048,6 @@ type AudioContextState = "closed" | "running" | "suspended"; type AuthenticatorAttachment = "cross-platform" | "platform"; type AuthenticatorTransport = "ble" | "internal" | "nfc" | "usb"; type AutoKeyword = "auto"; -type AutomationRate = "a-rate" | "k-rate"; type BinaryType = "arraybuffer" | "blob"; type BiquadFilterType = "allpass" | "bandpass" | "highpass" | "highshelf" | "lowpass" | "lowshelf" | "notch" | "peaking"; type CanPlayTypeResult = "" | "maybe" | "probably"; @@ -19661,7 +19073,6 @@ type EndOfStreamError = "decode" | "network"; type EndingType = "native" | "transparent"; type FillMode = "auto" | "backwards" | "both" | "forwards" | "none"; type FullscreenNavigationUI = "auto" | "hide" | "show"; -type GamepadHand = "" | "left" | "right"; type GamepadHapticActuatorType = "vibration"; type GamepadMappingType = "" | "standard"; type IDBCursorDirection = "next" | "nextunique" | "prev" | "prevunique"; @@ -19673,7 +19084,6 @@ type IterationCompositeOperation = "accumulate" | "replace"; type KeyFormat = "jwk" | "pkcs8" | "raw" | "spki"; type KeyType = "private" | "public" | "secret"; type KeyUsage = "decrypt" | "deriveBits" | "deriveKey" | "encrypt" | "sign" | "unwrapKey" | "verify" | "wrapKey"; -type LineAlignSetting = "center" | "end" | "start"; type ListeningState = "active" | "disambiguation" | "inactive"; type MSCredentialType = "FIDO_2_0"; type MSTransportType = "BT" | "Embedded" | "NFC" | "USB"; @@ -19689,7 +19099,6 @@ type NavigationReason = "down" | "left" | "right" | "up"; type NavigationType = "back_forward" | "navigate" | "prerender" | "reload"; type NotificationDirection = "auto" | "ltr" | "rtl"; type NotificationPermission = "default" | "denied" | "granted"; -type OffscreenRenderingContextId = "2d" | "bitmaprenderer" | "webgl" | "webgl2"; type OrientationLockType = "any" | "landscape" | "landscape-primary" | "landscape-secondary" | "natural" | "portrait" | "portrait-primary" | "portrait-secondary"; type OrientationType = "landscape-primary" | "landscape-secondary" | "portrait-primary" | "portrait-secondary"; type OscillatorType = "custom" | "sawtooth" | "sine" | "square" | "triangle"; @@ -19700,7 +19109,6 @@ type PaymentShippingType = "delivery" | "pickup" | "shipping"; type PermissionName = "accelerometer" | "ambient-light-sensor" | "background-sync" | "bluetooth" | "camera" | "clipboard" | "device-info" | "geolocation" | "gyroscope" | "magnetometer" | "microphone" | "midi" | "notifications" | "persistent-storage" | "push" | "speaker"; type PermissionState = "denied" | "granted" | "prompt"; type PlaybackDirection = "alternate" | "alternate-reverse" | "normal" | "reverse"; -type PositionAlignSetting = "auto" | "center" | "line-left" | "line-right"; type PremultiplyAlpha = "default" | "none" | "premultiply"; type PublicKeyCredentialType = "public-key"; type PushEncryptionKeyName = "auth" | "p256dh"; @@ -19715,17 +19123,14 @@ type RTCIceComponent = "rtcp" | "rtp"; type RTCIceConnectionState = "checking" | "closed" | "completed" | "connected" | "disconnected" | "failed" | "new"; type RTCIceCredentialType = "password"; type RTCIceGatherPolicy = "all" | "nohost" | "relay"; -type RTCIceGathererState = "complete" | "gathering" | "new"; type RTCIceGatheringState = "complete" | "gathering" | "new"; type RTCIceProtocol = "tcp" | "udp"; -type RTCIceRole = "controlled" | "controlling" | "unknown"; type RTCIceTcpCandidateType = "active" | "passive" | "so"; type RTCIceTransportPolicy = "all" | "relay"; type RTCIceTransportState = "checking" | "closed" | "completed" | "connected" | "disconnected" | "failed" | "new"; type RTCPeerConnectionState = "closed" | "connected" | "connecting" | "disconnected" | "failed" | "new"; type RTCRtcpMuxPolicy = "require"; type RTCRtpTransceiverDirection = "inactive" | "recvonly" | "sendonly" | "sendrecv" | "stopped"; -type RTCSctpTransportState = "closed" | "connected" | "connecting"; type RTCSdpType = "answer" | "offer" | "pranswer" | "rollback"; type RTCSignalingState = "closed" | "have-local-offer" | "have-local-pranswer" | "have-remote-offer" | "have-remote-pranswer" | "stable"; type RTCStatsIceCandidatePairState = "cancelled" | "failed" | "frozen" | "inprogress" | "succeeded" | "waiting"; @@ -19749,13 +19154,11 @@ type SelectionMode = "end" | "preserve" | "select" | "start"; type ServiceWorkerState = "activated" | "activating" | "installed" | "installing" | "parsed" | "redundant"; type ServiceWorkerUpdateViaCache = "all" | "imports" | "none"; type ShadowRootMode = "closed" | "open"; -type SpeechRecognitionErrorCode = "aborted" | "audio-capture" | "bad-grammar" | "language-not-supported" | "network" | "no-speech" | "not-allowed" | "service-not-allowed"; type SpeechSynthesisErrorCode = "audio-busy" | "audio-hardware" | "canceled" | "interrupted" | "invalid-argument" | "language-unavailable" | "network" | "not-allowed" | "synthesis-failed" | "synthesis-unavailable" | "text-too-long" | "voice-unavailable"; type TextTrackKind = "captions" | "chapters" | "descriptions" | "metadata" | "subtitles"; type TextTrackMode = "disabled" | "hidden" | "showing"; type TouchType = "direct" | "stylus"; type UserVerificationRequirement = "discouraged" | "preferred" | "required"; -type VRDisplayEventReason = "mounted" | "navigation" | "requested" | "unmounted"; type VideoFacingModeEnum = "environment" | "left" | "right" | "user"; type VisibilityState = "hidden" | "visible"; type WebGLPowerPreference = "default" | "high-performance" | "low-power"; diff --git a/baselines/dom.iterable.generated.d.ts b/baselines/dom.iterable.generated.d.ts index 0bf4375e1..c11ecbd93 100644 --- a/baselines/dom.iterable.generated.d.ts +++ b/baselines/dom.iterable.generated.d.ts @@ -125,6 +125,10 @@ interface IDBObjectStore { createIndex(name: string, keyPath: string | Iterable, options?: IDBIndexParameters): IDBIndex; } +interface MSCredentials { + makeCredential(accountInfo: MSAccountInfo, params: Iterable, challenge?: string): Promise; +} + interface MediaKeyStatusMap { [Symbol.iterator](): IterableIterator<[BufferSource, MediaKeyStatus]>; entries(): IterableIterator<[BufferSource, MediaKeyStatus]>; @@ -188,10 +192,6 @@ interface PluginArray { [Symbol.iterator](): IterableIterator; } -interface RTCRtpTransceiver { - setCodecPreferences(codecs: Iterable): void; -} - interface RTCStatsReport extends ReadonlyMap { } @@ -222,18 +222,6 @@ interface SourceBufferList { [Symbol.iterator](): IterableIterator; } -interface SpeechGrammarList { - [Symbol.iterator](): IterableIterator; -} - -interface SpeechRecognitionResult { - [Symbol.iterator](): IterableIterator; -} - -interface SpeechRecognitionResultList { - [Symbol.iterator](): IterableIterator; -} - interface StyleSheetList { [Symbol.iterator](): IterableIterator; } @@ -266,10 +254,6 @@ interface URLSearchParams { values(): IterableIterator; } -interface VRDisplay { - requestPresent(layers: Iterable): Promise; -} - interface WEBGL_draw_buffers { drawBuffersWEBGL(buffers: Iterable): void; } diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index 709215725..e19f18311 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -238,11 +238,6 @@ interface ImageBitmapRenderingContextSettings { alpha?: boolean; } -interface ImageEncodeOptions { - quality?: number; - type?: string; -} - interface ImportMeta { url?: string; } @@ -289,11 +284,6 @@ interface MultiCacheQueryOptions extends CacheQueryOptions { cacheName?: string; } -interface NavigationPreloadState { - enabled?: boolean; - headerValue?: string; -} - interface NotificationAction { action: string; icon?: string; @@ -530,11 +520,6 @@ interface StreamPipeOptions { signal?: AbortSignal; } -interface SyncEventInit extends ExtendableEventInit { - lastChance?: boolean; - tag: string; -} - interface TextDecodeOptions { stream?: boolean; } @@ -767,43 +752,6 @@ declare var CacheStorage: { new(): CacheStorage; }; -interface CanvasCompositing { - globalAlpha: number; - globalCompositeOperation: string; -} - -interface CanvasDrawImage { - drawImage(image: CanvasImageSource, dx: number, dy: number): void; - drawImage(image: CanvasImageSource, dx: number, dy: number, dw: number, dh: number): void; - drawImage(image: CanvasImageSource, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void; -} - -interface CanvasDrawPath { - beginPath(): void; - clip(fillRule?: CanvasFillRule): void; - clip(path: Path2D, fillRule?: CanvasFillRule): void; - fill(fillRule?: CanvasFillRule): void; - fill(path: Path2D, fillRule?: CanvasFillRule): void; - isPointInPath(x: number, y: number, fillRule?: CanvasFillRule): boolean; - isPointInPath(path: Path2D, x: number, y: number, fillRule?: CanvasFillRule): boolean; - isPointInStroke(x: number, y: number): boolean; - isPointInStroke(path: Path2D, x: number, y: number): boolean; - stroke(): void; - stroke(path: Path2D): void; -} - -interface CanvasFillStrokeStyles { - fillStyle: string | CanvasGradient | CanvasPattern; - strokeStyle: string | CanvasGradient | CanvasPattern; - createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient; - createPattern(image: CanvasImageSource, repetition: string | null): CanvasPattern | null; - createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient; -} - -interface CanvasFilters { - filter: string; -} - /** An opaque object describing a gradient. It is returned by the methods CanvasRenderingContext2D.createLinearGradient() or CanvasRenderingContext2D.createRadialGradient(). */ interface CanvasGradient { /** @@ -819,19 +767,6 @@ declare var CanvasGradient: { new(): CanvasGradient; }; -interface CanvasImageData { - createImageData(sw: number, sh: number): ImageData; - createImageData(imagedata: ImageData): ImageData; - getImageData(sx: number, sy: number, sw: number, sh: number): ImageData; - putImageData(imagedata: ImageData, dx: number, dy: number): void; - putImageData(imagedata: ImageData, dx: number, dy: number, dirtyX: number, dirtyY: number, dirtyWidth: number, dirtyHeight: number): void; -} - -interface CanvasImageSmoothing { - imageSmoothingEnabled: boolean; - imageSmoothingQuality: ImageSmoothingQuality; -} - interface CanvasPath { arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void; arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void; @@ -844,16 +779,6 @@ interface CanvasPath { rect(x: number, y: number, w: number, h: number): void; } -interface CanvasPathDrawingStyles { - lineCap: CanvasLineCap; - lineDashOffset: number; - lineJoin: CanvasLineJoin; - lineWidth: number; - miterLimit: number; - getLineDash(): number[]; - setLineDash(segments: number[]): void; -} - /** An opaque object describing a pattern, based on an image, a canvas, or a video, created by the CanvasRenderingContext2D.createPattern() method. */ interface CanvasPattern { /** @@ -867,48 +792,6 @@ declare var CanvasPattern: { new(): CanvasPattern; }; -interface CanvasRect { - clearRect(x: number, y: number, w: number, h: number): void; - fillRect(x: number, y: number, w: number, h: number): void; - strokeRect(x: number, y: number, w: number, h: number): void; -} - -interface CanvasShadowStyles { - shadowBlur: number; - shadowColor: string; - shadowOffsetX: number; - shadowOffsetY: number; -} - -interface CanvasState { - restore(): void; - save(): void; -} - -interface CanvasText { - fillText(text: string, x: number, y: number, maxWidth?: number): void; - measureText(text: string): TextMetrics; - strokeText(text: string, x: number, y: number, maxWidth?: number): void; -} - -interface CanvasTextDrawingStyles { - direction: CanvasDirection; - font: string; - textAlign: CanvasTextAlign; - textBaseline: CanvasTextBaseline; -} - -interface CanvasTransform { - getTransform(): DOMMatrix; - resetTransform(): void; - rotate(angle: number): void; - scale(x: number, y: number): void; - setTransform(a: number, b: number, c: number, d: number, e: number, f: number): void; - setTransform(transform?: DOMMatrix2DInit): void; - transform(a: number, b: number, c: number, d: number, e: number, f: number): void; - translate(x: number, y: number): void; -} - /** The Client interface represents an executable context such as a Worker, or a SharedWorker. Window clients are represented by the more-specific WindowClient. You can get Client/WindowClient objects from methods such as Clients.matchAll() and Clients.get(). */ interface Client { readonly frameType: FrameType; @@ -1544,7 +1427,6 @@ declare var ExtendableMessageEvent: { /** This is the event type for fetch events dispatched on the service worker global scope. It contains information about the fetch, including the request and how the receiver will treat the response. It provides the event.respondWith() method, which allows us to provide a response to this fetch. */ interface FetchEvent extends ExtendableEvent { readonly clientId: string; - readonly preloadResponse: Promise; readonly request: Request; readonly resultingClientId: string; respondWith(r: Response | Promise): void; @@ -2175,10 +2057,6 @@ declare var ImageBitmap: { }; interface ImageBitmapRenderingContext { - /** - * Returns the canvas element that the context is bound to. - */ - readonly canvas: OffscreenCanvas; /** * Transfers the underlying bitmap data from imageBitmap to context, and the bitmap becomes the contents of the canvas element to which context is bound. */ @@ -2293,18 +2171,6 @@ declare var MessagePort: { new(): MessagePort; }; -interface NavigationPreloadManager { - disable(): Promise; - enable(): Promise; - getState(): Promise; - setHeaderValue(value: string): Promise; -} - -declare var NavigationPreloadManager: { - prototype: NavigationPreloadManager; - new(): NavigationPreloadManager; -}; - interface NavigatorConcurrentHardware { readonly hardwareConcurrency: number; } @@ -2340,25 +2206,17 @@ interface NotificationEventMap { /** This Notifications API interface is used to configure and display desktop notifications to the user. */ interface Notification extends EventTarget { - readonly actions: ReadonlyArray; - readonly badge: string; readonly body: string; readonly data: any; readonly dir: NotificationDirection; readonly icon: string; - readonly image: string; readonly lang: string; onclick: ((this: Notification, ev: Event) => any) | null; onclose: ((this: Notification, ev: Event) => any) | null; onerror: ((this: Notification, ev: Event) => any) | null; onshow: ((this: Notification, ev: Event) => any) | null; - readonly renotify: boolean; - readonly requireInteraction: boolean; - readonly silent: boolean; readonly tag: string; - readonly timestamp: number; readonly title: string; - readonly vibrate: ReadonlyArray; close(): void; addEventListener(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -2369,7 +2227,6 @@ interface Notification extends EventTarget { declare var Notification: { prototype: Notification; new(title: string, options?: NotificationOptions): Notification; - readonly maxActions: number; readonly permission: NotificationPermission; }; @@ -2418,58 +2275,6 @@ interface OES_vertex_array_object { readonly VERTEX_ARRAY_BINDING_OES: GLenum; } -interface OffscreenCanvas extends EventTarget { - /** - * These attributes return the dimensions of the OffscreenCanvas object's bitmap. - * - * They can be set, to replace the bitmap with a new, transparent black bitmap of the specified dimensions (effectively resizing it). - */ - height: number; - /** - * These attributes return the dimensions of the OffscreenCanvas object's bitmap. - * - * They can be set, to replace the bitmap with a new, transparent black bitmap of the specified dimensions (effectively resizing it). - */ - width: number; - /** - * Returns a promise that will fulfill with a new Blob object representing a file containing the image in the OffscreenCanvas object. - * - * The argument, if provided, is a dictionary that controls the encoding options of the image file to be created. The type field specifies the file format and has a default value of "image/png"; that type is also used if the requested type isn't supported. If the image format supports variable quality (such as "image/jpeg"), then the quality field is a number in the range 0.0 to 1.0 inclusive indicating the desired quality level for the resulting image. - */ - convertToBlob(options?: ImageEncodeOptions): Promise; - /** - * Returns an object that exposes an API for drawing on the OffscreenCanvas object. contextId specifies the desired API: "2d", "bitmaprenderer", "webgl", or "webgl2". options is handled by that API. - * - * This specification defines the "2d" context below, which is similar but distinct from the "2d" context that is created from a canvas element. The WebGL specifications define the "webgl" and "webgl2" contexts. [WEBGL] - * - * Returns null if the canvas has already been initialized with another context type (e.g., trying to get a "2d" context after getting a "webgl" context). - */ - getContext(contextId: "2d", options?: CanvasRenderingContext2DSettings): OffscreenCanvasRenderingContext2D | null; - getContext(contextId: "bitmaprenderer", options?: ImageBitmapRenderingContextSettings): ImageBitmapRenderingContext | null; - getContext(contextId: "webgl", options?: WebGLContextAttributes): WebGLRenderingContext | null; - getContext(contextId: "webgl2", options?: WebGLContextAttributes): WebGL2RenderingContext | null; - getContext(contextId: OffscreenRenderingContextId, options?: any): OffscreenRenderingContext | null; - /** - * Returns a newly created ImageBitmap object with the image in the OffscreenCanvas object. The image in the OffscreenCanvas object is replaced with a new blank image. - */ - transferToImageBitmap(): ImageBitmap; -} - -declare var OffscreenCanvas: { - prototype: OffscreenCanvas; - new(width: number, height: number): OffscreenCanvas; -}; - -interface OffscreenCanvasRenderingContext2D extends CanvasCompositing, CanvasDrawImage, CanvasDrawPath, CanvasFillStrokeStyles, CanvasFilters, CanvasImageData, CanvasImageSmoothing, CanvasPath, CanvasPathDrawingStyles, CanvasRect, CanvasShadowStyles, CanvasState, CanvasText, CanvasTextDrawingStyles, CanvasTransform { - readonly canvas: OffscreenCanvas; - commit(): void; -} - -declare var OffscreenCanvasRenderingContext2D: { - prototype: OffscreenCanvasRenderingContext2D; - new(): OffscreenCanvasRenderingContext2D; -}; - /** This Canvas 2D API interface is used to declare a path that can then be used on a CanvasRenderingContext2D object. The path methods of the CanvasRenderingContext2D interface are also present on this interface, which gives you the convenience of being able to retain and replay your path whenever desired. */ interface Path2D extends CanvasPath { /** @@ -2684,7 +2489,6 @@ declare var PushMessageData: { /** This Push API interface provides a subcription's URL endpoint and allows unsubscription from a push service. */ interface PushSubscription { readonly endpoint: string; - readonly expirationTime: number | null; readonly options: PushSubscriptionOptions; getKey(name: PushEncryptionKeyName): ArrayBuffer | null; toJSON(): PushSubscriptionJSON; @@ -2698,7 +2502,6 @@ declare var PushSubscription: { interface PushSubscriptionOptions { readonly applicationServerKey: ArrayBuffer | null; - readonly userVisibleOnly: boolean; } declare var PushSubscriptionOptions: { @@ -2898,7 +2701,6 @@ interface ServiceWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap { "notificationclick": NotificationEvent; "notificationclose": NotificationEvent; "push": PushEvent; - "sync": SyncEvent; } /** This ServiceWorker API interface represents the global execution context of a service worker. */ @@ -2912,7 +2714,6 @@ interface ServiceWorkerGlobalScope extends WorkerGlobalScope { onnotificationclick: ((this: ServiceWorkerGlobalScope, ev: NotificationEvent) => any) | null; onnotificationclose: ((this: ServiceWorkerGlobalScope, ev: NotificationEvent) => any) | null; onpush: ((this: ServiceWorkerGlobalScope, ev: PushEvent) => any) | null; - onsync: ((this: ServiceWorkerGlobalScope, ev: SyncEvent) => any) | null; readonly registration: ServiceWorkerRegistration; readonly serviceWorker: ServiceWorker; skipWaiting(): Promise; @@ -2935,11 +2736,9 @@ interface ServiceWorkerRegistrationEventMap { interface ServiceWorkerRegistration extends EventTarget { readonly active: ServiceWorker | null; readonly installing: ServiceWorker | null; - readonly navigationPreload: NavigationPreloadManager; onupdatefound: ((this: ServiceWorkerRegistration, ev: Event) => any) | null; readonly pushManager: PushManager; readonly scope: string; - readonly sync: SyncManager; readonly updateViaCache: ServiceWorkerUpdateViaCache; readonly waiting: ServiceWorker | null; getNotifications(filter?: GetNotificationOptions): Promise; @@ -3035,28 +2834,6 @@ declare var SubtleCrypto: { new(): SubtleCrypto; }; -/** A sync action that is dispatched on the ServiceWorkerGlobalScope of a ServiceWorker.  */ -interface SyncEvent extends ExtendableEvent { - readonly lastChance: boolean; - readonly tag: string; -} - -declare var SyncEvent: { - prototype: SyncEvent; - new(type: string, init: SyncEventInit): SyncEvent; -}; - -/** This ServiceWorker API interface provides an interface for registering and listing sync registrations. */ -interface SyncManager { - getTags(): Promise; - register(tag: string): Promise; -} - -declare var SyncManager: { - prototype: SyncManager; - new(): SyncManager; -}; - /** A decoder for a specific method, that is a specific character encoding, like utf-8, iso-8859-2, koi8, cp1261, gbk, etc. A decoder takes a stream of bytes as input and emits a stream of code points. For a more scalable, non-native library, see StringView – a C-like representation of strings based on typed arrays. */ interface TextDecoder extends TextDecoderCommon { /** @@ -4701,7 +4478,6 @@ declare var WebGLRenderingContext: { }; interface WebGLRenderingContextBase { - readonly canvas: OffscreenCanvas; readonly drawingBufferHeight: GLsizei; readonly drawingBufferWidth: GLsizei; activeTexture(texture: GLenum): void; @@ -5431,7 +5207,6 @@ declare var WorkerLocation: { /** A subset of the Navigator interface allowed to be accessed from a Worker. Such an object is initialized for each worker and is available via the WorkerGlobalScope.navigator property obtained by calling window.self.navigator. */ interface WorkerNavigator extends NavigatorConcurrentHardware, NavigatorID, NavigatorLanguage, NavigatorOnLine, NavigatorStorage { - readonly permissions: Permissions; } declare var WorkerNavigator: { @@ -5888,8 +5663,7 @@ type BodyInit = Blob | BufferSource | FormData | URLSearchParams | ReadableStrea type RequestInfo = Request | string; type BlobPart = BufferSource | Blob | string; type DOMHighResTimeStamp = number; -type CanvasImageSource = ImageBitmap | OffscreenCanvas; -type OffscreenRenderingContext = OffscreenCanvasRenderingContext2D | ImageBitmapRenderingContext | WebGLRenderingContext | WebGL2RenderingContext; +type CanvasImageSource = ImageBitmap; type MessageEventSource = MessagePort | ServiceWorker; type ImageBitmapSource = CanvasImageSource | Blob | ImageData; type OnErrorEventHandler = OnErrorEventHandlerNonNull | null; @@ -5913,7 +5687,7 @@ type GLsizeiptr = number; type GLuint = number; type GLfloat = number; type GLclampf = number; -type TexImageSource = ImageBitmap | ImageData | OffscreenCanvas; +type TexImageSource = ImageBitmap | ImageData; type Float32List = Float32Array | GLfloat[]; type Int32List = Int32Array | GLint[]; type GLint64 = number; @@ -5923,15 +5697,9 @@ type BufferSource = ArrayBufferView | ArrayBuffer; type DOMTimeStamp = number; type FormDataEntryValue = File | string; type IDBValidKey = number | string | Date | BufferSource | IDBArrayKey; -type Transferable = ArrayBuffer | MessagePort | ImageBitmap | OffscreenCanvas; +type Transferable = ArrayBuffer | MessagePort | ImageBitmap; type ReadableStreamDefaultReadResult = ReadableStreamDefaultReadValueResult | ReadableStreamDefaultReadDoneResult; type BinaryType = "arraybuffer" | "blob"; -type CanvasDirection = "inherit" | "ltr" | "rtl"; -type CanvasFillRule = "evenodd" | "nonzero"; -type CanvasLineCap = "butt" | "round" | "square"; -type CanvasLineJoin = "bevel" | "miter" | "round"; -type CanvasTextAlign = "center" | "end" | "left" | "right" | "start"; -type CanvasTextBaseline = "alphabetic" | "bottom" | "hanging" | "ideographic" | "middle" | "top"; type ClientTypes = "all" | "sharedworker" | "window" | "worker"; type ColorSpaceConversion = "default" | "none"; type EndingType = "native" | "transparent"; @@ -5940,13 +5708,11 @@ type IDBCursorDirection = "next" | "nextunique" | "prev" | "prevunique"; type IDBRequestReadyState = "done" | "pending"; type IDBTransactionMode = "readonly" | "readwrite" | "versionchange"; type ImageOrientation = "flipY" | "none"; -type ImageSmoothingQuality = "high" | "low" | "medium"; type KeyFormat = "jwk" | "pkcs8" | "raw" | "spki"; type KeyType = "private" | "public" | "secret"; type KeyUsage = "decrypt" | "deriveBits" | "deriveKey" | "encrypt" | "sign" | "unwrapKey" | "verify" | "wrapKey"; type NotificationDirection = "auto" | "ltr" | "rtl"; type NotificationPermission = "default" | "denied" | "granted"; -type OffscreenRenderingContextId = "2d" | "bitmaprenderer" | "webgl" | "webgl2"; type PermissionName = "accelerometer" | "ambient-light-sensor" | "background-sync" | "bluetooth" | "camera" | "clipboard" | "device-info" | "geolocation" | "gyroscope" | "magnetometer" | "microphone" | "midi" | "notifications" | "persistent-storage" | "push" | "speaker"; type PermissionState = "denied" | "granted" | "prompt"; type PremultiplyAlpha = "default" | "none" | "premultiply"; diff --git a/baselines/webworker.iterable.generated.d.ts b/baselines/webworker.iterable.generated.d.ts index f7c63536c..f0200c398 100644 --- a/baselines/webworker.iterable.generated.d.ts +++ b/baselines/webworker.iterable.generated.d.ts @@ -6,10 +6,6 @@ interface Cache { addAll(requests: Iterable): Promise; } -interface CanvasPathDrawingStyles { - setLineDash(segments: Iterable): void; -} - interface DOMStringList { [Symbol.iterator](): IterableIterator; } diff --git a/inputfiles/addedTypes.json b/inputfiles/addedTypes.json index aad8cae78..deb921029 100644 --- a/inputfiles/addedTypes.json +++ b/inputfiles/addedTypes.json @@ -47,12 +47,6 @@ "override-signatures": [ "caretRangeFromPoint(x: number, y: number): Range" ] - }, - "caretPositionFromPoint": { - "name": "caretPositionFromPoint", - "override-signatures": [ - "caretPositionFromPoint(x: number, y: number): CaretPosition | null" - ] } } }, @@ -409,10 +403,6 @@ "type": "CSSOMString", "deprecated": 1 }, - "webkitTapHighlightColor": { - "name": "webkitTapHighlightColor", - "type": "CSSOMString" - }, "zoom": { "name": "zoom", "type": "CSSOMString", @@ -2399,16 +2389,12 @@ }, { "new-type": "Transferable", - "override-type": "ArrayBuffer | MessagePort | ImageBitmap | OffscreenCanvas" + "override-type": "ArrayBuffer | MessagePort | ImageBitmap" }, { "new-type": "RTCIceGatherCandidate", "override-type": "RTCIceCandidateDictionary | RTCIceCandidateComplete" }, - { - "new-type": "RTCTransport", - "override-type": "RTCDtlsTransport | RTCSrtpSdesTransport" - }, { "new-type": "MouseWheelEvent", "type": "WheelEvent", diff --git a/inputfiles/knownTypes.json b/inputfiles/knownTypes.json index 607694fec..1ecb57010 100644 --- a/inputfiles/knownTypes.json +++ b/inputfiles/knownTypes.json @@ -7,7 +7,6 @@ "AesKeyAlgorithm", "AesKeyGenParams", "AudioContextInfo", - "AudioParamDescriptor", "BigInteger", "ByteLengthChunk", "CanvasRenderingContext2DSettings", diff --git a/inputfiles/overridingTypes.json b/inputfiles/overridingTypes.json index a341cbaa2..8b70eb966 100644 --- a/inputfiles/overridingTypes.json +++ b/inputfiles/overridingTypes.json @@ -865,20 +865,6 @@ } } }, - "OffscreenCanvas": { - "methods": { - "method": { - "getContext": { - "additional-signatures": [ - "getContext(contextId: \"2d\", options?: CanvasRenderingContext2DSettings): OffscreenCanvasRenderingContext2D | null", - "getContext(contextId: \"bitmaprenderer\", options?: ImageBitmapRenderingContextSettings): ImageBitmapRenderingContext | null", - "getContext(contextId: \"webgl\", options?: WebGLContextAttributes): WebGLRenderingContext | null", - "getContext(contextId: \"webgl2\", options?: WebGLContextAttributes): WebGL2RenderingContext | null" - ] - } - } - } - }, "BeforeUnloadEvent": { "name": "BeforeUnloadEvent", "properties": { @@ -1066,12 +1052,6 @@ "getElementsByTagNameNS(namespaceURI: \"http://www.w3.org/2000/svg\", localName: string): HTMLCollectionOf", "getElementsByTagNameNS(namespaceURI: string, localName: string): HTMLCollectionOf" ] - }, - "msGetRegionContent": { - "name": "msGetRegionContent", - "override-signatures": [ - "msGetRegionContent(): any" - ] } } } @@ -1182,6 +1162,15 @@ } ] }, + "ImageBitmapRenderingContext": { + "properties": { + "property": { + "canvas": { + "exposed": "Window" + } + } + } + }, "Storage": { "override-index-signatures": [ "[name: string]: any" @@ -1749,7 +1738,7 @@ }, { "name": "error", - "type": "RTCErrorEvent" + "type": "Event" }, { "name": "close", @@ -1765,10 +1754,6 @@ { "name": "statechange", "type": "Event" - }, - { - "name": "error", - "type": "RTCErrorEvent" } ] } @@ -1839,10 +1824,6 @@ "name": "connectionstatechange", "type": "Event" }, - { - "name": "icecandidateerror", - "type": "RTCPeerConnectionIceErrorEvent" - }, { "name": "datachannel", "type": "RTCDataChannelEvent" @@ -2471,53 +2452,6 @@ } } }, - "Navigator": { - "implements": [ - "MSFileSaver", - "MSNavigatorDoNotTrack", - "NavigatorBeacon" - ], - "methods": { - "method": { - "getVRDisplays": { - "name": "getVRDisplays", - "override-signatures": [ - "getVRDisplays(): Promise" - ] - }, - "msLaunchUri": { - "name": "msLaunchUri", - "override-signatures": [ - "msLaunchUri(uri: string, successCallback?: MSLaunchUriCallback, noHandlerCallback?: MSLaunchUriCallback): void" - ] - } - } - }, - "properties": { - "property": { - "activeVRDisplays": { - "name": "activeVRDisplays", - "override-type": "ReadonlyArray", - "read-only": 1 - }, - "msManipulationViewsEnabled": { - "name": "msManipulationViewsEnabled", - "override-type": "boolean", - "read-only": 1 - }, - "msMaxTouchPoints": { - "name": "msMaxTouchPoints", - "override-type": "number", - "read-only": 1 - }, - "msPointerEnabled": { - "name": "msPointerEnabled", - "override-type": "boolean", - "read-only": 1 - } - } - } - }, "WorkerGlobalScope": { "properties": { "property": { diff --git a/inputfiles/removedTypes.json b/inputfiles/removedTypes.json index 8272fdd29..359188308 100644 --- a/inputfiles/removedTypes.json +++ b/inputfiles/removedTypes.json @@ -34,6 +34,13 @@ } } }, + "WebGLRenderingContextBase": { + "properties": { + "namesakes": { + "canvas": null + } + } + }, "XMLHttpRequestEventTarget": null } }, @@ -78,7 +85,6 @@ } } }, - "ClipboardItem": null, "Console": null, "Coordinates": null, "CSS": null, @@ -183,8 +189,14 @@ } } }, + "Document": { + "methods": { + "method": { + "caretPositionFromPoint": null + } + } + }, "ElementInternals": null, - "FederatedCredential": null, "FormDataEvent": null, "HTMLAreasCollection": null, "HTMLMediaElement": { @@ -221,20 +233,23 @@ } } }, - "MSCredentials": null, - "MSDCCEvent": null, - "MSDSHEvent": null, - "MSMediaKeyMessageEvent": null, - "MSMediaKeyNeededEvent": null, - "MSPointerEvent": null, "MSStreamReader": null, - "PasswordCredential": null, + "OffscreenCanvasRenderingContext2D": null, "Position": null, "PositionError": null, + "RTCSrtpSdesTransport": null, "ServiceWorkerGlobalScope": { "properties": { "property": { - "onpushsubscriptionchange": null + "onpushsubscriptionchange": null, + "onsync": null + } + } + }, + "ServiceWorkerRegistration": { + "properties": { + "property": { + "navigationPreload": null } } }, @@ -377,7 +392,9 @@ "ontouchend": null, "ontouchmove": null, "ontouchstart": null, - "performance": null + "performance": null, + "onvrdisplayconnect": null, + "onvrdisplaydisconnect": null } }, "methods": { @@ -388,7 +405,10 @@ }, "events": { "event": [ - "devicelight" + "devicelight", + "onvrdisplayconnected", + "onvrdisplaydisconnected", + "onvrdisplaypresentchange" ] }, "implements": [ diff --git a/src/bcd.ts b/src/bcd.ts index 0c7ddaa38..eeb37ff39 100644 --- a/src/bcd.ts +++ b/src/bcd.ts @@ -5,15 +5,23 @@ import { Identifier, SimpleSupportStatement, SupportBlock } from "@mdn/browser-c const forceKeepAlive: Record = { // Things that are incorrectly reported as unsupported. // These should be filed to https://github.com/mdn/browser-compat-data/issues + "AbstractRange": [ // Blink only implements them in the subinterfaces + "collapsed", + "endContainer", + "endOffset", + "startContainer", + "startOffset" + ], "Animation": ["finished", "pending", "ready", "updatePlaybackRate"], "AnimationPlaybackEvent": ["currentTime", "timelineTime"], "ByteLengthQueuingStrategy": ["size"], "ConstantSourceNode": ["offset"], "CountQueuingStrategy": ["size"], "ExtendableMessageEvent": ["lastEventId", "origin", "ports", "source"], + "Gamepad": ["hapticActuators"], + "GamepadHapticActuator": ["type"], "GlobalEventHandlers": [ "onabort", - "oncancel", // Blink only as of Sep 2020 "ontouchcancel", "ontouchend", "ontouchmove", @@ -22,245 +30,34 @@ const forceKeepAlive: Record = { "HTMLIFrameElement": ["allowPaymentRequest"], "KeyframeEffect": [ "composite", - "iterationComposite", // Gecko only as of Sep 2020 + "iterationComposite", "getKeyframes", "setKeyframes", ], "MediaSource": ["clearLiveSeekableRange", "setLiveSeekableRange"], "NavigatorPlugins": ["javaEnabled", "mimeTypes", "plugins"], + "OfflineAudioContext": ["resume"], + "Request": ["keepalive"], + "RTCDtlsTransport": ["onstatechange", "state"], + "RTCPeerConnection": ["canTrickleIceCandidates"], + "RTCRtpSender": ["transport"], + "RTCStatsReport": [], "SharedWorkerGlobalScope": ["close"], "ServiceWorkerGlobalScope": ["onmessageerror"], + "TextDecoderStream": [], + "TextEncoderStream": [], "TextTrackCue": ["endTime", "id", "pauseOnExit", "startTime", "track"], "TrackEvent": ["track"], + "TransformStream": ["readable", "writable"], "WebKitCSSMatrix": [], "WindowEventHandlers": ["onmessage"], + "WritableStream": ["abort", "getWriter", "locked"], // Widely supported but without being correctly exposed to global "ReadableStreamDefaultReader": ["closed", "cancel", "read", "releaseLock"], "ReadableStreamDefaultController": ["desiredSize", "close", "enqueue", "error"], - - // Things that indeed are not widely supported enough - // but they already have been in lib.d.ts for a while - "AbstractRange": ["collapsed", "endContainer", "endOffset", "startContainer", "startOffset"], - "AudioContext": ["outputLatency", "createMediaStreamTrackSource"], - "AudioListener": [ - "forwardX", - "forwardY", - "forwardZ", - "positionX", - "positionY", - "positionZ", - "upX", - "upY", - "upZ", - ], - "AudioParam": ["automationRate", "cancelAndHoldAtTime"], - "CaretPosition": [], - "ClipboardItem": [], - "DOMError": ["name"], - "FederatedCredential": [], - "FetchEvent": ["preloadResponse"], - "Gamepad": [ - "hand", - "pose", - "hapticActuators", // widely supported - ], - "GamepadHapticActuator": [ - "type", // widely supported - "pulse", - ], - "GamepadPose": [ - "angularAcceleration", - "angularVelocity", - "hasOrientation", - "hasPosition", - "linearAcceleration", - "linearVelocity", - "orientation", - "position", - ], - "HTMLElement": ["autocapitalize"], - "HTMLCanvasElement": ["transferControlToOffscreen"], - "HTMLDialogElement": ["open", "returnValue", "close", "show", "showModal"], - "InputDeviceInfo": ["getCapabilities"], - "Request": ["keepalive"], - "RTCDtlsTransport": [ - "getRemoteCertificates", - "iceTransport", - "onerror", - "onstatechange", - "state", - ], - "RTCError": [], - "RTCErrorEvent": ["error"], - "RTCIceCandidate": [ - "component", - "foundation", - "port", - "priority", - "protocol", - "relatedAddress", - "relatedPort", - "tcpType", - "type", - ], - "RTCIceTransport": [ - "gatheringState", - "getLocalCandidates", - "getLocalParameters", - "getRemoteCandidates", - "getRemoteParameters", - "getSelectedCandidatePair", - "ongatheringstatechange", - "onselectedcandidatepairchange", - "onstatechange", - "role", - "state", - ], - "RTCIdentityAssertion": ["idp", "name"], - "RTCPeerConnection": [ - "canTrickleIceCandidates", // widely supported - "getIdentityAssertion", - "onicecandidateerror", - "peerIdentity", - "setIdentityProvider", - "sctp", - ], - "RTCPeerConnectionIceErrorEvent": ["errorCode", "errorText", "hostCandidate", "url"], - "RTCRtpSender": ["rtcpTransport", "transport"], - "RTCRtpTransceiver": ["setCodecPreferences"], - "RTCSctpTransport": [ - "maxChannels", - "maxMessageSize", - "onstatechange", - "state", - "transport", - ], - "RTCStatsReport": [], - "MediaStreamTrackAudioSourceNode": [], - "NavigationPreloadManager": ["disable", "enable", "getState", "setHeaderValue"], - "Notification": [ - "actions", - "badge", - "image", - "maxActions", - "renotify", - "requireInteraction", - "silent", - "timestamp", - "vibrate", - ], - "OfflineAudioContext": [ - "resume", // widely supported - "suspend", - ], - "OffscreenCanvas": [ - "convertToBlob", - "getContext", - "height", - "transferToImageBitmap", - "width", - ], - "PasswordCredential": [], - "PushSubscription": ["expirationTime"], - "PushSubscriptionOptions" : ["userVisibleOnly"], - "ServiceWorkerRegistration": ["sync"], - "SpeechGrammar": ["src", "weight"], - "SpeechGrammarList": ["addFromString", "addFromURI", "item", "length"], - "SpeechRecognition": [ - "abort", - "continuous", - "grammars", - "interimResults", - "lang", - "maxAlternatives", - "onaudioend", - "onaudiostart", - "onend", - "onerror", - "onnomatch", - "onresult", - "onsoundend", - "onsoundstart", - "onspeechend", - "onspeechstart", - "onstart", - "start", - "stop", - ], - "SpeechRecognitionAlternative": ["confidence", "transcript"], - "SpeechRecognitionErrorEvent": ["error", "message"], - "SpeechRecognitionEvent": ["resultIndex", "results"], - "SpeechRecognitionResult": ["item", "length", "isFinal"], - "SpeechRecognitionResultList": ["item", "length"], - "SyncManager": ["getTags", "register"], - "SyncEvent": ["lastChance", "tag"], - "TextDecoderStream": [], - "TextEncoderStream": [], - "TransformStream": ["readable", "writable"], "TransformStreamDefaultController": ["desiredSize", "enqueue", "error", "terminate"], - "VRDisplay": [ - "cancelAnimationFrame", - "capabilities", - "depthFar", - "depthNear", - "displayId", - "displayName", - "exitPresent", - "getEyeParameters", - "getFrameData", - "getLayers", - "getPose", - "isConnected", - "isPresenting", - "requestAnimationFrame", - "requestPresent", - "resetPose", - "stageParameters", - "submitFrame", - ], - "VRDisplayCapabilities": [ - "canPresent", - "hasExternalDisplay", - "hasOrientation", - "hasPosition", - "maxLayers", - ], - "VRDisplayEvent": ["display", "reason"], - "VREyeParameters": [ - "fieldOfView", - "offset", - "renderHeight", - "renderWidth", - ], - "VRFieldOfView": ["downDegrees", "leftDegrees", "rightDegrees", "upDegrees"], - "VRFrameData": [ - "leftProjectionMatrix", - "leftViewMatrix", - "pose", - "rightProjectionMatrix", - "rightViewMatrix", - "timestamp", - ], - "VRPose": [ - "angularAcceleration", - "angularVelocity", - "linearAcceleration", - "linearVelocity", - "orientation", - "position", - ], - "VTTCue": ["lineAlign", "positionAlign", "region"], "WebGLVertexArrayObjectOES": [], - "Window": [ - "ondeviceorientationabsolute", - "onvrdisplayactivate", - "onvrdisplayblur", - "onvrdisplaydeactivate", - "onvrdisplaypresentchange" - ], - "WorkerNavigator": ["permissions"], - "WritableStream": ["abort", "getWriter", "locked"], "WritableStreamDefaultController": ["error"], "WritableStreamDefaultWriter": [ "abort", From 0718b14f4b0727455e8f0bdb6ee9e69598b2ac4f Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sun, 13 Dec 2020 03:22:25 +0100 Subject: [PATCH 025/362] chore(package): update bcd to 3.0.0 --- baselines/dom.generated.d.ts | 19 +++++-------------- inputfiles/removedTypes.json | 12 ------------ package-lock.json | 15 +++++++-------- package.json | 2 +- src/bcd.ts | 2 -- 5 files changed, 13 insertions(+), 37 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 431e35129..7029830fb 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -6390,6 +6390,7 @@ interface HTMLElementEventMap extends ElementEventMap, GlobalEventHandlersEventM interface HTMLElement extends Element, DocumentAndElementEventHandlers, ElementCSSInlineStyle, ElementCSSInlineStyle, ElementContentEditable, GlobalEventHandlers, HTMLOrSVGElement { accessKey: string; readonly accessKeyLabel: string; + autocapitalize: string; dir: string; draggable: boolean; hidden: boolean; @@ -7295,12 +7296,6 @@ declare var HTMLMapElement: { new(): HTMLMapElement; }; -interface HTMLMarqueeElementEventMap extends HTMLElementEventMap { - "bounce": Event; - "finish": Event; - "start": Event; -} - /** Provides methods to manipulate elements. */ interface HTMLMarqueeElement extends HTMLElement { /** @deprecated */ @@ -7316,12 +7311,6 @@ interface HTMLMarqueeElement extends HTMLElement { /** @deprecated */ loop: number; /** @deprecated */ - onbounce: ((this: HTMLMarqueeElement, ev: Event) => any) | null; - /** @deprecated */ - onfinish: ((this: HTMLMarqueeElement, ev: Event) => any) | null; - /** @deprecated */ - onstart: ((this: HTMLMarqueeElement, ev: Event) => any) | null; - /** @deprecated */ scrollAmount: number; /** @deprecated */ scrollDelay: number; @@ -7335,9 +7324,9 @@ interface HTMLMarqueeElement extends HTMLElement { start(): void; /** @deprecated */ stop(): void; - addEventListener(type: K, listener: (this: HTMLMarqueeElement, ev: HTMLMarqueeElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: K, listener: (this: HTMLMarqueeElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; - removeEventListener(type: K, listener: (this: HTMLMarqueeElement, ev: HTMLMarqueeElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLMarqueeElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } @@ -13390,6 +13379,8 @@ declare var SVGNumberList: { interface SVGPathElement extends SVGGraphicsElement { /** @deprecated */ readonly pathSegList: SVGPathSegList; + /** @deprecated */ + getPathSegAtLength(distance: number): number; getPointAtLength(distance: number): SVGPoint; getTotalLength(): number; addEventListener(type: K, listener: (this: SVGPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; diff --git a/inputfiles/removedTypes.json b/inputfiles/removedTypes.json index 359188308..1d78ec59c 100644 --- a/inputfiles/removedTypes.json +++ b/inputfiles/removedTypes.json @@ -16,11 +16,6 @@ } }, "NavigatorID": { - "methods": { - "method": { - "taintEnabled": null - } - }, "properties": { "property": { "oscpu": null @@ -199,13 +194,6 @@ "ElementInternals": null, "FormDataEvent": null, "HTMLAreasCollection": null, - "HTMLMediaElement": { - "methods": { - "method": { - "getStartDate": null - } - } - }, "HTMLFormElement": { "properties": { "property": { diff --git a/package-lock.json b/package-lock.json index 63eab137e..af85a7817 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,7 +7,7 @@ "": { "version": "0.1.0", "dependencies": { - "@mdn/browser-compat-data": "2.0.7", + "@mdn/browser-compat-data": "3.0.0", "@types/jsdom": "^16.2.4", "@types/node": "^14.6.4", "@types/node-fetch": "^2.5.7", @@ -22,10 +22,9 @@ } }, "node_modules/@mdn/browser-compat-data": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-2.0.7.tgz", - "integrity": "sha512-GeeM827DlzFFidn1eKkMBiqXFD2oLsnZbaiGhByPl0vcapsRzUL+t9hDoov1swc9rB2jw64R+ihtzC8qOE9wXw==", - "license": "CC0-1.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-3.0.0.tgz", + "integrity": "sha512-J2kn2zBbgAvOoHRiPikMnZWJ8qWKrpdlHepoozYbTbwwUGrFXP4opIitH8Dn68e36nUrhUu/NL4lGq7ZOqh+xg==", "dependencies": { "extend": "3.0.2" }, @@ -1325,9 +1324,9 @@ }, "dependencies": { "@mdn/browser-compat-data": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-2.0.7.tgz", - "integrity": "sha512-GeeM827DlzFFidn1eKkMBiqXFD2oLsnZbaiGhByPl0vcapsRzUL+t9hDoov1swc9rB2jw64R+ihtzC8qOE9wXw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-3.0.0.tgz", + "integrity": "sha512-J2kn2zBbgAvOoHRiPikMnZWJ8qWKrpdlHepoozYbTbwwUGrFXP4opIitH8Dn68e36nUrhUu/NL4lGq7ZOqh+xg==", "requires": { "extend": "3.0.2" } diff --git a/package.json b/package.json index 31d5a64d4..c2b001e33 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ }, "type": "module", "dependencies": { - "@mdn/browser-compat-data": "2.0.7", + "@mdn/browser-compat-data": "3.0.0", "@types/jsdom": "^16.2.4", "@types/node": "^14.6.4", "@types/node-fetch": "^2.5.7", diff --git a/src/bcd.ts b/src/bcd.ts index eeb37ff39..197c3852a 100644 --- a/src/bcd.ts +++ b/src/bcd.ts @@ -34,7 +34,6 @@ const forceKeepAlive: Record = { "getKeyframes", "setKeyframes", ], - "MediaSource": ["clearLiveSeekableRange", "setLiveSeekableRange"], "NavigatorPlugins": ["javaEnabled", "mimeTypes", "plugins"], "OfflineAudioContext": ["resume"], "Request": ["keepalive"], @@ -46,7 +45,6 @@ const forceKeepAlive: Record = { "ServiceWorkerGlobalScope": ["onmessageerror"], "TextDecoderStream": [], "TextEncoderStream": [], - "TextTrackCue": ["endTime", "id", "pauseOnExit", "startTime", "track"], "TrackEvent": ["track"], "TransformStream": ["readable", "writable"], "WebKitCSSMatrix": [], From 15519b2e5dc83a555222cfeadc5a9df7123370ca Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sun, 13 Dec 2020 20:19:03 +0100 Subject: [PATCH 026/362] chore: remove redundant DOM XPath IDL --- inputfiles/idl/DOM XPath.widl | 52 ----------------------------------- 1 file changed, 52 deletions(-) delete mode 100644 inputfiles/idl/DOM XPath.widl diff --git a/inputfiles/idl/DOM XPath.widl b/inputfiles/idl/DOM XPath.widl deleted file mode 100644 index 241708d0c..000000000 --- a/inputfiles/idl/DOM XPath.widl +++ /dev/null @@ -1,52 +0,0 @@ -[Exposed=Window] -interface XPathResult { - const unsigned short ANY_TYPE = 0; - const unsigned short NUMBER_TYPE = 1; - const unsigned short STRING_TYPE = 2; - const unsigned short BOOLEAN_TYPE = 3; - const unsigned short UNORDERED_NODE_ITERATOR_TYPE = 4; - const unsigned short ORDERED_NODE_ITERATOR_TYPE = 5; - const unsigned short UNORDERED_NODE_SNAPSHOT_TYPE = 6; - const unsigned short ORDERED_NODE_SNAPSHOT_TYPE = 7; - const unsigned short ANY_UNORDERED_NODE_TYPE = 8; - const unsigned short FIRST_ORDERED_NODE_TYPE = 9; - - readonly attribute unsigned short resultType; - readonly attribute unrestricted double numberValue; - // Maybe "DOMString?". - readonly attribute DOMString stringValue; - readonly attribute boolean booleanValue; - readonly attribute Node? singleNodeValue; - readonly attribute boolean invalidIteratorState; - readonly attribute unsigned long snapshotLength; - Node? iterateNext(); - Node? snapshotItem(unsigned long index); -}; - -[Exposed=Window] -interface XPathExpression { - XPathResult evaluate(Node contextNode, - optional unsigned short type, - optional XPathResult? result); -}; - -callback interface XPathNSResolver { - DOMString? lookupNamespaceURI(DOMString? prefix); -}; - -interface mixin XPathEvaluatorBase { - [NewObject] XPathExpression createExpression(DOMString expression, - optional XPathNSResolver? resolver); - XPathNSResolver createNSResolver(Node nodeResolver); - XPathResult evaluate(DOMString expression, - Node contextNode, - optional XPathNSResolver? resolver, - optional unsigned short type, - optional XPathResult? result); -}; - -[Exposed=Window, Constructor] -interface XPathEvaluator {}; - -XPathEvaluator includes XPathEvaluatorBase; -Document includes XPathEvaluatorBase; From a1f0437c77c5a40c17e0fe1f81a190771ef16d33 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sun, 13 Dec 2020 20:50:00 +0100 Subject: [PATCH 027/362] feat(bcd): allowlisting --- baselines/dom.generated.d.ts | 1593 ++----------------------- baselines/dom.iterable.generated.d.ts | 8 - baselines/webworker.generated.d.ts | 58 - inputfiles/addedTypes.json | 10 + inputfiles/removedTypes.json | 198 +-- src/bcd.ts | 634 +++++++++- src/idlfetcher.ts | 8 +- src/index.ts | 5 +- src/utils/css.ts | 12 + src/widlprocess.ts | 3 + 10 files changed, 718 insertions(+), 1811 deletions(-) create mode 100644 src/utils/css.ts diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 7029830fb..01f9c3331 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -460,21 +460,6 @@ interface FocusEventInit extends UIEventInit { relatedTarget?: EventTarget | null; } -interface FocusNavigationEventInit extends EventInit { - navigationReason?: string | null; - originHeight?: number; - originLeft?: number; - originTop?: number; - originWidth?: number; -} - -interface FocusNavigationOrigin { - originHeight?: number; - originLeft?: number; - originTop?: number; - originWidth?: number; -} - interface FocusOptions { preventScroll?: boolean; } @@ -637,41 +622,6 @@ interface KeyframeEffectOptions extends EffectTiming { iterationComposite?: IterationCompositeOperation; } -interface MSAccountInfo { - accountImageUri?: string; - accountName?: string; - rpDisplayName: string; - userDisplayName: string; - userId?: string; -} - -interface MSCredentialFilter { - accept?: MSCredentialSpec[]; -} - -interface MSCredentialParameters { - type?: MSCredentialType; -} - -interface MSCredentialSpec { - id?: string; - type: MSCredentialType; -} - -interface MSDCCEventInit extends EventInit { - maxFr?: number; - maxFs?: number; -} - -interface MSDSHEventInit extends EventInit { - sources?: number[]; - timestamp?: number; -} - -interface MSSignatureParameters { - userPrompt?: string; -} - interface MediaElementAudioSourceOptions { mediaElement: HTMLMediaElement; } @@ -716,10 +666,6 @@ interface MediaStreamConstraints { video?: boolean | MediaTrackConstraints; } -interface MediaStreamErrorEventInit extends EventInit { - error?: MediaStreamError | null; -} - interface MediaStreamEventInit extends EventInit { stream?: MediaStream; } @@ -1205,14 +1151,6 @@ interface RTCDtlsParameters { role?: RTCDtlsRole; } -interface RTCErrorInit { - errorDetail: RTCErrorDetailType; - receivedAlert?: number; - sctpCauseCode?: number; - sdpLineNumber?: number; - sentAlert?: number; -} - interface RTCIceCandidateAttributes extends RTCStats { addressSourceUrl?: string; candidateType?: RTCStatsIceCandidateType; @@ -1222,22 +1160,6 @@ interface RTCIceCandidateAttributes extends RTCStats { transport?: string; } -interface RTCIceCandidateComplete { -} - -interface RTCIceCandidateDictionary { - foundation?: string; - ip?: string; - msMTurnSessionId?: string; - port?: number; - priority?: number; - protocol?: RTCIceProtocol; - relatedAddress?: string; - relatedPort?: number; - tcpType?: RTCIceTcpCandidateType; - type?: RTCIceCandidateType; -} - interface RTCIceCandidateInit { candidate?: string; sdpMLineIndex?: number | null; @@ -1245,11 +1167,6 @@ interface RTCIceCandidateInit { usernameFragment?: string | null; } -interface RTCIceCandidatePair { - local?: RTCIceCandidate; - remote?: RTCIceCandidate; -} - interface RTCIceCandidatePairStats extends RTCStats { availableIncomingBitrate?: number; availableOutgoingBitrate?: number; @@ -1266,16 +1183,6 @@ interface RTCIceCandidatePairStats extends RTCStats { writable?: boolean; } -interface RTCIceGatherOptions { - gatherPolicy?: RTCIceGatherPolicy; - iceservers?: RTCIceServer[]; -} - -interface RTCIceParameters { - password?: string; - usernameFragment?: string; -} - interface RTCIceServer { credential?: string; credentialType?: RTCIceCredentialType; @@ -2040,65 +1947,6 @@ declare var AnimationTimeline: { new(): AnimationTimeline; }; -interface ApplicationCacheEventMap { - "cached": Event; - "checking": Event; - "downloading": Event; - "error": Event; - "noupdate": Event; - "obsolete": Event; - "progress": ProgressEvent; - "updateready": Event; -} - -interface ApplicationCache extends EventTarget { - /** @deprecated */ - oncached: ((this: ApplicationCache, ev: Event) => any) | null; - /** @deprecated */ - onchecking: ((this: ApplicationCache, ev: Event) => any) | null; - /** @deprecated */ - ondownloading: ((this: ApplicationCache, ev: Event) => any) | null; - /** @deprecated */ - onerror: ((this: ApplicationCache, ev: Event) => any) | null; - /** @deprecated */ - onnoupdate: ((this: ApplicationCache, ev: Event) => any) | null; - /** @deprecated */ - onobsolete: ((this: ApplicationCache, ev: Event) => any) | null; - /** @deprecated */ - onprogress: ((this: ApplicationCache, ev: ProgressEvent) => any) | null; - /** @deprecated */ - onupdateready: ((this: ApplicationCache, ev: Event) => any) | null; - /** @deprecated */ - readonly status: number; - /** @deprecated */ - abort(): void; - /** @deprecated */ - swapCache(): void; - /** @deprecated */ - update(): void; - readonly CHECKING: number; - readonly DOWNLOADING: number; - readonly IDLE: number; - readonly OBSOLETE: number; - readonly UNCACHED: number; - readonly UPDATEREADY: number; - addEventListener(type: K, listener: (this: ApplicationCache, ev: ApplicationCacheEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; - removeEventListener(type: K, listener: (this: ApplicationCache, ev: ApplicationCacheEventMap[K]) => any, options?: boolean | EventListenerOptions): void; - removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; -} - -declare var ApplicationCache: { - prototype: ApplicationCache; - new(): ApplicationCache; - readonly CHECKING: number; - readonly DOWNLOADING: number; - readonly IDLE: number; - readonly OBSOLETE: number; - readonly UNCACHED: number; - readonly UPDATEREADY: number; -}; - /** A DOM element's attribute as an object. In most DOM methods, you will probably directly retrieve the attribute as a string (e.g., Element.getAttribute(), but certain functions (e.g., Element.getAttributeNode()) or means of iterating give Attr types. */ interface Attr extends Node { readonly localName: string; @@ -2398,28 +2246,6 @@ declare var BeforeUnloadEvent: { new(): BeforeUnloadEvent; }; -interface BhxBrowser { - readonly lastError: DOMException; - checkMatchesGlobExpression(pattern: string, value: string): boolean; - checkMatchesUriExpression(pattern: string, value: string): boolean; - clearLastError(): void; - currentWindowId(): number; - fireExtensionApiTelemetry(functionName: string, isSucceeded: boolean, isSupported: boolean, errorString: string): void; - genericFunction(functionId: number, destination: any, parameters?: string, callbackId?: number): void; - genericSynchronousFunction(functionId: number, parameters?: string): string; - getExtensionId(): string; - getThisAddress(): any; - registerGenericFunctionCallbackHandler(callbackHandler: Function): void; - registerGenericListenerHandler(eventHandler: Function): void; - setLastError(parameters: string): void; - webPlatformGenericFunction(destination: any, parameters?: string, callbackId?: number): void; -} - -declare var BhxBrowser: { - prototype: BhxBrowser; - new(): BhxBrowser; -}; - /** A simple low-order filter, and is created using the AudioContext.createBiquadFilter() method. It is an AudioNode that can represent different kinds of filters, tone control devices, and graphic equalizers. */ interface BiquadFilterNode extends AudioNode { readonly Q: AudioParam; @@ -2493,7 +2319,6 @@ declare var BroadcastChannel: { /** This Streams API interface provides a built-in byte length queuing strategy that can be used when constructing streams. */ interface ByteLengthQueuingStrategy extends QueuingStrategy { - readonly highWaterMark: number; readonly size: QueuingStrategySize; } @@ -2686,6 +2511,8 @@ interface CSSStyleDeclaration { baselineShift: string; blockSize: string; border: string; + borderBlock: string; + borderBlockColor: string; borderBlockEnd: string; borderBlockEndColor: string; borderBlockEndStyle: string; @@ -2694,6 +2521,8 @@ interface CSSStyleDeclaration { borderBlockStartColor: string; borderBlockStartStyle: string; borderBlockStartWidth: string; + borderBlockStyle: string; + borderBlockWidth: string; borderBottom: string; borderBottomColor: string; borderBottomLeftRadius: string; @@ -2708,6 +2537,8 @@ interface CSSStyleDeclaration { borderImageSlice: string; borderImageSource: string; borderImageWidth: string; + borderInline: string; + borderInlineColor: string; borderInlineEnd: string; borderInlineEndColor: string; borderInlineEndStyle: string; @@ -2716,6 +2547,8 @@ interface CSSStyleDeclaration { borderInlineStartColor: string; borderInlineStartStyle: string; borderInlineStartWidth: string; + borderInlineStyle: string; + borderInlineWidth: string; borderLeft: string; borderLeftColor: string; borderLeftStyle: string; @@ -2800,7 +2633,6 @@ interface CSSStyleDeclaration { fontVariantPosition: string; fontWeight: string; gap: string; - glyphOrientationVertical: string; grid: string; gridArea: string; gridAutoColumns: string; @@ -2824,6 +2656,13 @@ interface CSSStyleDeclaration { imageOrientation: string; imageRendering: string; inlineSize: string; + inset: string; + insetBlock: string; + insetBlockEnd: string; + insetBlockStart: string; + insetInline: string; + insetInlineEnd: string; + insetInlineStart: string; justifyContent: string; justifyItems: string; justifySelf: string; @@ -2838,9 +2677,11 @@ interface CSSStyleDeclaration { listStylePosition: string; listStyleType: string; margin: string; + marginBlock: string; marginBlockEnd: string; marginBlockStart: string; marginBottom: string; + marginInline: string; marginInlineEnd: string; marginInlineStart: string; marginLeft: string; @@ -2851,11 +2692,6 @@ interface CSSStyleDeclaration { markerMid: string; markerStart: string; mask: string; - maskComposite: string; - maskImage: string; - maskPosition: string; - maskRepeat: string; - maskSize: string; maskType: string; maxBlockSize: string; maxHeight: string; @@ -2886,9 +2722,11 @@ interface CSSStyleDeclaration { overscrollBehaviorX: string; overscrollBehaviorY: string; padding: string; + paddingBlock: string; paddingBlockEnd: string; paddingBlockStart: string; paddingBottom: string; + paddingInline: string; paddingInlineEnd: string; paddingInlineStart: string; paddingLeft: string; @@ -2911,10 +2749,10 @@ interface CSSStyleDeclaration { right: string; rotate: string; rowGap: string; - rubyAlign: string; rubyPosition: string; scale: string; scrollBehavior: string; + shapeMargin: string; shapeRendering: string; stopColor: string; stopOpacity: string; @@ -2941,7 +2779,6 @@ interface CSSStyleDeclaration { textEmphasisPosition: string; textEmphasisStyle: string; textIndent: string; - textJustify: string; textOrientation: string; textOverflow: string; textRendering: string; @@ -3412,31 +3249,6 @@ interface ChildNode extends Node { replaceWith(...nodes: (Node | string)[]): void; } -interface ClientRect { - bottom: number; - readonly height: number; - left: number; - right: number; - top: number; - readonly width: number; -} - -declare var ClientRect: { - prototype: ClientRect; - new(): ClientRect; -}; - -interface ClientRectList { - readonly length: number; - item(index: number): ClientRect; - [index: number]: ClientRect; -} - -declare var ClientRectList: { - prototype: ClientRectList; - new(): ClientRectList; -}; - interface Clipboard extends EventTarget { readText(): Promise; writeText(data: string): Promise; @@ -3532,7 +3344,6 @@ declare var ConvolverNode: { /** This Streams API interface provides a built-in byte length queuing strategy that can be used when constructing streams. */ interface CountQueuingStrategy extends QueuingStrategy { - readonly highWaterMark: number; readonly size: QueuingStrategySize; } @@ -3587,17 +3398,6 @@ declare var CryptoKey: { new(): CryptoKey; }; -/** The CryptoKeyPair dictionary of the Web Crypto API represents a key pair for an asymmetric cryptography algorithm, also known as a public-key algorithm. */ -interface CryptoKeyPair { - privateKey: CryptoKey; - publicKey: CryptoKey; -} - -declare var CryptoKeyPair: { - prototype: CryptoKeyPair; - new(): CryptoKeyPair; -}; - interface CustomElementRegistry { define(name: string, constructor: CustomElementConstructor, options?: ElementDefinitionOptions): void; get(name: string): any; @@ -3700,28 +3500,6 @@ declare var DOMImplementation: { }; interface DOMMatrix extends DOMMatrixReadOnly { - a: number; - b: number; - c: number; - d: number; - e: number; - f: number; - m11: number; - m12: number; - m13: number; - m14: number; - m21: number; - m22: number; - m23: number; - m24: number; - m31: number; - m32: number; - m33: number; - m34: number; - m41: number; - m42: number; - m43: number; - m44: number; invertSelf(): DOMMatrix; multiplySelf(other?: DOMMatrixInit): DOMMatrix; preMultiplySelf(other?: DOMMatrixInit): DOMMatrix; @@ -3825,10 +3603,6 @@ declare var DOMParser: { }; interface DOMPoint extends DOMPointReadOnly { - w: number; - x: number; - y: number; - z: number; } declare var DOMPoint: { @@ -3872,10 +3646,6 @@ declare var DOMQuad: { }; interface DOMRect extends DOMRectReadOnly { - height: number; - width: number; - x: number; - y: number; } declare var DOMRect: { @@ -3916,15 +3686,6 @@ declare var DOMRectReadOnly: { fromRect(other?: DOMRectInit): DOMRectReadOnly; }; -interface DOMSettableTokenList extends DOMTokenList { - value: string; -} - -declare var DOMSettableTokenList: { - prototype: DOMSettableTokenList; - new(): DOMSettableTokenList; -}; - /** A type returned by some APIs which contains a list of DOMString (strings). */ interface DOMStringList { /** @@ -4029,19 +3790,6 @@ declare var DOMTokenList: { new(): DOMTokenList; }; -interface DataCue extends TextTrackCue { - data: ArrayBuffer; - addEventListener(type: K, listener: (this: DataCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; - removeEventListener(type: K, listener: (this: DataCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | EventListenerOptions): void; - removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; -} - -declare var DataCue: { - prototype: DataCue; - new(): DataCue; -}; - /** Used to hold the data that is being dragged during a drag and drop operation. It may hold one or more data items, each of one or more data types. For more information about drag and drop, see HTML Drag and Drop API. */ interface DataTransfer { /** @@ -4149,19 +3897,6 @@ declare var DataTransferItemList: { new(): DataTransferItemList; }; -interface DeferredPermissionRequest { - readonly id: number; - readonly type: MSWebViewPermissionType; - readonly uri: string; - allow(): void; - deny(): void; -} - -declare var DeferredPermissionRequest: { - prototype: DeferredPermissionRequest; - new(): DeferredPermissionRequest; -}; - /** A delay-line; an AudioNode audio-processing module that causes a delay between the arrival of an input data and its propagation to the output. */ interface DelayNode extends AudioNode { readonly delayTime: AudioParam; @@ -4172,18 +3907,6 @@ declare var DelayNode: { new(context: BaseAudioContext, options?: DelayOptions): DelayNode; }; -/** Provides information about the amount of acceleration the device is experiencing along all three axes. */ -interface DeviceAcceleration { - readonly x: number | null; - readonly y: number | null; - readonly z: number | null; -} - -declare var DeviceAcceleration: { - prototype: DeviceAcceleration; - new(): DeviceAcceleration; -}; - /** The DeviceMotionEvent provides web developers with information about the speed of changes for the device's position and orientation. */ interface DeviceMotionEvent extends Event { readonly acceleration: DeviceMotionEventAcceleration | null; @@ -4195,7 +3918,6 @@ interface DeviceMotionEvent extends Event { declare var DeviceMotionEvent: { prototype: DeviceMotionEvent; new(type: string, eventInitDict?: DeviceMotionEventInit): DeviceMotionEvent; - requestPermission(): Promise; }; interface DeviceMotionEventAcceleration { @@ -4221,19 +3943,6 @@ interface DeviceOrientationEvent extends Event { declare var DeviceOrientationEvent: { prototype: DeviceOrientationEvent; new(type: string, eventInitDict?: DeviceOrientationEventInit): DeviceOrientationEvent; - requestPermission(): Promise; -}; - -/** Provides information about the rate at which the device is rotating around all three axes. */ -interface DeviceRotationRate { - readonly alpha: number | null; - readonly beta: number | null; - readonly gamma: number | null; -} - -declare var DeviceRotationRate: { - prototype: DeviceRotationRate; - new(): DeviceRotationRate; }; interface DhImportKeyParams extends Algorithm { @@ -4530,16 +4239,9 @@ interface Document extends Node, DocumentAndElementEventHandlers, DocumentOrShad createEvent(eventInterface: "IDBVersionChangeEvent"): IDBVersionChangeEvent; createEvent(eventInterface: "InputEvent"): InputEvent; createEvent(eventInterface: "KeyboardEvent"): KeyboardEvent; - createEvent(eventInterface: "ListeningStateChangedEvent"): ListeningStateChangedEvent; - createEvent(eventInterface: "MSDCCEvent"): MSDCCEvent; - createEvent(eventInterface: "MSDSHEvent"): MSDSHEvent; - createEvent(eventInterface: "MSMediaKeyMessageEvent"): MSMediaKeyMessageEvent; - createEvent(eventInterface: "MSMediaKeyNeededEvent"): MSMediaKeyNeededEvent; - createEvent(eventInterface: "MSPointerEvent"): MSPointerEvent; createEvent(eventInterface: "MediaEncryptedEvent"): MediaEncryptedEvent; createEvent(eventInterface: "MediaKeyMessageEvent"): MediaKeyMessageEvent; createEvent(eventInterface: "MediaQueryListEvent"): MediaQueryListEvent; - createEvent(eventInterface: "MediaStreamErrorEvent"): MediaStreamErrorEvent; createEvent(eventInterface: "MediaStreamEvent"): MediaStreamEvent; createEvent(eventInterface: "MediaStreamTrackEvent"): MediaStreamTrackEvent; createEvent(eventInterface: "MessageEvent"): MessageEvent; @@ -4548,23 +4250,16 @@ interface Document extends Node, DocumentAndElementEventHandlers, DocumentOrShad createEvent(eventInterface: "MutationEvent"): MutationEvent; createEvent(eventInterface: "MutationEvents"): MutationEvent; createEvent(eventInterface: "OfflineAudioCompletionEvent"): OfflineAudioCompletionEvent; - createEvent(eventInterface: "OverflowEvent"): OverflowEvent; createEvent(eventInterface: "PageTransitionEvent"): PageTransitionEvent; createEvent(eventInterface: "PaymentMethodChangeEvent"): PaymentMethodChangeEvent; createEvent(eventInterface: "PaymentRequestUpdateEvent"): PaymentRequestUpdateEvent; - createEvent(eventInterface: "PermissionRequestedEvent"): PermissionRequestedEvent; createEvent(eventInterface: "PointerEvent"): PointerEvent; createEvent(eventInterface: "PopStateEvent"): PopStateEvent; createEvent(eventInterface: "ProgressEvent"): ProgressEvent; createEvent(eventInterface: "PromiseRejectionEvent"): PromiseRejectionEvent; createEvent(eventInterface: "RTCDTMFToneChangeEvent"): RTCDTMFToneChangeEvent; createEvent(eventInterface: "RTCDataChannelEvent"): RTCDataChannelEvent; - createEvent(eventInterface: "RTCDtlsTransportStateChangedEvent"): RTCDtlsTransportStateChangedEvent; - createEvent(eventInterface: "RTCIceCandidatePairChangedEvent"): RTCIceCandidatePairChangedEvent; - createEvent(eventInterface: "RTCIceGathererEvent"): RTCIceGathererEvent; - createEvent(eventInterface: "RTCIceTransportStateChangedEvent"): RTCIceTransportStateChangedEvent; createEvent(eventInterface: "RTCPeerConnectionIceEvent"): RTCPeerConnectionIceEvent; - createEvent(eventInterface: "RTCSsrcConflictEvent"): RTCSsrcConflictEvent; createEvent(eventInterface: "RTCTrackEvent"): RTCTrackEvent; createEvent(eventInterface: "SVGZoomEvent"): SVGZoomEvent; createEvent(eventInterface: "SVGZoomEvents"): SVGZoomEvent; @@ -4572,7 +4267,6 @@ interface Document extends Node, DocumentAndElementEventHandlers, DocumentOrShad createEvent(eventInterface: "SpeechSynthesisErrorEvent"): SpeechSynthesisErrorEvent; createEvent(eventInterface: "SpeechSynthesisEvent"): SpeechSynthesisEvent; createEvent(eventInterface: "StorageEvent"): StorageEvent; - createEvent(eventInterface: "TextEvent"): TextEvent; createEvent(eventInterface: "TouchEvent"): TouchEvent; createEvent(eventInterface: "TrackEvent"): TrackEvent; createEvent(eventInterface: "TransitionEvent"): TransitionEvent; @@ -4773,16 +4467,9 @@ interface DocumentEvent { createEvent(eventInterface: "IDBVersionChangeEvent"): IDBVersionChangeEvent; createEvent(eventInterface: "InputEvent"): InputEvent; createEvent(eventInterface: "KeyboardEvent"): KeyboardEvent; - createEvent(eventInterface: "ListeningStateChangedEvent"): ListeningStateChangedEvent; - createEvent(eventInterface: "MSDCCEvent"): MSDCCEvent; - createEvent(eventInterface: "MSDSHEvent"): MSDSHEvent; - createEvent(eventInterface: "MSMediaKeyMessageEvent"): MSMediaKeyMessageEvent; - createEvent(eventInterface: "MSMediaKeyNeededEvent"): MSMediaKeyNeededEvent; - createEvent(eventInterface: "MSPointerEvent"): MSPointerEvent; createEvent(eventInterface: "MediaEncryptedEvent"): MediaEncryptedEvent; createEvent(eventInterface: "MediaKeyMessageEvent"): MediaKeyMessageEvent; createEvent(eventInterface: "MediaQueryListEvent"): MediaQueryListEvent; - createEvent(eventInterface: "MediaStreamErrorEvent"): MediaStreamErrorEvent; createEvent(eventInterface: "MediaStreamEvent"): MediaStreamEvent; createEvent(eventInterface: "MediaStreamTrackEvent"): MediaStreamTrackEvent; createEvent(eventInterface: "MessageEvent"): MessageEvent; @@ -4791,23 +4478,16 @@ interface DocumentEvent { createEvent(eventInterface: "MutationEvent"): MutationEvent; createEvent(eventInterface: "MutationEvents"): MutationEvent; createEvent(eventInterface: "OfflineAudioCompletionEvent"): OfflineAudioCompletionEvent; - createEvent(eventInterface: "OverflowEvent"): OverflowEvent; createEvent(eventInterface: "PageTransitionEvent"): PageTransitionEvent; createEvent(eventInterface: "PaymentMethodChangeEvent"): PaymentMethodChangeEvent; createEvent(eventInterface: "PaymentRequestUpdateEvent"): PaymentRequestUpdateEvent; - createEvent(eventInterface: "PermissionRequestedEvent"): PermissionRequestedEvent; createEvent(eventInterface: "PointerEvent"): PointerEvent; createEvent(eventInterface: "PopStateEvent"): PopStateEvent; createEvent(eventInterface: "ProgressEvent"): ProgressEvent; createEvent(eventInterface: "PromiseRejectionEvent"): PromiseRejectionEvent; createEvent(eventInterface: "RTCDTMFToneChangeEvent"): RTCDTMFToneChangeEvent; createEvent(eventInterface: "RTCDataChannelEvent"): RTCDataChannelEvent; - createEvent(eventInterface: "RTCDtlsTransportStateChangedEvent"): RTCDtlsTransportStateChangedEvent; - createEvent(eventInterface: "RTCIceCandidatePairChangedEvent"): RTCIceCandidatePairChangedEvent; - createEvent(eventInterface: "RTCIceGathererEvent"): RTCIceGathererEvent; - createEvent(eventInterface: "RTCIceTransportStateChangedEvent"): RTCIceTransportStateChangedEvent; createEvent(eventInterface: "RTCPeerConnectionIceEvent"): RTCPeerConnectionIceEvent; - createEvent(eventInterface: "RTCSsrcConflictEvent"): RTCSsrcConflictEvent; createEvent(eventInterface: "RTCTrackEvent"): RTCTrackEvent; createEvent(eventInterface: "SVGZoomEvent"): SVGZoomEvent; createEvent(eventInterface: "SVGZoomEvents"): SVGZoomEvent; @@ -4815,7 +4495,6 @@ interface DocumentEvent { createEvent(eventInterface: "SpeechSynthesisErrorEvent"): SpeechSynthesisErrorEvent; createEvent(eventInterface: "SpeechSynthesisEvent"): SpeechSynthesisEvent; createEvent(eventInterface: "StorageEvent"): StorageEvent; - createEvent(eventInterface: "TextEvent"): TextEvent; createEvent(eventInterface: "TouchEvent"): TouchEvent; createEvent(eventInterface: "TrackEvent"): TrackEvent; createEvent(eventInterface: "TransitionEvent"): TransitionEvent; @@ -5275,23 +4954,6 @@ declare var EventTarget: { new(): EventTarget; }; -interface ExtensionScriptApis { - extensionIdToShortId(extensionId: string): number; - fireExtensionApiTelemetry(functionName: string, isSucceeded: boolean, isSupported: boolean, errorString: string): void; - genericFunction(routerAddress: any, parameters?: string, callbackId?: number): void; - genericSynchronousFunction(functionId: number, parameters?: string): string; - genericWebRuntimeCallout(to: any, from: any, payload: string): void; - getExtensionId(): string; - registerGenericFunctionCallbackHandler(callbackHandler: Function): void; - registerGenericPersistentCallbackHandler(callbackHandler: Function): void; - registerWebRuntimeCallbackHandler(handler: Function): any; -} - -declare var ExtensionScriptApis: { - prototype: ExtensionScriptApis; - new(): ExtensionScriptApis; -}; - interface External { /** @deprecated */ AddSearchProvider(): void; @@ -5379,20 +5041,6 @@ declare var FocusEvent: { new(type: string, eventInitDict?: FocusEventInit): FocusEvent; }; -interface FocusNavigationEvent extends Event { - readonly navigationReason: NavigationReason; - readonly originHeight: number; - readonly originLeft: number; - readonly originTop: number; - readonly originWidth: number; - requestFocus(): void; -} - -declare var FocusNavigationEvent: { - prototype: FocusNavigationEvent; - new(type: string, eventInitDict?: FocusNavigationEventInit): FocusNavigationEvent; -}; - /** Provides a way to easily construct a set of key/value pairs representing form fields and their values, which can then be easily sent using the XMLHttpRequest.send() method. It uses the same format a form would use if the encoding type were set to "multipart/form-data". */ interface FormData { append(name: string, value: string | Blob, fileName?: string): void; @@ -5970,56 +5618,6 @@ declare var HTMLAnchorElement: { new(): HTMLAnchorElement; }; -interface HTMLAppletElement extends HTMLElement { - /** @deprecated */ - align: string; - /** - * Sets or retrieves a text alternative to the graphic. - */ - /** @deprecated */ - alt: string; - /** - * Sets or retrieves a character string that can be used to implement your own archive functionality for the object. - */ - /** @deprecated */ - archive: string; - /** @deprecated */ - code: string; - /** - * Sets or retrieves the URL of the component. - */ - /** @deprecated */ - codeBase: string; - readonly form: HTMLFormElement | null; - /** - * Sets or retrieves the height of the object. - */ - /** @deprecated */ - height: string; - /** @deprecated */ - hspace: number; - /** - * Sets or retrieves the shape of the object. - */ - /** @deprecated */ - name: string; - /** @deprecated */ - object: string; - /** @deprecated */ - vspace: number; - /** @deprecated */ - width: string; - addEventListener(type: K, listener: (this: HTMLAppletElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; - removeEventListener(type: K, listener: (this: HTMLAppletElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; - removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; -} - -declare var HTMLAppletElement: { - prototype: HTMLAppletElement; - new(): HTMLAppletElement; -}; - /** Provides special properties and methods (beyond those of the regular object HTMLElement interface it also has available to it by inheritance) for manipulating the layout and presentation of elements. */ interface HTMLAreaElement extends HTMLElement, HTMLHyperlinkElementUtils { /** @@ -6112,7 +5710,6 @@ declare var HTMLBaseElement: { }; interface HTMLBodyElementEventMap extends HTMLElementEventMap, WindowEventHandlersEventMap { - "orientationchange": Event; } /** Provides special properties (beyond those inherited from the regular HTMLElement interface) for manipulating elements. */ @@ -6126,8 +5723,6 @@ interface HTMLBodyElement extends HTMLElement, WindowEventHandlers { /** @deprecated */ link: string; /** @deprecated */ - onorientationchange: ((this: HTMLBodyElement, ev: Event) => any) | null; - /** @deprecated */ text: string; /** @deprecated */ vLink: string; @@ -9469,16 +9064,6 @@ interface LinkStyle { readonly sheet: CSSStyleSheet | null; } -interface ListeningStateChangedEvent extends Event { - readonly label: string; - readonly state: ListeningState; -} - -declare var ListeningStateChangedEvent: { - prototype: ListeningStateChangedEvent; - new(): ListeningStateChangedEvent; -}; - /** The location (URL) of the object it is linked to. Changes done on it are reflected on the object it relates to. Both the Document and Window interface have such a linked Location, accessible via Document.location and Window.location respectively. */ interface Location { /** @@ -9559,350 +9144,118 @@ declare var Location: { new(): Location; }; -interface MSAssertion { - readonly id: string; - readonly type: MSCredentialType; +/** The MediaDevicesInfo interface contains information that describes a single media input or output device. */ +interface MediaDeviceInfo { + readonly deviceId: string; + readonly groupId: string; + readonly kind: MediaDeviceKind; + readonly label: string; + toJSON(): any; } -declare var MSAssertion: { - prototype: MSAssertion; - new(): MSAssertion; +declare var MediaDeviceInfo: { + prototype: MediaDeviceInfo; + new(): MediaDeviceInfo; }; -interface MSBlobBuilder { - append(data: any, endings?: string): void; - getBlob(contentType?: string): Blob; +interface MediaDevicesEventMap { + "devicechange": Event; } -declare var MSBlobBuilder: { - prototype: MSBlobBuilder; - new(): MSBlobBuilder; -}; - -interface MSCredentials { - getAssertion(challenge: string, filter?: MSCredentialFilter, params?: MSSignatureParameters): Promise; - makeCredential(accountInfo: MSAccountInfo, params: MSCredentialParameters[], challenge?: string): Promise; +/** Provides access to connected media input devices like cameras and microphones, as well as screen sharing. In essence, it lets you obtain access to any hardware source of media data. */ +interface MediaDevices extends EventTarget { + ondevicechange: ((this: MediaDevices, ev: Event) => any) | null; + enumerateDevices(): Promise; + getSupportedConstraints(): MediaTrackSupportedConstraints; + getUserMedia(constraints?: MediaStreamConstraints): Promise; + addEventListener(type: K, listener: (this: MediaDevices, ev: MediaDevicesEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: MediaDevices, ev: MediaDevicesEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } -declare var MSCredentials: { - prototype: MSCredentials; - new(): MSCredentials; +declare var MediaDevices: { + prototype: MediaDevices; + new(): MediaDevices; }; -interface MSDCCEvent extends Event { - readonly maxFr: number; - readonly maxFs: number; +/** A MediaElementSourceNode has no inputs and exactly one output, and is created using the AudioContext.createMediaElementSource method. The amount of channels in the output equals the number of channels of the audio referenced by the HTMLMediaElement used in the creation of the node, or is 1 if the HTMLMediaElement has no audio. */ +interface MediaElementAudioSourceNode extends AudioNode { + readonly mediaElement: HTMLMediaElement; } -declare var MSDCCEvent: { - prototype: MSDCCEvent; - new(type: string, eventInitDict: MSDCCEventInit): MSDCCEvent; +declare var MediaElementAudioSourceNode: { + prototype: MediaElementAudioSourceNode; + new(context: AudioContext, options: MediaElementAudioSourceOptions): MediaElementAudioSourceNode; }; -interface MSDSHEvent extends Event { - readonly sources: number[]; - readonly timestamp: number; +interface MediaEncryptedEvent extends Event { + readonly initData: ArrayBuffer | null; + readonly initDataType: string; } -declare var MSDSHEvent: { - prototype: MSDSHEvent; - new(type: string, eventInitDict: MSDSHEventInit): MSDSHEvent; +declare var MediaEncryptedEvent: { + prototype: MediaEncryptedEvent; + new(type: string, eventInitDict?: MediaEncryptedEventInit): MediaEncryptedEvent; }; -interface MSFIDOCredentialAssertion extends MSAssertion { - readonly algorithm: string | Algorithm; - readonly attestation: any; - readonly publicKey: string; - readonly transportHints: MSTransportType[]; +/** An error which occurred while handling media in an HTML media element based on HTMLMediaElement, such as