Made XmlableObject non ambient typings to fix typescript problem

This commit is contained in:
Dolan
2017-07-08 20:45:19 +01:00
parent 6784dc1f3d
commit 8f632d4ecd
7 changed files with 14 additions and 9 deletions

View File

@ -1,6 +1,6 @@
import { Paragraph } from "../paragraph"; import { Paragraph } from "../paragraph";
import { XmlComponent } from "../xml-components"; import { XmlComponent } from "../xml-components";
import { IXmlableObject } from "../xml-components/xmlable-object";
import { TableGrid } from "./grid"; import { TableGrid } from "./grid";
import { TableProperties, WidthTypes } from "./properties"; import { TableProperties, WidthTypes } from "./properties";
@ -99,7 +99,7 @@ export class TableCell extends XmlComponent {
return this; return this;
} }
public prepForXml(): XmlableObject { public prepForXml(): IXmlableObject {
// Cells must end with a paragraph // Cells must end with a paragraph
const retval = super.prepForXml(); const retval = super.prepForXml();
const content = retval["w:tc"]; const content = retval["w:tc"];

View File

@ -1,3 +1,5 @@
import { IXmlableObject } from "./xmlable-object";
export abstract class BaseXmlComponent { export abstract class BaseXmlComponent {
protected rootKey: string; protected rootKey: string;
@ -5,5 +7,5 @@ export abstract class BaseXmlComponent {
this.rootKey = rootKey; this.rootKey = rootKey;
} }
public abstract prepForXml(): XmlableObject; public abstract prepForXml(): IXmlableObject;
} }

View File

@ -1,4 +1,5 @@
import { BaseXmlComponent } from "./base"; import { BaseXmlComponent } from "./base";
import { IXmlableObject } from "./xmlable-object";
export type AttributeMap<T> = {[P in keyof T]: string}; export type AttributeMap<T> = {[P in keyof T]: string};
@ -11,7 +12,7 @@ export abstract class XmlAttributeComponent<T> extends BaseXmlComponent {
this.root = properties; this.root = properties;
} }
public prepForXml(): XmlableObject { public prepForXml(): IXmlableObject {
const attrs = {}; const attrs = {};
Object.keys(this.root).forEach((key) => { Object.keys(this.root).forEach((key) => {
const value = this.root[key]; const value = this.root[key];

View File

@ -1,4 +1,5 @@
import { BaseXmlComponent } from "./base"; import { BaseXmlComponent } from "./base";
import { IXmlableObject } from "./xmlable-object";
export { BaseXmlComponent }; export { BaseXmlComponent };
export abstract class XmlComponent extends BaseXmlComponent { export abstract class XmlComponent extends BaseXmlComponent {
@ -9,7 +10,7 @@ export abstract class XmlComponent extends BaseXmlComponent {
this.root = new Array<BaseXmlComponent>(); this.root = new Array<BaseXmlComponent>();
} }
public prepForXml(): XmlableObject { public prepForXml(): IXmlableObject {
const children = this.root.map((comp) => { const children = this.root.map((comp) => {
if (comp instanceof BaseXmlComponent) { if (comp instanceof BaseXmlComponent) {
return comp.prepForXml(); return comp.prepForXml();

View File

@ -1,3 +0,0 @@
declare interface XmlableObject extends Object {
_attr?: { [key: string]: (string | number | boolean) }
}

View File

@ -0,0 +1,3 @@
export interface IXmlableObject extends Object {
_attr?: { [key: string]: (string | number | boolean) };
}

View File

@ -1,7 +1,8 @@
import { BaseXmlComponent } from "../docx/xml-components"; import { BaseXmlComponent } from "../docx/xml-components";
import { IXmlableObject } from "../docx/xml-components/xmlable-object";
export class Formatter { export class Formatter {
public format(input: BaseXmlComponent): XmlableObject { public format(input: BaseXmlComponent): IXmlableObject {
return input.prepForXml(); return input.prepForXml();
} }
} }