Files
docx-js/ts/docx/xml-components/index.ts

27 lines
756 B
TypeScript
Raw Normal View History

2017-03-08 21:49:41 +00:00
import { BaseXmlComponent } from "./base";
export { BaseXmlComponent };
2016-04-25 03:28:02 +01:00
2016-04-21 23:27:46 +01:00
export abstract class XmlComponent extends BaseXmlComponent {
protected root: Array<BaseXmlComponent | string>;
2016-04-21 23:27:46 +01:00
constructor(rootKey: string) {
super(rootKey);
this.root = new Array<BaseXmlComponent>();
}
2017-04-15 20:11:54 +01:00
public prepForXml(): XmlableObject {
2017-03-10 08:23:27 +01:00
const children = this.root.map((comp) => {
if (comp instanceof BaseXmlComponent) {
2017-03-10 08:23:27 +01:00
return comp.prepForXml();
}
2017-03-09 22:57:37 +00:00
return comp;
}).filter((comp) => comp); // Exclude null, undefined, and empty strings
return {
2017-03-10 08:23:27 +01:00
[this.rootKey]: children,
2017-03-09 22:57:37 +00:00
};
2016-04-21 23:27:46 +01:00
}
}
2017-04-15 17:54:47 +01:00
export * from "./attributes";
export * from "./default-attributes";