UNPKG

@noggin/elastic-noggin-sdk

Version:
54 lines (53 loc) 2.31 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getLangs = exports.nowVar = exports.locale = void 0; const operators_1 = require("rxjs/operators"); const rxjs_1 = require("rxjs"); const read_1 = require("./read"); const moment_timezone_1 = __importDefault(require("moment-timezone")); const lodash_1 = require("lodash"); function locale(enSrvOptions) { if (enSrvOptions.locale) { return (0, rxjs_1.of)(enSrvOptions.locale); } return (0, read_1.read)("app/locale", enSrvOptions).pipe((0, operators_1.first)(), (0, operators_1.map)((localeEno) => { enSrvOptions.locale = { lang: localeEno.getFieldStringValue("app/type/locale:locale-id"), timezone: localeEno.getFieldStringValue("app/type/locale:timezone"), dateFormat: localeEno.getFieldStringValue("app/type/locale:dateformat"), datetimeFormat: localeEno.getFieldStringValue("app/type/locale:datetimeformat"), }; return enSrvOptions.locale; })); } exports.locale = locale; function nowVar(enSrvOptions) { return locale(enSrvOptions).pipe((0, operators_1.map)((locale) => locale.timezone), (0, operators_1.catchError)((err) => (0, rxjs_1.of)("UTC")), (0, operators_1.map)((timezone) => (0, moment_timezone_1.default)().tz(timezone).format("YYYY-MM-DDTHH:mm:ssZZ"))); } exports.nowVar = nowVar; function getLangs(enSrvOptions, lang, includeFallbackLang = true) { const langs = []; if (lang) { if ((0, lodash_1.isArray)(lang)) { lang.forEach((val) => langs.push(val)); } else { langs.push(lang); } } return includeFallbackLang ? locale(enSrvOptions).pipe((0, operators_1.map)((locale) => locale.lang), (0, operators_1.catchError)((err) => (0, rxjs_1.of)("en-us")), (0, operators_1.map)((systemLang) => { if (langs.indexOf(systemLang) === -1) { langs.push(systemLang); } if (langs.indexOf("en-us") === -1) { langs.push("en-us"); } return langs; })) : (0, rxjs_1.of)(langs); } exports.getLangs = getLangs;