Skip to content

Commit d3fda1d

Browse files
author
iacore
committed
+ DocumentFragment.textContent
fix #231
1 parent 7a9720d commit d3fda1d

File tree

6 files changed

+33
-3
lines changed

6 files changed

+33
-3
lines changed

cjs/interface/document-fragment.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,15 @@ class DocumentFragment extends NonElementParentNode {
99
constructor(ownerDocument) {
1010
super(ownerDocument, '#document-fragment', DOCUMENT_FRAGMENT_NODE);
1111
}
12+
13+
get textContent() {
14+
let r = ""
15+
let curr = this.firstChild
16+
while (curr) {
17+
r += curr.textContent
18+
curr = curr.nextSibling
19+
}
20+
return r;
21+
}
1222
}
1323
exports.DocumentFragment = DocumentFragment

esm/interface/document-fragment.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,14 @@ export class DocumentFragment extends NonElementParentNode {
88
constructor(ownerDocument) {
99
super(ownerDocument, '#document-fragment', DOCUMENT_FRAGMENT_NODE);
1010
}
11+
12+
get textContent() {
13+
let r = ""
14+
let curr = this.firstChild
15+
while (curr) {
16+
r += curr.textContent
17+
curr = curr.nextSibling
18+
}
19+
return r;
20+
}
1121
}

test/interface/document-fragment.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,10 @@ assert(node.firstElementChild, node.lastElementChild, 'element child');
3939
node.prepend('a');
4040
node.append('b');
4141
assert(node.toString(), '<#document-fragment>a<div id="any"></div>b</#document-fragment>', 'expected content');
42+
assert(node.textContent, 'ab', 'expected textContent');
4243
node.replaceChildren('c', 'd');
4344
assert(node.toString(), '<#document-fragment>cd</#document-fragment>', 'expected content');
45+
assert(node.textContent, 'cd', 'expected textContent');
4446
node.normalize();
4547
assert(node.childNodes.length, 1, 'normalize()');
4648
node.replaceChild(document.createElement('input'), node.firstChild);

types/esm/interface/document-fragment.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@
33
*/
44
export class DocumentFragment extends NonElementParentNode implements globalThis.DocumentFragment {
55
constructor(ownerDocument: any);
6+
get textContent(): string;
67
}
78
import { NonElementParentNode } from '../mixin/non-element-parent-node.js';

types/esm/mixin/parent-node.d.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,6 @@ import { Node } from '../interface/node.js';
4545
import { NodeList } from '../interface/node-list.js';
4646
import { PRIVATE } from '../shared/symbols.js';
4747
import { END } from '../shared/symbols.js';
48-
import { NEXT } from '../shared/symbols.js';
49-
import { PREV } from '../shared/symbols.js';
50-
import { START } from '../shared/symbols.js';
5148
import { ATTRIBUTE_NODE } from '../shared/constants.js';
5249
import { DOCUMENT_FRAGMENT_NODE } from '../shared/constants.js';
5350
import { ELEMENT_NODE } from '../shared/constants.js';

worker.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7168,6 +7168,16 @@ let DocumentFragment$1 = class DocumentFragment extends NonElementParentNode {
71687168
constructor(ownerDocument) {
71697169
super(ownerDocument, '#document-fragment', DOCUMENT_FRAGMENT_NODE);
71707170
}
7171+
7172+
get textContent() {
7173+
let r = "";
7174+
let curr = this.firstChild;
7175+
while (curr) {
7176+
r += curr.textContent;
7177+
curr = curr.nextSibling;
7178+
}
7179+
return r;
7180+
}
71717181
};
71727182

71737183
/**

0 commit comments

Comments
 (0)