UNPKG

trm-core

Version:

TRM (Transport Request Manager) Core

72 lines (71 loc) 3.71 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateLangTransport = void 0; const logger_1 = require("../../logger"); const transport_1 = require("../../transport"); exports.generateLangTransport = { name: 'generate-lang-transport', filter: (context) => __awaiter(void 0, void 0, void 0, function* () { if (context.rawInput.publishData.noLanguageTransport) { logger_1.Logger.log(`Skipping LANG transport generation (user input)`, true); return false; } else { return true; } }), run: (context) => __awaiter(void 0, void 0, void 0, function* () { logger_1.Logger.log('Generate LANG transport step', true); logger_1.Logger.loading(`Generating transports...`); logger_1.Logger.loading(`Generating LANG transport...`, true); const aDevc = context.runtime.packageData.tadir.filter(o => o.pgmid === 'R3TR' && o.object === 'DEVC'); context.runtime.systemData.langTransport = yield transport_1.Transport.createToc({ trmIdentifier: transport_1.TrmTransportIdentifier.LANG, target: context.rawInput.systemData.transportTarget, text: `@X1@TRM: ${context.rawInput.packageData.name} v${context.rawInput.packageData.version} (L)` }); var iLanguageObjects = 0; try { yield context.runtime.systemData.langTransport.addTranslations(aDevc.map(o => o.objName)); iLanguageObjects = (yield context.runtime.systemData.langTransport.getE071()).length; } catch (e) { logger_1.Logger.warning(`Language transport generation error!`); logger_1.Logger.error(e, true); } finally { if (iLanguageObjects === 0) { logger_1.Logger.info(`Language transport has no content, deleting.`, true); yield context.runtime.systemData.langTransport.delete(); context.runtime.systemData.langTransport = undefined; } } }), revert: (context) => __awaiter(void 0, void 0, void 0, function* () { logger_1.Logger.log('Rollback generate LANG transport step', true); if (context.runtime.systemData.langTransport) { try { if (yield context.runtime.systemData.langTransport.canBeDeleted()) { yield context.runtime.systemData.langTransport.delete(); logger_1.Logger.success(`Executed rollback on transport ${context.runtime.systemData.langTransport.trkorr}`, true); } else { throw new Error(`Transport ${context.runtime.systemData.langTransport.trkorr} cannot be deleted (released?)`); } } catch (e) { logger_1.Logger.error(`Unable to rollback transport ${context.runtime.systemData.langTransport.trkorr}!`); logger_1.Logger.error(e.toString(), true); } } }) };