Skip to content

Commit 6b9c830

Browse files
authored
Merge pull request #326 from falsandtru/ElementTagNameMap
Remove ElementTagNameMap
2 parents 361b981 + fd02fcc commit 6b9c830

File tree

3 files changed

+18
-27
lines changed

3 files changed

+18
-27
lines changed

TS.fsx

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -793,19 +793,22 @@ module Emit =
793793
/// Emit overloads for the getElementsByTagName method
794794
let EmitGetElementsByTagNameOverloads (m: Browser.Method) =
795795
if matchSingleParamMethodSignature m "getElementsByTagName" "NodeList" "string" then
796-
Pt.Printl "getElementsByTagName<K extends keyof ElementListTagNameMap>(%s: K): ElementListTagNameMap[K];" m.Params.[0].Name
796+
Pt.Printl "getElementsByTagName<K extends keyof HTMLElementTagNameMap>(%s: K): NodeListOf<HTMLElementTagNameMap[K]>;" m.Params.[0].Name
797+
Pt.Printl "getElementsByTagName<K extends keyof SVGElementTagNameMap>(%s: K): NodeListOf<SVGElementTagNameMap[K]>;" m.Params.[0].Name
797798
Pt.Printl "getElementsByTagName(%s: string): NodeListOf<Element>;" m.Params.[0].Name
798799

799800
/// Emit overloads for the querySelector method
800801
let EmitQuerySelectorOverloads (m: Browser.Method) =
801802
if matchSingleParamMethodSignature m "querySelector" "Element" "string" then
802-
Pt.Printl "querySelector<K extends keyof ElementTagNameMap>(selectors: K): ElementTagNameMap[K] | null;"
803+
Pt.Printl "querySelector<K extends keyof HTMLElementTagNameMap>(selectors: K): HTMLElementTagNameMap[K] | null;"
804+
Pt.Printl "querySelector<K extends keyof SVGElementTagNameMap>(selectors: K): SVGElementTagNameMap[K] | null;"
803805
Pt.Printl "querySelector<E extends Element = Element>(selectors: string): E | null;"
804806

805807
/// Emit overloads for the querySelectorAll method
806808
let EmitQuerySelectorAllOverloads (m: Browser.Method) =
807809
if matchSingleParamMethodSignature m "querySelectorAll" "NodeList" "string" then
808-
Pt.Printl "querySelectorAll<K extends keyof ElementListTagNameMap>(selectors: K): ElementListTagNameMap[K];"
810+
Pt.Printl "querySelectorAll<K extends keyof HTMLElementTagNameMap>(selectors: K): NodeListOf<HTMLElementTagNameMap[K]>;"
811+
Pt.Printl "querySelectorAll<K extends keyof SVGElementTagNameMap>(selectors: K): NodeListOf<SVGElementTagNameMap[K]>;"
809812
Pt.Printl "querySelectorAll<E extends Element = Element>(selectors: string): NodeListOf<E>;"
810813

811814
let EmitHTMLElementTagNameMap () =
@@ -828,16 +831,6 @@ module Emit =
828831
Pt.Printl "}"
829832
Pt.Printl ""
830833

831-
let EmitElementTagNameMap () =
832-
Pt.Printl "interface ElementTagNameMap extends HTMLElementTagNameMap, SVGElementTagNameMap { }"
833-
Pt.Printl ""
834-
835-
let EmitElementListTagNameMap () =
836-
Pt.Printl "type ElementListTagNameMap = {"
837-
Pt.PrintWithAddedIndent "[key in keyof ElementTagNameMap]: NodeListOf<ElementTagNameMap[key]>"
838-
Pt.Printl "};"
839-
Pt.Printl ""
840-
841834
/// Emit overloads for the createEvent method
842835
let EmitCreateEventOverloads (m: Browser.Method) =
843836
if matchSingleParamMethodSignature m "createEvent" "Event" "string" then
@@ -1521,8 +1514,6 @@ module Emit =
15211514
if flavor <> Worker then
15221515
EmitHTMLElementTagNameMap()
15231516
EmitSVGElementTagNameMap()
1524-
EmitElementTagNameMap()
1525-
EmitElementListTagNameMap()
15261517
EmitNamedConstructors()
15271518

15281519
match GetGlobalPollutor flavor with

