UNPKG

tc-source-content-updater

Version:

Module that updates source content for the desktop application translationCore.

49 lines (40 loc) 2.02 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateBibleManifest = generateBibleManifest; var _fsExtra = require('fs-extra'); var _fsExtra2 = _interopRequireDefault(_fsExtra); var _pathExtra = require('path-extra'); var _pathExtra2 = _interopRequireDefault(_pathExtra); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * generate manifest.json * @param {Object} oldManifest - old manifest data * @param {String} RESOURCE_OUTPUT_PATH - folder to store manifest.json * @param {Object} resource * @return {Object} new manifest data */ /* eslint-disable camelcase */ function generateBibleManifest(oldManifest, RESOURCE_OUTPUT_PATH, resource) { const newManifest = {}; newManifest.dublin_core = oldManifest.dublin_core; // preserve original manifest data newManifest.checking = oldManifest.checking; newManifest.projects = oldManifest.projects; newManifest.original_manifest = oldManifest; // copy some data for more convenient access newManifest.language_id = oldManifest.dublin_core.language.identifier; newManifest.language_name = oldManifest.dublin_core.language.title; newManifest.direction = oldManifest.dublin_core.language.direction; newManifest.subject = oldManifest.dublin_core.subject; newManifest.resource_id = oldManifest.dublin_core.identifier; newManifest.resource_title = oldManifest.dublin_core.title; const remoteModifiedTime = resource && resource.remoteModifiedTime || new Date().toJSON(); newManifest.remoteModifiedTime = remoteModifiedTime; const oldMainfestIdentifier = oldManifest.dublin_core.identifier.toLowerCase(); const identifiers = ['ugnt', 'ubh']; newManifest.description = identifiers.includes(oldMainfestIdentifier) ? 'Original Language' : 'Gateway Language'; const savePath = _pathExtra2.default.join(RESOURCE_OUTPUT_PATH, 'manifest.json'); _fsExtra2.default.writeFileSync(savePath, JSON.stringify(newManifest, null, 2)); return newManifest; }