rpx-xui-translation 0.2.2-yesno-translations-fix-v2 → 0.2.3-yesno-translations-fix-v2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -268,6 +268,29 @@
268
268
  }(Dexie__default));
269
269
  var db = new TranslationDB();
270
270
 
271
+ var replacePlaceholders = function (input, replacements) {
272
+ Object.keys(replacements).forEach(function (key) {
273
+ // Ideally use replaceAll here, but that isn't fully compatible with targeted browsers and packaging yet
274
+ var search = "%" + key + "%";
275
+ while (input.indexOf(search) !== -1) {
276
+ input = input.replace(search, replacements[key]);
277
+ }
278
+ });
279
+ return input;
280
+ };
281
+
282
+ var matchCase = function (str1, str2) {
283
+ if (str1.length === 0 || str2.length === 0) {
284
+ return str2;
285
+ }
286
+ if (str1.charAt(0).toUpperCase() === str1.charAt(0)) {
287
+ return "" + str2.charAt(0).toUpperCase() + str2.slice(1);
288
+ }
289
+ else {
290
+ return str2.toLowerCase();
291
+ }
292
+ };
293
+
271
294
  var RpxTranslationService = /** @class */ (function () {
272
295
  function RpxTranslationService(config, http) {
273
296
  this.config = config;
@@ -304,13 +327,28 @@
304
327
  enumerable: true,
305
328
  configurable: true
306
329
  });
307
- RpxTranslationService.prototype.getTranslation = function (phrase, yesOrNoValue) {
330
+ RpxTranslationService.prototype.getTranslation$ = function (phrase) {
331
+ return this.getTranslatedData(phrase).pipe(operators.map(function (t) { return t.phrase; }));
332
+ };
333
+ RpxTranslationService.prototype.getTranslationWithReplacements$ = function (phrase, replacements) {
334
+ return this.getTranslatedData(phrase).pipe(operators.map(function (translatedData) { return replacePlaceholders(translatedData.phrase, replacements); }));
335
+ };
336
+ RpxTranslationService.prototype.getTranslationWithYesOrNo$ = function (phrase, yesOrNoValue) {
337
+ var isYes = (yesOrNoValue === null || yesOrNoValue === void 0 ? void 0 : yesOrNoValue.toLowerCase()) === exports.YesOrNoValue.YES.toLowerCase();
338
+ var isNo = (yesOrNoValue === null || yesOrNoValue === void 0 ? void 0 : yesOrNoValue.toLowerCase()) === exports.YesOrNoValue.NO.toLowerCase();
339
+ return this.getTranslatedData(phrase).pipe(operators.map(function (translatedData) {
340
+ var yesOrNoTranslated = (isYes ? (translatedData.yes || yesOrNoValue) : yesOrNoValue) ||
341
+ (isNo ? (translatedData.no || yesOrNoValue) : yesOrNoValue);
342
+ return matchCase(yesOrNoValue, yesOrNoTranslated);
343
+ }));
344
+ };
345
+ RpxTranslationService.prototype.getTranslatedData = function (phrase) {
308
346
  if (this.observables.hasOwnProperty(phrase)) {
309
347
  return this.observables[phrase];
310
348
  }
311
- return this.translate(phrase, yesOrNoValue);
349
+ return this.translate(phrase);
312
350
  };
313
- RpxTranslationService.prototype.translate = function (phrase, yesOrNoValue) {
351
+ RpxTranslationService.prototype.translate = function (phrase) {
314
352
  var _this = this;
315
353
  var lang = this.language;
316
354
  if (!this.phrases.hasOwnProperty(phrase)) {
@@ -332,19 +370,23 @@
332
370
  }
333
371
  _this.phrases[phrase].next({
334
372
  phrase: phrase + " [Translation in progress]",
335
- yes: 'Yes/No [Translation in progress]',
336
- no: 'Yes/No [Translation in progress]'
373
+ yes: 'Yes [Translation in progress]',
374
+ no: 'No [Translation in progress]'
337
375
  });
338
- _this.load(phrase, lang, !!yesOrNoValue);
376
+ _this.load(phrase, lang);
339
377
  }
340
378
  })).subscribe(function () { });
341
379
  }
342
380
  return this.observables[phrase];
343
381
  };
