Repository URL to install this package:
|
Version:
6.1.0 ▾
|
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getResourceConfiguration = exports.readJsonFile = exports.writeJsonFile = void 0;
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _fs = _interopRequireDefault(require("fs"));
var _path = _interopRequireDefault(require("path"));
var _util = require("util");
var writeFileAsync = (0, _util.promisify)(_fs.default.writeFile);
var 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
*/
var writeJsonFile = /*#__PURE__*/function () {
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(file, messages) {
var content;
return _regenerator.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
content = JSON.stringify(messages);
try {
_path.default.dirname(file).split('/').reduce(function (currentPath, directory) {
if (!_fs.default.existsSync(currentPath)) {
_fs.default.mkdirSync(currentPath);
}
return "".concat(currentPath, "/").concat(directory);
});
} catch (e) {// ignore
}
return _context.abrupt("return", writeFileAsync(file, content));
case 3:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return function writeJsonFile(_x, _x2) {
return _ref.apply(this, arguments);
};
}();
/**
* Read a JSON file and parse the contents
*
* @param {string} file
* @returns {Promise<object>}
* @async
*/
exports.writeJsonFile = writeJsonFile;
var readJsonFile = /*#__PURE__*/function () {
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(file) {
var content;
return _regenerator.default.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return readFileAsync(file);
case 2:
content = _context2.sent;
return _context2.abrupt("return", JSON.parse(content));
case 4:
case "end":
return _context2.stop();
}
}
}, _callee2);
}));
return function readJsonFile(_x3) {
return _ref2.apply(this, arguments);
};
}();
/**
* Read OneSky resource configuration file, `.oneskyrc`
*
* @param {string} file
* @returns {Promise<object>}
* @async
*/
exports.readJsonFile = readJsonFile;
var getResourceConfiguration = /*#__PURE__*/function () {
var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
var file,
_args3 = arguments;
return _regenerator.default.wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
file = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : "".concat(process.cwd(), "/.oneskyrc");
return _context3.abrupt("return", readJsonFile(file));
case 2:
case "end":
return _context3.stop();
}
}
}, _callee3);
}));
return function getResourceConfiguration() {
return _ref3.apply(this, arguments);
};
}();
exports.getResourceConfiguration = getResourceConfiguration;
//# sourceMappingURL=utils.js.map