Repository URL to install this package:
|
Version:
5.0.0-rc.15 ▾
|
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getResourceConfiguration = exports.readJsonFile = exports.writeJsonFile = void 0;
var _fs = _interopRequireDefault(require("fs"));
var _path = _interopRequireDefault(require("path"));
var _util = require("util");
const writeFileAsync = (0, _util.promisify)(_fs.default.writeFile);
const readFileAsync = (0, _util.promisify)(_fs.default.readFile);
/**
* File utilities
*
* @module @doodle/i18n/onesky/dist/utils
*/
/**
* Write a JSON object to a file
*
* @param {String} file
* @param {object} messages
* @returns {Promise}
* @async
*/
const writeJsonFile = async (file, messages) => {
const content = JSON.stringify(messages);
try {
_path.default.dirname(file).split('/').reduce((currentPath, directory) => {
if (!_fs.default.existsSync(currentPath)) {
_fs.default.mkdirSync(currentPath);
}
return `${currentPath}/${directory}`;
});
} catch (e) {// ignore
}
return writeFileAsync(file, content);
};
/**
* Read a JSON file and parse the contents
*
* @param {string} file
* @returns {Promise<object>}
* @async
*/
exports.writeJsonFile = writeJsonFile;
const readJsonFile = async file => {
const content = await readFileAsync(file);
return JSON.parse(content);
};
/**
* Read OneSky resource configuration file, `.oneskyrc`
*
* @param {string} file
* @returns {Promise<object>}
* @async
*/
exports.readJsonFile = readJsonFile;
const getResourceConfiguration = async (file = `${process.cwd()}/.oneskyrc`) => readJsonFile(file);
exports.getResourceConfiguration = getResourceConfiguration;
//# sourceMappingURL=utils.js.map