UNPKG

translate-maker

Version:

Lightweight translation module. Internationalize your great project.

98 lines (77 loc) 2.51 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _Adapter = _interopRequireDefault(require("./Adapter")); var _File = require("./File"); function defaultGetData(_x, _x2) { return _defaultGetData.apply(this, arguments); } function _defaultGetData() { _defaultGetData = (0, _asyncToGenerator2.default)(function* (url, parse) { return new Promise((resolve, reject) => { try { const XHRClass = window.XMLHttpRequest || window.ActiveXObject; const xhr = new XHRClass('MSXML2.XMLHTTP.3.0'); xhr.onreadystatechange = () => { if (xhr.readyState > 3) { resolve(parse(xhr.responseText)); } }; xhr.open('GET', url, true); xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); xhr.send(); } catch (e) { reject(e); } }); }); return _defaultGetData.apply(this, arguments); } class XHR extends _Adapter.default { constructor(options = {}) { if (!options.path) { throw new Error('You need to set path'); } super((0, _objectSpread2.default)({ path: undefined, resolvePath: _File.defaultResolvePath, parse: JSON.parse, ext: '.json', getData: defaultGetData, setData: undefined }, options)); } get(locale, namespace) { var _this = this; return (0, _asyncToGenerator2.default)(function* () { if (typeof namespace === 'function') { return _this.get(locale, null, namespace); } const options = _this.getOptions(); const { resolvePath, getData, parse } = options; const path = resolvePath(locale, namespace, options); return getData(path, parse); })(); } set(locale, value, namespace) { var _this2 = this; return (0, _asyncToGenerator2.default)(function* () { if (typeof namespace === 'function') { return _this2.set(locale, value, null, namespace); } throw new Error('XHR adapter is read only'); })(); } } exports.default = XHR; //# sourceMappingURL=XHR.js.map