diff --git a/package.json b/package.json index 0354c3e..4205a44 100644 --- a/package.json +++ b/package.json @@ -14,16 +14,16 @@ "exports": { "./package.json": "./package.json", "./xlsx": { - "require": "./dist/xlsx.js", - "types": "./dist/xlsx.d.ts", - "import": "./dist/xlsx.mjs", - "default": "./dist/xlsx.mjs" + "require": "./dist/xlsx/index.js", + "types": "./dist/xlsx/index.d.ts", + "import": "./dist/xlsx/index.mjs", + "default": "./dist/xlsx/index.mjs" }, "./docx": { - "require": "./dist/docx.js", - "types": "./dist/docx.d.ts", - "import": "./dist/docx.mjs", - "default": "./dist/docx.mjs" + "require": "./dist/docx/index.js", + "types": "./dist/docx/index.d.ts", + "import": "./dist/docx/index.mjs", + "default": "./dist/docx/index.mjs" } }, "repository": { diff --git a/rollup.config.ts b/rollup.config.ts index dee248e..4b60c3a 100644 --- a/rollup.config.ts +++ b/rollup.config.ts @@ -2,7 +2,7 @@ import { fileURLToPath } from "url"; import type { RollupOptions } from "rollup"; import { buildConfig } from "./scripts/getRollupConfig"; -export const input = ["src/docx.ts", "src/xlsx.ts"]; +export const input = ["src/docx/index.ts", "src/xlsx/index.ts"]; export default function rollup(): RollupOptions[] { return buildConfig({ diff --git a/src/docx-closing-tags-list.ts b/src/docx/docx-closing-tags-list.ts similarity index 100% rename from src/docx-closing-tags-list.ts rename to src/docx/docx-closing-tags-list.ts diff --git a/src/docx.ts b/src/docx/index.ts similarity index 92% rename from src/docx.ts rename to src/docx/index.ts index 27a7c95..b940e11 100644 --- a/src/docx.ts +++ b/src/docx/index.ts @@ -6,7 +6,7 @@ import { } from "fast-xml-parser"; import { BlobReader, BlobWriter, ZipReader, ZipWriter } from "@zip.js/zip.js"; import { docxClosingTags } from "./docx-closing-tags-list"; -import { startVisiting } from "./visitor-editor"; +import { startVisiting } from "../visitor-editor"; export async function docxFillTemplate( docx: ReadableStream, @@ -169,12 +169,18 @@ async function templateDocument(xml: any, input: any): Promise { if (!body) return xml; const items = await collectBodyElements(body); - const newBodyItems = rebuildBodyElements(items); + const templatedItems = performTemplating(items, input); + const newBodyItems = rebuildBodyElements(templatedItems); - return await startVisiting(xml, { + return startVisiting(xml, { before: {}, after: { "w:body": [() => ({ newObj: newBodyItems })], }, }); } + +function performTemplating(items: BodyElement[], input: any): BodyElement[] { + console.log(JSON.stringify(input, null, 2)); + return items; +} diff --git a/src/xlsx.ts b/src/xlsx/index.ts similarity index 98% rename from src/xlsx.ts rename to src/xlsx/index.ts index 0134134..ebc7db7 100644 --- a/src/xlsx.ts +++ b/src/xlsx/index.ts @@ -5,12 +5,12 @@ import { XmlBuilderOptions, XMLParser, } from "fast-xml-parser"; -import { startVisiting } from "./visitor-editor"; -import { Sheet } from "./sheet/sheet"; -import { SheetTemplater, TemplatableCell } from "./sheet/sheet-templater"; -import { TemplaterFunction } from "./expression/evaluate"; -import { Issue } from "./result"; -import { isNumeric } from "./utils"; +import { startVisiting } from "../visitor-editor"; +import { Sheet } from "../sheet/sheet"; +import { SheetTemplater, TemplatableCell } from "../sheet/sheet-templater"; +import { TemplaterFunction } from "../expression/evaluate"; +import { Issue } from "../result"; +import { isNumeric } from "../utils"; const SHARED_STRINGS_ENTRY = "xl/sharedStrings.xml";