@stemy/ngx-utils 12.1.0 → 12.1.3

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.
@@ -9,7 +9,7 @@ export class StorageService {
9
9
  this.universal = universal;
10
10
  }
11
11
  get(key, defaultValue, mode = StorageMode.Local) {
12
- if (this.universal.isServer)
12
+ if (!this.universal.isBrowser)
13
13
  return defaultValue;
14
14
  const storage = mode == StorageMode.Local ? localStorage : sessionStorage;
15
15
  const item = storage.getItem(key);
@@ -23,7 +23,7 @@ export class StorageService {
23
23
  }
24
24
  }
25
25
  set(key, value, mode = StorageMode.Local) {
26
- if (this.universal.isServer)
26
+ if (!this.universal.isBrowser)
27
27
  return;
28
28
  const storage = mode == StorageMode.Local ? localStorage : sessionStorage;
29
29
  if (typeof value == "string") {
@@ -33,7 +33,7 @@ export class StorageService {
33
33
  storage.setItem(key, JSON.stringify(value));
34
34
  }
35
35
  remove(key, mode = StorageMode.Local) {
36
- if (this.universal.isServer)
36
+ if (!this.universal.isBrowser)
37
37
  return;
38
38
  const storage = mode == StorageMode.Local ? localStorage : sessionStorage;
39
39
  storage.removeItem(key);
@@ -45,4 +45,4 @@ StorageService.decorators = [
45
45
  StorageService.ctorParameters = () => [
46
46
  { type: UniversalService }
47
47
  ];
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9zZXJ2aWNlcy9zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFckQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8sY0FBYztJQUV2QixZQUFxQixTQUEyQjtRQUEzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUNoRCxDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQVcsRUFBRSxZQUFrQixFQUFFLE9BQW9CLFdBQVcsQ0FBQyxLQUFLO1FBQ3RFLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRO1lBQUUsT0FBTyxZQUFZLENBQUM7UUFDakQsTUFBTSxPQUFPLEdBQUcsSUFBSSxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDO1FBQzFFLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPLFlBQVksQ0FBQztRQUMvQixJQUFJO1lBQ0EsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzNCO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDUixPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0wsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUFXLEVBQUUsS0FBVSxFQUFFLE9BQW9CLFdBQVcsQ0FBQyxLQUFLO1FBQzlELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUNwQyxNQUFNLE9BQU8sR0FBRyxJQUFJLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7UUFDMUUsSUFBSSxPQUFPLEtBQUssSUFBSSxRQUFRLEVBQUU7WUFDMUIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDNUIsT0FBTztTQUNWO1FBQ0QsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxNQUFNLENBQUMsR0FBVyxFQUFFLE9BQW9CLFdBQVcsQ0FBQyxLQUFLO1FBQ3JELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUNwQyxNQUFNLE9BQU8sR0FBRyxJQUFJLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7UUFDMUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDOzs7WUFoQ0osVUFBVTs7O1lBTEgsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1N0b3JhZ2VNb2RlfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7VW5pdmVyc2FsU2VydmljZX0gZnJvbSBcIi4vdW5pdmVyc2FsLnNlcnZpY2VcIjtcclxuXHJcbi8qKlxyXG4gKiBVc2UgdGhpcyBzZXJ2aWNlIGluc3RlYWQgb2YgU3RvcmFnZSB0byBhdm9pZCBBbmd1bGFyIFVuaXZlcnNhbCBicmVha3Mgb24gc2VydmVyIGVudmlyb25tZW50XHJcbiAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTdG9yYWdlU2VydmljZSB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgdW5pdmVyc2FsOiBVbml2ZXJzYWxTZXJ2aWNlKSB7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0KGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBhbnksIG1vZGU6IFN0b3JhZ2VNb2RlID0gU3RvcmFnZU1vZGUuTG9jYWwpOiBhbnkge1xyXG4gICAgICAgIGlmICh0aGlzLnVuaXZlcnNhbC5pc1NlcnZlcikgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcclxuICAgICAgICBjb25zdCBzdG9yYWdlID0gbW9kZSA9PSBTdG9yYWdlTW9kZS5Mb2NhbCA/IGxvY2FsU3RvcmFnZSA6IHNlc3Npb25TdG9yYWdlO1xyXG4gICAgICAgIGNvbnN0IGl0ZW0gPSBzdG9yYWdlLmdldEl0ZW0oa2V5KTtcclxuICAgICAgICBpZiAoIWl0ZW0pIHJldHVybiBkZWZhdWx0VmFsdWU7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UoaXRlbSk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gaXRlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogYW55LCBtb2RlOiBTdG9yYWdlTW9kZSA9IFN0b3JhZ2VNb2RlLkxvY2FsKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMudW5pdmVyc2FsLmlzU2VydmVyKSByZXR1cm47XHJcbiAgICAgICAgY29uc3Qgc3RvcmFnZSA9IG1vZGUgPT0gU3RvcmFnZU1vZGUuTG9jYWwgPyBsb2NhbFN0b3JhZ2UgOiBzZXNzaW9uU3RvcmFnZTtcclxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09IFwic3RyaW5nXCIpIHtcclxuICAgICAgICAgICAgc3RvcmFnZS5zZXRJdGVtKGtleSwgdmFsdWUpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHN0b3JhZ2Uuc2V0SXRlbShrZXksIEpTT04uc3RyaW5naWZ5KHZhbHVlKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlKGtleTogc3RyaW5nLCBtb2RlOiBTdG9yYWdlTW9kZSA9IFN0b3JhZ2VNb2RlLkxvY2FsKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMudW5pdmVyc2FsLmlzU2VydmVyKSByZXR1cm47XHJcbiAgICAgICAgY29uc3Qgc3RvcmFnZSA9IG1vZGUgPT0gU3RvcmFnZU1vZGUuTG9jYWwgPyBsb2NhbFN0b3JhZ2UgOiBzZXNzaW9uU3RvcmFnZTtcclxuICAgICAgICBzdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcclxuICAgIH1cclxufVxyXG4iXX0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9zZXJ2aWNlcy9zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFckQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8sY0FBYztJQUV2QixZQUFxQixTQUEyQjtRQUEzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUNoRCxDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQVcsRUFBRSxZQUFrQixFQUFFLE9BQW9CLFdBQVcsQ0FBQyxLQUFLO1FBQ3RFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVM7WUFBRSxPQUFPLFlBQVksQ0FBQztRQUNuRCxNQUFNLE9BQU8sR0FBRyxJQUFJLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7UUFDMUUsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU8sWUFBWSxDQUFDO1FBQy9CLElBQUk7WUFDQSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDM0I7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNSLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7SUFDTCxDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQVcsRUFBRSxLQUFVLEVBQUUsT0FBb0IsV0FBVyxDQUFDLEtBQUs7UUFDOUQsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUztZQUFFLE9BQU87UUFDdEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDO1FBQzFFLElBQUksT0FBTyxLQUFLLElBQUksUUFBUSxFQUFFO1lBQzFCLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzVCLE9BQU87U0FDVjtRQUNELE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQVcsRUFBRSxPQUFvQixXQUFXLENBQUMsS0FBSztRQUNyRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUN0QyxNQUFNLE9BQU8sR0FBRyxJQUFJLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7UUFDMUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDOzs7WUFoQ0osVUFBVTs7O1lBTEgsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1N0b3JhZ2VNb2RlfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7VW5pdmVyc2FsU2VydmljZX0gZnJvbSBcIi4vdW5pdmVyc2FsLnNlcnZpY2VcIjtcclxuXHJcbi8qKlxyXG4gKiBVc2UgdGhpcyBzZXJ2aWNlIGluc3RlYWQgb2YgU3RvcmFnZSB0byBhdm9pZCBBbmd1bGFyIFVuaXZlcnNhbCBicmVha3Mgb24gc2VydmVyIGVudmlyb25tZW50XHJcbiAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTdG9yYWdlU2VydmljZSB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgdW5pdmVyc2FsOiBVbml2ZXJzYWxTZXJ2aWNlKSB7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0KGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBhbnksIG1vZGU6IFN0b3JhZ2VNb2RlID0gU3RvcmFnZU1vZGUuTG9jYWwpOiBhbnkge1xyXG4gICAgICAgIGlmICghdGhpcy51bml2ZXJzYWwuaXNCcm93c2VyKSByZXR1cm4gZGVmYXVsdFZhbHVlO1xyXG4gICAgICAgIGNvbnN0IHN0b3JhZ2UgPSBtb2RlID09IFN0b3JhZ2VNb2RlLkxvY2FsID8gbG9jYWxTdG9yYWdlIDogc2Vzc2lvblN0b3JhZ2U7XHJcbiAgICAgICAgY29uc3QgaXRlbSA9IHN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xyXG4gICAgICAgIGlmICghaXRlbSkgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShpdGVtKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBpdGVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnksIG1vZGU6IFN0b3JhZ2VNb2RlID0gU3RvcmFnZU1vZGUuTG9jYWwpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMudW5pdmVyc2FsLmlzQnJvd3NlcikgcmV0dXJuO1xyXG4gICAgICAgIGNvbnN0IHN0b3JhZ2UgPSBtb2RlID09IFN0b3JhZ2VNb2RlLkxvY2FsID8gbG9jYWxTdG9yYWdlIDogc2Vzc2lvblN0b3JhZ2U7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgICAgICAgIHN0b3JhZ2Uuc2V0SXRlbShrZXksIHZhbHVlKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzdG9yYWdlLnNldEl0ZW0oa2V5LCBKU09OLnN0cmluZ2lmeSh2YWx1ZSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZShrZXk6IHN0cmluZywgbW9kZTogU3RvcmFnZU1vZGUgPSBTdG9yYWdlTW9kZS5Mb2NhbCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy51bml2ZXJzYWwuaXNCcm93c2VyKSByZXR1cm47XHJcbiAgICAgICAgY29uc3Qgc3RvcmFnZSA9IG1vZGUgPT0gU3RvcmFnZU1vZGUuTG9jYWwgPyBsb2NhbFN0b3JhZ2UgOiBzZXNzaW9uU3RvcmFnZTtcclxuICAgICAgICBzdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -8,8 +8,7 @@ import { __awaiter, __decorate } from 'tslib';
8
8
  import { ActivatedRouteSnapshot, NavigationEnd, Router, DefaultUrlSerializer, UrlTree, UrlSegmentGroup, UrlSegment, UrlSerializer } from '@angular/router';
9
9
  import { isPlatformBrowser, isPlatformServer, DOCUMENT, CommonModule } from '@angular/common';
10
10
  import { DeviceDetectorService } from 'ngx-device-detector';
11
- import { HttpClient, HttpHeaders, HttpParams, HttpUrlEncodingCodec, HttpHandler, HttpEventType, HttpResponse } from '@angular/common/http';
12
- import { parse } from 'json5';
11
+ import { HttpClient, HttpHeaders, HttpParams, HttpUrlEncodingCodec, HttpHandler, HttpEventType } from '@angular/common/http';
13
12
  import { ɵangular_packages_platform_browser_platform_browser_g, DomSanitizer, EVENT_MANAGER_PLUGINS } from '@angular/platform-browser';
14
13
  import { addListener, removeListener } from 'resize-detector';
15
14
  import { FormsModule } from '@angular/forms';
@@ -2079,7 +2078,7 @@ class StorageService {
2079
2078
  this.universal = universal;
2080
2079
  }
2081
2080
  get(key, defaultValue, mode = StorageMode.Local) {
2082
- if (this.universal.isServer)
2081
+ if (!this.universal.isBrowser)
2083
2082
  return defaultValue;
2084
2083
  const storage = mode == StorageMode.Local ? localStorage : sessionStorage;
2085
2084
  const item = storage.getItem(key);
@@ -2093,7 +2092,7 @@ class StorageService {
2093
2092
  }
2094
2093
  }
2095
2094
  set(key, value, mode = StorageMode.Local) {
2096
- if (this.universal.isServer)
2095
+ if (!this.universal.isBrowser)
2097
2096
  return;
2098
2097
  const storage = mode == StorageMode.Local ? localStorage : sessionStorage;
2099
2098
  if (typeof value == "string") {
@@ -2103,7 +2102,7 @@ class StorageService {
2103
2102
  storage.setItem(key, JSON.stringify(value));
2104
2103
  }
2105
2104
  remove(key, mode = StorageMode.Local) {
2106
- if (this.universal.isServer)
2105
+ if (!this.universal.isBrowser)
2107
2106
  return;
2108
2107
  const storage = mode == StorageMode.Local ? localStorage : sessionStorage;
2109
2108
  storage.removeItem(key);
@@ -2286,8 +2285,7 @@ class BaseHttpService {
2286
2285
  }
2287
2286
  return;
2288
2287
  }
2289
- const response = event instanceof HttpResponse ? event.body : event;
2290
- resolve(this.parseResponse(response, url, options));
2288
+ resolve(this.parseResponse(event, url, options));
2291
2289
  const headers = options.headers;
2292
2290
  const authKey = "Authorization";
2293
2291
  // If we use token auth
@@ -2337,7 +2335,7 @@ class BaseHttpService {
2337
2335
  // Set base options
2338
2336
  options = options ? Object.assign({}, options) : {};
2339
2337
  options.method = method;
2340
- options.observe = "body";
2338
+ options.observe = options.observe || "body";
2341
2339
  options.originalHeaders = options.originalHeaders || options.headers || {};
2342
2340
  options.withCredentials = ObjectUtils.isBoolean(options.withCredentials) ? options.withCredentials : this.withCredentials;
2343
2341
  options.body = body || {};
@@ -2438,6 +2436,7 @@ class StaticAuthService {
2438
2436
  }
2439
2437
  }
2440
2438
 
2439
+ const JSON5 = require("json5");
2441
2440
  class ConfigService {
2442
2441
  constructor(http, universal, rootElement, baseConfig = null, scriptParams = null) {
2443
2442
  this.http = http;
@@ -2504,7 +2503,7 @@ class ConfigService {
2504
2503
  const configUrl = this.configUrl;
2505
2504
  try {
2506
2505
  const config5 = yield this.http.get(isDevMode() ? `${configUrl}5` : configUrl, { responseType: "text" }).toPromise();
2507
- return parse(config5);
2506
+ return JSON5.parse(config5);
2508
2507
  }
2509
2508
  catch (e) {
2510
2509
  try {
@@ -2533,7 +2532,7 @@ class ConfigService {
2533
2532
  return this.loadedConfig[key];
2534
2533
  }
2535
2534
  getQueryParameter(name, url) {
2536
- url = url || (this.universal.isServer ? "" : window.location.href);
2535
+ url = url || (this.universal.isBrowser ? window.location.href : "");
2537
2536
  name = name.replace(/[\[\]]/g, "\\$&");
2538
2537
  const regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url);
2539
2538
  if (!results)
@@ -2580,7 +2579,7 @@ class ErrorHandlerService extends ErrorHandler {
2580
2579
  }
2581
2580
  if (this.universal.isServer)
2582
2581
  return;
2583
- const key = btoa(unescape(encodeURIComponent(`${error.message} ${error.stack}`)));
2582
+ const key = typeof btoa !== "undefined" ? btoa(unescape(encodeURIComponent(`${error.message} ${error.stack}`))) : error.message;
2584
2583
  if (this.errorMap[key] && this.errorMap[key].getTime() > date.getTime() - 5000)
2585
2584
  return;
2586
2585
  this.errorMap[key] = date;
@@ -2736,7 +2735,7 @@ class StaticLanguageService {
2736
2735
  this.initService();
2737
2736
  }
2738
2737
  get defaultLanguage() {
2739
- return this.configs.getQueryParameter("lang") || this.storage.get("language", this.browserLang);
2738
+ return this.configs.getQueryParameter("lang") || this.storage.get("language", this.getDefaultLanguage());
2740
2739
  }
2741
2740
  get dictionary() {
2742
2741
  return this.translations[this.currentLanguage] || {};
@@ -2773,21 +2772,6 @@ class StaticLanguageService {
2773
2772
  get config() {
2774
2773
  return this.configs.config;
2775
2774
  }
2776
- get browserLang() {
2777
- if (this.universal.isServer || typeof window.navigator === "undefined") {
2778
- return "de";
2779
- }
2780
- let browserLang = (window.navigator.languages ? window.navigator.languages[0] : null)
2781
- || window.navigator.language || window.navigator["browserLanguage"] || window.navigator["userLanguage"] || null;
2782
- if (!browserLang)
2783
- return browserLang;
2784
- ["-", "_"].forEach(splitter => {
2785
- if (browserLang.indexOf(splitter) >= 0) {
2786
- browserLang = browserLang.split(splitter)[0];
2787
- }
2788
- });
2789
- return browserLang;
2790
- }
2791
2775
  get universal() {
2792
2776
  return this.storage.universal;
2793
2777
  }
@@ -2853,6 +2837,21 @@ class StaticLanguageService {
2853
2837
  return ObjectUtils.isDefined(r) ? r : substring;
2854
2838
  });
2855
2839
  }
2840
+ getDefaultLanguage() {
2841
+ if (!this.universal.isBrowser || typeof window.navigator === "undefined") {
2842
+ return "de";
2843
+ }
2844
+ let browserLang = (window.navigator.languages ? window.navigator.languages[0] : null)
2845
+ || window.navigator.language || window.navigator["browserLanguage"] || window.navigator["userLanguage"] || null;
2846
+ if (!browserLang)
2847
+ return browserLang;
2848
+ ["-", "_"].forEach(splitter => {
2849
+ if (browserLang.indexOf(splitter) >= 0) {
2850
+ browserLang = browserLang.split(splitter)[0];
2851
+ }
2852
+ });
2853
+ return browserLang;
2854
+ }
2856
2855
  }
2857
2856
  StaticLanguageService.decorators = [
2858
2857
  { type: Injectable }