UNPKG

docx

Version:

Easily generate .docx files with JS/TS with a nice declarative API. Works for Node and on the Browser.

24 lines (20 loc) 795 B
// http://www.datypic.com/sc/ooxml/e-w_fldSimple-1.html import { XmlAttributeComponent, XmlComponent } from "file/xml-components"; import { TextRun } from "./text-run"; class FldSimpleAttrs extends XmlAttributeComponent<{ readonly instr: string }> { protected readonly xmlKeys = { instr: "w:instr" }; } export class SimpleField extends XmlComponent { constructor(instruction: string, cachedValue?: string) { super("w:fldSimple"); this.root.push(new FldSimpleAttrs({ instr: instruction })); if (cachedValue !== undefined) { this.root.push(new TextRun(cachedValue)); } } } export class SimpleMailMergeField extends SimpleField { constructor(fieldName: string) { super(` MERGEFIELD ${fieldName} `, ${fieldName}»`); } }