UNPKG

attranslate

Version:

Semi-automated Text Translator for Websites and Apps

38 lines (37 loc) 1.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.readRawJson = exports.readManagedJson = exports.writeRawJson = exports.writeManagedJson = void 0; const util_1 = require("../../util/util"); const managed_utf8_1 = require("./managed-utf8"); function stringifyJson(obj) { return JSON.stringify(obj, null, 2); } function writeManagedJson(args) { const jsonString = stringifyJson(args.object); return (0, managed_utf8_1.writeManagedUtf8)({ path: args.path, utf8: jsonString, }); } exports.writeManagedJson = writeManagedJson; function writeRawJson(args) { (0, util_1.writeUtf8File)(args.path, stringifyJson(args.object) + "\n"); } exports.writeRawJson = writeRawJson; function readManagedJson(path) { const { object, jsonString } = readRawJson(path); (0, managed_utf8_1.insertUtf8Cache)({ path, utf8: jsonString }); return object; } exports.readManagedJson = readManagedJson; function readRawJson(path) { try { const jsonString = (0, util_1.readUtf8File)(path); return { object: JSON.parse(jsonString), jsonString }; } catch (e) { console.error(e); (0, util_1.logFatal)(`Failed to parse ${(0, util_1.getDebugPath)(path)}.`); } } exports.readRawJson = readRawJson;