UNPKG

attranslate

Version:

Semi-automated Text Translator for Websites and Apps

38 lines (37 loc) 1.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.writeiOSFile = void 0; const ios_read_1 = require("./ios-read"); const managed_utf8_1 = require("../common/managed-utf8"); function writeiOSFile(args, cache) { const outLines = []; args.tSet.forEach((value, key) => { const oldChunk = cache.lookup({ path: args.path, key }); let newChunk; if (oldChunk) { newChunk = convertOldChunkIntoNewChunk(oldChunk, value); } else { newChunk = createNewChunk(key, value); } outLines.push(...newChunk.lines); }); outLines.push("\n"); const output = outLines.join("\n"); (0, managed_utf8_1.writeManagedUtf8)({ path: args.path, utf8: output }); } exports.writeiOSFile = writeiOSFile; function createNewChunk(key, newValue) { return { value: newValue, lines: ["", "", `"${key}" = "${newValue}";`], }; } function convertOldChunkIntoNewChunk(oldChunk, newValue) { oldChunk.value = newValue; const valueLine = oldChunk.lines[oldChunk.lines.length - 1]; const token = valueLine.split('"'); token[ios_read_1.VALUE_INDEX] = newValue !== null && newValue !== void 0 ? newValue : ""; oldChunk.lines[oldChunk.lines.length - 1] = token.join('"'); return oldChunk; }