UNPKG

@iotize/cli

Version:
43 lines 1.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const configurator_1 = require("@iotize/device-client.js/configurator"); const fast_xml_parser_1 = require("fast-xml-parser"); const data_accessor_1 = require("@iotize/common/data-accessor"); const fs_1 = require("fs"); const path_1 = require("path"); function parseTapConfigFile(filepath) { return parseTapConfig(fs_1.readFileSync(path_1.resolve(process.cwd(), filepath)).toString()); } exports.parseTapConfigFile = parseTapConfigFile; function parseTapConfig(fileContent) { if (isJsonString(fileContent)) { let config = JSON.parse(fileContent); // this.tapConfigPickerservice.onConfigSelected(config); return config; } else { // if (IotizeConfigFactory.fromXML(fileContent)) { return fromXml(fileContent); } } exports.parseTapConfig = parseTapConfig; function isJsonString(str) { try { var json = JSON.parse(str); return typeof json === 'object'; } catch (e) { return false; } } exports.isJsonString = isJsonString; function fromXml(fileContent) { let xmlConfig = fast_xml_parser_1.parse(fileContent, { attributeNamePrefix: '', ignoreAttributes: false }); let config = new configurator_1.TapConfigConverter().convert(new data_accessor_1.DotAccessor(xmlConfig)); return config; } exports.fromXml = fromXml; //# sourceMappingURL=tap-config-parser.js.map