| ; | |
| Object.defineProperty(exports, "__esModule", { value: true }); | |
| exports.buildXmlElement = exports.writeXML = exports.parseXML = exports.readXML = void 0; | |
| const tslib_1 = require("tslib"); | |
| const fs_extra_1 = require("fs-extra"); | |
| const xml2js_1 = tslib_1.__importDefault(require("xml2js")); | |
| async function readXML(path) { | |
| var _a; | |
| try { | |
| const xmlStr = await (0, fs_extra_1.readFile)(path, { encoding: 'utf-8' }); | |
| try { | |
| return await xml2js_1.default.parseStringPromise(xmlStr); | |
| } | |
| catch (e) { | |
| throw `Error parsing: ${path}, ${(_a = e.stack) !== null && _a !== void 0 ? _a : e}`; | |
| } | |
| } | |
| catch (e) { | |
| throw `Unable to read: ${path}`; | |
| } | |
| } | |
| exports.readXML = readXML; | |
| function parseXML(xmlStr, options) { | |
| const parser = options !== undefined ? new xml2js_1.default.Parser({ ...options }) : new xml2js_1.default.Parser(); | |
| let xmlObj; | |
| parser.parseString(xmlStr, (err, result) => { | |
| if (!err) { | |
| xmlObj = result; | |
| } | |
| }); | |
| return xmlObj; | |
| } | |
| exports.parseXML = parseXML; | |
| async function writeXML(object) { | |
| return new Promise((resolve) => { | |
| const builder = new xml2js_1.default.Builder({ | |
| headless: true, | |
| explicitRoot: false, | |
| rootName: 'deleteme', | |
| }); | |
| let xml = builder.buildObject(object); | |
| xml = xml.replace('<deleteme>', '').replace('</deleteme>', ''); | |
| resolve(xml); | |
| }); | |
| } | |
| exports.writeXML = writeXML; | |
| function buildXmlElement(configElement, rootName) { | |
| const builder = new xml2js_1.default.Builder({ | |
| headless: true, | |
| explicitRoot: false, | |
| rootName: rootName, | |
| }); | |
| return builder.buildObject(configElement); | |
| } | |
| exports.buildXmlElement = buildXmlElement; | |
Xet Storage Details
- Size:
- 1.8 kB
- Xet hash:
- c37deefb626a7474d8cdb411a3f6fc5e3a186966173873e019d16aa374f630f7
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.