Skip to content

Commit 386afc9

Browse files
author
falsandtru
committed
Improve method signatures returning Node type
1 parent c882947 commit 386afc9

File tree

2 files changed

+38
-8
lines changed

2 files changed

+38
-8
lines changed

baselines/dom.generated.d.ts

Lines changed: 6 additions & 6 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
/**
@@ -8249,20 +8249,20 @@ interface Node extends EventTarget {
82498249
readonly previousSibling: Node | null;
82508250
textContent: string | null;
82518251
appendChild<T extends Node>(newChild: T): T;
8252-
cloneNode(deep?: boolean): Node;
8252+
cloneNode(deep?: boolean): this;
82538253
compareDocumentPosition(other: Node): number;
82548254
contains(child: Node): boolean;
82558255
hasAttributes(): boolean;
82568256
hasChildNodes(): boolean;
8257-
insertBefore(newChild: Node, refChild: Node | null): Node;
8257+
insertBefore<T extends Node>(newChild: T, refChild: Node | null): T;
82588258
isDefaultNamespace(namespaceURI: string | null): boolean;
82598259
isEqualNode(arg: Node): boolean;
82608260
isSameNode(other: Node): boolean;
82618261
lookupNamespaceURI(prefix: string | null): string | null;
82628262
lookupPrefix(namespaceURI: string | null): string | null;
82638263
normalize(): void;
8264-
removeChild(oldChild: Node): Node;
8265-
replaceChild(newChild: Node, oldChild: Node): Node;
8264+
removeChild<T extends Node>(oldChild: T): T;
8265+
replaceChild<T extends Node>(newChild: Node, oldChild: T): T;
82668266
readonly ATTRIBUTE_NODE: number;
82678267
readonly CDATA_SECTION_NODE: number;
82688268
readonly COMMENT_NODE: number;

inputfiles/overridingTypes.json

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,48 @@
1010
"name": "event",
1111
"type": "Event | undefined"
1212
},
13+
{
14+
"kind": "method",
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"]
24+
},
1325
{
1426
"kind": "method",
1527
"interface": "Node",
16-
"name": "insertBefore",
17-
"signatures": ["insertBefore(newChild: Node, refChild: Node | null): Node"]
28+
"name": "cloneNode",
29+
"signatures": ["cloneNode(deep?: boolean): this"]
1830
},
1931
{
2032
"kind": "method",
2133
"interface": "Node",
2234
"name": "appendChild",
2335
"signatures": ["appendChild<T extends Node>(newChild: T): T"]
2436
},
37+
{
38+
"kind": "method",
39+
"interface": "Node",
40+
"name": "insertBefore",
41+
"signatures": ["insertBefore<T extends Node>(newChild: T, refChild: Node | null): T"]
42+
},
43+
{
44+
"kind": "method",
45+
"interface": "Node",
46+
"name": "removeChild",
47+
"signatures": ["removeChild<T extends Node>(oldChild: T): T"]
48+
},
49+
{
50+
"kind": "method",
51+
"interface": "Node",
52+
"name": "replaceChild",
53+
"signatures": ["replaceChild<T extends Node>(newChild: Node, oldChild: T): T"]
54+
},
2555
{
2656
"kind": "method",
2757
"interface": "HTMLCollection",

0 commit comments

Comments
 (0)