@lskjs/uapp
Version:
LSK universal react app wrapper
35 lines (33 loc) • 1.29 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = getLocale;
var _env = require("@lskjs/env");
var _jsCookie = _interopRequireDefault(require("js-cookie"));
var _querystring = _interopRequireDefault(require("querystring"));
/* global window */
function getWindowLocale() {
var locale = window.navigator.userLanguage || window.navigator.language;
if (!locale) return null;
return locale.split('-')[0];
}
function getLocale() {
// eslint-disable-next-line @typescript-eslint/no-this-alias
var uapp = this;
var locale = uapp && uapp.req && uapp.req.locale;
if (locale) return locale;
if (_env.isClient) {
if (window.__ROOT_STATE__ && window.__ROOT_STATE__.req && window.__ROOT_STATE__.req.locale) {
return window.__ROOT_STATE__.req.locale;
}
var wls = window.location.search;
var wQuery = wls.startsWith('?') ? _querystring["default"].parse(wls.substr(1)) : {};
if (wQuery && wQuery.__locale) return wQuery.__locale;
if (_jsCookie["default"].get('locale')) return _jsCookie["default"].get('locale');
if (getWindowLocale()) return getWindowLocale();
}
return null;
}
//# sourceMappingURL=getLocale.js.map