UNPKG

minecraft-utils-shared

Version:

Shared utils for Minecraft Bedrock / Forge development related utilities.

69 lines (65 loc) 1.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _chalk = _interopRequireDefault(require("chalk")); var _fs = _interopRequireDefault(require("fs")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * @file Minecraft Utils Shared - JSON file * @license Apache-2.0 * @author Markus@Bordihn.de (Markus Bordihn) */ /** * @param {string} file * @returns */ const read = file => { if (!_fs.default.existsSync(file)) { console.error(_chalk.default.red('Unable to find JSON file', file)); return; } const fileContent = _fs.default.readFileSync(file); try { return JSON.parse(fileContent); } catch (error) { console.error(_chalk.default.red('Unable to parse JSON file', file, ':', error)); } }; /** * @param {string} file * @param {Object} content * @param {Object} options */ const write = (file, content = {}, options = {}) => { if (_fs.default.existsSync(file)) { if (!options.overwrite) { console.error(_chalk.default.red('JSON file already exists under', file)); return; } else { console.warn(_chalk.default.orange('Overwriting existing json file', file)); } } _fs.default.writeFileSync(file, JSON.stringify(content, null, 2)); }; /** * @param {string} file * @param {Object} new_content */ const add = (file, new_content) => { const existingContent = read(file); const newContent = { ...existingContent, ...new_content }; write(file, newContent, { overwrite: true }); }; var _default = { add, read, write }; exports.default = _default;