rename toXml -> prepForXml

This commit is contained in:
felipe
2017-03-10 08:23:27 +01:00
parent 50ca71087e
commit c521d0ce63
4 changed files with 8 additions and 11 deletions

View File

@ -5,5 +5,5 @@ export abstract class BaseXmlComponent {
this.rootKey = rootKey;
}
public abstract toXml(): object;
public abstract prepForXml(): object;
}

View File

@ -16,7 +16,7 @@ export abstract class XmlAttributeComponent extends BaseXmlComponent {
}
}
public toXml(): object {
public prepForXml(): object {
const attrs = {};
if (this.root !== undefined) {
_.forOwn(this.root, (value, key) => {
@ -26,8 +26,6 @@ export abstract class XmlAttributeComponent extends BaseXmlComponent {
}
});
}
const ret = {};
ret[this.rootKey] = attrs;
return ret;
return {[this.rootKey]: attrs};
}
}

View File

@ -10,16 +10,15 @@ export abstract class XmlComponent extends BaseXmlComponent {
this.root = new Array<BaseXmlComponent>();
}
public toXml(): object {
// What does 'ret' stand for? Retain? Return?
const ret = this.root.map((comp) => {
public prepForXml(): object {
const children = this.root.map((comp) => {
if (comp instanceof BaseXmlComponent) {
return comp.toXml();
return comp.prepForXml();
}
return comp;
}).filter((comp) => comp); // Exclude null, undefined, and empty strings
return {
[this.rootKey]: ret,
[this.rootKey]: children,
};
}
}

View File

@ -2,6 +2,6 @@ import { BaseXmlComponent } from "../docx/xml-components";
export class Formatter {
public format(input: BaseXmlComponent): any {
return input.toXml();
return input.prepForXml();
}
}