baselines/dom.generated.d.ts

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3243,7 +3243,8 @@ interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEven
32433243
* Retrieves a collection of objects based on the specified element name.
32443244
* @param name Specifies the name of an element.
32453245
*/
3246-
getElementsByTagName<K extends keyof ElementListTagNameMap>(tagname: K): ElementListTagNameMap[K];
3246+
getElementsByTagName<K extends keyof HTMLElementTagNameMap>(tagname: K): NodeListOf<HTMLElementTagNameMap[K]>;
3247+
getElementsByTagName<K extends keyof SVGElementTagNameMap>(tagname: K): NodeListOf<SVGElementTagNameMap[K]>;
32473248
getElementsByTagName(tagname: string): NodeListOf<Element>;
32483249
getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf<HTMLElement>;
32493250
getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf<SVGElement>;
@@ -3600,7 +3601,8 @@ interface Element extends Node, GlobalEventHandlers, ElementTraversal, NodeSelec
36003601
getAttributeNS(namespaceURI: string, localName: string): string;
36013602
getBoundingClientRect(): ClientRect;
36023603
getClientRects(): ClientRectList;
3603-
getElementsByTagName<K extends keyof ElementListTagNameMap>(name: K): ElementListTagNameMap[K];
3604+
getElementsByTagName<K extends keyof HTMLElementTagNameMap>(name: K): NodeListOf<HTMLElementTagNameMap[K]>;
3605+
getElementsByTagName<K extends keyof SVGElementTagNameMap>(name: K): NodeListOf<SVGElementTagNameMap[K]>;
36043606
getElementsByTagName(name: string): NodeListOf<Element>;
36053607
getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf<HTMLElement>;
36063608
getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf<SVGElement>;
@@ -3629,7 +3631,8 @@ interface Element extends Node, GlobalEventHandlers, ElementTraversal, NodeSelec
36293631
webkitRequestFullScreen(): void;
36303632
getElementsByClassName(classNames: string): NodeListOf<Element>;
36313633
matches(selector: string): boolean;
3632-
closest<K extends keyof ElementTagNameMap>(selector: K): ElementTagNameMap[K] | null;
3634+
closest<K extends keyof HTMLElementTagNameMap>(selector: K): HTMLElementTagNameMap[K] | null;
3635+
closest<K extends keyof SVGElementTagNameMap>(selector: K): SVGElementTagNameMap[K] | null;
36333636
closest(selector: string): Element | null;
36343637
scrollIntoView(arg?: boolean | ScrollIntoViewOptions): void;
36353638
scroll(options?: ScrollToOptions): void;
@@ -14131,9 +14134,11 @@ interface NavigatorUserMedia {
1413114134
}
1413214135

1413314136
interface NodeSelector {
14134-
querySelector<K extends keyof ElementTagNameMap>(selectors: K): ElementTagNameMap[K] | null;
14137+
querySelector<K extends keyof HTMLElementTagNameMap>(selectors: K): HTMLElementTagNameMap[K] | null;
14138+
querySelector<K extends keyof SVGElementTagNameMap>(selectors: K): SVGElementTagNameMap[K] | null;
1413514139
querySelector<E extends Element = Element>(selectors: string): E | null;
14136-
querySelectorAll<K extends keyof ElementListTagNameMap>(selectors: K): ElementListTagNameMap[K];
14140+
querySelectorAll<K extends keyof HTMLElementTagNameMap>(selectors: K): NodeListOf<HTMLElementTagNameMap[K]>;
14141+
querySelectorAll<K extends keyof SVGElementTagNameMap>(selectors: K): NodeListOf<SVGElementTagNameMap[K]>;
1413714142
querySelectorAll<E extends Element = Element>(selectors: string): NodeListOf<E>;
1413814143
}
1413914144

@@ -15024,12 +15029,6 @@ interface SVGElementTagNameMap {
1502415029
"view": SVGViewElement;
1502515030
}
1502615031

15027-
interface ElementTagNameMap extends HTMLElementTagNameMap, SVGElementTagNameMap { }
15028-
15029-
type ElementListTagNameMap = {
15030-
[key in keyof ElementTagNameMap]: NodeListOf<ElementTagNameMap[key]>
15031-
};
15032-
1503315032
declare var Audio: { new(src?: string): HTMLAudioElement; };
1503415033
declare var Image: { new(width?: number, height?: number): HTMLImageElement; };
1503515034
declare var Option: { new(text?: string, value?: string, defaultSelected?: boolean, selected?: boolean): HTMLOptionElement; };

inputfiles/addedTypes.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -458,7 +458,8 @@
458458
"kind": "method",
459459
"interface": "Element",
460460
"signatures": [
461-
"closest<K extends keyof ElementTagNameMap>(selector: K): ElementTagNameMap[K] | null"
461+
"closest<K extends keyof HTMLElementTagNameMap>(selector: K): HTMLElementTagNameMap[K] | null",
462+
"closest<K extends keyof SVGElementTagNameMap>(selector: K): SVGElementTagNameMap[K] | null"
462463
]
463464
},
464465
{

0 commit comments

Comments
 (0)