@iotize/cli
Version:
IoTize command line interface
43 lines • 1.5 kB
JavaScript
;
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