UNPKG

@iotize/ionic

Version:

Iotize specific building blocks on top of @ionic/angular.

39 lines 4.92 kB
import { DotAccessor } from '@iotize/common/data-accessor'; import { xmlToJson } from '@iotize/common/xml'; import { IoTizeStudioToTapConfigConverter } from '@iotize/tap/config/iotize-studio'; export function parseTapConfiguratorConfig(fileContent) { if (isJsonString(fileContent)) { const config = JSON.parse(fileContent); // this.tapConfigPickerservice.onConfigSelected(config); return config; } else { // if (IotizeConfigFactory.fromXML(fileContent)) { return fromXml(fileContent); } } export function isJsonString(str) { try { const json = JSON.parse(str); return typeof json === 'object'; } catch (e) { return false; } } export function fromXml(fileContent) { // console.log('File content', fileContent); // const parser = new DOMParser(); // const xmlConfig = parser.parseFromString(fileContent, 'application/xml'); // let xmlConfig = parse(fileContent); const xmlConfig = iotizeStudioConfigToJson(fileContent); const config = new IoTizeStudioToTapConfigConverter().convert(new DotAccessor(xmlConfig)); return { config }; } function iotizeStudioConfigToJson(fileContent) { return xmlToJson(fileContent, { attributeNamePrefix: '', ignoreAttributes: false, }); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFwLWNvbmZpZy1wYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pb3RpemUtaW9uaWMvY29uZmlnL3NyYy9saWIvdGFwLWNvbmZpZy1wYXJzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUdwRixNQUFNLFVBQVUsMEJBQTBCLENBQ3hDLFdBQW1CO0lBRW5CLElBQUksWUFBWSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7UUFDOUIsTUFBTSxNQUFNLEdBQTBCLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDOUQsd0RBQXdEO1FBQ3hELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7U0FBTSxDQUFDO1FBQ04sa0RBQWtEO1FBQ2xELE9BQU8sT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxHQUFXO0lBQ3RDLElBQUksQ0FBQztRQUNILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsT0FBTyxPQUFPLElBQUksS0FBSyxRQUFRLENBQUM7SUFDbEMsQ0FBQztJQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDWCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxXQUFtQjtJQUN6Qyw0Q0FBNEM7SUFDNUMsa0NBQWtDO0lBQ2xDLDRFQUE0RTtJQUM1RSxzQ0FBc0M7SUFDdEMsTUFBTSxTQUFTLEdBQUcsd0JBQXdCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxnQ0FBZ0MsRUFBRSxDQUFDLE9BQU8sQ0FDM0QsSUFBSSxXQUFXLENBQUMsU0FBUyxDQUFDLENBQzNCLENBQUM7SUFDRixPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUM7QUFDcEIsQ0FBQztBQUVELFNBQVMsd0JBQXdCLENBQUMsV0FBbUI7SUFDbkQsT0FBTyxTQUFTLENBQUMsV0FBVyxFQUFFO1FBQzVCLG1CQUFtQixFQUFFLEVBQUU7UUFDdkIsZ0JBQWdCLEVBQUUsS0FBSztLQUN4QixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRG90QWNjZXNzb3IgfSBmcm9tICdAaW90aXplL2NvbW1vbi9kYXRhLWFjY2Vzc29yJztcbmltcG9ydCB7IHhtbFRvSnNvbiB9IGZyb20gJ0Bpb3RpemUvY29tbW9uL3htbCc7XG5pbXBvcnQgeyBJb1RpemVTdHVkaW9Ub1RhcENvbmZpZ0NvbnZlcnRlciB9IGZyb20gJ0Bpb3RpemUvdGFwL2NvbmZpZy9pb3RpemUtc3R1ZGlvJztcbmltcG9ydCB7IFRhcENvbmZpZ3VyYXRvckNvbmZpZyB9IGZyb20gJ0Bpb3RpemUvdGFwL2NvbmZpZy9zY2hlbWEvdjEnO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VUYXBDb25maWd1cmF0b3JDb25maWcoXG4gIGZpbGVDb250ZW50OiBzdHJpbmdcbik6IFRhcENvbmZpZ3VyYXRvckNvbmZpZyB7XG4gIGlmIChpc0pzb25TdHJpbmcoZmlsZUNvbnRlbnQpKSB7XG4gICAgY29uc3QgY29uZmlnOiBUYXBDb25maWd1cmF0b3JDb25maWcgPSBKU09OLnBhcnNlKGZpbGVDb250ZW50KTtcbiAgICAvLyB0aGlzLnRhcENvbmZpZ1BpY2tlcnNlcnZpY2Uub25Db25maWdTZWxlY3RlZChjb25maWcpO1xuICAgIHJldHVybiBjb25maWc7XG4gIH0gZWxzZSB7XG4gICAgLy8gaWYgKElvdGl6ZUNvbmZpZ0ZhY3RvcnkuZnJvbVhNTChmaWxlQ29udGVudCkpIHtcbiAgICByZXR1cm4gZnJvbVhtbChmaWxlQ29udGVudCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzSnNvblN0cmluZyhzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICB0cnkge1xuICAgIGNvbnN0IGpzb24gPSBKU09OLnBhcnNlKHN0cik7XG4gICAgcmV0dXJuIHR5cGVvZiBqc29uID09PSAnb2JqZWN0JztcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZnJvbVhtbChmaWxlQ29udGVudDogc3RyaW5nKTogVGFwQ29uZmlndXJhdG9yQ29uZmlnIHtcbiAgLy8gY29uc29sZS5sb2coJ0ZpbGUgY29udGVudCcsIGZpbGVDb250ZW50KTtcbiAgLy8gY29uc3QgcGFyc2VyID0gbmV3IERPTVBhcnNlcigpO1xuICAvLyBjb25zdCB4bWxDb25maWcgPSBwYXJzZXIucGFyc2VGcm9tU3RyaW5nKGZpbGVDb250ZW50LCAnYXBwbGljYXRpb24veG1sJyk7XG4gIC8vIGxldCB4bWxDb25maWcgPSBwYXJzZShmaWxlQ29udGVudCk7XG4gIGNvbnN0IHhtbENvbmZpZyA9IGlvdGl6ZVN0dWRpb0NvbmZpZ1RvSnNvbihmaWxlQ29udGVudCk7XG4gIGNvbnN0IGNvbmZpZyA9IG5ldyBJb1RpemVTdHVkaW9Ub1RhcENvbmZpZ0NvbnZlcnRlcigpLmNvbnZlcnQoXG4gICAgbmV3IERvdEFjY2Vzc29yKHhtbENvbmZpZylcbiAgKTtcbiAgcmV0dXJuIHsgY29uZmlnIH07XG59XG5cbmZ1bmN0aW9uIGlvdGl6ZVN0dWRpb0NvbmZpZ1RvSnNvbihmaWxlQ29udGVudDogc3RyaW5nKSB7XG4gIHJldHVybiB4bWxUb0pzb24oZmlsZUNvbnRlbnQsIHtcbiAgICBhdHRyaWJ1dGVOYW1lUHJlZml4OiAnJyxcbiAgICBpZ25vcmVBdHRyaWJ1dGVzOiBmYWxzZSxcbiAgfSk7XG59XG4iXX0=