UNPKG

@wbg-mde/repository

Version:

Managing all common method for file system CRUD operations.

54 lines (53 loc) 2.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const fs = require("fs"); const path = require("path"); const test_config_1 = require("./test_config"); const import_dublincore_1 = require("../import-master/import.dublincore"); const export_dubilncore_1 = require("../export-master/export.dubilncore"); class ImportDublinCoreTest { constructor() { this.importDublinCore = new import_dublincore_1.ImportDublinCore(); this.exportDublinCore = new export_dubilncore_1.ExportDublinCore(); } execute() { try { fs.readdir(test_config_1.TestConfig.inputPath.dublincore, (err, files) => { if (files) { files.reduce((p, x) => p.then(_ => this.executeFile(x)), Promise.resolve()); } }); } catch (e) { console.log('execute error >> ' + e); } } executeFile(filepath) { const inputPath = path.join(test_config_1.TestConfig.inputPath.dublincore, filepath); const outputPath = path.join(test_config_1.TestConfig.outputPath.dublincore, filepath); this.importDublinCore.readImportedFile(inputPath, test_config_1.TestConfig.dublinCoreOptions.type, test_config_1.TestConfig.dublinCoreOptions.language, (resp) => { if (resp.result === "ok") { const project = { header: { language: test_config_1.TestConfig.dublinCoreOptions.language } }; let extRes = []; resp.data.forEach(item => { const newRes = {}; newRes['resDscr'] = item; extRes.push(newRes); }); this.exportDublinCore.exportResourceDescription(outputPath, project, extRes, (res) => { if (res.result === "ok") { console.log(`file ${filepath} completed successfully!!`); } else { console.log(`file ${filepath} completed with errors!!`); } }); } }); } } exports.ImportDublinCoreTest = ImportDublinCoreTest;