import * as fs from 'node:fs'; import { toXML, XmlElement } from "jstoxml"; import { TClassProperties } from "../types"; import { BaseFile } from "./BaseFile"; type TXmlFile = TClassProperties; export class XmlFile extends BaseFile implements TXmlFile { content: XmlElement | XmlElement[] | null | undefined = null; constructor(payload: Partial = {}) { super(); this.fill(payload); } write(dist: string) { try { const data = toXML(this.content || undefined, { header: true, indent: ' ' }); console.log(`${dist}${this.path}${this.name}`); fs.mkdir(`${dist}${this.path}`, { recursive: true }, (err) => { fs.writeFileSync(`${dist}${this.path}${this.name}`, data + `\n`); }); } catch (err) { console.error(err); } } }