UNPKG

@wbg-mde/repository

Version:

Managing all common method for file system CRUD operations.

67 lines (66 loc) 2.82 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; Object.defineProperty(exports, "__esModule", { value: true }); const xml2js = require("xml2js"); const fs = require("fs"); const export_master_config_1 = require("../configs/export.master.config"); const trace_decorator_1 = require("../../decorators/trace.decorator"); let ImportStudyService = class ImportStudyService { parseXMLtoJSON(filePath, callBack) { fs.readFile(filePath, (err, data) => { if (err) { callBack({ result: "error", messages: err }); } else { let parser = xml2js.Parser({ attrkey: export_master_config_1.Export_Master_Config.xmlNodeProps.headerAttribute, charkey: export_master_config_1.Export_Master_Config.xmlNodeProps.elementProp, trim: true }); parser.parseString(data, (err, result) => { if (err) { callBack({ result: "error", messages: err }); } else { callBack({ result: "ok", data: result }); } }); } }); } setNestedProperty(object, property, value) { if (object && typeof object == "object") { if (typeof property == "string" && property !== "") { var split = property.split("."); return split.reduce(function (obj, prop, idx) { obj[prop] = obj[prop] || {}; if (split.length == (idx + 1)) { obj[prop] = value; } return obj[prop]; }, object); } else if (typeof property == "number") { object[property] = value; return object[property]; } else { return object; } } else { return object; } } }; ImportStudyService = __decorate([ trace_decorator_1.Trace({ exclude: ['setNestedProperty'] }) ], ImportStudyService); exports.ImportStudyService = ImportStudyService;