344
- RpxTranslationService.prototype.load = function (phrase, lang, yesOrNoField) {
382
+ RpxTranslationService.prototype.load = function (phrase, lang) {
345
383
  var _this = this;
346
384
  if (lang === 'en') {
347
- this.phrases[phrase].next({ phrase: phrase });
385
+ this.phrases[phrase].next({
386
+ phrase: phrase,
387
+ yes: 'Yes',
388
+ no: 'No'
389
+ });
348
390
  return;
349
391
  }
350
392
  if (!this.requesting.hasOwnProperty(lang)) {
@@ -361,20 +403,27 @@
361
403
  var url = _this.config.baseUrl + ("/" + lang);
362
404
  var s = _this.http.post(url, {
363
405
  phrases: _this.requesting[lang],
364
- yesOrNoField: yesOrNoField
365
406
  })
366
- .pipe(operators.map(function (t) { return t.translations; }), operators.catchError(function () {
407
+ .pipe(operators.map(function (t) { return t.translations; }), operators.map(function (translations) {
408
+ var translatedData = {};
409
+ Object.keys(translations).forEach(function (p) {
410
+ if (typeof (translations[p]) === 'string') {
411
+ translatedData[p] = { phrase: translations[p] };
412
+ }
413
+ else {
414
+ translatedData[p] = translations[p];
415
+ }
416
+ });
417
+ return translatedData;
418
+ }), operators.catchError(function () {
367
419
  var translations = {};
368
- _this.requesting[lang].forEach(function (p) { return translations[p] = _this.config.testMode ? "[Test translation for " + p + "]" : p; });
420
+ _this.requesting[lang].forEach(function (p) { return (translations[p] = _this.config.testMode ? { phrase: "[Test translation for " + p + "]" } : { phrase: p }); });
369
421
  return rxjs.of(translations);
370
422
  })).subscribe(function (translations) {
371
423
  var toAdd = [];
372
424
  Object.keys(translations).forEach(function (p) {
373
- var translation = {
374
- phrase: translations[p]
375
- };
376
- toAdd.push(Translation.create(p, lang, translation, luxon.DateTime.now().plus(_this.config.validity).toISO()));
377
- _this.phrases[p].next(translation);
425
+ toAdd.push(Translation.create(p, lang, translations[p], luxon.DateTime.now().plus(_this.config.validity).toISO()));
426
+ _this.phrases[p].next(translations[p]);
378
427
  });
379
428
  db.translations.bulkAdd(toAdd);
380
429
  _this.requesting[lang] = [];
@@ -402,65 +451,35 @@
402
451
  return RpxTranslationService;
403
452
  }());
404
453
 
405
- var replacePlaceholders = function (input, replacements) {
406
- Object.keys(replacements).forEach(function (key) {
407
- // Ideally use replaceAll here, but that isn't fully compatible with targeted browsers and packaging yet
408
- var search = "%" + key + "%";
409
- while (input.indexOf(search) !== -1) {
410
- input = input.replace(search, replacements[key]);
411
- }
412
- });
413
- return input;
414
- };
415
-
416
- var matchCase = function (str1, str2) {
417
- if (str1.length === 0 || str2.length === 0) {
418
- return str2;
419
- }
420
- if (str1.charAt(0).toUpperCase() === str1.charAt(0)) {
421
- return "" + str2.charAt(0).toUpperCase() + str2.slice(1);
422
- }
423
- else {
424
- return str2.toLowerCase();
425
- }
426
- };
427
-
428
- var RpxTranslatePipe = /** @class */ (function (_super) {
429
- __extends(RpxTranslatePipe, _super);
430
- function RpxTranslatePipe(translationService, ref) {
431
- var _this = _super.call(this, ref) || this;
432
- _this.translationService = translationService;
433
- return _this;
454
+ var RpxTranslatePipe = /** @class */ (function () {
455
+ function RpxTranslatePipe(translationService, injector) {
456
+ this.translationService = translationService;
457
+ this.injector = injector;
458
+ this.asyncPipe = new common.AsyncPipe(injector.get(core.ChangeDetectorRef));
434
459
  }
435
460
  RpxTranslatePipe.prototype.transform = function (value, replacements, yesOrNoValue) {
436
461
  if (typeof value === 'string') {
437
- var retString = void 0;
438
- var o = this.translationService.getTranslation(value, yesOrNoValue);
439
- var ret = _super.prototype.transform.call(this, o);
440
- if (ret) {
441
- var isYes = (yesOrNoValue === null || yesOrNoValue === void 0 ? void 0 : yesOrNoValue.toLowerCase()) === exports.YesOrNoValue.YES.toLowerCase();
442
- var isNo = (yesOrNoValue === null || yesOrNoValue === void 0 ? void 0 : yesOrNoValue.toLowerCase()) === exports.YesOrNoValue.NO.toLowerCase();
443
- if (replacements) {
444
- retString = replacePlaceholders(ret.phrase, replacements);
445
- }
446
- else if (isYes || isNo) {
447
- retString = isYes ? ((ret === null || ret === void 0 ? void 0 : ret.yes) || yesOrNoValue) : ((ret === null || ret === void 0 ? void 0 : ret.no) || yesOrNoValue);
448
- matchCase(retString, yesOrNoValue);
449
- }
450
- else {
451
- retString = ret.phrase;
452
- }
462
+ var o = void 0;
463
+ if (replacements) {
464
+ o = this.translationService.getTranslationWithReplacements$(value, replacements);
465
+ }
466
+ else if (yesOrNoValue) {
467
+ o = this.translationService.getTranslationWithYesOrNo$(value, yesOrNoValue);
453
468
  }
454
469
  else {
455
- retString = yesOrNoValue ? yesOrNoValue : value;
470
+ o = this.translationService.getTranslation$(value);
456
471
  }
457
- return retString;
472
+ var ret = this.asyncPipe.transform(o);
473
+ return ret;
458
474
  }
459
475
  return null;
460
476
  };
477
+ RpxTranslatePipe.prototype.ngOnDestroy = function () {
478
+ this.asyncPipe.ngOnDestroy();
479
+ };
461
480
  RpxTranslatePipe.ctorParameters = function () { return [
462
481
  { type: RpxTranslationService },
463
- { type: core.ChangeDetectorRef }
482
+ { type: core.Injector }
464
483
  ]; };
465
484
  RpxTranslatePipe = __decorate([
466
485
  core.Pipe({
@@ -469,7 +488,7 @@
469
488
  })
470
489
  ], RpxTranslatePipe);
471
490
  return RpxTranslatePipe;
472
- }(common.AsyncPipe));
491
+ }());
473
492
 
474
493
  var RpxTranslationModule = /** @class */ (function () {
475
494
  function RpxTranslationModule() {
@@ -1 +1 @@
1
- {"version":3,"file":"rpx-xui-translation.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://rpx-xui-translation/lib/rpx-language.enum.ts","ng://rpx-xui-translation/lib/rpx-translation.config.ts","ng://rpx-xui-translation/lib/db.ts","ng://rpx-xui-translation/lib/rpx-translation.service.ts","ng://rpx-xui-translation/lib/helpers/replace-placeholders/replace-placeholders.helper.ts","ng://rpx-xui-translation/lib/helpers/match-case/match-case.helper.ts","ng://rpx-xui-translation/lib/rpx-translate.pipe.ts","ng://rpx-xui-translation/lib/rpx-translation.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","export type RpxLanguage = 'en' | 'cy';\nexport enum YesOrNoValue {\n YES = 'Yes',\n NO = 'No',\n}\n","export type ValidityDurationSpec = {\n years?: number;\n quarters?: number;\n months?: number;\n weeks?: number;\n days?: number;\n hours?: number;\n minutes?: number;\n seconds?: number;\n milliseconds?: number;\n};\n\nexport class RpxTranslationConfig {\n validity: ValidityDurationSpec;\n baseUrl: string;\n\n debounceTimeMs = 300;\n testMode = false;\n}\n","import Dexie, { Table } from 'dexie';\nimport { DateTime } from 'luxon';\nimport { RpxLanguage } from './rpx-language.enum';\nimport { TranslatedData } from './helpers/models/translated-data.model';\n\nexport class Translation {\n id?: number;\n phrase: string;\n lang: RpxLanguage;\n translation: TranslatedData;\n validity: string;\n\n public static create(phrase: string, lang: RpxLanguage, translation: TranslatedData, validity: string): Translation {\n const t = new Translation();\n t.phrase = phrase;\n t.lang = lang;\n t.translation = translation;\n t.validity = validity;\n return t;\n }\n\n isExpired(): boolean {\n return DateTime.fromISO(this.validity) < DateTime.now();\n }\n}\n\nexport class TranslationDB extends Dexie {\n translations: Table<Translation, number>;\n\n constructor() {\n super('RpxTranslations');\n this.version(1).stores({\n translations: '++id, [phrase+lang]'\n });\n this.translations.mapToClass(Translation);\n }\n}\n\nexport const db = new TranslationDB();\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { liveQuery } from 'dexie';\nimport { DateTime } from 'luxon';\nimport { BehaviorSubject, from, Observable, of, Subscription, timer } from 'rxjs';\nimport { catchError, map, tap } from 'rxjs/operators';\nimport { db, Translation } from './db';\nimport { RpxLanguage } from './rpx-language.enum';\nimport { RpxTranslationConfig } from './rpx-translation.config';\nimport { TranslatedData } from './helpers/models/translated-data.model';\n\ninterface TranslationsDTO {\n translations: { [from: string]: string };\n}\n\nexport type Replacements = { [key: string]: string };\n\n@Injectable()\nexport class RpxTranslationService {\n private currentLanguage: RpxLanguage = 'en';\n private languageKey = 'exui-preferred-language';\n\n private phrases: { [phrase: string]: BehaviorSubject<TranslatedData> } = {};\n private observables: { [phrase: string]: Observable<TranslatedData> } = {};\n private requesting: { [lang: string]: string[] } = {};\n private requestTimerSubscription: Subscription | null;\n private languageSource: BehaviorSubject<RpxLanguage> = new BehaviorSubject<RpxLanguage>(this.currentLanguage);\n public language$: Observable<RpxLanguage>;\n\n public set language(lang: RpxLanguage) {\n if (lang !== this.currentLanguage) {\n this.currentLanguage = lang;\n this.persistLanguage();\n this.languageSource.next(lang);\n Object.keys(this.phrases).forEach(phrase => this.translate(phrase));\n }\n }\n\n public get language(): RpxLanguage {\n return this.currentLanguage;\n }\n\n constructor(\n private config: RpxTranslationConfig,\n private http: HttpClient\n ) {\n const persistedLanguage = this.getPersistedLanguage();\n if (persistedLanguage) {\n this.language = persistedLanguage;\n } else {\n // no language persisted yet, save default\n this.persistLanguage();\n }\n this.language$ = this.languageSource.asObservable();\n }\n\n public getTranslation(phrase: string, yesOrNoValue?: string): Observable<TranslatedData> {\n if (this.observables.hasOwnProperty(phrase)) {\n return this.observables[phrase];\n }\n\n return this.translate(phrase, yesOrNoValue);\n }\n\n public translate(phrase: string, yesOrNoValue?: string): Observable<TranslatedData> {\n const lang = this.language;\n if (!this.phrases.hasOwnProperty(phrase)) {\n this.phrases[phrase] = new BehaviorSubject<TranslatedData>({phrase});\n this.observables[phrase] = this.phrases[phrase].asObservable();\n }\n\n if (lang === 'en') {\n this.phrases[phrase].next({phrase});\n } else {\n from(liveQuery(() => db.translations.where('[phrase+lang]').equals([phrase, lang]).first())).pipe(\n tap(t => {\n if (t && !t.isExpired()) {\n this.phrases[phrase].next(t.translation);\n } else {\n if (t) {\n // expired, clean up DB\n db.translations.delete(t.id!);\n }\n this.phrases[phrase].next({\n phrase: `${phrase} [Translation in progress]`,\n yes: 'Yes/No [Translation in progress]',\n no: 'Yes/No [Translation in progress]'\n });\n this.load(phrase, lang, !!yesOrNoValue);\n }\n })\n ).subscribe(() => { });\n }\n\n return this.observables[phrase];\n }\n\n private load(phrase: string, lang: RpxLanguage, yesOrNoField: boolean): void {\n if (lang === 'en') {\n this.phrases[phrase].next({phrase});\n return;\n }\n\n if (!this.requesting.hasOwnProperty(lang)) {\n this.requesting[lang] = [];\n }\n\n if (this.requesting[lang].indexOf(phrase) !== -1) {\n return;\n }\n\n this.requesting[lang].push(phrase);\n\n if (this.requestTimerSubscription) {\n this.requestTimerSubscription.unsubscribe();\n }\n\n this.requestTimerSubscription = timer(this.config.debounceTimeMs).subscribe(() => {\n const url = this.config.baseUrl + `/${lang}`;\n const s = this.http.post<TranslationsDTO>(url,\n {\n phrases: this.requesting[lang],\n yesOrNoField\n }\n )\n .pipe(\n map(t => t.translations),\n catchError(() => {\n const translations: { [from: string]: string } = {};\n this.requesting[lang].forEach(p => translations[p] = this.config.testMode ? `[Test translation for ${p}]` : p);\n return of(translations);\n })\n ).subscribe((translations: { [from: string]: string }) => {\n const toAdd: Translation[] = [];\n Object.keys(translations).forEach(p => {\n const translation: TranslatedData = {\n phrase: translations[p]\n };\n toAdd.push(Translation.create(p, lang, translation, DateTime.now().plus(this.config.validity).toISO()));\n this.phrases[p].next(translation);\n });\n db.translations.bulkAdd(toAdd);\n this.requesting[lang] = [];\n this.requestTimerSubscription!.unsubscribe();\n this.requestTimerSubscription = null;\n s.unsubscribe();\n });\n });\n }\n\n private persistLanguage(): void {\n document.cookie = `${this.languageKey}=${this.currentLanguage};`;\n }\n\n private getPersistedLanguage(): RpxLanguage {\n return document.cookie.split(';').find(cookie => cookie.trim().startsWith(this.languageKey + '='))?.split('=')[1].trim() as RpxLanguage;\n }\n}\n","import { Replacements } from '../../rpx-translation.service';\n\nexport const replacePlaceholders = (input: string, replacements: Replacements) => {\n Object.keys(replacements).forEach(key => {\n // Ideally use replaceAll here, but that isn't fully compatible with targeted browsers and packaging yet\n const search = `%${key}%`;\n while (input.indexOf(search) !== -1) {\n input = input.replace(search, replacements[key]);\n }\n });\n\n return input;\n};\n","export const matchCase = (str1: string, str2: string) => {\n if (str1.length === 0 || str2.length === 0) {\n return str2;\n }\n\n if (str1.charAt(0).toUpperCase() === str1.charAt(0)) {\n return `${str2.charAt(0).toUpperCase()}${str2.slice(1)}`;\n } else {\n return str2.toLowerCase();\n }\n};\n","import { AsyncPipe } from '@angular/common';\nimport { ChangeDetectorRef, Pipe, PipeTransform } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { Replacements, RpxTranslationService } from './rpx-translation.service';\nimport { YesOrNoValue } from './rpx-language.enum';\nimport { TranslatedData } from './helpers/models/translated-data.model';\nimport { replacePlaceholders } from './helpers/replace-placeholders/replace-placeholders.helper';\nimport { matchCase } from './helpers/match-case/match-case.helper';\n\n@Pipe({\n name: 'rpxTranslate',\n pure: false\n})\nexport class RpxTranslatePipe extends AsyncPipe implements PipeTransform {\n constructor(\n private translationService: RpxTranslationService,\n ref: ChangeDetectorRef\n ) {\n super(ref);\n }\n\n transform<T = string>(value: T, replacements?: Replacements | null, yesOrNoValue?: string): T | null {\n if (typeof value === 'string') {\n let retString: string;\n const o: Observable<TranslatedData> = this.translationService.getTranslation(value, yesOrNoValue);\n const ret = super.transform<TranslatedData>(o);\n\n if (ret) {\n const isYes = yesOrNoValue?.toLowerCase() === YesOrNoValue.YES.toLowerCase();\n const isNo = yesOrNoValue?.toLowerCase() === YesOrNoValue.NO.toLowerCase();\n\n if (replacements) {\n retString = replacePlaceholders(ret.phrase, replacements);\n } else if (isYes || isNo) {\n retString = isYes ? (ret?.yes || yesOrNoValue!) : (ret?.no || yesOrNoValue!);\n matchCase(retString, yesOrNoValue!);\n } else {\n retString = ret.phrase;\n }\n } else {\n retString = yesOrNoValue ? yesOrNoValue : value;\n }\n\n return retString as unknown as T;\n }\n\n return null;\n }\n}\n","import { HttpClientModule } from '@angular/common/http';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { RpxTranslatePipe } from './rpx-translate.pipe';\nimport { RpxTranslationConfig } from './rpx-translation.config';\nimport { RpxTranslationService } from './rpx-translation.service';\n\n@NgModule({\n declarations: [RpxTranslatePipe],\n imports: [HttpClientModule],\n exports: [RpxTranslatePipe]\n})\nexport class RpxTranslationModule {\n\n public static forRoot(config: RpxTranslationConfig): ModuleWithProviders {\n return {\n ngModule: RpxTranslationModule,\n providers: [\n {\n provide: RpxTranslationConfig, useValue: config\n },\n RpxTranslationService\n ]\n };\n }\n\n public static forChild(): ModuleWithProviders {\n return {\n ngModule: RpxTranslationModule\n };\n }\n}\n"],"names":["YesOrNoValue","DateTime","Dexie","BehaviorSubject","from","liveQuery","tap","timer","map","catchError","of","HttpClient","Injectable","ChangeDetectorRef","Pipe","AsyncPipe","NgModule","HttpClientModule"],"mappings":";;;;;;;;IAAA;IACA;AACA;IACA;IACA;AACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;AACA;IACA,IAAI,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE;IACnC,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc;IACzC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;IACpF,QAAQ,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,IAAI,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;AACF;IACO,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE;IAChC,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,IAAI,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;IAC3C,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;AACD;IACO,IAAI,QAAQ,GAAG,WAAW;IACjC,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAE;IACrD,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAC7D,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,SAAS;IACT,QAAQ,OAAO,CAAC,CAAC;IACjB,MAAK;IACL,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,EAAC;AACD;IACO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACf,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACvF,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;IACvE,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IAChF,YAAY,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,SAAS;IACT,IAAI,OAAO,CAAC,CAAC;IACb,CAAC;AACD;IACO,SAAS,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IAC1D,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACjI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACnI,SAAS,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACtJ,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;AACD;IACO,SAAS,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE;IAC/C,IAAI,OAAO,UAAU,MAAM,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE;IACzE,CAAC;AACD;IACO,SAAS,UAAU,CAAC,WAAW,EAAE,aAAa,EAAE;IACvD,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;AACD;IACO,SAAS,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE;IAC7D,IAAI,SAAS,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAChH,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM,EAAE;IAC/D,QAAQ,SAAS,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACnG,QAAQ,SAAS,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACtG,QAAQ,SAAS,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;IACtH,QAAQ,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,KAAK,CAAC,CAAC;IACP,CAAC;AACD;IACO,SAAS,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE;IAC3C,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrH,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7J,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,OAAO,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;IACtE,IAAI,SAAS,IAAI,CAAC,EAAE,EAAE;IACtB,QAAQ,IAAI,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;IACtE,QAAQ,OAAO,CAAC,EAAE,IAAI;IACtB,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACzK,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACpD,YAAY,QAAQ,EAAE,CAAC,CAAC,CAAC;IACzB,gBAAgB,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM;IAC9C,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxE,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;IACjE,gBAAgB,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IACjE,gBAAgB;IAChB,oBAAoB,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE;IAChI,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;IAC1G,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACzF,oBAAoB,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE;IACvF,oBAAoB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAC1C,oBAAoB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IAC3C,aAAa;IACb,YAAY,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACvC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;IAClE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzF,KAAK;IACL,CAAC;AACD;IACO,SAAS,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;IAC7C,IAAI,IAAI,EAAE,KAAK,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC;IACjC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACD;IACO,SAAS,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE;IACzC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,CAAC;AACD;IACO,SAAS,QAAQ,CAAC,CAAC,EAAE;IAC5B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAClF,IAAI,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,EAAE,OAAO;IAClD,QAAQ,IAAI,EAAE,YAAY;IAC1B,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;IAC/C,YAAY,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IACpD,SAAS;IACT,KAAK,CAAC;IACN,IAAI,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;IAC3F,CAAC;AACD;IACO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACrB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,IAAI;IACR,QAAQ,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACnF,KAAK;IACL,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;IAC3C,YAAY;IACZ,QAAQ,IAAI;IACZ,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,SAAS;IACT,gBAAgB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE;IACzC,KAAK;IACL,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;AACD;IACO,SAAS,QAAQ,GAAG;IAC3B,IAAI,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;IACtD,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;AACD;IACO,SAAS,cAAc,GAAG;IACjC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACxF,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;IACpD,QAAQ,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;IACzE,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,OAAO,CAAC,CAAC;IACb,CAAC,CAAC;AACF;IACO,SAAS,OAAO,CAAC,CAAC,EAAE;IAC3B,IAAI,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;AACD;IACO,SAAS,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE;IACjE,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;IAClE,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1H,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAC9I,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;IACtF,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;IAC5H,IAAI,SAAS,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;AACD;IACO,SAAS,gBAAgB,CAAC,CAAC,EAAE;IACpC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChJ,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;AACD;IACO,SAAS,aAAa,CAAC,CAAC,EAAE;IACjC,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrN,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IACpK,IAAI,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;AACD;IACO,SAAS,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE;IAClD,IAAI,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE;IACnH,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;AACF;IACO,SAAS,YAAY,CAAC,GAAG,EAAE;IAClC,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,OAAO,GAAG,CAAC;IAC1C,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC;IACpB,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACnG,IAAI,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;IACzB,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC;AACD;IACO,SAAS,eAAe,CAAC,GAAG,EAAE;IACrC,IAAI,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;AACD;IACO,SAAS,sBAAsB,CAAC,QAAQ,EAAE,UAAU,EAAE;IAC7D,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;IACnC,QAAQ,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;IAC9E,KAAK;IACL,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;AACD;IACO,SAAS,sBAAsB,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE;IACpE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;IACnC,QAAQ,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;IAC9E,KAAK;IACL,IAAI,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACpC,IAAI,OAAO,KAAK,CAAC;IACjB;;ICxNA,WAAY,YAAY;QACtB,2BAAW,CAAA;QACX,yBAAS,CAAA;IACX,CAAC,EAHWA,oBAAY,KAAZA,oBAAY;;;QCWxB;YAII,mBAAc,GAAG,GAAG,CAAC;YACrB,aAAQ,GAAG,KAAK,CAAC;SACpB;QAAD,2BAAC;IAAD,CAAC;;ICbD;QAAA;SAmBC;QAZiB,kBAAM,GAApB,UAAqB,MAAc,EAAE,IAAiB,EAAE,WAA2B,EAAE,QAAgB;YACjG,IAAM,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC;YAC5B,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;YAClB,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;YACd,CAAC,CAAC,WAAW,GAAG,WAAW,CAAC;YAC5B,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACtB,OAAO,CAAC,CAAC;SACZ;QAED,+BAAS,GAAT;YACI,OAAOC,cAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAGA,cAAQ,CAAC,GAAG,EAAE,CAAC;SAC3D;QACL,kBAAC;IAAD,CAAC,IAAA;IAED;QAAmC,iCAAK;QAGpC;YAAA,YACI,kBAAM,iBAAiB,CAAC,SAK3B;YAJG,KAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACnB,YAAY,EAAE,qBAAqB;aACtC,CAAC,CAAC;YACH,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;;SAC7C;QACL,oBAAC;IAAD,CAVA,CAAmCC,cAAK,GAUvC;IAEM,IAAM,EAAE,GAAG,IAAI,aAAa,EAAE;;;QCInC,+BACU,MAA4B,EAC5B,IAAgB;YADhB,WAAM,GAAN,MAAM,CAAsB;YAC5B,SAAI,GAAJ,IAAI,CAAY;YAzBlB,oBAAe,GAAgB,IAAI,CAAC;YACpC,gBAAW,GAAG,yBAAyB,CAAC;YAExC,YAAO,GAA0D,EAAE,CAAC;YACpE,gBAAW,GAAqD,EAAE,CAAC;YACnE,eAAU,GAAiC,EAAE,CAAC;YAE9C,mBAAc,GAAiC,IAAIC,oBAAe,CAAc,IAAI,CAAC,eAAe,CAAC,CAAC;YAoB5G,IAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACtD,IAAI,iBAAiB,EAAE;gBACrB,IAAI,CAAC,QAAQ,GAAG,iBAAiB,CAAC;aACnC;iBAAM;;gBAEL,IAAI,CAAC,eAAe,EAAE,CAAC;aACxB;YACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;SACrD;QAzBD,sBAAW,2CAAQ;iBASnB;gBACE,OAAO,IAAI,CAAC,eAAe,CAAC;aAC7B;iBAXD,UAAoB,IAAiB;gBAArC,iBAOC;gBANC,IAAI,IAAI,KAAK,IAAI,CAAC,eAAe,EAAE;oBACjC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;oBAC5B,IAAI,CAAC,eAAe,EAAE,CAAC;oBACvB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAA,MAAM,IAAI,OAAA,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAA,CAAC,CAAC;iBACrE;aACF;;;WAAA;QAoBM,8CAAc,GAArB,UAAsB,MAAc,EAAE,YAAqB;YACzD,IAAI,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;gBAC3C,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;aACjC;YAED,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;SAC7C;QAEM,yCAAS,GAAhB,UAAiB,MAAc,EAAE,YAAqB;YAAtD,iBA+BC;YA9BC,IAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;gBACxC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAIA,oBAAe,CAAiB,EAAC,MAAM,QAAA,EAAC,CAAC,CAAC;gBACrE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,CAAC;aAChE;YAED,IAAI,IAAI,KAAK,IAAI,EAAE;gBACjB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAC,MAAM,QAAA,EAAC,CAAC,CAAC;aACrC;iBAAM;gBACLC,SAAI,CAACC,eAAS,CAAC,cAAM,OAAA,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,GAAA,CAAC,CAAC,CAAC,IAAI,CAC/FC,aAAG,CAAC,UAAA,CAAC;oBACH,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE;wBACvB,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;qBAC1C;yBAAM;wBACL,IAAI,CAAC,EAAE;;4BAEL,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAG,CAAC,CAAC;yBAC/B;wBACD,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;4BACxB,MAAM,EAAK,MAAM,+BAA4B;4BAC7C,GAAG,EAAE,kCAAkC;4BACvC,EAAE,EAAE,kCAAkC;yBACvC,CAAC,CAAC;wBACH,KAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;qBACzC;iBACF,CAAC,CACH,CAAC,SAAS,CAAC,eAAS,CAAC,CAAC;aACxB;YAED,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SACjC;QAEO,oCAAI,GAAZ,UAAa,MAAc,EAAE,IAAiB,EAAE,YAAqB;YAArE,iBAmDC;YAlDC,IAAI,IAAI,KAAK,IAAI,EAAE;gBACjB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAC,MAAM,QAAA,EAAC,CAAC,CAAC;gBACpC,OAAO;aACR;YAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;gBACzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;aAC5B;YAED,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;gBAChD,OAAO;aACR;YAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEnC,IAAI,IAAI,CAAC,wBAAwB,EAAE;gBACjC,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAC;aAC7C;YAED,IAAI,CAAC,wBAAwB,GAAGC,UAAK,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC;gBAC1E,IAAM,GAAG,GAAG,KAAI,CAAC,MAAM,CAAC,OAAO,IAAG,MAAI,IAAM,CAAA,CAAC;gBAC7C,IAAM,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,IAAI,CAAkB,GAAG,EAC3C;oBACE,OAAO,EAAE,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC;oBAC9B,YAAY,cAAA;iBACb,CACF;qBACE,IAAI,CACHC,aAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,YAAY,GAAA,CAAC,EACxBC,oBAAU,CAAC;oBACT,IAAM,YAAY,GAA+B,EAAE,CAAC;oBACpD,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAA,CAAC,IAAI,OAAA,YAAY,CAAC,CAAC,CAAC,GAAG,KAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,2BAAyB,CAAC,MAAG,GAAG,CAAC,GAAA,CAAC,CAAC;oBAC/G,OAAOC,OAAE,CAAC,YAAY,CAAC,CAAC;iBACzB,CAAC,CACL,CAAC,SAAS,CAAC,UAAC,YAAwC;oBACnD,IAAM,KAAK,GAAkB,EAAE,CAAC;oBAChC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,UAAA,CAAC;wBACjC,IAAM,WAAW,GAAmB;4BAClC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;yBACxB,CAAC;wBACF,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAET,cAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;wBACxG,KAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;qBACnC,CAAC,CAAC;oBACH,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC/B,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;oBAC3B,KAAI,CAAC,wBAAyB,CAAC,WAAW,EAAE,CAAC;oBAC7C,KAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;oBACrC,CAAC,CAAC,WAAW,EAAE,CAAC;iBACjB,CAAC,CAAC;aACJ,CAAC,CAAC;SACJ;QAEO,+CAAe,GAAvB;YACE,QAAQ,CAAC,MAAM,GAAM,IAAI,CAAC,WAAW,SAAI,IAAI,CAAC,eAAe,MAAG,CAAC;SAClE;QAEO,oDAAoB,GAA5B;YAAA,iBAEC;;YADC,OAAO,MAAA,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,KAAI,CAAC,WAAW,GAAG,GAAG,CAAC,GAAA,CAAC,0CAAE,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAiB,CAAC;SACzI;;oBAjHiB,oBAAoB;oBACtBU,eAAU;;QA1Bf,qBAAqB;YADjCC,eAAU,EAAE;WACA,qBAAqB,CA2IjC;QAAD,4BAAC;KA3ID;;IChBO,IAAM,mBAAmB,GAAG,UAAC,KAAa,EAAE,YAA0B;QAC3E,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,UAAA,GAAG;;YAEnC,IAAM,MAAM,GAAG,MAAI,GAAG,MAAG,CAAC;YAC1B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;gBACnC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;aAClD;SACF,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;;ICZM,IAAM,SAAS,GAAG,UAAC,IAAY,EAAE,IAAY;QAClD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1C,OAAO,IAAI,CAAC;SACb;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YACnD,OAAO,KAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAG,CAAC;SAC1D;aAAM;YACL,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;SAC3B;IACH,CAAC;;;QCGqC,oCAAS;QAC7C,0BACU,kBAAyC,EACjD,GAAsB;YAFxB,YAIE,kBAAM,GAAG,CAAC,SACX;YAJS,wBAAkB,GAAlB,kBAAkB,CAAuB;;SAIlD;QAED,oCAAS,GAAT,UAAsB,KAAQ,EAAE,YAAkC,EAAE,YAAqB;YACvF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC7B,IAAI,SAAS,SAAQ,CAAC;gBACtB,IAAM,CAAC,GAA+B,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;gBAClG,IAAM,GAAG,GAAG,iBAAM,SAAS,YAAiB,CAAC,CAAC,CAAC;gBAE/C,IAAI,GAAG,EAAE;oBACP,IAAM,KAAK,GAAG,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,WAAW,QAAOZ,oBAAY,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;oBAC7E,IAAM,IAAI,GAAG,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,WAAW,QAAOA,oBAAY,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;oBAE3E,IAAI,YAAY,EAAE;wBAChB,SAAS,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;qBAC3D;yBAAM,IAAI,KAAK,IAAI,IAAI,EAAE;wBACxB,SAAS,GAAG,KAAK,IAAI,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,KAAI,YAAa,KAAK,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,EAAE,KAAI,YAAa,CAAC,CAAC;wBAC7E,SAAS,CAAC,SAAS,EAAE,YAAa,CAAC,CAAC;qBACrC;yBAAM;wBACL,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC;qBACxB;iBACF;qBAAM;oBACL,SAAS,GAAG,YAAY,GAAG,YAAY,GAAG,KAAK,CAAC;iBACjD;gBAED,OAAO,SAAyB,CAAC;aAClC;YAED,OAAO,IAAI,CAAC;SACb;;oBAhC6B,qBAAqB;oBAC5Ca,sBAAiB;;QAHb,gBAAgB;YAJ5BC,SAAI,CAAC;gBACJ,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,KAAK;aACZ,CAAC;WACW,gBAAgB,CAmC5B;QAAD,uBAAC;KAAA,CAnCqCC,gBAAS;;;QCF/C;SAmBC;iCAnBY,oBAAoB;QAEjB,4BAAO,GAArB,UAAsB,MAA4B;YAChD,OAAO;gBACL,QAAQ,EAAE,sBAAoB;gBAC9B,SAAS,EAAE;oBACT;wBACE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM;qBAChD;oBACD,qBAAqB;iBACtB;aACF,CAAC;SACH;QAEa,6BAAQ,GAAtB;YACE,OAAO;gBACL,QAAQ,EAAE,sBAAoB;aAC/B,CAAC;SACH;;QAlBU,oBAAoB;YALhCC,aAAQ,CAAC;gBACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;gBAChC,OAAO,EAAE,CAACC,qBAAgB,CAAC;gBAC3B,OAAO,EAAE,CAAC,gBAAgB,CAAC;aAC5B,CAAC;WACW,oBAAoB,CAmBhC;QAAD,2BAAC;KAnBD;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"rpx-xui-translation.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://rpx-xui-translation/lib/rpx-language.enum.ts","ng://rpx-xui-translation/lib/rpx-translation.config.ts","ng://rpx-xui-translation/lib/db.ts","ng://rpx-xui-translation/lib/helpers/replace-placeholders/replace-placeholders.helper.ts","ng://rpx-xui-translation/lib/helpers/match-case/match-case.helper.ts","ng://rpx-xui-translation/lib/rpx-translation.service.ts","ng://rpx-xui-translation/lib/rpx-translate.pipe.ts","ng://rpx-xui-translation/lib/rpx-translation.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","export type RpxLanguage = 'en' | 'cy';\nexport enum YesOrNoValue {\n YES = 'Yes',\n NO = 'No',\n}\n","export type ValidityDurationSpec = {\n years?: number;\n quarters?: number;\n months?: number;\n weeks?: number;\n days?: number;\n hours?: number;\n minutes?: number;\n seconds?: number;\n milliseconds?: number;\n};\n\nexport class RpxTranslationConfig {\n validity: ValidityDurationSpec;\n baseUrl: string;\n\n debounceTimeMs = 300;\n testMode = false;\n}\n","import Dexie, { Table } from 'dexie';\nimport { DateTime } from 'luxon';\nimport { RpxLanguage } from './rpx-language.enum';\nimport { TranslatedData } from './models/translated-data.model';\n\nexport class Translation {\n id?: number;\n phrase: string;\n lang: RpxLanguage;\n translation: TranslatedData;\n validity: string;\n\n public static create(phrase: string, lang: RpxLanguage, translation: TranslatedData, validity: string): Translation {\n const t = new Translation();\n t.phrase = phrase;\n t.lang = lang;\n t.translation = translation;\n t.validity = validity;\n return t;\n }\n\n isExpired(): boolean {\n return DateTime.fromISO(this.validity) < DateTime.now();\n }\n}\n\nexport class TranslationDB extends Dexie {\n translations: Table<Translation, number>;\n\n constructor() {\n super('RpxTranslations');\n this.version(1).stores({\n translations: '++id, [phrase+lang]'\n });\n this.translations.mapToClass(Translation);\n }\n}\n\nexport const db = new TranslationDB();\n","import { Replacements } from '../../rpx-translation.service';\n\nexport const replacePlaceholders = (input: string, replacements: Replacements) => {\n Object.keys(replacements).forEach(key => {\n // Ideally use replaceAll here, but that isn't fully compatible with targeted browsers and packaging yet\n const search = `%${key}%`;\n while (input.indexOf(search) !== -1) {\n input = input.replace(search, replacements[key]);\n }\n });\n\n return input;\n};\n","export const matchCase = (str1: string, str2: string) => {\n if (str1.length === 0 || str2.length === 0) {\n return str2;\n }\n\n if (str1.charAt(0).toUpperCase() === str1.charAt(0)) {\n return `${str2.charAt(0).toUpperCase()}${str2.slice(1)}`;\n } else {\n return str2.toLowerCase();\n }\n};\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { liveQuery } from 'dexie';\nimport { DateTime } from 'luxon';\nimport { BehaviorSubject, from, Observable, of, Subscription, timer } from 'rxjs';\nimport { catchError, map, tap } from 'rxjs/operators';\nimport { db, Translation } from './db';\nimport { RpxLanguage, YesOrNoValue } from './rpx-language.enum';\nimport { RpxTranslationConfig } from './rpx-translation.config';\nimport { TranslatedData } from './models/translated-data.model';\nimport { replacePlaceholders } from './helpers/replace-placeholders/replace-placeholders.helper';\nimport { matchCase } from './helpers/match-case/match-case.helper';\n\ninterface TranslationsDTO {\n translations: { [from: string]: string | TranslatedData };\n}\n\nexport type Replacements = { [key: string]: string };\n\n@Injectable()\nexport class RpxTranslationService {\n private currentLanguage: RpxLanguage = 'en';\n private languageKey = 'exui-preferred-language';\n\n private phrases: { [phrase: string]: BehaviorSubject<TranslatedData> } = {};\n private observables: { [phrase: string]: Observable<TranslatedData> } = {};\n private requesting: { [lang: string]: string[] } = {};\n private requestTimerSubscription: Subscription | null;\n private languageSource: BehaviorSubject<RpxLanguage> = new BehaviorSubject<RpxLanguage>(this.currentLanguage);\n public language$: Observable<RpxLanguage>;\n\n public set language(lang: RpxLanguage) {\n if (lang !== this.currentLanguage) {\n this.currentLanguage = lang;\n this.persistLanguage();\n this.languageSource.next(lang);\n Object.keys(this.phrases).forEach(phrase => this.translate(phrase));\n }\n }\n\n public get language(): RpxLanguage {\n return this.currentLanguage;\n }\n\n constructor(\n private config: RpxTranslationConfig,\n private http: HttpClient\n ) {\n const persistedLanguage = this.getPersistedLanguage();\n if (persistedLanguage) {\n this.language = persistedLanguage;\n } else {\n // no language persisted yet, save default\n this.persistLanguage();\n }\n this.language$ = this.languageSource.asObservable();\n }\n\n public getTranslation$(phrase: string): Observable<string> {\n return this.getTranslatedData(phrase).pipe(\n map(t => t.phrase)\n );\n }\n\n public getTranslationWithReplacements$(phrase: string, replacements: Replacements): Observable<string> {\n return this.getTranslatedData(phrase).pipe(\n map(translatedData => replacePlaceholders(translatedData.phrase, replacements))\n );\n }\n\n public getTranslationWithYesOrNo$(phrase: string, yesOrNoValue: string): Observable<string> {\n const isYes = yesOrNoValue?.toLowerCase() === YesOrNoValue.YES.toLowerCase();\n const isNo = yesOrNoValue?.toLowerCase() === YesOrNoValue.NO.toLowerCase();\n\n return this.getTranslatedData(phrase).pipe(map(translatedData => {\n const yesOrNoTranslated = (isYes ? (translatedData.yes || yesOrNoValue) : yesOrNoValue) ||\n (isNo ? (translatedData.no || yesOrNoValue) : yesOrNoValue);\n return matchCase(yesOrNoValue!, yesOrNoTranslated);\n }\n ));\n }\n\n private getTranslatedData(phrase: string): Observable<TranslatedData> {\n if (this.observables.hasOwnProperty(phrase)) {\n return this.observables[phrase];\n }\n\n return this.translate(phrase);\n }\n\n private translate(phrase: string): Observable<TranslatedData> {\n const lang = this.language;\n if (!this.phrases.hasOwnProperty(phrase)) {\n this.phrases[phrase] = new BehaviorSubject<TranslatedData>({phrase});\n this.observables[phrase] = this.phrases[phrase].asObservable();\n }\n\n if (lang === 'en') {\n this.phrases[phrase].next({phrase});\n } else {\n from(liveQuery(() => db.translations.where('[phrase+lang]').equals([phrase, lang]).first())).pipe(\n tap(t => {\n if (t && !t.isExpired()) {\n this.phrases[phrase].next(t.translation);\n } else {\n if (t) {\n // expired, clean up DB\n db.translations.delete(t.id!);\n }\n this.phrases[phrase].next({\n phrase: `${phrase} [Translation in progress]`,\n yes: 'Yes [Translation in progress]',\n no: 'No [Translation in progress]'\n });\n this.load(phrase, lang);\n }\n }),\n ).subscribe(() => {});\n }\n\n return this.observables[phrase];\n }\n\n private load(phrase: string, lang: RpxLanguage): void {\n if (lang === 'en') {\n this.phrases[phrase].next({\n phrase,\n yes: 'Yes',\n no: 'No'\n });\n return;\n }\n\n if (!this.requesting.hasOwnProperty(lang)) {\n this.requesting[lang] = [];\n }\n\n if (this.requesting[lang].indexOf(phrase) !== -1) {\n return;\n }\n\n this.requesting[lang].push(phrase);\n\n if (this.requestTimerSubscription) {\n this.requestTimerSubscription.unsubscribe();\n }\n\n this.requestTimerSubscription = timer(this.config.debounceTimeMs).subscribe(() => {\n const url = this.config.baseUrl + `/${lang}`;\n const s = this.http.post<TranslationsDTO>(url,\n {\n phrases: this.requesting[lang],\n }\n )\n .pipe(\n map(t => t.translations),\n map(translations => {\n const translatedData: { [from: string]: TranslatedData } = {};\n\n Object.keys(translations).forEach(p => {\n if (typeof(translations[p]) === 'string') {\n translatedData[p] = { phrase: translations[p] as string };\n } else {\n translatedData[p] = translations[p] as TranslatedData;\n }\n });\n\n return translatedData;\n }),\n catchError(() => {\n const translations: { [from: string]: TranslatedData } = {};\n this.requesting[lang].forEach(p => (\n translations[p] = this.config.testMode ? { phrase: `[Test translation for ${p}]` } : { phrase: p })\n );\n return of(translations);\n })\n ).subscribe((translations: { [from: string]: TranslatedData }) => {\n const toAdd: Translation[] = [];\n Object.keys(translations).forEach(p => {\n toAdd.push(Translation.create(p, lang, translations[p], DateTime.now().plus(this.config.validity).toISO()));\n this.phrases[p].next(translations[p]);\n });\n db.translations.bulkAdd(toAdd);\n this.requesting[lang] = [];\n this.requestTimerSubscription!.unsubscribe();\n this.requestTimerSubscription = null;\n s.unsubscribe();\n });\n });\n }\n\n private persistLanguage(): void {\n document.cookie = `${this.languageKey}=${this.currentLanguage};`;\n }\n\n private getPersistedLanguage(): RpxLanguage {\n return document.cookie.split(';').find(cookie => cookie.trim().startsWith(this.languageKey + '='))?.split('=')[1].trim() as RpxLanguage;\n }\n}\n","import { AsyncPipe } from '@angular/common';\nimport { ChangeDetectorRef, Injector, OnDestroy, Pipe, PipeTransform } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { YesOrNoValue } from './rpx-language.enum';\nimport { Replacements, RpxTranslationService } from './rpx-translation.service';\nimport { TranslatedData } from './models/translated-data.model';\nimport { replacePlaceholders } from './helpers/replace-placeholders/replace-placeholders.helper';\nimport { matchCase } from './helpers/match-case/match-case.helper';\n\n@Pipe({\n name: 'rpxTranslate',\n pure: false\n})\nexport class RpxTranslatePipe implements PipeTransform, OnDestroy {\n private asyncPipe: AsyncPipe;\n\n constructor(\n private translationService: RpxTranslationService,\n private injector: Injector\n ) {\n this.asyncPipe = new AsyncPipe(injector.get(ChangeDetectorRef));\n }\n\n public transform<T = string>(value: T, replacements?: Replacements | null, yesOrNoValue?: string): T | null {\n if (typeof value === 'string') {\n let o: Observable<string>;\n if (replacements) {\n o = this.translationService.getTranslationWithReplacements$(value, replacements);\n } else if (yesOrNoValue) {\n o = this.translationService.getTranslationWithYesOrNo$(value, yesOrNoValue);\n } else {\n o = this.translationService.getTranslation$(value);\n }\n\n const ret = this.asyncPipe.transform<string>(o);\n return ret as unknown as T;\n }\n\n return null;\n }\n\n public ngOnDestroy(): void {\n this.asyncPipe.ngOnDestroy();\n }\n}\n","import { HttpClientModule } from '@angular/common/http';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { RpxTranslatePipe } from './rpx-translate.pipe';\nimport { RpxTranslationConfig } from './rpx-translation.config';\nimport { RpxTranslationService } from './rpx-translation.service';\n\n@NgModule({\n declarations: [RpxTranslatePipe],\n imports: [HttpClientModule],\n exports: [RpxTranslatePipe]\n})\nexport class RpxTranslationModule {\n\n public static forRoot(config: RpxTranslationConfig): ModuleWithProviders {\n return {\n ngModule: RpxTranslationModule,\n providers: [\n {\n provide: RpxTranslationConfig, useValue: config\n },\n RpxTranslationService\n ]\n };\n }\n\n public static forChild(): ModuleWithProviders {\n return {\n ngModule: RpxTranslationModule\n };\n }\n}\n"],"names":["YesOrNoValue","DateTime","Dexie","BehaviorSubject","map","from","liveQuery","tap","timer","catchError","of","HttpClient","Injectable","AsyncPipe","ChangeDetectorRef","Injector","Pipe","NgModule","HttpClientModule"],"mappings":"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"}
@@ -12,5 +12,5 @@
12
12
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */function l(e,t){function r(){this.constructor=e}c(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var p;function h(e,t,r,n){var s,i=arguments.length,o=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(o=(i<3?s(o):i>3?s(t,r,o):s(t,r))||o);return i>3&&o&&Object.defineProperty(t,r,o),o}(p=e.YesOrNoValue||(e.YesOrNoValue={})).YES="Yes",p.NO="No";var f=function(){this.debounceTimeMs=300,this.testMode=!1},g=function(){function e(){}return e.create=function(t,r,n,s){var i=new e;return i.phrase=t,i.lang=r,i.translation=n,i.validity=s,i},e.prototype.isExpired=function(){return s.DateTime.fromISO(this.validity)<s.DateTime.now()},e}(),d=new(function(e){function t(){var t=e.call(this,"RpxTranslations")||this;return t.version(1).stores({translations:"++id, [phrase+lang]"}),t.translations.mapToClass(g),t}return l(t,e),t}(u)),b=function(){function e(e,t){this.config=e,this.http=t,this.currentLanguage="en",this.languageKey="exui-preferred-language",this.phrases={},this.observables={},this.requesting={},this.languageSource=new i.BehaviorSubject(this.currentLanguage);var r=this.getPersistedLanguage();r?this.language=r:this.persistLanguage(),this.language$=this.languageSource.asObservable()}return Object.defineProperty(e.prototype,"language",{get:function(){return this.currentLanguage},set:function(e){var t=this;e!==this.currentLanguage&&(this.currentLanguage=e,this.persistLanguage(),this.languageSource.next(e),Object.keys(this.phrases).forEach((function(e){return t.translate(e)})))},enumerable:!0,configurable:!0}),e.prototype.getTranslation=function(e,t){return this.observables.hasOwnProperty(e)?this.observables[e]:this.translate(e,t)},e.prototype.translate=function(e,t){var r=this,s=this.language;return this.phrases.hasOwnProperty(e)||(this.phrases[e]=new i.BehaviorSubject({phrase:e}),this.observables[e]=this.phrases[e].asObservable()),"en"===s?this.phrases[e].next({phrase:e}):i.from(n.liveQuery((function(){return d.translations.where("[phrase+lang]").equals([e,s]).first()}))).pipe(o.tap((function(n){n&&!n.isExpired()?r.phrases[e].next(n.translation):(n&&d.translations.delete(n.id),r.phrases[e].next({phrase:e+" [Translation in progress]",yes:"Yes/No [Translation in progress]",no:"Yes/No [Translation in progress]"}),r.load(e,s,!!t))}))).subscribe((function(){})),this.observables[e]},e.prototype.load=function(e,t,r){var n=this;"en"!==t?(this.requesting.hasOwnProperty(t)||(this.requesting[t]=[]),-1===this.requesting[t].indexOf(e)&&(this.requesting[t].push(e),this.requestTimerSubscription&&this.requestTimerSubscription.unsubscribe(),this.requestTimerSubscription=i.timer(this.config.debounceTimeMs).subscribe((function(){var e=n.config.baseUrl+"/"+t,a=n.http.post(e,{phrases:n.requesting[t],yesOrNoField:r}).pipe(o.map((function(e){return e.translations})),o.catchError((function(){var e={};return n.requesting[t].forEach((function(t){return e[t]=n.config.testMode?"[Test translation for "+t+"]":t})),i.of(e)}))).subscribe((function(e){var r=[];Object.keys(e).forEach((function(i){var o={phrase:e[i]};r.push(g.create(i,t,o,s.DateTime.now().plus(n.config.validity).toISO())),n.phrases[i].next(o)})),d.translations.bulkAdd(r),n.requesting[t]=[],n.requestTimerSubscription.unsubscribe(),n.requestTimerSubscription=null,a.unsubscribe()}))})))):this.phrases[e].next({phrase:e})},e.prototype.persistLanguage=function(){document.cookie=this.languageKey+"="+this.currentLanguage+";"},e.prototype.getPersistedLanguage=function(){var e,t=this;return null===(e=document.cookie.split(";").find((function(e){return e.trim().startsWith(t.languageKey+"=")})))||void 0===e?void 0:e.split("=")[1].trim()},e.ctorParameters=function(){return[{type:f},{type:t.HttpClient}]},e=h([r.Injectable()],e)}(),v=function(t){function n(e,r){var n=t.call(this,r)||this;return n.translationService=e,n}return l(n,t),n.prototype.transform=function(r,n,s){if("string"==typeof r){var i=void 0,o=this.translationService.getTranslation(r,s),a=t.prototype.transform.call(this,o);if(a){var u=(null==s?void 0:s.toLowerCase())===e.YesOrNoValue.YES.toLowerCase(),c=(null==s?void 0:s.toLowerCase())===e.YesOrNoValue.NO.toLowerCase();n?i=function(e,t){return Object.keys(t).forEach((function(r){for(var n="%"+r+"%";-1!==e.indexOf(n);)e=e.replace(n,t[r])})),e}(a.phrase,n):u||c?(i=u?(null==a?void 0:a.yes)||s:(null==a?void 0:a.no)||s,p=s,0===(l=i).length||0===p.length||(l.charAt(0).toUpperCase()===l.charAt(0)?(p.charAt(0).toUpperCase(),p.slice(1)):p.toLowerCase())):i=a.phrase}else i=s||r;return i}var l,p;return null},n.ctorParameters=function(){return[{type:b},{type:r.ChangeDetectorRef}]},n=h([r.Pipe({name:"rpxTranslate",pure:!1})],n)}(a.AsyncPipe),y=function(){function e(){}var n;return n=e,e.forRoot=function(e){return{ngModule:n,providers:[{provide:f,useValue:e},b]}},e.forChild=function(){return{ngModule:n}},e=n=h([r.NgModule({declarations:[v],imports:[t.HttpClientModule],exports:[v]})],e)}();e.RpxTranslatePipe=v,e.RpxTranslationConfig=f,e.RpxTranslationModule=y,e.RpxTranslationService=b,Object.defineProperty(e,"__esModule",{value:!0})}));
15
+ ***************************************************************************** */var p;function l(e,t,r,n){var s,i=arguments.length,o=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(o=(i<3?s(o):i>3?s(t,r,o):s(t,r))||o);return i>3&&o&&Object.defineProperty(t,r,o),o}(p=e.YesOrNoValue||(e.YesOrNoValue={})).YES="Yes",p.NO="No";var h=function(){this.debounceTimeMs=300,this.testMode=!1},f=function(){function e(){}return e.create=function(t,r,n,s){var i=new e;return i.phrase=t,i.lang=r,i.translation=n,i.validity=s,i},e.prototype.isExpired=function(){return s.DateTime.fromISO(this.validity)<s.DateTime.now()},e}(),g=new(function(e){function t(){var t=e.call(this,"RpxTranslations")||this;return t.version(1).stores({translations:"++id, [phrase+lang]"}),t.translations.mapToClass(f),t}return function(e,t){function r(){this.constructor=e}c(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}(t,e),t}(u)),d=function(){function a(e,t){this.config=e,this.http=t,this.currentLanguage="en",this.languageKey="exui-preferred-language",this.phrases={},this.observables={},this.requesting={},this.languageSource=new i.BehaviorSubject(this.currentLanguage);var r=this.getPersistedLanguage();r?this.language=r:this.persistLanguage(),this.language$=this.languageSource.asObservable()}return Object.defineProperty(a.prototype,"language",{get:function(){return this.currentLanguage},set:function(e){var t=this;e!==this.currentLanguage&&(this.currentLanguage=e,this.persistLanguage(),this.languageSource.next(e),Object.keys(this.phrases).forEach((function(e){return t.translate(e)})))},enumerable:!0,configurable:!0}),a.prototype.getTranslation$=function(e){return this.getTranslatedData(e).pipe(o.map((function(e){return e.phrase})))},a.prototype.getTranslationWithReplacements$=function(e,t){return this.getTranslatedData(e).pipe(o.map((function(e){return function(e,t){return Object.keys(t).forEach((function(r){for(var n="%"+r+"%";-1!==e.indexOf(n);)e=e.replace(n,t[r])})),e}(e.phrase,t)})))},a.prototype.getTranslationWithYesOrNo$=function(t,r){var n=(null==r?void 0:r.toLowerCase())===e.YesOrNoValue.YES.toLowerCase(),s=(null==r?void 0:r.toLowerCase())===e.YesOrNoValue.NO.toLowerCase();return this.getTranslatedData(t).pipe(o.map((function(e){var t,i,o=n&&e.yes||r||s&&e.no||r;return i=o,0===(t=r).length||0===i.length?i:t.charAt(0).toUpperCase()===t.charAt(0)?""+i.charAt(0).toUpperCase()+i.slice(1):i.toLowerCase()})))},a.prototype.getTranslatedData=function(e){return this.observables.hasOwnProperty(e)?this.observables[e]:this.translate(e)},a.prototype.translate=function(e){var t=this,r=this.language;return this.phrases.hasOwnProperty(e)||(this.phrases[e]=new i.BehaviorSubject({phrase:e}),this.observables[e]=this.phrases[e].asObservable()),"en"===r?this.phrases[e].next({phrase:e}):i.from(n.liveQuery((function(){return g.translations.where("[phrase+lang]").equals([e,r]).first()}))).pipe(o.tap((function(n){n&&!n.isExpired()?t.phrases[e].next(n.translation):(n&&g.translations.delete(n.id),t.phrases[e].next({phrase:e+" [Translation in progress]",yes:"Yes [Translation in progress]",no:"No [Translation in progress]"}),t.load(e,r))}))).subscribe((function(){})),this.observables[e]},a.prototype.load=function(e,t){var r=this;"en"!==t?(this.requesting.hasOwnProperty(t)||(this.requesting[t]=[]),-1===this.requesting[t].indexOf(e)&&(this.requesting[t].push(e),this.requestTimerSubscription&&this.requestTimerSubscription.unsubscribe(),this.requestTimerSubscription=i.timer(this.config.debounceTimeMs).subscribe((function(){var e=r.config.baseUrl+"/"+t,n=r.http.post(e,{phrases:r.requesting[t]}).pipe(o.map((function(e){return e.translations})),o.map((function(e){var t={};return Object.keys(e).forEach((function(r){"string"==typeof e[r]?t[r]={phrase:e[r]}:t[r]=e[r]})),t})),o.catchError((function(){var e={};return r.requesting[t].forEach((function(t){return e[t]=r.config.testMode?{phrase:"[Test translation for "+t+"]"}:{phrase:t}})),i.of(e)}))).subscribe((function(e){var i=[];Object.keys(e).forEach((function(n){i.push(f.create(n,t,e[n],s.DateTime.now().plus(r.config.validity).toISO())),r.phrases[n].next(e[n])})),g.translations.bulkAdd(i),r.requesting[t]=[],r.requestTimerSubscription.unsubscribe(),r.requestTimerSubscription=null,n.unsubscribe()}))})))):this.phrases[e].next({phrase:e,yes:"Yes",no:"No"})},a.prototype.persistLanguage=function(){document.cookie=this.languageKey+"="+this.currentLanguage+";"},a.prototype.getPersistedLanguage=function(){var e,t=this;return null===(e=document.cookie.split(";").find((function(e){return e.trim().startsWith(t.languageKey+"=")})))||void 0===e?void 0:e.split("=")[1].trim()},a.ctorParameters=function(){return[{type:h},{type:t.HttpClient}]},a=l([r.Injectable()],a)}(),y=function(){function e(e,t){this.translationService=e,this.injector=t,this.asyncPipe=new a.AsyncPipe(t.get(r.ChangeDetectorRef))}return e.prototype.transform=function(e,t,r){if("string"==typeof e){var n=void 0;return n=t?this.translationService.getTranslationWithReplacements$(e,t):r?this.translationService.getTranslationWithYesOrNo$(e,r):this.translationService.getTranslation$(e),this.asyncPipe.transform(n)}return null},e.prototype.ngOnDestroy=function(){this.asyncPipe.ngOnDestroy()},e.ctorParameters=function(){return[{type:d},{type:r.Injector}]},e=l([r.Pipe({name:"rpxTranslate",pure:!1})],e)}(),b=function(){function e(){}var n;return n=e,e.forRoot=function(e){return{ngModule:n,providers:[{provide:h,useValue:e},d]}},e.forChild=function(){return{ngModule:n}},e=n=l([r.NgModule({declarations:[y],imports:[t.HttpClientModule],exports:[y]})],e)}();e.RpxTranslatePipe=y,e.RpxTranslationConfig=h,e.RpxTranslationModule=b,e.RpxTranslationService=d,Object.defineProperty(e,"__esModule",{value:!0})}));
16
16
  //# sourceMappingURL=rpx-xui-translation.umd.min.js.map