Mxl.ts 1.1 KB

123456789101112131415161718192021222324252627282930
  1. import {IXmlElement} from "../../../src/Common/FileIO/Xml";
  2. // typings for JSZip module
  3. type JSZip = any;
  4. declare var JSZip: any;
  5. function extractSheetFromMxl(data: string): any {
  6. "use strict";
  7. // let buf = Buffer.concat(data);
  8. let zip: JSZip = new JSZip();
  9. return zip.loadAsync(data).then((_: any) => {
  10. return zip.file("META-INF/container.xml").async("string");
  11. }).then((content: string) => {
  12. let parser: DOMParser = new DOMParser();
  13. let doc: Document = parser.parseFromString(content, "text/xml");
  14. console.log(content);
  15. // doc.Root.Element("rootfiles").Element("rootfile").Attribute("full-path").Value;
  16. let rootFile: string = doc.getElementsByTagName("rootfile")[0].getAttribute("full-path");
  17. return zip.file(rootFile).async("string");
  18. }).then((content: string) => {
  19. let parser: DOMParser = new DOMParser();
  20. let doc: Document = parser.parseFromString(content, "text/xml");
  21. return new IXmlElement(doc.documentElement);
  22. });
  23. }
  24. describe("MXL Tests", () => {
  25. chai.expect(extractSheetFromMxl).to.equal(extractSheetFromMxl);
  26. });