Skip to content

Commit 077bd91

Browse files
authored
Merge pull request microsoft#220 from falsandtru/Node
Improve method signatures returning Node type
2 parents cac1198 + afd6de9 commit 077bd91

File tree

2 files changed

+32
-8
lines changed

2 files changed

+32
-8
lines changed

baselines/dom.generated.d.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3208,7 +3208,7 @@ interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEven
32083208
* Gets or sets the version attribute specified in the declaration of an XML document.
32093209
*/
32103210
xmlVersion: string | null;
3211-
adoptNode(source: Node): Node;
3211+
adoptNode<T extends Node>(source: T): T;
32123212
captureEvents(): void;
32133213
caretRangeFromPoint(x: number, y: number): Range;
32143214
clear(): void;
@@ -3385,7 +3385,7 @@ interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEven
33853385
* Gets a value indicating whether the object currently has focus.
33863386
*/
33873387
hasFocus(): boolean;
3388-
importNode(importedNode: Node, deep: boolean): Node;
3388+
importNode<T extends Node>(importedNode: T, deep: boolean): T;
33893389
msElementsFromPoint(x: number, y: number): NodeListOf<Element>;
33903390
msElementsFromRect(left: number, top: number, width: number, height: number): NodeListOf<Element>;
33913391
/**
@@ -8259,15 +8259,15 @@ interface Node extends EventTarget {
82598259
contains(child: Node): boolean;
82608260
hasAttributes(): boolean;
82618261
hasChildNodes(): boolean;
8262-
insertBefore(newChild: Node, refChild: Node | null): Node;
8262+
insertBefore<T extends Node>(newChild: T, refChild: Node | null): T;
82638263
isDefaultNamespace(namespaceURI: string | null): boolean;
82648264
isEqualNode(arg: Node): boolean;
82658265
isSameNode(other: Node): boolean;
82668266
lookupNamespaceURI(prefix: string | null): string | null;
82678267
lookupPrefix(namespaceURI: string | null): string | null;
82688268
normalize(): void;
8269-
removeChild(oldChild: Node): Node;
8270-
replaceChild(newChild: Node, oldChild: Node): Node;
8269+
removeChild<T extends Node>(oldChild: T): T;
8270+
replaceChild<T extends Node>(newChild: Node, oldChild: T): T;
82718271
readonly ATTRIBUTE_NODE: number;
82728272
readonly CDATA_SECTION_NODE: number;
82738273
readonly COMMENT_NODE: number;

inputfiles/overridingTypes.json

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,40 @@
1212
},
1313
{
1414
"kind": "method",
15-
"interface": "Node",
16-
"name": "insertBefore",
17-
"signatures": ["insertBefore(newChild: Node, refChild: Node | null): Node"]
15+
"interface": "Document",
16+
"name": "adoptNode",
17+
"signatures": ["adoptNode<T extends Node>(source: T): T"]
18+
},
19+
{
20+
"kind": "method",
21+
"interface": "Document",
22+
"name": "importNode",
23+
"signatures": ["importNode<T extends Node>(importedNode: T, deep: boolean): T"]
1824
},
1925
{
2026
"kind": "method",
2127
"interface": "Node",
2228
"name": "appendChild",
2329
"signatures": ["appendChild<T extends Node>(newChild: T): T"]
2430
},
31+
{
32+
"kind": "method",
33+
"interface": "Node",
34+
"name": "insertBefore",
35+
"signatures": ["insertBefore<T extends Node>(newChild: T, refChild: Node | null): T"]
36+
},
37+
{
38+
"kind": "method",
39+
"interface": "Node",
40+
"name": "removeChild",
41+
"signatures": ["removeChild<T extends Node>(oldChild: T): T"]
42+
},
43+
{
44+
"kind": "method",
45+
"interface": "Node",
46+
"name": "replaceChild",
47+
"signatures": ["replaceChild<T extends Node>(newChild: Node, oldChild: T): T"]
48+
},
2549
{
2650
"kind": "method",
2751
"interface": "HTMLCollection",

0 commit comments

Comments
 (0)