@mediusinc/mng-commons 5.0.0-rc.0 → 5.0.0-rc.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.
- package/core/data-list/data-list-params-helpers.d.ts +82 -0
- package/core/descriptors/action.descriptor.d.ts +3 -3
- package/core/descriptors/column.descriptor.d.ts +1 -1
- package/core/descriptors/editor.descriptor.d.ts +6 -6
- package/core/descriptors/enum.descriptor.d.ts +6 -0
- package/core/descriptors/filter.descriptor.d.ts +1 -1
- package/core/descriptors/model.descriptor.d.ts +1 -1
- package/core/descriptors/table.descriptor.d.ts +6 -6
- package/core/descriptors/tableview.descriptor.d.ts +10 -10
- package/core/enum/enum-helpers.d.ts +49 -0
- package/core/error/error-helpers.d.ts +114 -0
- package/core/helpers/date.d.ts +14 -0
- package/core/helpers/object.d.ts +27 -0
- package/core/helpers/route.d.ts +35 -0
- package/core/helpers/string.d.ts +7 -0
- package/core/helpers/templates.d.ts +3 -0
- package/core/i18n/i18n-common.d.ts +6 -0
- package/core/i18n/i18n-error.d.ts +4 -0
- package/core/i18n/i18n-type.d.ts +20 -0
- package/core/index.d.ts +15 -9
- package/{model → core}/pipes/enum.pipe.d.ts +2 -2
- package/core/pipes/enumerate.pipe.d.ts +3 -3
- package/{model → core}/pipes/i18n-property.pipe.d.ts +2 -2
- package/core/pipes/template.pipe.d.ts +0 -2
- package/core/router/route-builder.d.ts +2 -4
- package/core/router/routes-builder.d.ts +5 -6
- package/core/security/permission-helpers.d.ts +3 -0
- package/core/security/permissions.model.d.ts +2 -2
- package/esm2022/core/components/notification/notification-wrapper.component.mjs +4 -4
- package/esm2022/core/components/pages/error/error.page.component.mjs +3 -3
- package/esm2022/core/components/pages/not-found/not-found.page.component.mjs +3 -3
- package/esm2022/core/data-list/data-list-params-helpers.mjs +415 -0
- package/esm2022/core/data-list/filter-match.model.mjs +1 -1
- package/esm2022/core/data-providers/base.data-provider.mjs +1 -1
- package/esm2022/core/descriptors/action.descriptor.mjs +1 -1
- package/esm2022/core/descriptors/column.descriptor.mjs +1 -1
- package/esm2022/core/descriptors/editor.descriptor.mjs +1 -1
- package/esm2022/core/descriptors/enum.descriptor.mjs +2 -0
- package/esm2022/core/descriptors/filter.descriptor.mjs +1 -1
- package/esm2022/core/descriptors/model.descriptor.mjs +1 -1
- package/esm2022/core/descriptors/table.descriptor.mjs +1 -1
- package/esm2022/core/descriptors/tableview.descriptor.mjs +1 -1
- package/esm2022/core/directives/component.directive.mjs +4 -4
- package/esm2022/core/directives/dialog-keydown-handler.directive.mjs +4 -4
- package/esm2022/core/directives/template.directive.mjs +3 -3
- package/esm2022/core/enum/enum-helpers.mjs +81 -0
- package/esm2022/core/error/error-handler.mjs +3 -3
- package/esm2022/core/error/error-helpers.mjs +247 -0
- package/esm2022/core/helpers/coercion.mjs +1 -1
- package/esm2022/core/helpers/date.mjs +119 -0
- package/esm2022/core/helpers/object.mjs +145 -0
- package/esm2022/core/helpers/route.mjs +58 -0
- package/esm2022/core/helpers/string.mjs +57 -0
- package/esm2022/core/helpers/templates.mjs +4 -0
- package/esm2022/core/i18n/i18n-common.mjs +24 -0
- package/esm2022/core/i18n/i18n-error.mjs +27 -0
- package/esm2022/core/i18n/i18n-type.mjs +79 -0
- package/esm2022/core/index.mjs +17 -11
- package/esm2022/core/log/log-publisher-console.service.mjs +3 -3
- package/esm2022/core/log/logger.service.mjs +3 -3
- package/esm2022/core/pipes/boolean.pipe.mjs +4 -4
- package/esm2022/core/pipes/class-map.pipe.mjs +4 -4
- package/esm2022/core/pipes/enum.pipe.mjs +27 -0
- package/esm2022/core/pipes/enumerate-async.pipe.mjs +8 -8
- package/esm2022/core/pipes/enumerate.pipe.mjs +10 -10
- package/esm2022/core/pipes/getter.pipe.mjs +4 -4
- package/esm2022/core/pipes/i18n-property.pipe.mjs +19 -0
- package/esm2022/core/pipes/json-path.pipe.mjs +6 -6
- package/esm2022/core/pipes/parametrize.pipe.mjs +6 -6
- package/esm2022/core/pipes/template.pipe.mjs +7 -8
- package/esm2022/core/provide.mjs +1 -21
- package/esm2022/core/reflect/type-enum-metadata.mjs +1 -1
- package/esm2022/core/registry/type-registry.mjs +1 -1
- package/esm2022/core/router/route-builder.mjs +8 -24
- package/esm2022/core/router/routes-builder.mjs +17 -16
- package/esm2022/core/security/permission-helpers.mjs +14 -0
- package/esm2022/core/security/permission.guard.mjs +1 -1
- package/esm2022/core/security/permission.service.mjs +6 -6
- package/esm2022/core/security/permissions.model.mjs +1 -1
- package/esm2022/core/services/commons-configuration.service.mjs +6 -6
- package/esm2022/core/services/commons-init.service.mjs +4 -4
- package/esm2022/core/services/commons-router.service.mjs +4 -4
- package/esm2022/core/services/commons.service.mjs +4 -4
- package/esm2022/core/services/local-storage-config.service.mjs +4 -4
- package/esm2022/filter/descriptors/filter-lookup.descriptor.mjs +9 -10
- package/esm2022/filter/descriptors/filter.descriptor.mjs +1 -1
- package/esm2022/form/api/data-providers/lookup.data-provider.mjs +1 -1
- package/esm2022/form/api/descriptors/button-style.builder.mjs +1 -1
- package/esm2022/form/components/autocomplete/autocomplete.component.mjs +7 -7
- package/esm2022/form/components/date-range/date-range.component.mjs +4 -4
- package/esm2022/form/components/dropdown/dropdown.component.mjs +7 -7
- package/esm2022/form/directives/input-trim.directive.mjs +4 -4
- package/esm2022/model/descriptors/enum.descriptor.mjs +1 -1
- package/esm2022/model/descriptors/model.descriptor.mjs +4 -4
- package/esm2022/model/helpers/i18n.mjs +45 -0
- package/esm2022/model/helpers/model.mjs +71 -0
- package/esm2022/model/index.mjs +4 -7
- package/esm2022/table/api/data-providers/table.data-provider.mjs +1 -1
- package/esm2022/table/api/descriptors/column.descriptor.mjs +1 -1
- package/esm2022/table/api/descriptors/table.descriptor.mjs +36 -8
- package/esm2022/table/api/helpers/class-attribute-converter.mjs +1 -1
- package/esm2022/table/components/column-filter-full/column-filter-full.component.mjs +9 -9
- package/esm2022/table/components/column-value/column-value.component.mjs +12 -14
- package/esm2022/table/components/table/table.component.mjs +20 -37
- package/esm2022/table/helpers/notification.mjs +4 -4
- package/esm2022/table/pipes/locale-default-row-class.pipe.mjs +4 -4
- package/esm2022/table/pipes/table-column-filter-class.pipe.mjs +4 -4
- package/esm2022/table/services/data-list.service.mjs +3 -3
- package/esm2022/tableview/action/components/action/action.component.mjs +9 -9
- package/esm2022/tableview/action/components/editor/action-editor.component.mjs +4 -4
- package/esm2022/tableview/action/components/editor/injector-context/action-editor-injector-context.component.mjs +6 -6
- package/esm2022/tableview/action/components/localization/data-language-dropdown.component.mjs +3 -3
- package/esm2022/tableview/action/components/route/action-route.component.mjs +4 -4
- package/esm2022/tableview/action/components/table/action-table.component.mjs +12 -24
- package/esm2022/tableview/action/helpers/i18n.mjs +82 -0
- package/esm2022/tableview/action/helpers/notification.mjs +8 -8
- package/esm2022/tableview/action/helpers/styles.mjs +1 -1
- package/esm2022/tableview/action/models/execution/action-context.model.mjs +1 -1
- package/esm2022/tableview/action/models/execution/action-instance.model.mjs +1 -1
- package/esm2022/tableview/action/services/action-error-mapper.service.mjs +1 -1
- package/esm2022/tableview/action/services/action-executor.service.mjs +9 -8
- package/esm2022/tableview/action/services/component-action-executor.service.mjs +3 -3
- package/esm2022/tableview/action/services/data-provider-executor.service.mjs +3 -3
- package/esm2022/tableview/action/services/navigation.service.mjs +4 -4
- package/esm2022/tableview/action/services/providers/provide-view-container.mjs +1 -1
- package/esm2022/tableview/action/services/root-action-executor.service.mjs +3 -3
- package/esm2022/tableview/action/services/view-container.service.mjs +3 -3
- package/esm2022/tableview/api/action/descriptors/action-confirmation.descriptor.mjs +1 -1
- package/esm2022/tableview/api/action/descriptors/action-editor.descriptor.mjs +1 -1
- package/esm2022/tableview/api/action/descriptors/action.descriptor.mjs +1 -1
- package/esm2022/tableview/api/action/helpers/data-provider-executors.mjs +1 -1
- package/esm2022/tableview/api/editor/data-providers/editor.data-provider.mjs +1 -1
- package/esm2022/tableview/api/editor/descriptors/editor.descriptor.mjs +4 -4
- package/esm2022/tableview/api/editor/descriptors/field-action.descriptor.mjs +1 -1
- package/esm2022/tableview/api/editor/descriptors/field-base.descriptor.mjs +3 -3
- package/esm2022/tableview/api/editor/descriptors/field-group.descriptor.mjs +1 -1
- package/esm2022/tableview/api/editor/descriptors/field-lookup.descriptor.mjs +8 -8
- package/esm2022/tableview/api/editor/descriptors/field-many.descriptor.mjs +1 -1
- package/esm2022/tableview/api/editor/descriptors/field.descriptor.mjs +4 -4
- package/esm2022/tableview/api/editor/helpers/class-attribute-converter.mjs +1 -1
- package/esm2022/tableview/api/editor/helpers/field-validators.mjs +1 -1
- package/esm2022/tableview/api/editor/models/editor-fields.model.mjs +1 -1
- package/esm2022/tableview/api/editor/models/formly-custom-field.model.mjs +3 -3
- package/esm2022/tableview/api/tableview/data-providers/tableview.data-provider.mjs +1 -1
- package/esm2022/tableview/api/tableview/descriptors/tableview.descriptor.mjs +4 -4
- package/esm2022/tableview/api/tableview/helpers/class-attribute-converter.mjs +1 -1
- package/esm2022/tableview/api/tableview/helpers/files-export.mjs +1 -1
- package/esm2022/tableview/api/tableview/helpers/tableview-default-actions.mjs +4 -4
- package/esm2022/tableview/api/tableview/helpers/tableview-input-builder.mjs +1 -1
- package/esm2022/tableview/editor/components/editor/form-editor.component.mjs +9 -9
- package/esm2022/tableview/editor/components/formly/fields/formly-field-action/formly-field-action.component.mjs +4 -4
- package/esm2022/tableview/editor/components/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +4 -4
- package/esm2022/tableview/editor/components/formly/fields/formly-field-custom/formly-field-custom.component.mjs +3 -3
- package/esm2022/tableview/editor/components/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +4 -4
- package/esm2022/tableview/editor/components/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +3 -3
- package/esm2022/tableview/editor/components/formly/fields/formly-field-input/formly-field-input.component.mjs +4 -4
- package/esm2022/tableview/editor/components/formly/fields/formly-field-label/formly-field-label.component.mjs +3 -3
- package/esm2022/tableview/editor/components/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +7 -7
- package/esm2022/tableview/editor/components/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +4 -4
- package/esm2022/tableview/editor/components/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +9 -9
- package/esm2022/tableview/editor/components/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +3 -3
- package/esm2022/tableview/editor/components/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.mjs +4 -4
- package/esm2022/tableview/editor/components/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +4 -4
- package/esm2022/tableview/editor/helpers/editor-formly.mjs +335 -0
- package/esm2022/tableview/editor/helpers/formly-config.mjs +1 -1
- package/esm2022/tableview/editor/services/formly-config.provider.mjs +1 -1
- package/esm2022/tableview/index.mjs +3 -5
- package/esm2022/tableview/provide.mjs +2 -1
- package/esm2022/tableview/tableview/components/route/tableview-route.component.mjs +3 -3
- package/esm2022/tableview/tableview/components/tableview/tableview.component.mjs +10 -19
- package/esm2022/tableview/tableview/router/tableview-route-builder.mjs +1 -1
- package/fesm2022/mediusinc-mng-commons-core.mjs +1367 -1389
- package/fesm2022/mediusinc-mng-commons-core.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-filter.mjs +8 -9
- package/fesm2022/mediusinc-mng-commons-filter.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-form-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-form.mjs +17 -17
- package/fesm2022/mediusinc-mng-commons-form.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-model.mjs +99 -148
- package/fesm2022/mediusinc-mng-commons-model.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-table-api.mjs +35 -7
- package/fesm2022/mediusinc-mng-commons-table-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-table.mjs +48 -65
- package/fesm2022/mediusinc-mng-commons-table.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview-api.mjs +19 -19
- package/fesm2022/mediusinc-mng-commons-tableview-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview.mjs +507 -572
- package/fesm2022/mediusinc-mng-commons-tableview.mjs.map +1 -1
- package/filter/descriptors/filter.descriptor.d.ts +2 -2
- package/model/descriptors/model.descriptor.d.ts +2 -2
- package/model/helpers/i18n.d.ts +10 -0
- package/model/helpers/model.d.ts +5 -0
- package/model/index.d.ts +2 -4
- package/package.json +7 -7
- package/table/api/descriptors/table.descriptor.d.ts +10 -0
- package/table/components/column-value/column-value.component.d.ts +3 -4
- package/table/components/table/table.component.d.ts +13 -13
- package/tableview/action/components/table/action-table.component.d.ts +6 -6
- package/tableview/action/helpers/i18n.d.ts +22 -0
- package/tableview/action/models/execution/action-instance-state.model.d.ts +21 -21
- package/tableview/action/services/action-executor.service.d.ts +1 -1
- package/tableview/api/action/descriptors/action-editor.descriptor.d.ts +1 -1
- package/tableview/api/action/descriptors/action.descriptor.d.ts +3 -3
- package/tableview/api/action/models/action.type.d.ts +2 -2
- package/tableview/api/action/models/execution/action-instance-state.model.d.ts +21 -21
- package/tableview/api/editor/descriptors/editor.descriptor.d.ts +2 -2
- package/tableview/api/editor/descriptors/field-action.descriptor.d.ts +2 -2
- package/tableview/api/editor/descriptors/field-base.descriptor.d.ts +5 -5
- package/tableview/api/editor/descriptors/field-group.descriptor.d.ts +4 -4
- package/tableview/api/editor/descriptors/field-lookup.descriptor.d.ts +4 -4
- package/tableview/api/editor/descriptors/field-many.descriptor.d.ts +4 -4
- package/tableview/api/editor/descriptors/field.descriptor.d.ts +2 -2
- package/tableview/api/editor/models/editor-fields.model.d.ts +3 -3
- package/tableview/api/tableview/descriptors/tableview.descriptor.d.ts +2 -2
- package/tableview/editor/helpers/editor-formly.d.ts +10 -0
- package/tableview/index.d.ts +2 -2
- package/tableview/tableview/components/tableview/tableview.component.d.ts +5 -5
- package/core/data-list/data-list-params.util.d.ts +0 -84
- package/core/enum/enum.util.d.ts +0 -51
- package/core/error/error.util.d.ts +0 -116
- package/core/security/permission.util.d.ts +0 -5
- package/core/utils/date.util.d.ts +0 -20
- package/core/utils/i18n.util.d.ts +0 -36
- package/core/utils/object.util.d.ts +0 -31
- package/core/utils/route.util.d.ts +0 -37
- package/core/utils/string.util.d.ts +0 -9
- package/esm2022/core/data-list/data-list-params.util.mjs +0 -417
- package/esm2022/core/enum/enum.util.mjs +0 -83
- package/esm2022/core/error/error.util.mjs +0 -249
- package/esm2022/core/security/permission.util.mjs +0 -16
- package/esm2022/core/utils/date.util.mjs +0 -136
- package/esm2022/core/utils/i18n.util.mjs +0 -137
- package/esm2022/core/utils/object.util.mjs +0 -147
- package/esm2022/core/utils/route.util.mjs +0 -60
- package/esm2022/core/utils/string.util.mjs +0 -59
- package/esm2022/model/pipes/enum.pipe.mjs +0 -26
- package/esm2022/model/pipes/i18n-property.pipe.mjs +0 -19
- package/esm2022/model/utils/i18n.util.mjs +0 -51
- package/esm2022/model/utils/model.util.mjs +0 -73
- package/esm2022/tableview/action/utils/i18n.util.mjs +0 -126
- package/esm2022/tableview/editor/utils/editor-formly.util.mjs +0 -337
- package/model/utils/i18n.util.d.ts +0 -15
- package/model/utils/model.util.d.ts +0 -8
- package/tableview/action/utils/i18n.util.d.ts +0 -48
- package/tableview/editor/utils/editor-formly.util.d.ts +0 -12
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
import { of } from 'rxjs';
|
|
2
|
-
import { map } from 'rxjs/operators';
|
|
3
|
-
import { ErrorUtil } from '../error/error.util';
|
|
4
|
-
import { findReflectTypeName } from '../reflect/type-enum-metadata';
|
|
5
|
-
export var I18nUtils;
|
|
6
|
-
(function (I18nUtils) {
|
|
7
|
-
class Common {
|
|
8
|
-
static getAsync(translate, params, ...keys) {
|
|
9
|
-
return translate.stream(keys, params).pipe(map(i18n => I18nUtils.Common.selectI18n(keys, i18n)));
|
|
10
|
-
}
|
|
11
|
-
static get(translate, params, ...keys) {
|
|
12
|
-
const i18n = translate.instant(keys, params);
|
|
13
|
-
return I18nUtils.Common.selectI18n(keys, i18n);
|
|
14
|
-
}
|
|
15
|
-
static populateParams(item, params = {}) {
|
|
16
|
-
const paramsRes = { ...params };
|
|
17
|
-
if (item) {
|
|
18
|
-
paramsRes.item = item;
|
|
19
|
-
}
|
|
20
|
-
return paramsRes;
|
|
21
|
-
}
|
|
22
|
-
static selectI18n(keys, i18n) {
|
|
23
|
-
for (const key of keys) {
|
|
24
|
-
if (key !== i18n[key]) {
|
|
25
|
-
return i18n[key];
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
I18nUtils.Common = Common;
|
|
32
|
-
class Type {
|
|
33
|
-
static getClassNameAsync(translate, classType, singular) {
|
|
34
|
-
const typeName = findReflectTypeName(classType);
|
|
35
|
-
return I18nUtils.Type.getNameAsync(translate, typeName ?? '', singular);
|
|
36
|
-
}
|
|
37
|
-
static getClassName(translate, classType, singular) {
|
|
38
|
-
const typeName = findReflectTypeName(classType);
|
|
39
|
-
return I18nUtils.Type.getName(translate, typeName ?? '', singular);
|
|
40
|
-
}
|
|
41
|
-
static getNameAsync(translate, typeName, singular) {
|
|
42
|
-
const keys = I18nUtils.Type.getNameKeys(typeName, singular);
|
|
43
|
-
return I18nUtils.Common.getAsync(translate, undefined, ...keys);
|
|
44
|
-
}
|
|
45
|
-
static getName(translate, typeName, singular) {
|
|
46
|
-
const keys = I18nUtils.Type.getNameKeys(typeName, singular);
|
|
47
|
-
return I18nUtils.Common.get(translate, undefined, ...keys);
|
|
48
|
-
}
|
|
49
|
-
static getClassTabKey(classType, tab) {
|
|
50
|
-
const typeName = findReflectTypeName(classType);
|
|
51
|
-
return I18nUtils.Type.getTabKey(typeName ?? '', tab);
|
|
52
|
-
}
|
|
53
|
-
static getTabKey(typeName, tab) {
|
|
54
|
-
return I18nUtils.Type.getPath(typeName, 'tabs', tab);
|
|
55
|
-
}
|
|
56
|
-
static getClassGroupKey(classType, group) {
|
|
57
|
-
const typeName = findReflectTypeName(classType);
|
|
58
|
-
return I18nUtils.Type.getGroupKey(typeName ?? '', group);
|
|
59
|
-
}
|
|
60
|
-
static getGroupKey(typeName, group) {
|
|
61
|
-
return I18nUtils.Type.getPath(typeName, 'groups', group);
|
|
62
|
-
}
|
|
63
|
-
static getClassPropertyKey(classType, property) {
|
|
64
|
-
const typeName = findReflectTypeName(classType);
|
|
65
|
-
return I18nUtils.Type.getPropertyKey(typeName ?? '', property);
|
|
66
|
-
}
|
|
67
|
-
static getPropertyKey(typeName, property) {
|
|
68
|
-
return I18nUtils.Type.getPath(typeName, 'properties', property);
|
|
69
|
-
}
|
|
70
|
-
static getClassPath(classType, ...path) {
|
|
71
|
-
const typeName = findReflectTypeName(classType);
|
|
72
|
-
return I18nUtils.Type.getPath(typeName ?? '', ...path);
|
|
73
|
-
}
|
|
74
|
-
static getPath(typeName, ...path) {
|
|
75
|
-
return `${typeName.length ? `${typeName}.` : ''}${path.join('.')}`;
|
|
76
|
-
}
|
|
77
|
-
static getClassParams(translate, classType, item, params = {}) {
|
|
78
|
-
const typeName = findReflectTypeName(classType);
|
|
79
|
-
return I18nUtils.Type.getParams(translate, typeName ?? undefined, item, params);
|
|
80
|
-
}
|
|
81
|
-
static getParams(translate, typeName, item, params = {}) {
|
|
82
|
-
const i18nTypeName = typeName ? I18nUtils.Type.getName(translate, typeName, true) : null;
|
|
83
|
-
return I18nUtils.Type.populateParams(i18nTypeName ?? undefined, item, params);
|
|
84
|
-
}
|
|
85
|
-
static getClassParamsAsync(translate, classType, item, params = {}) {
|
|
86
|
-
const typeName = findReflectTypeName(classType);
|
|
87
|
-
return I18nUtils.Type.getParamsAsync(translate, typeName ?? undefined, item, params);
|
|
88
|
-
}
|
|
89
|
-
static getParamsAsync(translate, typeName, item, params = {}) {
|
|
90
|
-
return (typeName ? I18nUtils.Type.getNameAsync(translate, typeName, true) : of(null)).pipe(map(i18nTypeName => I18nUtils.Type.populateParams(i18nTypeName ?? undefined, item, params)));
|
|
91
|
-
}
|
|
92
|
-
static populateParams(i18nTypeName, item, params = {}) {
|
|
93
|
-
const paramsRes = { ...params };
|
|
94
|
-
if (i18nTypeName) {
|
|
95
|
-
paramsRes.typeName = i18nTypeName;
|
|
96
|
-
}
|
|
97
|
-
return I18nUtils.Common.populateParams(item, paramsRes);
|
|
98
|
-
}
|
|
99
|
-
static getNameKeys(typeName, singular) {
|
|
100
|
-
const keys = [];
|
|
101
|
-
if (typeof singular !== 'undefined') {
|
|
102
|
-
keys.push(singular ? `${typeName}.nameSingular` : `${typeName}.namePlural`);
|
|
103
|
-
}
|
|
104
|
-
keys.push(`${typeName.length ? `${typeName}.` : ''}name`);
|
|
105
|
-
return keys;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
I18nUtils.Type = Type;
|
|
109
|
-
class Error {
|
|
110
|
-
static get(translate, error, params = {}) {
|
|
111
|
-
const i18nParams = I18nUtils.Error.getParams(error, params);
|
|
112
|
-
if (error.messageCode) {
|
|
113
|
-
const keys = [`errors.${error.messageCode}`, `messages.${error.messageCode}`];
|
|
114
|
-
const i18n = I18nUtils.Common.get(translate, i18nParams, ...keys);
|
|
115
|
-
if (i18n) {
|
|
116
|
-
return i18n;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
return I18nUtils.Common.get(translate, i18nParams, error.message);
|
|
120
|
-
}
|
|
121
|
-
static getParams(error, params = {}) {
|
|
122
|
-
const paramsRes = { ...params };
|
|
123
|
-
paramsRes.errorStatus = '';
|
|
124
|
-
paramsRes.errorMessage = '';
|
|
125
|
-
if (ErrorUtil.isHttpErrorResponse(error)) {
|
|
126
|
-
const httpError = ErrorUtil.getHttpErrorResponse(error);
|
|
127
|
-
paramsRes.errorStatus = httpError?.status;
|
|
128
|
-
paramsRes.errorMessage = httpError?.message;
|
|
129
|
-
paramsRes.errorStatusDescription = httpError?.statusText;
|
|
130
|
-
}
|
|
131
|
-
paramsRes.error = error;
|
|
132
|
-
return paramsRes;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
I18nUtils.Error = Error;
|
|
136
|
-
})(I18nUtils || (I18nUtils = {}));
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9zcmMvdXRpbHMvaTE4bi51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBYSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBR25DLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUU5QyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUVsRSxNQUFNLEtBQVcsU0FBUyxDQTBKekI7QUExSkQsV0FBaUIsU0FBUztJQUN0QixNQUFhLE1BQU07UUFDUixNQUFNLENBQUMsUUFBUSxDQUFDLFNBQTJCLEVBQUUsTUFBWSxFQUFFLEdBQUcsSUFBbUI7WUFDcEYsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRyxDQUFDO1FBRU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUEyQixFQUFFLE1BQVksRUFBRSxHQUFHLElBQW1CO1lBQy9FLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzdDLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFFTSxNQUFNLENBQUMsY0FBYyxDQUFDLElBQVUsRUFBRSxTQUFjLEVBQUU7WUFDckQsTUFBTSxTQUFTLEdBQUcsRUFBQyxHQUFHLE1BQU0sRUFBQyxDQUFDO1lBQzlCLElBQUksSUFBSSxFQUFF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RSxHQUFHLElBQUksQ0FBQyxDQUFDO2dCQUNsRSxJQUFJLElBQUksRUFBRTtvQkFDTixPQUFPLElBQUksQ0FBQztpQkFDZjthQUNKO1lBQ0QsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0RSxDQUFDO1FBRU0sTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFvQixFQUFFLFNBQWMsRUFBRTtZQUMxRCxNQUFNLFNBQVMsR0FBRyxFQUFDLEdBQUcsTUFBTSxFQUFDLENBQUM7WUFDOUIsU0FBUyxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7WUFDM0IsU0FBUyxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7WUFFNUIsSUFBSSxTQUFTLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3RDLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDeEQsU0FBUyxDQUFDLFdBQVcsR0FBRyxTQUFTLEVBQUUsTUFBTSxDQUFDO2dCQUMxQyxTQUFTLENBQUMsWUFBWSxHQUFHLFNBQVMsRUFBRSxPQUFPLENBQUM7Z0JBQzVDLFNBQVMsQ0FBQyxzQkFBc0IsR0FBRyxTQUFTLEVBQUUsVUFBVSxDQUFDO2FBQzVEO1lBRUQsU0FBUyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDeEIsT0FBTyxTQUFTLENBQUM7UUFDckIsQ0FBQztLQUNKO0lBNUJZLGVBQUssUUE0QmpCLENBQUE7QUFDTCxDQUFDLEVBMUpnQixTQUFTLEtBQVQsU0FBUyxRQTBKekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge0lDb21tb25zRXJyb3J9IGZyb20gJy4uL2Vycm9yL2Vycm9yLm1vZGVsJztcbmltcG9ydCB7RXJyb3JVdGlsfSBmcm9tICcuLi9lcnJvci9lcnJvci51dGlsJztcbmltcG9ydCB7Q2xhc3NUeXBlfSBmcm9tICcuLi9tb2RlbHMvY2xhc3Mtc2VydmljZS5tb2RlbCc7XG5pbXBvcnQge2ZpbmRSZWZsZWN0VHlwZU5hbWV9IGZyb20gJy4uL3JlZmxlY3QvdHlwZS1lbnVtLW1ldGFkYXRhJztcblxuZXhwb3J0IG5hbWVzcGFjZSBJMThuVXRpbHMge1xuICAgIGV4cG9ydCBjbGFzcyBDb21tb24ge1xuICAgICAgICBwdWJsaWMgc3RhdGljIGdldEFzeW5jKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgcGFyYW1zPzogYW55LCAuLi5rZXlzOiBBcnJheTxzdHJpbmc+KTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgICAgICAgICByZXR1cm4gdHJhbnNsYXRlLnN0cmVhbShrZXlzLCBwYXJhbXMpLnBpcGUobWFwKGkxOG4gPT4gSTE4blV0aWxzLkNvbW1vbi5zZWxlY3RJMThuKGtleXMsIGkxOG4pKSk7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc3RhdGljIGdldCh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIHBhcmFtcz86IGFueSwgLi4ua2V5czogQXJyYXk8c3RyaW5nPik6IHN0cmluZyB8IG51bGwge1xuICAgICAgICAgICAgY29uc3QgaTE4biA9IHRyYW5zbGF0ZS5pbnN0YW50KGtleXMsIHBhcmFtcyk7XG4gICAgICAgICAgICByZXR1cm4gSTE4blV0aWxzLkNvbW1vbi5zZWxlY3RJMThuKGtleXMsIGkxOG4pO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHN0YXRpYyBwb3B1bGF0ZVBhcmFtcyhpdGVtPzogYW55LCBwYXJhbXM6IGFueSA9IHt9KSB7XG4gICAgICAgICAgICBjb25zdCBwYXJhbXNSZXMgPSB7Li4ucGFyYW1zfTtcbiAgICAgICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgcGFyYW1zUmVzLml0ZW0gPSBpdGVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHBhcmFtc1JlcztcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBzdGF0aWMgc2VsZWN0STE4bihrZXlzOiBzdHJpbmdbXSwgaTE4bjogYW55KTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICAgICAgICAgICAgaWYgKGtleSAhPT0gaTE4bltrZXldKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBpMThuW2tleV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBleHBvcnQgY2xhc3MgVHlwZSB7XG4gICAgICAgIHB1YmxpYyBzdGF0aWMgZ2V0Q2xhc3NOYW1lQXN5bmModHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBjbGFzc1R5cGU6IENsYXNzVHlwZTxhbnk+LCBzaW5ndWxhcj86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+IHtcbiAgICAgICAgICAgIGNvbnN0IHR5cGVOYW1lID0gZmluZFJlZmxlY3RUeXBlTmFtZShjbGFzc1R5cGUpO1xuICAgICAgICAgICAgcmV0dXJuIEkxOG5VdGlscy5UeXBlLmdldE5hbWVBc3luYyh0cmFuc2xhdGUsIHR5cGVOYW1lID8/ICcnLCBzaW5ndWxhcik7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc3RhdGljIGdldENsYXNzTmFtZSh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIGNsYXNzVHlwZTogQ2xhc3NUeXBlPGFueT4sIHNpbmd1bGFyPzogYm9vbGVhbik6IHN0cmluZyB8IG51bGwge1xuICAgICAgICAgICAgY29uc3QgdHlwZU5hbWUgPSBmaW5kUmVmbGVjdFR5cGVOYW1lKGNsYXNzVHlwZSk7XG4gICAgICAgICAgICByZXR1cm4gSTE4blV0aWxzLlR5cGUuZ2V0TmFtZSh0cmFuc2xhdGUsIHR5cGVOYW1lID8/ICcnLCBzaW5ndWxhcik7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc3RhdGljIGdldE5hbWVBc3luYyh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIHR5cGVOYW1lOiBzdHJpbmcsIHNpbmd1bGFyPzogYm9vbGVhbik6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD4ge1xuICAgICAgICAgICAgY29uc3Qga2V5cyA9IEkxOG5VdGlscy5UeXBlLmdldE5hbWVLZXlzKHR5cGVOYW1lLCBzaW5ndWxhcik7XG4gICAgICAgICAgICByZXR1cm4gSTE4blV0aWxzLkNvbW1vbi5nZXRBc3luYyh0cmFuc2xhdGUsIHVuZGVmaW5lZCwgLi4ua2V5cyk7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc3RhdGljIGdldE5hbWUodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCB0eXBlTmFtZTogc3RyaW5nLCBzaW5ndWxhcj86IGJvb2xlYW4pOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgICAgIGNvbnN0IGtleXMgPSBJMThuVXRpbHMuVHlwZS5nZXROYW1lS2V5cyh0eXBlTmFtZSwgc2luZ3VsYXIpO1xuICAgICAgICAgICAgcmV0dXJuIEkxOG5VdGlscy5Db21tb24uZ2V0KHRyYW5zbGF0ZSwgdW5kZWZpbmVkLCAuLi5rZXlzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBzdGF0aWMgZ2V0Q2xhc3NUYWJLZXkoY2xhc3NUeXBlOiBDbGFzc1R5cGU8YW55PiwgdGFiOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICAgICAgY29uc3QgdHlwZU5hbWUgPSBmaW5kUmVmbGVjdFR5cGVOYW1lKGNsYXNzVHlwZSk7XG4gICAgICAgICAgICByZXR1cm4gSTE4blV0aWxzLlR5cGUuZ2V0VGFiS2V5KHR5cGVOYW1lID8/ICcnLCB0YWIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHN0YXRpYyBnZXRUYWJLZXkodHlwZU5hbWU6IHN0cmluZywgdGFiOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICAgICAgcmV0dXJuIEkxOG5VdGlscy5UeXBlLmdldFBhdGgodHlwZU5hbWUsICd0YWJzJywgdGFiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBzdGF0aWMgZ2V0Q2xhc3NHcm91cEtleShjbGFzc1R5cGU6IENsYXNzVHlwZTxhbnk+LCBncm91cDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgICAgIGNvbnN0IHR5cGVOYW1lID0gZmluZFJlZmxlY3RUeXBlTmFtZShjbGFzc1R5cGUpO1xuICAgICAgICAgICAgcmV0dXJuIEkxOG5VdGlscy5UeXBlLmdldEdyb3VwS2V5KHR5cGVOYW1lID8/ICcnLCBncm91cCk7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc3RhdGljIGdldEdyb3VwS2V5KHR5cGVOYW1lOiBzdHJpbmcsIGdyb3VwOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICAgICAgcmV0dXJuIEkxOG5VdGlscy5UeXBlLmdldFBhdGgodHlwZU5hbWUsICdncm91cHMnLCBncm91cCk7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc3RhdGljIGdldENsYXNzUHJvcGVydHlLZXkoY2xhc3NUeXBlOiBDbGFzc1R5cGU8YW55PiwgcHJvcGVydHk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgICAgICBjb25zdCB0eXBlTmFtZSA9IGZpbmRSZWZsZWN0VHlwZU5hbWUoY2xhc3NUeXBlKTtcbiAgICAgICAgICAgIHJldHVybiBJMThuVXRpbHMuVHlwZS5nZXRQcm9wZXJ0eUtleSh0eXBlTmFtZSA/PyAnJywgcHJvcGVydHkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHN0YXRpYyBnZXRQcm9wZXJ0eUtleSh0eXBlTmFtZTogc3RyaW5nLCBwcm9wZXJ0eTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgICAgIHJldHVybiBJMThuVXRpbHMuVHlwZS5nZXRQYXRoKHR5cGVOYW1lLCAncHJvcGVydGllcycsIHByb3BlcnR5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBzdGF0aWMgZ2V0Q2xhc3NQYXRoKGNsYXNzVHlwZTogQ2xhc3NUeXBlPGFueT4sIC4uLnBhdGg6IEFycmF5PHN0cmluZz4pOiBzdHJpbmcge1xuICAgICAgICAgICAgY29uc3QgdHlwZU5hbWUgPSBmaW5kUmVmbGVjdFR5cGVOYW1lKGNsYXNzVHlwZSk7XG4gICAgICAgICAgICByZXR1cm4gSTE4blV0aWxzLlR5cGUuZ2V0UGF0aCh0eXBlTmFtZSA/PyAnJywgLi4ucGF0aCk7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc3RhdGljIGdldFBhdGgodHlwZU5hbWU6IHN0cmluZywgLi4ucGF0aDogQXJyYXk8c3RyaW5nPik6IHN0cmluZyB7XG4gICAgICAgICAgICByZXR1cm4gYCR7dHlwZU5hbWUubGVuZ3RoID8gYCR7dHlwZU5hbWV9LmAgOiAnJ30ke3BhdGguam9pbignLicpfWA7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc3RhdGljIGdldENsYXNzUGFyYW1zKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgY2xhc3NUeXBlOiBDbGFzc1R5cGU8YW55PiwgaXRlbTogYW55LCBwYXJhbXM6IGFueSA9IHt9KTogYW55IHtcbiAgICAgICAgICAgIGNvbnN0IHR5cGVOYW1lID0gZmluZFJlZmxlY3RUeXBlTmFtZShjbGFzc1R5cGUpO1xuICAgICAgICAgICAgcmV0dXJuIEkxOG5VdGlscy5UeXBlLmdldFBhcmFtcyh0cmFuc2xhdGUsIHR5cGVOYW1lID8/IHVuZGVmaW5lZCwgaXRlbSwgcGFyYW1zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBzdGF0aWMgZ2V0UGFyYW1zKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgdHlwZU5hbWU/OiBzdHJpbmcsIGl0ZW0/OiBhbnksIHBhcmFtczogYW55ID0ge30pOiBhbnkge1xuICAgICAgICAgICAgY29uc3QgaTE4blR5cGVOYW1lID0gdHlwZU5hbWUgPyBJMThuVXRpbHMuVHlwZS5nZXROYW1lKHRyYW5zbGF0ZSwgdHlwZU5hbWUsIHRydWUpIDogbnVsbDtcbiAgICAgICAgICAgIHJldHVybiBJMThuVXRpbHMuVHlwZS5wb3B1bGF0ZVBhcmFtcyhpMThuVHlwZU5hbWUgPz8gdW5kZWZpbmVkLCBpdGVtLCBwYXJhbXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHN0YXRpYyBnZXRDbGFzc1BhcmFtc0FzeW5jKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgY2xhc3NUeXBlOiBDbGFzc1R5cGU8YW55PiwgaXRlbT86IGFueSwgcGFyYW1zOiBhbnkgPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgICAgICBjb25zdCB0eXBlTmFtZSA9IGZpbmRSZWZsZWN0VHlwZU5hbWUoY2xhc3NUeXBlKTtcbiAgICAgICAgICAgIHJldHVybiBJMThuVXRpbHMuVHlwZS5nZXRQYXJhbXNBc3luYyh0cmFuc2xhdGUsIHR5cGVOYW1lID8/IHVuZGVmaW5lZCwgaXRlbSwgcGFyYW1zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBzdGF0aWMgZ2V0UGFyYW1zQXN5bmModHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCB0eXBlTmFtZT86IHN0cmluZywgaXRlbT86IGFueSwgcGFyYW1zOiBhbnkgPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgICAgICByZXR1cm4gKHR5cGVOYW1lID8gSTE4blV0aWxzLlR5cGUuZ2V0TmFtZUFzeW5jKHRyYW5zbGF0ZSwgdHlwZU5hbWUsIHRydWUpIDogb2YobnVsbCkpLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKGkxOG5UeXBlTmFtZSA9PiBJMThuVXRpbHMuVHlwZS5wb3B1bGF0ZVBhcmFtcyhpMThuVHlwZU5hbWUgPz8gdW5kZWZpbmVkLCBpdGVtLCBwYXJhbXMpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBzdGF0aWMgcG9wdWxhdGVQYXJhbXMoaTE4blR5cGVOYW1lPzogc3RyaW5nLCBpdGVtPzogYW55LCBwYXJhbXM6IGFueSA9IHt9KTogYW55IHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmFtc1JlcyA9IHsuLi5wYXJhbXN9O1xuICAgICAgICAgICAgaWYgKGkxOG5UeXBlTmFtZSkge1xuICAgICAgICAgICAgICAgIHBhcmFtc1Jlcy50eXBlTmFtZSA9IGkxOG5UeXBlTmFtZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBJMThuVXRpbHMuQ29tbW9uLnBvcHVsYXRlUGFyYW1zKGl0ZW0sIHBhcmFtc1Jlcyk7XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlIHN0YXRpYyBnZXROYW1lS2V5cyh0eXBlTmFtZTogc3RyaW5nLCBzaW5ndWxhcj86IGJvb2xlYW4pOiBBcnJheTxzdHJpbmc+IHtcbiAgICAgICAgICAgIGNvbnN0IGtleXMgPSBbXTtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygc2luZ3VsYXIgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgICAga2V5cy5wdXNoKHNpbmd1bGFyID8gYCR7dHlwZU5hbWV9Lm5hbWVTaW5ndWxhcmAgOiBgJHt0eXBlTmFtZX0ubmFtZVBsdXJhbGApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAga2V5cy5wdXNoKGAke3R5cGVOYW1lLmxlbmd0aCA/IGAke3R5cGVOYW1lfS5gIDogJyd9bmFtZWApO1xuICAgICAgICAgICAgcmV0dXJuIGtleXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBleHBvcnQgY2xhc3MgRXJyb3Ige1xuICAgICAgICBwdWJsaWMgc3RhdGljIGdldCh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIGVycm9yOiBJQ29tbW9uc0Vycm9yLCBwYXJhbXM6IGFueSA9IHt9KTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgICAgICBjb25zdCBpMThuUGFyYW1zID0gSTE4blV0aWxzLkVycm9yLmdldFBhcmFtcyhlcnJvciwgcGFyYW1zKTtcbiAgICAgICAgICAgIGlmIChlcnJvci5tZXNzYWdlQ29kZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGtleXMgPSBbYGVycm9ycy4ke2Vycm9yLm1lc3NhZ2VDb2RlfWAsIGBtZXNzYWdlcy4ke2Vycm9yLm1lc3NhZ2VDb2RlfWBdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGkxOG4gPSBJMThuVXRpbHMuQ29tbW9uLmdldCh0cmFuc2xhdGUsIGkxOG5QYXJhbXMsIC4uLmtleXMpO1xuICAgICAgICAgICAgICAgIGlmIChpMThuKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBpMThuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBJMThuVXRpbHMuQ29tbW9uLmdldCh0cmFuc2xhdGUsIGkxOG5QYXJhbXMsIGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHN0YXRpYyBnZXRQYXJhbXMoZXJyb3I6IElDb21tb25zRXJyb3IsIHBhcmFtczogYW55ID0ge30pIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmFtc1JlcyA9IHsuLi5wYXJhbXN9O1xuICAgICAgICAgICAgcGFyYW1zUmVzLmVycm9yU3RhdHVzID0gJyc7XG4gICAgICAgICAgICBwYXJhbXNSZXMuZXJyb3JNZXNzYWdlID0gJyc7XG5cbiAgICAgICAgICAgIGlmIChFcnJvclV0aWwuaXNIdHRwRXJyb3JSZXNwb25zZShlcnJvcikpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBodHRwRXJyb3IgPSBFcnJvclV0aWwuZ2V0SHR0cEVycm9yUmVzcG9uc2UoZXJyb3IpO1xuICAgICAgICAgICAgICAgIHBhcmFtc1Jlcy5lcnJvclN0YXR1cyA9IGh0dHBFcnJvcj8uc3RhdHVzO1xuICAgICAgICAgICAgICAgIHBhcmFtc1Jlcy5lcnJvck1lc3NhZ2UgPSBodHRwRXJyb3I/Lm1lc3NhZ2U7XG4gICAgICAgICAgICAgICAgcGFyYW1zUmVzLmVycm9yU3RhdHVzRGVzY3JpcHRpb24gPSBodHRwRXJyb3I/LnN0YXR1c1RleHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHBhcmFtc1Jlcy5lcnJvciA9IGVycm9yO1xuICAgICAgICAgICAgcmV0dXJuIHBhcmFtc1JlcztcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
export class ObjectUtil {
|
|
2
|
-
static deepCopy(obj, options) {
|
|
3
|
-
if (typeof obj !== 'object' || obj === null || Array.isArray(obj)) {
|
|
4
|
-
return obj;
|
|
5
|
-
}
|
|
6
|
-
if (obj instanceof Date) {
|
|
7
|
-
return new Date(+obj);
|
|
8
|
-
}
|
|
9
|
-
let copy;
|
|
10
|
-
if (options?.mapGettersToProperties) {
|
|
11
|
-
copy = {};
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
copy = options?.objectPrototype ? Object.create(options.objectPrototype['prototype']) : Object.create(Object.getPrototypeOf(obj));
|
|
15
|
-
Object.assign(copy, obj);
|
|
16
|
-
}
|
|
17
|
-
for (const key of ObjectUtil.getProperties(obj)) {
|
|
18
|
-
const prop = obj[key];
|
|
19
|
-
copy[key] = ObjectUtil.handleProp(prop, { mapGettersToProperties: options?.mapGettersToProperties });
|
|
20
|
-
}
|
|
21
|
-
if (options?.mapGettersToProperties) {
|
|
22
|
-
for (const getterKey of ObjectUtil.getGetters(obj)) {
|
|
23
|
-
const prop = obj[getterKey];
|
|
24
|
-
copy[getterKey] = ObjectUtil.handleProp(prop, { mapGettersToProperties: options?.mapGettersToProperties });
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return copy;
|
|
28
|
-
}
|
|
29
|
-
static deepMerge(target, source) {
|
|
30
|
-
if (!ObjectUtil.isObject(source)) {
|
|
31
|
-
return target;
|
|
32
|
-
}
|
|
33
|
-
for (const key of ObjectUtil.getProperties(source)) {
|
|
34
|
-
if (ObjectUtil.isObject(source[key])) {
|
|
35
|
-
if (ObjectUtil.isObject(target[key])) {
|
|
36
|
-
target[key] = ObjectUtil.deepMerge(target[key], source[key]);
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
target[key] = ObjectUtil.deepCopy(source[key]);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
else if (Array.isArray(source[key])) {
|
|
43
|
-
if (!Array.isArray(target[key])) {
|
|
44
|
-
target[key] = source[key].map(i => (ObjectUtil.isObject(i) ? ObjectUtil.deepMerge({}, i) : i));
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
else if (typeof target[key] === 'undefined') {
|
|
48
|
-
target[key] = source[key];
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
return target;
|
|
52
|
-
}
|
|
53
|
-
static isObject(obj) {
|
|
54
|
-
return typeof obj === 'object' && obj !== null && !Array.isArray(obj);
|
|
55
|
-
}
|
|
56
|
-
static handleProp(prop, options) {
|
|
57
|
-
if (Array.isArray(prop)) {
|
|
58
|
-
return prop.map(i => ObjectUtil.deepCopy(i, options));
|
|
59
|
-
}
|
|
60
|
-
else if (typeof prop === 'object' && prop !== null) {
|
|
61
|
-
return ObjectUtil.deepCopy(prop, options);
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
return prop;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
static getProperties(obj) {
|
|
68
|
-
return Object.keys(obj);
|
|
69
|
-
}
|
|
70
|
-
static getGetters(obj) {
|
|
71
|
-
const getterSet = new Set();
|
|
72
|
-
let currObj = obj;
|
|
73
|
-
while (currObj) {
|
|
74
|
-
const getters = Object.entries(Object.getOwnPropertyDescriptors(currObj))
|
|
75
|
-
.filter(([, descriptor]) => typeof descriptor.get === 'function')
|
|
76
|
-
.filter(([key]) => key !== '__proto__')
|
|
77
|
-
.map(([key]) => key);
|
|
78
|
-
for (const getter of getters) {
|
|
79
|
-
getterSet.add(getter);
|
|
80
|
-
}
|
|
81
|
-
currObj = Object.getPrototypeOf(currObj);
|
|
82
|
-
}
|
|
83
|
-
return Array.from(getterSet);
|
|
84
|
-
}
|
|
85
|
-
static getPropertyByPath(value, path) {
|
|
86
|
-
if (path === '$') {
|
|
87
|
-
// only return the root
|
|
88
|
-
return value;
|
|
89
|
-
}
|
|
90
|
-
// Check for leading root object notation
|
|
91
|
-
if (path.startsWith('$')) {
|
|
92
|
-
path = path.substring(1);
|
|
93
|
-
}
|
|
94
|
-
// Check for leading .
|
|
95
|
-
if (path.startsWith('.')) {
|
|
96
|
-
path = path.substring(1);
|
|
97
|
-
}
|
|
98
|
-
if (path.indexOf('.') >= 0) {
|
|
99
|
-
const pathSplit = path.split('.');
|
|
100
|
-
let currValue = value;
|
|
101
|
-
for (const p of pathSplit) {
|
|
102
|
-
if (typeof currValue === 'undefined' || currValue === null) {
|
|
103
|
-
return currValue;
|
|
104
|
-
}
|
|
105
|
-
if (!p.length) {
|
|
106
|
-
// empty path, return current value
|
|
107
|
-
return currValue;
|
|
108
|
-
}
|
|
109
|
-
const leftBracketIdx = p.indexOf('[');
|
|
110
|
-
if (leftBracketIdx >= 0 && p.endsWith(']')) {
|
|
111
|
-
// should be reference to array
|
|
112
|
-
const arrayPath = p.substring(0, leftBracketIdx);
|
|
113
|
-
const arrayIdx = +p.substring(leftBracketIdx + 1, p.length - 1);
|
|
114
|
-
const array = currValue[arrayPath];
|
|
115
|
-
if (Array.isArray(array)) {
|
|
116
|
-
if (arrayIdx >= 0 && arrayIdx < array.length) {
|
|
117
|
-
// valid index, continue on the path
|
|
118
|
-
currValue = array[arrayIdx];
|
|
119
|
-
continue;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
return undefined;
|
|
123
|
-
}
|
|
124
|
-
else if (typeof currValue === 'object') {
|
|
125
|
-
currValue = currValue[p];
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
return currValue;
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
131
|
-
return value[path];
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
static flattenObjectKeys(objectModel) {
|
|
135
|
-
const flatten = (object, parent) => {
|
|
136
|
-
let results = [];
|
|
137
|
-
for (const key in object) {
|
|
138
|
-
const value = object[key];
|
|
139
|
-
const thisKey = parent ? `${parent}.${key}` : `${key}`;
|
|
140
|
-
results = results.concat(ObjectUtil.isObject(value) ? flatten(value, thisKey) : [[`${thisKey}`, value]]);
|
|
141
|
-
}
|
|
142
|
-
return results;
|
|
143
|
-
};
|
|
144
|
-
return flatten(objectModel);
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL3NyYy91dGlscy9vYmplY3QudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxNQUFNLE9BQU8sVUFBVTtJQU1aLE1BQU0sQ0FBQyxRQUFRLENBQXlCLEdBQU0sRUFBRSxPQUE0QjtRQUMvRSxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxHQUFHLEtBQUssSUFBSSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDL0QsT0FBTyxHQUFHLENBQUM7U0FDZDtRQUVELElBQUksR0FBRyxZQUFZLElBQUksRUFBRTtZQUNyQixPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDekI7UUFFRCxJQUFJLElBQUksQ0FBQztRQUNULElBQUksT0FBTyxFQUFFLHNCQUFzQixFQUFFO1lBQ2pDLElBQUksR0FBRyxFQUFFLENBQUM7U0FDYjthQUFNO1lBQ0gsSUFBSSxHQUFHLE9BQU8sRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxXQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDbEosTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDNUI7UUFFRCxLQUFLLE1BQU0sR0FBRyxJQUFJLFVBQVUsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDN0MsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQW1CLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsRUFBQyxzQkFBc0IsRUFBRSxP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QUM7UUFFRixPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNoQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NsYXNzVHlwZX0gZnJvbSAnLi4vbW9kZWxzL2NsYXNzLXNlcnZpY2UubW9kZWwnO1xuXG5pbnRlcmZhY2UgRGVlcENvcHlQcm9wc09wdGlvbnMge1xuICAgIG1hcEdldHRlcnNUb1Byb3BlcnRpZXM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlZXBDb3B5T3B0aW9uczxQID0gb2JqZWN0PiBleHRlbmRzIERlZXBDb3B5UHJvcHNPcHRpb25zIHtcbiAgICBvYmplY3RQcm90b3R5cGU/OiBDbGFzc1R5cGU8UD47XG59XG5cbmV4cG9ydCBjbGFzcyBPYmplY3RVdGlsIHtcbiAgICBwdWJsaWMgc3RhdGljIGRlZXBDb3B5PFQgPSBvYmplY3QsIFAgPSBvYmplY3Q+KG9iajogVCwgb3B0aW9uczogRGVlcENvcHlPcHRpb25zPFA+ICYge21hcEdldHRlcnNUb1Byb3BlcnRpZXM6IHRydWV9KTogVCB8IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgcHVibGljIHN0YXRpYyBkZWVwQ29weTxUID0gb2JqZWN0LCBQID0gb2JqZWN0PihvYmo6IFQsIG9wdGlvbnM6IERlZXBDb3B5T3B0aW9uczxQPiAmIHtvYmplY3RQcm90b3R5cGU6IENsYXNzVHlwZTxQPn0gJiB7bWFwR2V0dGVyc1RvUHJvcGVydGllcz86IGZhbHNlfSk6IFA7XG4gICAgcHVibGljIHN0YXRpYyBkZWVwQ29weTxUID0gb2JqZWN0LCBQID0gb2JqZWN0PihvYmo6IFQsIG9wdGlvbnM6IERlZXBDb3B5T3B0aW9uczxQPiAmIHtvYmplY3RQcm90b3R5cGU6IENsYXNzVHlwZTxQPn0gJiB7bWFwR2V0dGVyc1RvUHJvcGVydGllczogdHJ1ZX0pOiBQIHwgUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICBwdWJsaWMgc3RhdGljIGRlZXBDb3B5PFQgPSBvYmplY3QsIFAgPSBvYmplY3Q+KG9iajogVCwgb3B0aW9ucz86IERlZXBDb3B5T3B0aW9uczxQPik6IFQ7XG5cbiAgICBwdWJsaWMgc3RhdGljIGRlZXBDb3B5PFQgPSBvYmplY3QsIFAgPSBvYmplY3Q+KG9iajogVCwgb3B0aW9ucz86IERlZXBDb3B5T3B0aW9uczxQPik6IFQgfCBQIHwgUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgICAgIGlmICh0eXBlb2Ygb2JqICE9PSAnb2JqZWN0JyB8fCBvYmogPT09IG51bGwgfHwgQXJyYXkuaXNBcnJheShvYmopKSB7XG4gICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG9iaiBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZSgrb2JqKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBjb3B5O1xuICAgICAgICBpZiAob3B0aW9ucz8ubWFwR2V0dGVyc1RvUHJvcGVydGllcykge1xuICAgICAgICAgICAgY29weSA9IHt9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29weSA9IG9wdGlvbnM/Lm9iamVjdFByb3RvdHlwZSA/IE9iamVjdC5jcmVhdGUob3B0aW9ucy5vYmplY3RQcm90b3R5cGVbJ3Byb3RvdHlwZScgYXMga2V5b2Ygb2JqZWN0XSkgOiBPYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmopKTtcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oY29weSwgb2JqKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdFV0aWwuZ2V0UHJvcGVydGllcyhvYmopKSB7XG4gICAgICAgICAgICBjb25zdCBwcm9wID0gb2JqW2tleSBhcyBrZXlvZiBvYmplY3RdO1xuICAgICAgICAgICAgY29weVtrZXldID0gT2JqZWN0VXRpbC5oYW5kbGVQcm9wKHByb3AsIHttYXBHZXR0ZXJzVG9Qcm9wZXJ0aWVzOiBvcHRpb25zPy5tYXBHZXR0ZXJzVG9Qcm9wZXJ0aWVzfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3B0aW9ucz8ubWFwR2V0dGVyc1RvUHJvcGVydGllcykge1xuICAgICAgICAgICAgZm9yIChjb25zdCBnZXR0ZXJLZXkgb2YgT2JqZWN0VXRpbC5nZXRHZXR0ZXJzKG9iaikpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwcm9wID0gb2JqW2dldHRlcktleSBhcyBrZXlvZiBvYmplY3RdO1xuICAgICAgICAgICAgICAgIGNvcHlbZ2V0dGVyS2V5XSA9IE9iamVjdFV0aWwuaGFuZGxlUHJvcChwcm9wLCB7bWFwR2V0dGVyc1RvUHJvcGVydGllczogb3B0aW9ucz8ubWFwR2V0dGVyc1RvUHJvcGVydGllc30pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNvcHk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBkZWVwTWVyZ2UodGFyZ2V0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBzb3VyY2U6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICAgICAgaWYgKCFPYmplY3RVdGlsLmlzT2JqZWN0KHNvdXJjZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3RVdGlsLmdldFByb3BlcnRpZXMoc291cmNlKSkge1xuICAgICAgICAgICAgaWYgKE9iamVjdFV0aWwuaXNPYmplY3Qoc291cmNlW2tleV0pKSB7XG4gICAgICAgICAgICAgICAgaWYgKE9iamVjdFV0aWwuaXNPYmplY3QodGFyZ2V0W2tleV0pKSB7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldFtrZXldID0gT2JqZWN0VXRpbC5kZWVwTWVyZ2UodGFyZ2V0W2tleV0sIHNvdXJjZVtrZXldKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXRba2V5XSA9IE9iamVjdFV0aWwuZGVlcENvcHkoc291cmNlW2tleV0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShzb3VyY2Vba2V5XSkpIHtcbiAgICAgICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodGFyZ2V0W2tleV0pKSB7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldFtrZXldID0gKHNvdXJjZVtrZXldIGFzIEFycmF5PHVua25vd24+KS5tYXAoaSA9PiAoT2JqZWN0VXRpbC5pc09iamVjdChpKSA/IE9iamVjdFV0aWwuZGVlcE1lcmdlKHt9LCBpIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA6IGkpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB0YXJnZXRba2V5XSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgICAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRhcmdldDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBpc09iamVjdChvYmo6IGFueSkge1xuICAgICAgICByZXR1cm4gdHlwZW9mIG9iaiA9PT0gJ29iamVjdCcgJiYgb2JqICE9PSBudWxsICYmICFBcnJheS5pc0FycmF5KG9iaik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgaGFuZGxlUHJvcChwcm9wOiBhbnksIG9wdGlvbnM/OiBEZWVwQ29weVByb3BzT3B0aW9ucykge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShwcm9wKSkge1xuICAgICAgICAgICAgcmV0dXJuIHByb3AubWFwKGkgPT4gT2JqZWN0VXRpbC5kZWVwQ29weShpLCBvcHRpb25zKSk7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHByb3AgPT09ICdvYmplY3QnICYmIHByb3AgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBPYmplY3RVdGlsLmRlZXBDb3B5KHByb3AsIG9wdGlvbnMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHByb3A7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldFByb3BlcnRpZXMob2JqOiBvYmplY3QpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKG9iaik7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRHZXR0ZXJzKG9iajogYW55KTogc3RyaW5nW10ge1xuICAgICAgICBjb25zdCBnZXR0ZXJTZXQgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICAgICAgbGV0IGN1cnJPYmogPSBvYmo7XG5cbiAgICAgICAgd2hpbGUgKGN1cnJPYmopIHtcbiAgICAgICAgICAgIGNvbnN0IGdldHRlcnMgPSBPYmplY3QuZW50cmllcyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhjdXJyT2JqKSlcbiAgICAgICAgICAgICAgICAuZmlsdGVyKChbLCBkZXNjcmlwdG9yXSkgPT4gdHlwZW9mIGRlc2NyaXB0b3IuZ2V0ID09PSAnZnVuY3Rpb24nKVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoKFtrZXldKSA9PiBrZXkgIT09ICdfX3Byb3RvX18nKVxuICAgICAgICAgICAgICAgIC5tYXAoKFtrZXldKSA9PiBrZXkpO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGdldHRlciBvZiBnZXR0ZXJzKSB7XG4gICAgICAgICAgICAgICAgZ2V0dGVyU2V0LmFkZChnZXR0ZXIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjdXJyT2JqID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKGN1cnJPYmopO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oZ2V0dGVyU2V0KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldFByb3BlcnR5QnlQYXRoKHZhbHVlOiBhbnksIHBhdGg6IHN0cmluZyk6IGFueSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmIChwYXRoID09PSAnJCcpIHtcbiAgICAgICAgICAgIC8vIG9ubHkgcmV0dXJuIHRoZSByb290XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDaGVjayBmb3IgbGVhZGluZyByb290IG9iamVjdCBub3RhdGlvblxuICAgICAgICBpZiAocGF0aC5zdGFydHNXaXRoKCckJykpIHtcbiAgICAgICAgICAgIHBhdGggPSBwYXRoLnN1YnN0cmluZygxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENoZWNrIGZvciBsZWFkaW5nIC5cbiAgICAgICAgaWYgKHBhdGguc3RhcnRzV2l0aCgnLicpKSB7XG4gICAgICAgICAgICBwYXRoID0gcGF0aC5zdWJzdHJpbmcoMSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocGF0aC5pbmRleE9mKCcuJykgPj0gMCkge1xuICAgICAgICAgICAgY29uc3QgcGF0aFNwbGl0ID0gcGF0aC5zcGxpdCgnLicpO1xuICAgICAgICAgICAgbGV0IGN1cnJWYWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgZm9yIChjb25zdCBwIG9mIHBhdGhTcGxpdCkge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY3VyclZhbHVlID09PSAndW5kZWZpbmVkJyB8fCBjdXJyVmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJWYWx1ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoIXAubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGVtcHR5IHBhdGgsIHJldHVybiBjdXJyZW50IHZhbHVlXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjdXJyVmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgbGVmdEJyYWNrZXRJZHggPSBwLmluZGV4T2YoJ1snKTtcbiAgICAgICAgICAgICAgICBpZiAobGVmdEJyYWNrZXRJZHggPj0gMCAmJiBwLmVuZHNXaXRoKCddJykpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gc2hvdWxkIGJlIHJlZmVyZW5jZSB0byBhcnJheVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhcnJheVBhdGggPSBwLnN1YnN0cmluZygwLCBsZWZ0QnJhY2tldElkeCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFycmF5SWR4ID0gK3Auc3Vic3RyaW5nKGxlZnRCcmFja2V0SWR4ICsgMSwgcC5sZW5ndGggLSAxKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXJyYXkgPSBjdXJyVmFsdWVbYXJyYXlQYXRoXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYXJyYXkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXJyYXlJZHggPj0gMCAmJiBhcnJheUlkeCA8IGFycmF5Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHZhbGlkIGluZGV4LCBjb250aW51ZSBvbiB0aGUgcGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJWYWx1ZSA9IGFycmF5W2FycmF5SWR4XTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgY3VyclZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgICAgICBjdXJyVmFsdWUgPSBjdXJyVmFsdWVbcF07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGN1cnJWYWx1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZVtwYXRoXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZmxhdHRlbk9iamVjdEtleXMob2JqZWN0TW9kZWw6IGFueSk6IHN0cmluZ1tdIHtcbiAgICAgICAgY29uc3QgZmxhdHRlbiA9IChvYmplY3Q6IGFueSwgcGFyZW50PzogYW55KSA9PiB7XG4gICAgICAgICAgICBsZXQgcmVzdWx0czogYW55W10gPSBbXTtcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIG9iamVjdCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gb2JqZWN0W2tleV07XG4gICAgICAgICAgICAgICAgY29uc3QgdGhpc0tleSA9IHBhcmVudCA/IGAke3BhcmVudH0uJHtrZXl9YCA6IGAke2tleX1gO1xuXG4gICAgICAgICAgICAgICAgcmVzdWx0cyA9IHJlc3VsdHMuY29uY2F0KE9iamVjdFV0aWwuaXNPYmplY3QodmFsdWUpID8gZmxhdHRlbih2YWx1ZSwgdGhpc0tleSkgOiBbW2Ake3RoaXNLZXl9YCwgdmFsdWVdXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0cztcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gZmxhdHRlbihvYmplY3RNb2RlbCk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { CommonsInternalError } from '../error/error.model';
|
|
2
|
-
export class RouteUtil {
|
|
3
|
-
static removeEmptyPathSegments(path) {
|
|
4
|
-
const filteredPath = path.filter(ps => typeof ps === 'string' && ps.length > 0);
|
|
5
|
-
return filteredPath.length > 0 ? filteredPath : [''];
|
|
6
|
-
}
|
|
7
|
-
static appendPathToBasePath(basePath, path) {
|
|
8
|
-
if (path.length > 0) {
|
|
9
|
-
if (path[0].startsWith('/')) {
|
|
10
|
-
return path;
|
|
11
|
-
}
|
|
12
|
-
else if (path[0].startsWith('../')) {
|
|
13
|
-
throw new CommonsInternalError('Not implemented', { name: 'RouteUtilsError' });
|
|
14
|
-
}
|
|
15
|
-
else {
|
|
16
|
-
return RouteUtil.removeEmptyPathSegments([...basePath, ...path]);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
return basePath;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
static doesUrlMatchRouterLink(link, url) {
|
|
24
|
-
if (typeof url === 'string' && url.startsWith('/')) {
|
|
25
|
-
url = url.substring(1);
|
|
26
|
-
}
|
|
27
|
-
else if (Array.isArray(url) && url.length > 0 && url[0].startsWith('/')) {
|
|
28
|
-
url[0] = url[0].substring(1);
|
|
29
|
-
}
|
|
30
|
-
const routeSegments = Array.isArray(link) ? link : link.split('/');
|
|
31
|
-
const urlSegments = Array.isArray(url) ? url : url.split('#')[0].split('?')[0].split('/');
|
|
32
|
-
if (routeSegments.length > 0 && urlSegments.length > 0) {
|
|
33
|
-
for (let i = 0; i < routeSegments.length; i++) {
|
|
34
|
-
if (i < urlSegments.length) {
|
|
35
|
-
if (routeSegments[i] !== urlSegments[i]) {
|
|
36
|
-
return false;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
break;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
return true;
|
|
44
|
-
}
|
|
45
|
-
return false;
|
|
46
|
-
}
|
|
47
|
-
static adjustMenuLazyChildrenRouterLinks(rootMenuItem, lazyChildren) {
|
|
48
|
-
return lazyChildren.map(i => {
|
|
49
|
-
const childMenuItem = { ...i };
|
|
50
|
-
if (childMenuItem.routerLink) {
|
|
51
|
-
childMenuItem.routerLink = RouteUtil.appendPathToBasePath(rootMenuItem.routerLink, typeof childMenuItem.routerLink === 'string' ? [childMenuItem.routerLink] : childMenuItem.routerLink);
|
|
52
|
-
}
|
|
53
|
-
if (Array.isArray(childMenuItem.items)) {
|
|
54
|
-
childMenuItem.items = this.adjustMenuLazyChildrenRouterLinks(rootMenuItem, childMenuItem.items);
|
|
55
|
-
}
|
|
56
|
-
return childMenuItem;
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvc3JjL3V0aWxzL3JvdXRlLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFHMUQsTUFBTSxPQUFPLFNBQVM7SUFDWCxNQUFNLENBQUMsdUJBQXVCLENBQUMsSUFBbUI7UUFDckQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLFFBQVEsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2hGLE9BQU8sWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU0sTUFBTSxDQUFDLG9CQUFvQixDQUFDLFFBQXVCLEVBQUUsSUFBbUI7UUFDM0UsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNqQixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3pCLE9BQU8sSUFBSSxDQUFDO2FBQ2Y7aUJBQU0sSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNsQyxNQUFNLElBQUksb0JBQW9CLENBQUMsaUJBQWlCLEVBQUUsRUFBQyxJQUFJLEVBQUUsaUJBQWlCLEVBQUMsQ0FBQyxDQUFDO2FBQ2hGO2lCQUFNO2dCQUNILE9BQU8sU0FBUyxDQUFDLHVCQUF1QixDQUFDLENBQUMsR0FBRyxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQ3BFO1NBQ0o7YUFBTTtZQUNILE9BQU8sUUFBUSxDQUFDO1NBQ25CO0lBQ0wsQ0FBQztJQUVNLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxJQUE0QixFQUFFLEdBQTJCO1FBQzFGLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDaEQsR0FBRyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDMUI7YUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN2RSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNoQztRQUVELE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuRSxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUUxRixJQUFJLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3BELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUMzQyxJQUFJLENBQUMsR0FBRyxXQUFXLENBQUMsTUFBTSxFQUFFO29CQUN4QixJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUU7d0JBQ3JDLE9BQU8sS0FBSyxDQUFDO3FCQUNoQjtpQkFDSjtxQkFBTTtvQkFDSCxNQUFNO2lCQUNUO2FBQ0o7WUFDRCxPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxZQUEyQixFQUFFLFlBQW9DO1FBQzdHLE9BQU8sWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN4QixNQUFNLGFBQWEsR0FBRyxFQUFDLEdBQUcsQ0FBQyxFQUFDLENBQUM7WUFDN0IsSUFBSSxhQUFhLENBQUMsVUFBVSxFQUFFO2dCQUMxQixhQUFhLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQyxvQkFBb0IsQ0FDckQsWUFBWSxDQUFDLFVBQVUsRUFDdkIsT0FBTyxhQUFhLENBQUMsVUFBVSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQ3ZHLENBQUM7YUFDTDtZQUNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3BDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGlDQUFpQyxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDbkc7WUFDRCxPQUFPLGFBQWEsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TWVudUl0ZW0gYXMgUHJpbWVNZW51SXRlbX0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5pbXBvcnQge0NvbW1vbnNJbnRlcm5hbEVycm9yfSBmcm9tICcuLi9lcnJvci9lcnJvci5tb2RlbCc7XG5pbXBvcnQge0NvbW1vbnNNZW51SXRlbX0gZnJvbSAnLi4vbW9kZWxzL21lbnUubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgUm91dGVVdGlsIHtcbiAgICBwdWJsaWMgc3RhdGljIHJlbW92ZUVtcHR5UGF0aFNlZ21lbnRzKHBhdGg6IEFycmF5PHN0cmluZz4pIHtcbiAgICAgICAgY29uc3QgZmlsdGVyZWRQYXRoID0gcGF0aC5maWx0ZXIocHMgPT4gdHlwZW9mIHBzID09PSAnc3RyaW5nJyAmJiBwcy5sZW5ndGggPiAwKTtcbiAgICAgICAgcmV0dXJuIGZpbHRlcmVkUGF0aC5sZW5ndGggPiAwID8gZmlsdGVyZWRQYXRoIDogWycnXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGFwcGVuZFBhdGhUb0Jhc2VQYXRoKGJhc2VQYXRoOiBBcnJheTxzdHJpbmc+LCBwYXRoOiBBcnJheTxzdHJpbmc+KSB7XG4gICAgICAgIGlmIChwYXRoLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGlmIChwYXRoWzBdLnN0YXJ0c1dpdGgoJy8nKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBwYXRoO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwYXRoWzBdLnN0YXJ0c1dpdGgoJy4uLycpKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IENvbW1vbnNJbnRlcm5hbEVycm9yKCdOb3QgaW1wbGVtZW50ZWQnLCB7bmFtZTogJ1JvdXRlVXRpbHNFcnJvcid9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFJvdXRlVXRpbC5yZW1vdmVFbXB0eVBhdGhTZWdtZW50cyhbLi4uYmFzZVBhdGgsIC4uLnBhdGhdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBiYXNlUGF0aDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZG9lc1VybE1hdGNoUm91dGVyTGluayhsaW5rOiBBcnJheTxzdHJpbmc+IHwgc3RyaW5nLCB1cmw6IEFycmF5PHN0cmluZz4gfCBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB1cmwgPT09ICdzdHJpbmcnICYmIHVybC5zdGFydHNXaXRoKCcvJykpIHtcbiAgICAgICAgICAgIHVybCA9IHVybC5zdWJzdHJpbmcoMSk7XG4gICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh1cmwpICYmIHVybC5sZW5ndGggPiAwICYmIHVybFswXS5zdGFydHNXaXRoKCcvJykpIHtcbiAgICAgICAgICAgIHVybFswXSA9IHVybFswXS5zdWJzdHJpbmcoMSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByb3V0ZVNlZ21lbnRzID0gQXJyYXkuaXNBcnJheShsaW5rKSA/IGxpbmsgOiBsaW5rLnNwbGl0KCcvJyk7XG4gICAgICAgIGNvbnN0IHVybFNlZ21lbnRzID0gQXJyYXkuaXNBcnJheSh1cmwpID8gdXJsIDogdXJsLnNwbGl0KCcjJylbMF0uc3BsaXQoJz8nKVswXS5zcGxpdCgnLycpO1xuXG4gICAgICAgIGlmIChyb3V0ZVNlZ21lbnRzLmxlbmd0aCA+IDAgJiYgdXJsU2VnbWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByb3V0ZVNlZ21lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKGkgPCB1cmxTZWdtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJvdXRlU2VnbWVudHNbaV0gIT09IHVybFNlZ21lbnRzW2ldKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBhZGp1c3RNZW51TGF6eUNoaWxkcmVuUm91dGVyTGlua3Mocm9vdE1lbnVJdGVtOiBQcmltZU1lbnVJdGVtLCBsYXp5Q2hpbGRyZW46IEFycmF5PENvbW1vbnNNZW51SXRlbT4pIHtcbiAgICAgICAgcmV0dXJuIGxhenlDaGlsZHJlbi5tYXAoaSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjaGlsZE1lbnVJdGVtID0gey4uLml9O1xuICAgICAgICAgICAgaWYgKGNoaWxkTWVudUl0ZW0ucm91dGVyTGluaykge1xuICAgICAgICAgICAgICAgIGNoaWxkTWVudUl0ZW0ucm91dGVyTGluayA9IFJvdXRlVXRpbC5hcHBlbmRQYXRoVG9CYXNlUGF0aChcbiAgICAgICAgICAgICAgICAgICAgcm9vdE1lbnVJdGVtLnJvdXRlckxpbmssXG4gICAgICAgICAgICAgICAgICAgIHR5cGVvZiBjaGlsZE1lbnVJdGVtLnJvdXRlckxpbmsgPT09ICdzdHJpbmcnID8gW2NoaWxkTWVudUl0ZW0ucm91dGVyTGlua10gOiBjaGlsZE1lbnVJdGVtLnJvdXRlckxpbmtcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoY2hpbGRNZW51SXRlbS5pdGVtcykpIHtcbiAgICAgICAgICAgICAgICBjaGlsZE1lbnVJdGVtLml0ZW1zID0gdGhpcy5hZGp1c3RNZW51TGF6eUNoaWxkcmVuUm91dGVyTGlua3Mocm9vdE1lbnVJdGVtLCBjaGlsZE1lbnVJdGVtLml0ZW1zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBjaGlsZE1lbnVJdGVtO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { DateUtil } from './date.util';
|
|
2
|
-
import { ObjectUtil } from './object.util';
|
|
3
|
-
export class StringUtil {
|
|
4
|
-
static escapeHtml(value) {
|
|
5
|
-
return value.replace(/</g, '<').replace(/>/g, '>');
|
|
6
|
-
}
|
|
7
|
-
static escapeHtmlAny(value) {
|
|
8
|
-
if (typeof value === 'string') {
|
|
9
|
-
return StringUtil.escapeHtml(value);
|
|
10
|
-
}
|
|
11
|
-
else if (typeof value === 'object') {
|
|
12
|
-
const escapedValue = ObjectUtil.deepCopy(value, { mapGettersToProperties: true });
|
|
13
|
-
for (const key in value) {
|
|
14
|
-
if (typeof value[key] === 'string') {
|
|
15
|
-
escapedValue[key] = StringUtil.escapeHtml(value[key]);
|
|
16
|
-
}
|
|
17
|
-
else if (typeof value[key] === 'object') {
|
|
18
|
-
escapedValue[key] = StringUtil.escapeHtmlAny(value[key]);
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
escapedValue[key] = value[key];
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
return escapedValue;
|
|
25
|
-
}
|
|
26
|
-
return value;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Stringifies a value - primitives with toString, dates with dateUtil, objects with JSON.stringify.
|
|
30
|
-
* @param value Any value.
|
|
31
|
-
*/
|
|
32
|
-
static stringify(value) {
|
|
33
|
-
if (value === null) {
|
|
34
|
-
return 'null';
|
|
35
|
-
}
|
|
36
|
-
if (typeof value === 'undefined') {
|
|
37
|
-
return 'undefined';
|
|
38
|
-
}
|
|
39
|
-
// eliminate functions, cause they could fall into objects
|
|
40
|
-
if (typeof value === 'function') {
|
|
41
|
-
return `Function ${value.name ?? 'anonymous'}()`;
|
|
42
|
-
}
|
|
43
|
-
if (typeof value === 'object') {
|
|
44
|
-
// date is object, but would like it in ISO string representation
|
|
45
|
-
if (value instanceof Date) {
|
|
46
|
-
return DateUtil.toIsoString(value) ?? 'null';
|
|
47
|
-
}
|
|
48
|
-
try {
|
|
49
|
-
return JSON.stringify(value);
|
|
50
|
-
}
|
|
51
|
-
catch (e) {
|
|
52
|
-
return value.toString();
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
// only primitives should be left to be printed like this (string, number, boolean)
|
|
56
|
-
return value.toString();
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL3NyYy91dGlscy9zdHJpbmcudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQ3JDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsTUFBTSxPQUFPLFVBQVU7SUFDWixNQUFNLENBQUMsVUFBVSxDQUFDLEtBQWE7UUFDbEMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTSxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQVc7UUFDbkMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDM0IsT0FBTyxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3ZDO2FBQU0sSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDbEMsTUFBTSxZQUFZLEdBQVEsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBQyxzQkFBc0IsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1lBRXJGLEtBQUssTUFBTSxHQUFHLElBQUksS0FBSyxFQUFFO2dCQUNyQixJQUFJLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLFFBQVEsRUFBRTtvQkFDaEMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7aUJBQ3pEO3FCQUFNLElBQUksT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxFQUFFO29CQUN2QyxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztpQkFDNUQ7cUJBQU07b0JBQ0gsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDbEM7YUFDSjtZQUNELE9BQU8sWUFBWSxDQUFDO1NBQ3ZCO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBVTtRQUM5QixJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDaEIsT0FBTyxNQUFNLENBQUM7U0FDakI7UUFDRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFdBQVcsRUFBRTtZQUM5QixPQUFPLFdBQVcsQ0FBQztTQUN0QjtRQUNELDBEQUEwRDtRQUMxRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFVBQVUsRUFBRTtZQUM3QixPQUFPLFlBQVksS0FBSyxDQUFDLElBQUksSUFBSSxXQUFXLElBQUksQ0FBQztTQUNwRDtRQUNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzNCLGlFQUFpRTtZQUNqRSxJQUFJLEtBQUssWUFBWSxJQUFJLEVBQUU7Z0JBQ3ZCLE9BQU8sUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUM7YUFDaEQ7WUFDRCxJQUFJO2dCQUNBLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNoQztZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNSLE9BQU8sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQzNCO1NBQ0o7UUFDRCxtRkFBbUY7UUFDbkYsT0FBTyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRlVXRpbH0gZnJvbSAnLi9kYXRlLnV0aWwnO1xuaW1wb3J0IHtPYmplY3RVdGlsfSBmcm9tICcuL29iamVjdC51dGlsJztcblxuZXhwb3J0IGNsYXNzIFN0cmluZ1V0aWwge1xuICAgIHB1YmxpYyBzdGF0aWMgZXNjYXBlSHRtbCh2YWx1ZTogc3RyaW5nKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoLzwvZywgJyZsdDsnKS5yZXBsYWNlKC8+L2csICcmZ3Q7Jyk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBlc2NhcGVIdG1sQW55KHZhbHVlPzogYW55KTogYW55IHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHJldHVybiBTdHJpbmdVdGlsLmVzY2FwZUh0bWwodmFsdWUpO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIGNvbnN0IGVzY2FwZWRWYWx1ZTogYW55ID0gT2JqZWN0VXRpbC5kZWVwQ29weSh2YWx1ZSwge21hcEdldHRlcnNUb1Byb3BlcnRpZXM6IHRydWV9KTtcblxuICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdmFsdWUpIHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlW2tleV0gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgICAgIGVzY2FwZWRWYWx1ZVtrZXldID0gU3RyaW5nVXRpbC5lc2NhcGVIdG1sKHZhbHVlW2tleV0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlW2tleV0gPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgICAgIGVzY2FwZWRWYWx1ZVtrZXldID0gU3RyaW5nVXRpbC5lc2NhcGVIdG1sQW55KHZhbHVlW2tleV0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGVzY2FwZWRWYWx1ZVtrZXldID0gdmFsdWVba2V5XTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZXNjYXBlZFZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFN0cmluZ2lmaWVzIGEgdmFsdWUgLSBwcmltaXRpdmVzIHdpdGggdG9TdHJpbmcsIGRhdGVzIHdpdGggZGF0ZVV0aWwsIG9iamVjdHMgd2l0aCBKU09OLnN0cmluZ2lmeS5cbiAgICAgKiBAcGFyYW0gdmFsdWUgQW55IHZhbHVlLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgc3RyaW5naWZ5KHZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiAnbnVsbCc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHJldHVybiAndW5kZWZpbmVkJztcbiAgICAgICAgfVxuICAgICAgICAvLyBlbGltaW5hdGUgZnVuY3Rpb25zLCBjYXVzZSB0aGV5IGNvdWxkIGZhbGwgaW50byBvYmplY3RzXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHJldHVybiBgRnVuY3Rpb24gJHt2YWx1ZS5uYW1lID8/ICdhbm9ueW1vdXMnfSgpYDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgLy8gZGF0ZSBpcyBvYmplY3QsIGJ1dCB3b3VsZCBsaWtlIGl0IGluIElTTyBzdHJpbmcgcmVwcmVzZW50YXRpb25cbiAgICAgICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gRGF0ZVV0aWwudG9Jc29TdHJpbmcodmFsdWUpID8/ICdudWxsJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHZhbHVlKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUudG9TdHJpbmcoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBvbmx5IHByaW1pdGl2ZXMgc2hvdWxkIGJlIGxlZnQgdG8gYmUgcHJpbnRlZCBsaWtlIHRoaXMgKHN0cmluZywgbnVtYmVyLCBib29sZWFuKVxuICAgICAgICByZXR1cm4gdmFsdWUudG9TdHJpbmcoKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import { EnumUtil, findReflectEnumName } from '@mediusinc/mng-commons/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class EnumPipe {
|
|
5
|
-
transform(value, enumDesc, i18nPath) {
|
|
6
|
-
if (!value || (typeof value !== 'number' && typeof value !== 'string')) {
|
|
7
|
-
return value;
|
|
8
|
-
}
|
|
9
|
-
const enumConstantName = !enumDesc || enumDesc.nameAsValue ? value : EnumUtil.getConstantNameFromEnumObject(enumDesc.type, value) ?? value;
|
|
10
|
-
if (typeof i18nPath === 'undefined' && enumDesc) {
|
|
11
|
-
i18nPath = enumDesc.i18nBaseKey === undefined ? findReflectEnumName(enumDesc.type) : null;
|
|
12
|
-
}
|
|
13
|
-
return i18nPath ? `${i18nPath}.${enumConstantName}` : enumConstantName;
|
|
14
|
-
}
|
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: EnumPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
16
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.1", ngImport: i0, type: EnumPipe, isStandalone: true, name: "mngEnum" }); }
|
|
17
|
-
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: EnumPipe, decorators: [{
|
|
19
|
-
type: Pipe,
|
|
20
|
-
args: [{
|
|
21
|
-
standalone: true,
|
|
22
|
-
name: 'mngEnum',
|
|
23
|
-
pure: true
|
|
24
|
-
}]
|
|
25
|
-
}] });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbW9kZWwvc3JjL3BpcGVzL2VudW0ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUVsRCxPQUFPLEVBQVcsUUFBUSxFQUFFLG1CQUFtQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7O0FBU3BGLE1BQU0sT0FBTyxRQUFRO0lBQ2pCLFNBQVMsQ0FBQyxLQUFjLEVBQUUsUUFBOEIsRUFBRSxRQUF3QjtRQUM5RSxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxFQUFFO1lBQ3BFLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBQ0QsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQztRQUMzSSxJQUFJLE9BQU8sUUFBUSxLQUFLLFdBQVcsSUFBSSxRQUFRLEVBQUU7WUFDN0MsUUFBUSxHQUFHLFFBQVEsQ0FBQyxXQUFXLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsSUFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDekc7UUFDRCxPQUFPLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLElBQUksZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUM7SUFDM0UsQ0FBQzs4R0FWUSxRQUFROzRHQUFSLFFBQVE7OzJGQUFSLFFBQVE7a0JBTHBCLElBQUk7bUJBQUM7b0JBQ0YsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRSxTQUFTO29CQUNmLElBQUksRUFBRSxJQUFJO2lCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtFbnVtVHlwZSwgRW51bVV0aWwsIGZpbmRSZWZsZWN0RW51bU5hbWV9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5cbmltcG9ydCB7RW51bURlc2NyaXB0b3J9IGZyb20gJy4uL2Rlc2NyaXB0b3JzL2VudW0uZGVzY3JpcHRvcic7XG5cbkBQaXBlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIG5hbWU6ICdtbmdFbnVtJyxcbiAgICBwdXJlOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVudW1QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKHZhbHVlOiB1bmtub3duLCBlbnVtRGVzYz86IEVudW1EZXNjcmlwdG9yPGFueT4sIGkxOG5QYXRoPzogc3RyaW5nIHwgbnVsbCk6IGFueSB7XG4gICAgICAgIGlmICghdmFsdWUgfHwgKHR5cGVvZiB2YWx1ZSAhPT0gJ251bWJlcicgJiYgdHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJykpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlbnVtQ29uc3RhbnROYW1lID0gIWVudW1EZXNjIHx8IGVudW1EZXNjLm5hbWVBc1ZhbHVlID8gdmFsdWUgOiBFbnVtVXRpbC5nZXRDb25zdGFudE5hbWVGcm9tRW51bU9iamVjdChlbnVtRGVzYy50eXBlLCB2YWx1ZSkgPz8gdmFsdWU7XG4gICAgICAgIGlmICh0eXBlb2YgaTE4blBhdGggPT09ICd1bmRlZmluZWQnICYmIGVudW1EZXNjKSB7XG4gICAgICAgICAgICBpMThuUGF0aCA9IGVudW1EZXNjLmkxOG5CYXNlS2V5ID09PSB1bmRlZmluZWQgPyBmaW5kUmVmbGVjdEVudW1OYW1lKGVudW1EZXNjLnR5cGUgYXMgRW51bVR5cGUpIDogbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaTE4blBhdGggPyBgJHtpMThuUGF0aH0uJHtlbnVtQ29uc3RhbnROYW1lfWAgOiBlbnVtQ29uc3RhbnROYW1lO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import { I18nUtils } from '@mediusinc/mng-commons/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class I18nPropertyPipe {
|
|
5
|
-
transform(property, model) {
|
|
6
|
-
return I18nUtils.Type.getPropertyKey(model.i18nBaseKey, property);
|
|
7
|
-
}
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: I18nPropertyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
9
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.1", ngImport: i0, type: I18nPropertyPipe, isStandalone: true, name: "mngI18nProperty" }); }
|
|
10
|
-
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: I18nPropertyPipe, decorators: [{
|
|
12
|
-
type: Pipe,
|
|
13
|
-
args: [{
|
|
14
|
-
standalone: true,
|
|
15
|
-
name: 'mngI18nProperty',
|
|
16
|
-
pure: true
|
|
17
|
-
}]
|
|
18
|
-
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi1wcm9wZXJ0eS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbW9kZWwvc3JjL3BpcGVzL2kxOG4tcHJvcGVydHkucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUVsRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7O0FBU3RELE1BQU0sT0FBTyxnQkFBZ0I7SUFDekIsU0FBUyxDQUFDLFFBQWdCLEVBQUUsS0FBMkI7UUFDbkQsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7OEdBSFEsZ0JBQWdCOzRHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBTDVCLElBQUk7bUJBQUM7b0JBQ0YsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRSxpQkFBaUI7b0JBQ3ZCLElBQUksRUFBRSxJQUFJO2lCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtJMThuVXRpbHN9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5cbmltcG9ydCB7TW9kZWxEZXNjcmlwdG9yfSBmcm9tICcuLi9kZXNjcmlwdG9ycy9tb2RlbC5kZXNjcmlwdG9yJztcblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ21uZ0kxOG5Qcm9wZXJ0eScsXG4gICAgcHVyZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBJMThuUHJvcGVydHlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKHByb3BlcnR5OiBzdHJpbmcsIG1vZGVsOiBNb2RlbERlc2NyaXB0b3I8YW55Pik6IGFueSB7XG4gICAgICAgIHJldHVybiBJMThuVXRpbHMuVHlwZS5nZXRQcm9wZXJ0eUtleShtb2RlbC5pMThuQmFzZUtleSwgcHJvcGVydHkpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { map } from 'rxjs/operators';
|
|
2
|
-
import { I18nUtils as CoreI18nUtils } from '@mediusinc/mng-commons/core';
|
|
3
|
-
export var I18nUtils;
|
|
4
|
-
(function (I18nUtils) {
|
|
5
|
-
class Model {
|
|
6
|
-
static get(translate, model, keyPath, customKey, item, fallbackKey, params) {
|
|
7
|
-
const keys = I18nUtils.Model.getKeysByPriority(model, keyPath, customKey, fallbackKey);
|
|
8
|
-
const i18nParams = I18nUtils.Model.getParams(translate, model, item, params);
|
|
9
|
-
return CoreI18nUtils.Common.get(translate, i18nParams, ...keys);
|
|
10
|
-
}
|
|
11
|
-
static getName(translate, model, singular) {
|
|
12
|
-
return CoreI18nUtils.Type.getName(translate, model.i18nBaseKey, singular);
|
|
13
|
-
}
|
|
14
|
-
static getNameAsync(translate, model, singular) {
|
|
15
|
-
return CoreI18nUtils.Type.getNameAsync(translate, model.i18nBaseKey, singular);
|
|
16
|
-
}
|
|
17
|
-
static getParams(translate, model, item, params = {}) {
|
|
18
|
-
const i18nParams = CoreI18nUtils.Type.getParams(translate, model?.i18nBaseKey, item, params);
|
|
19
|
-
return I18nUtils.Model.populateParams(model?.idProperty, model?.titleProperty, item, i18nParams);
|
|
20
|
-
}
|
|
21
|
-
static getParamsAsync(translate, model, item, params = {}) {
|
|
22
|
-
return CoreI18nUtils.Type.getParamsAsync(translate, model?.i18nBaseKey, item, params).pipe(map(i18nParams => I18nUtils.Model.populateParams(model?.idProperty, model?.titleProperty, item, i18nParams)));
|
|
23
|
-
}
|
|
24
|
-
static populateParams(idProperty, titleProperty, item, params = {}) {
|
|
25
|
-
const paramsRes = { ...params, itemId: '', itemTitle: '' };
|
|
26
|
-
if (item) {
|
|
27
|
-
if (idProperty && item[idProperty]) {
|
|
28
|
-
paramsRes.itemId = item[idProperty];
|
|
29
|
-
}
|
|
30
|
-
if (titleProperty && item[titleProperty]) {
|
|
31
|
-
paramsRes.itemTitle = item[titleProperty];
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
return paramsRes;
|
|
35
|
-
}
|
|
36
|
-
static getKeysByPriority(model, keyPath, customKey, fallbackKey) {
|
|
37
|
-
const keys = [];
|
|
38
|
-
if (customKey) {
|
|
39
|
-
keys.push(customKey);
|
|
40
|
-
}
|
|
41
|
-
const modelActionKey = CoreI18nUtils.Type.getPath(model.i18nBaseKey, ...keyPath);
|
|
42
|
-
keys.push(modelActionKey);
|
|
43
|
-
if (fallbackKey) {
|
|
44
|
-
keys.push(fallbackKey);
|
|
45
|
-
}
|
|
46
|
-
return keys;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
I18nUtils.Model = Model;
|
|
50
|
-
})(I18nUtils || (I18nUtils = {}));
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbW9kZWwvc3JjL3V0aWxzL2kxOG4udXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsT0FBTyxFQUFDLFNBQVMsSUFBSSxhQUFhLEVBQVksTUFBTSw2QkFBNkIsQ0FBQztBQUlsRixNQUFNLEtBQVcsU0FBUyxDQTZEekI7QUE3REQsV0FBaUIsU0FBUztJQUN0QixNQUFhLEtBQUs7UUFDUCxNQUFNLENBQUMsR0FBRyxDQUNiLFNBQTJCLEVBQzNCLEtBQTJCLEVBQzNCLE9BQWUsRUFDZixTQUFrQixFQUNsQixJQUFVLEVBQ1YsV0FBb0IsRUFDcEIsTUFBWTtZQUVaLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDdkYsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDN0UsT0FBTyxhQUFhLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDcEUsQ0FBQztRQUVNLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBMkIsRUFBRSxLQUEyQixFQUFFLFFBQWtCO1lBQzlGLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDOUUsQ0FBQztRQUVNLE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBMkIsRUFBRSxLQUEyQixFQUFFLFFBQWtCO1lBQ25HLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDbkYsQ0FBQztRQUVNLE1BQU0sQ0FBQyxTQUFTLENBQUMsU0FBMkIsRUFBRSxLQUE0QixFQUFFLElBQVUsRUFBRSxTQUFjLEVBQUU7WUFDM0csTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzdGLE9BQU8sU0FBUyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNyRyxDQUFDO1FBRU0sTUFBTSxDQUFDLGNBQWMsQ0FBQyxTQUEyQixFQUFFLEtBQTRCLEVBQUUsSUFBVSxFQUFFLFNBQWMsRUFBRTtZQUNoSCxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQ3RGLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FDL0csQ0FBQztRQUNOLENBQUM7UUFFTSxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQXNCLEVBQUUsYUFBeUIsRUFBRSxJQUFVLEVBQUUsU0FBYyxFQUFFO1lBQ3hHLE1BQU0sU0FBUyxHQUFHLEVBQUMsR0FBRyxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFDLENBQUM7WUFDekQsSUFBSSxJQUFJLEVBQUU7Z0JBQ04sSUFBSSxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO29CQUNoQyxTQUFTLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDdkM7Z0JBQ0QsSUFBSSxhQUFhLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFO29CQUN0QyxTQUFTLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztpQkFDN0M7YUFDSjtZQUNELE9BQU8sU0FBUyxDQUFDO1FBQ3JCLENBQUM7UUFFTyxNQUFNLENBQUMsaUJBQWlCLENBQUMsS0FBMkIsRUFBRSxPQUFlLEVBQUUsU0FBa0IsRUFBRSxXQUFvQjtZQUNuSCxNQUFNLElBQUksR0FBRyxFQUFFLENBQUM7WUFDaEIsSUFBSSxTQUFTLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUN4QjtZQUNELE1BQU0sY0FBYyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQztZQUNqRixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzFCLElBQUksV0FBVyxFQUFFO2dCQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDMUI7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO0tBQ0o7SUEzRFksZUFBSyxRQTJEakIsQ0FBQTtBQUNMLENBQUMsRUE3RGdCLFNBQVMsS0FBVCxTQUFTLFFBNkR6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtJMThuVXRpbHMgYXMgQ29yZUkxOG5VdGlscywgS2V5T2ZUeXBlfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuXG5pbXBvcnQge01vZGVsRGVzY3JpcHRvcn0gZnJvbSAnLi4vZGVzY3JpcHRvcnMvbW9kZWwuZGVzY3JpcHRvcic7XG5cbmV4cG9ydCBuYW1lc3BhY2UgSTE4blV0aWxzIHtcbiAgICBleHBvcnQgY2xhc3MgTW9kZWwge1xuICAgICAgICBwdWJsaWMgc3RhdGljIGdldChcbiAgICAgICAgICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgIG1vZGVsOiBNb2RlbERlc2NyaXB0b3I8YW55PixcbiAgICAgICAgICAgIGtleVBhdGg6IHN0cmluZyxcbiAgICAgICAgICAgIGN1c3RvbUtleT86IHN0cmluZyxcbiAgICAgICAgICAgIGl0ZW0/OiBhbnksXG4gICAgICAgICAgICBmYWxsYmFja0tleT86IHN0cmluZyxcbiAgICAgICAgICAgIHBhcmFtcz86IGFueVxuICAgICAgICApOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgICAgIGNvbnN0IGtleXMgPSBJMThuVXRpbHMuTW9kZWwuZ2V0S2V5c0J5UHJpb3JpdHkobW9kZWwsIGtleVBhdGgsIGN1c3RvbUtleSwgZmFsbGJhY2tLZXkpO1xuICAgICAgICAgICAgY29uc3QgaTE4blBhcmFtcyA9IEkxOG5VdGlscy5Nb2RlbC5nZXRQYXJhbXModHJhbnNsYXRlLCBtb2RlbCwgaXRlbSwgcGFyYW1zKTtcbiAgICAgICAgICAgIHJldHVybiBDb3JlSTE4blV0aWxzLkNvbW1vbi5nZXQodHJhbnNsYXRlLCBpMThuUGFyYW1zLCAuLi5rZXlzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBzdGF0aWMgZ2V0TmFtZSh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIG1vZGVsOiBNb2RlbERlc2NyaXB0b3I8YW55Piwgc2luZ3VsYXI/OiBib29sZWFuKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgICAgICByZXR1cm4gQ29yZUkxOG5VdGlscy5UeXBlLmdldE5hbWUodHJhbnNsYXRlLCBtb2RlbC5pMThuQmFzZUtleSwgc2luZ3VsYXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHN0YXRpYyBnZXROYW1lQXN5bmModHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBtb2RlbDogTW9kZWxEZXNjcmlwdG9yPGFueT4sIHNpbmd1bGFyPzogYm9vbGVhbik6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD4ge1xuICAgICAgICAgICAgcmV0dXJuIENvcmVJMThuVXRpbHMuVHlwZS5nZXROYW1lQXN5bmModHJhbnNsYXRlLCBtb2RlbC5pMThuQmFzZUtleSwgc2luZ3VsYXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHN0YXRpYyBnZXRQYXJhbXModHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBtb2RlbD86IE1vZGVsRGVzY3JpcHRvcjxhbnk+LCBpdGVtPzogYW55LCBwYXJhbXM6IGFueSA9IHt9KTogYW55IHtcbiAgICAgICAgICAgIGNvbnN0IGkxOG5QYXJhbXMgPSBDb3JlSTE4blV0aWxzLlR5cGUuZ2V0UGFyYW1zKHRyYW5zbGF0ZSwgbW9kZWw/LmkxOG5CYXNlS2V5LCBpdGVtLCBwYXJhbXMpO1xuICAgICAgICAgICAgcmV0dXJuIEkxOG5VdGlscy5Nb2RlbC5wb3B1bGF0ZVBhcmFtcyhtb2RlbD8uaWRQcm9wZXJ0eSwgbW9kZWw/LnRpdGxlUHJvcGVydHksIGl0ZW0sIGkxOG5QYXJhbXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHN0YXRpYyBnZXRQYXJhbXNBc3luYyh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIG1vZGVsPzogTW9kZWxEZXNjcmlwdG9yPGFueT4sIGl0ZW0/OiBhbnksIHBhcmFtczogYW55ID0ge30pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICAgICAgcmV0dXJuIENvcmVJMThuVXRpbHMuVHlwZS5nZXRQYXJhbXNBc3luYyh0cmFuc2xhdGUsIG1vZGVsPy5pMThuQmFzZUtleSwgaXRlbSwgcGFyYW1zKS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChpMThuUGFyYW1zID0+IEkxOG5VdGlscy5Nb2RlbC5wb3B1bGF0ZVBhcmFtcyhtb2RlbD8uaWRQcm9wZXJ0eSwgbW9kZWw/LnRpdGxlUHJvcGVydHksIGl0ZW0sIGkxOG5QYXJhbXMpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBzdGF0aWMgcG9wdWxhdGVQYXJhbXMoaWRQcm9wZXJ0eT86IEtleU9mVHlwZSwgdGl0bGVQcm9wZXJ0eT86IEtleU9mVHlwZSwgaXRlbT86IGFueSwgcGFyYW1zOiBhbnkgPSB7fSk6IGFueSB7XG4gICAgICAgICAgICBjb25zdCBwYXJhbXNSZXMgPSB7Li4ucGFyYW1zLCBpdGVtSWQ6ICcnLCBpdGVtVGl0bGU6ICcnfTtcbiAgICAgICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlkUHJvcGVydHkgJiYgaXRlbVtpZFByb3BlcnR5XSkge1xuICAgICAgICAgICAgICAgICAgICBwYXJhbXNSZXMuaXRlbUlkID0gaXRlbVtpZFByb3BlcnR5XTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRpdGxlUHJvcGVydHkgJiYgaXRlbVt0aXRsZVByb3BlcnR5XSkge1xuICAgICAgICAgICAgICAgICAgICBwYXJhbXNSZXMuaXRlbVRpdGxlID0gaXRlbVt0aXRsZVByb3BlcnR5XTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcGFyYW1zUmVzO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpdmF0ZSBzdGF0aWMgZ2V0S2V5c0J5UHJpb3JpdHkobW9kZWw6IE1vZGVsRGVzY3JpcHRvcjxhbnk+LCBrZXlQYXRoOiBzdHJpbmcsIGN1c3RvbUtleT86IHN0cmluZywgZmFsbGJhY2tLZXk/OiBzdHJpbmcpIHtcbiAgICAgICAgICAgIGNvbnN0IGtleXMgPSBbXTtcbiAgICAgICAgICAgIGlmIChjdXN0b21LZXkpIHtcbiAgICAgICAgICAgICAgICBrZXlzLnB1c2goY3VzdG9tS2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IG1vZGVsQWN0aW9uS2V5ID0gQ29yZUkxOG5VdGlscy5UeXBlLmdldFBhdGgobW9kZWwuaTE4bkJhc2VLZXksIC4uLmtleVBhdGgpO1xuICAgICAgICAgICAga2V5cy5wdXNoKG1vZGVsQWN0aW9uS2V5KTtcbiAgICAgICAgICAgIGlmIChmYWxsYmFja0tleSkge1xuICAgICAgICAgICAgICAgIGtleXMucHVzaChmYWxsYmFja0tleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4ga2V5cztcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|