feat(ui): JSON에 nextSep/childSep/nameNewline 포함 및 복원

toJSON() serNode에 nextSep, childSep, nameNewline 필드 추가.
parseJsonSection에서 해당 필드 읽어 노드에 복원.
JSON slim/full 양쪽 모두 포함됨 (값이 null이 아니므로 stripNulls 통과).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
gm
2026-06-03 01:30:11 +09:00
parent 702eb918ee
commit 28e52e9ce0

View File

@@ -852,7 +852,10 @@ function toJSON(slim=false){
footer:node.settings.footer??null,
prefix:node.settings.prefix??null,
suffix:node.settings.suffix??null,
attributes:attrs,children
attributes:attrs,children,
nextSep:node.nextSep??'blank',
childSep:node.childSep??'blank',
nameNewline:node.nameNewline??true,
});
depth--;
return r;
@@ -957,6 +960,10 @@ function parseJsonSection(sec){
const mark=sec.attributes?.mark??'';
const n=mkNode(mark, sec.content??'');
if(sec.nextSep!==undefined) n.nextSep=sec.nextSep;
if(sec.childSep!==undefined) n.childSep=sec.childSep;
if(sec.nameNewline!==undefined) n.nameNewline=sec.nameNewline;
if(sec.header) n.settings.header=sec.header;
if(sec.footer) n.settings.footer=sec.footer;
if(sec.prefix) n.settings.prefix=sec.prefix;