allow skip child when serialize node and rebuild node

This commit is contained in:
Yanzhen Yu
2018-10-22 23:03:10 +08:00
parent e5dba6a986
commit 2a50fff366
3 changed files with 11 additions and 3 deletions

View File

@@ -175,6 +175,7 @@ export function serializeNodeWithId(
n: Node,
doc: Document,
map: idNodeMap,
skipChild = false,
): serializedNodeWithId | null {
const _serializedNode = serializeNode(n, doc);
if (!_serializedNode) {
@@ -188,8 +189,9 @@ export function serializeNodeWithId(
(n as INode).__sn = serializedNode;
map[serializedNode.id] = n as INode;
if (
serializedNode.type === NodeType.Document ||
serializedNode.type === NodeType.Element
(serializedNode.type === NodeType.Document ||
serializedNode.type === NodeType.Element) &&
!skipChild
) {
for (const childN of Array.from(n.childNodes)) {
const serializedChildNode = serializeNodeWithId(childN, doc, map);