diff --git a/ts/docx/table/index.ts b/ts/docx/table/index.ts index f6be964129..82d5689709 100644 --- a/ts/docx/table/index.ts +++ b/ts/docx/table/index.ts @@ -99,7 +99,7 @@ class TableCell extends XmlComponent { return this; } - public prepForXml(): object { + public prepForXml(): XmlableObject { // Cells must end with a paragraph const retval = super.prepForXml(); const content = retval["w:tc"]; diff --git a/ts/docx/xml-components/base.ts b/ts/docx/xml-components/base.ts index 9c94517c56..82061d9a41 100644 --- a/ts/docx/xml-components/base.ts +++ b/ts/docx/xml-components/base.ts @@ -5,5 +5,5 @@ export abstract class BaseXmlComponent { this.rootKey = rootKey; } - public abstract prepForXml(): object; + public abstract prepForXml(): XmlableObject; } diff --git a/ts/docx/xml-components/default-attributes.ts b/ts/docx/xml-components/default-attributes.ts index 7c56a96e63..e3eba50809 100644 --- a/ts/docx/xml-components/default-attributes.ts +++ b/ts/docx/xml-components/default-attributes.ts @@ -11,7 +11,7 @@ export abstract class XmlAttributeComponent extends BaseXmlComponent { this.root = properties; } - public prepForXml(): {_attr: {[key: string]: (string | number | boolean)}} { + public prepForXml(): XmlableObject { const attrs = {}; Object.keys(this.root).forEach((key) => { const value = this.root[key]; diff --git a/ts/docx/xml-components/index.ts b/ts/docx/xml-components/index.ts index bc1577497c..aedcbcedb4 100644 --- a/ts/docx/xml-components/index.ts +++ b/ts/docx/xml-components/index.ts @@ -9,7 +9,7 @@ export abstract class XmlComponent extends BaseXmlComponent { this.root = new Array(); } - public prepForXml(): object { + public prepForXml(): XmlableObject { const children = this.root.map((comp) => { if (comp instanceof BaseXmlComponent) { return comp.prepForXml(); diff --git a/ts/docx/xml-components/xmlable-object.d.ts b/ts/docx/xml-components/xmlable-object.d.ts new file mode 100644 index 0000000000..517fd0b332 --- /dev/null +++ b/ts/docx/xml-components/xmlable-object.d.ts @@ -0,0 +1,3 @@ +declare interface XmlableObject extends Object { + _attr?: { [key: string]: (string | number | boolean) } +} diff --git a/ts/export/formatter.ts b/ts/export/formatter.ts index 76c05748bb..36b0587240 100644 --- a/ts/export/formatter.ts +++ b/ts/export/formatter.ts @@ -1,7 +1,7 @@ import { BaseXmlComponent } from "../docx/xml-components"; export class Formatter { - public format(input: BaseXmlComponent): any { + public format(input: BaseXmlComponent): XmlableObject { return input.prepForXml(); } }