import { zipSync } from "fflate";
const encoder = new TextEncoder();
const wordNamespace =
"http://schemas.openxmlformats.org/wordprocessingml/2006/main";
function xml(value: string) {
return encoder.encode(value);
}
export function createTestBaselineReference() {
const styleIds = [
"Normal",
"BodyText",
"FirstParagraph",
"Compact",
"Title",
"TitleChar",
"Subtitle",
"SubtitleChar",
"Heading1",
"Heading1Char",
"Heading2",
"Heading2Char",
"Heading3",
"Heading3Char",
"Heading4",
"Heading4Char",
"Heading5",
"Heading5Char",
"Heading6",
"Heading6Char",
"BlockText",
"FootnoteText",
"DefaultParagraphFont",
"Table",
"Definition",
"Caption",
"TableCaption",
"ImageCaption",
"Figure",
"BodyTextChar",
"VerbatimChar",
"Hyperlink"
];
const styles = styleIds
.map((styleId) => {
const type =
styleId === "Table"
? "table"
: styleId.endsWith("Char") ||
styleId === "DefaultParagraphFont" ||
styleId === "VerbatimChar" ||
styleId === "Hyperlink"
? "character"
: "paragraph";
return ``;
})
.join("");
return zipSync({
"[Content_Types].xml": xml(
''
),
"_rels/.rels": xml(
''
),
"word/document.xml": xml(
``
),
"word/fontTable.xml": xml(
``
),
"word/numbering.xml": xml(
``
),
"word/settings.xml": xml(
``
),
"word/styles.xml": xml(
`${styles}`
),
"word/_rels/document.xml.rels": xml(
''
),
"word/theme/theme1.xml": xml(
''
)
});
}