MCPcopy Create free account
hub / github.com/Alphanimble/htmlstream / assembleStreamHtml

Function assembleStreamHtml

src/patch-streaming-html.ts:940–961  ·  view source on GitHub ↗
(track: string)

Source from the content-addressed store, hash-verified

938
939/** Build renderable HTML from strip-only track (no premature </tr>) */
940export function assembleStreamHtml(track: string): string {
941 const tableStart = findTableStart(track);
942 if (tableStart === -1) {
943 return track;
944 }
945
946 const tableEnd = firstCompleteTableEnd(track, tableStart);
947 const prefix = track.slice(0, tableStart);
948
949 if (tableEnd === -1) {
950 return prefix + assembleTableSectionHtml(track.slice(tableStart));
951 }
952
953 const firstTable = assembleTableSectionHtml(track.slice(tableStart, tableEnd));
954 const postTrack = track.slice(tableEnd);
955 const postHtml =
956 findTableStart(postTrack) !== -1
957 ? assembleStreamHtml(postTrack)
958 : closeOpenTags(postTrack);
959
960 return prefix + firstTable + postHtml;
961}
962
963/** Close non-table tags only (table rows need real </tr> in source) */
964function closeOpenTagsForStream(html: string): string {

Callers 4

StreamHtmlFunction · 0.90
renderPostTableTrackFunction · 0.85
closeOpenTagsForStreamFunction · 0.85

Calls 4

closeOpenTagsFunction · 0.90
findTableStartFunction · 0.85
firstCompleteTableEndFunction · 0.85
assembleTableSectionHtmlFunction · 0.85

Tested by

no test coverage detected