lokalise
Version:
A tool to retrieve your localization files from lokali.se
77 lines (63 loc) • 2.68 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.bundle = undefined;
var _request = require('request');
var _request2 = _interopRequireDefault(_request);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
var bundle = exports.bundle = function bundle(apiToken, projectId) {
return new Promise(function (resolve, reject) {
return _request2.default.post({
url: 'https://api.lokalise.com/api2/projects/' + projectId + '/files/download',
json: true,
body: {
format: 'json',
original_filenames: false,
replace_breaks: false,
bundle_filename: '%PROJECT_NAME%-intl.zip',
bundle_structure: '%LANG_ISO%.%FORMAT%'
},
headers: {
'x-api-token': apiToken,
'content-type': 'application/json'
}
}, function () {
var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(err, httpResponse, body) {
return regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
if (!err) {
_context.next = 2;
break;
}
return _context.abrupt('return', reject(err));
case 2:
if (!(httpResponse.statusCode >= 400)) {
_context.next = 8;
break;
}
if (!(body && body.error && body.error.message)) {
_context.next = 7;
break;
}
return _context.abrupt('return', reject(new Error('API Error: ' + body.error.message)));
case 7:
return _context.abrupt('return', reject(new Error('HTTP Error ' + httpResponse.statusCode)));
case 8:
resolve(body.bundle_url);
case 9:
case 'end':
return _context.stop();
}
}
}, _callee, undefined);
}));
return function (_x, _x2, _x3) {
return _ref.apply(this, arguments);
};
}());
});
};