Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions baselines/dom.generated.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2908,6 +2908,9 @@ interface Attr extends Node {
readonly specified: boolean;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Attr/value) */
value: string;
/** [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent) */
get textContent(): string;
set textContent(value: string | null);
}

declare var Attr: {
Expand Down Expand Up @@ -6213,6 +6216,9 @@ interface CharacterData extends Node, ChildNode, NonDocumentTypeChildNode {
replaceData(offset: number, count: number, data: string): void;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CharacterData/substringData) */
substringData(offset: number, count: number): string;
/** [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent) */
get textContent(): string;
set textContent(value: string | null);
}

declare var CharacterData: {
Expand Down Expand Up @@ -8608,6 +8614,9 @@ interface Element extends Node, ARIAMixin, Animatable, ChildNode, NonDocumentTyp
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/matches)
*/
webkitMatchesSelector(selectors: string): boolean;
/** [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent) */
get textContent(): string;
set textContent(value: string | null);
addEventListener<K extends keyof ElementEventMap>(type: K, listener: (this: Element, ev: ElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
removeEventListener<K extends keyof ElementEventMap>(type: K, listener: (this: Element, ev: ElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
Expand Down
9 changes: 9 additions & 0 deletions baselines/ts5.5/dom.generated.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2908,6 +2908,9 @@ interface Attr extends Node {
readonly specified: boolean;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Attr/value) */
value: string;
/** [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent) */
get textContent(): string;
set textContent(value: string | null);
}

declare var Attr: {
Expand Down Expand Up @@ -6206,6 +6209,9 @@ interface CharacterData extends Node, ChildNode, NonDocumentTypeChildNode {
replaceData(offset: number, count: number, data: string): void;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CharacterData/substringData) */
substringData(offset: number, count: number): string;
/** [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent) */
get textContent(): string;
set textContent(value: string | null);
}

declare var CharacterData: {
Expand Down Expand Up @@ -8599,6 +8605,9 @@ interface Element extends Node, ARIAMixin, Animatable, ChildNode, NonDocumentTyp
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/matches)
*/
webkitMatchesSelector(selectors: string): boolean;
/** [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent) */
get textContent(): string;
set textContent(value: string | null);
addEventListener<K extends keyof ElementEventMap>(type: K, listener: (this: Element, ev: ElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
removeEventListener<K extends keyof ElementEventMap>(type: K, listener: (this: Element, ev: ElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
Expand Down
42 changes: 42 additions & 0 deletions inputfiles/addedTypes.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,19 @@
]
}
},
"Comment": {
"methods": {
"method": {
"textContent": {
"mdnUrl": "https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent",
"overrideSignatures": [
"get textContent(): string",
"set textContent(value: string | null)"
]
}
}
}
},
"DocumentAndElementEventHandlers": {
"events": {
"event": [
Expand Down Expand Up @@ -786,6 +799,13 @@
]
}
}
},
"textContent": {
"mdnUrl": "https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent",
"overrideSignatures": [
"get textContent(): string",
"set textContent(value: string | null)"
]
}
}
},
Expand Down Expand Up @@ -1196,6 +1216,17 @@
},
"Attr": {
"name": "Attr",
"methods": {
"method": {
"textContent": {
"mdnUrl": "https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent",
"overrideSignatures": [
"get textContent(): string",
"set textContent(value: string | null)"
]
}
}
},
"properties": {
"property": {
"ownerDocument": {
Expand All @@ -1208,6 +1239,17 @@
},
"CharacterData": {
"name": "CharacterData",
"methods": {
"method": {
"textContent": {
"mdnUrl": "https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent",
"overrideSignatures": [
"get textContent(): string",
"set textContent(value: string | null)"
]
}
}
},
"properties": {
"property": {
"ownerDocument": {
Expand Down
26 changes: 26 additions & 0 deletions unittests/files/nodeValue.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
declare const assertType: <T>() => <T1>(
_x: T1,
) => StrictEqual<T, T1> extends true
? () => void
: T1 extends T
? { error: "Left side is not assignable to right side" }
: { error: "Right side is not assignable to left side" };

type StrictEqual<X, Y> =
(<T>() => T extends X ? 1 : 2) extends <T>() => T extends Y ? 1 : 2
? true
: false;

const div = document.createElement("div");
assertType<string>()(div.textContent)();
div.textContent = null;

const text = document.createTextNode("hello");
assertType<string>()(text.textContent)();

assertType<string | null>()(document.textContent)();

const type = document.doctype!;
assertType<string | null>()(type.textContent)();

export {};