diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index ec0f8219f..39d115399 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -827,13 +827,15 @@ interface MediaTrackCapabilities { interface MediaTrackConstraintSet { aspectRatio?: number | ConstrainDoubleRange; + channelCount?: number | ConstrainLongRange; deviceId?: string | string[] | ConstrainDOMStringParameters; displaySurface?: string | string[] | ConstrainDOMStringParameters; - echoCancelation?: boolean | ConstrainBooleanParameters; + echoCancellation?: boolean | ConstrainBooleanParameters; facingMode?: string | string[] | ConstrainDOMStringParameters; frameRate?: number | ConstrainDoubleRange; groupId?: string | string[] | ConstrainDOMStringParameters; height?: number | ConstrainLongRange; + latency?: number | ConstrainDoubleRange; logicalSurface?: boolean | ConstrainBooleanParameters; sampleRate?: number | ConstrainLongRange; sampleSize?: number | ConstrainLongRange; @@ -3652,7 +3654,7 @@ interface Document extends Node, GlobalEventHandlers, ParentNode, DocumentEvent /** * Contains information about the current URL. */ - readonly location: Location; + location: Location | string; msCSSOMElementFloatMetrics: boolean; msCapsLockWarningOff: boolean; /** @@ -7092,7 +7094,7 @@ declare var HTMLOptionElement: { new(): HTMLOptionElement; }; -interface HTMLOptionsCollection extends HTMLCollectionBase { +interface HTMLOptionsCollection extends HTMLCollectionOf { length: number; selectedIndex: number; add(element: HTMLOptionElement | HTMLOptGroupElement, before?: HTMLElement | number | null): void; @@ -9346,7 +9348,7 @@ interface NavigatorUserMedia { interface Node extends EventTarget { readonly baseURI: string | null; - readonly childNodes: NodeList; + readonly childNodes: NodeListOf; readonly firstChild: Node | null; readonly lastChild: Node | null; readonly localName: string | null; @@ -9696,7 +9698,7 @@ interface Path2D extends CanvasPathMethods { declare var Path2D: { prototype: Path2D; - new(path?: Path2D): Path2D; + new(d?: Path2D | string): Path2D; }; interface PaymentAddress { @@ -10337,19 +10339,19 @@ interface RTCPeerConnection extends EventTarget { onsignalingstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null; readonly remoteDescription: RTCSessionDescription | null; readonly signalingState: RTCSignalingState; - addIceCandidate(candidate: RTCIceCandidate, successCallback?: VoidFunction, failureCallback?: RTCPeerConnectionErrorCallback): Promise; + addIceCandidate(candidate: RTCIceCandidateInit | RTCIceCandidate): Promise; addStream(stream: MediaStream): void; close(): void; - createAnswer(successCallback?: RTCSessionDescriptionCallback, failureCallback?: RTCPeerConnectionErrorCallback): Promise; - createOffer(successCallback?: RTCSessionDescriptionCallback, failureCallback?: RTCPeerConnectionErrorCallback, options?: RTCOfferOptions): Promise; + createAnswer(options?: RTCOfferOptions): Promise; + createOffer(options?: RTCOfferOptions): Promise; getConfiguration(): RTCConfiguration; getLocalStreams(): MediaStream[]; getRemoteStreams(): MediaStream[]; getStats(selector: MediaStreamTrack | null, successCallback?: RTCStatsCallback, failureCallback?: RTCPeerConnectionErrorCallback): Promise; getStreamById(streamId: string): MediaStream | null; removeStream(stream: MediaStream): void; - setLocalDescription(description: RTCSessionDescription, successCallback?: VoidFunction, failureCallback?: RTCPeerConnectionErrorCallback): Promise; - setRemoteDescription(description: RTCSessionDescription, successCallback?: VoidFunction, failureCallback?: RTCPeerConnectionErrorCallback): Promise; + setLocalDescription(description: RTCSessionDescriptionInit): Promise; + setRemoteDescription(description: RTCSessionDescriptionInit): Promise; addEventListener(type: K, listener: (this: RTCPeerConnection, ev: RTCPeerConnectionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: RTCPeerConnection, ev: RTCPeerConnectionEventMap[K]) => any, options?: boolean | EventListenerOptions): void; @@ -14907,7 +14909,7 @@ interface Window extends EventTarget, WindowTimers, WindowSessionStorage, Window readonly innerWidth: number; readonly isSecureContext: boolean; readonly length: number; - readonly location: Location; + location: Location | string; readonly locationbar: BarProp; readonly menubar: BarProp; readonly msContentScript: ExtensionScriptApis; @@ -15716,7 +15718,7 @@ declare var innerHeight: number; declare var innerWidth: number; declare var isSecureContext: boolean; declare var length: number; -declare var location: Location; +declare var location: Location | string; declare var locationbar: BarProp; declare var menubar: BarProp; declare var msContentScript: ExtensionScriptApis; diff --git a/inputfiles/addedTypes.json b/inputfiles/addedTypes.json index 7f6452ff5..3046bb8cd 100644 --- a/inputfiles/addedTypes.json +++ b/inputfiles/addedTypes.json @@ -43,7 +43,7 @@ "property": { "name": { "name": "name", - "read-only": "1", + "read-only": 1, "override-type": "string" }, "onmessage": { @@ -132,17 +132,17 @@ "key": { "name": "key", "override-type": "string", - "required": "false" + "required": 0 }, "oldValue": { "name": "oldValue", "override-type": "string", - "required": "false" + "required": 0 }, "newValue": { "name": "newValue", "override-type": "string", - "required": "false" + "required": 0 }, "url": { "name": "url", @@ -151,7 +151,7 @@ "storageArea": { "name": "storageArea", "override-type": "Storage", - "required": "false" + "required": 0 } } }, @@ -165,17 +165,17 @@ "alpha": { "name": "alpha", "override-type": "boolean", - "required": "false" + "required": 0 }, "willReadFrequently": { "name": "willReadFrequently", "override-type": "boolean", - "required": "false" + "required": 0 }, "storage": { "name": "storage", "override-type": "boolean", - "required": "false" + "required": 0 } } }, @@ -192,32 +192,32 @@ "imageOrientation": { "name": "imageOrientation", "override-type": "\"none\" | \"flipY\"", - "required": "false" + "required": 0 }, "premultiplyAlpha": { "name": "premultiplyAlpha", "override-type": "\"none\" | \"premultiply\" | \"default\"", - "required": "false" + "required": 0 }, "colorSpaceConversion": { "name": "colorSpaceConversion", "override-type": "\"none\" | \"default\"", - "required": "false" + "required": 0 }, "resizeWidth": { "name": "resizeWidth", "override-type": "number", - "required": "false" + "required": 0 }, "resizeHeight": { "name": "resizeHeight", "override-type": "number", - "required": "false" + "required": 0 }, "resizeQuality": { "name": "resizeQuality", "override-type": "\"pixelated\" | \"low\" | \"medium\" | \"high\"", - "required": "false" + "required": 0 } } }, @@ -230,12 +230,12 @@ "property": { "width": { "name": "width", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "height": { "name": "height", - "read-only": "1", + "read-only": 1, "override-type": "number" } } @@ -386,7 +386,7 @@ "property": { "searchParams": { "name": "searchParams", - "read-only": "1", + "read-only": 1, "override-type": "URLSearchParams" } } @@ -451,12 +451,12 @@ "type": { "name": "type", "override-type": "string", - "required": "false" + "required": 0 }, "endings": { "name": "endings", "override-type": "string", - "required": "false" + "required": 0 } } }, @@ -470,7 +470,7 @@ "lastModified": { "name": "lastModified", "override-type": "number", - "required": "false" + "required": 0 } } }, @@ -561,12 +561,11 @@ } } }, - "extends": "ParentNode", "properties": { "property": { "assignedSlot": { "name": "assignedSlot", - "read-only": "1", + "read-only": 1, "override-type": "HTMLSlotElement | null" }, "slot": { @@ -575,7 +574,7 @@ }, "shadowRoot": { "name": "shadowRoot", - "read-only": "1", + "read-only": 1, "override-type": "ShadowRoot | null" } } @@ -589,7 +588,7 @@ "behavior": { "name": "behavior", "override-type": "ScrollBehavior", - "required": "false" + "required": 0 } } }, @@ -604,12 +603,12 @@ "left": { "name": "left", "override-type": "number", - "required": "false" + "required": 0 }, "top": { "name": "top", "override-type": "number", - "required": "false" + "required": 0 } } }, @@ -624,12 +623,12 @@ "block": { "name": "block", "override-type": "ScrollLogicalPosition", - "required": "false" + "required": 0 }, "inline": { "name": "inline", "override-type": "ScrollLogicalPosition", - "required": "false" + "required": 0 } } }, @@ -738,7 +737,7 @@ }, "doNotTrack": { "name": "doNotTrack", - "read-only": "1", + "read-only": 1, "override-type": "string | null" } } @@ -751,7 +750,7 @@ "import": { "name": "import", "override-type": "Document", - "required": "false" + "required": 0 } } } @@ -789,12 +788,12 @@ "data": { "name": "data", "override-type": "string", - "required": "false" + "required": 0 }, "dataType": { "name": "dataType", "override-type": "string", - "required": "false" + "required": 0 } } }, @@ -975,7 +974,7 @@ "hash": { "name": "hash", "override-type": "string | Algorithm", - "required": "false" + "required": 0 }, "algorithmId": { "name": "algorithmId", @@ -992,12 +991,12 @@ "publicInfo": { "name": "publicInfo", "override-type": "Uint8Array", - "required": "false" + "required": 0 }, "privateInfo": { "name": "privateInfo", "override-type": "Uint8Array", - "required": "false" + "required": 0 } } }, @@ -1043,7 +1042,7 @@ "property": { "secureConnectionStart": { "name": "secureConnectionStart", - "read-only": "1", + "read-only": 1, "override-type": "number" } } @@ -1055,7 +1054,7 @@ "property": { "code": { "name": "code", - "read-only": "1", + "read-only": 1, "override-type": "string" } } @@ -1068,17 +1067,17 @@ "property": { "firstElementChild": { "name": "firstElementChild", - "read-only": "1", + "read-only": 1, "override-type": "Element | null" }, "lastElementChild": { "name": "lastElementChild", - "read-only": "1", + "read-only": 1, "override-type": "Element | null" }, "childElementCount": { "name": "childElementCount", - "read-only": "1", + "read-only": 1, "override-type": "number" } } @@ -1152,12 +1151,12 @@ "property": { "activeElement": { "name": "activeElement", - "read-only": "1", + "read-only": 1, "override-type": "Element | null" }, "styleSheets": { "name": "styleSheets", - "read-only": "1", + "read-only": 1, "override-type": "StyleSheetList" } } @@ -1172,7 +1171,7 @@ "property": { "host": { "name": "host", - "read-only": "1", + "read-only": 1, "override-type": "Element" }, "innerHTML": { @@ -1195,7 +1194,7 @@ "delegatesFocus": { "name": "delegatesFocus", "override-type": "boolean", - "required": "false" + "required": 0 } } }, @@ -1207,7 +1206,7 @@ "property": { "assignedSlot": { "name": "assignedSlot", - "read-only": "1", + "read-only": 1, "override-type": "HTMLSlotElement | null" } } @@ -1250,7 +1249,7 @@ "flatten": { "name": "flatten", "override-type": "boolean", - "required": "false" + "required": 0 } } }, @@ -1262,7 +1261,7 @@ "property": { "scoped": { "name": "scoped", - "read-only": "1", + "read-only": 1, "override-type": "boolean" } } @@ -1299,7 +1298,7 @@ "is": { "name": "is", "override-type": "string", - "required": "false" + "required": 0 } } }, @@ -1340,12 +1339,12 @@ "property": { "promise": { "name": "promise", - "read-only": "1", + "read-only": 1, "override-type": "PromiseLike" }, "reason": { "name": "reason", - "read-only": "1", + "read-only": 1, "override-type": "any" } } @@ -1365,7 +1364,7 @@ "reason": { "name": "reason", "override-type": "any", - "required": "false" + "required": 0 } } }, @@ -1422,17 +1421,17 @@ "touches": { "name": "touches", "override-type": "Touch[]", - "required": "false" + "required": 0 }, "targetTouches": { "name": "targetTouches", "override-type": "Touch[]", - "required": "false" + "required": 0 }, "changedTouches": { "name": "changedTouches", "override-type": "Touch[]", - "required": "false" + "required": 0 } } }, @@ -1445,7 +1444,7 @@ "tooShort": { "name": "tooShort", "flavor": "Web", - "read-only": "1", + "read-only": 1, "override-type": "boolean" } } @@ -1540,42 +1539,42 @@ "property": { "bottom": { "name": "bottom", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "height": { "name": "height", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "left": { "name": "left", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "right": { "name": "right", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "top": { "name": "top", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "width": { "name": "width", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "x": { "name": "x", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "y": { "name": "y", - "read-only": "1", + "read-only": 1, "override-type": "number" } } @@ -1594,12 +1593,12 @@ "property": { "MIN_EXT": { "name": "MIN_EXT", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "MAX_EXT": { "name": "MAX_EXT", - "read-only": "1", + "read-only": 1, "override-type": "number" } } @@ -1629,22 +1628,22 @@ "property": { "SRGB_EXT": { "name": "SRGB_EXT", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "SRGB_ALPHA_EXT": { "name": "SRGB_ALPHA_EXT", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "SRGB8_ALPHA8_EXT": { "name": "SRGB8_ALPHA8_EXT", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT": { "name": "FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT", - "read-only": "1", + "read-only": 1, "override-type": "number" } } @@ -1689,7 +1688,7 @@ "property": { "length": { "name": "length", - "read-only": "1", + "read-only": 1, "override-type": "number" } } @@ -1730,7 +1729,7 @@ "property": { "VERTEX_ARRAY_BINDING_OES": { "name": "VERTEX_ARRAY_BINDING_OES", - "read-only": "1", + "read-only": 1, "override-type": "number" } } @@ -1780,22 +1779,22 @@ "property": { "RGBA32F_EXT": { "name": "RGBA32F_EXT", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "RGB32F_EXT": { "name": "RGB32F_EXT", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT": { "name": "FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "UNSIGNED_NORMALIZED_EXT": { "name": "UNSIGNED_NORMALIZED_EXT", - "read-only": "1", + "read-only": 1, "override-type": "number" } } @@ -1809,142 +1808,142 @@ "property": { "COMPRESSED_RGBA_ASTC_4x4_KHR": { "name": "COMPRESSED_RGBA_ASTC_4x4_KHR", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COMPRESSED_RGBA_ASTC_5x4_KHR": { "name": "COMPRESSED_RGBA_ASTC_5x4_KHR", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COMPRESSED_RGBA_ASTC_5x5_KHR": { "name": "COMPRESSED_RGBA_ASTC_5x5_KHR", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COMPRESSED_RGBA_ASTC_6x5_KHR": { "name": "COMPRESSED_RGBA_ASTC_6x5_KHR", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COMPRESSED_RGBA_ASTC_6x6_KHR": { "name": "COMPRESSED_RGBA_ASTC_6x6_KHR", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COMPRESSED_RGBA_ASTC_8x5_KHR": { "name": "COMPRESSED_RGBA_ASTC_8x5_KHR", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COMPRESSED_RGBA_ASTC_8x6_KHR": { "name": "COMPRESSED_RGBA_ASTC_8x6_KHR", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COMPRESSED_RGBA_ASTC_8x8_KHR": { "name": "COMPRESSED_RGBA_ASTC_8x8_KHR", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COMPRESSED_RGBA_ASTC_10x5_KHR": { "name": "COMPRESSED_RGBA_ASTC_10x5_KHR", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COMPRESSED_RGBA_ASTC_10x6_KHR": { "name": "COMPRESSED_RGBA_ASTC_10x6_KHR", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COMPRESSED_RGBA_ASTC_10x8_KHR": { "name": "COMPRESSED_RGBA_ASTC_10x8_KHR", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COMPRESSED_RGBA_ASTC_10x10_KHR": { "name": "COMPRESSED_RGBA_ASTC_10x10_KHR", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COMPRESSED_RGBA_ASTC_12x10_KHR": { "name": "COMPRESSED_RGBA_ASTC_12x10_KHR", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COMPRESSED_RGBA_ASTC_12x12_KHR": { "name": "COMPRESSED_RGBA_ASTC_12x12_KHR", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR": { "name": "COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR": { "name": "COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR": { "name": "COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR": { "name": "COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR": { "name": "COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR": { "name": "COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR": { "name": "COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR": { "name": "COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR": { "name": "COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR": { "name": "COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR": { "name": "COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR": { "name": "COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR": { "name": "COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR": { "name": "COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR", - "read-only": "1", + "read-only": 1, "override-type": "number" } } @@ -1968,22 +1967,22 @@ "property": { "COMPRESSED_SRGB_S3TC_DXT1_EXT": { "name": "COMPRESSED_SRGB_S3TC_DXT1_EXT", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT": { "name": "COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT": { "name": "COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT": { "name": "COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT", - "read-only": "1", + "read-only": 1, "override-type": "number" } } @@ -2012,172 +2011,172 @@ "property": { "COLOR_ATTACHMENT0_WEBGL": { "name": "COLOR_ATTACHMENT0_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COLOR_ATTACHMENT1_WEBGL": { "name": "COLOR_ATTACHMENT1_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COLOR_ATTACHMENT2_WEBGL": { "name": "COLOR_ATTACHMENT2_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COLOR_ATTACHMENT3_WEBGL": { "name": "COLOR_ATTACHMENT3_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COLOR_ATTACHMENT4_WEBGL": { "name": "COLOR_ATTACHMENT4_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COLOR_ATTACHMENT5_WEBGL": { "name": "COLOR_ATTACHMENT5_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COLOR_ATTACHMENT6_WEBGL": { "name": "COLOR_ATTACHMENT6_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COLOR_ATTACHMENT7_WEBGL": { "name": "COLOR_ATTACHMENT7_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COLOR_ATTACHMENT8_WEBGL": { "name": "COLOR_ATTACHMENT8_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COLOR_ATTACHMENT9_WEBGL": { "name": "COLOR_ATTACHMENT9_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COLOR_ATTACHMENT10_WEBGL": { "name": "COLOR_ATTACHMENT10_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COLOR_ATTACHMENT11_WEBGL": { "name": "COLOR_ATTACHMENT11_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COLOR_ATTACHMENT12_WEBGL": { "name": "COLOR_ATTACHMENT12_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COLOR_ATTACHMENT13_WEBGL": { "name": "COLOR_ATTACHMENT13_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COLOR_ATTACHMENT14_WEBGL": { "name": "COLOR_ATTACHMENT14_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "COLOR_ATTACHMENT15_WEBGL": { "name": "COLOR_ATTACHMENT15_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "DRAW_BUFFER0_WEBGL": { "name": "DRAW_BUFFER0_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "DRAW_BUFFER1_WEBGL": { "name": "DRAW_BUFFER1_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "DRAW_BUFFER2_WEBGL": { "name": "DRAW_BUFFER2_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "DRAW_BUFFER3_WEBGL": { "name": "DRAW_BUFFER3_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "DRAW_BUFFER4_WEBGL": { "name": "DRAW_BUFFER4_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "DRAW_BUFFER5_WEBGL": { "name": "DRAW_BUFFER5_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "DRAW_BUFFER6_WEBGL": { "name": "DRAW_BUFFER6_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "DRAW_BUFFER7_WEBGL": { "name": "DRAW_BUFFER7_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "DRAW_BUFFER8_WEBGL": { "name": "DRAW_BUFFER8_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "DRAW_BUFFER9_WEBGL": { "name": "DRAW_BUFFER9_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "DRAW_BUFFER10_WEBGL": { "name": "DRAW_BUFFER10_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "DRAW_BUFFER11_WEBGL": { "name": "DRAW_BUFFER11_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "DRAW_BUFFER12_WEBGL": { "name": "DRAW_BUFFER12_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "DRAW_BUFFER13_WEBGL": { "name": "DRAW_BUFFER13_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "DRAW_BUFFER14_WEBGL": { "name": "DRAW_BUFFER14_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "DRAW_BUFFER15_WEBGL": { "name": "DRAW_BUFFER15_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "MAX_COLOR_ATTACHMENTS_WEBGL": { "name": "MAX_COLOR_ATTACHMENTS_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "MAX_DRAW_BUFFERS_WEBGL": { "name": "MAX_DRAW_BUFFERS_WEBGL", - "read-only": "1", + "read-only": 1, "override-type": "number" } } @@ -2221,7 +2220,7 @@ "property": { "control": { "name": "control", - "read-only": "1", + "read-only": 1, "override-type": "HTMLInputElement | null" } } @@ -2244,7 +2243,7 @@ "property": { "lastModified": { "name": "lastModified", - "read-only": "1", + "read-only": 1, "override-type": "number" } } @@ -2257,32 +2256,32 @@ "property": { "url": { "name": "url", - "read-only": "1", + "read-only": 1, "override-type": "string" }, "withCredentials": { "name": "withCredentials", - "read-only": "1", + "read-only": 1, "override-type": "boolean" }, "CONNECTING": { "name": "CONNECTING", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "OPEN": { "name": "OPEN", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "CLOSED": { "name": "CLOSED", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "readyState": { "name": "readyState", - "read-only": "1", + "read-only": 1, "override-type": "number" }, "onopen": { @@ -2321,7 +2320,7 @@ "property": { "withCredentials": { "name": "withCredentials", - "read-only": "1", + "read-only": 1, "override-type": "boolean" } } @@ -2336,12 +2335,12 @@ "offset": { "name": "offset", "override-type": "number | null | (number | null)[]", - "required": "false" + "required": 0 }, "easing": { "name": "easing", "override-type": "string | string[]", - "required": "false" + "required": 0 } } }, @@ -2358,47 +2357,47 @@ "id": { "name": "id", "override-type": "string", - "required": "false" + "required": 0 }, "delay": { "name": "delay", "override-type": "number", - "required": "false" + "required": 0 }, "direction": { "name": "direction", "override-type": "\"normal\" | \"reverse\" | \"alternate\" | \"alternate-reverse\"", - "required": "false" + "required": 0 }, "duration": { "name": "duration", "override-type": "number", - "required": "false" + "required": 0 }, "easing": { "name": "easing", "override-type": "string", - "required": "false" + "required": 0 }, "endDelay": { "name": "endDelay", "override-type": "number", - "required": "false" + "required": 0 }, "fill": { "name": "fill", "override-type": "\"none\" | \"forwards\" | \"backwards\" | \"both\"| \"auto\"", - "required": "false" + "required": 0 }, "iterationStart": { "name": "iterationStart", "override-type": "number", - "required": "false" + "required": 0 }, "iterations": { "name": "iterations", "override-type": "number", - "required": "false" + "required": 0 } } }, @@ -2411,7 +2410,7 @@ "property": { "currentTime": { "name": "currentTime", - "read-only": "1", + "read-only": 1, "override-type": "number | null" } } @@ -2454,7 +2453,7 @@ "property": { "timing": { "name": "timing", - "read-only": "1", + "read-only": 1, "override-type": "number" } } @@ -2480,12 +2479,12 @@ "currentTime": { "name": "currentTime", "override-type": "number | null", - "required": "false" + "required": 0 }, "timelineTime": { "name": "timelineTime", "override-type": "number | null", - "required": "false" + "required": 0 } } }, @@ -2499,12 +2498,12 @@ "property": { "currentTime": { "name": "currentTime", - "read-only": "1", + "read-only": 1, "override-type": "number | null" }, "timelineTime": { "name": "timelineTime", - "read-only": "1", + "read-only": 1, "override-type": "number | null" } } @@ -2530,7 +2529,7 @@ }, "finished": { "name": "finished", - "read-only": "1", + "read-only": 1, "override-type": "Promise" }, "id": { @@ -2539,12 +2538,12 @@ }, "pending": { "name": "pending", - "read-only": "1", + "read-only": 1, "override-type": "boolean" }, "playState": { "name": "playState", - "read-only": "1", + "read-only": 1, "override-type": "\"idle\" | \"running\" | \"paused\" | \"finished\"" }, "playbackRate": { @@ -2553,7 +2552,7 @@ }, "ready": { "name": "ready", - "read-only": "1", + "read-only": 1, "override-type": "Promise" }, "startTime": { @@ -2747,7 +2746,7 @@ "autoIncrement": { "name": "autoIncrement", "override-type": "boolean", - "required": "false" + "required": 0 } } } @@ -2759,7 +2758,7 @@ "multiEntry": { "name": "multiEntry", "override-type": "boolean", - "required": "false" + "required": 0 } } } @@ -2771,12 +2770,12 @@ "lastEventId": { "name": "lastEventId", "override-type": "string", - "required": "false" + "required": 0 }, "channel": { "name": "channel", "override-type": "string", - "required": "false" + "required": 0 } } } @@ -2788,7 +2787,7 @@ "failIfMajorPerformanceCaveat": { "name": "failIfMajorPerformanceCaveat", "override-type": "boolean", - "required": "false" + "required": 0 } } } @@ -2800,7 +2799,7 @@ "code": { "name": "code", "override-type": "string", - "required": "false" + "required": 0 } } } @@ -2812,7 +2811,7 @@ "scoped": { "name": "scoped", "override-type": "boolean", - "required": "false" + "required": 0 } } } diff --git a/inputfiles/overridingTypes.json b/inputfiles/overridingTypes.json index cd830d3f0..8ade9aee5 100644 --- a/inputfiles/overridingTypes.json +++ b/inputfiles/overridingTypes.json @@ -42,22 +42,22 @@ "property": { "firstElementChild": { "name": "firstElementChild", - "read-only": "1", + "read-only": 1, "override-type": "Element | null" }, "lastElementChild": { "name": "lastElementChild", - "read-only": "1", + "read-only": 1, "override-type": "Element | null" }, "nextElementSibling": { "name": "nextElementSibling", - "read-only": "1", + "read-only": 1, "override-type": "Element | null" }, "previousElementSibling": { "name": "previousElementSibling", - "read-only": "1", + "read-only": 1, "override-type": "Element | null" } } @@ -143,7 +143,7 @@ "property": { "detail": { "name": "detail", - "read-only": "1", + "read-only": 1, "override-type": "T" } } @@ -198,6 +198,11 @@ "ontouchstart": { "name": "ontouchstart", "override-type": "(ev: TouchEvent) => any" + }, + "location": { + "name": "location", + "read-only": null, + "override-type": "Location | string" } } }, @@ -295,7 +300,7 @@ }, "currentScript": { "name": "currentScript", - "read-only": "1", + "read-only": 1, "override-type": "HTMLScriptElement | SVGScriptElement | null" }, "anchors": { @@ -329,10 +334,14 @@ "scripts": { "name": "scripts", "override-type": "HTMLCollectionOf" + }, + "location": { + "name": "location", + "read-only": 0, + "override-type": "Location | string" } } - }, - "extends": "Node, GlobalEventHandlers, NodeSelector, DocumentEvent, ParentNode, DocumentOrShadowRoot" + } }, "Node": { "name": "Node", @@ -368,33 +377,36 @@ "property": { "firstChild": { "name": "firstChild", - "read-only": "1", + "read-only": 1, "override-type": "Node | null" }, "lastChild": { "name": "lastChild", - "read-only": "1", + "read-only": 1, "override-type": "Node | null" }, "nextSibling": { "name": "nextSibling", - "read-only": "1", + "read-only": 1, "override-type": "Node | null" }, "previousSibling": { "name": "previousSibling", - "read-only": "1", + "read-only": 1, "override-type": "Node | null" }, "parentNode": { "name": "parentNode", - "read-only": "1", + "read-only": 1, "override-type": "Node | null" }, "parentElement": { "name": "parentElement", - "read-only": "1", + "read-only": 1, "override-type": "HTMLElement | null" + }, + "childNodes": { + "override-type": "NodeListOf" } } } @@ -938,7 +950,7 @@ "property": { "lastModifiedDate": { "name": "lastModifiedDate", - "read-only": "1", + "read-only": 1, "override-type": "Date" } } @@ -979,7 +991,7 @@ }, "form": { "name": "form", - "read-only": "1", + "read-only": 1, "override-type": "HTMLFormElement | null" } } @@ -1200,7 +1212,7 @@ "property": { "error": { "name": "error", - "read-only": "1", + "read-only": 1, "override-type": "DOMException" }, "source": { @@ -1217,7 +1229,7 @@ "property": { "error": { "name": "error", - "read-only": "1", + "read-only": 1, "override-type": "DOMException" } } @@ -1345,12 +1357,12 @@ "property": { "files": { "name": "files", - "read-only": "1", + "read-only": 1, "override-type": "FileList | null" }, "form": { "name": "form", - "read-only": "1", + "read-only": 1, "override-type": "HTMLFormElement | null" } } @@ -1385,7 +1397,7 @@ "property": { "types": { "name": "types", - "read-only": "1", + "read-only": 1, "override-type": "string[]" } } @@ -1472,7 +1484,7 @@ "property": { "form": { "name": "form", - "read-only": "1", + "read-only": 1, "override-type": "HTMLFormElement | null" } } @@ -1484,7 +1496,7 @@ "property": { "form": { "name": "form", - "read-only": "1", + "read-only": 1, "override-type": "HTMLFormElement | null" } } @@ -1496,7 +1508,7 @@ "property": { "form": { "name": "form", - "read-only": "1", + "read-only": 1, "override-type": "HTMLFormElement | null" } } @@ -1508,7 +1520,7 @@ "property": { "form": { "name": "form", - "read-only": "1", + "read-only": 1, "override-type": "HTMLFormElement | null" } } @@ -1520,7 +1532,7 @@ "property": { "form": { "name": "form", - "read-only": "1", + "read-only": 1, "override-type": "HTMLFormElement | null" } } @@ -1532,7 +1544,7 @@ "property": { "form": { "name": "form", - "read-only": "1", + "read-only": 1, "override-type": "HTMLFormElement | null" } } @@ -1544,7 +1556,7 @@ "property": { "form": { "name": "form", - "read-only": "1", + "read-only": 1, "override-type": "HTMLFormElement | null" } } @@ -1556,7 +1568,7 @@ "property": { "form": { "name": "form", - "read-only": "1", + "read-only": 1, "override-type": "HTMLFormElement | null" } } @@ -1568,7 +1580,7 @@ "property": { "form": { "name": "form", - "read-only": "1", + "read-only": 1, "override-type": "HTMLFormElement | null" } } @@ -1580,7 +1592,7 @@ "property": { "form": { "name": "form", - "read-only": "1", + "read-only": 1, "override-type": "HTMLFormElement | null" } } @@ -1592,7 +1604,7 @@ "property": { "form": { "name": "form", - "read-only": "1", + "read-only": 1, "override-type": "HTMLFormElement | null" } } @@ -1614,7 +1626,7 @@ "property": { "form": { "name": "form", - "read-only": "1", + "read-only": 1, "override-type": "HTMLFormElement | null" } } @@ -1647,17 +1659,17 @@ "property": { "boundingClientRect": { "name": "boundingClientRect", - "read-only": "1", + "read-only": 1, "override-type": "ClientRect | DOMRect" }, "intersectionRect": { "name": "intersectionRect", - "read-only": "1", + "read-only": 1, "override-type": "ClientRect | DOMRect" }, "rootBounds": { "name": "rootBounds", - "read-only": "1", + "read-only": 1, "override-type": "ClientRect | DOMRect" } } @@ -1829,6 +1841,51 @@ } } } + }, + "RTCPeerConnection": { + "name": "RTCPeerConnection", + "methods": { + "method": { + "createAnswer": { + "name": "createAnswer", + "override-signatures": [ + "createAnswer(options?: RTCOfferOptions): Promise" + ] + }, + "createOffer": { + "name": "createOffer", + "override-signatures": [ + "createOffer(options?: RTCOfferOptions): Promise" + ] + }, + "setLocalDescription": { + "name": "setLocalDescription", + "override-signatures": [ + "setLocalDescription(description: RTCSessionDescriptionInit): Promise" + ] + }, + "setRemoteDescription": { + "name": "setRemoteDescription", + "override-signatures": [ + "setRemoteDescription(description: RTCSessionDescriptionInit): Promise" + ] + }, + "addIceCandidate": { + "name": "addIceCandidate", + "override-signatures": [ + "addIceCandidate(candidate: RTCIceCandidateInit | RTCIceCandidate): Promise" + ] + } + } + } + }, + "Path2D": { + "name": "Path2D", + "constructor": { + "override-signatures": [ + "new(d?: Path2D | string): Path2D" + ] + } } } }, @@ -1841,7 +1898,7 @@ "detail": { "name": "detail", "override-type": "T", - "required": "false" + "required": 0 } } }, @@ -1856,7 +1913,7 @@ "keyPath": { "name": "keyPath", "override-type": "string | string[]", - "required": "false" + "required": 0 } } } @@ -1879,7 +1936,7 @@ "headers": { "name": "headers", "override-type": "HeadersInit", - "required": "false" + "required": 0 } } } @@ -1891,7 +1948,7 @@ "headers": { "name": "headers", "override-type": "HeadersInit", - "required": "false" + "required": 0 } } } @@ -1928,6 +1985,25 @@ } } } + }, + "MediaTrackConstraintSet": { + "name": "MediaTrackConstraintSet", + "members": { + "member": { + "echoCancellation": { + "name": "echoCancellation", + "override-type": "boolean | ConstrainBooleanParameters" + }, + "channelCount": { + "name": "channelCount", + "override-type": "number | ConstrainLongRange" + }, + "latency": { + "name": "latency", + "override-type": "number | ConstrainDoubleRange" + } + } + } } } }, diff --git a/inputfiles/removedTypes.json b/inputfiles/removedTypes.json index 6b72c2254..68424db10 100644 --- a/inputfiles/removedTypes.json +++ b/inputfiles/removedTypes.json @@ -44,7 +44,15 @@ } }, "dictionaries": { - "dictionary": {} + "dictionary": { + "MediaTrackConstraintSet": { + "members": { + "member": { + "echoCancelation": {} + } + } + } + } }, "typedefs": { "typedef": [] diff --git a/src/emitter.ts b/src/emitter.ts index b6296af11..65e83d808 100644 --- a/src/emitter.ts +++ b/src/emitter.ts @@ -605,9 +605,9 @@ export function emitWebIDl(webidl: Browser.WebIdl, flavor: Flavor) { pType = convertDomTypeToTsType(p); } } - const requiredModifier = !p.required || p.required === "1" ? "" : "?"; + const requiredModifier = p.required === undefined || p.required === 1 ? "" : "?"; pType = p.nullable ? makeNullable(pType) : pType; - const readOnlyModifier = p["read-only"] && prefix === "" ? "readonly " : ""; + const readOnlyModifier = p["read-only"] === 1 && prefix === "" ? "readonly " : ""; printLine(`${prefix}${readOnlyModifier}${p.name}${requiredModifier}: ${pType};`); } } @@ -801,9 +801,9 @@ export function emitWebIDl(webidl: Browser.WebIdl, flavor: Flavor) { printer.printLine(`interface ${processInterfaceType(i, processedIName)}`); - const finalExtends = [i.extends || "Object"].concat(i.implements || []) + const finalExtends = distinct([i.extends || "Object"].concat(i.implements || []) .filter(i => i !== "Object") - .map(processIName); + .map(processIName)); if (finalExtends && finalExtends.length) { printer.print(` extends ${finalExtends.join(", ")}`); diff --git a/src/helpers.ts b/src/helpers.ts index 918942cd4..f651d0489 100644 --- a/src/helpers.ts +++ b/src/helpers.ts @@ -28,7 +28,7 @@ export function filterProperties(obj: Record, fn: (o: T) => boolea export function merge(src: T, target: T): T { if (typeof src !== "object" || typeof target !== "object") { - return src; + return target; } for (const k in target) { if (Object.getOwnPropertyDescriptor(target, k)) { @@ -42,7 +42,7 @@ export function merge(src: T, target: T): T { if (Array.isArray(srcProp) !== Array.isArray(targetProp)) { throw new Error("Mismatch on property: " + k + JSON.stringify(targetProp)); } - merge(src[k], target[k]); + src[k] = merge(src[k], target[k]); } } else { diff --git a/src/index.ts b/src/index.ts index b7d8cdeea..0d22a6aab 100644 --- a/src/index.ts +++ b/src/index.ts @@ -125,7 +125,7 @@ function emitDom() { function filterDictionary(dictinaries: Record, template: Record | undefined) { if (!template) return dictinaries; - const result = filterProperties(dictinaries, i => !template[i.name]); + const result = dictinaries; for (const k in result) { if (result[k].members) { result[k].members!.member = filterProperties(dictinaries[k].members!.member, m => !(template[k] && template[k].members && template[k].members!.member[m.name])); diff --git a/src/types.d.ts b/src/types.d.ts index ff2b12a90..8a3afcea8 100644 --- a/src/types.d.ts +++ b/src/types.d.ts @@ -71,7 +71,7 @@ export type Property = { "static"?: string; "comment"?: string; "override-type"?: string; - "required"?: string; + "required"?: 1; "specs"?: string; "deprecated"?: 1; "interop"?: 1;