UNPKG

react-intl-po

Version:

Extract POT from react-intl and convert back to json.

63 lines (43 loc) 2.38 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /* eslint-disable no-console */ var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs); var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk); var _ramda = require('ramda'); var R = _interopRequireWildcard(_ramda); var _readAllMessageAsObjectSync = require('./readAllMessageAsObjectSync'); var _readAllMessageAsObjectSync2 = _interopRequireDefault(_readAllMessageAsObjectSync); var _potFormater = require('./potFormater'); var _potFormater2 = _interopRequireDefault(_potFormater); var _potHeader = require('./potHeader'); var _potHeader2 = _interopRequireDefault(_potHeader); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function extractAndWritePOTFromMessagesSync(srcPatterns, _ref) { var _ref$messageKey = _ref.messageKey, messageKey = _ref$messageKey === undefined ? 'defaultMessage' : _ref$messageKey, _ref$messageContext = _ref.messageContext, messageContext = _ref$messageContext === undefined ? '' : _ref$messageContext, output = _ref.output, headerOptions = _ref.headerOptions; var result = R.pipe(_readAllMessageAsObjectSync2.default, // 1. Object { messagekey: { messageContext: [[] , []] } } _potFormater2.default, // 2. String: pot formated R.concat((0, _potHeader2.default)(_extends({ potCreationDate: new Date(), charset: 'UTF-8', encoding: '8bit' }, headerOptions))) // 3. String: with pot head )(srcPatterns, messageKey, messageContext); // Output _fs2.default.writeFileSync(output, result); console.log(_chalk2.default.green('> [react-intl-po] write file -> ' + output + ' \u2714\uFE0F\n')); } exports.default = extractAndWritePOTFromMessagesSync; module.exports = exports['default'];