@mosa-ng/core 17.0.1 → 19.0.1

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.
Files changed (53) hide show
  1. package/fesm2022/mosa-ng-core.mjs +74 -63
  2. package/fesm2022/mosa-ng-core.mjs.map +1 -1
  3. package/package.json +3 -5
  4. package/esm2022/lib/constants/local-storage.constant.mjs +0 -4
  5. package/esm2022/lib/enums/browser.enum.mjs +0 -11
  6. package/esm2022/lib/enums/content-position.enum.mjs +0 -13
  7. package/esm2022/lib/enums/i18n-supported.enum.mjs +0 -12
  8. package/esm2022/lib/enums/theme.enum.mjs +0 -6
  9. package/esm2022/lib/models/api-options.model.mjs +0 -2
  10. package/esm2022/lib/models/dictionary-item.model.mjs +0 -2
  11. package/esm2022/lib/models/key-map.model.mjs +0 -2
  12. package/esm2022/lib/models/logger/log-event.model.mjs +0 -2
  13. package/esm2022/lib/models/logger/log-message-data.model.mjs +0 -2
  14. package/esm2022/lib/models/logger/log-type.model.mjs +0 -2
  15. package/esm2022/lib/models/logger/log.model.mjs +0 -2
  16. package/esm2022/lib/models/logger/logger-base-config.model.mjs +0 -2
  17. package/esm2022/lib/models/logger/logger-config.model.mjs +0 -2
  18. package/esm2022/lib/models/logger/logger-default-config.model.mjs +0 -2
  19. package/esm2022/lib/models/mosa-duration.model.mjs +0 -2
  20. package/esm2022/lib/models/sieve/sieve-filter.model.mjs +0 -2
  21. package/esm2022/lib/models/sieve/sieve-operator.model.mjs +0 -2
  22. package/esm2022/lib/models/sieve/sieve-options.model.mjs +0 -2
  23. package/esm2022/lib/models/sieve/sieve-response.model.mjs +0 -2
  24. package/esm2022/lib/models/sieve/sieve-sort.model.mjs +0 -2
  25. package/esm2022/lib/models/token-settings.model.mjs +0 -2
  26. package/esm2022/lib/models/transform-matrix.model.mjs +0 -2
  27. package/esm2022/lib/mosa-core.module.mjs +0 -105
  28. package/esm2022/lib/pipes/dictionary-item-pipe/dictionary-item-pipe.module.mjs +0 -22
  29. package/esm2022/lib/pipes/dictionary-item-pipe/dictionary-item.pipe.mjs +0 -17
  30. package/esm2022/lib/pipes/find-in-array/find-in-array-pipe.module.mjs +0 -24
  31. package/esm2022/lib/pipes/find-in-array/find-in-array.pipe.mjs +0 -34
  32. package/esm2022/lib/pipes/join/join-pipe.module.mjs +0 -24
  33. package/esm2022/lib/pipes/join/join.pipe.mjs +0 -24
  34. package/esm2022/lib/pipes/mosa-date-pipe/mosa-date-pipe.module.mjs +0 -21
  35. package/esm2022/lib/pipes/mosa-date-pipe/mosa-date.pipe.mjs +0 -91
  36. package/esm2022/lib/pipes/mosa-duration-pipe/mosa-duration-pipe.module.mjs +0 -20
  37. package/esm2022/lib/pipes/mosa-duration-pipe/mosa-duration.pipe.mjs +0 -88
  38. package/esm2022/lib/services/api.service.mjs +0 -225
  39. package/esm2022/lib/services/core-logger.service.mjs +0 -197
  40. package/esm2022/lib/services/guards/can-deactivate.guard.mjs +0 -16
  41. package/esm2022/lib/services/mosa-socket.service.mjs +0 -44
  42. package/esm2022/lib/services/translation/assets-i18n-loader.service.mjs +0 -58
  43. package/esm2022/lib/services/translation/custom-translate-loader.service.mjs +0 -28
  44. package/esm2022/lib/services/translation/translate-collector.service.mjs +0 -54
  45. package/esm2022/lib/utils/commons.util.mjs +0 -89
  46. package/esm2022/lib/utils/dictionary.util.mjs +0 -121
  47. package/esm2022/lib/utils/item.util.mjs +0 -2
  48. package/esm2022/lib/utils/promise.util.mjs +0 -2
  49. package/esm2022/lib/utils/prototypes.util.mjs +0 -86
  50. package/esm2022/lib/utils/sieve.util.mjs +0 -137
  51. package/esm2022/lib/utils/size.util.mjs +0 -2
  52. package/esm2022/mosa-ng-core.mjs +0 -5
  53. package/esm2022/public-api.mjs +0 -2
