@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
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS5kZXNjcmlwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9zcmMvZGVzY3JpcHRvcnMvZW51bS5kZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0VudW1UeXBlfSBmcm9tICcuLi9oZWxwZXJzL3R5cGUtaGVscGVycyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUVudW1EZXNjcmlwdG9yIHtcbiAgICB0eXBlOiBFbnVtVHlwZTtcbiAgICBuYW1lQXNWYWx1ZTogYm9vbGVhbjtcbiAgICBpMThuQmFzZUtleTogc3RyaW5nIHwgbnVsbDtcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmRlc2NyaXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL3NyYy9kZXNjcmlwdG9ycy9maWx0ZXIuZGVzY3JpcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuZXhwb3J0IGludGVyZmFjZSBJRmlsdGVyRGVzY3JpcHRvcjxGaWx0ZXJNb2RlbCwgVGFibGVNb2RlbD4ge1xuICAgIHByb3BlcnR5OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuZGVzY3JpcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvc3JjL2Rlc2NyaXB0b3JzL21vZGVsLmRlc2NyaXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2xhc3NPcHRUeXBlfSBmcm9tICcuLi9tb2RlbHMvY2xhc3Mtc2VydmljZS5tb2RlbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1vZGVsRGVzY3JpcHRvcjxNb2RlbCwgTW9kZWxDbGFzcyA9IENsYXNzT3B0VHlwZTxNb2RlbD4+IHtcbiAgICB0eXBlOiBNb2RlbENsYXNzO1xuICAgIHR5cGVOYW1lPzogc3RyaW5nO1xuICAgIGkxOG5CYXNlS2V5OiBzdHJpbmc7XG4gICAgaWRQcm9wZXJ0eT86IHN0cmluZztcbiAgICB0aXRsZVByb3BlcnR5Pzogc3RyaW5nO1xufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuZGVzY3JpcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvc3JjL2Rlc2NyaXB0b3JzL3RhYmxlLmRlc2NyaXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SUNvbHVtbkRlc2NyaXB0b3J9IGZyb20gJy4vY29sdW1uLmRlc2NyaXB0b3InO1xuaW1wb3J0IHtJRmlsdGVyRGVzY3JpcHRvcn0gZnJvbSAnLi9maWx0ZXIuZGVzY3JpcHRvcic7XG5pbXBvcnQge0lNb2RlbERlc2NyaXB0b3J9IGZyb20gJy4vbW9kZWwuZGVzY3JpcHRvcic7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbmV4cG9ydCBpbnRlcmZhY2UgSVRhYmxlRGVzY3JpcHRvcjxUYWJsZU1vZGVsLCBTb3J0UHJvcGVydHksIEZpbHRlclByb3BlcnR5PiB7XG4gICAgbW9kZWw6IElNb2RlbERlc2NyaXB0b3I8VGFibGVNb2RlbD47XG5cbiAgICB3aXRoRGVmYXVsdFNvcnRVbnNhZmUocHJvcGVydHk6IHN0cmluZywgYXNjZW5kaW5nPzogYm9vbGVhbiwgb3JkZXI/OiBudW1iZXIsIGVuYWJsZWQ/OiBib29sZWFuKTogdGhpcztcblxuICAgIHdpdGhTb3J0VW5zYWZlKHByb3BlcnR5OiBzdHJpbmcsIGlzRGVmYXVsdDogYm9vbGVhbiwgYXNjZW5kaW5nPzogYm9vbGVhbik6IHRoaXM7XG5cbiAgICBhZGRGaWx0ZXJGcm9tQ29sdW1uRGVzY3JpcHRvclVuc2FmZTxDb2x1bW5Nb2RlbCwgQ29sdW1uVmFsdWU+KFxuICAgICAgICBjb2x1bW46IElDb2x1bW5EZXNjcmlwdG9yPENvbHVtbk1vZGVsLCBUYWJsZU1vZGVsLCBDb2x1bW5WYWx1ZT4sXG4gICAgICAgIGZvcmNlU2ltcGxlOiBib29sZWFuXG4gICAgKTogSUZpbHRlckRlc2NyaXB0b3I8YW55LCBUYWJsZU1vZGVsPjtcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LmRlc2NyaXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL3NyYy9kZXNjcmlwdG9ycy90YWJsZXZpZXcuZGVzY3JpcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJRWRpdG9yRGVzY3JpcHRvcn0gZnJvbSAnLi9lZGl0b3IuZGVzY3JpcHRvcic7XG5pbXBvcnQge0lNb2RlbERlc2NyaXB0b3J9IGZyb20gJy4vbW9kZWwuZGVzY3JpcHRvcic7XG5pbXBvcnQge0lUYWJsZURlc2NyaXB0b3J9IGZyb20gJy4vdGFibGUuZGVzY3JpcHRvcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRhYmxldmlld0Rlc2NyaXB0b3I8VGFibGV2aWV3TW9kZWwsIFNvcnRQcm9wZXJ0eSwgRmlsdGVyUHJvcGVydHk+IHtcbiAgICBtb2RlbDogSU1vZGVsRGVzY3JpcHRvcjxUYWJsZXZpZXdNb2RlbD47XG5cbiAgICB0YWJsZTogSVRhYmxlRGVzY3JpcHRvcjxUYWJsZXZpZXdNb2RlbCwgU29ydFByb3BlcnR5LCBGaWx0ZXJQcm9wZXJ0eT47XG4gICAgZGV0YWlsc0VkaXRvcjogSUVkaXRvckRlc2NyaXB0b3I8VGFibGV2aWV3TW9kZWw+O1xuICAgIGFkZEVkaXRvcjogSUVkaXRvckRlc2NyaXB0b3I8VGFibGV2aWV3TW9kZWw+O1xuICAgIGVkaXRFZGl0b3I6IElFZGl0b3JEZXNjcmlwdG9yPFRhYmxldmlld01vZGVsPjtcblxuICAgIGNvcHkoKTogSVRhYmxldmlld0Rlc2NyaXB0b3I8VGFibGV2aWV3TW9kZWwsIFNvcnRQcm9wZXJ0eSwgRmlsdGVyUHJvcGVydHk+O1xufVxuIl19
|
|
@@ -44,10 +44,10 @@ export class ComponentDirective {
|
|
|
44
44
|
}
|
|
45
45
|
this.componentInstanceEventEmitter.next(this.componentRef.instance);
|
|
46
46
|
}
|
|
47
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2
|
|
48
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2
|
|
47
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: ComponentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
48
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.2", type: ComponentDirective, isStandalone: true, selector: "[mngComponent]", inputs: { component: ["mngComponent", "component"], componentIt: ["injectionToken", "componentIt"], inputs: "inputs", attachToHost: "attachToHost", nodeInjector: "nodeInjector" }, outputs: { componentInstanceEventEmitter: "instanceCreated" }, ngImport: i0 }); }
|
|
49
49
|
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: ComponentDirective, decorators: [{
|
|
51
51
|
type: Directive,
|
|
52
52
|
args: [{
|
|
53
53
|
standalone: true,
|
|
@@ -69,4 +69,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
|
|
|
69
69
|
type: Output,
|
|
70
70
|
args: ['instanceCreated']
|
|
71
71
|
}] } });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvc3JjL2RpcmVjdGl2ZXMvY29tcG9uZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsY0FBYyxFQUVkLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLGNBQWMsRUFDZCxRQUFRLEVBQ1IsS0FBSyxFQUVMLE1BQU0sRUFDTixJQUFJLEVBQ0osZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7O0FBTTFELE1BQU0sT0FBTyxrQkFBa0I7SUFKL0I7UUFLcUIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3hDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBS3BELGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRUssa0NBQTZCLEdBQUcsSUFBSSxZQUFZLEVBQUssQ0FBQztLQXlDNUY7SUFyQ0csUUFBUTtRQUNKLElBQUksU0FBUyxHQUFtQixJQUFJLENBQUM7UUFDckMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDL0IsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzFCLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBQzVFLENBQUM7UUFFRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDYixNQUFNLElBQUksb0JBQW9CLENBQUMsOENBQThDLElBQUksQ0FBQyxTQUFTLGdEQUFnRCxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsQ0FBQztRQUNySyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxlQUFlLENBQUMsU0FBUyxFQUFFO2dCQUMzQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhO2dCQUMxQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVE7Z0JBQ2pELGVBQWUsRUFBRSxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxRQUFRO2FBQ3RELENBQUMsQ0FBQztRQUNQLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBTSxTQUFTLEVBQUU7Z0JBQ3RFLFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWSxJQUFJLFNBQVM7YUFDM0MsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2QsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDMUQsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9ELENBQUM7UUFFRCxJQUFJLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEUsQ0FBQzs4R0FuRFEsa0JBQWtCO2tHQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBSjlCLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzdCOzhCQU9tQyxTQUFTO3NCQUF4QyxLQUFLO3VCQUFDLEVBQUMsS0FBSyxFQUFFLGNBQWMsRUFBQztnQkFDSSxXQUFXO3NCQUE1QyxLQUFLO3VCQUFDLEVBQUMsS0FBSyxFQUFFLGdCQUFnQixFQUFDO2dCQUN2QixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUM2Qiw2QkFBNkI7c0JBQS9ELE1BQU07dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBcHBsaWNhdGlvblJlZixcbiAgICBDb21wb25lbnRSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEluamVjdGlvblRva2VuLFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVHlwZSxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxuICAgIGNyZWF0ZUNvbXBvbmVudCxcbiAgICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7Q29tbW9uc0ludGVybmFsRXJyb3J9IGZyb20gJy4uL2Vycm9yL2Vycm9yLm1vZGVsJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1ttbmdDb21wb25lbnRdJ1xufSlcbmV4cG9ydCBjbGFzcyBDb21wb25lbnREaXJlY3RpdmU8Qz4gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcGxpY2F0aW9uUmVmID0gaW5qZWN0KEFwcGxpY2F0aW9uUmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG5cbiAgICBASW5wdXQoe2FsaWFzOiAnbW5nQ29tcG9uZW50J30pIGNvbXBvbmVudD86IFR5cGU8Qz47XG4gICAgQElucHV0KHthbGlhczogJ2luamVjdGlvblRva2VuJ30pIGNvbXBvbmVudEl0PzogSW5qZWN0aW9uVG9rZW48VHlwZTxDPj47XG4gICAgQElucHV0KCkgaW5wdXRzPzoge1trZXk6IHN0cmluZ106IGFueX07XG4gICAgQElucHV0KCkgYXR0YWNoVG9Ib3N0ID0gZmFsc2U7XG4gICAgQElucHV0KCkgbm9kZUluamVjdG9yPzogSW5qZWN0b3I7XG4gICAgQE91dHB1dCgnaW5zdGFuY2VDcmVhdGVkJykgcHJpdmF0ZSBjb21wb25lbnRJbnN0YW5jZUV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8Qz4oKTtcblxuICAgIHB1YmxpYyBjb21wb25lbnRSZWYhOiBDb21wb25lbnRSZWY8Qz47XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgbGV0IGNvbXBvbmVudDogVHlwZTxDPiB8IG51bGwgPSBudWxsO1xuICAgICAgICBpZiAodGhpcy5jb21wb25lbnQpIHtcbiAgICAgICAgICAgIGNvbXBvbmVudCA9IHRoaXMuY29tcG9uZW50O1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY29tcG9uZW50SXQpIHtcbiAgICAgICAgICAgIGNvbXBvbmVudCA9IHRoaXMuaW5qZWN0b3IuZ2V0KHRoaXMuY29tcG9uZW50SXQsIG51bGwsIHtvcHRpb25hbDogdHJ1ZX0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFjb21wb25lbnQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBDb21tb25zSW50ZXJuYWxFcnJvcihgQ29tcG9uZW50IGNhbm5vdCBiZSBjcmVhdGVkLCBubyBjb21wb25lbnQgKCR7dGhpcy5jb21wb25lbnR9KSBvciBubyBvciBpbnZhbGlkIGluamVjdGlvbiB0b2tlbiBwcm92aWRlZCAoJHt0aGlzLmNvbXBvbmVudEl0fSkuYCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5hdHRhY2hUb0hvc3QpIHtcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmID0gY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudCwge1xuICAgICAgICAgICAgICAgIGhvc3RFbGVtZW50OiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICBlbnZpcm9ubWVudEluamVjdG9yOiB0aGlzLmFwcGxpY2F0aW9uUmVmLmluamVjdG9yLFxuICAgICAgICAgICAgICAgIGVsZW1lbnRJbmplY3RvcjogdGhpcy5ub2RlSW5qZWN0b3IgPz8gdGhpcy5pbmplY3RvclxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudDxhbnk+KGNvbXBvbmVudCwge1xuICAgICAgICAgICAgICAgIGluamVjdG9yOiB0aGlzLm5vZGVJbmplY3RvciA/PyB1bmRlZmluZWRcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaW5wdXRzKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGlucHV0IGluIHRoaXMuaW5wdXRzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuc2V0SW5wdXQoaW5wdXQsIHRoaXMuaW5wdXRzW2lucHV0XSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5hdHRhY2hUb0hvc3QpIHtcbiAgICAgICAgICAgIHRoaXMuYXBwbGljYXRpb25SZWYuYXR0YWNoVmlldyh0aGlzLmNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNvbXBvbmVudEluc3RhbmNlRXZlbnRFbWl0dGVyLm5leHQodGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -36,14 +36,14 @@ export class DialogKeydownHandlerDirective {
|
|
|
36
36
|
}
|
|
37
37
|
this.dialogsWithKeydownListener.forEach(c => c.bindDocumentKeydownListener());
|
|
38
38
|
}
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2
|
|
40
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2
|
|
39
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: DialogKeydownHandlerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
40
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.2", type: DialogKeydownHandlerDirective, isStandalone: true, selector: "[mngDialogKeydownHandler]", ngImport: i0 }); }
|
|
41
41
|
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: DialogKeydownHandlerDirective, decorators: [{
|
|
43
43
|
type: Directive,
|
|
44
44
|
args: [{
|
|
45
45
|
standalone: true,
|
|
46
46
|
selector: '[mngDialogKeydownHandler]'
|
|
47
47
|
}]
|
|
48
48
|
}] });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWtleWRvd24taGFuZGxlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL3NyYy9kaXJlY3RpdmVzL2RpYWxvZy1rZXlkb3duLWhhbmRsZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQXFCLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVuRSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFDLGFBQWEsRUFBRSxzQkFBc0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDOztBQU01RSxNQUFNLE9BQU8sNkJBQTZCO0lBSjFDO1FBS3FCLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7UUFDakUsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUMxQywrQkFBMEIsR0FBNkIsRUFBRSxDQUFDO0tBa0M5RTtJQWhDRyxRQUFRO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdEMsdUJBQXVCO1lBQ3ZCLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDakQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO2dCQUMzRiw4QkFBOEI7Z0JBQzlCLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNqRCxDQUFDLENBQUMsUUFBUSxDQUFDLDZCQUE2QixFQUFFLENBQUM7WUFDL0MsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNmLDJGQUEyRjtZQUMzRixJQUFJLENBQUMsYUFBYSxFQUFFLDJCQUEyQixFQUFFLENBQUM7UUFDdEQsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdEMsdUJBQXVCO1lBQ3ZCLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxhQUFhLEVBQUUsNkJBQTZCLEVBQUUsQ0FBQztRQUN4RCxDQUFDO1FBRUQsSUFBSSxDQUFDLDBCQUEwQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQywyQkFBMkIsRUFBRSxDQUFDLENBQUM7SUFDbEYsQ0FBQzs4R0FyQ1EsNkJBQTZCO2tHQUE3Qiw2QkFBNkI7OzJGQUE3Qiw2QkFBNkI7a0JBSnpDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSwyQkFBMkI7aUJBQ3hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIE9uRGVzdHJveSwgT25Jbml0LCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0RpYWxvZ30gZnJvbSAncHJpbWVuZy9kaWFsb2cnO1xuaW1wb3J0IHtEaWFsb2dTZXJ2aWNlLCBEeW5hbWljRGlhbG9nQ29tcG9uZW50fSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW21uZ0RpYWxvZ0tleWRvd25IYW5kbGVyXSdcbn0pXG5leHBvcnQgY2xhc3MgRGlhbG9nS2V5ZG93bkhhbmRsZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2dTZXJ2aWNlID0gaW5qZWN0KERpYWxvZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZHluYW1pY0RpYWxvZyA9IGluamVjdChEeW5hbWljRGlhbG9nQ29tcG9uZW50LCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZyA9IGluamVjdChEaWFsb2csIHtvcHRpb25hbDogdHJ1ZX0pO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nc1dpdGhLZXlkb3duTGlzdGVuZXI6IER5bmFtaWNEaWFsb2dDb21wb25lbnRbXSA9IFtdO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaWFsb2cgJiYgIXRoaXMuZHluYW1pY0RpYWxvZykge1xuICAgICAgICAgICAgLy8gbm90IGEgZGlhbG9nLCByZXR1cm5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5kaWFsb2dDb21wb25lbnRSZWZNYXAuZm9yRWFjaCh2ID0+IHtcbiAgICAgICAgICAgIGlmICgodGhpcy5kaWFsb2cgfHwgdi5pbnN0YW5jZSAhPT0gdGhpcy5keW5hbWljRGlhbG9nKSAmJiB2Lmluc3RhbmNlLmRvY3VtZW50S2V5ZG93bkxpc3RlbmVyKSB7XG4gICAgICAgICAgICAgICAgLy8gZXhjbHVkZSBzZWxmIGR5bmFtaWMgZGlhbG9nXG4gICAgICAgICAgICAgICAgdGhpcy5kaWFsb2dzV2l0aEtleWRvd25MaXN0ZW5lci5wdXNoKHYuaW5zdGFuY2UpO1xuICAgICAgICAgICAgICAgIHYuaW5zdGFuY2UudW5iaW5kRG9jdW1lbnRLZXlkb3duTGlzdGVuZXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmRpYWxvZykge1xuICAgICAgICAgICAgLy8gaWYgZGlhbG9nIGlzIHByZXNlbnQsIHRoZW4gZG8gbm90IGJpbmQgKGJlY2F1c2UgaXQgd2lsbCBiaW5kIG9uIHVuYmluZC1lZCBkeW5hbWljIGRpYWxvZ1xuICAgICAgICAgICAgdGhpcy5keW5hbWljRGlhbG9nPy5iaW5kRG9jdW1lbnRLZXlkb3duTGlzdGVuZXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZGlhbG9nICYmICF0aGlzLmR5bmFtaWNEaWFsb2cpIHtcbiAgICAgICAgICAgIC8vIG5vdCBhIGRpYWxvZywgcmV0dXJuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuZGlhbG9nKSB7XG4gICAgICAgICAgICB0aGlzLmR5bmFtaWNEaWFsb2c/LnVuYmluZERvY3VtZW50S2V5ZG93bkxpc3RlbmVyKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRpYWxvZ3NXaXRoS2V5ZG93bkxpc3RlbmVyLmZvckVhY2goYyA9PiBjLmJpbmREb2N1bWVudEtleWRvd25MaXN0ZW5lcigpKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -11,10 +11,10 @@ export class TemplateDirective {
|
|
|
11
11
|
getViewContainerRef() {
|
|
12
12
|
return this.viewContainerRef;
|
|
13
13
|
}
|
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2
|
|
15
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: TemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
15
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.2", type: TemplateDirective, isStandalone: true, selector: "[mngTemplate]", inputs: { type: "type", name: ["mngTemplate", "name"] }, ngImport: i0 }); }
|
|
16
16
|
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: TemplateDirective, decorators: [{
|
|
18
18
|
type: Directive,
|
|
19
19
|
args: [{
|
|
20
20
|
standalone: true,
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns array of names for constants in enum.
|
|
3
|
+
* @param enumType Enum object.
|
|
4
|
+
*/
|
|
5
|
+
export function getEnumConstantNames(enumType) {
|
|
6
|
+
return getEnumConstantNamesFromObject(enumType);
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Returns array of names for constants in enum.
|
|
10
|
+
* @param enumObj Enum object.
|
|
11
|
+
*/
|
|
12
|
+
export function getEnumConstantNamesFromObject(enumObj) {
|
|
13
|
+
// in number enum, the numbers are also represented in objects and should be filtered out
|
|
14
|
+
return Object.keys(enumObj).filter(v => isNaN(+v));
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Returns array of string values for constants in enum.
|
|
18
|
+
* @param enumType Enum object.
|
|
19
|
+
*/
|
|
20
|
+
export function getEnumConstantValuesAsString(enumType) {
|
|
21
|
+
return Object.keys(enumType).map(v => enumType[v]);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Returns array of number values for constants in enum.
|
|
25
|
+
* @param enumType Enum object.
|
|
26
|
+
*/
|
|
27
|
+
export function getEnumConstantValuesAsNumber(enumType) {
|
|
28
|
+
return Object.keys(enumType)
|
|
29
|
+
.filter(v => !isNaN(+v))
|
|
30
|
+
.map(v => +v);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Returns array of type EnumValue for all constants in enum.
|
|
34
|
+
* @param enumType Enum object.
|
|
35
|
+
* @param nameAsValue If use name of constant as value (optional, default: false).
|
|
36
|
+
* @param titlePath Base path for title to use as translation (optional).
|
|
37
|
+
*/
|
|
38
|
+
export function fromEnumConstantsAsValueArray(enumType, nameAsValue = false, titlePath) {
|
|
39
|
+
return getEnumConstantNames(enumType).map(n => ({ name: n, title: `${titlePath ? `${titlePath}.` : ''}${n}`, value: nameAsValue ? n : enumType[n] }));
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Returns array of type EnumValue for provided values in enum.
|
|
43
|
+
* @param enumType Enum object.
|
|
44
|
+
* @param values Enum values (constants).
|
|
45
|
+
* @param nameAsValue If use name of constant as value (optional, default: false).
|
|
46
|
+
* @param titlePath Base path for title to use as translation (optional).
|
|
47
|
+
*/
|
|
48
|
+
export function fromEnumValuesAsValueArray(enumType, values, nameAsValue = false, titlePath) {
|
|
49
|
+
return values.map(v => {
|
|
50
|
+
const k = getEnumConstantName(enumType, v);
|
|
51
|
+
return { name: k, title: `${titlePath ? `${titlePath}.` : ''}${k}`, value: nameAsValue ? k : v };
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Gets constant name for value.
|
|
56
|
+
* @param enumType Enum object.
|
|
57
|
+
* @param value Value of enum constant.
|
|
58
|
+
*/
|
|
59
|
+
export function getEnumConstantName(enumType, value) {
|
|
60
|
+
if (typeof value === 'string') {
|
|
61
|
+
return getEnumConstantNames(enumType).find(c => enumType[c] === value) ?? null;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
return typeof enumType[value] !== 'undefined' ? enumType[value] : null;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Gets constant name for value.
|
|
69
|
+
* @param enumObj Enum object.
|
|
70
|
+
* @param value Value of enum constant.
|
|
71
|
+
*/
|
|
72
|
+
export function getEnumConstantNameFromObject(enumObj, value) {
|
|
73
|
+
const enumObjAny = enumObj;
|
|
74
|
+
if (typeof value === 'string') {
|
|
75
|
+
return getEnumConstantNamesFromObject(enumObj).find(c => enumObjAny[c] === value) ?? null;
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
return typeof enumObjAny[value] !== 'undefined' ? enumObjAny[value] : null;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9zcmMvZW51bS9lbnVtLWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFDLFFBQWtCO0lBQ25ELE9BQU8sOEJBQThCLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDcEQsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSw4QkFBOEIsQ0FBQyxPQUFlO0lBQzFELHlGQUF5RjtJQUN6RixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2RCxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLDZCQUE2QixDQUFDLFFBQWtCO0lBQzVELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBaUIsQ0FBVyxDQUFDLENBQUM7QUFDakYsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSw2QkFBNkIsQ0FBQyxRQUFrQjtJQUM1RCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1NBQ3ZCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdkIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0QixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsNkJBQTZCLENBQUMsUUFBa0IsRUFBRSxXQUFXLEdBQUcsS0FBSyxFQUFFLFNBQWtCO0lBQ3JHLE9BQU8sb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBVyxFQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQSxDQUFDLENBQUM7QUFDakssQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSwwQkFBMEIsQ0FBa0MsUUFBa0IsRUFBRSxNQUEyQixFQUFFLFdBQVcsR0FBRyxLQUFLLEVBQUUsU0FBa0I7SUFDaEssT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ2xCLE1BQU0sQ0FBQyxHQUFHLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzQyxPQUFPLEVBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBYyxDQUFDO0lBQ2hILENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQWtDLFFBQWtCLEVBQUUsS0FBbUI7SUFDeEcsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM1QixPQUFPLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDbkYsQ0FBQztTQUFNLENBQUM7UUFDSixPQUFPLE9BQU8sUUFBUSxDQUFDLEtBQXFCLENBQUMsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFFLFFBQVEsQ0FBQyxLQUFxQixDQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN2SCxDQUFDO0FBQ0wsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsNkJBQTZCLENBQWtDLE9BQWUsRUFBRSxLQUFtQjtJQUMvRyxNQUFNLFVBQVUsR0FBRyxPQUFjLENBQUM7SUFDbEMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM1QixPQUFPLDhCQUE4QixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDOUYsQ0FBQztTQUFNLENBQUM7UUFDSixPQUFPLE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUUsVUFBVSxDQUFDLEtBQUssQ0FBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDM0YsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0VudW1Db25zdGFudFR5cGUsIEVudW1UeXBlfSBmcm9tICcuLi9oZWxwZXJzL3R5cGUtaGVscGVycyc7XG5pbXBvcnQge0VudW1WYWx1ZX0gZnJvbSAnLi9lbnVtLm1vZGVsJztcblxuLyoqXG4gKiBSZXR1cm5zIGFycmF5IG9mIG5hbWVzIGZvciBjb25zdGFudHMgaW4gZW51bS5cbiAqIEBwYXJhbSBlbnVtVHlwZSBFbnVtIG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVudW1Db25zdGFudE5hbWVzKGVudW1UeXBlOiBFbnVtVHlwZSk6IEFycmF5PHN0cmluZz4ge1xuICAgIHJldHVybiBnZXRFbnVtQ29uc3RhbnROYW1lc0Zyb21PYmplY3QoZW51bVR5cGUpO1xufVxuXG4vKipcbiAqIFJldHVybnMgYXJyYXkgb2YgbmFtZXMgZm9yIGNvbnN0YW50cyBpbiBlbnVtLlxuICogQHBhcmFtIGVudW1PYmogRW51bSBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbnVtQ29uc3RhbnROYW1lc0Zyb21PYmplY3QoZW51bU9iajogb2JqZWN0KTogQXJyYXk8c3RyaW5nPiB7XG4gICAgLy8gaW4gbnVtYmVyIGVudW0sIHRoZSBudW1iZXJzIGFyZSBhbHNvIHJlcHJlc2VudGVkIGluIG9iamVjdHMgYW5kIHNob3VsZCBiZSBmaWx0ZXJlZCBvdXRcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoZW51bU9iaikuZmlsdGVyKHYgPT4gaXNOYU4oK3YpKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMgZm9yIGNvbnN0YW50cyBpbiBlbnVtLlxuICogQHBhcmFtIGVudW1UeXBlIEVudW0gb2JqZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RW51bUNvbnN0YW50VmFsdWVzQXNTdHJpbmcoZW51bVR5cGU6IEVudW1UeXBlKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGVudW1UeXBlKS5tYXAodiA9PiBlbnVtVHlwZVt2IGFzIGtleW9mIG9iamVjdF0gYXMgc3RyaW5nKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGFycmF5IG9mIG51bWJlciB2YWx1ZXMgZm9yIGNvbnN0YW50cyBpbiBlbnVtLlxuICogQHBhcmFtIGVudW1UeXBlIEVudW0gb2JqZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RW51bUNvbnN0YW50VmFsdWVzQXNOdW1iZXIoZW51bVR5cGU6IEVudW1UeXBlKTogQXJyYXk8bnVtYmVyPiB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGVudW1UeXBlKVxuICAgICAgICAuZmlsdGVyKHYgPT4gIWlzTmFOKCt2KSlcbiAgICAgICAgLm1hcCh2ID0+ICt2KTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGFycmF5IG9mIHR5cGUgRW51bVZhbHVlIGZvciBhbGwgY29uc3RhbnRzIGluIGVudW0uXG4gKiBAcGFyYW0gZW51bVR5cGUgRW51bSBvYmplY3QuXG4gKiBAcGFyYW0gbmFtZUFzVmFsdWUgSWYgdXNlIG5hbWUgb2YgY29uc3RhbnQgYXMgdmFsdWUgKG9wdGlvbmFsLCBkZWZhdWx0OiBmYWxzZSkuXG4gKiBAcGFyYW0gdGl0bGVQYXRoIEJhc2UgcGF0aCBmb3IgdGl0bGUgdG8gdXNlIGFzIHRyYW5zbGF0aW9uIChvcHRpb25hbCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmcm9tRW51bUNvbnN0YW50c0FzVmFsdWVBcnJheShlbnVtVHlwZTogRW51bVR5cGUsIG5hbWVBc1ZhbHVlID0gZmFsc2UsIHRpdGxlUGF0aD86IHN0cmluZykge1xuICAgIHJldHVybiBnZXRFbnVtQ29uc3RhbnROYW1lcyhlbnVtVHlwZSkubWFwKG4gPT4gPEVudW1WYWx1ZT57bmFtZTogbiwgdGl0bGU6IGAke3RpdGxlUGF0aCA/IGAke3RpdGxlUGF0aH0uYCA6ICcnfSR7bn1gLCB2YWx1ZTogbmFtZUFzVmFsdWUgPyBuIDogZW51bVR5cGVbbl19KTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGFycmF5IG9mIHR5cGUgRW51bVZhbHVlIGZvciBwcm92aWRlZCB2YWx1ZXMgaW4gZW51bS5cbiAqIEBwYXJhbSBlbnVtVHlwZSBFbnVtIG9iamVjdC5cbiAqIEBwYXJhbSB2YWx1ZXMgRW51bSB2YWx1ZXMgKGNvbnN0YW50cykuXG4gKiBAcGFyYW0gbmFtZUFzVmFsdWUgSWYgdXNlIG5hbWUgb2YgY29uc3RhbnQgYXMgdmFsdWUgKG9wdGlvbmFsLCBkZWZhdWx0OiBmYWxzZSkuXG4gKiBAcGFyYW0gdGl0bGVQYXRoIEJhc2UgcGF0aCBmb3IgdGl0bGUgdG8gdXNlIGFzIHRyYW5zbGF0aW9uIChvcHRpb25hbCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmcm9tRW51bVZhbHVlc0FzVmFsdWVBcnJheTxFbnVtQ29uc3RhbnQgPSBFbnVtQ29uc3RhbnRUeXBlPihlbnVtVHlwZTogRW51bVR5cGUsIHZhbHVlczogQXJyYXk8RW51bUNvbnN0YW50PiwgbmFtZUFzVmFsdWUgPSBmYWxzZSwgdGl0bGVQYXRoPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHZhbHVlcy5tYXAodiA9PiB7XG4gICAgICAgIGNvbnN0IGsgPSBnZXRFbnVtQ29uc3RhbnROYW1lKGVudW1UeXBlLCB2KTtcbiAgICAgICAgcmV0dXJuIHtuYW1lOiBrLCB0aXRsZTogYCR7dGl0bGVQYXRoID8gYCR7dGl0bGVQYXRofS5gIDogJyd9JHtrfWAsIHZhbHVlOiBuYW1lQXNWYWx1ZSA/IGsgOiB2fSBhcyBFbnVtVmFsdWU7XG4gICAgfSk7XG59XG5cbi8qKlxuICogR2V0cyBjb25zdGFudCBuYW1lIGZvciB2YWx1ZS5cbiAqIEBwYXJhbSBlbnVtVHlwZSBFbnVtIG9iamVjdC5cbiAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSBvZiBlbnVtIGNvbnN0YW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RW51bUNvbnN0YW50TmFtZTxFbnVtQ29uc3RhbnQgPSBFbnVtQ29uc3RhbnRUeXBlPihlbnVtVHlwZTogRW51bVR5cGUsIHZhbHVlOiBFbnVtQ29uc3RhbnQpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gZ2V0RW51bUNvbnN0YW50TmFtZXMoZW51bVR5cGUpLmZpbmQoYyA9PiBlbnVtVHlwZVtjXSA9PT0gdmFsdWUpID8/IG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBlbnVtVHlwZVt2YWx1ZSBhcyBrZXlvZiBvYmplY3RdICE9PSAndW5kZWZpbmVkJyA/IChlbnVtVHlwZVt2YWx1ZSBhcyBrZXlvZiBvYmplY3RdIGFzIHN0cmluZykgOiBudWxsO1xuICAgIH1cbn1cblxuLyoqXG4gKiBHZXRzIGNvbnN0YW50IG5hbWUgZm9yIHZhbHVlLlxuICogQHBhcmFtIGVudW1PYmogRW51bSBvYmplY3QuXG4gKiBAcGFyYW0gdmFsdWUgVmFsdWUgb2YgZW51bSBjb25zdGFudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVudW1Db25zdGFudE5hbWVGcm9tT2JqZWN0PEVudW1Db25zdGFudCA9IEVudW1Db25zdGFudFR5cGU+KGVudW1PYmo6IG9iamVjdCwgdmFsdWU6IEVudW1Db25zdGFudCk6IHN0cmluZyB8IG51bGwge1xuICAgIGNvbnN0IGVudW1PYmpBbnkgPSBlbnVtT2JqIGFzIGFueTtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gZ2V0RW51bUNvbnN0YW50TmFtZXNGcm9tT2JqZWN0KGVudW1PYmopLmZpbmQoYyA9PiBlbnVtT2JqQW55W2NdID09PSB2YWx1ZSkgPz8gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdHlwZW9mIGVudW1PYmpBbnlbdmFsdWVdICE9PSAndW5kZWZpbmVkJyA/IChlbnVtT2JqQW55W3ZhbHVlXSBhcyBzdHJpbmcpIDogbnVsbDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { HttpErrorResponse } from '@angular/common/http';
|
|
2
2
|
import { LoggerService } from '../log/logger.service';
|
|
3
|
+
import { getErrorLogLevel } from './error-helpers';
|
|
3
4
|
import { ACommonsErrorBase } from './error.model';
|
|
4
|
-
import { ErrorUtil } from './error.util';
|
|
5
5
|
export class CommonsErrorHandler {
|
|
6
6
|
constructor() {
|
|
7
7
|
this.logger = LoggerService.get();
|
|
@@ -9,7 +9,7 @@ export class CommonsErrorHandler {
|
|
|
9
9
|
static { this.logCategory = 'ErrorHandler'; }
|
|
10
10
|
handleError(error) {
|
|
11
11
|
if (error instanceof ACommonsErrorBase || error instanceof HttpErrorResponse) {
|
|
12
|
-
const logLevel =
|
|
12
|
+
const logLevel = getErrorLogLevel(error);
|
|
13
13
|
this.logger.log(error, logLevel);
|
|
14
14
|
}
|
|
15
15
|
else {
|
|
@@ -17,4 +17,4 @@ export class CommonsErrorHandler {
|
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvc3JjL2Vycm9yL2Vycm9yLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFHdkQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVoRCxNQUFNLE9BQU8sbUJBQW1CO0lBQWhDO1FBRXFCLFdBQU0sR0FBRyxhQUFhLENBQUMsR0FBRyxFQUFFLENBQUM7SUFVbEQsQ0FBQzthQVgyQixnQkFBVyxHQUFHLGNBQWMsQUFBakIsQ0FBa0I7SUFHckQsV0FBVyxDQUFDLEtBQVk7UUFDcEIsSUFBSSxLQUFLLFlBQVksaUJBQWlCLElBQUksS0FBSyxZQUFZLGlCQUFpQixFQUFFLENBQUM7WUFDM0UsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsMkJBQTJCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDMUQsQ0FBQztJQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0h0dHBFcnJvclJlc3BvbnNlfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0Vycm9ySGFuZGxlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSAnLi4vbG9nL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7Z2V0RXJyb3JMb2dMZXZlbH0gZnJvbSAnLi9lcnJvci1oZWxwZXJzJztcbmltcG9ydCB7QUNvbW1vbnNFcnJvckJhc2V9IGZyb20gJy4vZXJyb3IubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgQ29tbW9uc0Vycm9ySGFuZGxlciBpbXBsZW1lbnRzIEVycm9ySGFuZGxlciB7XG4gICAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgbG9nQ2F0ZWdvcnkgPSAnRXJyb3JIYW5kbGVyJztcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IExvZ2dlclNlcnZpY2UuZ2V0KCk7XG5cbiAgICBoYW5kbGVFcnJvcihlcnJvcjogRXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQUNvbW1vbnNFcnJvckJhc2UgfHwgZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgICAgICAgICAgY29uc3QgbG9nTGV2ZWwgPSBnZXRFcnJvckxvZ0xldmVsKGVycm9yKTtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmxvZyhlcnJvciwgbG9nTGV2ZWwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoJ1VuZXhwZWN0ZWQgZXJyb3Igb2NjdXJyZWQnLCBlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
import { HttpErrorResponse } from '@angular/common/http';
|
|
2
|
+
import { stringify } from '../helpers/string';
|
|
3
|
+
import { LogLevelEnum } from '../log/log.model';
|
|
4
|
+
import { ACommonsErrorBase, CommonsHttpError, CommonsInternalError } from './error.model';
|
|
5
|
+
/**
|
|
6
|
+
* Converts RxJS subscription error to CommonsError.
|
|
7
|
+
* @param error Error.
|
|
8
|
+
* @param name Optional name to write in commons error.
|
|
9
|
+
* @param details Optional details of error.
|
|
10
|
+
*/
|
|
11
|
+
export function fromSubscribeError(error, name, details) {
|
|
12
|
+
const opts = {
|
|
13
|
+
name,
|
|
14
|
+
details,
|
|
15
|
+
location: window?.location?.href
|
|
16
|
+
};
|
|
17
|
+
if (error instanceof HttpErrorResponse) {
|
|
18
|
+
return new CommonsHttpError(error.message ?? 'Http Error occurred', error, opts);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
opts.cause = error;
|
|
22
|
+
return new CommonsInternalError(error.message ?? 'Internal Error occurred', opts);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Checks if error is Http error (Angular or Commons).
|
|
27
|
+
* @param error
|
|
28
|
+
*/
|
|
29
|
+
export function isHttpErrorResponse(error) {
|
|
30
|
+
return error instanceof HttpErrorResponse || error instanceof CommonsHttpError || error?.httpError instanceof HttpErrorResponse;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Gets HttpErrorResponse from error (Angular or Commons).
|
|
34
|
+
* @param error Error.
|
|
35
|
+
*/
|
|
36
|
+
export function getHttpErrorResponse(error) {
|
|
37
|
+
if (error instanceof HttpErrorResponse) {
|
|
38
|
+
return error;
|
|
39
|
+
}
|
|
40
|
+
else if (error instanceof CommonsHttpError) {
|
|
41
|
+
return error.httpError;
|
|
42
|
+
}
|
|
43
|
+
else if (error?.httpError instanceof HttpErrorResponse) {
|
|
44
|
+
return error.httpError;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Gets HttpErrorResponse status from error (Angular or Commons).
|
|
52
|
+
* @param error Error.
|
|
53
|
+
*/
|
|
54
|
+
export function getHttpErrorResponseStatus(error) {
|
|
55
|
+
return getHttpErrorResponse(error)?.status ?? null;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Get error log level. All is error, except if error is http error with status >=400 and <500.
|
|
59
|
+
* @param error Error.
|
|
60
|
+
*/
|
|
61
|
+
export function getErrorLogLevel(error) {
|
|
62
|
+
if (isHttpErrorResponse(error)) {
|
|
63
|
+
const status = getHttpErrorResponseStatus(error);
|
|
64
|
+
if (status && status >= 400 && status < 500) {
|
|
65
|
+
return LogLevelEnum.Warning;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return LogLevelEnum.Error;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Get error name (prototype name or type from commons error if name is not provided).
|
|
72
|
+
* @param error Error.
|
|
73
|
+
*/
|
|
74
|
+
export function getErrorName(error) {
|
|
75
|
+
if (error instanceof ACommonsErrorBase) {
|
|
76
|
+
return error.name ?? error.type;
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
return error.name;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Writes http error to string with all headers and body.
|
|
84
|
+
* @param error Http response error.
|
|
85
|
+
* @param opts Options for hiding parts of error:
|
|
86
|
+
* - hideMessage Hides message of error (message include url, status and status text!).
|
|
87
|
+
* - hideHeaders Hides headers.
|
|
88
|
+
* - hideBody Hides JSON representation of body.
|
|
89
|
+
*/
|
|
90
|
+
export function httpErrorResponseToString(error, opts) {
|
|
91
|
+
let str = opts?.hideMessage ? '' : `${error.message}\n`; // message should already include url, status, etc.
|
|
92
|
+
if (!opts?.hideHeaders) {
|
|
93
|
+
str += `Http Response Headers: ${error.headers.keys().reduce((acc, key) => `${acc}[${key}: ${error.headers.get(key)}]`, '')}`;
|
|
94
|
+
}
|
|
95
|
+
if (!opts?.hideBody) {
|
|
96
|
+
str += `\nHttp Response Body: ${stringify(error.error)}`;
|
|
97
|
+
}
|
|
98
|
+
return str;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Error to string.
|
|
102
|
+
* @param error Error.
|
|
103
|
+
* @param opts Options for hiding parts of error:
|
|
104
|
+
* - hideMessage Hides message of error.
|
|
105
|
+
* - hideName Hides error name.
|
|
106
|
+
* - hideCause Hides cause of an error (if present, see @link(errorCauseToString) for other options).
|
|
107
|
+
* - hideStack Hides stack of an error (if present).
|
|
108
|
+
* - hideDetails Hides JSON detail's representation of error (if present).
|
|
109
|
+
* - hideLocation Hides location (URL) where error was thrown.
|
|
110
|
+
* - hideHttp Hides http error portion of error if http error response (see @link(httpErrorResponseToString) for other options).
|
|
111
|
+
*/
|
|
112
|
+
export function errorToString(error, opts) {
|
|
113
|
+
if (error instanceof ACommonsErrorBase) {
|
|
114
|
+
return commonsErrorToString(error, opts);
|
|
115
|
+
}
|
|
116
|
+
else if (error instanceof HttpErrorResponse) {
|
|
117
|
+
return httpErrorResponseToString(error, opts);
|
|
118
|
+
}
|
|
119
|
+
const strBlocks = [];
|
|
120
|
+
if (!opts?.hideMessage) {
|
|
121
|
+
strBlocks.push(error.message);
|
|
122
|
+
}
|
|
123
|
+
if (error.name) {
|
|
124
|
+
strBlocks.push(`Error name: ${error.name}`);
|
|
125
|
+
}
|
|
126
|
+
if (!opts?.hideCause) {
|
|
127
|
+
strBlocks.push(errorCauseToString(error, opts));
|
|
128
|
+
}
|
|
129
|
+
if (!opts?.hideStack && error.stack) {
|
|
130
|
+
strBlocks.push(`Stack trace:\n${error.stack}`);
|
|
131
|
+
}
|
|
132
|
+
return strBlocks.filter(s => s.trim().length > 0).join('\n');
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Commons error to string.
|
|
136
|
+
* @param error Commons error.
|
|
137
|
+
* @param opts Options for hiding parts of error:
|
|
138
|
+
* - hideMessage Hides message of error.
|
|
139
|
+
* - hideName Hides error name.
|
|
140
|
+
* - hideCause Hides cause of an error (if present, see @link(errorCauseToString) for other options).
|
|
141
|
+
* - hideStack Hides stack of an error (if present).
|
|
142
|
+
* - hideDetails Hides JSON detail's representation of error (if present).
|
|
143
|
+
* - hideLocation Hides location (URL) where error was thrown.
|
|
144
|
+
* - hideHttp Hides http error portion of error if http error response (see @link(httpErrorResponseToString) for other options).
|
|
145
|
+
* - hideItems Hides all item information (http body, action context data).
|
|
146
|
+
* - hideActionData See @link(commonsActionErrorContextToString) for additional info.
|
|
147
|
+
* - hideQueryParams See @link(commonsActionErrorContextToString) for additional info.
|
|
148
|
+
*/
|
|
149
|
+
export function commonsErrorToString(error, opts) {
|
|
150
|
+
const strBlocks = [];
|
|
151
|
+
if (!opts?.hideMessage) {
|
|
152
|
+
strBlocks.push(`${error.message}${error.messageCode ? ` (code: ${error.messageCode})` : ''}`);
|
|
153
|
+
}
|
|
154
|
+
if (!opts?.hideName) {
|
|
155
|
+
strBlocks.push(`Error name: ${error.name ?? error.type} ${error.name ? `(${error.type})` : ''}`);
|
|
156
|
+
}
|
|
157
|
+
if (!opts?.hideLocation && error.location) {
|
|
158
|
+
strBlocks.push(`Location: ${error.location}`);
|
|
159
|
+
}
|
|
160
|
+
let isHttp = false;
|
|
161
|
+
if (!opts?.hideHttp && error instanceof CommonsHttpError) {
|
|
162
|
+
strBlocks.push(httpErrorResponseToString(error.httpError, {
|
|
163
|
+
hideBody: opts?.hideItems || opts?.hideBody,
|
|
164
|
+
hideHeaders: opts?.hideHeaders,
|
|
165
|
+
hideMessage: error.message.indexOf(error.httpError.message) >= 0
|
|
166
|
+
}));
|
|
167
|
+
isHttp = true;
|
|
168
|
+
}
|
|
169
|
+
if (error.type === 'CommonsActionError') {
|
|
170
|
+
const actionError = error;
|
|
171
|
+
if (actionError.actionContext) {
|
|
172
|
+
strBlocks.push(commonsActionErrorContextToString(actionError, opts));
|
|
173
|
+
}
|
|
174
|
+
if (!opts?.hideHttp && actionError.httpError instanceof HttpErrorResponse) {
|
|
175
|
+
strBlocks.push(httpErrorResponseToString(actionError.httpError, {
|
|
176
|
+
hideBody: opts?.hideItems || opts?.hideBody,
|
|
177
|
+
hideHeaders: opts?.hideHeaders,
|
|
178
|
+
hideMessage: error.message.indexOf(actionError.httpError.message) >= 0
|
|
179
|
+
}));
|
|
180
|
+
isHttp = true;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
if (!opts?.hideDetails && error.details) {
|
|
184
|
+
strBlocks.push(`Details: ${stringify(error.details)}`);
|
|
185
|
+
}
|
|
186
|
+
if (!opts?.hideCause && (!isHttp || !(error.cause instanceof HttpErrorResponse))) {
|
|
187
|
+
strBlocks.push(errorCauseToString(error, opts));
|
|
188
|
+
}
|
|
189
|
+
if (!opts?.hideStack && error.stack) {
|
|
190
|
+
strBlocks.push(`Stack trace:\n${error.stack}`);
|
|
191
|
+
}
|
|
192
|
+
return strBlocks.filter(s => s.trim().length > 0).join('\n');
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Writes commons action error info from context as string.
|
|
196
|
+
* @param error Commons action error.
|
|
197
|
+
* @param opts Options for hiding parts of error:
|
|
198
|
+
* - hideItems Hides all item related information (item, form item, submit item, ...).
|
|
199
|
+
* - hideActionData Hides action data.
|
|
200
|
+
* - hideQueryParams Hides query params.
|
|
201
|
+
*/
|
|
202
|
+
export function commonsActionErrorContextToString(error, opts) {
|
|
203
|
+
let paramsMessage = '';
|
|
204
|
+
if (error.actionContext?.parameters) {
|
|
205
|
+
if (error.actionContext?.parameters.itemId) {
|
|
206
|
+
paramsMessage += `[itemId: ${error.actionContext.parameters.itemId}]`;
|
|
207
|
+
}
|
|
208
|
+
if (!opts?.hideItems && error.actionContext?.parameters.item) {
|
|
209
|
+
paramsMessage += `[item: ${stringify(error.actionContext.parameters.item)}]`;
|
|
210
|
+
}
|
|
211
|
+
if (!opts?.hideActionData && error.actionContext?.parameters.actionData) {
|
|
212
|
+
paramsMessage += Object.entries(error.actionContext?.parameters.actionData).reduce((acc, [key, value]) => `${acc}[actionData ${key}: ${stringify(value)}]`, '');
|
|
213
|
+
}
|
|
214
|
+
if (!opts?.hideQueryParams && error.actionContext?.parameters.dataListParams) {
|
|
215
|
+
paramsMessage += `[dataListParams: ${stringify(error.actionContext.parameters.dataListParams)}]`;
|
|
216
|
+
}
|
|
217
|
+
if (!opts?.hideItems && error.actionContext?.parameters.formItem) {
|
|
218
|
+
paramsMessage += `[formItem: ${stringify(error.actionContext.parameters.formItem)}]`;
|
|
219
|
+
}
|
|
220
|
+
if (!opts?.hideItems && error.actionContext?.parameters.submitResult) {
|
|
221
|
+
paramsMessage += `[formItem: ${stringify(error.actionContext.parameters.submitResult)}]`;
|
|
222
|
+
}
|
|
223
|
+
if (error.actionContext?.parameters.locale) {
|
|
224
|
+
paramsMessage += `[locale: ${stringify(error.actionContext.parameters.locale)}]`;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
return paramsMessage;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Writes cause of an error as string.
|
|
231
|
+
* @param error Error.
|
|
232
|
+
* @param opts Options for hiding parts of error:
|
|
233
|
+
* - causeOnErrorOnly Prints only if cause is instance of error.
|
|
234
|
+
* - causeAsJson Print error cause as a JSON (by default, if error only message and name will be printed).
|
|
235
|
+
*/
|
|
236
|
+
export function errorCauseToString(error, opts) {
|
|
237
|
+
// if already logged as http error, check that cause is not also http error (cause it is usually duplicated)
|
|
238
|
+
if (error.cause && (!opts?.causeOnErrorOnly || error.cause instanceof Error)) {
|
|
239
|
+
const needsStringify = opts?.causeAsJson || !(error.cause instanceof Error);
|
|
240
|
+
if (!opts?.causeOnErrorOnly || error.cause instanceof Error) {
|
|
241
|
+
return ('Caused by: ' +
|
|
242
|
+
(needsStringify ? stringify(error.cause) : `${error.cause.message}${error.cause.name ? ` (${error.cause.name})` : ''}`));
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
return '';
|
|
246
|
+
}
|
|
247
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvc3JjL2Vycm9yL2Vycm9yLWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFdkQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUMsaUJBQWlCLEVBQTJCLGdCQUFnQixFQUFFLG9CQUFvQixFQUFzQixNQUFNLGVBQWUsQ0FBQztBQUV0STs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxLQUFVLEVBQUUsSUFBYSxFQUFFLE9BQWE7SUFDdkUsTUFBTSxJQUFJLEdBQTRCO1FBQ2xDLElBQUk7UUFDSixPQUFPO1FBQ1AsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSTtLQUNuQyxDQUFDO0lBRUYsSUFBSSxLQUFLLFlBQVksaUJBQWlCLEVBQUUsQ0FBQztRQUNyQyxPQUFPLElBQUksZ0JBQWdCLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxxQkFBcUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckYsQ0FBQztTQUFNLENBQUM7UUFDSixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixPQUFPLElBQUksb0JBQW9CLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSx5QkFBeUIsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN0RixDQUFDO0FBQ0wsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxLQUFVO0lBQzFDLE9BQU8sS0FBSyxZQUFZLGlCQUFpQixJQUFJLEtBQUssWUFBWSxnQkFBZ0IsSUFBSyxLQUF5QyxFQUFFLFNBQVMsWUFBWSxpQkFBaUIsQ0FB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QztRQUM1RSxJQUFJLENBQUMsSUFBSSxFQUFFLGdCQUFnQixJQUFJLEtBQUssQ0FBQyxLQUFLLFlBQVksS0FBSyxFQUFFLENBQUM7WUFDMUQsT0FBTyxDQUNILGFBQWE7Z0JBQ2IsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUksS0FBSyxDQUFDLEtBQWUsQ0FBQyxPQUFPLEdBQUksS0FBSyxDQUFDLEtBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQU0sS0FBSyxDQUFDLEtBQWUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FDM0osQ0FBQztRQUNOLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxFQUFFLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIdHRwRXJyb3JSZXNwb25zZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQge3N0cmluZ2lmeX0gZnJvbSAnLi4vaGVscGVycy9zdHJpbmcnO1xuaW1wb3J0IHtMb2dMZXZlbEVudW19IGZyb20gJy4uL2xvZy9sb2cubW9kZWwnO1xuaW1wb3J0IHtBQ29tbW9uc0Vycm9yQmFzZSwgQ29tbW9uc0Vycm9yQmFzZU9wdGlvbnMsIENvbW1vbnNIdHRwRXJyb3IsIENvbW1vbnNJbnRlcm5hbEVycm9yLCBJQ29tbW9uc0FjdGlvbkVycm9yfSBmcm9tICcuL2Vycm9yLm1vZGVsJztcblxuLyoqXG4gKiBDb252ZXJ0cyBSeEpTIHN1YnNjcmlwdGlvbiBlcnJvciB0byBDb21tb25zRXJyb3IuXG4gKiBAcGFyYW0gZXJyb3IgRXJyb3IuXG4gKiBAcGFyYW0gbmFtZSBPcHRpb25hbCBuYW1lIHRvIHdyaXRlIGluIGNvbW1vbnMgZXJyb3IuXG4gKiBAcGFyYW0gZGV0YWlscyBPcHRpb25hbCBkZXRhaWxzIG9mIGVycm9yLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZnJvbVN1YnNjcmliZUVycm9yKGVycm9yOiBhbnksIG5hbWU/OiBzdHJpbmcsIGRldGFpbHM/OiBhbnkpOiBBQ29tbW9uc0Vycm9yQmFzZSB7XG4gICAgY29uc3Qgb3B0czogQ29tbW9uc0Vycm9yQmFzZU9wdGlvbnMgPSB7XG4gICAgICAgIG5hbWUsXG4gICAgICAgIGRldGFpbHMsXG4gICAgICAgIGxvY2F0aW9uOiB3aW5kb3c/LmxvY2F0aW9uPy5ocmVmXG4gICAgfTtcblxuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgIHJldHVybiBuZXcgQ29tbW9uc0h0dHBFcnJvcihlcnJvci5tZXNzYWdlID8/ICdIdHRwIEVycm9yIG9jY3VycmVkJywgZXJyb3IsIG9wdHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIG9wdHMuY2F1c2UgPSBlcnJvcjtcbiAgICAgICAgcmV0dXJuIG5ldyBDb21tb25zSW50ZXJuYWxFcnJvcihlcnJvci5tZXNzYWdlID8/ICdJbnRlcm5hbCBFcnJvciBvY2N1cnJlZCcsIG9wdHMpO1xuICAgIH1cbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgZXJyb3IgaXMgSHR0cCBlcnJvciAoQW5ndWxhciBvciBDb21tb25zKS5cbiAqIEBwYXJhbSBlcnJvclxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNIdHRwRXJyb3JSZXNwb25zZShlcnJvcjogYW55KSB7XG4gICAgcmV0dXJuIGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UgfHwgZXJyb3IgaW5zdGFuY2VvZiBDb21tb25zSHR0cEVycm9yIHx8IChlcnJvciBhcyBJQ29tbW9uc0FjdGlvbkVycm9yIHwgdW5kZWZpbmVkKT8uaHR0cEVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2U7XG59XG5cbi8qKlxuICogR2V0cyBIdHRwRXJyb3JSZXNwb25zZSBmcm9tIGVycm9yIChBbmd1bGFyIG9yIENvbW1vbnMpLlxuICogQHBhcmFtIGVycm9yIEVycm9yLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0SHR0cEVycm9yUmVzcG9uc2UoZXJyb3I6IGFueSk6IEh0dHBFcnJvclJlc3BvbnNlIHwgbnVsbCB7XG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgIH0gZWxzZSBpZiAoZXJyb3IgaW5zdGFuY2VvZiBDb21tb25zSHR0cEVycm9yKSB7XG4gICAgICAgIHJldHVybiBlcnJvci5odHRwRXJyb3I7XG4gICAgfSBlbHNlIGlmICgoZXJyb3IgYXMgSUNvbW1vbnNBY3Rpb25FcnJvciB8IHVuZGVmaW5lZCk/Lmh0dHBFcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgIHJldHVybiBlcnJvci5odHRwRXJyb3I7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuXG4vKipcbiAqIEdldHMgSHR0cEVycm9yUmVzcG9uc2Ugc3RhdHVzIGZyb20gZXJyb3IgKEFuZ3VsYXIgb3IgQ29tbW9ucykuXG4gKiBAcGFyYW0gZXJyb3IgRXJyb3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRIdHRwRXJyb3JSZXNwb25zZVN0YXR1cyhlcnJvcjogYW55KTogbnVtYmVyIHwgbnVsbCB7XG4gICAgcmV0dXJuIGdldEh0dHBFcnJvclJlc3BvbnNlKGVycm9yKT8uc3RhdHVzID8/IG51bGw7XG59XG5cbi8qKlxuICogR2V0IGVycm9yIGxvZyBsZXZlbC4gQWxsIGlzIGVycm9yLCBleGNlcHQgaWYgZXJyb3IgaXMgaHR0cCBlcnJvciB3aXRoIHN0YXR1cyA+PTQwMCBhbmQgPDUwMC5cbiAqIEBwYXJhbSBlcnJvciBFcnJvci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVycm9yTG9nTGV2ZWwoZXJyb3I6IGFueSk6IExvZ0xldmVsRW51bSB7XG4gICAgaWYgKGlzSHR0cEVycm9yUmVzcG9uc2UoZXJyb3IpKSB7XG4gICAgICAgIGNvbnN0IHN0YXR1cyA9IGdldEh0dHBFcnJvclJlc3BvbnNlU3RhdHVzKGVycm9yKTtcbiAgICAgICAgaWYgKHN0YXR1cyAmJiBzdGF0dXMgPj0gNDAwICYmIHN0YXR1cyA8IDUwMCkge1xuICAgICAgICAgICAgcmV0dXJuIExvZ0xldmVsRW51bS5XYXJuaW5nO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBMb2dMZXZlbEVudW0uRXJyb3I7XG59XG5cbi8qKlxuICogR2V0IGVycm9yIG5hbWUgKHByb3RvdHlwZSBuYW1lIG9yIHR5cGUgZnJvbSBjb21tb25zIGVycm9yIGlmIG5hbWUgaXMgbm90IHByb3ZpZGVkKS5cbiAqIEBwYXJhbSBlcnJvciBFcnJvci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVycm9yTmFtZShlcnJvcjogYW55KTogc3RyaW5nIHtcbiAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBQ29tbW9uc0Vycm9yQmFzZSkge1xuICAgICAgICByZXR1cm4gZXJyb3IubmFtZSA/PyBlcnJvci50eXBlO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBlcnJvci5uYW1lO1xuICAgIH1cbn1cblxuLyoqXG4gKiBXcml0ZXMgaHR0cCBlcnJvciB0byBzdHJpbmcgd2l0aCBhbGwgaGVhZGVycyBhbmQgYm9keS5cbiAqIEBwYXJhbSBlcnJvciBIdHRwIHJlc3BvbnNlIGVycm9yLlxuICogQHBhcmFtIG9wdHMgT3B0aW9ucyBmb3IgaGlkaW5nIHBhcnRzIG9mIGVycm9yOlxuICogIC0gaGlkZU1lc3NhZ2UgSGlkZXMgbWVzc2FnZSBvZiBlcnJvciAobWVzc2FnZSBpbmNsdWRlIHVybCwgc3RhdHVzIGFuZCBzdGF0dXMgdGV4dCEpLlxuICogIC0gaGlkZUhlYWRlcnMgSGlkZXMgaGVhZGVycy5cbiAqICAtIGhpZGVCb2R5IEhpZGVzIEpTT04gcmVwcmVzZW50YXRpb24gb2YgYm9keS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGh0dHBFcnJvclJlc3BvbnNlVG9TdHJpbmcoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlLCBvcHRzPzogSHR0cEVycm9yUmVzcG9uc2VUb1N0cmluZ09wdGlvbnNUeXBlKTogc3RyaW5nIHtcbiAgICBsZXQgc3RyID0gb3B0cz8uaGlkZU1lc3NhZ2UgPyAnJyA6IGAke2Vycm9yLm1lc3NhZ2V9XFxuYDsgLy8gbWVzc2FnZSBzaG91bGQgYWxyZWFkeSBpbmNsdWRlIHVybCwgc3RhdHVzLCBldGMuXG4gICAgaWYgKCFvcHRzPy5oaWRlSGVhZGVycykge1xuICAgICAgICBzdHIgKz0gYEh0dHAgUmVzcG9uc2UgSGVhZGVyczogJHtlcnJvci5oZWFkZXJzLmtleXMoKS5yZWR1Y2UoKGFjYywga2V5KSA9PiBgJHthY2N9WyR7a2V5fTogJHtlcnJvci5oZWFkZXJzLmdldChrZXkpfV1gLCAnJyl9YDtcbiAgICB9XG4gICAgaWYgKCFvcHRzPy5oaWRlQm9keSkge1xuICAgICAgICBzdHIgKz0gYFxcbkh0dHAgUmVzcG9uc2UgQm9keTogJHtzdHJpbmdpZnkoZXJyb3IuZXJyb3IpfWA7XG4gICAgfVxuICAgIHJldHVybiBzdHI7XG59XG5cbi8qKlxuICogRXJyb3IgdG8gc3RyaW5nLlxuICogQHBhcmFtIGVycm9yIEVycm9yLlxuICogQHBhcmFtIG9wdHMgT3B0aW9ucyBmb3IgaGlkaW5nIHBhcnRzIG9mIGVycm9yOlxuICogLSBoaWRlTWVzc2FnZSBIaWRlcyBtZXNzYWdlIG9mIGVycm9yLlxuICogLSBoaWRlTmFtZSBIaWRlcyBlcnJvciBuYW1lLlxuICogLSBoaWRlQ2F1c2UgSGlkZXMgY2F1c2Ugb2YgYW4gZXJyb3IgKGlmIHByZXNlbnQsIHNlZSBAbGluayhlcnJvckNhdXNlVG9TdHJpbmcpIGZvciBvdGhlciBvcHRpb25zKS5cbiAqIC0gaGlkZVN0YWNrIEhpZGVzIHN0YWNrIG9mIGFuIGVycm9yIChpZiBwcmVzZW50KS5cbiAqIC0gaGlkZURldGFpbHMgSGlkZXMgSlNPTiBkZXRhaWwncyByZXByZXNlbnRhdGlvbiBvZiBlcnJvciAoaWYgcHJlc2VudCkuXG4gKiAtIGhpZGVMb2NhdGlvbiBIaWRlcyBsb2NhdGlvbiAoVVJMKSB3aGVyZSBlcnJvciB3YXMgdGhyb3duLlxuICogLSBoaWRlSHR0cCBIaWRlcyBodHRwIGVycm9yIHBvcnRpb24gb2YgZXJyb3IgaWYgaHR0cCBlcnJvciByZXNwb25zZSAoc2VlIEBsaW5rKGh0dHBFcnJvclJlc3BvbnNlVG9TdHJpbmcpIGZvciBvdGhlciBvcHRpb25zKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVycm9yVG9TdHJpbmcoZXJyb3I6IEVycm9yLCBvcHRzPzogRXJyb3JUb1N0cmluZ09wdGlvbnNUeXBlKTogc3RyaW5nIHtcbiAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBQ29tbW9uc0Vycm9yQmFzZSkge1xuICAgICAgICByZXR1cm4gY29tbW9uc0Vycm9yVG9TdHJpbmcoZXJyb3IsIG9wdHMpO1xuICAgIH0gZWxzZSBpZiAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgICAgICByZXR1cm4gaHR0cEVycm9yUmVzcG9uc2VUb1N0cmluZyhlcnJvciwgb3B0cyk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RyQmxvY2tzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGlmICghb3B0cz8uaGlkZU1lc3NhZ2UpIHtcbiAgICAgICAgc3RyQmxvY2tzLnB1c2goZXJyb3IubWVzc2FnZSk7XG4gICAgfVxuICAgIGlmIChlcnJvci5uYW1lKSB7XG4gICAgICAgIHN0ckJsb2Nrcy5wdXNoKGBFcnJvciBuYW1lOiAke2Vycm9yLm5hbWV9YCk7XG4gICAgfVxuICAgIGlmICghb3B0cz8uaGlkZUNhdXNlKSB7XG4gICAgICAgIHN0ckJsb2Nrcy5wdXNoKGVycm9yQ2F1c2VUb1N0cmluZyhlcnJvciwgb3B0cykpO1xuICAgIH1cbiAgICBpZiAoIW9wdHM/LmhpZGVTdGFjayAmJiBlcnJvci5zdGFjaykge1xuICAgICAgICBzdHJCbG9ja3MucHVzaChgU3RhY2sgdHJhY2U6XFxuJHtlcnJvci5zdGFja31gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RyQmxvY2tzLmZpbHRlcihzID0+IHMudHJpbSgpLmxlbmd0aCA+IDApLmpvaW4oJ1xcbicpO1xufVxuXG4vKipcbiAqIENvbW1vbnMgZXJyb3IgdG8gc3RyaW5nLlxuICogQHBhcmFtIGVycm9yIENvbW1vbnMgZXJyb3IuXG4gKiBAcGFyYW0gb3B0cyBPcHRpb25zIGZvciBoaWRpbmcgcGFydHMgb2YgZXJyb3I6XG4gKiAtIGhpZGVNZXNzYWdlIEhpZGVzIG1lc3NhZ2Ugb2YgZXJyb3IuXG4gKiAtIGhpZGVOYW1lIEhpZGVzIGVycm9yIG5hbWUuXG4gKiAtIGhpZGVDYXVzZSBIaWRlcyBjYXVzZSBvZiBhbiBlcnJvciAoaWYgcHJlc2VudCwgc2VlIEBsaW5rKGVycm9yQ2F1c2VUb1N0cmluZykgZm9yIG90aGVyIG9wdGlvbnMpLlxuICogLSBoaWRlU3RhY2sgSGlkZXMgc3RhY2sgb2YgYW4gZXJyb3IgKGlmIHByZXNlbnQpLlxuICogLSBoaWRlRGV0YWlscyBIaWRlcyBKU09OIGRldGFpbCdzIHJlcHJlc2VudGF0aW9uIG9mIGVycm9yIChpZiBwcmVzZW50KS5cbiAqIC0gaGlkZUxvY2F0aW9uIEhpZGVzIGxvY2F0aW9uIChVUkwpIHdoZXJlIGVycm9yIHdhcyB0aHJvd24uXG4gKiAtIGhpZGVIdHRwIEhpZGVzIGh0dHAgZXJyb3IgcG9ydGlvbiBvZiBlcnJvciBpZiBodHRwIGVycm9yIHJlc3BvbnNlIChzZWUgQGxpbmsoaHR0cEVycm9yUmVzcG9uc2VUb1N0cmluZykgZm9yIG90aGVyIG9wdGlvbnMpLlxuICogLSBoaWRlSXRlbXMgSGlkZXMgYWxsIGl0ZW0gaW5mb3JtYXRpb24gKGh0dHAgYm9keSwgYWN0aW9uIGNvbnRleHQgZGF0YSkuXG4gKiAtIGhpZGVBY3Rpb25EYXRhIFNlZSBAbGluayhjb21tb25zQWN0aW9uRXJyb3JDb250ZXh0VG9TdHJpbmcpIGZvciBhZGRpdGlvbmFsIGluZm8uXG4gKiAtIGhpZGVRdWVyeVBhcmFtcyBTZWUgQGxpbmsoY29tbW9uc0FjdGlvbkVycm9yQ29udGV4dFRvU3RyaW5nKSBmb3IgYWRkaXRpb25hbCBpbmZvLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tbW9uc0Vycm9yVG9TdHJpbmcoZXJyb3I6IEFDb21tb25zRXJyb3JCYXNlLCBvcHRzPzogRXJyb3JUb1N0cmluZ09wdGlvbnNUeXBlKTogc3RyaW5nIHtcbiAgICBjb25zdCBzdHJCbG9ja3M6IHN0cmluZ1tdID0gW107XG4gICAgaWYgKCFvcHRzPy5oaWRlTWVzc2FnZSkge1xuICAgICAgICBzdHJCbG9ja3MucHVzaChgJHtlcnJvci5tZXNzYWdlfSR7ZXJyb3IubWVzc2FnZUNvZGUgPyBgIChjb2RlOiAke2Vycm9yLm1lc3NhZ2VDb2RlfSlgIDogJyd9YCk7XG4gICAgfVxuICAgIGlmICghb3B0cz8uaGlkZU5hbWUpIHtcbiAgICAgICAgc3RyQmxvY2tzLnB1c2goYEVycm9yIG5hbWU6ICR7ZXJyb3IubmFtZSA/PyBlcnJvci50eXBlfSAke2Vycm9yLm5hbWUgPyBgKCR7ZXJyb3IudHlwZX0pYCA6ICcnfWApO1xuICAgIH1cbiAgICBpZiAoIW9wdHM/LmhpZGVMb2NhdGlvbiAmJiBlcnJvci5sb2NhdGlvbikge1xuICAgICAgICBzdHJCbG9ja3MucHVzaChgTG9jYXRpb246ICR7ZXJyb3IubG9jYXRpb259YCk7XG4gICAgfVxuXG4gICAgbGV0IGlzSHR0cCA9IGZhbHNlO1xuICAgIGlmICghb3B0cz8uaGlkZUh0dHAgJiYgZXJyb3IgaW5zdGFuY2VvZiBDb21tb25zSHR0cEVycm9yKSB7XG4gICAgICAgIHN0ckJsb2Nrcy5wdXNoKFxuICAgICAgICAgICAgaHR0cEVycm9yUmVzcG9uc2VUb1N0cmluZyhlcnJvci5odHRwRXJyb3IsIHtcbiAgICAgICAgICAgICAgICBoaWRlQm9keTogb3B0cz8uaGlkZUl0ZW1zIHx8IG9wdHM/LmhpZGVCb2R5LFxuICAgICAgICAgICAgICAgIGhpZGVIZWFkZXJzOiBvcHRzPy5oaWRlSGVhZGVycyxcbiAgICAgICAgICAgICAgICBoaWRlTWVzc2FnZTogZXJyb3IubWVzc2FnZS5pbmRleE9mKGVycm9yLmh0dHBFcnJvci5tZXNzYWdlKSA+PSAwXG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgICBpc0h0dHAgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAoZXJyb3IudHlwZSA9PT0gJ0NvbW1vbnNBY3Rpb25FcnJvcicpIHtcbiAgICAgICAgY29uc3QgYWN0aW9uRXJyb3IgPSBlcnJvciBhcyB1bmtub3duIGFzIElDb21tb25zQWN0aW9uRXJyb3I7XG4gICAgICAgIGlmIChhY3Rpb25FcnJvci5hY3Rpb25Db250ZXh0KSB7XG4gICAgICAgICAgICBzdHJCbG9ja3MucHVzaChjb21tb25zQWN0aW9uRXJyb3JDb250ZXh0VG9TdHJpbmcoYWN0aW9uRXJyb3IsIG9wdHMpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIW9wdHM/LmhpZGVIdHRwICYmIGFjdGlvbkVycm9yLmh0dHBFcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgICAgICBzdHJCbG9ja3MucHVzaChcbiAgICAgICAgICAgICAgICBodHRwRXJyb3JSZXNwb25zZVRvU3RyaW5nKGFjdGlvbkVycm9yLmh0dHBFcnJvciwge1xuICAgICAgICAgICAgICAgICAgICBoaWRlQm9keTogb3B0cz8uaGlkZUl0ZW1zIHx8IG9wdHM/LmhpZGVCb2R5LFxuICAgICAgICAgICAgICAgICAgICBoaWRlSGVhZGVyczogb3B0cz8uaGlkZUhlYWRlcnMsXG4gICAgICAgICAgICAgICAgICAgIGhpZGVNZXNzYWdlOiBlcnJvci5tZXNzYWdlLmluZGV4T2YoYWN0aW9uRXJyb3IuaHR0cEVycm9yLm1lc3NhZ2UpID49IDBcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlzSHR0cCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIW9wdHM/LmhpZGVEZXRhaWxzICYmIGVycm9yLmRldGFpbHMpIHtcbiAgICAgICAgc3RyQmxvY2tzLnB1c2goYERldGFpbHM6ICR7c3RyaW5naWZ5KGVycm9yLmRldGFpbHMpfWApO1xuICAgIH1cbiAgICBpZiAoIW9wdHM/LmhpZGVDYXVzZSAmJiAoIWlzSHR0cCB8fCAhKGVycm9yLmNhdXNlIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpKSkge1xuICAgICAgICBzdHJCbG9ja3MucHVzaChlcnJvckNhdXNlVG9TdHJpbmcoZXJyb3IsIG9wdHMpKTtcbiAgICB9XG4gICAgaWYgKCFvcHRzPy5oaWRlU3RhY2sgJiYgZXJyb3Iuc3RhY2spIHtcbiAgICAgICAgc3RyQmxvY2tzLnB1c2goYFN0YWNrIHRyYWNlOlxcbiR7ZXJyb3Iuc3RhY2t9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0ckJsb2Nrcy5maWx0ZXIocyA9PiBzLnRyaW0oKS5sZW5ndGggPiAwKS5qb2luKCdcXG4nKTtcbn1cblxuLyoqXG4gKiBXcml0ZXMgY29tbW9ucyBhY3Rpb24gZXJyb3IgaW5mbyBmcm9tIGNvbnRleHQgYXMgc3RyaW5nLlxuICogQHBhcmFtIGVycm9yIENvbW1vbnMgYWN0aW9uIGVycm9yLlxuICogQHBhcmFtIG9wdHMgT3B0aW9ucyBmb3IgaGlkaW5nIHBhcnRzIG9mIGVycm9yOlxuICogLSBoaWRlSXRlbXMgSGlkZXMgYWxsIGl0ZW0gcmVsYXRlZCBpbmZvcm1hdGlvbiAoaXRlbSwgZm9ybSBpdGVtLCBzdWJtaXQgaXRlbSwgLi4uKS5cbiAqIC0gaGlkZUFjdGlvbkRhdGEgSGlkZXMgYWN0aW9uIGRhdGEuXG4gKiAtIGhpZGVRdWVyeVBhcmFtcyBIaWRlcyBxdWVyeSBwYXJhbXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21tb25zQWN0aW9uRXJyb3JDb250ZXh0VG9TdHJpbmcoZXJyb3I6IElDb21tb25zQWN0aW9uRXJyb3IsIG9wdHM/OiBBY3Rpb25FcnJvckNvbnRleHRUb1N0cmluZ09wdGlvbnNUeXBlKTogc3RyaW5nIHtcbiAgICBsZXQgcGFyYW1zTWVzc2FnZSA9ICcnO1xuICAgIGlmIChlcnJvci5hY3Rpb25Db250ZXh0Py5wYXJhbWV0ZXJzKSB7XG4gICAgICAgIGlmIChlcnJvci5hY3Rpb25Db250ZXh0Py5wYXJhbWV0ZXJzLml0ZW1JZCkge1xuICAgICAgICAgICAgcGFyYW1zTWVzc2FnZSArPSBgW2l0ZW1JZDogJHtlcnJvci5hY3Rpb25Db250ZXh0LnBhcmFtZXRlcnMuaXRlbUlkfV1gO1xuICAgICAgICB9XG4gICAgICAgIGlmICghb3B0cz8uaGlkZUl0ZW1zICYmIGVycm9yLmFjdGlvbkNvbnRleHQ/LnBhcmFtZXRlcnMuaXRlbSkge1xuICAgICAgICAgICAgcGFyYW1zTWVzc2FnZSArPSBgW2l0ZW06ICR7c3RyaW5naWZ5KGVycm9yLmFjdGlvbkNvbnRleHQucGFyYW1ldGVycy5pdGVtKX1dYDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIW9wdHM/LmhpZGVBY3Rpb25EYXRhICYmIGVycm9yLmFjdGlvbkNvbnRleHQ/LnBhcmFtZXRlcnMuYWN0aW9uRGF0YSkge1xuICAgICAgICAgICAgcGFyYW1zTWVzc2FnZSArPSBPYmplY3QuZW50cmllcyhlcnJvci5hY3Rpb25Db250ZXh0Py5wYXJhbWV0ZXJzLmFjdGlvbkRhdGEpLnJlZHVjZSgoYWNjLCBba2V5LCB2YWx1ZV0pID0+IGAke2FjY31bYWN0aW9uRGF0YSAke2tleX06ICR7c3RyaW5naWZ5KHZhbHVlKX1dYCwgJycpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghb3B0cz8uaGlkZVF1ZXJ5UGFyYW1zICYmIGVycm9yLmFjdGlvbkNvbnRleHQ/LnBhcmFtZXRlcnMuZGF0YUxpc3RQYXJhbXMpIHtcbiAgICAgICAgICAgIHBhcmFtc01lc3NhZ2UgKz0gYFtkYXRhTGlzdFBhcmFtczogJHtzdHJpbmdpZnkoZXJyb3IuYWN0aW9uQ29udGV4dC5wYXJhbWV0ZXJzLmRhdGFMaXN0UGFyYW1zKX1dYDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIW9wdHM/LmhpZGVJdGVtcyAmJiBlcnJvci5hY3Rpb25Db250ZXh0Py5wYXJhbWV0ZXJzLmZvcm1JdGVtKSB7XG4gICAgICAgICAgICBwYXJhbXNNZXNzYWdlICs9IGBbZm9ybUl0ZW06ICR7c3RyaW5naWZ5KGVycm9yLmFjdGlvbkNvbnRleHQucGFyYW1ldGVycy5mb3JtSXRlbSl9XWA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFvcHRzPy5oaWRlSXRlbXMgJiYgZXJyb3IuYWN0aW9uQ29udGV4dD8ucGFyYW1ldGVycy5zdWJtaXRSZXN1bHQpIHtcbiAgICAgICAgICAgIHBhcmFtc01lc3NhZ2UgKz0gYFtmb3JtSXRlbTogJHtzdHJpbmdpZnkoZXJyb3IuYWN0aW9uQ29udGV4dC5wYXJhbWV0ZXJzLnN1Ym1pdFJlc3VsdCl9XWA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVycm9yLmFjdGlvbkNvbnRleHQ/LnBhcmFtZXRlcnMubG9jYWxlKSB7XG4gICAgICAgICAgICBwYXJhbXNNZXNzYWdlICs9IGBbbG9jYWxlOiAke3N0cmluZ2lmeShlcnJvci5hY3Rpb25Db250ZXh0LnBhcmFtZXRlcnMubG9jYWxlKX1dYDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBwYXJhbXNNZXNzYWdlO1xufVxuXG4vKipcbiAqIFdyaXRlcyBjYXVzZSBvZiBhbiBlcnJvciBhcyBzdHJpbmcuXG4gKiBAcGFyYW0gZXJyb3IgRXJyb3IuXG4gKiBAcGFyYW0gb3B0cyBPcHRpb25zIGZvciBoaWRpbmcgcGFydHMgb2YgZXJyb3I6XG4gKiAtIGNhdXNlT25FcnJvck9ubHkgUHJpbnRzIG9ubHkgaWYgY2F1c2UgaXMgaW5zdGFuY2Ugb2YgZXJyb3IuXG4gKiAtIGNhdXNlQXNKc29uIFByaW50IGVycm9yIGNhdXNlIGFzIGEgSlNPTiAoYnkgZGVmYXVsdCwgaWYgZXJyb3Igb25seSBtZXNzYWdlIGFuZCBuYW1lIHdpbGwgYmUgcHJpbnRlZCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlcnJvckNhdXNlVG9TdHJpbmcoZXJyb3I6IEVycm9yLCBvcHRzPzogRXJyb3JDYXVzZVRvU3RyaW5nT3B0aW9uc1R5cGUpOiBzdHJpbmcge1xuICAgIC8vIGlmIGFscmVhZHkgbG9nZ2VkIGFzIGh0dHAgZXJyb3IsIGNoZWNrIHRoYXQgY2F1c2UgaXMgbm90IGFsc28gaHR0cCBlcnJvciAoY2F1c2UgaXQgaXMgdXN1YWxseSBkdXBsaWNhdGVkKVxuICAgIGlmIChlcnJvci5jYXVzZSAmJiAoIW9wdHM/LmNhdXNlT25FcnJvck9ubHkgfHwgZXJyb3IuY2F1c2UgaW5zdGFuY2VvZiBFcnJvcikpIHtcbiAgICAgICAgY29uc3QgbmVlZHNTdHJpbmdpZnkgPSBvcHRzPy5jYXVzZUFzSnNvbiB8fCAhKGVycm9yLmNhdXNlIGluc3RhbmNlb2YgRXJyb3IpO1xuICAgICAgICBpZiAoIW9wdHM/LmNhdXNlT25FcnJvck9ubHkgfHwgZXJyb3IuY2F1c2UgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAnQ2F1c2VkIGJ5OiAnICtcbiAgICAgICAgICAgICAgICAobmVlZHNTdHJpbmdpZnkgPyBzdHJpbmdpZnkoZXJyb3IuY2F1c2UpIDogYCR7KGVycm9yLmNhdXNlIGFzIEVycm9yKS5tZXNzYWdlfSR7KGVycm9yLmNhdXNlIGFzIEVycm9yKS5uYW1lID8gYCAoJHsoZXJyb3IuY2F1c2UgYXMgRXJyb3IpLm5hbWV9KWAgOiAnJ31gKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gJyc7XG59XG5cbmV4cG9ydCB0eXBlIEVycm9yVG9TdHJpbmdPcHRpb25zVHlwZSA9IEVycm9yVG9TdHJpbmdPcHRpb25zQmFzZVR5cGUgJlxuICAgIEh0dHBFcnJvclJlc3BvbnNlVG9TdHJpbmdPcHRpb25zVHlwZSAmXG4gICAgQWN0aW9uRXJyb3JDb250ZXh0VG9TdHJpbmdPcHRpb25zVHlwZSAmXG4gICAgRXJyb3JDYXVzZVRvU3RyaW5nT3B0aW9uc1R5cGUgJiB7XG4gICAgICAgIGhpZGVEZXRhaWxzPzogYm9vbGVhbjtcbiAgICAgICAgaGlkZUxvY2F0aW9uPzogYm9vbGVhbjtcbiAgICB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIEVycm9yVG9TdHJpbmdPcHRpb25zQmFzZVR5cGUge1xuICAgIGhpZGVOYW1lPzogYm9vbGVhbjtcbiAgICBoaWRlU3RhY2s/OiBib29sZWFuO1xuICAgIGhpZGVDYXVzZT86IGJvb2xlYW47XG4gICAgaGlkZUh0dHA/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBFcnJvclJlc3BvbnNlVG9TdHJpbmdPcHRpb25zVHlwZSB7XG4gICAgaGlkZU1lc3NhZ2U/OiBib29sZWFuO1xuICAgIGhpZGVIZWFkZXJzPzogYm9vbGVhbjtcbiAgICBoaWRlQm9keT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uRXJyb3JDb250ZXh0VG9TdHJpbmdPcHRpb25zVHlwZSB7XG4gICAgaGlkZUl0ZW1zPzogYm9vbGVhbjtcbiAgICBoaWRlQWN0aW9uRGF0YT86IGJvb2xlYW47XG4gICAgaGlkZVF1ZXJ5UGFyYW1zPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFcnJvckNhdXNlVG9TdHJpbmdPcHRpb25zVHlwZSB7XG4gICAgY2F1c2VPbkVycm9yT25seT86IGJvb2xlYW47XG4gICAgY2F1c2VBc0pzb24/OiBib29sZWFuO1xufVxuIl19
|
|
@@ -49,4 +49,4 @@ export const valueToDefined = (value) => {
|
|
|
49
49
|
return value;
|
|
50
50
|
}
|
|
51
51
|
};
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lcmNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL3NyYy9oZWxwZXJzL2NvZXJjaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxlQUFlLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFaEUsT0FBTyxFQUFhLFlBQVksRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFbEQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFHMUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEtBQWM7SUFDNUMsT0FBTyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFFLEtBQTZCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQzlGLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsS0FBYztJQUMzQyxPQUFPLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUUsS0FBNEIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQzVGLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBSSxLQUF3QixFQUFpQixFQUFFO0lBQ3ZFLE9BQU8sWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBRSxLQUF1QixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdEUsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBYyxFQUFVLEVBQUU7SUFDckQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM1QixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO1NBQU0sSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNuQyxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDZCxPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUM7UUFDRCxNQUFNLElBQUksb0JBQW9CLENBQUMsK0RBQStELEtBQUssRUFBRSxDQUFDLENBQUM7SUFDM0csQ0FBQztTQUFNLENBQUM7UUFDSixNQUFNLElBQUksb0JBQW9CLENBQUMsMkJBQTJCLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQWMsRUFBVSxFQUFFO0lBQ3JELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDNUIsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztTQUFNLENBQUM7UUFDSixNQUFNLElBQUksb0JBQW9CLENBQUMsMkJBQTJCLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLEtBQWMsRUFBVSxFQUFFO0lBQ3RELElBQUksT0FBTyxLQUFLLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDL0IsTUFBTSxJQUFJLG9CQUFvQixDQUFDLDBCQUEwQixLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7U0FBTSxDQUFDO1FBQ0osT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFJLEtBQWtCLEVBQUssRUFBRTtJQUN2RCxJQUFJLE9BQU8sS0FBSyxLQUFLLFdBQVcsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDakQsTUFBTSxJQUFJLG9CQUFvQixDQUFDLGlDQUFpQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzdFLENBQUM7U0FBTSxDQUFDO1FBQ0osT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Ym9vbGVhbkF0dHJpYnV0ZSwgbnVtYmVyQXR0cmlidXRlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtPYnNlcnZhYmxlLCBpc09ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtDb21tb25zSW50ZXJuYWxFcnJvcn0gZnJvbSAnLi4vZXJyb3IvZXJyb3IubW9kZWwnO1xuaW1wb3J0IHtJZFR5cGUsIE51bGxhYmxlfSBmcm9tICcuL3R5cGUtaGVscGVycyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBib29sZWFuJEF0dHJpYnV0ZSh2YWx1ZTogdW5rbm93bik6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBpc09ic2VydmFibGUodmFsdWUpID8gKHZhbHVlIGFzIE9ic2VydmFibGU8Ym9vbGVhbj4pIDogb2YoYm9vbGVhbkF0dHJpYnV0ZSh2YWx1ZSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbnVtYmVyJEF0dHJpYnV0ZSh2YWx1ZTogdW5rbm93bik6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIGlzT2JzZXJ2YWJsZSh2YWx1ZSkgPyAodmFsdWUgYXMgT2JzZXJ2YWJsZTxudW1iZXI+KSA6IG9mKG51bWJlckF0dHJpYnV0ZSh2YWx1ZSkpO1xufVxuXG5leHBvcnQgY29uc3QgdG9PYnNlcnZhYmxlID0gPFQ+KHZhbHVlOiBUIHwgT2JzZXJ2YWJsZTxUPik6IE9ic2VydmFibGU8VD4gPT4ge1xuICAgIHJldHVybiBpc09ic2VydmFibGUodmFsdWUpID8gKHZhbHVlIGFzIE9ic2VydmFibGU8VD4pIDogb2YodmFsdWUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGl0ZW1JZFRvTnVtYmVyID0gKHZhbHVlPzogSWRUeXBlKTogbnVtYmVyID0+IHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbnN0IG51bSA9ICt2YWx1ZTtcbiAgICAgICAgaWYgKCFpc05hTihudW0pKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVtO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IG5ldyBDb21tb25zSW50ZXJuYWxFcnJvcihgSXRlbUlkIGlzIGEgc3RyaW5nLCBidXQgY291bGQgbm90IGJlIHRyYW5zZm9ybWVkIHRvIG51bWJlcjogJHt2YWx1ZX1gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgQ29tbW9uc0ludGVybmFsRXJyb3IoYEl0ZW1JZCBpcyBub3QgYSBudW1iZXI6ICR7dmFsdWV9YCk7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGl0ZW1JZFRvU3RyaW5nID0gKHZhbHVlPzogSWRUeXBlKTogc3RyaW5nID0+IHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IENvbW1vbnNJbnRlcm5hbEVycm9yKGBJdGVtSWQgaXMgbm90IGEgc3RyaW5nOiAke3ZhbHVlfWApO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBpdGVtSWRUb0RlZmluZWQgPSAodmFsdWU/OiBJZFR5cGUpOiBJZFR5cGUgPT4ge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHRocm93IG5ldyBDb21tb25zSW50ZXJuYWxFcnJvcihgSXRlbUlkIGlzIG5vdCBkZWZpbmVkOiAke3ZhbHVlfWApO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgdmFsdWVUb0RlZmluZWQgPSA8VD4odmFsdWU6IE51bGxhYmxlPFQ+KTogVCA9PiB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcgfHwgdmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IENvbW1vbnNJbnRlcm5hbEVycm9yKGBWYWx1ZSBpcyBudWxsIG9yIG5vdCBkZWZpbmVkOiAke3ZhbHVlfWApO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG59O1xuIl19
|