@mediusinc/mng-commons 3.0.0-rc.8 → 3.0.0-rc.9
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.
- package/esm2022/lib/components/action/models/action-execution.model.mjs +1 -1
- package/esm2022/lib/components/form/autocomplete/autocomplete.component.mjs +13 -2
- package/esm2022/lib/components/form/dropdown/dropdown.component.mjs +16 -5
- package/esm2022/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +10 -3
- package/esm2022/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +7 -5
- package/esm2022/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +15 -6
- package/esm2022/lib/components/tableview/table/table.component.mjs +9 -4
- package/esm2022/lib/descriptors/action/action.descriptor.mjs +6 -6
- package/esm2022/lib/descriptors/editor/editor.descriptor.mjs +2 -2
- package/esm2022/lib/descriptors/filter/filter.descriptor.mjs +4 -4
- package/esm2022/lib/descriptors/table/column.descriptor.mjs +2 -2
- package/esm2022/lib/descriptors/tableview/tableview.descriptor.mjs +2 -2
- package/esm2022/lib/error/error.handler.mjs +7 -10
- package/esm2022/lib/models/error.model.mjs +44 -2
- package/esm2022/lib/models/index.mjs +1 -2
- package/esm2022/lib/models/log.model.mjs +1 -1
- package/esm2022/lib/provide-commons.mjs +8 -3
- package/esm2022/lib/router/route-builder.mjs +3 -3
- package/esm2022/lib/router/routes-builder.mjs +2 -2
- package/esm2022/lib/services/action-error-mapper.service.mjs +3 -2
- package/esm2022/lib/services/action-executor.service.mjs +40 -25
- package/esm2022/lib/services/configuration.service.mjs +7 -13
- package/esm2022/lib/services/index.mjs +2 -1
- package/esm2022/lib/services/internal/commons-init.service.mjs +4 -3
- package/esm2022/lib/services/log-publisher-console.service.mjs +40 -0
- package/esm2022/lib/services/logger.service.mjs +57 -50
- package/esm2022/lib/services/tokens/index.mjs +2 -1
- package/esm2022/lib/services/tokens/log-publisher.token.mjs +3 -0
- package/esm2022/lib/services/version.service.mjs +7 -2
- package/esm2022/lib/utils/action-data-provider.util.mjs +7 -7
- package/esm2022/lib/utils/error.util.mjs +247 -0
- package/esm2022/lib/utils/i18n.util.mjs +7 -9
- package/esm2022/lib/utils/index.mjs +2 -1
- package/esm2022/lib/utils/notification.util.mjs +1 -1
- package/esm2022/lib/utils/route.util.mjs +2 -2
- package/esm2022/lib/utils/string.util.mjs +32 -1
- package/esm2022/lib/utils/tableview.util.mjs +2 -2
- package/esm2022/lib/utils/type.util.mjs +2 -2
- package/fesm2022/mediusinc-mng-commons.mjs +657 -270
- package/fesm2022/mediusinc-mng-commons.mjs.map +1 -1
- package/lib/components/action/models/action-execution.model.d.ts +2 -2
- package/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +1 -0
- package/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +1 -0
- package/lib/components/tableview/table/table.component.d.ts +1 -0
- package/lib/descriptors/editor/field.descriptor.d.ts +1 -1
- package/lib/descriptors/table/column.descriptor.d.ts +1 -1
- package/lib/models/error.model.d.ts +44 -9
- package/lib/models/index.d.ts +0 -1
- package/lib/models/log.model.d.ts +14 -8
- package/lib/services/action-error-mapper.service.d.ts +10 -3
- package/lib/services/action-executor.service.d.ts +3 -2
- package/lib/services/index.d.ts +1 -0
- package/lib/services/internal/commons-init.service.d.ts +1 -0
- package/lib/services/log-publisher-console.service.d.ts +4 -0
- package/lib/services/logger.service.d.ts +11 -8
- package/lib/services/tokens/index.d.ts +1 -0
- package/lib/services/tokens/log-publisher.token.d.ts +3 -0
- package/lib/services/version.service.d.ts +1 -0
- package/lib/utils/error.util.d.ts +116 -0
- package/lib/utils/i18n.util.d.ts +3 -3
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/notification.util.d.ts +2 -2
- package/lib/utils/string.util.d.ts +5 -0
- package/package.json +1 -1
- package/esm2022/lib/models/internal-error.model.mjs +0 -30
- package/lib/models/internal-error.model.d.ts +0 -26
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { combineLatest, of, tap
|
|
1
|
+
import { combineLatest, of, tap } from 'rxjs';
|
|
2
2
|
import { catchError, map } from 'rxjs/operators';
|
|
3
|
-
import { MngInternalError } from '../models';
|
|
4
3
|
import { ObjectUtil } from '../utils';
|
|
5
4
|
export class MngConfigurationService {
|
|
6
5
|
static { this._instance = new MngConfigurationService(); }
|
|
@@ -108,18 +107,13 @@ export class MngConfigurationService {
|
|
|
108
107
|
return httpClient.get(noEnvUrl);
|
|
109
108
|
}
|
|
110
109
|
else {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
return throwError(() => {
|
|
114
|
-
return new MngInternalError(message, 'ConfigurationService', {
|
|
115
|
-
cause: err,
|
|
116
|
-
status: err.status,
|
|
117
|
-
statusDescription: err.statusText,
|
|
118
|
-
url: err.url ?? undefined
|
|
119
|
-
});
|
|
120
|
-
});
|
|
110
|
+
this.logger?.warn(`Configuration file ${url} not loaded`, err);
|
|
111
|
+
return of(false);
|
|
121
112
|
}
|
|
122
113
|
}), map(configuration => {
|
|
114
|
+
if (typeof configuration !== 'object') {
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
123
117
|
sourceInfo.configuration = configuration;
|
|
124
118
|
sourceInfo.isLoaded = true;
|
|
125
119
|
return true;
|
|
@@ -177,4 +171,4 @@ export class MngConfigurationService {
|
|
|
177
171
|
this.configuration = config;
|
|
178
172
|
}
|
|
179
173
|
}
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9jb25maWd1cmF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFhLGFBQWEsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwRSxPQUFPLEVBQUMsVUFBVSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRS9DLE9BQU8sRUFBb0IsZ0JBQWdCLEVBQWtCLE1BQU0sV0FBVyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFFcEMsTUFBTSxPQUFPLHVCQUF1QjthQUNqQixjQUFTLEdBQTRCLElBQUksdUJBQXVCLEVBQUUsQUFBekQsQ0FBMEQ7SUFFM0UsTUFBTSxDQUFDLEdBQUc7UUFDYixPQUFPLHVCQUF1QixDQUFDLFNBQVMsQ0FBQztJQUM3QyxDQUFDO0lBWUQ7UUFMUSxnQkFBVyxHQUE4QixFQUFFLENBQUM7UUFDNUMsa0JBQWEsR0FBZSxFQUFFLENBQUM7UUFFL0Isa0JBQWEsR0FBRyxFQUFDLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFDLENBQUM7UUF1RXJEOztXQUVHO1FBQ0ssMkJBQXNCLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO1FBRWxHOzs7V0FHRztRQUNJLDJCQUFzQixHQUFHLEdBQXdCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBN0UzSCw0Q0FBNEM7SUFDaEQsQ0FB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bXBvcnQge0h0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7T2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgb2YsIHRhcCwgdGhyb3dFcnJvcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2NhdGNoRXJyb3IsIG1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge0lNbmdMb2dnZXJTZXJ2aWNlLCBNbmdJbnRlcm5hbEVycm9yLCBNbmdNb2R1bGVDb25maWd9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQge09iamVjdFV0aWx9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlIHtcbiAgICBwcml2YXRlIHN0YXRpYyBfaW5zdGFuY2U6IE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlID0gbmV3IE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlKCk7XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCgpOiBNbmdDb25maWd1cmF0aW9uU2VydmljZSB7XG4gICAgICAgIHJldHVybiBNbmdDb25maWd1cmF0aW9uU2VydmljZS5faW5zdGFuY2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsb2dnZXI/OiBJTW5nTG9nZ2VyU2VydmljZTtcblxuICAgIHByaXZhdGUgaHR0cD86IEh0dHBDbGllbnQ7XG4gICAgcHJpdmF0ZSBtb2R1bGVDb25maWc/OiBNbmdNb2R1bGVDb25maWc7XG4gICAgcHJpdmF0ZSBwcm9qZWN0RW52aXJvbm1lbnQ/OiBhbnk7XG4gICAgcHJpdmF0ZSBqc29uU291cmNlczogQXJyYXk8SnNvblNvdXJjZUxvYWRJbmZvPiA9IFtdO1xuICAgIHByaXZhdGUgb2JqZWN0U291cmNlczogQXJyYXk8YW55PiA9IFtdO1xuXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uID0gey4uLnRoaXMucHJvamVjdEVudmlyb25tZW50fTtcblxuICAgIHByaXZhdGUgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIC8vIGVtcHR5LCBidXQgbmVlZGVkIGZvciBwcml2YXRlIGNvbnN0cnVjdG9yXG4gICAgfVxuXG4gICAgcHVibGljIGluaXQoaHR0cENsaWVudDogSHR0cENsaWVudCwgbG9nZ2VyPzogSU1uZ0xvZ2dlclNlcnZpY2UpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5odHRwID0gaHR0cENsaWVudDtcbiAgICAgICAgdGhpcy5sb2dnZXIgPSBsb2dnZXI/LmNyZWF0ZSgnTW5nQ29uZmlndXJhdGlvblNlcnZpY2UnKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIG1uZyBjb21tb25zIG1vZHVsZSBjb25maWcuXG4gICAgICogQHBhcmFtIGNvbmZpZyBNb2R1bGUgY29uZmlnLlxuICAgICAqL1xuICAgIHB1YmxpYyBhZGRNb2R1bGVDb25maWdTb3VyY2UoY29uZmlnPzogTW5nTW9kdWxlQ29uZmlnKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW9kdWxlQ29uZmlnID0gY29uZmlnO1xuICAgICAgICB0aGlzLm1lcmdlQ29uZmlncygpO1xuICAgICAgICB0aGlzLmxvZ2dlcj8uZGVidWcoYE1vZHVsZSBjb25maWd1cmF0aW9uIHNvdXJjZSBhZGRlZC5gKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgcHJvamVjdCBlbnZpcm9ubWVudCBzb3VyY2UuXG4gICAgICogQHBhcmFtIGVudmlyb25tZW50IEVudmlyb25tZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBhZGRFbnZpcm9ubWVudFNvdXJjZShlbnZpcm9ubWVudDogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJvamVjdEVudmlyb25tZW50ID0gZW52aXJvbm1lbnQ7XG4gICAgICAgIHRoaXMubWVyZ2VDb25maWdzKCk7XG4gICAgICAgIHRoaXMubG9nZ2VyPy5kZWJ1ZyhgRW52aXJvbm1lbnQgY29uZmlndXJhdGlvbiBzb3VyY2UgYWRkZWQuYCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBuZXcgY29uZmlnIHNvdXJjZSBmcm9tIEpTT04gZmlsZSBsb2FkZWQgZnJvbSBIVFRQLlxuICAgICAqIEBwYXJhbSBjb25maWcgQ29uZmlnIGZvciBKU09OIGZpbGUuXG4gICAgICogQHBhcmFtIGxvYWRJbW1lZGlhdGVseSBMb2FkIGlzIGJ5IGRlZmF1bHQgdHJpZ2dlcmVkIG9uIGFwcCBpbml0aWFsaXphdGlvbi4gSWYgaW1tZWRpYXRlIGxvYWQgaXMgcmVxdWlyZWQsIHBhc3MgdHJ1ZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkSnNvblNvdXJjZShjb25maWc6IHt1cmw/OiBzdHJpbmc7IGVuYWJsZUVudlByb2Q/OiBib29sZWFufSA9IHt9LCBsb2FkSW1tZWRpYXRlbHkgPSBmYWxzZSk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICBpZiAoIWNvbmZpZykge1xuICAgICAgICAgICAgY29uZmlnID0ge307XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdXJsID0gY29uZmlnPy51cmwgPz8gJ2Fzc2V0cy9jb25maWcvZW52e3tlbnZpcm9ubWVudH19Lmpzb24nO1xuICAgICAgICBjb25zdCBlbmFibGVFbnZQcm9kUmVwbGFjZSA9IGNvbmZpZz8uZW5hYmxlRW52UHJvZCA/PyBmYWxzZTtcblxuICAgICAgICBjb25zdCBzb3VyY2VJbmZvOiBKc29uU291cmNlTG9hZEluZm8gPSB7XG4gICAgICAgICAgICB1cmw6IHVybCxcbiAgICAgICAgICAgIGlzRW52aXJvbm1lbnQ6IGZhbHNlLFxuICAgICAgICAgICAgZW52aXJvbm1lbnRFbmFibGVFbnZQcm9kOiBlbmFibGVFbnZQcm9kUmVwbGFjZSxcbiAgICAgICAgICAgIGlzTG9hZGVkOiBmYWxzZVxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmpzb25Tb3VyY2VzLnB1c2goc291cmNlSW5mbyk7XG5cbiAgICAgICAgdGhpcy5sb2dnZXI/LmRlYnVnKGBKU09OIGNvbmZpZ3VyYXRpb24gc291cmNlIGFkZGVkOiAke3VybH0uYCk7XG5cbiAgICAgICAgaWYgKGxvYWRJbW1lZGlhdGVseSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9hZEpzb25Db25maWd1cmF0aW9ucygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG9mKHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBuZXcgY29uZmlnIG9iamVjdCBmcm9tIGFueSBvYmplY3QuXG4gICAgICogQHBhcmFtIGNvbmZpZyBDb25maWcgb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBhZGRPYmplY3RTb3VyY2UoY29uZmlnOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vYmplY3RTb3VyY2VzLnB1c2goY29uZmlnKTtcbiAgICAgICAgdGhpcy5sb2dnZXI/LmRlYnVnKGBPYmplY3QgY29uZmlndXJhdGlvbiBzb3VyY2UgYWRkZWQuYCk7XG4gICAgICAgIHRoaXMubWVyZ2VDb25maWdzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogcmV0dXJucyB0cnVlIGlmIHRoZXJlIGlzIG5vIGpzb25Tb3VyY2VzXG4gICAgICovXG4gICAgcHJpdmF0ZSBza2lwSnNvbkNvbmZpZ3NMb2FkaW5nID0gKCkgPT4gdGhpcy5qc29uU291cmNlcyA9PT0gbnVsbCB8fCB0aGlzLmpzb25Tb3VyY2VzLmxlbmd0aCA9PT0gMDtcblxuICAgIC8qKlxuICAgICAqIGxvYWRzIGpzb24gc291cmNlcyBvciBza2lwcyB0aGVtIHJldHVybmluZyB0cnVlIGluIGJvdGggY2FzZXNcbiAgICAgKiB1c2VkIGZvciBgc2tpcEpzb25Tb3VyY2VJbml0YCBjb25maWd1cmF0aW9uIHBhcmFtZXRlclxuICAgICAqL1xuICAgIHB1YmxpYyBsb2FkSnNvbkNvbmZpZ3VyYXRpb25zID0gKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4gPT4gKHRoaXMuc2tpcEpzb25Db25maWdzTG9hZGluZygpID8gb2YodHJ1ZSkgOiB0aGlzLmxvYWRKc29uU291cmNlcygpKTtcblxuICAgIHByaXZhdGUgbG9hZEpzb25Tb3VyY2VzKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICBpZiAoIXRoaXMuaHR0cCkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXI/Lndhcm4oJ0hUVFAgY2xpZW50IHdhcyBub3QgaW5pdGlhbGl6ZWQuIEpzb24gc291cmNlIGNhbm5vdCBiZSBsb2FkZWQnKTtcbiAgICAgICAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBodHRwQ2xpZW50ID0gdGhpcy5odHRwO1xuXG4gICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFxuICAgICAgICAgICAgdGhpcy5qc29uU291cmNlc1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoc291cmNlID0+ICFzb3VyY2UuaXNMb2FkZWQpXG4gICAgICAgICAgICAgICAgLm1hcChzb3VyY2VJbmZvID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHVybCA9IHNvdXJjZUluZm8udXJsO1xuICAgICAgICAgICAgICAgICAgICBzb3VyY2VJbmZvLmVudmlyb25tZW50ID0gdGhpcy5wcm9qZWN0RW52aXJvbm1lbnQubmFtZSB8fCAodGhpcy5wcm9qZWN0RW52aXJvbm1lbnQucHJvZHVjdGlvbiA/IChzb3VyY2VJbmZvLmVudmlyb25tZW50RW5hYmxlRW52UHJvZCA/ICdwcm9kJyA6IG51bGwpIDogJ2RldicpO1xuICAgICAgICAgICAgICAgICAgICBzb3VyY2VJbmZvLmlzRW52aXJvbm1lbnQgPSAhIXNvdXJjZUluZm8uZW52aXJvbm1lbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHNvdXJjZUluZm8uaXNFbnZpcm9ubWVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdXJsID0gdXJsLnJlcGxhY2UoJ3t7ZW52aXJvbm1lbnR9fScsICcuJyArIHNvdXJjZUluZm8uZW52aXJvbm1lbnQpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVwbGFjZSBwb3NzaWJsZSBlbnZpcm9ubWVudCBlbnRyeSBhbmQgY2hhbmdlIHNvdXJjZSBpbmZvIHVybFxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsID0gdXJsLnJlcGxhY2UoJ3t7ZW52aXJvbm1lbnR9fScsICcnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUluZm8udXJsID0gdXJsO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXI/LmRlYnVnKGBMb2FkaW5nIEpTT04gY29uZmlndXJhdGlvbiBzb3VyY2UgZnJvbSAke3VybH0uYCk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGh0dHBDbGllbnQuZ2V0PG9iamVjdD4odXJsKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzb3VyY2VJbmZvLmlzRW52aXJvbm1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgbm9FbnZVcmwgPSBzb3VyY2VJbmZvLnVybC5yZXBsYWNlKCd7e2Vudmlyb25tZW50fX0nLCAnJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUluZm8uZW52aXJvbm1lbnQgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaHR0cENsaWVudC5nZXQ8b2JqZWN0Pihub0VudlVybCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBDb25maWd1cmF0aW9uIGZpbGUgJHt1cmx9IG5vdCBsb2FkZWQgKCR7ZXJyLnN0YXR1c30pOiAke2Vyci5tZXNzYWdlfS5gO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlcj8ud2FybihtZXNzYWdlLCBlcnIpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgTW5nSW50ZXJuYWxFcnJvcihtZXNzYWdlLCAnQ29uZmlndXJhdGlvblNlcnZpY2UnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F1c2U6IGVycixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IGVyci5zdGF0dXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzRGVzY3JpcHRpb246IGVyci5zdGF0dXNUZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogZXJyLnVybCA/PyB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcChjb25maWd1cmF0aW9uID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VJbmZvLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUluZm8uaXNMb2FkZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICkucGlwZShcbiAgICAgICAgICAgIG1hcChzb3VyY2VSZXN1bHRzID0+IHNvdXJjZVJlc3VsdHMuZXZlcnkoc3IgPT4gc3IpKSxcbiAgICAgICAgICAgIHRhcCgoKSA9PiB0aGlzLm1lcmdlQ29uZmlncygpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBjb25maWd1cmF0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDb25maWcoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGNvbmZpZ3VyYXRpb24gdmFsdWUgZm9yIGtleS5cbiAgICAgKiBAcGFyYW0ga2V5IENvbmZpZ3VyYXRpb24ga2V5LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDb25maWdWYWx1ZTxUID0gYW55PihrZXk6IHN0cmluZyk6IFQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvbltrZXldID8gdGhpcy5jb25maWd1cmF0aW9uW2tleV0gOiBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhhcyBjb25maWd1cmF0aW9uIGZvciBrZXkuXG4gICAgICogQHBhcmFtIGtleSBDb25maWd1cmF0aW9uIGtleS5cbiAgICAgKi9cbiAgICBwdWJsaWMgaGFzQ29uZmlnS2V5KGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLmNvbmZpZ3VyYXRpb24pLnNvbWUoayA9PiBrID09PSBrZXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1lcmdlcyBjb25maWd1cmF0aW9uIGZyb20gbXVsdGlwbGUgc291cmNlcyB3aXRoXG4gICAgICovXG4gICAgcHJpdmF0ZSBtZXJnZUNvbmZpZ3MoKSB7XG4gICAgICAgIGxldCBjb25maWcgPSB7fTtcblxuICAgICAgICAvLyAxLiBvYmplY3Qgc291cmNlcyBoYXZlIGhpZ2hlc3QgcHJpb3JpdHlcbiAgICAgICAgaWYgKHRoaXMub2JqZWN0U291cmNlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3Qgb2JqQ29uZmlnIG9mIHRoaXMub2JqZWN0U291cmNlcykge1xuICAgICAgICAgICAgICAgIGNvbmZpZyA9IE9iamVjdFV0aWwuZGVlcE1lcmdlKGNvbmZpZywgb2JqQ29uZmlnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIDIuIEpTT04gc291cmNlcyBjb21lIG5leHRcbiAgICAgICAgY29uc3QganNvbkNvbmZpZ3MgPSB0aGlzLmpzb25Tb3VyY2VzLmZpbHRlcihzb3VyY2UgPT4gc291cmNlLmlzTG9hZGVkICYmIHR5cGVvZiBzb3VyY2UuY29uZmlndXJhdGlvbiA9PT0gJ29iamVjdCcpLm1hcChzb3VyY2UgPT4gc291cmNlLmNvbmZpZ3VyYXRpb24pO1xuICAgICAgICBpZiAoanNvbkNvbmZpZ3MubGVuZ3RoKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGpzb25Db25maWcgb2YganNvbkNvbmZpZ3MpIHtcbiAgICAgICAgICAgICAgICBpZiAoanNvbkNvbmZpZykge1xuICAgICAgICAgICAgICAgICAgICBjb25maWcgPSBPYmplY3RVdGlsLmRlZXBNZXJnZShjb25maWcsIGpzb25Db25maWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIDMuIHByb2plY3QgZW52IGhhcyB0aGUgbmV4dCBwcmlvcml0eVxuICAgICAgICBpZiAodGhpcy5wcm9qZWN0RW52aXJvbm1lbnQpIHtcbiAgICAgICAgICAgIGNvbmZpZyA9IE9iamVjdFV0aWwuZGVlcE1lcmdlKGNvbmZpZywgdGhpcy5wcm9qZWN0RW52aXJvbm1lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gNC4gbW9kdWxlIGNvbmZpZyBoYXMgdGhlIGxvd2VzdCBwcmlvcml0eVxuICAgICAgICBpZiAodGhpcy5tb2R1bGVDb25maWcpIHtcbiAgICAgICAgICAgIGNvbmZpZyA9IE9iamVjdFV0aWwuZGVlcE1lcmdlKGNvbmZpZywgdGhpcy5tb2R1bGVDb25maWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlnO1xuICAgIH1cbn1cblxuaW50ZXJmYWNlIEpzb25Tb3VyY2VMb2FkSW5mbyB7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgaXNMb2FkZWQ6IGJvb2xlYW47XG4gICAgaXNFbnZpcm9ubWVudDogYm9vbGVhbjtcbiAgICBlbnZpcm9ubWVudD86IHN0cmluZyB8IG51bGw7XG4gICAgZW52aXJvbm1lbnRFbmFibGVFbnZQcm9kPzogYm9vbGVhbjtcbiAgICBjb25maWd1cmF0aW9uPzogb2JqZWN0O1xufVxuIl19
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9jb25maWd1cmF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFhLGFBQWEsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3hELE9BQU8sRUFBQyxVQUFVLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHL0MsT0FBTyxFQUFZLFVBQVUsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUUvQyxNQUFNLE9BQU8sdUJBQXVCO2FBQ2pCLGNBQVMsR0FBNEIsSUFBSSx1QkFBdUIsRUFBRSxBQUF6RCxDQUEwRDtJQUUzRSxNQUFNLENBQUMsR0FBRztRQUNiLE9BQU8sdUJBQXVCLENBQUMsU0FBUyxDQUFDO0lBQzdDLENBQUM7SUFZRDtRQUxRLGdCQUFXLEdBQThCLEVBQUUsQ0FBQztRQUM1QyxrQkFBYSxHQUFlLEVBQUUsQ0FBQztRQUUvQixrQkFBYSxHQUFHLEVBQUMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUMsQ0FBQztRQXVFckQ7O1dBRUc7UUFDSywyQkFBc0IsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7UUFFbEc7OztXQUdHO1FBQ0ksMkJBQXNCLEdBQUcsR0FBd0IsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7UUE3RTNILDRDQUE0QztJQUNoRCxDQUFDO0lBRU0sSUFBSSxDQUFDLFVBQXNCLEVBQUUsTUFBMEI7UUFDMUQsSUFBSSxDQUFDLElBQUks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LE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksT0FBTyxNQUFNLENBQUMsYUFBYSxLQUFLLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN2SixJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUU7WUFDcEIsS0FBSyxNQUFNLFVBQVUsSUFBSSxXQUFXLEVBQUU7Z0JBQ2xDLElBQUksVUFBVSxFQUFFO29CQUNaLE1BQU0sR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztpQkFDckQ7YUFDSjtTQUNKO1FBRUQsdUNBQXVDO1FBQ3ZDLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3pCLE1BQU0sR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUNsRTtRQUVELDJDQUEyQztRQUMzQyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDbkIsTUFBTSxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUM1RDtRQUVELElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO0lBQ2hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0h0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7T2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgb2YsIHRhcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2NhdGNoRXJyb3IsIG1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge0lNbmdMb2dnZXJTZXJ2aWNlLCBNbmdNb2R1bGVDb25maWd9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQge0Vycm9yVXRpbCwgT2JqZWN0VXRpbH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgTW5nQ29uZmlndXJhdGlvblNlcnZpY2Uge1xuICAgIHByaXZhdGUgc3RhdGljIF9pbnN0YW5jZTogTW5nQ29uZmlndXJhdGlvblNlcnZpY2UgPSBuZXcgTW5nQ29uZmlndXJhdGlvblNlcnZpY2UoKTtcblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0KCk6IE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlIHtcbiAgICAgICAgcmV0dXJuIE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlLl9pbnN0YW5jZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGxvZ2dlcj86IElNbmdMb2dnZXJTZXJ2aWNlO1xuXG4gICAgcHJpdmF0ZSBodHRwPzogSHR0cENsaWVudDtcbiAgICBwcml2YXRlIG1vZHVsZUNvbmZpZz86IE1uZ01vZHVsZUNvbmZpZztcbiAgICBwcml2YXRlIHByb2plY3RFbnZpcm9ubWVudD86IGFueTtcbiAgICBwcml2YXRlIGpzb25Tb3VyY2VzOiBBcnJheTxKc29uU291cmNlTG9hZEluZm8+ID0gW107XG4gICAgcHJpdmF0ZSBvYmplY3RTb3VyY2VzOiBBcnJheTxhbnk+ID0gW107XG5cbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb24gPSB7Li4udGhpcy5wcm9qZWN0RW52aXJvbm1lbnR9O1xuXG4gICAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgLy8gZW1wdHksIGJ1dCBuZWVkZWQgZm9yIHByaXZhdGUgY29uc3RydWN0b3JcbiAgICB9XG5cbiAgICBwdWJsaWMgaW5pdChodHRwQ2xpZW50OiBIdHRwQ2xpZW50LCBsb2dnZXI/OiBJTW5nTG9nZ2VyU2VydmljZSk6IHRoaXMge1xuICAgICAgICB0aGlzLmh0dHAgPSBodHRwQ2xpZW50O1xuICAgICAgICB0aGlzLmxvZ2dlciA9IGxvZ2dlcj8uY3JlYXRlKCdNbmdDb25maWd1cmF0aW9uU2VydmljZScpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgbW5nIGNvbW1vbnMgbW9kdWxlIGNvbmZpZy5cbiAgICAgKiBAcGFyYW0gY29uZmlnIE1vZHVsZSBjb25maWcuXG4gICAgICovXG4gICAgcHVibGljIGFkZE1vZHVsZUNvbmZpZ1NvdXJjZShjb25maWc/OiBNbmdNb2R1bGVDb25maWcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb2R1bGVDb25maWcgPSBjb25maWc7XG4gICAgICAgIHRoaXMubWVyZ2VDb25maWdzKCk7XG4gICAgICAgIHRoaXMubG9nZ2VyPy5kZWJ1ZyhgTW9kdWxlIGNvbmZpZ3VyYXRpb24gc291cmNlIGFkZGVkLmApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCBwcm9qZWN0IGVudmlyb25tZW50IHNvdXJjZS5cbiAgICAgKiBAcGFyYW0gZW52aXJvbm1lbnQgRW52aXJvbm1lbnQuXG4gICAgICovXG4gICAgcHVibGljIGFkZEVudmlyb25tZW50U291cmNlKGVudmlyb25tZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcm9qZWN0RW52aXJvbm1lbnQgPSBlbnZpcm9ubWVudDtcbiAgICAgICAgdGhpcy5tZXJnZUNvbmZpZ3MoKTtcbiAgICAgICAgdGhpcy5sb2dnZXI/LmRlYnVnKGBFbnZpcm9ubWVudCBjb25maWd1cmF0aW9uIHNvdXJjZSBhZGRlZC5gKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIG5ldyBjb25maWcgc291cmNlIGZyb20gSlNPTiBmaWxlIGxvYWRlZCBmcm9tIEhUVFAuXG4gICAgICogQHBhcmFtIGNvbmZpZyBDb25maWcgZm9yIEpTT04gZmlsZS5cbiAgICAgKiBAcGFyYW0gbG9hZEltbWVkaWF0ZWx5IExvYWQgaXMgYnkgZGVmYXVsdCB0cmlnZ2VyZWQgb24gYXBwIGluaXRpYWxpemF0aW9uLiBJZiBpbW1lZGlhdGUgbG9hZCBpcyByZXF1aXJlZCwgcGFzcyB0cnVlLlxuICAgICAqL1xuICAgIHB1YmxpYyBhZGRKc29uU291cmNlKGNvbmZpZzoge3VybD86IHN0cmluZzsgZW5hYmxlRW52UHJvZD86IGJvb2xlYW59ID0ge30sIGxvYWRJbW1lZGlhdGVseSA9IGZhbHNlKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIGlmICghY29uZmlnKSB7XG4gICAgICAgICAgICBjb25maWcgPSB7fTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB1cmwgPSBjb25maWc/LnVybCA/PyAnYXNzZXRzL2NvbmZpZy9lbnZ7e2Vudmlyb25tZW50fX0uanNvbic7XG4gICAgICAgIGNvbnN0IGVuYWJsZUVudlByb2RSZXBsYWNlID0gY29uZmlnPy5lbmFibGVFbnZQcm9kID8/IGZhbHNlO1xuXG4gICAgICAgIGNvbnN0IHNvdXJjZUluZm86IEpzb25Tb3VyY2VMb2FkSW5mbyA9IHtcbiAgICAgICAgICAgIHVybDogdXJsLFxuICAgICAgICAgICAgaXNFbnZpcm9ubWVudDogZmFsc2UsXG4gICAgICAgICAgICBlbnZpcm9ubWVudEVuYWJsZUVudlByb2Q6IGVuYWJsZUVudlByb2RSZXBsYWNlLFxuICAgICAgICAgICAgaXNMb2FkZWQ6IGZhbHNlXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuanNvblNvdXJjZXMucHVzaChzb3VyY2VJbmZvKTtcblxuICAgICAgICB0aGlzLmxvZ2dlcj8uZGVidWcoYEpTT04gY29uZmlndXJhdGlvbiBzb3VyY2UgYWRkZWQ6ICR7dXJsfS5gKTtcblxuICAgICAgICBpZiAobG9hZEltbWVkaWF0ZWx5KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkSnNvbkNvbmZpZ3VyYXRpb25zKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIG5ldyBjb25maWcgb2JqZWN0IGZyb20gYW55IG9iamVjdC5cbiAgICAgKiBAcGFyYW0gY29uZmlnIENvbmZpZyBvYmplY3QuXG4gICAgICovXG4gICAgcHVibGljIGFkZE9iamVjdFNvdXJjZShjb25maWc6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9iamVjdFNvdXJjZXMucHVzaChjb25maWcpO1xuICAgICAgICB0aGlzLmxvZ2dlcj8uZGVidWcoYE9iamVjdCBjb25maWd1cmF0aW9uIHNvdXJjZSBhZGRlZC5gKTtcbiAgICAgICAgdGhpcy5tZXJnZUNvbmZpZ3MoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiByZXR1cm5zIHRydWUgaWYgdGhlcmUgaXMgbm8ganNvblNvdXJjZXNcbiAgICAgKi9cbiAgICBwcml2YXRlIHNraXBKc29uQ29uZmlnc0xvYWRpbmcgPSAoKSA9PiB0aGlzLmpzb25Tb3VyY2VzID09PSBudWxsIHx8IHRoaXMuanNvblNvdXJjZXMubGVuZ3RoID09PSAwO1xuXG4gICAgLyoqXG4gICAgICogbG9hZHMganNvbiBzb3VyY2VzIG9yIHNraXBzIHRoZW0gcmV0dXJuaW5nIHRydWUgaW4gYm90aCBjYXNlc1xuICAgICAqIHVzZWQgZm9yIGBza2lwSnNvblNvdXJjZUluaXRgIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVyXG4gICAgICovXG4gICAgcHVibGljIGxvYWRKc29uQ29uZmlndXJhdGlvbnMgPSAoKTogT2JzZXJ2YWJsZTxib29sZWFuPiA9PiAodGhpcy5za2lwSnNvbkNvbmZpZ3NMb2FkaW5nKCkgPyBvZih0cnVlKSA6IHRoaXMubG9hZEpzb25Tb3VyY2VzKCkpO1xuXG4gICAgcHJpdmF0ZSBsb2FkSnNvblNvdXJjZXMoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIGlmICghdGhpcy5odHRwKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlcj8ud2FybignSFRUUCBjbGllbnQgd2FzIG5vdCBpbml0aWFsaXplZC4gSnNvbiBzb3VyY2UgY2Fubm90IGJlIGxvYWRlZCcpO1xuICAgICAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGh0dHBDbGllbnQgPSB0aGlzLmh0dHA7XG5cbiAgICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoXG4gICAgICAgICAgICB0aGlzLmpzb25Tb3VyY2VzXG4gICAgICAgICAgICAgICAgLmZpbHRlcihzb3VyY2UgPT4gIXNvdXJjZS5pc0xvYWRlZClcbiAgICAgICAgICAgICAgICAubWFwKHNvdXJjZUluZm8gPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgdXJsID0gc291cmNlSW5mby51cmw7XG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZUluZm8uZW52aXJvbm1lbnQgPSB0aGlzLnByb2plY3RFbnZpcm9ubWVudC5uYW1lIHx8ICh0aGlzLnByb2plY3RFbnZpcm9ubWVudC5wcm9kdWN0aW9uID8gKHNvdXJjZUluZm8uZW52aXJvbm1lbnRFbmFibGVFbnZQcm9kID8gJ3Byb2QnIDogbnVsbCkgOiAnZGV2Jyk7XG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZUluZm8uaXNFbnZpcm9ubWVudCA9ICEhc291cmNlSW5mby5lbnZpcm9ubWVudDtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoc291cmNlSW5mby5pc0Vudmlyb25tZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB1cmwgPSB1cmwucmVwbGFjZSgne3tlbnZpcm9ubWVudH19JywgJy4nICsgc291cmNlSW5mby5lbnZpcm9ubWVudCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyByZXBsYWNlIHBvc3NpYmxlIGVudmlyb25tZW50IGVudHJ5IGFuZCBjaGFuZ2Ugc291cmNlIGluZm8gdXJsXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmwgPSB1cmwucmVwbGFjZSgne3tlbnZpcm9ubWVudH19JywgJycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlSW5mby51cmwgPSB1cmw7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlcj8uZGVidWcoYExvYWRpbmcgSlNPTiBjb25maWd1cmF0aW9uIHNvdXJjZSBmcm9tICR7dXJsfS5gKTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaHR0cENsaWVudC5nZXQ8b2JqZWN0Pih1cmwpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNvdXJjZUluZm8uaXNFbnZpcm9ubWVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBub0VudlVybCA9IHNvdXJjZUluZm8udXJsLnJlcGxhY2UoJ3t7ZW52aXJvbm1lbnR9fScsICcnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlSW5mby5lbnZpcm9ubWVudCA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBodHRwQ2xpZW50LmdldDxvYmplY3Q+KG5vRW52VXJsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlcj8ud2FybihgQ29uZmlndXJhdGlvbiBmaWxlICR7dXJsfSBub3QgbG9hZGVkYCwgZXJyKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwKGNvbmZpZ3VyYXRpb24gPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY29uZmlndXJhdGlvbiAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUluZm8uY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb247XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlSW5mby5pc0xvYWRlZCA9IHRydWU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgKS5waXBlKFxuICAgICAgICAgICAgbWFwKHNvdXJjZVJlc3VsdHMgPT4gc291cmNlUmVzdWx0cy5ldmVyeShzciA9PiBzcikpLFxuICAgICAgICAgICAgdGFwKCgpID0+IHRoaXMubWVyZ2VDb25maWdzKCkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGNvbmZpZ3VyYXRpb24uXG4gICAgICovXG4gICAgcHVibGljIGdldENvbmZpZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgY29uZmlndXJhdGlvbiB2YWx1ZSBmb3Iga2V5LlxuICAgICAqIEBwYXJhbSBrZXkgQ29uZmlndXJhdGlvbiBrZXkuXG4gICAgICovXG4gICAgcHVibGljIGdldENvbmZpZ1ZhbHVlPFQgPSBhbnk+KGtleTogc3RyaW5nKTogVCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uW2tleV0gPyB0aGlzLmNvbmZpZ3VyYXRpb25ba2V5XSA6IG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGFzIGNvbmZpZ3VyYXRpb24gZm9yIGtleS5cbiAgICAgKiBAcGFyYW0ga2V5IENvbmZpZ3VyYXRpb24ga2V5LlxuICAgICAqL1xuICAgIHB1YmxpYyBoYXNDb25maWdLZXkoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuY29uZmlndXJhdGlvbikuc29tZShrID0+IGsgPT09IGtleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWVyZ2VzIGNvbmZpZ3VyYXRpb24gZnJvbSBtdWx0aXBsZSBzb3VyY2VzIHdpdGhcbiAgICAgKi9cbiAgICBwcml2YXRlIG1lcmdlQ29uZmlncygpIHtcbiAgICAgICAgbGV0IGNvbmZpZyA9IHt9O1xuXG4gICAgICAgIC8vIDEuIG9iamVjdCBzb3VyY2VzIGhhdmUgaGlnaGVzdCBwcmlvcml0eVxuICAgICAgICBpZiAodGhpcy5vYmplY3RTb3VyY2VzLmxlbmd0aCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBvYmpDb25maWcgb2YgdGhpcy5vYmplY3RTb3VyY2VzKSB7XG4gICAgICAgICAgICAgICAgY29uZmlnID0gT2JqZWN0VXRpbC5kZWVwTWVyZ2UoY29uZmlnLCBvYmpDb25maWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gMi4gSlNPTiBzb3VyY2VzIGNvbWUgbmV4dFxuICAgICAgICBjb25zdCBqc29uQ29uZmlncyA9IHRoaXMuanNvblNvdXJjZXMuZmlsdGVyKHNvdXJjZSA9PiBzb3VyY2UuaXNMb2FkZWQgJiYgdHlwZW9mIHNvdXJjZS5jb25maWd1cmF0aW9uID09PSAnb2JqZWN0JykubWFwKHNvdXJjZSA9PiBzb3VyY2UuY29uZmlndXJhdGlvbik7XG4gICAgICAgIGlmIChqc29uQ29uZmlncy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QganNvbkNvbmZpZyBvZiBqc29uQ29uZmlncykge1xuICAgICAgICAgICAgICAgIGlmIChqc29uQ29uZmlnKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZyA9IE9iamVjdFV0aWwuZGVlcE1lcmdlKGNvbmZpZywganNvbkNvbmZpZyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gMy4gcHJvamVjdCBlbnYgaGFzIHRoZSBuZXh0IHByaW9yaXR5XG4gICAgICAgIGlmICh0aGlzLnByb2plY3RFbnZpcm9ubWVudCkge1xuICAgICAgICAgICAgY29uZmlnID0gT2JqZWN0VXRpbC5kZWVwTWVyZ2UoY29uZmlnLCB0aGlzLnByb2plY3RFbnZpcm9ubWVudCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyA0LiBtb2R1bGUgY29uZmlnIGhhcyB0aGUgbG93ZXN0IHByaW9yaXR5XG4gICAgICAgIGlmICh0aGlzLm1vZHVsZUNvbmZpZykge1xuICAgICAgICAgICAgY29uZmlnID0gT2JqZWN0VXRpbC5kZWVwTWVyZ2UoY29uZmlnLCB0aGlzLm1vZHVsZUNvbmZpZyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBjb25maWc7XG4gICAgfVxufVxuXG5pbnRlcmZhY2UgSnNvblNvdXJjZUxvYWRJbmZvIHtcbiAgICB1cmw6IHN0cmluZztcbiAgICBpc0xvYWRlZDogYm9vbGVhbjtcbiAgICBpc0Vudmlyb25tZW50OiBib29sZWFuO1xuICAgIGVudmlyb25tZW50Pzogc3RyaW5nIHwgbnVsbDtcbiAgICBlbnZpcm9ubWVudEVuYWJsZUVudlByb2Q/OiBib29sZWFuO1xuICAgIGNvbmZpZ3VyYXRpb24/OiBvYmplY3Q7XG59XG4iXX0=
|
|
@@ -7,5 +7,6 @@ export * from './router.service';
|
|
|
7
7
|
export * from './version.service';
|
|
8
8
|
export * from './view-container.component.service';
|
|
9
9
|
export * from './mng-localstorage-config.service';
|
|
10
|
+
export * from './log-publisher-console.service';
|
|
10
11
|
export * from './logger.service';
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWN0aW9uLWV4ZWN1dG9yLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24tZXJyb3ItbWFwcGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tb25zLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9yb3V0ZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3ZlcnNpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3ZpZXctY29udGFpbmVyLmNvbXBvbmVudC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbW5nLWxvY2Fsc3RvcmFnZS1jb25maWcuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xvZy1wdWJsaXNoZXItY29uc29sZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbG9nZ2VyLnNlcnZpY2UnO1xuIl19
|
|
@@ -3,12 +3,13 @@ import { Injectable, inject } from '@angular/core';
|
|
|
3
3
|
import { combineLatest, mergeMap, of } from 'rxjs';
|
|
4
4
|
import { map } from 'rxjs/operators';
|
|
5
5
|
import { MngCommonsService, MngConfigurationService, MngLoggerService, MngRouterService } from '../';
|
|
6
|
-
import { MNG_COMMONS_INITIALIZER_IT, MNG_MODULE_CONFIG_IT } from '../tokens';
|
|
6
|
+
import { MNG_COMMONS_INITIALIZER_IT, MNG_LOG_PUBLISHERS, MNG_MODULE_CONFIG_IT } from '../tokens';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export class MngCommonsInitService {
|
|
9
9
|
constructor() {
|
|
10
10
|
this.httpClient = inject(HttpClient);
|
|
11
11
|
this.logger = inject(MngLoggerService);
|
|
12
|
+
this.logPublishers = inject(MNG_LOG_PUBLISHERS, { optional: true });
|
|
12
13
|
this.config = inject(MngConfigurationService);
|
|
13
14
|
this.mngCommons = inject(MngCommonsService);
|
|
14
15
|
this.mngRouter = inject(MngRouterService);
|
|
@@ -48,7 +49,7 @@ export class MngCommonsInitService {
|
|
|
48
49
|
}
|
|
49
50
|
return this.config.loadJsonConfigurations().pipe(mergeMap(() => {
|
|
50
51
|
// init logger
|
|
51
|
-
MngLoggerService.init(this.config);
|
|
52
|
+
MngLoggerService.init(this.config, this.logPublishers ?? []);
|
|
52
53
|
if (this.commonsInitializers) {
|
|
53
54
|
ctxLogger.debug('Project initializers are being initialized');
|
|
54
55
|
return combineLatest(this.commonsInitializers.map(ci => ci())).pipe(map(res => res));
|
|
@@ -70,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
70
71
|
providedIn: 'root'
|
|
71
72
|
}]
|
|
72
73
|
}] });
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9ucy1pbml0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2ludGVybmFsL2NvbW1vbnMtaW5pdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQWEsYUFBYSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0QsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLEtBQUssQ0FBQztBQUNuRyxPQUFPLEVBQUMsMEJBQTBCLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxXQUFXLENBQUM7O0FBSy9GLE1BQU0sT0FBTyxxQkFBcUI7SUFIbEM7UUFJcUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxXQUFNLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDbEMsa0JBQWEsR0FBRyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUM3RCxXQUFNLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDekMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3ZDLGNBQVMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNyQyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FB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QUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQ3hGO2lCQUFNO2dCQUNILE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ25CO1FBQ0wsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNMLFNBQVMsQ0FBQyxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztZQUN0RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7OEdBL0RRLHFCQUFxQjtrSEFBckIscUJBQXFCLGNBRmxCLE1BQU07OzJGQUVULHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7SW5qZWN0YWJsZSwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0LCBtZXJnZU1hcCwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtNbmdDb21tb25zU2VydmljZSwgTW5nQ29uZmlndXJhdGlvblNlcnZpY2UsIE1uZ0xvZ2dlclNlcnZpY2UsIE1uZ1JvdXRlclNlcnZpY2V9IGZyb20gJy4uLyc7XG5pbXBvcnQge01OR19DT01NT05TX0lOSVRJQUxJWkVSX0lULCBNTkdfTE9HX1BVQkxJU0hFUlMsIE1OR19NT0RVTEVfQ09ORklHX0lUfSBmcm9tICcuLi90b2tlbnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1uZ0NvbW1vbnNJbml0U2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwQ2xpZW50ID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gaW5qZWN0KE1uZ0xvZ2dlclNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nUHVibGlzaGVycyA9IGluamVjdChNTkdfTE9HX1BVQkxJU0hFUlMsIHtvcHRpb25hbDogdHJ1ZX0pO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1uZ0NvbW1vbnMgPSBpbmplY3QoTW5nQ29tbW9uc1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbW5nUm91dGVyID0gaW5qZWN0KE1uZ1JvdXRlclNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9kdWxlQ29uZmlnID0gaW5qZWN0KE1OR19NT0RVTEVfQ09ORklHX0lULCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbW1vbnNJbml0aWFsaXplcnMgPSBpbmplY3QoTU5HX0NPTU1PTlNfSU5JVElBTElaRVJfSVQsIHtvcHRpb25hbDogdHJ1ZX0pO1xuXG4gICAgcHJpdmF0ZSBpc0luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgaW5pdGlhbGl6ZSgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNJbml0aWFsaXplZCkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKHZvaWQgMCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc0luaXRpYWxpemVkID0gdHJ1ZTtcblxuICAgICAgICBNbmdMb2dnZXJTZXJ2aWNlLmNvbmZpZ3VyZSh7dGltZXN0YW1wRm9ybWF0OiB0aGlzLm1vZHVsZUNvbmZpZz8ubG9nPy50aW1lc3RhbXBGb3JtYXR9KTtcblxuICAgICAgICBjb25zdCBjdHhMb2dnZXIgPSB0aGlzLmxvZ2dlci5jcmVhdGUoJ01uZ0NvbW1vbnNJbml0U2VydmljZScpO1xuICAgICAgICBjdHhMb2dnZXIuZGVidWcoJ0NvbW1vbnMgaW5pdGlhbGl6YXRpb24gaXMgc3RhcnRpbmcnKTtcblxuICAgICAgICAvLyBpbml0IHJvdXRlclxuICAgICAgICB0aGlzLm1uZ1JvdXRlci5pbml0aWFsaXplKCk7XG5cbiAgICAgICAgLy8gaW5pdCBjb25maWd1cmF0aW9ucyB3aXRoIHNldHRpbmdzIGZyb20gbW9kdWxlIGNvbmZpZ1xuICAgICAgICB0aGlzLmNvbmZpZy5pbml0KHRoaXMuaHR0cENsaWVudCwgdGhpcy5sb2dnZXIpO1xuICAgICAgICB0aGlzLmNvbmZpZy5hZGRNb2R1bGVDb25maWdTb3VyY2UodGhpcy5tb2R1bGVDb25maWcgPz8gdW5kZWZpbmVkKTtcbiAgICAgICAgaWYgKHRoaXMubW9kdWxlQ29uZmlnPy5jb25maWd1cmF0aW9uPy5wcm9qZWN0RW52aXJvbm1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLmFkZEVudmlyb25tZW50U291cmNlKHRoaXMubW9kdWxlQ29uZmlnLmNvbmZpZ3VyYXRpb24ucHJvamVjdEVudmlyb25tZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGluaXQgY29uZmlndXJhdGlvbnMgd2l0aCBzZXR0aW5ncyBmcm9tIG1vZHVsZSBjb25maWcgZm9yIGpzb24gc291cmNlXG4gICAgICAgIGlmICghKHRoaXMubW9kdWxlQ29uZmlnPy5jb25maWd1cmF0aW9uPy5za2lwSnNvblNvdXJjZUluaXQgPz8gZmFsc2UpKSB7XG4gICAgICAgICAgICBjb25zdCBqc29uU291cmNlRW5hYmxlRW52UHJvZCA9IHRoaXMubW9kdWxlQ29uZmlnPy5jb25maWd1cmF0aW9uPy5qc29uU291cmNlRW5hYmxlRW52UHJvZCA/PyBmYWxzZTtcbiAgICAgICAgICAgIGNvbnN0IGpzb25Tb3VyY2UgPSB0aGlzLm1vZHVsZUNvbmZpZz8uY29uZmlndXJhdGlvbj8uanNvblNvdXJjZTtcbiAgICAgICAgICAgIGlmICghanNvblNvdXJjZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmFkZEpzb25Tb3VyY2Uoe2VuYWJsZUVudlByb2Q6IGpzb25Tb3VyY2VFbmFibGVFbnZQcm9kfSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoanNvblNvdXJjZSkpIHtcbiAgICAgICAgICAgICAgICBqc29uU291cmNlLmZvckVhY2goc291cmNlID0+IHRoaXMuY29uZmlnLmFkZEpzb25Tb3VyY2Uoe3VybDogc291cmNlLCBlbmFibGVFbnZQcm9kOiBqc29uU291cmNlRW5hYmxlRW52UHJvZH0pKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcuYWRkSnNvblNvdXJjZSh7dXJsOiBqc29uU291cmNlLCBlbmFibGVFbnZQcm9kOiBqc29uU291cmNlRW5hYmxlRW52UHJvZH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLmxvYWRKc29uQ29uZmlndXJhdGlvbnMoKS5waXBlKFxuICAgICAgICAgICAgbWVyZ2VNYXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIGluaXQgbG9nZ2VyXG4gICAgICAgICAgICAgICAgTW5nTG9nZ2VyU2VydmljZS5pbml0KHRoaXMuY29uZmlnLCB0aGlzLmxvZ1B1Ymxpc2hlcnMgPz8gW10pO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29tbW9uc0luaXRpYWxpemVycykge1xuICAgICAgICAgICAgICAgICAgICBjdHhMb2dnZXIuZGVidWcoJ1Byb2plY3QgaW5pdGlhbGl6ZXJzIGFyZSBiZWluZyBpbml0aWFsaXplZCcpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdCh0aGlzLmNvbW1vbnNJbml0aWFsaXplcnMubWFwKGNpID0+IGNpKCkpKS5waXBlKG1hcChyZXMgPT4gcmVzKSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHRydWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjdHhMb2dnZXIuZGVidWcoJ0NvbW1vbnMgaW5pdGlhbGl6YXRpb24gaXMgZmluaXNoZWQnKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5tbmdDb21tb25zLnJlc2V0KCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/* eslint-disable no-console */
|
|
2
|
+
import { LogLevelEnum } from '../models';
|
|
3
|
+
import { ErrorUtil } from '../utils';
|
|
4
|
+
export class MngLogPublisherConsoleService {
|
|
5
|
+
addEntry(entry) {
|
|
6
|
+
let prefix = `${entry.timestampFormatted}`;
|
|
7
|
+
if (entry.category)
|
|
8
|
+
prefix += ` [${entry.category}]`;
|
|
9
|
+
prefix += ':';
|
|
10
|
+
const message = `${entry.message}${entry.messageDetails ? `\n${entry.messageDetails}` : ''}`;
|
|
11
|
+
const logParams = [prefix, message];
|
|
12
|
+
if (entry.error) {
|
|
13
|
+
logParams.push(`\n${ErrorUtil.getErrorName(entry.error)}:`, entry.error);
|
|
14
|
+
}
|
|
15
|
+
if (entry.data?.length) {
|
|
16
|
+
logParams.push(`\nData:\n`, ...entry.data);
|
|
17
|
+
}
|
|
18
|
+
switch (entry.level) {
|
|
19
|
+
case LogLevelEnum.Trace:
|
|
20
|
+
console.trace(...logParams);
|
|
21
|
+
break;
|
|
22
|
+
case LogLevelEnum.Debug:
|
|
23
|
+
console.debug(...logParams);
|
|
24
|
+
break;
|
|
25
|
+
case LogLevelEnum.Log:
|
|
26
|
+
console.log(...logParams);
|
|
27
|
+
break;
|
|
28
|
+
case LogLevelEnum.Info:
|
|
29
|
+
console.info(...logParams);
|
|
30
|
+
break;
|
|
31
|
+
case LogLevelEnum.Warning:
|
|
32
|
+
console.warn(...logParams);
|
|
33
|
+
break;
|
|
34
|
+
case LogLevelEnum.Error:
|
|
35
|
+
console.error(...logParams);
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLXB1Ymxpc2hlci1jb25zb2xlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2xvZy1wdWJsaXNoZXItY29uc29sZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQW1CLFlBQVksRUFBYyxNQUFNLFdBQVcsQ0FBQztBQUN0RSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRW5DLE1BQU0sT0FBTyw2QkFBNkI7SUFDdEMsUUFBUSxDQUFDLEtBQWtCO1FBQ3ZCLElBQUksTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDM0MsSUFBSSxLQUFLLENBQUMsUUFBUTtZQUFFLE1BQU0sSUFBSSxLQUFLLEtBQUssQ0FBQyxRQUFRLEdBQUcsQ0FBQztRQUNyRCxNQUFNLElBQUksR0FBRyxDQUFDO1FBRWQsTUFBTSxPQUFPLEdBQUcsR0FBRyxLQUFLLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUM3RixNQUFNLFNBQVMsR0FBVSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMzQyxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFDYixTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssU0FBUyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDNUU7UUFDRCxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ3BCLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlDO1FBRUQsUUFBUSxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQ2pCLEtBQUssWUFBWSxDQUFDLEtBQUs7Z0JBQ25CLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQztnQkFDNUIsTUFBTTtZQUNWLEtBQUssWUFBWSxDQUFDLEtBQUs7Z0JBQ25CLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQztnQkFDNUIsTUFBTTtZQUNWLEtBQUssWUFBWSxDQUFDLEdBQUc7Z0JBQ2pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQztnQkFDMUIsTUFBTTtZQUNWLEtBQUssWUFBWSxDQUFDLElBQUk7Z0JBQ2xCLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQztnQkFDM0IsTUFBTTtZQUNWLEtBQUssWUFBWSxDQUFDLE9BQU87Z0JBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQztnQkFDM0IsTUFBTTtZQUNWLEtBQUssWUFBWSxDQUFDLEtBQUs7Z0JBQ25CLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQztnQkFDNUIsTUFBTTtTQUNiO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuaW1wb3J0IHtJTW5nTG9nUHVibGlzaGVyLCBMb2dMZXZlbEVudW0sIE1uZ0xvZ0VudHJ5fSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHtFcnJvclV0aWx9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIE1uZ0xvZ1B1Ymxpc2hlckNvbnNvbGVTZXJ2aWNlIGltcGxlbWVudHMgSU1uZ0xvZ1B1Ymxpc2hlciB7XG4gICAgYWRkRW50cnkoZW50cnk6IE1uZ0xvZ0VudHJ5KTogdm9pZCB7XG4gICAgICAgIGxldCBwcmVmaXggPSBgJHtlbnRyeS50aW1lc3RhbXBGb3JtYXR0ZWR9YDtcbiAgICAgICAgaWYgKGVudHJ5LmNhdGVnb3J5KSBwcmVmaXggKz0gYCBbJHtlbnRyeS5jYXRlZ29yeX1dYDtcbiAgICAgICAgcHJlZml4ICs9ICc6JztcblxuICAgICAgICBjb25zdCBtZXNzYWdlID0gYCR7ZW50cnkubWVzc2FnZX0ke2VudHJ5Lm1lc3NhZ2VEZXRhaWxzID8gYFxcbiR7ZW50cnkubWVzc2FnZURldGFpbHN9YCA6ICcnfWA7XG4gICAgICAgIGNvbnN0IGxvZ1BhcmFtczogYW55W10gPSBbcHJlZml4LCBtZXNzYWdlXTtcbiAgICAgICAgaWYgKGVudHJ5LmVycm9yKSB7XG4gICAgICAgICAgICBsb2dQYXJhbXMucHVzaChgXFxuJHtFcnJvclV0aWwuZ2V0RXJyb3JOYW1lKGVudHJ5LmVycm9yKX06YCwgZW50cnkuZXJyb3IpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlbnRyeS5kYXRhPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGxvZ1BhcmFtcy5wdXNoKGBcXG5EYXRhOlxcbmAsIC4uLmVudHJ5LmRhdGEpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3dpdGNoIChlbnRyeS5sZXZlbCkge1xuICAgICAgICAgICAgY2FzZSBMb2dMZXZlbEVudW0uVHJhY2U6XG4gICAgICAgICAgICAgICAgY29uc29sZS50cmFjZSguLi5sb2dQYXJhbXMpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBMb2dMZXZlbEVudW0uRGVidWc6XG4gICAgICAgICAgICAgICAgY29uc29sZS5kZWJ1ZyguLi5sb2dQYXJhbXMpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBMb2dMZXZlbEVudW0uTG9nOlxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKC4uLmxvZ1BhcmFtcyk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIExvZ0xldmVsRW51bS5JbmZvOlxuICAgICAgICAgICAgICAgIGNvbnNvbGUuaW5mbyguLi5sb2dQYXJhbXMpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBMb2dMZXZlbEVudW0uV2FybmluZzpcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oLi4ubG9nUGFyYW1zKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgTG9nTGV2ZWxFbnVtLkVycm9yOlxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoLi4ubG9nUGFyYW1zKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
/* eslint-disable no-console */
|
|
2
1
|
import { DatePipe } from '@angular/common';
|
|
3
2
|
import { LogLevelEnum, MngInternalError } from '../models';
|
|
3
|
+
import { DateUtil } from '../utils';
|
|
4
4
|
export class MngLoggerService {
|
|
5
5
|
static { this._instance = new MngLoggerService(); }
|
|
6
6
|
static { this._isInit = false; }
|
|
7
|
+
static { this._publishers = []; }
|
|
7
8
|
static { this._entriesBuffer = []; }
|
|
8
9
|
static { this._categoryInstances = {}; }
|
|
9
10
|
static { this._timestampFormat = 'yyyy-MM-dd HH:mm:ss.SSS'; }
|
|
@@ -21,15 +22,19 @@ export class MngLoggerService {
|
|
|
21
22
|
MngLoggerService._timestampFormat = config.timestampFormat;
|
|
22
23
|
}
|
|
23
24
|
}
|
|
24
|
-
static init(configurationService) {
|
|
25
|
+
static init(configurationService, publishers) {
|
|
25
26
|
if (MngLoggerService._isInit) {
|
|
26
27
|
return;
|
|
27
28
|
}
|
|
28
29
|
MngLoggerService._configurationService = configurationService;
|
|
30
|
+
MngLoggerService._publishers = publishers;
|
|
29
31
|
MngLoggerService._isInit = true;
|
|
30
32
|
MngLoggerService._flushBuffer();
|
|
31
33
|
}
|
|
32
34
|
static _flushBuffer() {
|
|
35
|
+
if (!MngLoggerService._isInit) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
33
38
|
MngLoggerService._entriesBuffer.forEach(e => this._instance._log(e));
|
|
34
39
|
MngLoggerService._entriesBuffer = [];
|
|
35
40
|
}
|
|
@@ -48,26 +53,38 @@ export class MngLoggerService {
|
|
|
48
53
|
MngLoggerService._categoryInstances[category] = logger;
|
|
49
54
|
return logger;
|
|
50
55
|
}
|
|
51
|
-
_processLog(
|
|
52
|
-
const timestamp =
|
|
53
|
-
const
|
|
54
|
-
const log = {
|
|
56
|
+
_processLog(msgOrError, logLevel, category = undefined, data) {
|
|
57
|
+
const [timestamp, timestampFormatted] = [...this._getTimestamps()];
|
|
58
|
+
const logEntry = {
|
|
55
59
|
level: logLevel,
|
|
56
|
-
message:
|
|
60
|
+
message: typeof msgOrError === 'string' ? msgOrError : msgOrError.message,
|
|
57
61
|
data: data,
|
|
58
|
-
category: category,
|
|
62
|
+
category: this.category ?? category,
|
|
59
63
|
timestamp: timestamp,
|
|
60
64
|
timestampFormatted: timestampFormatted ?? undefined
|
|
61
65
|
};
|
|
62
|
-
if (
|
|
63
|
-
//
|
|
64
|
-
|
|
66
|
+
if (msgOrError instanceof Error) {
|
|
67
|
+
// set error from message param
|
|
68
|
+
logEntry.error = msgOrError;
|
|
65
69
|
}
|
|
66
|
-
else {
|
|
67
|
-
|
|
70
|
+
else if (data?.length && data[0] instanceof Error) {
|
|
71
|
+
// if first data is error, also consider as error
|
|
72
|
+
logEntry.error = data[0];
|
|
73
|
+
data = data.splice(1);
|
|
68
74
|
}
|
|
75
|
+
this._log(logEntry);
|
|
76
|
+
}
|
|
77
|
+
_getTimestamps() {
|
|
78
|
+
const timestamp = new Date();
|
|
79
|
+
const timestampFormatted = this.datePipe.transform(timestamp, MngLoggerService._timestampFormat) ?? DateUtil.toIsoString(timestamp, false, true, true);
|
|
80
|
+
return [timestamp, timestampFormatted];
|
|
69
81
|
}
|
|
70
82
|
_log(log) {
|
|
83
|
+
if (!MngLoggerService._isInit) {
|
|
84
|
+
// add to buffer
|
|
85
|
+
MngLoggerService._entriesBuffer.push(log);
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
71
88
|
const logConfig = (MngLoggerService._configurationService?.getConfigValue)?.('log');
|
|
72
89
|
if ((this.category && log.level < (logConfig?.category?.[this.category]?.level ?? logConfig?.level ?? this.defaultLogLevel)) ||
|
|
73
90
|
(!this.category && log.level < (logConfig?.level ?? this.defaultLogLevel))) {
|
|
@@ -76,48 +93,38 @@ export class MngLoggerService {
|
|
|
76
93
|
if (logConfig?.timestampFormat) {
|
|
77
94
|
log.timestampFormatted = this.datePipe.transform(log.timestamp, logConfig.timestampFormat) ?? undefined;
|
|
78
95
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
switch (log.level) {
|
|
84
|
-
case LogLevelEnum.Trace:
|
|
85
|
-
console.trace(prefix, log.message, ...log.data);
|
|
86
|
-
break;
|
|
87
|
-
case LogLevelEnum.Debug:
|
|
88
|
-
console.debug(prefix, log.message, ...log.data);
|
|
89
|
-
break;
|
|
90
|
-
case LogLevelEnum.Log:
|
|
91
|
-
console.log(prefix, log.message, ...log.data);
|
|
92
|
-
break;
|
|
93
|
-
case LogLevelEnum.Info:
|
|
94
|
-
console.info(prefix, log.message, ...log.data);
|
|
95
|
-
break;
|
|
96
|
-
case LogLevelEnum.Warning:
|
|
97
|
-
console.warn(prefix, log.message, ...log.data);
|
|
98
|
-
break;
|
|
99
|
-
case LogLevelEnum.Error:
|
|
100
|
-
console.error(prefix, log.message, ...log.data);
|
|
101
|
-
break;
|
|
102
|
-
}
|
|
96
|
+
MngLoggerService._publishers.forEach(p => p.addEntry(log));
|
|
97
|
+
}
|
|
98
|
+
trace(msgOrError, ...data) {
|
|
99
|
+
this._processLog(msgOrError, LogLevelEnum.Trace, undefined, data);
|
|
103
100
|
}
|
|
104
|
-
|
|
105
|
-
this._processLog(
|
|
101
|
+
debug(msgOrError, ...data) {
|
|
102
|
+
this._processLog(msgOrError, LogLevelEnum.Debug, undefined, data);
|
|
106
103
|
}
|
|
107
|
-
|
|
108
|
-
this._processLog(
|
|
104
|
+
log(msgOrError, logLevel = LogLevelEnum.Log, category = undefined, ...data) {
|
|
105
|
+
this._processLog(msgOrError, logLevel, category, data);
|
|
109
106
|
}
|
|
110
|
-
|
|
111
|
-
|
|
107
|
+
logEntry(logEntry) {
|
|
108
|
+
const [timestamp, timestampFormatted] = [...this._getTimestamps()];
|
|
109
|
+
const logEntryFinal = {
|
|
110
|
+
timestamp: timestamp,
|
|
111
|
+
timestampFormatted: timestampFormatted ?? undefined,
|
|
112
|
+
category: this.category ?? logEntry.category,
|
|
113
|
+
message: '',
|
|
114
|
+
messageDetails: logEntry.messageDetails,
|
|
115
|
+
level: LogLevelEnum.Log,
|
|
116
|
+
...logEntry
|
|
117
|
+
};
|
|
118
|
+
this._log(logEntryFinal);
|
|
112
119
|
}
|
|
113
|
-
info(
|
|
114
|
-
this._processLog(
|
|
120
|
+
info(msgOrError, ...data) {
|
|
121
|
+
this._processLog(msgOrError, LogLevelEnum.Info, undefined, data);
|
|
115
122
|
}
|
|
116
|
-
warn(
|
|
117
|
-
this._processLog(
|
|
123
|
+
warn(msgOrError, ...data) {
|
|
124
|
+
this._processLog(msgOrError, LogLevelEnum.Warning, undefined, data);
|
|
118
125
|
}
|
|
119
|
-
error(
|
|
120
|
-
this._processLog(
|
|
126
|
+
error(msgOrError, ...data) {
|
|
127
|
+
this._processLog(msgOrError, LogLevelEnum.Error, undefined, data);
|
|
121
128
|
}
|
|
122
129
|
}
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2xvZ2dlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFekMsT0FBTyxFQUFvQixZQUFZLEVBQUUsZ0JBQWdCLEVBQTRCLE1BQU0sV0FBVyxDQUFDO0FBR3ZHLE1BQU0sT0FBTyxnQkFBZ0I7YUFDVixjQUFTLEdBQXFCLElBQUksZ0JBQWdCLEVBQUUsQUFBM0MsQ0FBNEM7YUFDckQsWUFBTyxHQUFHLEtBQUssQUFBUixDQUFTO2FBRWhCLG1CQUFjLEdBQWtCLEVBQUUsQUFBcEIsQ0FBcUI7YUFDbkMsdUJBQWtCLEdBQXFDLEVBQUUsQUFBdkMsQ0FBd0M7YUFDMUQscUJBQWdCLEdBQUcseUJBQXlCLEFBQTVCLENBQTZCO0lBUTVEO1FBSkEsb0VBQW9FO1FBQ25ELG9CQUFlLEdBQWlCLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFDM0QsYUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBR3JDLFFBQVE7SUFDWixDQUFDO0lBRU0sTUFBTSxDQUFDLEdBQUc7UUFDYixPQUFPLGdCQUFnQixDQUFDLFNBQVMsQ0FBQztJQUN0QyxDQUFDO0lBRU0sTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFrQztRQUN0RCxJQUFJLE1BQU0sQ0FBQyxlQUFlLEVBQUU7WUFDeEIsZ0JBQWdCLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQztTQUM5RDtJQUNMLENBQUM7SUFFTSxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUE2QztRQUM1RCxJQUFJLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtZQUMxQixPQUFPO1NBQ1Y7UUFFRCxnQkFBZ0IsQ0FBQyxxQkFBcUIsR0FBRyxvQkFBb0IsQ0FBQztRQUU5RCxn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ZGlzYWJsZSBuby1jb25zb2xlICovXG5pbXBvcnQge0RhdGVQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQge0lNbmdMb2dnZXJTZXJ2aWNlLCBMb2dMZXZlbEVudW0sIE1uZ0ludGVybmFsRXJyb3IsIE1uZ0xvZ0NvbmZpZywgTW5nTG9nRW50cnl9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQge01uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5cbmV4cG9ydCBjbGFzcyBNbmdMb2dnZXJTZXJ2aWNlIGltcGxlbWVudHMgSU1uZ0xvZ2dlclNlcnZpY2Uge1xuICAgIHByaXZhdGUgc3RhdGljIF9pbnN0YW5jZTogTW5nTG9nZ2VyU2VydmljZSA9IG5ldyBNbmdMb2dnZXJTZXJ2aWNlKCk7XG4gICAgcHJpdmF0ZSBzdGF0aWMgX2lzSW5pdCA9IGZhbHNlO1xuICAgIHByaXZhdGUgc3RhdGljIF9jb25maWd1cmF0aW9uU2VydmljZT86IE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlO1xuICAgIHByaXZhdGUgc3RhdGljIF9lbnRyaWVzQnVmZmVyOiBNbmdMb2dFbnRyeVtdID0gW107XG4gICAgcHJpdmF0ZSBzdGF0aWMgX2NhdGVnb3J5SW5zdGFuY2VzOiBSZWNvcmQ8c3RyaW5nLCBNbmdMb2dnZXJTZXJ2aWNlPiA9IHt9O1xuICAgIHByaXZhdGUgc3RhdGljIF90aW1lc3RhbXBGb3JtYXQgPSAneXl5eS1NTS1kZCBISDptbTpzcy5TU1MnO1xuXG4gICAgcHJpdmF0ZSBjYXRlZ29yeT86IHN0cmluZztcblxuICAgIC8vIFRlbXBvcmFyeSBzZXR0aW5ncyB0aGF0IGNvdmVyIGxvZ2dpbmcgY2FsbHMgYmVmb3JlIGluaXRpYWxpc2F0aW9uXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0TG9nTGV2ZWw6IExvZ0xldmVsRW51bSA9IExvZ0xldmVsRW51bS5JbmZvO1xuICAgIHByaXZhdGUgZGF0ZVBpcGUgPSBuZXcgRGF0ZVBpcGUoJ2VuLVVTJyk7XG5cbiAgICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICAvLyBlbXB0eVxuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0KCkge1xuICAgICAgICByZXR1cm4gTW5nTG9nZ2VyU2VydmljZS5faW5zdGFuY2U7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBjb25maWd1cmUoY29uZmlnOiB7dGltZXN0YW1wRm9ybWF0Pzogc3RyaW5nfSkge1xuICAgICAgICBpZiAoY29uZmlnLnRpbWVzdGFtcEZvcm1hdCkge1xuICAgICAgICAgICAgTW5nTG9nZ2VyU2VydmljZS5fdGltZXN0YW1wRm9ybWF0ID0gY29uZmlnLnRpbWVzdGFtcEZvcm1hdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgaW5pdChjb25maWd1cmF0aW9uU2VydmljZTogTW5nQ29uZmlndXJhdGlvblNlcnZpY2UpIHtcbiAgICAgICAgaWYgKE1uZ0xvZ2dlclNlcnZpY2UuX2lzSW5pdCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgTW5nTG9nZ2VyU2VydmljZS5fY29uZmlndXJhdGlvblNlcnZpY2UgPSBjb25maWd1cmF0aW9uU2VydmljZTtcblxuICAgICAgICBNbmdMb2dnZXJTZXJ2aWNlLl9pc0luaXQgPSB0cnVlO1xuICAgICAgICBNbmdMb2dnZXJTZXJ2aWNlLl9mbHVzaEJ1ZmZlcigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIF9mbHVzaEJ1ZmZlcigpIHtcbiAgICAgICAgTW5nTG9nZ2VyU2VydmljZS5fZW50cmllc0J1ZmZlci5mb3JFYWNoKGUgPT4gdGhpcy5faW5zdGFuY2UuX2xvZyhlKSk7XG4gICAgICAgIE1uZ0xvZ2dlclNlcnZpY2UuX2VudHJpZXNCdWZmZXIgPSBbXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZShjYXRlZ29yeTogc3RyaW5nKTogTW5nTG9nZ2VyU2VydmljZSB7XG4gICAgICAgIHJldHVybiBNbmdMb2dnZXJTZXJ2aWNlLl9pbnN0YW5jZS5jcmVhdGUoY2F0ZWdvcnkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjcmVhdGUoY2F0ZWdvcnk6IHN0cmluZyk6IE1uZ0xvZ2dlclNlcnZpY2Uge1xuICAgICAgICBpZiAodGhpcy5jYXRlZ29yeSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IE1uZ0ludGVybmFsRXJyb3IoYENhbm5vdCBjcmVhdGUgbG9nZ2VyIHdpdGggY2F0ZWdvcnkgaW5zaWRlIGFub3RoZXIgY2F0ZWdvcnkgKCR7dGhpcy5jYXRlZ29yeX0pLiBNdXN0IGNyZWF0ZSBsb2dnZXIgb24gcm9vdC5gKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoTW5nTG9nZ2VyU2VydmljZS5fY2F0ZWdvcnlJbnN0YW5jZXNbY2F0ZWdvcnldKSB7XG4gICAgICAgICAgICByZXR1cm4gTW5nTG9nZ2VyU2VydmljZS5fY2F0ZWdvcnlJbnN0YW5jZXNbY2F0ZWdvcnldO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbG9nZ2VyID0gbmV3IE1uZ0xvZ2dlclNlcnZpY2UoKTtcbiAgICAgICAgbG9nZ2VyLmNhdGVnb3J5ID0gY2F0ZWdvcnk7XG5cbiAgICAgICAgTW5nTG9nZ2VyU2VydmljZS5fY2F0ZWdvcnlJbnN0YW5jZXNbY2F0ZWdvcnldID0gbG9nZ2VyO1xuXG4gICAgICAgIHJldHVybiBsb2dnZXI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcHJvY2Vzc0xvZyhtc2c6IHN0cmluZywgbG9nTGV2ZWw6IExvZ0xldmVsRW51bSwgY2F0ZWdvcnkgPSB0aGlzLmNhdGVnb3J5LCBkYXRhOiBhbnlbXSkge1xuICAgICAgICBjb25zdCB0aW1lc3RhbXAgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBjb25zdCB0aW1lc3RhbXBGb3JtYXR0ZWQgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh0aW1lc3RhbXAsIE1uZ0xvZ2dlclNlcnZpY2UuX3RpbWVzdGFtcEZvcm1hdCk7XG4gICAgICAgIGNvbnN0IGxvZyA9IDxNbmdMb2dFbnRyeT57XG4gICAgICAgICAgICBsZXZlbDogbG9nTGV2ZWwsXG4gICAgICAgICAgICBtZXNzYWdlOiBtc2csXG4gICAgICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICAgICAgY2F0ZWdvcnk6IGNhdGVnb3J5LFxuICAgICAgICAgICAgdGltZXN0YW1wOiB0aW1lc3RhbXAsXG4gICAgICAgICAgICB0aW1lc3RhbXBGb3JtYXR0ZWQ6IHRpbWVzdGFtcEZvcm1hdHRlZCA/PyB1bmRlZmluZWRcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoIU1uZ0xvZ2dlclNlcnZpY2UuX2lzSW5pdCkge1xuICAgICAgICAgICAgLy8gYWRkIHRvIGJ1ZmZlclxuICAgICAgICAgICAgTW5nTG9nZ2VyU2VydmljZS5fZW50cmllc0J1ZmZlci5wdXNoKGxvZyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9sb2cobG9nKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2xvZyhsb2c6IE1uZ0xvZ0VudHJ5KSB7XG4gICAgICAgIGNvbnN0IGxvZ0NvbmZpZyA9IE1uZ0xvZ2dlclNlcnZpY2UuX2NvbmZpZ3VyYXRpb25TZXJ2aWNlPy5nZXRDb25maWdWYWx1ZTxNbmdMb2dDb25maWc+Py4oJ2xvZycpO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAodGhpcy5jYXRlZ29yeSAmJiBsb2cubGV2ZWwgPCAobG9nQ29uZmlnPy5jYXRlZ29yeT8uW3RoaXMuY2F0ZWdvcnldPy5sZXZlbCA/PyBsb2dDb25maWc/LmxldmVsID8/IHRoaXMuZGVmYXVsdExvZ0xldmVsKSkgfHxcbiAgICAgICAgICAgICghdGhpcy5jYXRlZ29yeSAmJiBsb2cubGV2ZWwgPCAobG9nQ29uZmlnPy5sZXZlbCA/PyB0aGlzLmRlZmF1bHRMb2dMZXZlbCkpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGxvZ0NvbmZpZz8udGltZXN0YW1wRm9ybWF0KSB7XG4gICAgICAgICAgICBsb2cudGltZXN0YW1wRm9ybWF0dGVkID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0obG9nLnRpbWVzdGFtcCwgbG9nQ29uZmlnLnRpbWVzdGFtcEZvcm1hdCkgPz8gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHByZWZpeCA9IGAke2xvZy50aW1lc3RhbXBGb3JtYXR0ZWR9YDtcbiAgICAgICAgaWYgKGxvZy5jYXRlZ29yeSkgcHJlZml4ICs9IGAgWyR7bG9nLmNhdGVnb3J5fV1gO1xuICAgICAgICBwcmVmaXggKz0gJzonO1xuXG4gICAgICAgIHN3aXRjaCAobG9nLmxldmVsKSB7XG4gICAgICAgICAgICBjYXNlIExvZ0xldmVsRW51bS5UcmFjZTpcbiAgICAgICAgICAgICAgICBjb25zb2xlLnRyYWNlKHByZWZpeCwgbG9nLm1lc3NhZ2UsIC4uLmxvZy5kYXRhKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgTG9nTGV2ZWxFbnVtLkRlYnVnOlxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZGVidWcocHJlZml4LCBsb2cubWVzc2FnZSwgLi4ubG9nLmRhdGEpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBMb2dMZXZlbEVudW0uTG9nOlxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHByZWZpeCwgbG9nLm1lc3NhZ2UsIC4uLmxvZy5kYXRhKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgTG9nTGV2ZWxFbnVtLkluZm86XG4gICAgICAgICAgICAgICAgY29uc29sZS5pbmZvKHByZWZpeCwgbG9nLm1lc3NhZ2UsIC4uLmxvZy5kYXRhKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgTG9nTGV2ZWxFbnVtLldhcm5pbmc6XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKHByZWZpeCwgbG9nLm1lc3NhZ2UsIC4uLmxvZy5kYXRhKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgTG9nTGV2ZWxFbnVtLkVycm9yOlxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IocHJlZml4LCBsb2cubWVzc2FnZSwgLi4ubG9nLmRhdGEpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHRyYWNlKG1zZzogc3RyaW5nLCAuLi5kYXRhOiBhbnlbXSkge1xuICAgICAgICB0aGlzLl9wcm9jZXNzTG9nKG1zZywgTG9nTGV2ZWxFbnVtLlRyYWNlLCB1bmRlZmluZWQsIGRhdGEpO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZWJ1Zyhtc2c6IHN0cmluZywgLi4uZGF0YTogYW55W10pIHtcbiAgICAgICAgdGhpcy5fcHJvY2Vzc0xvZyhtc2csIExvZ0xldmVsRW51bS5EZWJ1ZywgdW5kZWZpbmVkLCBkYXRhKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbG9nKG1zZzogc3RyaW5nLCBsb2dMZXZlbDogTG9nTGV2ZWxFbnVtID0gTG9nTGV2ZWxFbnVtLkxvZywgY2F0ZWdvcnk6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCwgLi4uZGF0YTogYW55W10pIHtcbiAgICAgICAgdGhpcy5fcHJvY2Vzc0xvZyhtc2csIGxvZ0xldmVsLCBjYXRlZ29yeSwgZGF0YSk7XG4gICAgfVxuXG4gICAgcHVibGljIGluZm8obXNnOiBzdHJpbmcsIC4uLmRhdGE6IGFueVtdKSB7XG4gICAgICAgIHRoaXMuX3Byb2Nlc3NMb2cobXNnLCBMb2dMZXZlbEVudW0uSW5mbywgdW5kZWZpbmVkLCBkYXRhKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgd2Fybihtc2c6IHN0cmluZywgLi4uZGF0YTogYW55W10pIHtcbiAgICAgICAgdGhpcy5fcHJvY2Vzc0xvZyhtc2csIExvZ0xldmVsRW51bS5XYXJuaW5nLCB1bmRlZmluZWQsIGRhdGEpO1xuICAgIH1cblxuICAgIHB1YmxpYyBlcnJvcihtc2c6IHN0cmluZywgLi4uZGF0YTogYW55W10pIHtcbiAgICAgICAgdGhpcy5fcHJvY2Vzc0xvZyhtc2csIExvZ0xldmVsRW51bS5FcnJvciwgdW5kZWZpbmVkLCBkYXRhKTtcbiAgICB9XG59XG4iXX0=
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2xvZ2dlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QyxPQUFPLEVBQXNDLFlBQVksRUFBRSxnQkFBZ0IsRUFBNEIsTUFBTSxXQUFXLENBQUM7QUFDekgsT0FBTyxFQUFDLFFBQVEsRUFBWSxNQUFNLFVBQVUsQ0FBQztBQUc3QyxNQUFNLE9BQU8sZ0JBQWdCO2FBQ1YsY0FBUyxHQUFxQixJQUFJLGdCQUFnQixFQUFFLEFBQTNDLENBQTRDO2FBQ3JELFlBQU8sR0FBRyxLQUFLLEFBQVIsQ0FBUzthQUVoQixnQkFBVyxHQUF1QixFQUFFLEFBQXpCLENBQTBCO2FBQ3JDLG1CQUFjLEdBQWtCLEVBQUUsQUFBcEIsQ0FBcUI7YUFDbkMsdUJBQWtCLEdBQXFDLEVBQUUsQUFBdkMsQ0FBd0M7YUFDMUQscUJBQWdCLEdBQUcseUJBQXlCLEFBQTVCLENBQTZCO0lBUTVEO1FBSkEsb0VBQW9FO1FBQ25ELG9CQUFlLEdBQWlCLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFDM0QsYUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBR3JDLFFBQVE7SUFDWixDQUFDO0lBRU0sTUFBTSxDQUFDLEdBQUc7UUFDYixPQUFPLGdCQUFnQixDQUFDLFNBQVMsQ0FBQztJQUN0QyxDQUFDO0lBRU0sTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFrQztRQUN0RCxJQUFJLE1BQU0sQ0FBQyxlQUFlLEVBQUU7WUFDeEIsZ0JBQWdCLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQztTQUM5RDtJQUNMLENBQUM7SUFFTSxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUE2QyxFQUFFLFVBQThCO1FBQzVGLElBQUksZ0JBQWdCLENBQUMs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QUM7SUFFTSxJQUFJLENBQUMsVUFBMEIsRUFBRSxHQUFHLElBQVc7UUFDbEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVNLEtBQUssQ0FBQyxVQUEwQixFQUFFLEdBQUcsSUFBVztRQUNuRCxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN0RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRlUGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHtJTW5nTG9nUHVibGlzaGVyLCBJTW5nTG9nZ2VyU2VydmljZSwgTG9nTGV2ZWxFbnVtLCBNbmdJbnRlcm5hbEVycm9yLCBNbmdMb2dDb25maWcsIE1uZ0xvZ0VudHJ5fSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHtEYXRlVXRpbCwgRXJyb3JVdGlsfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQge01uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5cbmV4cG9ydCBjbGFzcyBNbmdMb2dnZXJTZXJ2aWNlIGltcGxlbWVudHMgSU1uZ0xvZ2dlclNlcnZpY2Uge1xuICAgIHByaXZhdGUgc3RhdGljIF9pbnN0YW5jZTogTW5nTG9nZ2VyU2VydmljZSA9IG5ldyBNbmdMb2dnZXJTZXJ2aWNlKCk7XG4gICAgcHJpdmF0ZSBzdGF0aWMgX2lzSW5pdCA9IGZhbHNlO1xuICAgIHByaXZhdGUgc3RhdGljIF9jb25maWd1cmF0aW9uU2VydmljZT86IE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlO1xuICAgIHByaXZhdGUgc3RhdGljIF9wdWJsaXNoZXJzOiBJTW5nTG9nUHVibGlzaGVyW10gPSBbXTtcbiAgICBwcml2YXRlIHN0YXRpYyBfZW50cmllc0J1ZmZlcjogTW5nTG9nRW50cnlbXSA9IFtdO1xuICAgIHByaXZhdGUgc3RhdGljIF9jYXRlZ29yeUluc3RhbmNlczogUmVjb3JkPHN0cmluZywgTW5nTG9nZ2VyU2VydmljZT4gPSB7fTtcbiAgICBwcml2YXRlIHN0YXRpYyBfdGltZXN0YW1wRm9ybWF0ID0gJ3l5eXktTU0tZGQgSEg6bW06c3MuU1NTJztcblxuICAgIHByaXZhdGUgY2F0ZWdvcnk/OiBzdHJpbmc7XG5cbiAgICAvLyBUZW1wb3Jhcnkgc2V0dGluZ3MgdGhhdCBjb3ZlciBsb2dnaW5nIGNhbGxzIGJlZm9yZSBpbml0aWFsaXNhdGlvblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdExvZ0xldmVsOiBMb2dMZXZlbEVudW0gPSBMb2dMZXZlbEVudW0uSW5mbztcbiAgICBwcml2YXRlIGRhdGVQaXBlID0gbmV3IERhdGVQaXBlKCdlbi1VUycpO1xuXG4gICAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgLy8gZW1wdHlcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIE1uZ0xvZ2dlclNlcnZpY2UuX2luc3RhbmNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgY29uZmlndXJlKGNvbmZpZzoge3RpbWVzdGFtcEZvcm1hdD86IHN0cmluZ30pIHtcbiAgICAgICAgaWYgKGNvbmZpZy50aW1lc3RhbXBGb3JtYXQpIHtcbiAgICAgICAgICAgIE1uZ0xvZ2dlclNlcnZpY2UuX3RpbWVzdGFtcEZvcm1hdCA9IGNvbmZpZy50aW1lc3RhbXBGb3JtYXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGluaXQoY29uZmlndXJhdGlvblNlcnZpY2U6IE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlLCBwdWJsaXNoZXJzOiBJTW5nTG9nUHVibGlzaGVyW10pIHtcbiAgICAgICAgaWYgKE1uZ0xvZ2dlclNlcnZpY2UuX2lzSW5pdCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgTW5nTG9nZ2VyU2VydmljZS5fY29uZmlndXJhdGlvblNlcnZpY2UgPSBjb25maWd1cmF0aW9uU2VydmljZTtcbiAgICAgICAgTW5nTG9nZ2VyU2VydmljZS5fcHVibGlzaGVycyA9IHB1Ymxpc2hlcnM7XG5cbiAgICAgICAgTW5nTG9nZ2VyU2VydmljZS5faXNJbml0ID0gdHJ1ZTtcbiAgICAgICAgTW5nTG9nZ2VyU2VydmljZS5fZmx1c2hCdWZmZXIoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBfZmx1c2hCdWZmZXIoKSB7XG4gICAgICAgIGlmICghTW5nTG9nZ2VyU2VydmljZS5faXNJbml0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgTW5nTG9nZ2VyU2VydmljZS5fZW50cmllc0J1ZmZlci5mb3JFYWNoKGUgPT4gdGhpcy5faW5zdGFuY2UuX2xvZyhlKSk7XG4gICAgICAgIE1uZ0xvZ2dlclNlcnZpY2UuX2VudHJpZXNCdWZmZXIgPSBbXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZShjYXRlZ29yeTogc3RyaW5nKTogTW5nTG9nZ2VyU2VydmljZSB7XG4gICAgICAgIHJldHVybiBNbmdMb2dnZXJTZXJ2aWNlLl9pbnN0YW5jZS5jcmVhdGUoY2F0ZWdvcnkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjcmVhdGUoY2F0ZWdvcnk6IHN0cmluZyk6IE1uZ0xvZ2dlclNlcnZpY2Uge1xuICAgICAgICBpZiAodGhpcy5jYXRlZ29yeSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IE1uZ0ludGVybmFsRXJyb3IoYENhbm5vdCBjcmVhdGUgbG9nZ2VyIHdpdGggY2F0ZWdvcnkgaW5zaWRlIGFub3RoZXIgY2F0ZWdvcnkgKCR7dGhpcy5jYXRlZ29yeX0pLiBNdXN0IGNyZWF0ZSBsb2dnZXIgb24gcm9vdC5gKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoTW5nTG9nZ2VyU2VydmljZS5fY2F0ZWdvcnlJbnN0YW5jZXNbY2F0ZWdvcnldKSB7XG4gICAgICAgICAgICByZXR1cm4gTW5nTG9nZ2VyU2VydmljZS5fY2F0ZWdvcnlJbnN0YW5jZXNbY2F0ZWdvcnldO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbG9nZ2VyID0gbmV3IE1uZ0xvZ2dlclNlcnZpY2UoKTtcbiAgICAgICAgbG9nZ2VyLmNhdGVnb3J5ID0gY2F0ZWdvcnk7XG5cbiAgICAgICAgTW5nTG9nZ2VyU2VydmljZS5fY2F0ZWdvcnlJbnN0YW5jZXNbY2F0ZWdvcnldID0gbG9nZ2VyO1xuXG4gICAgICAgIHJldHVybiBsb2dnZXI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcHJvY2Vzc0xvZyhtc2dPckVycm9yOiBzdHJpbmcgfCBFcnJvciwgbG9nTGV2ZWw6IExvZ0xldmVsRW51bSwgY2F0ZWdvcnk6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCwgZGF0YT86IGFueVtdKSB7XG4gICAgICAgIGNvbnN0IFt0aW1lc3RhbXAsIHRpbWVzdGFtcEZvcm1hdHRlZF0gPSBbLi4udGhpcy5fZ2V0VGltZXN0YW1wcygpXTtcblxuICAgICAgICBjb25zdCBsb2dFbnRyeSA9IDxNbmdMb2dFbnRyeT57XG4gICAgICAgICAgICBsZXZlbDogbG9nTGV2ZWwsXG4gICAgICAgICAgICBtZXNzYWdlOiB0eXBlb2YgbXNnT3JFcnJvciA9PT0gJ3N0cmluZycgPyBtc2dPckVycm9yIDogbXNnT3JFcnJvci5tZXNzYWdlLFxuICAgICAgICAgICAgZGF0YTogZGF0YSxcbiAgICAgICAgICAgIGNhdGVnb3J5OiB0aGlzLmNhdGVnb3J5ID8/IGNhdGVnb3J5LFxuICAgICAgICAgICAgdGltZXN0YW1wOiB0aW1lc3RhbXAsXG4gICAgICAgICAgICB0aW1lc3RhbXBGb3JtYXR0ZWQ6IHRpbWVzdGFtcEZvcm1hdHRlZCA/PyB1bmRlZmluZWRcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAobXNnT3JFcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICAvLyBzZXQgZXJyb3IgZnJvbSBtZXNzYWdlIHBhcmFtXG4gICAgICAgICAgICBsb2dFbnRyeS5lcnJvciA9IG1zZ09yRXJyb3I7XG4gICAgICAgIH0gZWxzZSBpZiAoZGF0YT8ubGVuZ3RoICYmIGRhdGFbMF0gaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgLy8gaWYgZmlyc3QgZGF0YSBpcyBlcnJvciwgYWxzbyBjb25zaWRlciBhcyBlcnJvclxuICAgICAgICAgICAgbG9nRW50cnkuZXJyb3IgPSBkYXRhWzBdO1xuICAgICAgICAgICAgZGF0YSA9IGRhdGEuc3BsaWNlKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fbG9nKGxvZ0VudHJ5KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRUaW1lc3RhbXBzKCk6IFtEYXRlLCBzdHJpbmcgfCBudWxsXSB7XG4gICAgICAgIGNvbnN0IHRpbWVzdGFtcCA9IG5ldyBEYXRlKCk7XG4gICAgICAgIGNvbnN0IHRpbWVzdGFtcEZvcm1hdHRlZCA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHRpbWVzdGFtcCwgTW5nTG9nZ2VyU2VydmljZS5fdGltZXN0YW1wRm9ybWF0KSA/PyBEYXRlVXRpbC50b0lzb1N0cmluZyh0aW1lc3RhbXAsIGZhbHNlLCB0cnVlLCB0cnVlKTtcbiAgICAgICAgcmV0dXJuIFt0aW1lc3RhbXAsIHRpbWVzdGFtcEZvcm1hdHRlZF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfbG9nKGxvZzogTW5nTG9nRW50cnkpIHtcbiAgICAgICAgaWYgKCFNbmdMb2dnZXJTZXJ2aWNlLl9pc0luaXQpIHtcbiAgICAgICAgICAgIC8vIGFkZCB0byBidWZmZXJcbiAgICAgICAgICAgIE1uZ0xvZ2dlclNlcnZpY2UuX2VudHJpZXNCdWZmZXIucHVzaChsb2cpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbG9nQ29uZmlnID0gTW5nTG9nZ2VyU2VydmljZS5fY29uZmlndXJhdGlvblNlcnZpY2U/LmdldENvbmZpZ1ZhbHVlPE1uZ0xvZ0NvbmZpZz4/LignbG9nJyk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICh0aGlzLmNhdGVnb3J5ICYmIGxvZy5sZXZlbCA8IChsb2dDb25maWc/LmNhdGVnb3J5Py5bdGhpcy5jYXRlZ29yeV0/LmxldmVsID8/IGxvZ0NvbmZpZz8ubGV2ZWwgPz8gdGhpcy5kZWZhdWx0TG9nTGV2ZWwpKSB8fFxuICAgICAgICAgICAgKCF0aGlzLmNhdGVnb3J5ICYmIGxvZy5sZXZlbCA8IChsb2dDb25maWc/LmxldmVsID8/IHRoaXMuZGVmYXVsdExvZ0xldmVsKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobG9nQ29uZmlnPy50aW1lc3RhbXBGb3JtYXQpIHtcbiAgICAgICAgICAgIGxvZy50aW1lc3RhbXBGb3JtYXR0ZWQgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShsb2cudGltZXN0YW1wLCBsb2dDb25maWcudGltZXN0YW1wRm9ybWF0KSA/PyB1bmRlZmluZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBNbmdMb2dnZXJTZXJ2aWNlLl9wdWJsaXNoZXJzLmZvckVhY2gocCA9PiBwLmFkZEVudHJ5KGxvZykpO1xuICAgIH1cblxuICAgIHB1YmxpYyB0cmFjZShtc2dPckVycm9yOiBzdHJpbmcgfCBFcnJvciwgLi4uZGF0YTogYW55W10pIHtcbiAgICAgICAgdGhpcy5fcHJvY2Vzc0xvZyhtc2dPckVycm9yLCBMb2dMZXZlbEVudW0uVHJhY2UsIHVuZGVmaW5lZCwgZGF0YSk7XG4gICAgfVxuXG4gICAgcHVibGljIGRlYnVnKG1zZ09yRXJyb3I6IHN0cmluZyB8IEVycm9yLCAuLi5kYXRhOiBhbnlbXSkge1xuICAgICAgICB0aGlzLl9wcm9jZXNzTG9nKG1zZ09yRXJyb3IsIExvZ0xldmVsRW51bS5EZWJ1ZywgdW5kZWZpbmVkLCBkYXRhKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbG9nKG1zZ09yRXJyb3I6IHN0cmluZyB8IEVycm9yLCBsb2dMZXZlbDogTG9nTGV2ZWxFbnVtID0gTG9nTGV2ZWxFbnVtLkxvZywgY2F0ZWdvcnk6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCwgLi4uZGF0YTogYW55W10pIHtcbiAgICAgICAgdGhpcy5fcHJvY2Vzc0xvZyhtc2dPckVycm9yLCBsb2dMZXZlbCwgY2F0ZWdvcnksIGRhdGEpO1xuICAgIH1cblxuICAgIHB1YmxpYyBsb2dFbnRyeTxFIGV4dGVuZHMgUGFydGlhbDxNbmdMb2dFbnRyeT4+KGxvZ0VudHJ5OiBFKSB7XG4gICAgICAgIGNvbnN0IFt0aW1lc3RhbXAsIHRpbWVzdGFtcEZvcm1hdHRlZF0gPSBbLi4udGhpcy5fZ2V0VGltZXN0YW1wcygpXTtcbiAgICAgICAgY29uc3QgbG9nRW50cnlGaW5hbDogTW5nTG9nRW50cnkgPSB7XG4gICAgICAgICAgICB0aW1lc3RhbXA6IHRpbWVzdGFtcCxcbiAgICAgICAgICAgIHRpbWVzdGFtcEZvcm1hdHRlZDogdGltZXN0YW1wRm9ybWF0dGVkID8/IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGNhdGVnb3J5OiB0aGlzLmNhdGVnb3J5ID8/IGxvZ0VudHJ5LmNhdGVnb3J5LFxuICAgICAgICAgICAgbWVzc2FnZTogJycsXG4gICAgICAgICAgICBtZXNzYWdlRGV0YWlsczogbG9nRW50cnkubWVzc2FnZURldGFpbHMsXG4gICAgICAgICAgICBsZXZlbDogTG9nTGV2ZWxFbnVtLkxvZyxcbiAgICAgICAgICAgIC4uLmxvZ0VudHJ5XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuX2xvZyhsb2dFbnRyeUZpbmFsKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaW5mbyhtc2dPckVycm9yOiBzdHJpbmcgfCBFcnJvciwgLi4uZGF0YTogYW55W10pIHtcbiAgICAgICAgdGhpcy5fcHJvY2Vzc0xvZyhtc2dPckVycm9yLCBMb2dMZXZlbEVudW0uSW5mbywgdW5kZWZpbmVkLCBkYXRhKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgd2Fybihtc2dPckVycm9yOiBzdHJpbmcgfCBFcnJvciwgLi4uZGF0YTogYW55W10pIHtcbiAgICAgICAgdGhpcy5fcHJvY2Vzc0xvZyhtc2dPckVycm9yLCBMb2dMZXZlbEVudW0uV2FybmluZywgdW5kZWZpbmVkLCBkYXRhKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZXJyb3IobXNnT3JFcnJvcjogc3RyaW5nIHwgRXJyb3IsIC4uLmRhdGE6IGFueVtdKSB7XG4gICAgICAgIHRoaXMuX3Byb2Nlc3NMb2cobXNnT3JFcnJvciwgTG9nTGV2ZWxFbnVtLkVycm9yLCB1bmRlZmluZWQsIGRhdGEpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from './browser-storage.token';
|
|
2
2
|
export * from './commons-init.token';
|
|
3
3
|
export * from './default-setting.token';
|
|
4
|
+
export * from './log-publisher.token';
|
|
4
5
|
export * from './module-config.token';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3Rva2Vucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Jyb3dzZXItc3RvcmFnZS50b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1vbnMtaW5pdC50b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL2RlZmF1bHQtc2V0dGluZy50b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL2xvZy1wdWJsaXNoZXIudG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi9tb2R1bGUtY29uZmlnLnRva2VuJztcbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export const MNG_LOG_PUBLISHERS = new InjectionToken('MNG_LOG_PUBLISHERS');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLXB1Ymxpc2hlci50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvdG9rZW5zL2xvZy1wdWJsaXNoZXIudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUk3QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBcUIsb0JBQW9CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0lNbmdMb2dQdWJsaXNoZXJ9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbmV4cG9ydCBjb25zdCBNTkdfTE9HX1BVQkxJU0hFUlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48SU1uZ0xvZ1B1Ymxpc2hlcltdPignTU5HX0xPR19QVUJMSVNIRVJTJyk7XG4iXX0=
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { HttpClient } from '@angular/common/http';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Injectable, inject } from '@angular/core';
|
|
3
3
|
import { ReplaySubject } from 'rxjs';
|
|
4
4
|
import { MngConfigurationService } from './configuration.service';
|
|
5
|
+
import { MngLoggerService } from './logger.service';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "@angular/common/http";
|
|
7
8
|
import * as i2 from "./configuration.service";
|
|
@@ -9,6 +10,7 @@ export class MngVersionService {
|
|
|
9
10
|
constructor(http, configurationService) {
|
|
10
11
|
this.http = http;
|
|
11
12
|
this.configurationService = configurationService;
|
|
13
|
+
this.logger = inject(MngLoggerService).create('MngVersionService');
|
|
12
14
|
this.cache = {};
|
|
13
15
|
}
|
|
14
16
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -27,6 +29,9 @@ export class MngVersionService {
|
|
|
27
29
|
this.http.get(urlSegments.join('')).subscribe({
|
|
28
30
|
next: res => {
|
|
29
31
|
this.cache[url].next(res);
|
|
32
|
+
},
|
|
33
|
+
error: err => {
|
|
34
|
+
this.logger.error('Version could not be retreived', err);
|
|
30
35
|
}
|
|
31
36
|
});
|
|
32
37
|
}
|
|
@@ -41,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
41
46
|
providedIn: 'root'
|
|
42
47
|
}]
|
|
43
48
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.MngConfigurationService }]; } });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy92ZXJzaW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBYSxhQUFhLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFHL0MsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFLbEQsTUFBTSxPQUFPLGlCQUFpQjtJQUkxQixZQUFvQixJQUFnQixFQUFVLG9CQUE2QztRQUF2RSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUseUJBQW9CLEdBQXBCLG9CQUFvQixDQUF5QjtRQUgxRSxXQUFNLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDdkUsVUFBSyxHQUE0QyxFQUFFLENBQUM7SUFFa0MsQ0FBQztJQUUvRiw2REFBNkQ7SUFDdEQsV0FBVyxDQUFDLElBQVksRUFBRSxhQUFzQixFQUFFLFFBQVEsR0FBRyxHQUFHO1FBQ25FLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN2QixJQUFJLGFBQWEsRUFBRTtZQUNmLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDeEUsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNoRztRQUNELElBQUksSUFBSSxFQUFFO1lBQ04sV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQy9EO1FBQ0QsTUFBTSxHQUFHLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksYUFBYSxDQUFVLENBQUMsQ0FBQyxDQUFDO1lBRWhELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQzFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRTtvQkFDUixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDOUIsQ0FBQztnQkFDRCxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUU7b0JBQ1QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQzdELENBQUM7YUFDSixDQUFDLENBQUM7U0FDTjtRQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQyxDQUFDOzhHQS9CUSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZkLE1BQU07OzJGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7SW5qZWN0YWJsZSwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0fSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtFcnJvclV0aWx9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7TW5nQ29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gJy4vY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7TW5nTG9nZ2VyU2VydmljZX0gZnJvbSAnLi9sb2dnZXIuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTW5nVmVyc2lvblNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gaW5qZWN0KE1uZ0xvZ2dlclNlcnZpY2UpLmNyZWF0ZSgnTW5nVmVyc2lvblNlcnZpY2UnKTtcbiAgICBwcml2YXRlIGNhY2hlOiB7W2tleTogc3RyaW5nXTogUmVwbGF5U3ViamVjdDx1bmtub3duPn0gPSB7fTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBjb25maWd1cmF0aW9uU2VydmljZTogTW5nQ29uZmlndXJhdGlvblNlcnZpY2UpIHt9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgcHVibGljIGxvYWRWZXJzaW9uKHBhdGg6IHN0cmluZywgYmFzZUNvbmZpZ0tleT86IHN0cmluZywganNvblBhdGggPSAnJCcpOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICAgICAgY29uc3QgdXJsU2VnbWVudHMgPSBbXTtcbiAgICAgICAgaWYgKGJhc2VDb25maWdLZXkpIHtcbiAgICAgICAgICAgIGNvbnN0IGJhc2VVcmwgPSB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLmdldENvbmZpZ1ZhbHVlKGJhc2VDb25maWdLZXkpO1xuICAgICAgICAgICAgdXJsU2VnbWVudHMucHVzaChiYXNlVXJsLmVuZHNXaXRoKCcvJykgPyBiYXNlVXJsLnN1YnN0cmluZygwLCBiYXNlVXJsLmxlbmd0aCAtIDEpIDogYmFzZVVybCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBhdGgpIHtcbiAgICAgICAgICAgIHVybFNlZ21lbnRzLnB1c2goIXBhdGguc3RhcnRzV2l0aCgnLycpID8gYC8ke3BhdGh9YCA6IHBhdGgpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHVybCA9IHVybFNlZ21lbnRzLmpvaW4oJycpO1xuICAgICAgICBpZiAoIXRoaXMuY2FjaGVbdXJsXSkge1xuICAgICAgICAgICAgdGhpcy5jYWNoZVt1cmxdID0gbmV3IFJlcGxheVN1YmplY3Q8dW5rbm93bj4oMSk7XG5cbiAgICAgICAgICAgIHRoaXMuaHR0cC5nZXQodXJsU2VnbWVudHMuam9pbignJykpLnN1YnNjcmliZSh7XG4gICAgICAgICAgICAgICAgbmV4dDogcmVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYWNoZVt1cmxdLm5leHQocmVzKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGVycm9yOiBlcnIgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignVmVyc2lvbiBjb3VsZCBub3QgYmUgcmV0cmVpdmVkJywgZXJyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmNhY2hlW3VybF0uYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxufVxuIl19
|