@@ -1,88 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import { map } from 'rxjs/operators';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@ngx-translate/core";
6
- export class MosaDurationPipe {
7
- constructor(myTranslateService) {
8
- this.myTranslateService = myTranslateService;
9
- this.store$ = new BehaviorSubject(new Date().getTime());
10
- this.interval = setInterval(() => {
11
- this.store$.next(new Date().getTime());
12
- }, 1000);
13
- this.myTranslateService.onLangChange.subscribe(() => {
14
- this.store$.next(new Date().getTime());
15
- });
16
- }
17
- /**
18
- * Converts a timestamp to a duration in the given format
19
- * @param millis
20
- * @param format
21
- * @returns
22
- * auto: 15000 -> 15 seconds
23
- * seconds: 15000 -> 15 seconds
24
- * minutes: 60000 -> 1 minute
25
- * hours: 7200000 -> 2 hours
26
- * days: 172800000 -> 2 days
27
- */
28
- transform(millis, format = 'auto') {
29
- return this.store$.pipe(map((currentDate) => {
30
- if (!millis) {
31
- clearInterval(this.interval);
32
- return null;
33
- }
34
- if (millis - currentDate < 0) {
35
- clearInterval(this.interval);
36
- return null;
37
- }
38
- return this.calcDuration(currentDate, millis, format);
39
- }));
40
- }
41
- getTranslation(num, format) {
42
- if (num === 1) {
43
- return `${num.toFixed(0)} ${this.myTranslateService.instant(`mosa.commons.dateTime[${format}].label`)}`;
44
- }
45
- return `${num.toFixed(0)} ${this.myTranslateService.instant(`mosa.commons.dateTime[${format}].plural.label`)}`;
46
- }
47
- calcDuration(currentDate, millis, format) {
48
- millis = millis - currentDate;
49
- const seconds = millis / 1000;
50
- if (format === 'seconds') {
51
- return this.getTranslation(seconds, 'seconds');
52
- }
53
- const minutes = seconds / 60;
54
- if (format === 'minutes') {
55
- return this.getTranslation(minutes, 'minutes');
56
- }
57
- const hours = minutes / 60;
58
- if (format === 'hours') {
59
- return this.getTranslation(hours, 'hours');
60
- }
61
- const days = hours / 24;
62
- if (format === 'days') {
63
- return this.getTranslation(days, 'days');
64
- }
65
- if (format === 'auto') {
66
- if (seconds < 60) {
67
- return this.getTranslation(seconds, 'seconds');
68
- }
69
- if (minutes < 60) {
70
- return this.getTranslation(minutes, 'minutes');
71
- }
72
- if (hours < 24) {
73
- return this.getTranslation(hours, 'hours');
74
- }
75
- return this.getTranslation(days, 'days');
76
- }
77
- return null;
78
- }
79
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MosaDurationPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
80
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.7", ngImport: i0, type: MosaDurationPipe, name: "mosaDuration" }); }
81
- }
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MosaDurationPipe, decorators: [{
83
- type: Pipe,
84
- args: [{
85
- name: 'mosaDuration',
86
- }]
87
- }], ctorParameters: () => [{ type: i1.TranslateService }] });
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9zYS1kdXJhdGlvbi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3BpcGVzL21vc2EtZHVyYXRpb24tcGlwZS9tb3NhLWR1cmF0aW9uLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFcEQsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU1yQyxNQUFNLE9BQU8sZ0JBQWdCO0lBS3pCLFlBQ3FCLGtCQUFvQztRQUFwQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQWtCO1FBRXJELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDM0MsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ1QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBUyxFQUFFO1lBQ3RELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksU0FBUyxDQUFDLE1BQWMsRUFBRSxTQUE2QixNQUFNO1FBQ2hFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ25CLEdBQUcsQ0FBQyxDQUFDLFdB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QUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxjQUFjO2lCQUN2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTW9zYUR1cmF0aW9uRm9ybWF0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL21vc2EtZHVyYXRpb24ubW9kZWwnO1xuXG5AUGlwZSh7XG4gICAgbmFtZTogJ21vc2FEdXJhdGlvbicsXG59KVxuZXhwb3J0IGNsYXNzIE1vc2FEdXJhdGlvblBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RvcmUkOiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGludGVydmFsOiBOb2RlSlMuVGltZW91dDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG15VHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgdGhpcy5zdG9yZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4obmV3IERhdGUoKS5nZXRUaW1lKCkpO1xuICAgICAgICB0aGlzLmludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdG9yZSQubmV4dChuZXcgRGF0ZSgpLmdldFRpbWUoKSk7XG4gICAgICAgIH0sIDEwMDApO1xuICAgICAgICB0aGlzLm15VHJhbnNsYXRlU2VydmljZS5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKCgpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUkLm5leHQobmV3IERhdGUoKS5nZXRUaW1lKCkpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBhIHRpbWVzdGFtcCB0byBhIGR1cmF0aW9uIGluIHRoZSBnaXZlbiBmb3JtYXRcbiAgICAgKiBAcGFyYW0gbWlsbGlzXG4gICAgICogQHBhcmFtIGZvcm1hdFxuICAgICAqIEByZXR1cm5zXG4gICAgICogYXV0bzogMTUwMDAgLT4gMTUgc2Vjb25kc1xuICAgICAqIHNlY29uZHM6IDE1MDAwIC0+IDE1IHNlY29uZHNcbiAgICAgKiBtaW51dGVzOiA2MDAwMCAtPiAxIG1pbnV0ZVxuICAgICAqIGhvdXJzOiA3MjAwMDAwIC0+IDIgaG91cnNcbiAgICAgKiBkYXlzOiAxNzI4MDAwMDAgLT4gMiBkYXlzXG4gICAgICovXG4gICAgcHVibGljIHRyYW5zZm9ybShtaWxsaXM6IG51bWJlciwgZm9ybWF0OiBNb3NhRHVyYXRpb25Gb3JtYXQgPSAnYXV0bycpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdG9yZSQucGlwZShcbiAgICAgICAgICAgIG1hcCgoY3VycmVudERhdGU6IG51bWJlcik6IHN0cmluZyA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFtaWxsaXMpIHtcbiAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKG1pbGxpcyAtIGN1cnJlbnREYXRlIDwgMCkge1xuICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jYWxjRHVyYXRpb24oY3VycmVudERhdGUsIG1pbGxpcywgZm9ybWF0KTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBnZXRUcmFuc2xhdGlvbihudW06IG51bWJlciwgZm9ybWF0OiBNb3NhRHVyYXRpb25Gb3JtYXQpOiBzdHJpbmcge1xuICAgICAgICBpZiAobnVtID09PSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7IG51bS50b0ZpeGVkKDApIH0gJHsgdGhpcy5teVRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChgbW9zYS5jb21tb25zLmRhdGVUaW1lWyR7IGZvcm1hdCB9XS5sYWJlbGApIH1gO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBgJHsgbnVtLnRvRml4ZWQoMCkgfSAkeyB0aGlzLm15VHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGBtb3NhLmNvbW1vbnMuZGF0ZVRpbWVbJHsgZm9ybWF0IH1dLnBsdXJhbC5sYWJlbGApIH1gO1xuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBjYWxjRHVyYXRpb24oY3VycmVudERhdGU6IG51bWJlciwgbWlsbGlzOiBudW1iZXIsIGZvcm1hdDogTW9zYUR1cmF0aW9uRm9ybWF0KTogc3RyaW5nIHtcbiAgICAgICAgbWlsbGlzID0gbWlsbGlzIC0gY3VycmVudERhdGU7XG5cbiAgICAgICAgY29uc3Qgc2Vjb25kczogbnVtYmVyID0gbWlsbGlzIC8gMTAwMDtcbiAgICAgICAgaWYgKGZvcm1hdCA9PT0gJ3NlY29uZHMnKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2xhdGlvbihzZWNvbmRzLCAnc2Vjb25kcycpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWludXRlczogbnVtYmVyID0gc2Vjb25kcyAvIDYwO1xuICAgICAgICBpZiAoZm9ybWF0ID09PSAnbWludXRlcycpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFRyYW5zbGF0aW9uKG1pbnV0ZXMsICdtaW51dGVzJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBob3VyczogbnVtYmVyID0gbWludXRlcyAvIDYwO1xuICAgICAgICBpZiAoZm9ybWF0ID09PSAnaG91cnMnKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2xhdGlvbihob3VycywgJ2hvdXJzJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkYXlzOiBudW1iZXIgPSBob3VycyAvIDI0O1xuICAgICAgICBpZiAoZm9ybWF0ID09PSAnZGF5cycpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFRyYW5zbGF0aW9uKGRheXMsICdkYXlzJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZm9ybWF0ID09PSAnYXV0bycpIHtcbiAgICAgICAgICAgIGlmIChzZWNvbmRzIDwgNjApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2xhdGlvbihzZWNvbmRzLCAnc2Vjb25kcycpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAobWludXRlcyA8IDYwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VHJhbnNsYXRpb24obWludXRlcywgJ21pbnV0ZXMnKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGhvdXJzIDwgMjQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2xhdGlvbihob3VycywgJ2hvdXJzJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFRyYW5zbGF0aW9uKGRheXMsICdkYXlzJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG4iXX0=
@@ -1,225 +0,0 @@
1
- import { HttpHeaders, HttpResponse } from '@angular/common/http';
2
- import { Injectable } from '@angular/core';
3
- import { throwError } from 'rxjs';
4
- import { catchError, map } from 'rxjs/operators';
5
- import { isNullOrEmpty } from '../utils/commons.util';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "./core-logger.service";
8
- import * as i2 from "@angular/common/http";
9
- export const LOCAL_STORAGE_TOKEN_KEY = 'tokenSettings';
10
- export class ApiService {
11
- constructor(myCoreLoggerService, myHttpClient) {
12
- this.myCoreLoggerService = myCoreLoggerService;
13
- this.myHttpClient = myHttpClient;
14
- }
15
- /**
16
- * Gets an access token
17
- * @deprecated use getToken()
18
- */
19
- getAccessToken() {
20
- return window.localStorage.getItem('jwtAccessToken');
21
- }
22
- /**
23
- * Sets an access token
24
- * @param token
25
- * @deprecated use setToken()
26
- */
27
- setAccessToken(token) {
28
- window.localStorage.setItem('jwtAccessToken', token);
29
- }
30
- /**
31
- * Removes an access token from local storage
32
- * @deprecated use deleteAccessToken()
33
- */
34
- removeAccessToken() {
35
- window.localStorage.removeItem('jwtAccessToken');
36
- }
37
- /**
38
- * Sets the token
39
- * @param tokenSettings
40
- */
41
- setToken(tokenSettings) {
42
- window.localStorage.setItem(LOCAL_STORAGE_TOKEN_KEY, JSON.stringify(tokenSettings));
43
- }
44
- /**
45
- * Gets token
46
- */
47
- getToken() {
48
- const tokenSettings = window.localStorage.getItem(LOCAL_STORAGE_TOKEN_KEY);
49
- if (isNullOrEmpty(tokenSettings)) {
50
- return null;
51
- }
52
- return JSON.parse(tokenSettings);
53
- }
54
- /**
55
- * Deletes token
56
- */
57
- deleteToken() {
58
- window.localStorage.removeItem(LOCAL_STORAGE_TOKEN_KEY);
59
- }
60
- /**
61
- * Makes an http get call
62
- * @param url
63
- * @param headers
64
- * @param options
65
- */
66
- get(url, headers, options) {
67
- options = ApiService.serializeOptions(options);
68
- headers = this.getHeaders(headers, options);
69
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
70
- return this.myHttpClient.get(url, { ...options.httpOptions, headers })
71
- .pipe(map((response) => this.handleResponse(response)), catchError((err) => this.handleError(err, options)));
72
- }
73
- /**
74
- * Makes an async http get call, which also includes the response headers
75
- * @param url
76
- * @param headers
77
- * @param options
78
- */
79
- async getWithHeadersAsync(url, headers, options) {
80
- return this.getWithHeaders(url, headers, options).toPromise();
81
- }
82
- /**
83
- * Makes an http get call, which also includes the response headers
84
- * @param url
85
- * @param headers
86
- * @param options
87
- */
88
- getWithHeaders(url, headers, options) {
89
- options = ApiService.serializeOptions(options);
90
- headers = this.getHeaders(headers, options);
91
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
92
- return this.myHttpClient.get(url, { ...options.httpOptions, headers, observe: 'response' })
93
- .pipe(catchError((err) => this.handleError(err, options)));
94
- }
95
- /**
96
- * Makes an http patch call (For partial updates)
97
- * @param url
98
- * @param data
99
- * @param headers
100
- * @param options
101
- */
102
- patch(url, data, headers, options) {
103
- options = ApiService.serializeOptions(options);
104
- headers = this.getHeaders(headers, options);
105
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
106
- return this.myHttpClient.patch(url, data, { ...options.httpOptions, headers })
107
- .pipe(map((response) => this.handleResponse(response)), catchError((err) => this.handleError(err, options)));
108
- }
109
- /**
110
- * Makes an http put call
111
- * @param url
112
- * @param data
113
- * @param headers
114
- * @param options
115
- */
116
- put(url, data, headers, options) {
117
- options = ApiService.serializeOptions(options);
118
- headers = this.getHeaders(headers, options);
119
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
120
- return this.myHttpClient.put(url, data, { ...options.httpOptions, headers })
121
- .pipe(map((response) => this.handleResponse(response)), catchError((err) => this.handleError(err, options)));
122
- }
123
- /**
124
- * Makes an http post call
125
- * @param url
126
- * @param data
127
- * @param headers
128
- * @param options
129
- */
130
- post(url, data, headers, options) {
131
- options = ApiService.serializeOptions(options);
132
- headers = this.getHeaders(headers, options);
133
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
134
- return this.myHttpClient.post(url, data, { ...options.httpOptions, headers })
135
- .pipe(map((response) => this.handleResponse(response)), catchError((err) => this.handleError(err, options)));
136
- }
137
- /**
138
- * makes an http delete call
139
- * @param url
140
- * @param headers
141
- * @param options
142
- * @returns Observable
143
- */
144
- delete(url, headers, options) {
145
- options = ApiService.serializeOptions(options);
146
- headers = this.getHeaders(headers, options);
147
- // eslint-disable-next-line @typescript-eslint/ban-types
148
- return this.myHttpClient.delete(url, { ...options.httpOptions, headers })
149
- .pipe(catchError((err) => this.handleError(err, options)));
150
- }
151
- /**
152
- * Appends a script to the html body
153
- * @param path
154
- * @param attributes
155
- * @param onLoad
156
- */
157
- loadExternalScript(path, attributes,
158
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
159
- onLoad) {
160
- const script = document.createElement('script');
161
- script.type = 'text/javascript';
162
- script.src = path;
163
- script.async = true;
164
- if (onLoad) {
165
- script.onload = onLoad;
166
- }
167
- if (attributes) {
168
- for (const attribute of attributes) {
169
- script.setAttribute(attribute.key, attribute.value);
170
- }
171
- }
172
- document.body.append(script);
173
- }
174
- handleError(err, options) {
175
- if (!options?.skipErrorHandling) {
176
- this.myCoreLoggerService.logError({ msg: err });
177
- }
178
- return throwError(err);
179
- }
180
- handleResponse(response) {
181
- if (response instanceof HttpResponse) {
182
- return response.body;
183
- }
184
- return response;
185
- }
186
- getHeaders(headers, options) {
187
- if (!headers) {
188
- headers = new HttpHeaders();
189
- }
190
- if (!options.skipContentType) {
191
- if (!headers.get('Content-Type')) {
192
- headers = headers.set('Content-Type', 'application/json');
193
- }
194
- }
195
- if (!options?.skipAuth) {
196
- if (this.getToken()) {
197
- const tokenSettings = this.getToken();
198
- headers = headers.set('Authorization', `${tokenSettings.tokenType} ${tokenSettings.token}`);
199
- }
200
- else {
201
- // Deprecated. Use ITokenSettings
202
- headers = headers.set('Authorization', `Bearer ${this.getAccessToken()}`);
203
- }
204
- }
205
- return headers;
206
- }
207
- static serializeOptions(options) {
208
- if (!options) {
209
- options = {};
210
- }
211
- if (!options.httpOptions) {
212
- options.httpOptions = {};
213
- }
214
- return options;
215
- }
216
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ApiService, deps: [{ token: i1.CoreLoggerService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
217
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ApiService, providedIn: 'root' }); }
218
- }
219
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ApiService, decorators: [{
220
- type: Injectable,
221
- args: [{
222
- providedIn: 'root',
223
- }]
224
- }], ctorParameters: () => [{ type: i1.CoreLoggerService }, { type: i2.HttpClient }] });
225
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvc2VydmljZXMvYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE0QyxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0csT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBRXRELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLGVBQWUsQ0FBQztBQUt2RCxNQUFNLE9BQU8sVUFBVTtJQUVuQixZQUNxQixtQkFBc0MsRUFDdEMsWUFBd0I7UUFEeEIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFtQjtRQUN0QyxpQkFBWSxHQUFaLFlBQVksQ0FBWTtJQUU3QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksY0FBYztRQUNqQixPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxjQUFjLENBQUMsS0FBYTtRQUMvQixNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksaUJBQWlCO1FBQ3BCLE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFFBQVEsQ0FBQyxhQUE2QjtRQUN6QyxNQUFNLENBQUMsWUFBWSxDQUFDLE9B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USxFQUFFLENBQUM7WUFDckIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztnQkFDbEIsTUFBTSxhQUFhLEdBQW1CLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDdEQsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLEdBQUksYUFBYSxDQUFDLFNBQVUsSUFBSyxhQUFhLENBQUMsS0FBTSxFQUFFLENBQUMsQ0FBQztZQUNwRyxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osaUNBQWlDO2dCQUNqQyxPQUFPLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsVUFBVyxJQUFJLENBQUMsY0FBYyxFQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ2hGLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFvQjtRQUNoRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDWCxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLENBQUM7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQzdCLENBQUM7UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDOzhHQTlQUSxVQUFVO2tIQUFWLFVBQVUsY0FGUCxNQUFNOzsyRkFFVCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwRXZlbnQsIEh0dHBIZWFkZXJzLCBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJQXBpT3B0aW9ucyB9IGZyb20gJy4uL21vZGVscy9hcGktb3B0aW9ucy5tb2RlbCc7XG5pbXBvcnQgeyBJVG9rZW5TZXR0aW5ncyB9IGZyb20gJy4uL21vZGVscy90b2tlbi1zZXR0aW5ncy5tb2RlbCc7XG5pbXBvcnQgeyBDb3JlTG9nZ2VyU2VydmljZSB9IGZyb20gJy4vY29yZS1sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBpc051bGxPckVtcHR5IH0gZnJvbSAnLi4vdXRpbHMvY29tbW9ucy51dGlsJztcblxuZXhwb3J0IGNvbnN0IExPQ0FMX1NUT1JBR0VfVE9LRU5fS0VZID0gJ3Rva2VuU2V0dGluZ3MnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBcGlTZXJ2aWNlIHtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG15Q29yZUxvZ2dlclNlcnZpY2U6IENvcmVMb2dnZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG15SHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICApIHtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGFuIGFjY2VzcyB0b2tlblxuICAgICAqIEBkZXByZWNhdGVkIHVzZSBnZXRUb2tlbigpXG4gICAgICovXG4gICAgcHVibGljIGdldEFjY2Vzc1Rva2VuKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2p3dEFjY2Vzc1Rva2VuJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBhbiBhY2Nlc3MgdG9rZW5cbiAgICAgKiBAcGFyYW0gdG9rZW5cbiAgICAgKiBAZGVwcmVjYXRlZCB1c2Ugc2V0VG9rZW4oKVxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRBY2Nlc3NUb2tlbih0b2tlbjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnand0QWNjZXNzVG9rZW4nLCB0b2tlbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBhbiBhY2Nlc3MgdG9rZW4gZnJvbSBsb2NhbCBzdG9yYWdlXG4gICAgICogQGRlcHJlY2F0ZWQgdXNlIGRlbGV0ZUFjY2Vzc1Rva2VuKClcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVtb3ZlQWNjZXNzVG9rZW4oKTogdm9pZCB7XG4gICAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnand0QWNjZXNzVG9rZW4nKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSB0b2tlblxuICAgICAqIEBwYXJhbSB0b2tlblNldHRpbmdzXG4gICAgICovXG4gICAgcHVibGljIHNldFRva2VuKHRva2VuU2V0dGluZ3M6IElUb2tlblNldHRpbmdzKTogdm9pZCB7XG4gICAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShMT0NBTF9TVE9SQUdFX1RPS0VOX0tFWSwgSlNPTi5zdHJpbmdpZnkodG9rZW5TZXR0aW5ncykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdG9rZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VG9rZW4oKTogSVRva2VuU2V0dGluZ3Mge1xuICAgICAgICBjb25zdCB0b2tlblNldHRpbmdzOiBzdHJpbmcgPSB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oTE9DQUxfU1RPUkFHRV9UT0tFTl9LRVkpO1xuICAgICAgICBpZiAoaXNOdWxsT3JFbXB0eSh0b2tlblNldHRpbmdzKSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZSh0b2tlblNldHRpbmdzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWxldGVzIHRva2VuXG4gICAgICovXG4gICAgcHVibGljIGRlbGV0ZVRva2VuKCk6IHZvaWQge1xuICAgICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oTE9DQUxfU1RPUkFHRV9UT0tFTl9LRVkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1ha2VzIGFuIGh0dHAgZ2V0IGNhbGxcbiAgICAgKiBAcGFyYW0gdXJsXG4gICAgICogQHBhcmFtIGhlYWRlcnNcbiAgICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXQ8VD4odXJsOiBzdHJpbmcsIGhlYWRlcnM/OiBIdHRwSGVhZGVycywgb3B0aW9ucz86IElBcGlPcHRpb25zKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgICAgIG9wdGlvbnMgPSBBcGlTZXJ2aWNlLnNlcmlhbGl6ZU9wdGlvbnMob3B0aW9ucyk7XG4gICAgICAgIGhlYWRlcnMgPSB0aGlzLmdldEhlYWRlcnMoaGVhZGVycywgb3B0aW9ucyk7XG5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgcmV0dXJuIHRoaXMubXlIdHRwQ2xpZW50LmdldDxUPih1cmwsIHsgLi4ub3B0aW9ucy5odHRwT3B0aW9ucyBhcyBhbnksIGhlYWRlcnMgfSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2U6IEh0dHBFdmVudDxUPikgPT4gdGhpcy5oYW5kbGVSZXNwb25zZShyZXNwb25zZSkpLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycjogSHR0cEVycm9yUmVzcG9uc2UpOiBPYnNlcnZhYmxlPG5ldmVyPiA9PiB0aGlzLmhhbmRsZUVycm9yKGVyciwgb3B0aW9ucykpLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNYWtlcyBhbiBhc3luYyBodHRwIGdldCBjYWxsLCB3aGljaCBhbHNvIGluY2x1ZGVzIHRoZSByZXNwb25zZSBoZWFkZXJzXG4gICAgICogQHBhcmFtIHVybFxuICAgICAqIEBwYXJhbSBoZWFkZXJzXG4gICAgICogQHBhcmFtIG9wdGlvbnNcbiAgICAgKi9cbiAgICBwdWJsaWMgYXN5bmMgZ2V0V2l0aEhlYWRlcnNBc3luYzxUPih1cmw6IHN0cmluZywgaGVhZGVycz86IEh0dHBIZWFkZXJzLCBvcHRpb25zPzogSUFwaU9wdGlvbnMpOiBQcm9taXNlPEh0dHBFdmVudDxUPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRXaXRoSGVhZGVyczxUPih1cmwsIGhlYWRlcnMsIG9wdGlvbnMpLnRvUHJvbWlzZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1ha2VzIGFuIGh0dHAgZ2V0IGNhbGwsIHdoaWNoIGFsc28gaW5jbHVkZXMgdGhlIHJlc3BvbnNlIGhlYWRlcnNcbiAgICAgKiBAcGFyYW0gdXJsXG4gICAgICogQHBhcmFtIGhlYWRlcnNcbiAgICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRXaXRoSGVhZGVyczxUPih1cmw6IHN0cmluZywgaGVhZGVycz86IEh0dHBIZWFkZXJzLCBvcHRpb25zPzogSUFwaU9wdGlvbnMpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxUPj4ge1xuICAgICAgICBvcHRpb25zID0gQXBpU2VydmljZS5zZXJpYWxpemVPcHRpb25zKG9wdGlvbnMpO1xuICAgICAgICBoZWFkZXJzID0gdGhpcy5nZXRIZWFkZXJzKGhlYWRlcnMsIG9wdGlvbnMpO1xuXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgIHJldHVybiB0aGlzLm15SHR0cENsaWVudC5nZXQ8VD4odXJsLCB7IC4uLm9wdGlvbnMuaHR0cE9wdGlvbnMgYXMgYW55LCBoZWFkZXJzLCBvYnNlcnZlOiAncmVzcG9uc2UnIH0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IEh0dHBFcnJvclJlc3BvbnNlKTogT2JzZXJ2YWJsZTxuZXZlcj4gPT4gdGhpcy5oYW5kbGVFcnJvcihlcnIsIG9wdGlvbnMpKSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWFrZXMgYW4gaHR0cCBwYXRjaCBjYWxsIChGb3IgcGFydGlhbCB1cGRhdGVzKVxuICAgICAqIEBwYXJhbSB1cmxcbiAgICAgKiBAcGFyYW0gZGF0YVxuICAgICAqIEBwYXJhbSBoZWFkZXJzXG4gICAgICogQHBhcmFtIG9wdGlvbnNcbiAgICAgKi9cbiAgICBwdWJsaWMgcGF0Y2g8VCwgVDE+KHVybDogc3RyaW5nLCBkYXRhPzogVCwgaGVhZGVycz86IEh0dHBIZWFkZXJzLCBvcHRpb25zPzogSUFwaU9wdGlvbnMpOiBPYnNlcnZhYmxlPFQxPiB7XG4gICAgICAgIG9wdGlvbnMgPSBBcGlTZXJ2aWNlLnNlcmlhbGl6ZU9wdGlvbnMob3B0aW9ucyk7XG4gICAgICAgIGhlYWRlcnMgPSB0aGlzLmdldEhlYWRlcnMoaGVhZGVycywgb3B0aW9ucyk7XG5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgcmV0dXJuIHRoaXMubXlIdHRwQ2xpZW50LnBhdGNoPFQxPih1cmwsIGRhdGEsIHsgLi4ub3B0aW9ucy5odHRwT3B0aW9ucyBhcyBhbnksIGhlYWRlcnMgfSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2U6IEh0dHBFdmVudDxUMT4pID0+IHRoaXMuaGFuZGxlUmVzcG9uc2UocmVzcG9uc2UpKSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IEh0dHBFcnJvclJlc3BvbnNlKTogT2JzZXJ2YWJsZTxuZXZlcj4gPT4gdGhpcy5oYW5kbGVFcnJvcihlcnIsIG9wdGlvbnMpKSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWFrZXMgYW4gaHR0cCBwdXQgY2FsbFxuICAgICAqIEBwYXJhbSB1cmxcbiAgICAgKiBAcGFyYW0gZGF0YVxuICAgICAqIEBwYXJhbSBoZWFkZXJzXG4gICAgICogQHBhcmFtIG9wdGlvbnNcbiAgICAgKi9cbiAgICBwdWJsaWMgcHV0PFQsIFQxPih1cmw6IHN0cmluZywgZGF0YT86IFQsIGhlYWRlcnM/OiBIdHRwSGVhZGVycywgb3B0aW9ucz86IElBcGlPcHRpb25zKTogT2JzZXJ2YWJsZTxUMT4ge1xuICAgICAgICBvcHRpb25zID0gQXBpU2VydmljZS5zZXJpYWxpemVPcHRpb25zKG9wdGlvbnMpO1xuICAgICAgICBoZWFkZXJzID0gdGhpcy5nZXRIZWFkZXJzKGhlYWRlcnMsIG9wdGlvbnMpO1xuXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgIHJldHVybiB0aGlzLm15SHR0cENsaWVudC5wdXQ8VDE+KHVybCwgZGF0YSwgeyAuLi5vcHRpb25zLmh0dHBPcHRpb25zIGFzIGFueSwgaGVhZGVycyB9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZTogSHR0cEV2ZW50PFQxPikgPT4gdGhpcy5oYW5kbGVSZXNwb25zZShyZXNwb25zZSkpLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycjogSHR0cEVycm9yUmVzcG9uc2UpOiBPYnNlcnZhYmxlPG5ldmVyPiA9PiB0aGlzLmhhbmRsZUVycm9yKGVyciwgb3B0aW9ucykpLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNYWtlcyBhbiBodHRwIHBvc3QgY2FsbFxuICAgICAqIEBwYXJhbSB1cmxcbiAgICAgKiBAcGFyYW0gZGF0YVxuICAgICAqIEBwYXJhbSBoZWFkZXJzXG4gICAgICogQHBhcmFtIG9wdGlvbnNcbiAgICAgKi9cbiAgICBwdWJsaWMgcG9zdDxULCBUMT4odXJsOiBzdHJpbmcsIGRhdGE/OiBULCBoZWFkZXJzPzogSHR0cEhlYWRlcnMsIG9wdGlvbnM/OiBJQXBpT3B0aW9ucyk6IE9ic2VydmFibGU8VDE+IHtcbiAgICAgICAgb3B0aW9ucyA9IEFwaVNlcnZpY2Uuc2VyaWFsaXplT3B0aW9ucyhvcHRpb25zKTtcbiAgICAgICAgaGVhZGVycyA9IHRoaXMuZ2V0SGVhZGVycyhoZWFkZXJzLCBvcHRpb25zKTtcblxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICByZXR1cm4gdGhpcy5teUh0dHBDbGllbnQucG9zdDxUMT4odXJsLCBkYXRhLCB7IC4uLm9wdGlvbnMuaHR0cE9wdGlvbnMgYXMgYW55LCBoZWFkZXJzIH0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlOiBIdHRwRXZlbnQ8VDE+KSA9PiB0aGlzLmhhbmRsZVJlc3BvbnNlKHJlc3BvbnNlKSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSk6IE9ic2VydmFibGU8bmV2ZXI+ID0+IHRoaXMuaGFuZGxlRXJyb3IoZXJyLCBvcHRpb25zKSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIG1ha2VzIGFuIGh0dHAgZGVsZXRlIGNhbGxcbiAgICAgKiBAcGFyYW0gdXJsXG4gICAgICogQHBhcmFtIGhlYWRlcnNcbiAgICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGVcbiAgICAgKi9cbiAgICBwdWJsaWMgZGVsZXRlPFQ+KHVybDogc3RyaW5nLCBoZWFkZXJzPzogSHR0cEhlYWRlcnMsIG9wdGlvbnM/OiBJQXBpT3B0aW9ucyk6IE9ic2VydmFibGU8VD4ge1xuICAgICAgICBvcHRpb25zID0gQXBpU2VydmljZS5zZXJpYWxpemVPcHRpb25zKG9wdGlvbnMpO1xuICAgICAgICBoZWFkZXJzID0gdGhpcy5nZXRIZWFkZXJzKGhlYWRlcnMsIG9wdGlvbnMpO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xuICAgICAgICByZXR1cm4gdGhpcy5teUh0dHBDbGllbnQuZGVsZXRlPFQ+KHVybCwgeyAuLi5vcHRpb25zLmh0dHBPcHRpb25zIGFzIHt9LCBoZWFkZXJzIH0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IEh0dHBFcnJvclJlc3BvbnNlKTogT2JzZXJ2YWJsZTxuZXZlcj4gPT4gdGhpcy5oYW5kbGVFcnJvcihlcnIsIG9wdGlvbnMpKSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXBwZW5kcyBhIHNjcmlwdCB0byB0aGUgaHRtbCBib2R5XG4gICAgICogQHBhcmFtIHBhdGhcbiAgICAgKiBAcGFyYW0gYXR0cmlidXRlc1xuICAgICAqIEBwYXJhbSBvbkxvYWRcbiAgICAgKi9cbiAgICBwdWJsaWMgbG9hZEV4dGVybmFsU2NyaXB0KHBhdGg6IHN0cmluZywgYXR0cmlidXRlcz86IHsga2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfVtdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uTG9hZD86ICgodGhpczogR2xvYmFsRXZlbnRIYW5kbGVycywgZXY6IEV2ZW50KSA9PiBhbnkpKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgICBzY3JpcHQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xuICAgICAgICBzY3JpcHQuc3JjID0gcGF0aDtcbiAgICAgICAgc2NyaXB0LmFzeW5jID0gdHJ1ZTtcblxuICAgICAgICBpZiAob25Mb2FkKSB7XG4gICAgICAgICAgICBzY3JpcHQub25sb2FkID0gb25Mb2FkO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGF0dHJpYnV0ZXMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgYXR0cmlidXRlIG9mIGF0dHJpYnV0ZXMpIHtcbiAgICAgICAgICAgICAgICBzY3JpcHQuc2V0QXR0cmlidXRlKGF0dHJpYnV0ZS5rZXksIGF0dHJpYnV0ZS52YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZChzY3JpcHQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlRXJyb3IoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSwgb3B0aW9uczogSUFwaU9wdGlvbnMpOiBPYnNlcnZhYmxlPG5ldmVyPiB7XG4gICAgICAgIGlmICghb3B0aW9ucz8uc2tpcEVycm9ySGFuZGxpbmcpIHtcbiAgICAgICAgICAgIHRoaXMubXlDb3JlTG9nZ2VyU2VydmljZS5sb2dFcnJvcih7IG1zZzogZXJyIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVJlc3BvbnNlPFQ+KHJlc3BvbnNlOiBIdHRwRXZlbnQ8VD4pOiBUIHtcbiAgICAgICAgaWYgKHJlc3BvbnNlIGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuYm9keTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzcG9uc2UgYXMgVDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEhlYWRlcnMoaGVhZGVyczogSHR0cEhlYWRlcnMsIG9wdGlvbnM6IElBcGlPcHRpb25zKTogSHR0cEhlYWRlcnMge1xuICAgICAgICBpZiAoIWhlYWRlcnMpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghb3B0aW9ucy5za2lwQ29udGVudFR5cGUpIHtcbiAgICAgICAgICAgIGlmICghaGVhZGVycy5nZXQoJ0NvbnRlbnQtVHlwZScpKSB7XG4gICAgICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFvcHRpb25zPy5za2lwQXV0aCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZ2V0VG9rZW4oKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRva2VuU2V0dGluZ3M6IElUb2tlblNldHRpbmdzID0gdGhpcy5nZXRUb2tlbigpO1xuICAgICAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQXV0aG9yaXphdGlvbicsIGAkeyB0b2tlblNldHRpbmdzLnRva2VuVHlwZSB9ICR7IHRva2VuU2V0dGluZ3MudG9rZW4gfWApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBEZXByZWNhdGVkLiBVc2UgSVRva2VuU2V0dGluZ3NcbiAgICAgICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0F1dGhvcml6YXRpb24nLCBgQmVhcmVyICR7IHRoaXMuZ2V0QWNjZXNzVG9rZW4oKSB9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGhlYWRlcnM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgc2VyaWFsaXplT3B0aW9ucyhvcHRpb25zOiBJQXBpT3B0aW9ucyk6IElBcGlPcHRpb25zIHtcbiAgICAgICAgaWYgKCFvcHRpb25zKSB7XG4gICAgICAgICAgICBvcHRpb25zID0ge307XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIW9wdGlvbnMuaHR0cE9wdGlvbnMpIHtcbiAgICAgICAgICAgIG9wdGlvbnMuaHR0cE9wdGlvbnMgPSB7fTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBvcHRpb25zO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,197 +0,0 @@
1
- import { HttpErrorResponse } from '@angular/common/http';
2
- import { Injectable } from '@angular/core';
3
- import { BehaviorSubject } from 'rxjs';
4
- import { isNullOrUndefined } from '../utils/commons.util';
5
- import * as i0 from "@angular/core";
6
- export class CoreLoggerService {
7
- /**
8
- * Default constructor
9
- */
10
- constructor() {
11
- this.uiLogs$ = new BehaviorSubject(null);
12
- }
13
- subUiLogs() {
14
- return this.uiLogs$.asObservable();
15
- }
16
- /**
17
- * Gets the error message from any type of object
18
- */
19
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
20
- getErrorMsg(err) {
21
- let msg = 'Unknown Error';
22
- if (!err) {
23
- return msg;
24
- }
25
- if (err instanceof HttpErrorResponse) {
26
- if (typeof err.error !== 'string') {
27
- return `mosa.commons.errors.status[${err.status}].message`;
28
- }
29
- return err.error;
30
- }
31
- if (typeof err === 'string') {
32
- msg = err;
33
- }
34
- else if (err.msg) {
35
- msg = err.msg;
36
- }
37
- else if (err.error?.msg) {
38
- msg = err.error.msg;
39
- }
40
- else if (err.error?.message) {
41
- msg = err.error.message;
42
- }
43
- else if (err.error?.errors && err.error?.errors[0]?.message) {
44
- msg = err.error.errors[0].message;
45
- }
46
- else if (err.message) {
47
- msg = err.message;
48
- }
49
- else if (err.Message) {
50
- msg = err.Message;
51
- }
52
- if (typeof err.error === 'string') {
53
- msg = err.error;
54
- }
55
- return msg;
56
- }
57
- /**
58
- * Get the title to be shown in logger toast
59
- * @param err
60
- */
61
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
62
- getErrorTitle(err) {
63
- let title = 'mosa.commons.logs.error.label';
64
- if (err?.label) {
65
- title = err.label;
66
- }
67
- else if (err?.title) {
68
- title = err.title;
69
- }
70
- else if (err?.error?.label) {
71
- title = err.error.label;
72
- }
73
- else if (err?.error?.title) {
74
- title = err.error.title;
75
- }
76
- return title;
77
- }
78
- /**
79
- * Logs an error to the user
80
- * @param data
81
- * @param showUser
82
- * @param config
83
- */
84
- logError(config) {
85
- config = this.serializeConfig(config);
86
- config.msg = this.getErrorMsg(config.msg);
87
- if (!config.title) {
88
- config.title = this.getErrorTitle(config.msg);
89
- }
90
- config.className = 'snackbar-error';
91
- this.show(config, 'error');
92
- }
93
- /**
94
- * Logs a success message to the user
95
- * @param data
96
- * @param config
97
- */
98
- logSuccess(config) {
99
- config = this.serializeConfig(config);
100
- config.className = 'snackbar-success';
101
- this.show(config, 'success');
102
- }
103
- /**
104
- * Logs a warning to the user
105
- * @param data
106
- * @param showUser
107
- * @param config
108
- */
109
- logWarning(config) {
110
- config = this.serializeConfig(config);
111
- config.className = 'snackbar-warning';
112
- this.show(config, 'warning');
113
- }
114
- /**
115
- * Logs an info to the user
116
- * @param data
117
- * @param config
118
- */
119
- logInfo(config) {
120
- config = this.serializeConfig(config);
121
- config.className = 'snackbar-info';
122
- this.show(config, 'info');
123
- }
124
- /**
125
- * Logs any kind of message to the user
126
- * @param data
127
- * @param config
128
- */
129
- log(config) {
130
- config = this.serializeConfig(config);
131
- config.className = 'snackbar-default';
132
- this.show(config, 'default');
133
- }
134
- /**
135
- * Show the log
136
- * @requires @mosa-ng/material
137
- * @param data
138
- * @param type
139
- * @param config
140
- */
141
- show(config, type) {
142
- this.uiLogs$.next({ title: config.title, msg: config.msg, type, config });
143
- }
144
- /**
145
- * Serializes empty values, so no error is being returned
146
- * @param config
147
- * @private
148
- */
149
- serializeConfig(config) {
150
- // Check if user has default config
151
- if (!this.defaultConfig) {
152
- this.defaultConfig = {
153
- debug: true,
154
- };
155
- }
156
- if (!config) {
157
- // Get user default config
158
- config = {
159
- showDismiss: this.defaultConfig.showDismiss,
160
- closeOnClick: isNullOrUndefined(this.defaultConfig.closeOnClick) ? true : this.defaultConfig.closeOnClick,
161
- className: this.defaultConfig.className,
162
- duration: this.defaultConfig.duration || 4,
163
- };
164
- }
165
- // Serialize configuration
166
- config.duration = CoreLoggerService.getValue(config.duration, this.defaultConfig.duration, 4);
167
- config.className = CoreLoggerService.getValue(config.className, this.defaultConfig.className, null);
168
- config.showDismiss = CoreLoggerService.getValue(config.showDismiss, this.defaultConfig.showDismiss, false);
169
- config.closeOnClick = CoreLoggerService.getValue(config.closeOnClick, this.defaultConfig.closeOnClick, true);
170
- return config;
171
- }
172
- /**
173
- * Gets a value which is not undefined or null
174
- * @param val
175
- * @param val1
176
- * @param def
177
- * @private
178
- */
179
- static getValue(val, val1, def) {
180
- if (isNullOrUndefined(val)) {
181
- if (isNullOrUndefined(val1)) {
182
- return def;
183
- }
184
- return val1;
185
- }
186
- return val;
187
- }
188
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CoreLoggerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
189
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CoreLoggerService, providedIn: 'root' }); }
190
- }
191
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CoreLoggerService, decorators: [{
192
- type: Injectable,
193
- args: [{
194
- providedIn: 'root',
195
- }]
196
- }], ctorParameters: () => [] });
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1sb2dnZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9zZXJ2aWNlcy9jb3JlLWxvZ2dlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUtuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFLMUQsTUFBTSxPQUFPLGlCQUFpQjtJQU0xQjs7T0FFRztJQUNIO1FBQ0ksSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU0sU0FBUztRQUNaLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCw4REFBOEQ7SUFDdkQsV0FBVyxDQUFDLEdBQVE7UUFDdkIsSUFBSSxHQUFHLEdBQVcsZUFBZSxDQUFDO1FBRWxDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNQLE9BQU8sR0FBRyxDQUFDO1FBQ2YsQ0FBQztRQUVELElBQUksR0FBRyxZQUFZLGlCQUFpQixFQUFFLENBQUM7WUFDbkMsSUFBSSxPQUFPLEdBQUcsQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ2hDLE9BQU8sOEJBQStCLEdBQUcsQ0FBQyxNQUFPLFdBQVcsQ0FBQztZQUNqRSxDQUFDO1lBRUQsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDO1FBQ3JCLENBQUM7UUFFRCxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzFCLEdBQUcsR0FBRyxHQUFHLENBQUM7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TTtRQUM5QyxJQUFJLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDekIsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUMxQixPQUFPLEdBQUcsQ0FBQztZQUNmLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDOzhHQTVNUSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZkLE1BQU07OzJGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSUxvZ0V2ZW50IH0gZnJvbSAnLi4vbW9kZWxzL2xvZ2dlci9sb2ctZXZlbnQubW9kZWwnO1xuaW1wb3J0IHsgTG9nVHlwZSB9IGZyb20gJy4uL21vZGVscy9sb2dnZXIvbG9nLXR5cGUubW9kZWwnO1xuaW1wb3J0IHsgSUxvZ2dlckNvbmZpZyB9IGZyb20gJy4uL21vZGVscy9sb2dnZXIvbG9nZ2VyLWNvbmZpZy5tb2RlbCc7XG5pbXBvcnQgeyBJTG9nZ2VyRGVmYXVsdENvbmZpZyB9IGZyb20gJy4uL21vZGVscy9sb2dnZXIvbG9nZ2VyLWRlZmF1bHQtY29uZmlnLm1vZGVsJztcbmltcG9ydCB7IGlzTnVsbE9yVW5kZWZpbmVkIH0gZnJvbSAnLi4vdXRpbHMvY29tbW9ucy51dGlsJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ29yZUxvZ2dlclNlcnZpY2Uge1xuXG4gICAgcHVibGljIGRlZmF1bHRDb25maWc6IElMb2dnZXJEZWZhdWx0Q29uZmlnO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSB1aUxvZ3MkOiBCZWhhdmlvclN1YmplY3Q8SUxvZ0V2ZW50PjtcblxuICAgIC8qKlxuICAgICAqIERlZmF1bHQgY29uc3RydWN0b3JcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy51aUxvZ3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3ViVWlMb2dzKCk6IE9ic2VydmFibGU8SUxvZ0V2ZW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnVpTG9ncyQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgZXJyb3IgbWVzc2FnZSBmcm9tIGFueSB0eXBlIG9mIG9iamVjdFxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHVibGljIGdldEVycm9yTXNnKGVycjogYW55KTogc3RyaW5nIHtcbiAgICAgICAgbGV0IG1zZzogc3RyaW5nID0gJ1Vua25vd24gRXJyb3InO1xuXG4gICAgICAgIGlmICghZXJyKSB7XG4gICAgICAgICAgICByZXR1cm4gbXNnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGVyci5lcnJvciAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYG1vc2EuY29tbW9ucy5lcnJvcnMuc3RhdHVzWyR7IGVyci5zdGF0dXMgfV0ubWVzc2FnZWA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBlcnIuZXJyb3I7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIGVyciA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIG1zZyA9IGVycjtcbiAgICAgICAgfSBlbHNlIGlmIChlcnIubXNnKSB7XG4gICAgICAgICAgICBtc2cgPSBlcnIubXNnO1xuICAgICAgICB9IGVsc2UgaWYgKGVyci5lcnJvcj8ubXNnKSB7XG4gICAgICAgICAgICBtc2cgPSBlcnIuZXJyb3IubXNnO1xuICAgICAgICB9IGVsc2UgaWYgKGVyci5lcnJvcj8ubWVzc2FnZSkge1xuICAgICAgICAgICAgbXNnID0gZXJyLmVycm9yLm1lc3NhZ2U7XG4gICAgICAgIH0gZWxzZSBpZiAoZXJyLmVycm9yPy5lcnJvcnMgJiYgZXJyLmVycm9yPy5lcnJvcnNbIDAgXT8ubWVzc2FnZSkge1xuICAgICAgICAgICAgbXNnID0gZXJyLmVycm9yLmVycm9yc1sgMCBdLm1lc3NhZ2U7XG4gICAgICAgIH0gZWxzZSBpZiAoZXJyLm1lc3NhZ2UpIHtcbiAgICAgICAgICAgIG1zZyA9IGVyci5tZXNzYWdlO1xuICAgICAgICB9IGVsc2UgaWYgKGVyci5NZXNzYWdlKSB7XG4gICAgICAgICAgICBtc2cgPSBlcnIuTWVzc2FnZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgZXJyLmVycm9yID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgbXNnID0gZXJyLmVycm9yO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG1zZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIHRpdGxlIHRvIGJlIHNob3duIGluIGxvZ2dlciB0b2FzdFxuICAgICAqIEBwYXJhbSBlcnJcbiAgICAgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHB1YmxpYyBnZXRFcnJvclRpdGxlKGVycjogYW55KTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHRpdGxlOiBzdHJpbmcgPSAnbW9zYS5jb21tb25zLmxvZ3MuZXJyb3IubGFiZWwnO1xuICAgICAgICBpZiAoZXJyPy5sYWJlbCkge1xuICAgICAgICAgICAgdGl0bGUgPSBlcnIubGFiZWw7XG4gICAgICAgIH0gZWxzZSBpZiAoZXJyPy50aXRsZSkge1xuICAgICAgICAgICAgdGl0bGUgPSBlcnIudGl0bGU7XG4gICAgICAgIH0gZWxzZSBpZiAoZXJyPy5lcnJvcj8ubGFiZWwpIHtcbiAgICAgICAgICAgIHRpdGxlID0gZXJyLmVycm9yLmxhYmVsO1xuICAgICAgICB9IGVsc2UgaWYgKGVycj8uZXJyb3I/LnRpdGxlKSB7XG4gICAgICAgICAgICB0aXRsZSA9IGVyci5lcnJvci50aXRsZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGl0bGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhbiBlcnJvciB0byB0aGUgdXNlclxuICAgICAqIEBwYXJhbSBkYXRhXG4gICAgICogQHBhcmFtIHNob3dVc2VyXG4gICAgICogQHBhcmFtIGNvbmZpZ1xuICAgICAqL1xuICAgIHB1YmxpYyBsb2dFcnJvcihjb25maWc6IElMb2dnZXJDb25maWcpOiB2b2lkIHtcbiAgICAgICAgY29uZmlnID0gdGhpcy5zZXJpYWxpemVDb25maWcoY29uZmlnKTtcbiAgICAgICAgY29uZmlnLm1zZyA9IHRoaXMuZ2V0RXJyb3JNc2coY29uZmlnLm1zZyk7XG5cbiAgICAgICAgaWYgKCFjb25maWcudGl0bGUpIHtcbiAgICAgICAgICAgIGNvbmZpZy50aXRsZSA9IHRoaXMuZ2V0RXJyb3JUaXRsZShjb25maWcubXNnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbmZpZy5jbGFzc05hbWUgPSAnc25hY2tiYXItZXJyb3InO1xuXG4gICAgICAgIHRoaXMuc2hvdyhjb25maWcsICdlcnJvcicpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvZ3MgYSBzdWNjZXNzIG1lc3NhZ2UgdG8gdGhlIHVzZXJcbiAgICAgKiBAcGFyYW0gZGF0YVxuICAgICAqIEBwYXJhbSBjb25maWdcbiAgICAgKi9cbiAgICBwdWJsaWMgbG9nU3VjY2Vzcyhjb25maWc6IElMb2dnZXJDb25maWcpOiB2b2lkIHtcbiAgICAgICAgY29uZmlnID0gdGhpcy5zZXJpYWxpemVDb25maWcoY29uZmlnKTtcbiAgICAgICAgY29uZmlnLmNsYXNzTmFtZSA9ICdzbmFja2Jhci1zdWNjZXNzJztcblxuICAgICAgICB0aGlzLnNob3coY29uZmlnLCAnc3VjY2VzcycpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvZ3MgYSB3YXJuaW5nIHRvIHRoZSB1c2VyXG4gICAgICogQHBhcmFtIGRhdGFcbiAgICAgKiBAcGFyYW0gc2hvd1VzZXJcbiAgICAgKiBAcGFyYW0gY29uZmlnXG4gICAgICovXG4gICAgcHVibGljIGxvZ1dhcm5pbmcoY29uZmlnOiBJTG9nZ2VyQ29uZmlnKTogdm9pZCB7XG4gICAgICAgIGNvbmZpZyA9IHRoaXMuc2VyaWFsaXplQ29uZmlnKGNvbmZpZyk7XG4gICAgICAgIGNvbmZpZy5jbGFzc05hbWUgPSAnc25hY2tiYXItd2FybmluZyc7XG5cbiAgICAgICAgdGhpcy5zaG93KGNvbmZpZywgJ3dhcm5pbmcnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGFuIGluZm8gdG8gdGhlIHVzZXJcbiAgICAgKiBAcGFyYW0gZGF0YVxuICAgICAqIEBwYXJhbSBjb25maWdcbiAgICAgKi9cbiAgICBwdWJsaWMgbG9nSW5mbyhjb25maWc6IElMb2dnZXJDb25maWcpOiB2b2lkIHtcbiAgICAgICAgY29uZmlnID0gdGhpcy5zZXJpYWxpemVDb25maWcoY29uZmlnKTtcbiAgICAgICAgY29uZmlnLmNsYXNzTmFtZSA9ICdzbmFja2Jhci1pbmZvJztcblxuICAgICAgICB0aGlzLnNob3coY29uZmlnLCAnaW5mbycpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvZ3MgYW55IGtpbmQgb2YgbWVzc2FnZSB0byB0aGUgdXNlclxuICAgICAqIEBwYXJhbSBkYXRhXG4gICAgICogQHBhcmFtIGNvbmZpZ1xuICAgICAqL1xuICAgIHB1YmxpYyBsb2coY29uZmlnOiBJTG9nZ2VyQ29uZmlnKTogdm9pZCB7XG4gICAgICAgIGNvbmZpZyA9IHRoaXMuc2VyaWFsaXplQ29uZmlnKGNvbmZpZyk7XG4gICAgICAgIGNvbmZpZy5jbGFzc05hbWUgPSAnc25hY2tiYXItZGVmYXVsdCc7XG5cbiAgICAgICAgdGhpcy5zaG93KGNvbmZpZywgJ2RlZmF1bHQnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBsb2dcbiAgICAgKiBAcmVxdWlyZXMgQG1vc2EtbmcvbWF0ZXJpYWxcbiAgICAgKiBAcGFyYW0gZGF0YVxuICAgICAqIEBwYXJhbSB0eXBlXG4gICAgICogQHBhcmFtIGNvbmZpZ1xuICAgICAqL1xuICAgIHB1YmxpYyBzaG93KGNvbmZpZzogSUxvZ2dlckNvbmZpZywgdHlwZTogTG9nVHlwZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnVpTG9ncyQubmV4dCh7IHRpdGxlOiBjb25maWcudGl0bGUsIG1zZzogY29uZmlnLm1zZywgdHlwZSwgY29uZmlnIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlcmlhbGl6ZXMgZW1wdHkgdmFsdWVzLCBzbyBubyBlcnJvciBpcyBiZWluZyByZXR1cm5lZFxuICAgICAqIEBwYXJhbSBjb25maWdcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgc2VyaWFsaXplQ29uZmlnKGNvbmZpZzogSUxvZ2dlckNvbmZpZyk6IElMb2dnZXJDb25maWcge1xuICAgICAgICAvLyBDaGVjayBpZiB1c2VyIGhhcyBkZWZhdWx0IGNvbmZpZ1xuICAgICAgICBpZiAoIXRoaXMuZGVmYXVsdENvbmZpZykge1xuICAgICAgICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnID0ge1xuICAgICAgICAgICAgICAgIGRlYnVnOiB0cnVlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghY29uZmlnKSB7XG4gICAgICAgICAgICAvLyBHZXQgdXNlciBkZWZhdWx0IGNvbmZpZ1xuICAgICAgICAgICAgY29uZmlnID0ge1xuICAgICAgICAgICAgICAgIHNob3dEaXNtaXNzOiB0aGlzLmRlZmF1bHRDb25maWcuc2hvd0Rpc21pc3MsXG4gICAgICAgICAgICAgICAgY2xvc2VPbkNsaWNrOiBpc051bGxPclVuZGVmaW5lZCh0aGlzLmRlZmF1bHRDb25maWcuY2xvc2VPbkNsaWNrKSA/IHRydWUgOiB0aGlzLmRlZmF1bHRDb25maWcuY2xvc2VPbkNsaWNrLFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogdGhpcy5kZWZhdWx0Q29uZmlnLmNsYXNzTmFtZSxcbiAgICAgICAgICAgICAgICBkdXJhdGlvbjogdGhpcy5kZWZhdWx0Q29uZmlnLmR1cmF0aW9uIHx8IDQsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2VyaWFsaXplIGNvbmZpZ3VyYXRpb25cbiAgICAgICAgY29uZmlnLmR1cmF0aW9uID0gQ29yZUxvZ2dlclNlcnZpY2UuZ2V0VmFsdWU8bnVtYmVyPihjb25maWcuZHVyYXRpb24sIHRoaXMuZGVmYXVsdENvbmZpZy5kdXJhdGlvbiwgNCk7XG4gICAgICAgIGNvbmZpZy5jbGFzc05hbWUgPSBDb3JlTG9nZ2VyU2VydmljZS5nZXRWYWx1ZTxzdHJpbmc+KGNvbmZpZy5jbGFzc05hbWUsIHRoaXMuZGVmYXVsdENvbmZpZy5jbGFzc05hbWUsIG51bGwpO1xuICAgICAgICBjb25maWcuc2hvd0Rpc21pc3MgPSBDb3JlTG9nZ2VyU2VydmljZS5nZXRWYWx1ZTxib29sZWFuPihjb25maWcuc2hvd0Rpc21pc3MsIHRoaXMuZGVmYXVsdENvbmZpZy5zaG93RGlzbWlzcywgZmFsc2UpO1xuICAgICAgICBjb25maWcuY2xvc2VPbkNsaWNrID0gQ29yZUxvZ2dlclNlcnZpY2UuZ2V0VmFsdWU8Ym9vbGVhbj4oY29uZmlnLmNsb3NlT25DbGljaywgdGhpcy5kZWZhdWx0Q29uZmlnLmNsb3NlT25DbGljaywgdHJ1ZSk7XG5cbiAgICAgICAgcmV0dXJuIGNvbmZpZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGEgdmFsdWUgd2hpY2ggaXMgbm90IHVuZGVmaW5lZCBvciBudWxsXG4gICAgICogQHBhcmFtIHZhbFxuICAgICAqIEBwYXJhbSB2YWwxXG4gICAgICogQHBhcmFtIGRlZlxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBzdGF0aWMgZ2V0VmFsdWU8VD4odmFsOiBULCB2YWwxOiBULCBkZWY6IFQpOiBUIHtcbiAgICAgICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkKHZhbCkpIHtcbiAgICAgICAgICAgIGlmIChpc051bGxPclVuZGVmaW5lZCh2YWwxKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBkZWY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdmFsMTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsO1xuICAgIH1cblxufVxuIl19
@@ -1,16 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class CanDeactivateGuard {
4
- canDeactivate(component) {
5
- return component.canDeactivate ? component.canDeactivate() : true;
6
- }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CanDeactivateGuard, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
8
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CanDeactivateGuard, providedIn: 'root' }); }
9
- }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CanDeactivateGuard, decorators: [{
11
- type: Injectable,
12
- args: [{
13
- providedIn: 'root',
14
- }]
15
- }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuLWRlYWN0aXZhdGUuZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvc2VydmljZXMvZ3VhcmRzL2Nhbi1kZWFjdGl2YXRlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVzNDLE1BQU0sT0FBTyxrQkFBa0I7SUFFcEIsYUFBYSxDQUFDLFNBQWlDO1FBQ2xELE9BQU8sU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDakYsQ0FBQzs4R0FKUSxrQkFBa0I7a0hBQWxCLGtCQUFrQixjQUZmLE1BQU07OzJGQUVULGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYW5EZWFjdGl2YXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBDYW5Db21wb25lbnREZWFjdGl2YXRlIHtcbiAgICBjYW5EZWFjdGl2YXRlOiAoKSA9PiBPYnNlcnZhYmxlPGJvb2xlYW4+IHwgUHJvbWlzZTxib29sZWFuPiB8IGJvb2xlYW47XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENhbkRlYWN0aXZhdGVHdWFyZCBpbXBsZW1lbnRzIENhbkRlYWN0aXZhdGU8Q2FuQ29tcG9uZW50RGVhY3RpdmF0ZT4ge1xuXG4gICAgcHVibGljIGNhbkRlYWN0aXZhdGUoY29tcG9uZW50OiBDYW5Db21wb25lbnREZWFjdGl2YXRlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBjb21wb25lbnQuY2FuRGVhY3RpdmF0ZSA/IGNvbXBvbmVudC5jYW5EZWFjdGl2YXRlKCkgYXMgYm9vbGVhbiA6IHRydWU7XG4gICAgfVxuXG59XG4iXX0=