@elderbyte/ngx-starter 18.15.2 → 19.0.0
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/fesm2022/elderbyte-ngx-starter.mjs +1097 -1125
- package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/common/forms/elder-form-field-control-base.directive.d.ts +1 -1
- package/lib/common/forms/elder-from-field-base.d.ts +1 -1
- package/lib/common/forms/elder-from-field-customizable-base.d.ts +1 -1
- package/lib/common/forms/elder-from-field-entity-base.d.ts +1 -1
- package/lib/common/forms/elder-from-field-multi-entity-base.d.ts +1 -1
- package/lib/common/forms/form-field-base.component.d.ts +1 -1
- package/lib/common/forms/multi-model-base.component.d.ts +1 -1
- package/lib/common/forms/template-composite-control.d.ts +1 -1
- package/lib/common/forms/value-accessor-base.d.ts +1 -1
- package/lib/common/reactive-map.d.ts +1 -1
- package/lib/components/data-view/base/elder-data-view-base.d.ts +1 -1
- package/lib/components/forms/directives/base/elder-class-hostbinding-base.d.ts +1 -1
- package/lib/components/iframes/typed-event-message.d.ts +1 -1
- package/lib/components/panels/elder-panel.module.d.ts +5 -7
- package/lib/components/select/elder-select-base.d.ts +1 -1
- package/lib/components/select/multi/elder-multi-select-base.d.ts +1 -1
- package/lib/components/select/multi/elder-multi-select-form-field.d.ts +1 -1
- package/lib/components/select/single/elder-select-form-field.d.ts +1 -1
- package/package.json +6 -8
- package/src/lib/components/errors/exception-detail/elder-exception-detail.component.scss +2 -3
- package/src/lib/components/shell/header/elder-app-header/elder-app-header.component.scss +3 -0
- package/esm2022/elderbyte-ngx-starter.mjs +0 -5
- package/esm2022/lib/common/arrays.mjs +0 -29
- package/esm2022/lib/common/async/public_api.mjs +0 -2
- package/esm2022/lib/common/async/refreshing-entity.mjs +0 -88
- package/esm2022/lib/common/csv/csv-serializer.mjs +0 -55
- package/esm2022/lib/common/csv/csv-spec.mjs +0 -99
- package/esm2022/lib/common/csv/public_api.mjs +0 -3
- package/esm2022/lib/common/data/continuable-listing.mjs +0 -10
- package/esm2022/lib/common/data/data-context/data-context-active-page.mjs +0 -131
- package/esm2022/lib/common/data/data-context/data-context-auto-starter.mjs +0 -78
- package/esm2022/lib/common/data/data-context/data-context-base.mjs +0 -339
- package/esm2022/lib/common/data/data-context/data-context-builder.mjs +0 -245
- package/esm2022/lib/common/data/data-context/data-context-continuable-base.mjs +0 -67
- package/esm2022/lib/common/data/data-context/data-context-continuable-paged.mjs +0 -142
- package/esm2022/lib/common/data/data-context/data-context-continuable-token.mjs +0 -146
- package/esm2022/lib/common/data/data-context/data-context-life-cycle-binding.mjs +0 -32
- package/esm2022/lib/common/data/data-context/data-context-simple.mjs +0 -61
- package/esm2022/lib/common/data/data-context/data-context-source-event-binding.mjs +0 -63
- package/esm2022/lib/common/data/data-context/data-context-status.mjs +0 -46
- package/esm2022/lib/common/data/data-context/data-context.mjs +0 -30
- package/esm2022/lib/common/data/data-context/indexed-entities.mjs +0 -153
- package/esm2022/lib/common/data/data-context/mat-table-data-context-binding.mjs +0 -145
- package/esm2022/lib/common/data/data-context/public_api.mjs +0 -15
- package/esm2022/lib/common/data/datasource/data-source-adapter.mjs +0 -59
- package/esm2022/lib/common/data/datasource/data-source-base.mjs +0 -38
- package/esm2022/lib/common/data/datasource/data-source-change-event.mjs +0 -34
- package/esm2022/lib/common/data/datasource/data-source-processor.mjs +0 -198
- package/esm2022/lib/common/data/datasource/data-source.mjs +0 -23
- package/esm2022/lib/common/data/datasource/entity-id-util.mjs +0 -11
- package/esm2022/lib/common/data/datasource/fetcher/delegate-data-source.mjs +0 -127
- package/esm2022/lib/common/data/datasource/local/local-list-data-source.mjs +0 -153
- package/esm2022/lib/common/data/datasource/local/local-paged-data-source.mjs +0 -75
- package/esm2022/lib/common/data/datasource/patch/deep-partial-patcher.mjs +0 -58
- package/esm2022/lib/common/data/datasource/public_api.mjs +0 -10
- package/esm2022/lib/common/data/datasource/rest/public_api.mjs +0 -2
- package/esm2022/lib/common/data/datasource/rest/rest-client.mjs +0 -290
- package/esm2022/lib/common/data/entity-set-patch.mjs +0 -161
- package/esm2022/lib/common/data/field-comparator.mjs +0 -108
- package/esm2022/lib/common/data/filters/filter-commons.mjs +0 -12
- package/esm2022/lib/common/data/filters/filter-context.mjs +0 -135
- package/esm2022/lib/common/data/filters/filter-value.mjs +0 -2
- package/esm2022/lib/common/data/filters/filter.mjs +0 -104
- package/esm2022/lib/common/data/http-params-builder.mjs +0 -116
- package/esm2022/lib/common/data/page.mjs +0 -58
- package/esm2022/lib/common/data/public_api.mjs +0 -12
- package/esm2022/lib/common/data/required-filter-evaluator.mjs +0 -71
- package/esm2022/lib/common/data/sort-context.mjs +0 -73
- package/esm2022/lib/common/data/sort.mjs +0 -11
- package/esm2022/lib/common/data/token-chunk-request.mjs +0 -8
- package/esm2022/lib/common/enums/elder-enum-translation.service.mjs +0 -84
- package/esm2022/lib/common/enums/public_api.mjs +0 -2
- package/esm2022/lib/common/errors/exception-detail.mjs +0 -2
- package/esm2022/lib/common/errors/public_api.mjs +0 -3
- package/esm2022/lib/common/errors/standard-error-detail.mjs +0 -2
- package/esm2022/lib/common/exceptions/public_api.mjs +0 -2
- package/esm2022/lib/common/exceptions/unreachable-case-error.mjs +0 -8
- package/esm2022/lib/common/format/bytes-format.mjs +0 -15
- package/esm2022/lib/common/format/bytes-per-second-format.mjs +0 -41
- package/esm2022/lib/common/format/curency-format-util.mjs +0 -43
- package/esm2022/lib/common/format/duration-format-util.mjs +0 -44
- package/esm2022/lib/common/format/iso-interval-format-util.mjs +0 -111
- package/esm2022/lib/common/format/public_api.mjs +0 -6
- package/esm2022/lib/common/forms/elder-entity-value-accessor.mjs +0 -22
- package/esm2022/lib/common/forms/elder-form-field-control-base.directive.mjs +0 -188
- package/esm2022/lib/common/forms/elder-from-field-base.mjs +0 -94
- package/esm2022/lib/common/forms/elder-from-field-customizable-base.mjs +0 -52
- package/esm2022/lib/common/forms/elder-from-field-entity-base.mjs +0 -39
- package/esm2022/lib/common/forms/elder-from-field-multi-entity-base.mjs +0 -47
- package/esm2022/lib/common/forms/elder-multi-entity-value-accessor.mjs +0 -22
- package/esm2022/lib/common/forms/form-field-base.component.mjs +0 -111
- package/esm2022/lib/common/forms/multi-model-base.component.mjs +0 -32
- package/esm2022/lib/common/forms/public_api.mjs +0 -12
- package/esm2022/lib/common/forms/template-composite-control.mjs +0 -136
- package/esm2022/lib/common/forms/value-accessor-base.mjs +0 -146
- package/esm2022/lib/common/forms/view-providers.mjs +0 -30
- package/esm2022/lib/common/http/http-client-builder.service.mjs +0 -14
- package/esm2022/lib/common/http/http-client-pristine.mjs +0 -21
- package/esm2022/lib/common/http/public_api.mjs +0 -5
- package/esm2022/lib/common/http/transfer/data-transfer-base.mjs +0 -77
- package/esm2022/lib/common/http/transfer/data-transfer-factory.mjs +0 -106
- package/esm2022/lib/common/http/transfer/data-transfer-progress-aggregate.mjs +0 -60
- package/esm2022/lib/common/http/transfer/data-transfer-progress.mjs +0 -17
- package/esm2022/lib/common/http/transfer/data-transfer-state.mjs +0 -82
- package/esm2022/lib/common/http/transfer/data-transfer-status.mjs +0 -24
- package/esm2022/lib/common/http/transfer/data-transfer.mjs +0 -2
- package/esm2022/lib/common/http/transfer/http-data-transfer.mjs +0 -132
- package/esm2022/lib/common/http/transfer/public_api.mjs +0 -7
- package/esm2022/lib/common/http/upload/file-upload-client.mjs +0 -42
- package/esm2022/lib/common/i18n/entity/elder-multi-translate-loader.mjs +0 -53
- package/esm2022/lib/common/i18n/entity/impl/i18n-base.mjs +0 -6
- package/esm2022/lib/common/i18n/entity/impl/i18n-text.mjs +0 -16
- package/esm2022/lib/common/i18n/entity/impl/translated.mjs +0 -15
- package/esm2022/lib/common/i18n/entity/language-tag.mjs +0 -12
- package/esm2022/lib/common/i18n/entity/locale.mjs +0 -12
- package/esm2022/lib/common/i18n/entity/localisation-picker.mjs +0 -30
- package/esm2022/lib/common/i18n/entity/localized.mjs +0 -2
- package/esm2022/lib/common/i18n/entity/public_api.mjs +0 -10
- package/esm2022/lib/common/i18n/entity/translated-converter.mjs +0 -18
- package/esm2022/lib/common/i18n/entity/translated.mjs +0 -2
- package/esm2022/lib/common/i18n/public_api.mjs +0 -2
- package/esm2022/lib/common/json-map.mjs +0 -17
- package/esm2022/lib/common/objects.mjs +0 -43
- package/esm2022/lib/common/public_api.mjs +0 -23
- package/esm2022/lib/common/reactive-map.mjs +0 -69
- package/esm2022/lib/common/rxjs/operators/lazy-sample.mjs +0 -34
- package/esm2022/lib/common/rxjs/public_api.mjs +0 -2
- package/esm2022/lib/common/selection/public_api.mjs +0 -2
- package/esm2022/lib/common/selection/selection-model.mjs +0 -213
- package/esm2022/lib/common/sets.mjs +0 -45
- package/esm2022/lib/common/suggestion-provider.mjs +0 -12
- package/esm2022/lib/common/templates/template-slot-manager.mjs +0 -135
- package/esm2022/lib/common/theme-sizes.mjs +0 -2
- package/esm2022/lib/common/time/date-util.mjs +0 -91
- package/esm2022/lib/common/time/interval-coerce.mjs +0 -30
- package/esm2022/lib/common/time/interval.mjs +0 -442
- package/esm2022/lib/common/time/period-duration.mjs +0 -133
- package/esm2022/lib/common/time/public_api.mjs +0 -8
- package/esm2022/lib/common/time/temporal-plain-date-interval.mjs +0 -34
- package/esm2022/lib/common/time/temporal-util.mjs +0 -205
- package/esm2022/lib/common/time/time-util.mjs +0 -38
- package/esm2022/lib/common/url/elder-router.service.mjs +0 -54
- package/esm2022/lib/common/url/elder-url-fragment-params.service.mjs +0 -117
- package/esm2022/lib/common/url/public_api.mjs +0 -4
- package/esm2022/lib/common/url/url-query-params.mjs +0 -133
- package/esm2022/lib/common/utils/batcher.mjs +0 -35
- package/esm2022/lib/common/utils/collection-util.mjs +0 -111
- package/esm2022/lib/common/utils/filter-util.mjs +0 -133
- package/esm2022/lib/common/utils/focus-util.mjs +0 -23
- package/esm2022/lib/common/utils/input-utils.mjs +0 -6
- package/esm2022/lib/common/utils/next-number-util.mjs +0 -89
- package/esm2022/lib/common/utils/ng-zone-utils.mjs +0 -16
- package/esm2022/lib/common/utils/parse-util.mjs +0 -17
- package/esm2022/lib/common/utils/property-path-util.mjs +0 -28
- package/esm2022/lib/common/utils/public_api.mjs +0 -14
- package/esm2022/lib/common/utils/query-list-binding.mjs +0 -68
- package/esm2022/lib/common/utils/signal-input.mjs +0 -3
- package/esm2022/lib/common/utils/sort-util.mjs +0 -42
- package/esm2022/lib/common/utils/url-builder.mjs +0 -275
- package/esm2022/lib/common/utils/uuid-util.mjs +0 -28
- package/esm2022/lib/common/utils/value-wrapper.mjs +0 -19
- package/esm2022/lib/components/access-denied/elder-access-denied.component.mjs +0 -15
- package/esm2022/lib/components/access-denied/elder-access-denied.module.mjs +0 -20
- package/esm2022/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +0 -50
- package/esm2022/lib/components/auditing/elder-audit.module.mjs +0 -40
- package/esm2022/lib/components/auditing/i-audited-entity.mjs +0 -3
- package/esm2022/lib/components/badge/elder-badge/elder-badge.component.mjs +0 -162
- package/esm2022/lib/components/badge/elder-badge.directive.mjs +0 -124
- package/esm2022/lib/components/badge/elder-badge.module.mjs +0 -58
- package/esm2022/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +0 -13
- package/esm2022/lib/components/button-group/elder-button-group.module.mjs +0 -21
- package/esm2022/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +0 -118
- package/esm2022/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +0 -18
- package/esm2022/lib/components/card-organizer/card-organizer-data.mjs +0 -93
- package/esm2022/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +0 -220
- package/esm2022/lib/components/card-organizer/card-stack.mjs +0 -176
- package/esm2022/lib/components/card-organizer/elder-card-organizer.module.mjs +0 -62
- package/esm2022/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +0 -17
- package/esm2022/lib/components/cards/elder-card/elder-card.component.mjs +0 -167
- package/esm2022/lib/components/cards/elder-card/elder-card.module.mjs +0 -71
- package/esm2022/lib/components/chips/elder-chip-label.directive.mjs +0 -171
- package/esm2022/lib/components/chips/elder-chips.module.mjs +0 -45
- package/esm2022/lib/components/connectivity/elder-connectivity.module.mjs +0 -57
- package/esm2022/lib/components/connectivity/elder-connectivity.service.mjs +0 -61
- package/esm2022/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +0 -46
- package/esm2022/lib/components/connectivity/public_api.mjs +0 -3
- package/esm2022/lib/components/containers/elder-containers.module.mjs +0 -18
- package/esm2022/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +0 -24
- package/esm2022/lib/components/containers/public_api.mjs +0 -2
- package/esm2022/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +0 -77
- package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.mjs +0 -38
- package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +0 -38
- package/esm2022/lib/components/csv/elder-csv-stream-exporter.mjs +0 -114
- package/esm2022/lib/components/csv/elder-csv.module.mjs +0 -24
- package/esm2022/lib/components/currency/elder-currency.module.mjs +0 -18
- package/esm2022/lib/components/currency/elder-currency.pipe.mjs +0 -37
- package/esm2022/lib/components/currency/model/currency-code.mjs +0 -38
- package/esm2022/lib/components/currency/model/currency-unit-registry.mjs +0 -30
- package/esm2022/lib/components/currency/model/currency-unit.mjs +0 -10
- package/esm2022/lib/components/currency/model/currency.mjs +0 -15
- package/esm2022/lib/components/currency/public_api.mjs +0 -7
- package/esm2022/lib/components/data-transfer/elder-data-transfer.module.mjs +0 -91
- package/esm2022/lib/components/data-transfer/elder-data-transfer.service.mjs +0 -93
- package/esm2022/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +0 -102
- package/esm2022/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +0 -34
- package/esm2022/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +0 -57
- package/esm2022/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +0 -34
- package/esm2022/lib/components/data-view/base/data-view-options-provider-binding.mjs +0 -69
- package/esm2022/lib/components/data-view/base/elder-data-view-base.mjs +0 -265
- package/esm2022/lib/components/data-view/base/elder-data-view-options-provider.mjs +0 -44
- package/esm2022/lib/components/data-view/base/elder-data-view-options.mjs +0 -45
- package/esm2022/lib/components/data-view/base/elder-data-view.mjs +0 -3
- package/esm2022/lib/components/data-view/base/public_api.mjs +0 -6
- package/esm2022/lib/components/data-view/common/composite-sort/composite-sort-context.mjs +0 -30
- package/esm2022/lib/components/data-view/common/composite-sort/composite-sort-dc.directive.mjs +0 -55
- package/esm2022/lib/components/data-view/common/composite-sort/composite-sort.mjs +0 -68
- package/esm2022/lib/components/data-view/common/composite-sort/elder-composite-sort/elder-composite-sort.component.mjs +0 -101
- package/esm2022/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +0 -45
- package/esm2022/lib/components/data-view/common/elder-data-common.module.mjs +0 -125
- package/esm2022/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +0 -140
- package/esm2022/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +0 -100
- package/esm2022/lib/components/data-view/common/selection/data-context-selection.directive.mjs +0 -103
- package/esm2022/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +0 -36
- package/esm2022/lib/components/data-view/common/selection/master-selection-state.mjs +0 -10
- package/esm2022/lib/components/data-view/elder-data-view-interaction-mode.mjs +0 -2
- package/esm2022/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +0 -345
- package/esm2022/lib/components/data-view/grid/elder-grid.module.mjs +0 -91
- package/esm2022/lib/components/data-view/master-detail/elder-detail-dialog/elder-detail-dialog.component.mjs +0 -75
- package/esm2022/lib/components/data-view/master-detail/elder-detail.directive.mjs +0 -50
- package/esm2022/lib/components/data-view/master-detail/elder-master-activation.directive.mjs +0 -79
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail-mode.mjs +0 -2
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail-provider.mjs +0 -20
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.component.mjs +0 -119
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.module.mjs +0 -116
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.service.mjs +0 -89
- package/esm2022/lib/components/data-view/master-detail/elder-master.directive.mjs +0 -23
- package/esm2022/lib/components/data-view/master-detail/master-detail-activation-event.mjs +0 -12
- package/esm2022/lib/components/data-view/public_api.mjs +0 -7
- package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +0 -18
- package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +0 -104
- package/esm2022/lib/components/data-view/table/activation/activation-event-source.mjs +0 -7
- package/esm2022/lib/components/data-view/table/activation/elder-activation-context.mjs +0 -2
- package/esm2022/lib/components/data-view/table/activation/elder-delete-active.directive.mjs +0 -114
- package/esm2022/lib/components/data-view/table/activation/elder-table-activation-options.mjs +0 -2
- package/esm2022/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +0 -315
- package/esm2022/lib/components/data-view/table/activation/item-activation-event.mjs +0 -8
- package/esm2022/lib/components/data-view/table/activation/item-activation-options.mjs +0 -7
- package/esm2022/lib/components/data-view/table/activation/public_api.mjs +0 -8
- package/esm2022/lib/components/data-view/table/elder-center-cell.directive.mjs +0 -23
- package/esm2022/lib/components/data-view/table/elder-number-cell.directive.mjs +0 -30
- package/esm2022/lib/components/data-view/table/elder-paginator-intl.mjs +0 -73
- package/esm2022/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +0 -21
- package/esm2022/lib/components/data-view/table/elder-table/elder-table.component.mjs +0 -338
- package/esm2022/lib/components/data-view/table/elder-table-column.directive.mjs +0 -18
- package/esm2022/lib/components/data-view/table/elder-table-extension.directive.mjs +0 -92
- package/esm2022/lib/components/data-view/table/elder-table-root.directive.mjs +0 -26
- package/esm2022/lib/components/data-view/table/elder-table-row.directive.mjs +0 -156
- package/esm2022/lib/components/data-view/table/elder-table-sort.directive.mjs +0 -23
- package/esm2022/lib/components/data-view/table/elder-table.module.mjs +0 -184
- package/esm2022/lib/components/data-view/table/model/elder-column-layout.mjs +0 -110
- package/esm2022/lib/components/data-view/table/model/elder-table-model-cdk-table-binding.mjs +0 -85
- package/esm2022/lib/components/data-view/table/model/elder-table-model-provider.mjs +0 -40
- package/esm2022/lib/components/data-view/table/model/elder-table-model-query-group.mjs +0 -89
- package/esm2022/lib/components/data-view/table/model/elder-table-model.mjs +0 -167
- package/esm2022/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +0 -37
- package/esm2022/lib/components/dialogs/elder-dialog-config.mjs +0 -3
- package/esm2022/lib/components/dialogs/elder-dialog.module.mjs +0 -87
- package/esm2022/lib/components/dialogs/elder-dialog.service.mjs +0 -199
- package/esm2022/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +0 -57
- package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +0 -43
- package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +0 -47
- package/esm2022/lib/components/errors/elder-error.module.mjs +0 -39
- package/esm2022/lib/components/errors/error-util.mjs +0 -94
- package/esm2022/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +0 -77
- package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +0 -55
- package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +0 -35
- package/esm2022/lib/components/files/blob-url.mjs +0 -10
- package/esm2022/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +0 -224
- package/esm2022/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.mjs +0 -44
- package/esm2022/lib/components/files/drag-n-drop/global-drag-drop.service.mjs +0 -84
- package/esm2022/lib/components/files/elder-file-drop-zone.directive.mjs +0 -145
- package/esm2022/lib/components/files/elder-file-select-input.mjs +0 -119
- package/esm2022/lib/components/files/elder-file-select.directive.mjs +0 -167
- package/esm2022/lib/components/files/elder-file.module.mjs +0 -85
- package/esm2022/lib/components/files/file-select/file-select.component.mjs +0 -54
- package/esm2022/lib/components/files/file-system-api.mjs +0 -100
- package/esm2022/lib/components/files/file-upload/file-upload.component.mjs +0 -80
- package/esm2022/lib/components/files/listing/file-entry.mjs +0 -92
- package/esm2022/lib/components/files/listing/file-listing-rx.mjs +0 -64
- package/esm2022/lib/components/files/listing/file-listing-system-handle.mjs +0 -35
- package/esm2022/lib/components/files/listing/file-listing-webkit.mjs +0 -76
- package/esm2022/lib/components/forms/clipboard/elder-clipboard.service.mjs +0 -51
- package/esm2022/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +0 -34
- package/esm2022/lib/components/forms/directives/checkbox/elder-single-state-checkbox-controller.mjs +0 -97
- package/esm2022/lib/components/forms/directives/checkbox/elder-single-state-checkbox.directive.mjs +0 -50
- package/esm2022/lib/components/forms/directives/checkbox/elder-triple-state-checkbox-controller.mjs +0 -102
- package/esm2022/lib/components/forms/directives/checkbox/elder-triple-state-checkbox.directive.mjs +0 -50
- package/esm2022/lib/components/forms/directives/elder-clipboard-put.directive.mjs +0 -38
- package/esm2022/lib/components/forms/directives/elder-delayed-focus.directive.mjs +0 -43
- package/esm2022/lib/components/forms/directives/elder-form-field-dense.directive.mjs +0 -83
- package/esm2022/lib/components/forms/directives/elder-form-field-label.directive.mjs +0 -84
- package/esm2022/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +0 -42
- package/esm2022/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +0 -35
- package/esm2022/lib/components/forms/directives/elder-forms-directives.module.mjs +0 -142
- package/esm2022/lib/components/forms/directives/elder-initial-value.directive.mjs +0 -67
- package/esm2022/lib/components/forms/directives/elder-input-pattern.directive.mjs +0 -78
- package/esm2022/lib/components/forms/directives/elder-key-event.directive.mjs +0 -112
- package/esm2022/lib/components/forms/directives/elder-next-focusable.directive.mjs +0 -102
- package/esm2022/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +0 -37
- package/esm2022/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +0 -30
- package/esm2022/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +0 -161
- package/esm2022/lib/components/forms/directives/elder-touched.directive.mjs +0 -28
- package/esm2022/lib/components/forms/directives/validation/elder-validation-error.directive.mjs +0 -88
- package/esm2022/lib/components/forms/directives/validation/strategies/common-validation-message-strategy.mjs +0 -47
- package/esm2022/lib/components/forms/directives/validation/strategies/dynamic-validation-message-strategy.mjs +0 -48
- package/esm2022/lib/components/forms/directives/validation/strategies/fallback-validation-message-strategy.mjs +0 -6
- package/esm2022/lib/components/forms/directives/validation/validation-message-renderer.service.mjs +0 -53
- package/esm2022/lib/components/forms/directives/validation/validation-message-strategy.mjs +0 -2
- package/esm2022/lib/components/forms/directives/validation/validators/elder-max.validator.mjs +0 -36
- package/esm2022/lib/components/forms/directives/validation/validators/elder-min.validator.mjs +0 -36
- package/esm2022/lib/components/forms/directives/validation/validators/elder-multiple-of.validator.mjs +0 -112
- package/esm2022/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.mjs +0 -69
- package/esm2022/lib/components/forms/elder-forms.module.mjs +0 -22
- package/esm2022/lib/components/forms/public_api.mjs +0 -6
- package/esm2022/lib/components/forms/search/domain/context/search-context.mjs +0 -73
- package/esm2022/lib/components/forms/search/domain/context/search-context.service.mjs +0 -42
- package/esm2022/lib/components/forms/search/domain/input/input-value.mjs +0 -2
- package/esm2022/lib/components/forms/search/domain/input/search-input-state.mjs +0 -88
- package/esm2022/lib/components/forms/search/domain/input/search-input.mjs +0 -2
- package/esm2022/lib/components/forms/search/domain/input/simple-search-input.mjs +0 -50
- package/esm2022/lib/components/forms/search/domain/url/elder-search-url.directive.mjs +0 -92
- package/esm2022/lib/components/forms/search/domain/url/elder-search-url.service.mjs +0 -166
- package/esm2022/lib/components/forms/search/domain/url/search-query-params-parser.mjs +0 -81
- package/esm2022/lib/components/forms/search/elder-search-context.directive.mjs +0 -256
- package/esm2022/lib/components/forms/search/elder-search-input.directive.mjs +0 -258
- package/esm2022/lib/components/forms/search/elder-search.module.mjs +0 -115
- package/esm2022/lib/components/forms/search/filter/default-input-filter-converter.mjs +0 -45
- package/esm2022/lib/components/forms/search/filter/input-filter-converter.mjs +0 -2
- package/esm2022/lib/components/forms/search/search-box/elder-search-box.component.mjs +0 -131
- package/esm2022/lib/components/forms/search/search-box/elder-search-panel.component.mjs +0 -24
- package/esm2022/lib/components/global-search/elder-global-search.component.mjs +0 -136
- package/esm2022/lib/components/global-search/elder-global-search.module.mjs +0 -47
- package/esm2022/lib/components/global-search/elder-global-search.service.mjs +0 -95
- package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +0 -90
- package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +0 -19
- package/esm2022/lib/components/graph/elder-progress-bar/sub-bar.mjs +0 -7
- package/esm2022/lib/components/graph/public_api.mjs +0 -2
- package/esm2022/lib/components/headers/elder-header/elder-header.component.mjs +0 -29
- package/esm2022/lib/components/headers/elder-header.module.mjs +0 -42
- package/esm2022/lib/components/http-support/elder-http-client.service.mjs +0 -63
- package/esm2022/lib/components/http-support/public_api.mjs +0 -2
- package/esm2022/lib/components/i18n/entities/elder-i18n-entities.module.mjs +0 -125
- package/esm2022/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +0 -157
- package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +0 -39
- package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +0 -30
- package/esm2022/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +0 -177
- package/esm2022/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +0 -31
- package/esm2022/lib/components/i18n/entities/elder-localized-texts.directive.mjs +0 -56
- package/esm2022/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +0 -40
- package/esm2022/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +0 -31
- package/esm2022/lib/components/i18n/entities/picker/localisation-picker.service.mjs +0 -74
- package/esm2022/lib/components/i18n/language/elder-language-config.mjs +0 -3
- package/esm2022/lib/components/i18n/language/elder-language-interceptor.mjs +0 -70
- package/esm2022/lib/components/i18n/language/elder-language.module.mjs +0 -73
- package/esm2022/lib/components/i18n/language/elder-language.service.mjs +0 -120
- package/esm2022/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +0 -79
- package/esm2022/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +0 -53
- package/esm2022/lib/components/i18n/public_api.mjs +0 -4
- package/esm2022/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +0 -129
- package/esm2022/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +0 -141
- package/esm2022/lib/components/iframes/elder-iframe.module.mjs +0 -106
- package/esm2022/lib/components/iframes/iframe-close.directive.mjs +0 -41
- package/esm2022/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +0 -51
- package/esm2022/lib/components/iframes/iframe-host/iframe-host.component.mjs +0 -144
- package/esm2022/lib/components/iframes/iframe-messages.mjs +0 -5
- package/esm2022/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +0 -80
- package/esm2022/lib/components/iframes/iframe.service.mjs +0 -54
- package/esm2022/lib/components/iframes/typed-event-message.mjs +0 -42
- package/esm2022/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +0 -65
- package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +0 -166
- package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +0 -20
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.mjs +0 -9
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-suggestion-panel.component.mjs +0 -233
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +0 -202
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +0 -120
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete.module.mjs +0 -61
- package/esm2022/lib/components/input/autocomplete/many/word-position-finder.mjs +0 -58
- package/esm2022/lib/components/input/public_api.mjs +0 -2
- package/esm2022/lib/components/labels/elder-labels.module.mjs +0 -50
- package/esm2022/lib/components/labels/labels-input/labels-input.component.mjs +0 -239
- package/esm2022/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.mjs +0 -268
- package/esm2022/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.mjs +0 -92
- package/esm2022/lib/components/measures/directives/elder-unit-select.directive.mjs +0 -65
- package/esm2022/lib/components/measures/elder-measures.module.mjs +0 -130
- package/esm2022/lib/components/measures/elder-quantity-transform.pipe.mjs +0 -31
- package/esm2022/lib/components/measures/elder-quantity.pipe.mjs +0 -43
- package/esm2022/lib/components/measures/elder-unit.service.mjs +0 -113
- package/esm2022/lib/components/measures/model/dimensions.mjs +0 -17
- package/esm2022/lib/components/measures/model/quantity.mjs +0 -12
- package/esm2022/lib/components/measures/model/unit-dimension.mjs +0 -14
- package/esm2022/lib/components/measures/model/unit-registry.mjs +0 -81
- package/esm2022/lib/components/measures/model/unit.mjs +0 -143
- package/esm2022/lib/components/measures/public_api.mjs +0 -8
- package/esm2022/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.mjs +0 -44
- package/esm2022/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.mjs +0 -173
- package/esm2022/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.mjs +0 -84
- package/esm2022/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.mjs +0 -73
- package/esm2022/lib/components/measures/util/elder-quantity.service.mjs +0 -341
- package/esm2022/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +0 -184
- package/esm2022/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +0 -59
- package/esm2022/lib/components/navigation/bread-crumbs/path/path.mjs +0 -37
- package/esm2022/lib/components/navigation/nav/elder-nav.module.mjs +0 -60
- package/esm2022/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +0 -121
- package/esm2022/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +0 -174
- package/esm2022/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +0 -68
- package/esm2022/lib/components/navigation/public_api.mjs +0 -4
- package/esm2022/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +0 -48
- package/esm2022/lib/components/navigation/toolbar/elder-toolbar.module.mjs +0 -83
- package/esm2022/lib/components/navigation/toolbar/elder-toolbar.service.mjs +0 -68
- package/esm2022/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +0 -71
- package/esm2022/lib/components/navigation/toolbar/toolbar-column-position.mjs +0 -2
- package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +0 -39
- package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +0 -86
- package/esm2022/lib/components/overlays/elder-overlay-origin.directive.mjs +0 -44
- package/esm2022/lib/components/overlays/elder-overlay-ref.mjs +0 -41
- package/esm2022/lib/components/overlays/elder-overlay-trigger.directive.mjs +0 -73
- package/esm2022/lib/components/overlays/elder-overlay.component.mjs +0 -232
- package/esm2022/lib/components/overlays/elder-overlay.module.mjs +0 -35
- package/esm2022/lib/components/page/exit-guard/page-exit-guard.module.mjs +0 -20
- package/esm2022/lib/components/page/exit-guard/page-exit-guard.service.mjs +0 -129
- package/esm2022/lib/components/page/exit-guard/page-exit-lock/page-exit-lock.component.mjs +0 -25
- package/esm2022/lib/components/page/exit-guard/page-exit-lock-indicator/page-exit-lock-indicator.component.mjs +0 -29
- package/esm2022/lib/components/page/exit-guard/page-exit-lock-overview/page-exit-lock-overview.component.mjs +0 -26
- package/esm2022/lib/components/page/public_api.mjs +0 -2
- package/esm2022/lib/components/panels/card-panel/elder-card-panel.component.mjs +0 -12
- package/esm2022/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +0 -12
- package/esm2022/lib/components/panels/elder-panel.module.mjs +0 -60
- package/esm2022/lib/components/panels/flat/elder-panel.component.mjs +0 -26
- package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel-trigger.directive.mjs +0 -70
- package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel.component.mjs +0 -74
- package/esm2022/lib/components/public_api.mjs +0 -43
- package/esm2022/lib/components/scrollbar/elder-scrollbar.directive.mjs +0 -63
- package/esm2022/lib/components/scrollbar/elder-scrollbar.module.mjs +0 -17
- package/esm2022/lib/components/select/auto/elder-auto-select-first.directive.mjs +0 -95
- package/esm2022/lib/components/select/auto/elder-auto-select-first.service.mjs +0 -38
- package/esm2022/lib/components/select/auto/elder-auto-select-suggest-first.directive.mjs +0 -64
- package/esm2022/lib/components/select/auto/elder-select-first-util.mjs +0 -55
- package/esm2022/lib/components/select/elder-select-base.mjs +0 -333
- package/esm2022/lib/components/select/elder-select-chip.directive.mjs +0 -48
- package/esm2022/lib/components/select/elder-select-on-tab.directive.mjs +0 -139
- package/esm2022/lib/components/select/elder-select-value.directive.mjs +0 -18
- package/esm2022/lib/components/select/elder-select.module.mjs +0 -229
- package/esm2022/lib/components/select/filter/elder-chip-filter-style-resolver.mjs +0 -74
- package/esm2022/lib/components/select/filter/elder-chips-include-exclude.directive.mjs +0 -148
- package/esm2022/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.mjs +0 -51
- package/esm2022/lib/components/select/filter/include-exclude-model-filter-adapter.mjs +0 -61
- package/esm2022/lib/components/select/filter/include-exclude-selection-model.mjs +0 -160
- package/esm2022/lib/components/select/multi/elder-chip-select-option/elder-select-option.component.mjs +0 -16
- package/esm2022/lib/components/select/multi/elder-multi-select-base.mjs +0 -386
- package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/chip-options-provider.mjs +0 -87
- package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.mjs +0 -263
- package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/select-option-chip-spec.mjs +0 -15
- package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +0 -274
- package/esm2022/lib/components/select/multi/elder-multi-select-chips/select-chip-spec.mjs +0 -15
- package/esm2022/lib/components/select/multi/elder-multi-select-form-field.mjs +0 -86
- package/esm2022/lib/components/select/multi/elder-mutli-select-all-directive.mjs +0 -34
- package/esm2022/lib/components/select/multi/elder-search-include-exclude.directive.mjs +0 -146
- package/esm2022/lib/components/select/multi/public_api.mjs +0 -5
- package/esm2022/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +0 -89
- package/esm2022/lib/components/select/popup/selection-model-popup.directive.mjs +0 -126
- package/esm2022/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +0 -58
- package/esm2022/lib/components/select/public_api.mjs +0 -5
- package/esm2022/lib/components/select/single/elder-clear-select.directive.mjs +0 -60
- package/esm2022/lib/components/select/single/elder-select/elder-select.component.mjs +0 -444
- package/esm2022/lib/components/select/single/elder-select-form-field.mjs +0 -45
- package/esm2022/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +0 -148
- package/esm2022/lib/components/select-chip-list/elder-chip-list-select.module.mjs +0 -46
- package/esm2022/lib/components/shell/drawers/drawer-outlet-binding.mjs +0 -64
- package/esm2022/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +0 -119
- package/esm2022/lib/components/shell/drawers/elder-router-outlet.service.mjs +0 -128
- package/esm2022/lib/components/shell/elder-shell-slot.directive.mjs +0 -47
- package/esm2022/lib/components/shell/elder-shell.module.mjs +0 -101
- package/esm2022/lib/components/shell/elder-shell.service.mjs +0 -142
- package/esm2022/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +0 -75
- package/esm2022/lib/components/shell/shell/elder-shell.component.mjs +0 -238
- package/esm2022/lib/components/shell/shell-content-slot.mjs +0 -2
- package/esm2022/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +0 -137
- package/esm2022/lib/components/tabs/elder-tab/elder-tab.directive.mjs +0 -26
- package/esm2022/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +0 -257
- package/esm2022/lib/components/tabs/elder-tab.module.mjs +0 -21
- package/esm2022/lib/components/theme/elder-theme-applier.directive.mjs +0 -62
- package/esm2022/lib/components/theme/elder-theme-preference.service.mjs +0 -73
- package/esm2022/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +0 -74
- package/esm2022/lib/components/theme/elder-theme.directive.mjs +0 -64
- package/esm2022/lib/components/theme/elder-theme.module.mjs +0 -68
- package/esm2022/lib/components/theme/elder-theme.service.mjs +0 -121
- package/esm2022/lib/components/theme/known-elder-themes.mjs +0 -6
- package/esm2022/lib/components/theme/public_api.mjs +0 -2
- package/esm2022/lib/components/theme/theme-spec.mjs +0 -11
- package/esm2022/lib/components/time/date-adapters/custom-date-adapter.mjs +0 -43
- package/esm2022/lib/components/time/date-formats/locale-date-formats.mjs +0 -28
- package/esm2022/lib/components/time/duration/duration-bucket.mjs +0 -68
- package/esm2022/lib/components/time/duration/duration-format.mjs +0 -271
- package/esm2022/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +0 -110
- package/esm2022/lib/components/time/duration/iso-duration-str.mjs +0 -2
- package/esm2022/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +0 -96
- package/esm2022/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +0 -98
- package/esm2022/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +0 -217
- package/esm2022/lib/components/time/elder-interval-picker/controller/interval-anchor-controller.mjs +0 -21
- package/esm2022/lib/components/time/elder-interval-picker/controller/interval-calendar-controller.mjs +0 -24
- package/esm2022/lib/components/time/elder-interval-picker/controller/interval-controller.mjs +0 -43
- package/esm2022/lib/components/time/elder-interval-picker/controller/interval-form-controller.mjs +0 -69
- package/esm2022/lib/components/time/elder-interval-picker/controller/interval-select-controller.mjs +0 -117
- package/esm2022/lib/components/time/elder-interval-picker/controller/interval-shift-controller.mjs +0 -44
- package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker.component.mjs +0 -198
- package/esm2022/lib/components/time/elder-interval-picker/interval-picker-binding/elder-interval-picker-binding.directive.mjs +0 -41
- package/esm2022/lib/components/time/elder-interval-picker/interval-picker-toggle/elder-interval-picker-toggle.component.mjs +0 -144
- package/esm2022/lib/components/time/elder-interval-picker/manager/interval-picker-state-manager.mjs +0 -93
- package/esm2022/lib/components/time/elder-interval-picker/model/anchor-state.mjs +0 -54
- package/esm2022/lib/components/time/elder-interval-picker/model/interval-state.mjs +0 -37
- package/esm2022/lib/components/time/elder-interval-picker/model/smart-shift-state.mjs +0 -10
- package/esm2022/lib/components/time/elder-interval-picker/presenter/interval-picker-presenter.mjs +0 -96
- package/esm2022/lib/components/time/elder-interval-picker/util/interval-picker-util.mjs +0 -194
- package/esm2022/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +0 -268
- package/esm2022/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +0 -85
- package/esm2022/lib/components/time/elder-time.module.mjs +0 -154
- package/esm2022/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +0 -118
- package/esm2022/lib/components/time/period/period-bucket.mjs +0 -31
- package/esm2022/lib/components/time/period/period-format.mjs +0 -89
- package/esm2022/lib/components/time/pipes/to-iso-date-string.pipe.mjs +0 -39
- package/esm2022/lib/components/time/public_api.mjs +0 -8
- package/esm2022/lib/components/toasts/elder-toast.module.mjs +0 -36
- package/esm2022/lib/components/toasts/elder-toast.service.mjs +0 -170
- package/esm2022/lib/components/toasts/standard-toast/standard-toast.component.mjs +0 -80
- package/esm2022/lib/components/toasts/toast-type.mjs +0 -7
- package/esm2022/lib/components/toasts/toast.mjs +0 -2
- package/esm2022/lib/components/url-fragment/elder-url-fragment.mjs +0 -9
- package/esm2022/lib/components/url-fragment/elder-url-fragment.module.mjs +0 -52
- package/esm2022/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +0 -95
- package/esm2022/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +0 -64
- package/esm2022/lib/components/viewers/elder-viewers.module.mjs +0 -18
- package/esm2022/lib/features/event-source/fetch/public_api.mjs +0 -3
- package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.mjs +0 -219
- package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.service.mjs +0 -53
- package/esm2022/lib/features/event-source/public_api.mjs +0 -3
- package/esm2022/lib/features/event-source/standard/elder-event-source.service.mjs +0 -56
- package/esm2022/lib/features/event-source/standard/public_api.mjs +0 -3
- package/esm2022/lib/features/event-source/standard/reactive-event-source.mjs +0 -199
- package/esm2022/lib/features/kafent/access-token-provider.mjs +0 -20
- package/esm2022/lib/features/kafent/kafent-config.mjs +0 -24
- package/esm2022/lib/features/kafent/kafent-event-stream.mjs +0 -25
- package/esm2022/lib/features/kafent/kafent-event.mjs +0 -3
- package/esm2022/lib/features/kafent/kafent-event.service.mjs +0 -115
- package/esm2022/lib/features/kafent/kafent-live-event-request.mjs +0 -2
- package/esm2022/lib/features/kafent/kafent.module.mjs +0 -58
- package/esm2022/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +0 -131
- package/esm2022/lib/features/kafent/sse/kafent-topic-sse.mjs +0 -97
- package/esm2022/lib/features/public_api.mjs +0 -3
- package/esm2022/lib/pipes/bytes.pipe.mjs +0 -27
- package/esm2022/lib/pipes/elder-pipes.module.mjs +0 -114
- package/esm2022/lib/pipes/elder-repeat.pipe.mjs +0 -24
- package/esm2022/lib/pipes/elder-round.pipe.mjs +0 -36
- package/esm2022/lib/pipes/elder-safe-url.pipe.mjs +0 -21
- package/esm2022/lib/pipes/elder-truncate.pipe.mjs +0 -41
- package/esm2022/lib/pipes/iso-duration.pipe.mjs +0 -41
- package/esm2022/lib/pipes/iso-interval-parse.pipe.mjs +0 -49
- package/esm2022/lib/pipes/iso-interval.pipe.mjs +0 -62
- package/esm2022/lib/pipes/public_api.mjs +0 -2
- package/esm2022/lib/pipes/time-ago.pipe.mjs +0 -110
- package/esm2022/lib/pipes/time-duration.pipe.mjs +0 -101
- package/esm2022/lib/pipes/weight.pipe.mjs +0 -60
- package/esm2022/public_api.mjs +0 -8
- package/lib/components/panels/flat/elder-panel.component.d.ts +0 -15
- package/src/lib/components/panels/flat/elder-panel.component.scss +0 -3
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Provides common used object utils
|
|
3
|
-
*/
|
|
4
|
-
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
5
|
-
export class Objects {
|
|
6
|
-
static { this.logger = LoggerFactory.getLogger('Objects'); }
|
|
7
|
-
/**
|
|
8
|
-
* Checks if the given value is non null / nun undefined
|
|
9
|
-
*/
|
|
10
|
-
static nonNull(value) {
|
|
11
|
-
return value !== null && value !== undefined;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Checks if the given value is null or undefined
|
|
15
|
-
*/
|
|
16
|
-
static isNull(value) {
|
|
17
|
-
return value === null || value === undefined;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Creates a copy of the object data.
|
|
21
|
-
*/
|
|
22
|
-
static cloneData(src) {
|
|
23
|
-
if (!src) {
|
|
24
|
-
return src;
|
|
25
|
-
}
|
|
26
|
-
try {
|
|
27
|
-
const json = JSON.stringify(src);
|
|
28
|
-
return JSON.parse(json);
|
|
29
|
-
}
|
|
30
|
-
catch (err) {
|
|
31
|
-
if (err instanceof Error) {
|
|
32
|
-
throw new Error('Failed to clone object! ' + err.message);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Checks if the two given objects have the same data
|
|
38
|
-
*/
|
|
39
|
-
static dataEquals(a, b) {
|
|
40
|
-
return JSON.stringify(a) === JSON.stringify(b);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9vYmplY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBRXBELE1BQU0sT0FBTyxPQUFPO2FBQ00sV0FBTSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUE7SUFFbkU7O09BRUc7SUFDSSxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQVU7UUFDOUIsT0FBTyxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLENBQUE7SUFDOUMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFVO1FBQzdCLE9BQU8sS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxDQUFBO0lBQzlDLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxTQUFTLENBQUksR0FBTTtRQUMvQixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDVCxPQUFPLEdBQUcsQ0FBQTtRQUNaLENBQUM7UUFFRCxJQUFJLENBQUM7WUFDSCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQ2hDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQU0sQ0FBQTtRQUM5QixDQUFDO1FBQUMsT0FBTyxHQUFZLEVBQUUsQ0FBQztZQUN0QixJQUFJLEdBQUcsWUFBWSxLQUFLLEVBQUUsQ0FBQztnQkFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDM0QsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsVUFBVSxDQUFJLENBQUksRUFBRSxDQUFJO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ2hELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFByb3ZpZGVzIGNvbW1vbiB1c2VkIG9iamVjdCB1dGlsc1xuICovXG5pbXBvcnQgeyBMb2dnZXJGYWN0b3J5IH0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInXG5cbmV4cG9ydCBjbGFzcyBPYmplY3RzIHtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIoJ09iamVjdHMnKVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGdpdmVuIHZhbHVlIGlzIG5vbiBudWxsIC8gbnVuIHVuZGVmaW5lZFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBub25OdWxsKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHVuZGVmaW5lZFxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gdmFsdWUgaXMgbnVsbCBvciB1bmRlZmluZWRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaXNOdWxsKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZFxuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBjb3B5IG9mIHRoZSBvYmplY3QgZGF0YS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgY2xvbmVEYXRhPFQ+KHNyYzogVCk6IFQge1xuICAgIGlmICghc3JjKSB7XG4gICAgICByZXR1cm4gc3JjXG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGpzb24gPSBKU09OLnN0cmluZ2lmeShzcmMpXG4gICAgICByZXR1cm4gSlNPTi5wYXJzZShqc29uKSBhcyBUXG4gICAgfSBjYXRjaCAoZXJyOiB1bmtub3duKSB7XG4gICAgICBpZiAoZXJyIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gY2xvbmUgb2JqZWN0ISAnICsgZXJyLm1lc3NhZ2UpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgdHdvIGdpdmVuIG9iamVjdHMgaGF2ZSB0aGUgc2FtZSBkYXRhXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGRhdGFFcXVhbHM8VD4oYTogVCwgYjogVCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShhKSA9PT0gSlNPTi5zdHJpbmdpZnkoYilcbiAgfVxufVxuIl19
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export * from './objects';
|
|
2
|
-
export * from './arrays';
|
|
3
|
-
export * from './sets';
|
|
4
|
-
export * from './json-map';
|
|
5
|
-
export * from './rxjs/public_api';
|
|
6
|
-
export * from './format/public_api';
|
|
7
|
-
export * from './time/public_api';
|
|
8
|
-
export * from './data/public_api';
|
|
9
|
-
export * from './forms/public_api';
|
|
10
|
-
export * from './utils/public_api';
|
|
11
|
-
export * from './selection/public_api';
|
|
12
|
-
export * from './http/public_api';
|
|
13
|
-
export * from './i18n/public_api';
|
|
14
|
-
export * from './enums/public_api';
|
|
15
|
-
export * from './errors/public_api';
|
|
16
|
-
export * from './exceptions/public_api';
|
|
17
|
-
export * from './csv/public_api';
|
|
18
|
-
export * from './async/public_api';
|
|
19
|
-
export * from './url/public_api';
|
|
20
|
-
export * from './suggestion-provider';
|
|
21
|
-
export * from './reactive-map';
|
|
22
|
-
export * from './theme-sizes';
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsV0FBVyxDQUFBO0FBQ3pCLGNBQWMsVUFBVSxDQUFBO0FBQ3hCLGNBQWMsUUFBUSxDQUFBO0FBQ3RCLGNBQWMsWUFBWSxDQUFBO0FBRTFCLGNBQWMsbUJBQW1CLENBQUE7QUFDakMsY0FBYyxxQkFBcUIsQ0FBQTtBQUNuQyxjQUFjLG1CQUFtQixDQUFBO0FBQ2pDLGNBQWMsbUJBQW1CLENBQUE7QUFDakMsY0FBYyxvQkFBb0IsQ0FBQTtBQUNsQyxjQUFjLG9CQUFvQixDQUFBO0FBQ2xDLGNBQWMsd0JBQXdCLENBQUE7QUFDdEMsY0FBYyxtQkFBbUIsQ0FBQTtBQUNqQyxjQUFjLG1CQUFtQixDQUFBO0FBQ2pDLGNBQWMsb0JBQW9CLENBQUE7QUFDbEMsY0FBYyxxQkFBcUIsQ0FBQTtBQUNuQyxjQUFjLHlCQUF5QixDQUFBO0FBQ3ZDLGNBQWMsa0JBQWtCLENBQUE7QUFDaEMsY0FBYyxvQkFBb0IsQ0FBQTtBQUNsQyxjQUFjLGtCQUFrQixDQUFBO0FBRWhDLGNBQWMsdUJBQXVCLENBQUE7QUFDckMsY0FBYyxnQkFBZ0IsQ0FBQTtBQUM5QixjQUFjLGVBQWUsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vb2JqZWN0cydcbmV4cG9ydCAqIGZyb20gJy4vYXJyYXlzJ1xuZXhwb3J0ICogZnJvbSAnLi9zZXRzJ1xuZXhwb3J0ICogZnJvbSAnLi9qc29uLW1hcCdcblxuZXhwb3J0ICogZnJvbSAnLi9yeGpzL3B1YmxpY19hcGknXG5leHBvcnQgKiBmcm9tICcuL2Zvcm1hdC9wdWJsaWNfYXBpJ1xuZXhwb3J0ICogZnJvbSAnLi90aW1lL3B1YmxpY19hcGknXG5leHBvcnQgKiBmcm9tICcuL2RhdGEvcHVibGljX2FwaSdcbmV4cG9ydCAqIGZyb20gJy4vZm9ybXMvcHVibGljX2FwaSdcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvcHVibGljX2FwaSdcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0aW9uL3B1YmxpY19hcGknXG5leHBvcnQgKiBmcm9tICcuL2h0dHAvcHVibGljX2FwaSdcbmV4cG9ydCAqIGZyb20gJy4vaTE4bi9wdWJsaWNfYXBpJ1xuZXhwb3J0ICogZnJvbSAnLi9lbnVtcy9wdWJsaWNfYXBpJ1xuZXhwb3J0ICogZnJvbSAnLi9lcnJvcnMvcHVibGljX2FwaSdcbmV4cG9ydCAqIGZyb20gJy4vZXhjZXB0aW9ucy9wdWJsaWNfYXBpJ1xuZXhwb3J0ICogZnJvbSAnLi9jc3YvcHVibGljX2FwaSdcbmV4cG9ydCAqIGZyb20gJy4vYXN5bmMvcHVibGljX2FwaSdcbmV4cG9ydCAqIGZyb20gJy4vdXJsL3B1YmxpY19hcGknXG5cbmV4cG9ydCAqIGZyb20gJy4vc3VnZ2VzdGlvbi1wcm92aWRlcidcbmV4cG9ydCAqIGZyb20gJy4vcmVhY3RpdmUtbWFwJ1xuZXhwb3J0ICogZnJvbSAnLi90aGVtZS1zaXplcydcbiJdfQ==
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { BehaviorSubject } from 'rxjs';
|
|
2
|
-
import { map } from 'rxjs/operators';
|
|
3
|
-
export class ReactiveMap {
|
|
4
|
-
/***************************************************************************
|
|
5
|
-
* *
|
|
6
|
-
* Constructor *
|
|
7
|
-
* *
|
|
8
|
-
**************************************************************************/
|
|
9
|
-
constructor(initialValue) {
|
|
10
|
-
this._map = new BehaviorSubject(initialValue ?? new Map());
|
|
11
|
-
this.map$ = this._map.asObservable();
|
|
12
|
-
this.values$ = this._map.pipe(map((myMap) => Array.from(myMap.values())));
|
|
13
|
-
}
|
|
14
|
-
/***************************************************************************
|
|
15
|
-
* *
|
|
16
|
-
* Public API *
|
|
17
|
-
* *
|
|
18
|
-
**************************************************************************/
|
|
19
|
-
get size() {
|
|
20
|
-
return this._map.getValue().size;
|
|
21
|
-
}
|
|
22
|
-
clear() {
|
|
23
|
-
this.modify((myMap) => myMap.clear());
|
|
24
|
-
}
|
|
25
|
-
set(key, value) {
|
|
26
|
-
this.modify((myMap) => myMap.set(key, value));
|
|
27
|
-
return this;
|
|
28
|
-
}
|
|
29
|
-
delete(key) {
|
|
30
|
-
return this.modify((myMap) => myMap.delete(key));
|
|
31
|
-
}
|
|
32
|
-
get(key) {
|
|
33
|
-
return this._map.getValue().get(key);
|
|
34
|
-
}
|
|
35
|
-
has(key) {
|
|
36
|
-
return this._map.getValue().has(key);
|
|
37
|
-
}
|
|
38
|
-
// ---
|
|
39
|
-
get [Symbol.toStringTag]() {
|
|
40
|
-
return this._map.getValue()[Symbol.toStringTag];
|
|
41
|
-
}
|
|
42
|
-
get [Symbol.iterator]() {
|
|
43
|
-
return this._map.getValue()[Symbol.iterator];
|
|
44
|
-
}
|
|
45
|
-
entries() {
|
|
46
|
-
return this._map.getValue().entries();
|
|
47
|
-
}
|
|
48
|
-
forEach(callbackfn, thisArg) {
|
|
49
|
-
return this._map.getValue().forEach(callbackfn, thisArg);
|
|
50
|
-
}
|
|
51
|
-
keys() {
|
|
52
|
-
return this._map.getValue().keys();
|
|
53
|
-
}
|
|
54
|
-
values() {
|
|
55
|
-
return this._map.getValue().values();
|
|
56
|
-
}
|
|
57
|
-
/***************************************************************************
|
|
58
|
-
* *
|
|
59
|
-
* Private methods *
|
|
60
|
-
* *
|
|
61
|
-
**************************************************************************/
|
|
62
|
-
modify(modifyFn) {
|
|
63
|
-
const myMap = this._map.getValue();
|
|
64
|
-
const ret = modifyFn(myMap);
|
|
65
|
-
this._map.next(myMap);
|
|
66
|
-
return ret;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhY3RpdmUtbWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL3JlYWN0aXZlLW1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFBO0FBQ2xELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVwQyxNQUFNLE9BQU8sV0FBVztJQVl0Qjs7OztnRkFJNEU7SUFFNUUsWUFBWSxZQUFnQztRQUMxQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksZUFBZSxDQUFvQixZQUFZLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFBO1FBRTdFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUNwQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDM0UsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFBO0lBQ2xDLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUE7SUFDdkMsQ0FBQztJQUVNLEdBQUcsQ0FBQyxHQUFTLEVBQUUsS0FBYTtRQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFBO1FBQzdDLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVNLE1BQU0sQ0FBQyxHQUFTO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQ2xELENBQUM7SUFFTSxHQUFHLENBQUMsR0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3RDLENBQUM7SUFFTSxHQUFHLENBQUMsR0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3RDLENBQUM7SUFFRCxNQUFNO0lBRU4sSUFBVyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDN0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUNqRCxDQUFDO0lBRUQsSUFBVyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBRU0sT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUN2QyxDQUFDO0lBRU0sT0FBTyxDQUNaLFVBQXNFLEVBQ3RFLE9BQWE7UUFFYixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUMxRCxDQUFDO0lBRU0sSUFBSTtRQUNULE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUNwQyxDQUFDO0lBRU0sTUFBTTtRQUNYLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtJQUN0QyxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXBFLE1BQU0sQ0FBTyxRQUE2QztRQUNoRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO1FBQ2xDLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNyQixPQUFPLEdBQUcsQ0FBQTtJQUNaLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcblxuZXhwb3J0IGNsYXNzIFJlYWN0aXZlTWFwPFRLZXksIFRWYWx1ZT4gaW1wbGVtZW50cyBNYXA8VEtleSwgVFZhbHVlPiB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX21hcDogQmVoYXZpb3JTdWJqZWN0PE1hcDxUS2V5LCBUVmFsdWU+PlxuXG4gIHB1YmxpYyByZWFkb25seSBtYXAkOiBPYnNlcnZhYmxlPE1hcDxUS2V5LCBUVmFsdWU+PlxuICBwdWJsaWMgcmVhZG9ubHkgdmFsdWVzJDogT2JzZXJ2YWJsZTxUVmFsdWVbXT5cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3Rvcihpbml0aWFsVmFsdWU/OiBNYXA8VEtleSwgVFZhbHVlPikge1xuICAgIHRoaXMuX21hcCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWFwPFRLZXksIFRWYWx1ZT4+KGluaXRpYWxWYWx1ZSA/PyBuZXcgTWFwKCkpXG5cbiAgICB0aGlzLm1hcCQgPSB0aGlzLl9tYXAuYXNPYnNlcnZhYmxlKClcbiAgICB0aGlzLnZhbHVlcyQgPSB0aGlzLl9tYXAucGlwZShtYXAoKG15TWFwKSA9PiBBcnJheS5mcm9tKG15TWFwLnZhbHVlcygpKSkpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IHNpemUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbWFwLmdldFZhbHVlKCkuc2l6ZVxuICB9XG5cbiAgcHVibGljIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMubW9kaWZ5KChteU1hcCkgPT4gbXlNYXAuY2xlYXIoKSlcbiAgfVxuXG4gIHB1YmxpYyBzZXQoa2V5OiBUS2V5LCB2YWx1ZTogVFZhbHVlKTogdGhpcyB7XG4gICAgdGhpcy5tb2RpZnkoKG15TWFwKSA9PiBteU1hcC5zZXQoa2V5LCB2YWx1ZSkpXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIHB1YmxpYyBkZWxldGUoa2V5OiBUS2V5KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubW9kaWZ5KChteU1hcCkgPT4gbXlNYXAuZGVsZXRlKGtleSkpXG4gIH1cblxuICBwdWJsaWMgZ2V0KGtleTogVEtleSk6IFRWYWx1ZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX21hcC5nZXRWYWx1ZSgpLmdldChrZXkpXG4gIH1cblxuICBwdWJsaWMgaGFzKGtleTogVEtleSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9tYXAuZ2V0VmFsdWUoKS5oYXMoa2V5KVxuICB9XG5cbiAgLy8gLS0tXG5cbiAgcHVibGljIGdldCBbU3ltYm9sLnRvU3RyaW5nVGFnXSgpIHtcbiAgICByZXR1cm4gdGhpcy5fbWFwLmdldFZhbHVlKClbU3ltYm9sLnRvU3RyaW5nVGFnXVxuICB9XG5cbiAgcHVibGljIGdldCBbU3ltYm9sLml0ZXJhdG9yXSgpIHtcbiAgICByZXR1cm4gdGhpcy5fbWFwLmdldFZhbHVlKClbU3ltYm9sLml0ZXJhdG9yXVxuICB9XG5cbiAgcHVibGljIGVudHJpZXMoKTogSXRlcmFibGVJdGVyYXRvcjxbVEtleSwgVFZhbHVlXT4ge1xuICAgIHJldHVybiB0aGlzLl9tYXAuZ2V0VmFsdWUoKS5lbnRyaWVzKClcbiAgfVxuXG4gIHB1YmxpYyBmb3JFYWNoKFxuICAgIGNhbGxiYWNrZm46ICh2YWx1ZTogVFZhbHVlLCBrZXk6IFRLZXksIG1hcDogTWFwPFRLZXksIFRWYWx1ZT4pID0+IHZvaWQsXG4gICAgdGhpc0FyZz86IGFueVxuICApOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5fbWFwLmdldFZhbHVlKCkuZm9yRWFjaChjYWxsYmFja2ZuLCB0aGlzQXJnKVxuICB9XG5cbiAgcHVibGljIGtleXMoKTogSXRlcmFibGVJdGVyYXRvcjxUS2V5PiB7XG4gICAgcmV0dXJuIHRoaXMuX21hcC5nZXRWYWx1ZSgpLmtleXMoKVxuICB9XG5cbiAgcHVibGljIHZhbHVlcygpOiBJdGVyYWJsZUl0ZXJhdG9yPFRWYWx1ZT4ge1xuICAgIHJldHVybiB0aGlzLl9tYXAuZ2V0VmFsdWUoKS52YWx1ZXMoKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBtb2RpZnk8VFJldD4obW9kaWZ5Rm46IChtYXBWYWw6IE1hcDxUS2V5LCBUVmFsdWU+KSA9PiBUUmV0KTogVFJldCB7XG4gICAgY29uc3QgbXlNYXAgPSB0aGlzLl9tYXAuZ2V0VmFsdWUoKVxuICAgIGNvbnN0IHJldCA9IG1vZGlmeUZuKG15TWFwKVxuICAgIHRoaXMuX21hcC5uZXh0KG15TWFwKVxuICAgIHJldHVybiByZXRcbiAgfVxufVxuIl19
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { concat, defer, exhaustMap, finalize, ReplaySubject, timer, } from 'rxjs';
|
|
2
|
-
import { filter, map, takeUntil, takeWhile, tap } from 'rxjs/operators';
|
|
3
|
-
/**
|
|
4
|
-
* Similar to sampleTime, but emits the first event and optionally the last event as-well.
|
|
5
|
-
* @param intervalDuration
|
|
6
|
-
* @param includeFinal
|
|
7
|
-
*/
|
|
8
|
-
export function lazySampleTime(intervalDuration, includeFinal = true) {
|
|
9
|
-
return lazySample(() => timer(0, intervalDuration), includeFinal);
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
*
|
|
13
|
-
* @see https://medium.com/@jan.benscheid/rxjs-rate-limiting-and-the-quest-for-the-perfect-throttle-836612c88eb7
|
|
14
|
-
* @param notifierSelector
|
|
15
|
-
* @param includeFinal
|
|
16
|
-
*/
|
|
17
|
-
export function lazySample(notifierSelector, includeFinal = true) {
|
|
18
|
-
return (source) => defer(() => {
|
|
19
|
-
const finalValue = new ReplaySubject();
|
|
20
|
-
let hasValue = false;
|
|
21
|
-
let lastValue = null;
|
|
22
|
-
return concat(source.pipe(tap((val) => {
|
|
23
|
-
lastValue = val;
|
|
24
|
-
hasValue = true;
|
|
25
|
-
}), finalize(() => {
|
|
26
|
-
finalValue.next(lastValue);
|
|
27
|
-
finalValue.complete();
|
|
28
|
-
}), exhaustMap((value) => notifierSelector(value).pipe(takeUntil(finalValue), takeWhile(() => hasValue), map(() => {
|
|
29
|
-
hasValue = false;
|
|
30
|
-
return lastValue;
|
|
31
|
-
})))), finalValue.pipe(filter(() => hasValue && includeFinal)));
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS1zYW1wbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21tb24vcnhqcy9vcGVyYXRvcnMvbGF6eS1zYW1wbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE1BQU0sRUFDTixLQUFLLEVBQ0wsVUFBVSxFQUNWLFFBQVEsRUFHUixhQUFhLEVBQ2IsS0FBSyxHQUNOLE1BQU0sTUFBTSxDQUFBO0FBQ2IsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUV2RTs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsZ0JBQXdCLEVBQ3hCLGVBQXdCLElBQUk7SUFFNUIsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFBO0FBQ25FLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQ3hCLGdCQUErQyxFQUMvQyxlQUF3QixJQUFJO0lBRTVCLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNoQixLQUFLLENBQUMsR0FBRyxFQUFFO1FBQ1QsTUFBTSxVQUFVLEdBQUcsSUFBSSxhQUFhLEVBQUssQ0FBQTtRQUN6QyxJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUE7UUFDcEIsSUFBSSxTQUFTLEdBQWEsSUFBSSxDQUFBO1FBRTlCLE9BQU8sTUFBTSxDQUNYLE1BQU0sQ0FBQyxJQUFJLENBQ1QsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDVixTQUFTLEdBQUcsR0FBRyxDQUFBO1lBQ2YsUUFBUSxHQUFHLElBQUksQ0FBQTtRQUNqQixDQUFDLENBQUMsRUFDRixRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ1osVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtZQUMxQixVQUFVLENBQUMsUUFBUSxFQUFFLENBQUE7UUFDdkIsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDbkIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUMxQixTQUFTLENBQUMsVUFBVSxDQUFDLEVBQ3JCLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFDekIsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNQLFFBQVEsR0FBRyxLQUFLLENBQUE7WUFDaEIsT0FBTyxTQUFTLENBQUE7UUFDbEIsQ0FBQyxDQUFDLENBQ0gsQ0FDRixDQUNGLEVBQ0QsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQ3hELENBQUE7SUFDSCxDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBjb25jYXQsXG4gIGRlZmVyLFxuICBleGhhdXN0TWFwLFxuICBmaW5hbGl6ZSxcbiAgTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uLFxuICBPYnNlcnZhYmxlLFxuICBSZXBsYXlTdWJqZWN0LFxuICB0aW1lcixcbn0gZnJvbSAncnhqcydcbmltcG9ydCB7IGZpbHRlciwgbWFwLCB0YWtlVW50aWwsIHRha2VXaGlsZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbi8qKlxuICogU2ltaWxhciB0byBzYW1wbGVUaW1lLCBidXQgZW1pdHMgdGhlIGZpcnN0IGV2ZW50IGFuZCBvcHRpb25hbGx5IHRoZSBsYXN0IGV2ZW50IGFzLXdlbGwuXG4gKiBAcGFyYW0gaW50ZXJ2YWxEdXJhdGlvblxuICogQHBhcmFtIGluY2x1ZGVGaW5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gbGF6eVNhbXBsZVRpbWU8VD4oXG4gIGludGVydmFsRHVyYXRpb246IG51bWJlcixcbiAgaW5jbHVkZUZpbmFsOiBib29sZWFuID0gdHJ1ZVxuKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcbiAgcmV0dXJuIGxhenlTYW1wbGUoKCkgPT4gdGltZXIoMCwgaW50ZXJ2YWxEdXJhdGlvbiksIGluY2x1ZGVGaW5hbClcbn1cblxuLyoqXG4gKlxuICogQHNlZSBodHRwczovL21lZGl1bS5jb20vQGphbi5iZW5zY2hlaWQvcnhqcy1yYXRlLWxpbWl0aW5nLWFuZC10aGUtcXVlc3QtZm9yLXRoZS1wZXJmZWN0LXRocm90dGxlLTgzNjYxMmM4OGViN1xuICogQHBhcmFtIG5vdGlmaWVyU2VsZWN0b3JcbiAqIEBwYXJhbSBpbmNsdWRlRmluYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxhenlTYW1wbGU8VD4oXG4gIG5vdGlmaWVyU2VsZWN0b3I6ICh2YWx1ZTogVCkgPT4gT2JzZXJ2YWJsZTxhbnk+LFxuICBpbmNsdWRlRmluYWw6IGJvb2xlYW4gPSB0cnVlXG4pOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD4ge1xuICByZXR1cm4gKHNvdXJjZSkgPT5cbiAgICBkZWZlcigoKSA9PiB7XG4gICAgICBjb25zdCBmaW5hbFZhbHVlID0gbmV3IFJlcGxheVN1YmplY3Q8VD4oKVxuICAgICAgbGV0IGhhc1ZhbHVlID0gZmFsc2VcbiAgICAgIGxldCBsYXN0VmFsdWU6IFQgfCBudWxsID0gbnVsbFxuXG4gICAgICByZXR1cm4gY29uY2F0KFxuICAgICAgICBzb3VyY2UucGlwZShcbiAgICAgICAgICB0YXAoKHZhbCkgPT4ge1xuICAgICAgICAgICAgbGFzdFZhbHVlID0gdmFsXG4gICAgICAgICAgICBoYXNWYWx1ZSA9IHRydWVcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICBmaW5hbFZhbHVlLm5leHQobGFzdFZhbHVlKVxuICAgICAgICAgICAgZmluYWxWYWx1ZS5jb21wbGV0ZSgpXG4gICAgICAgICAgfSksXG4gICAgICAgICAgZXhoYXVzdE1hcCgodmFsdWUpID0+XG4gICAgICAgICAgICBub3RpZmllclNlbGVjdG9yKHZhbHVlKS5waXBlKFxuICAgICAgICAgICAgICB0YWtlVW50aWwoZmluYWxWYWx1ZSksXG4gICAgICAgICAgICAgIHRha2VXaGlsZSgoKSA9PiBoYXNWYWx1ZSksXG4gICAgICAgICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaGFzVmFsdWUgPSBmYWxzZVxuICAgICAgICAgICAgICAgIHJldHVybiBsYXN0VmFsdWVcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICAgIGZpbmFsVmFsdWUucGlwZShmaWx0ZXIoKCkgPT4gaGFzVmFsdWUgJiYgaW5jbHVkZUZpbmFsKSlcbiAgICAgIClcbiAgICB9KVxufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './operators/lazy-sample';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9yeGpzL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vb3BlcmF0b3JzL2xhenktc2FtcGxlJ1xuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './selection-model';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9zZWxlY3Rpb24vcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zZWxlY3Rpb24tbW9kZWwnXG4iXX0=
|
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
import { BehaviorSubject } from 'rxjs';
|
|
2
|
-
import { map, skip } from 'rxjs/operators';
|
|
3
|
-
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
4
|
-
/**
|
|
5
|
-
* Provides a model of a selection.
|
|
6
|
-
* Supports single and multi selection.
|
|
7
|
-
*
|
|
8
|
-
* Supports custom selection equality (default by object value)
|
|
9
|
-
*/
|
|
10
|
-
export class SelectionModel {
|
|
11
|
-
static { this.FallbackKeyGetterFn = (a) => a; }
|
|
12
|
-
/***************************************************************************
|
|
13
|
-
* *
|
|
14
|
-
* Constructor *
|
|
15
|
-
* *
|
|
16
|
-
**************************************************************************/
|
|
17
|
-
/**
|
|
18
|
-
* Creates a new SelectionModel
|
|
19
|
-
*
|
|
20
|
-
* @param multiple Support multi selection?
|
|
21
|
-
* @param initial the initial selection
|
|
22
|
-
* @param keyGetter value identity - default to value object equality
|
|
23
|
-
* @param selectableEvaluatorFn function to evaluate if the element in question is selectable
|
|
24
|
-
*/
|
|
25
|
-
constructor(multiple = false, initial, keyGetter = SelectionModel.FallbackKeyGetterFn, selectableEvaluatorFn = () => true) {
|
|
26
|
-
/***************************************************************************
|
|
27
|
-
* *
|
|
28
|
-
* Fields *
|
|
29
|
-
* *
|
|
30
|
-
**************************************************************************/
|
|
31
|
-
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
32
|
-
this._selectionMap = new Map();
|
|
33
|
-
this._selection = new BehaviorSubject([]);
|
|
34
|
-
this._multiple = multiple;
|
|
35
|
-
this._keyGetterFn = keyGetter;
|
|
36
|
-
this._selectableEvaluatorFn = selectableEvaluatorFn;
|
|
37
|
-
if (initial) {
|
|
38
|
-
this.replaceSelection(initial, 'initial');
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
/***************************************************************************
|
|
42
|
-
* *
|
|
43
|
-
* Properties *
|
|
44
|
-
* *
|
|
45
|
-
**************************************************************************/
|
|
46
|
-
get changed() {
|
|
47
|
-
return this.selection.pipe(skip(1) // Skip the initial value
|
|
48
|
-
);
|
|
49
|
-
}
|
|
50
|
-
get selection() {
|
|
51
|
-
return this._selection.asObservable();
|
|
52
|
-
}
|
|
53
|
-
get selectionSnapshot() {
|
|
54
|
-
return this._selection.getValue();
|
|
55
|
-
}
|
|
56
|
-
set selectableEvaluatorFn(fn) {
|
|
57
|
-
this._selectableEvaluatorFn = fn;
|
|
58
|
-
this.replaceSelection(this.selectionSnapshot, 'selectableEvaluatorFn');
|
|
59
|
-
}
|
|
60
|
-
set keyGetterFn(fn) {
|
|
61
|
-
this._keyGetterFn = fn;
|
|
62
|
-
this.replaceSelection(this.selectionSnapshot, 'keyGetterFn');
|
|
63
|
-
}
|
|
64
|
-
/***************************************************************************
|
|
65
|
-
* *
|
|
66
|
-
* Public API *
|
|
67
|
-
* *
|
|
68
|
-
**************************************************************************/
|
|
69
|
-
/**
|
|
70
|
-
* Evaluates if the given item is selectable based on the initially set 'selectable' function.
|
|
71
|
-
* If no function has been set (or function is null), all items are selectable by default.
|
|
72
|
-
*/
|
|
73
|
-
isSelectable(item) {
|
|
74
|
-
if (this._selectableEvaluatorFn) {
|
|
75
|
-
return this._selectableEvaluatorFn(item);
|
|
76
|
-
}
|
|
77
|
-
return true;
|
|
78
|
-
}
|
|
79
|
-
clear() {
|
|
80
|
-
if (this._selectionMap.size > 0) {
|
|
81
|
-
this._selectionMap.clear();
|
|
82
|
-
this.selectionChanged('clear');
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
replaceSelection(newSelection, origin) {
|
|
86
|
-
if (newSelection.length > 0) {
|
|
87
|
-
this._selectionMap.clear();
|
|
88
|
-
this.select(newSelection, origin ? origin + '->replaceSelection' : 'replaceSelection');
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
this.clear();
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
select(values, origin) {
|
|
95
|
-
if (this.selectInternal(values)) {
|
|
96
|
-
this.selectionChanged(origin ?? 'selectInternal[has-changes]');
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
deselect(values) {
|
|
100
|
-
this.deselectIds(values.map((v) => this._keyGetterFn(v)));
|
|
101
|
-
}
|
|
102
|
-
deselectIds(ids) {
|
|
103
|
-
let anyChange = false;
|
|
104
|
-
ids.forEach((key) => {
|
|
105
|
-
if (this._selectionMap.delete(key)) {
|
|
106
|
-
anyChange = true;
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
if (anyChange) {
|
|
110
|
-
this.selectionChanged('deselectIds');
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
toggle(value) {
|
|
114
|
-
this.log.debug('toggling selection of value id:' + this._keyGetterFn(value));
|
|
115
|
-
if (this.isSelected(value)) {
|
|
116
|
-
this.deselect([value]);
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
this.select([value], 'toggle');
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
isSelected(value) {
|
|
123
|
-
const key = this._keyGetterFn(value);
|
|
124
|
-
return this._selectionMap.has(key);
|
|
125
|
-
}
|
|
126
|
-
observeSelection(value) {
|
|
127
|
-
const key = this._keyGetterFn(value);
|
|
128
|
-
return this._selection.pipe(map((selected) => this._selectionMap.has(key)));
|
|
129
|
-
}
|
|
130
|
-
get count() {
|
|
131
|
-
return this._selectionMap.size;
|
|
132
|
-
}
|
|
133
|
-
get isEmpty() {
|
|
134
|
-
return this._selectionMap.size === 0;
|
|
135
|
-
}
|
|
136
|
-
get hasValue() {
|
|
137
|
-
return this._selectionMap.size > 0;
|
|
138
|
-
}
|
|
139
|
-
get hasSingleValue() {
|
|
140
|
-
return this._selectionMap.size === 1;
|
|
141
|
-
}
|
|
142
|
-
get hasMultipleValues() {
|
|
143
|
-
return this._selectionMap.size > 1;
|
|
144
|
-
}
|
|
145
|
-
get isMultipleSelection() {
|
|
146
|
-
return this._multiple;
|
|
147
|
-
}
|
|
148
|
-
set isMultipleSelection(multiple) {
|
|
149
|
-
if (multiple !== this._multiple) {
|
|
150
|
-
this._multiple = multiple;
|
|
151
|
-
if (!this._multiple) {
|
|
152
|
-
const selected = this.selectionSnapshot;
|
|
153
|
-
if (selected.length > 1) {
|
|
154
|
-
this.log.debug('Multiple selection was deactivated but there where more than one selected items present, fixing now!');
|
|
155
|
-
this.select([selected[0]], 'isMultipleSelection');
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
this.selectionChanged('multi-selection-toggle');
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
/***************************************************************************
|
|
162
|
-
* *
|
|
163
|
-
* Private methods *
|
|
164
|
-
* *
|
|
165
|
-
**************************************************************************/
|
|
166
|
-
selectionChanged(origin) {
|
|
167
|
-
const selected = Array.from(this._selectionMap.values());
|
|
168
|
-
this.log.debug('selectionChanged triggered by ' + origin, selected);
|
|
169
|
-
this._selection.next(selected);
|
|
170
|
-
}
|
|
171
|
-
selectInternal(values) {
|
|
172
|
-
values = values.filter((v) => this.isSelectable(v));
|
|
173
|
-
if (values && values.length > 0) {
|
|
174
|
-
if (this._multiple) {
|
|
175
|
-
// Multi selection
|
|
176
|
-
return this.ensureSelectedMulti(values);
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
// Single selection
|
|
180
|
-
const single = values[0]; // Maybe last is better?
|
|
181
|
-
return this.ensureSelectedSingle(single);
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
return false;
|
|
185
|
-
}
|
|
186
|
-
ensureSelectedMulti(values) {
|
|
187
|
-
if (!this.isAlreadySelected(values)) {
|
|
188
|
-
values.forEach((value) => {
|
|
189
|
-
this._selectionMap.set(this._keyGetterFn(value), value);
|
|
190
|
-
});
|
|
191
|
-
return true;
|
|
192
|
-
}
|
|
193
|
-
return false;
|
|
194
|
-
}
|
|
195
|
-
isExclusiveSelected(value) {
|
|
196
|
-
return this.isSelected(value) && this._selectionMap.size === 1;
|
|
197
|
-
}
|
|
198
|
-
isAlreadySelected(values) {
|
|
199
|
-
if (this._selectionMap.size >= values.length) {
|
|
200
|
-
return values.every((v) => this.isSelected(v));
|
|
201
|
-
}
|
|
202
|
-
return false;
|
|
203
|
-
}
|
|
204
|
-
ensureSelectedSingle(value) {
|
|
205
|
-
if (!this.isExclusiveSelected(value)) {
|
|
206
|
-
this._selectionMap.clear();
|
|
207
|
-
this._selectionMap.set(this._keyGetterFn(value), value);
|
|
208
|
-
return true;
|
|
209
|
-
}
|
|
210
|
-
return false;
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL3NlbGVjdGlvbi9zZWxlY3Rpb24tbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQTtBQUNsRCxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUlwRDs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxjQUFjO2FBZUYsd0JBQW1CLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQUFBaEIsQ0FBZ0I7SUFFMUQ7Ozs7Z0ZBSTRFO0lBRTVFOzs7Ozs7O09BT0c7SUFDSCxZQUNFLFFBQVEsR0FBRyxLQUFLLEVBQ2hCLE9BQWEsRUFDYixZQUE0QixjQUFjLENBQUMsbUJBQW1CLEVBQzlELHdCQUE4QyxHQUFHLEVBQUUsQ0FBQyxJQUFJO1FBbEMxRDs7OztvRkFJNEU7UUFFM0QsUUFBRyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUdwRCxrQkFBYSxHQUFHLElBQUksR0FBRyxFQUFVLENBQUE7UUFDakMsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFNLEVBQUUsQ0FBQyxDQUFBO1FBMEJ4RCxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQTtRQUN6QixJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQTtRQUM3QixJQUFJLENBQUMsc0JBQXNCLEdBQUcscUJBQXFCLENBQUE7UUFDbkQsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUE7UUFDM0MsQ0FBQztJQUNILENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ3hCLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyx5QkFBeUI7U0FDbEMsQ0FBQTtJQUNILENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFBO0lBQ3ZDLENBQUM7SUFFRCxJQUFXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDbkMsQ0FBQztJQUVELElBQVcscUJBQXFCLENBQUMsRUFBd0I7UUFDdkQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEVBQUUsQ0FBQTtRQUNoQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLHVCQUF1QixDQUFDLENBQUE7SUFDeEUsQ0FBQztJQUVELElBQVcsV0FBVyxDQUFDLEVBQWtCO1FBQ3ZDLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFBO1FBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsYUFBYSxDQUFDLENBQUE7SUFDOUQsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RTs7O09BR0c7SUFDSSxZQUFZLENBQUMsSUFBTztRQUN6QixJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ2hDLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzFDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFBO1lBQzFCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUNoQyxDQUFDO0lBQ0gsQ0FBQztJQUVNLGdCQUFnQixDQUFDLFlBQWlCLEVBQUUsTUFBZTtRQUN4RCxJQUFJLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtZQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUN4RixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUNkLENBQUM7SUFDSCxDQUFDO0lBRU0sTUFBTSxDQUFDLE1BQVcsRUFBRSxNQUFlO1FBQ3hDLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLElBQUksNkJBQTZCLENBQUMsQ0FBQTtRQUNoRSxDQUFDO0lBQ0gsQ0FBQztJQUVNLFFBQVEsQ0FBQyxNQUFXO1FBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDM0QsQ0FBQztJQUVNLFdBQVcsQ0FBQyxHQUFVO1FBQzNCLElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQTtRQUVyQixHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDbEIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNuQyxTQUFTLEdBQUcsSUFBSSxDQUFBO1lBQ2xCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQTtRQUVGLElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUE7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFFTSxNQUFNLENBQUMsS0FBUTtRQUNwQixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxpQ0FBaUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7UUFFNUUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7UUFDeEIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUE7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFTSxVQUFVLENBQUMsS0FBUTtRQUN4QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDcEMsQ0FBQztJQUVNLGdCQUFnQixDQUFDLEtBQVE7UUFDOUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNwQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzdFLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFBO0lBQ2hDLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksS0FBSyxDQUFDLENBQUE7SUFDdEMsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQTtJQUNwQyxDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFBO0lBQ3RDLENBQUM7SUFFRCxJQUFXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQTtJQUNwQyxDQUFDO0lBRUQsSUFBVyxtQkFBbUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFBO0lBQ3ZCLENBQUM7SUFFRCxJQUFXLG1CQUFtQixDQUFDLFFBQWlCO1FBQzlDLElBQUksUUFBUSxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQTtZQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNwQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUE7Z0JBQ3ZDLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDeEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQ1osc0dBQXNHLENBQ3ZHLENBQUE7b0JBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLHFCQUFxQixDQUFDLENBQUE7Z0JBQ25ELENBQUM7WUFDSCxDQUFDO1lBQ0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHdCQUF3QixDQUFDLENBQUE7UUFDakQsQ0FBQztJQUNILENBQUM7SUFFRDs7OztnRkFJNEU7SUFFcEUsZ0JBQWdCLENBQUMsTUFBYztRQUNyQyxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQTtRQUN4RCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsR0FBRyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUE7UUFFbkUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDaEMsQ0FBQztJQUVPLGNBQWMsQ0FBQyxNQUFXO1FBQ2hDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFbkQsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDbkIsa0JBQWtCO2dCQUNsQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUN6QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sbUJBQW1CO2dCQUNuQixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyx3QkFBd0I7Z0JBQ2pELE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQzFDLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBRU8sbUJBQW1CLENBQUMsTUFBVztRQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDcEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFBO1lBQ3pELENBQUMsQ0FBQyxDQUFBO1lBQ0YsT0FBTyxJQUFJLENBQUE7UUFDYixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBRU8sbUJBQW1CLENBQUMsS0FBUTtRQUNsQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFBO0lBQ2hFLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxNQUFXO1FBQ25DLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzdDLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ2hELENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxLQUFRO1FBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFBO1lBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUE7WUFDdkQsT0FBTyxJQUFJLENBQUE7UUFDYixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IG1hcCwgc2tpcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgTG9nZ2VyRmFjdG9yeSB9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJ1xuXG5leHBvcnQgdHlwZSBLZXlHZXR0ZXJGbjxUPiA9IChpdGVtOiBUKSA9PiBhbnlcblxuLyoqXG4gKiBQcm92aWRlcyBhIG1vZGVsIG9mIGEgc2VsZWN0aW9uLlxuICogU3VwcG9ydHMgc2luZ2xlIGFuZCBtdWx0aSBzZWxlY3Rpb24uXG4gKlxuICogU3VwcG9ydHMgY3VzdG9tIHNlbGVjdGlvbiBlcXVhbGl0eSAoZGVmYXVsdCBieSBvYmplY3QgdmFsdWUpXG4gKi9cbmV4cG9ydCBjbGFzcyBTZWxlY3Rpb25Nb2RlbDxUPiB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKVxuXG4gIHByaXZhdGUgX211bHRpcGxlOiBib29sZWFuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdGlvbk1hcCA9IG5ldyBNYXA8YW55LCBUPigpXG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdGlvbiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VFtdPihbXSlcbiAgcHJpdmF0ZSBfa2V5R2V0dGVyRm46IEtleUdldHRlckZuPFQ+XG4gIHByaXZhdGUgX3NlbGVjdGFibGVFdmFsdWF0b3JGbjogKGl0ZW06IFQpID0+IGJvb2xlYW5cblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEZhbGxiYWNrS2V5R2V0dGVyRm4gPSAoYTogYW55KSA9PiBhXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgU2VsZWN0aW9uTW9kZWxcbiAgICpcbiAgICogQHBhcmFtIG11bHRpcGxlIFN1cHBvcnQgbXVsdGkgc2VsZWN0aW9uP1xuICAgKiBAcGFyYW0gaW5pdGlhbCB0aGUgaW5pdGlhbCBzZWxlY3Rpb25cbiAgICogQHBhcmFtIGtleUdldHRlciB2YWx1ZSBpZGVudGl0eSAtIGRlZmF1bHQgdG8gdmFsdWUgb2JqZWN0IGVxdWFsaXR5XG4gICAqIEBwYXJhbSBzZWxlY3RhYmxlRXZhbHVhdG9yRm4gZnVuY3Rpb24gdG8gZXZhbHVhdGUgaWYgdGhlIGVsZW1lbnQgaW4gcXVlc3Rpb24gaXMgc2VsZWN0YWJsZVxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgbXVsdGlwbGUgPSBmYWxzZSxcbiAgICBpbml0aWFsPzogVFtdLFxuICAgIGtleUdldHRlcjogS2V5R2V0dGVyRm48VD4gPSBTZWxlY3Rpb25Nb2RlbC5GYWxsYmFja0tleUdldHRlckZuLFxuICAgIHNlbGVjdGFibGVFdmFsdWF0b3JGbjogKGl0ZW06IFQpID0+IGJvb2xlYW4gPSAoKSA9PiB0cnVlXG4gICkge1xuICAgIHRoaXMuX211bHRpcGxlID0gbXVsdGlwbGVcbiAgICB0aGlzLl9rZXlHZXR0ZXJGbiA9IGtleUdldHRlclxuICAgIHRoaXMuX3NlbGVjdGFibGVFdmFsdWF0b3JGbiA9IHNlbGVjdGFibGVFdmFsdWF0b3JGblxuICAgIGlmIChpbml0aWFsKSB7XG4gICAgICB0aGlzLnJlcGxhY2VTZWxlY3Rpb24oaW5pdGlhbCwgJ2luaXRpYWwnKVxuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgY2hhbmdlZCgpOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbi5waXBlKFxuICAgICAgc2tpcCgxKSAvLyBTa2lwIHRoZSBpbml0aWFsIHZhbHVlXG4gICAgKVxuICB9XG5cbiAgcHVibGljIGdldCBzZWxlY3Rpb24oKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uLmFzT2JzZXJ2YWJsZSgpXG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlbGVjdGlvblNuYXBzaG90KCk6IFRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbi5nZXRWYWx1ZSgpXG4gIH1cblxuICBwdWJsaWMgc2V0IHNlbGVjdGFibGVFdmFsdWF0b3JGbihmbjogKGl0ZW06IFQpID0+IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zZWxlY3RhYmxlRXZhbHVhdG9yRm4gPSBmblxuICAgIHRoaXMucmVwbGFjZVNlbGVjdGlvbih0aGlzLnNlbGVjdGlvblNuYXBzaG90LCAnc2VsZWN0YWJsZUV2YWx1YXRvckZuJylcbiAgfVxuXG4gIHB1YmxpYyBzZXQga2V5R2V0dGVyRm4oZm46IEtleUdldHRlckZuPFQ+KSB7XG4gICAgdGhpcy5fa2V5R2V0dGVyRm4gPSBmblxuICAgIHRoaXMucmVwbGFjZVNlbGVjdGlvbih0aGlzLnNlbGVjdGlvblNuYXBzaG90LCAna2V5R2V0dGVyRm4nKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIEV2YWx1YXRlcyBpZiB0aGUgZ2l2ZW4gaXRlbSBpcyBzZWxlY3RhYmxlIGJhc2VkIG9uIHRoZSBpbml0aWFsbHkgc2V0ICdzZWxlY3RhYmxlJyBmdW5jdGlvbi5cbiAgICogSWYgbm8gZnVuY3Rpb24gaGFzIGJlZW4gc2V0IChvciBmdW5jdGlvbiBpcyBudWxsKSwgYWxsIGl0ZW1zIGFyZSBzZWxlY3RhYmxlIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBwdWJsaWMgaXNTZWxlY3RhYmxlKGl0ZW06IFQpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5fc2VsZWN0YWJsZUV2YWx1YXRvckZuKSB7XG4gICAgICByZXR1cm4gdGhpcy5fc2VsZWN0YWJsZUV2YWx1YXRvckZuKGl0ZW0pXG4gICAgfVxuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3NlbGVjdGlvbk1hcC5zaXplID4gMCkge1xuICAgICAgdGhpcy5fc2VsZWN0aW9uTWFwLmNsZWFyKClcbiAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlZCgnY2xlYXInKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZXBsYWNlU2VsZWN0aW9uKG5ld1NlbGVjdGlvbjogVFtdLCBvcmlnaW4/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAobmV3U2VsZWN0aW9uLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuX3NlbGVjdGlvbk1hcC5jbGVhcigpXG4gICAgICB0aGlzLnNlbGVjdChuZXdTZWxlY3Rpb24sIG9yaWdpbiA/IG9yaWdpbiArICctPnJlcGxhY2VTZWxlY3Rpb24nIDogJ3JlcGxhY2VTZWxlY3Rpb24nKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNsZWFyKClcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0KHZhbHVlczogVFtdLCBvcmlnaW4/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RJbnRlcm5hbCh2YWx1ZXMpKSB7XG4gICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZWQob3JpZ2luID8/ICdzZWxlY3RJbnRlcm5hbFtoYXMtY2hhbmdlc10nKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkZXNlbGVjdCh2YWx1ZXM6IFRbXSk6IHZvaWQge1xuICAgIHRoaXMuZGVzZWxlY3RJZHModmFsdWVzLm1hcCgodikgPT4gdGhpcy5fa2V5R2V0dGVyRm4odikpKVxuICB9XG5cbiAgcHVibGljIGRlc2VsZWN0SWRzKGlkczogYW55W10pOiB2b2lkIHtcbiAgICBsZXQgYW55Q2hhbmdlID0gZmFsc2VcblxuICAgIGlkcy5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGlmICh0aGlzLl9zZWxlY3Rpb25NYXAuZGVsZXRlKGtleSkpIHtcbiAgICAgICAgYW55Q2hhbmdlID0gdHJ1ZVxuICAgICAgfVxuICAgIH0pXG5cbiAgICBpZiAoYW55Q2hhbmdlKSB7XG4gICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZWQoJ2Rlc2VsZWN0SWRzJylcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlKHZhbHVlOiBUKTogdm9pZCB7XG4gICAgdGhpcy5sb2cuZGVidWcoJ3RvZ2dsaW5nIHNlbGVjdGlvbiBvZiB2YWx1ZSBpZDonICsgdGhpcy5fa2V5R2V0dGVyRm4odmFsdWUpKVxuXG4gICAgaWYgKHRoaXMuaXNTZWxlY3RlZCh2YWx1ZSkpIHtcbiAgICAgIHRoaXMuZGVzZWxlY3QoW3ZhbHVlXSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3QoW3ZhbHVlXSwgJ3RvZ2dsZScpXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzU2VsZWN0ZWQodmFsdWU6IFQpOiBib29sZWFuIHtcbiAgICBjb25zdCBrZXkgPSB0aGlzLl9rZXlHZXR0ZXJGbih2YWx1ZSlcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTWFwLmhhcyhrZXkpXG4gIH1cblxuICBwdWJsaWMgb2JzZXJ2ZVNlbGVjdGlvbih2YWx1ZTogVCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGtleSA9IHRoaXMuX2tleUdldHRlckZuKHZhbHVlKVxuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb24ucGlwZShtYXAoKHNlbGVjdGVkKSA9PiB0aGlzLl9zZWxlY3Rpb25NYXAuaGFzKGtleSkpKVxuICB9XG5cbiAgcHVibGljIGdldCBjb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb25NYXAuc2l6ZVxuICB9XG5cbiAgcHVibGljIGdldCBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb25NYXAuc2l6ZSA9PT0gMFxuICB9XG5cbiAgcHVibGljIGdldCBoYXNWYWx1ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTWFwLnNpemUgPiAwXG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc1NpbmdsZVZhbHVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb25NYXAuc2l6ZSA9PT0gMVxuICB9XG5cbiAgcHVibGljIGdldCBoYXNNdWx0aXBsZVZhbHVlcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTWFwLnNpemUgPiAxXG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzTXVsdGlwbGVTZWxlY3Rpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX211bHRpcGxlXG4gIH1cblxuICBwdWJsaWMgc2V0IGlzTXVsdGlwbGVTZWxlY3Rpb24obXVsdGlwbGU6IGJvb2xlYW4pIHtcbiAgICBpZiAobXVsdGlwbGUgIT09IHRoaXMuX211bHRpcGxlKSB7XG4gICAgICB0aGlzLl9tdWx0aXBsZSA9IG11bHRpcGxlXG4gICAgICBpZiAoIXRoaXMuX211bHRpcGxlKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5zZWxlY3Rpb25TbmFwc2hvdFxuICAgICAgICBpZiAoc2VsZWN0ZWQubGVuZ3RoID4gMSkge1xuICAgICAgICAgIHRoaXMubG9nLmRlYnVnKFxuICAgICAgICAgICAgJ011bHRpcGxlIHNlbGVjdGlvbiB3YXMgZGVhY3RpdmF0ZWQgYnV0IHRoZXJlIHdoZXJlIG1vcmUgdGhhbiBvbmUgc2VsZWN0ZWQgaXRlbXMgcHJlc2VudCwgZml4aW5nIG5vdyEnXG4gICAgICAgICAgKVxuICAgICAgICAgIHRoaXMuc2VsZWN0KFtzZWxlY3RlZFswXV0sICdpc011bHRpcGxlU2VsZWN0aW9uJylcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2VkKCdtdWx0aS1zZWxlY3Rpb24tdG9nZ2xlJylcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHNlbGVjdGlvbkNoYW5nZWQob3JpZ2luOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RlZCA9IEFycmF5LmZyb20odGhpcy5fc2VsZWN0aW9uTWFwLnZhbHVlcygpKVxuICAgIHRoaXMubG9nLmRlYnVnKCdzZWxlY3Rpb25DaGFuZ2VkIHRyaWdnZXJlZCBieSAnICsgb3JpZ2luLCBzZWxlY3RlZClcblxuICAgIHRoaXMuX3NlbGVjdGlvbi5uZXh0KHNlbGVjdGVkKVxuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RJbnRlcm5hbCh2YWx1ZXM6IFRbXSk6IGJvb2xlYW4ge1xuICAgIHZhbHVlcyA9IHZhbHVlcy5maWx0ZXIoKHYpID0+IHRoaXMuaXNTZWxlY3RhYmxlKHYpKVxuXG4gICAgaWYgKHZhbHVlcyAmJiB2YWx1ZXMubGVuZ3RoID4gMCkge1xuICAgICAgaWYgKHRoaXMuX211bHRpcGxlKSB7XG4gICAgICAgIC8vIE11bHRpIHNlbGVjdGlvblxuICAgICAgICByZXR1cm4gdGhpcy5lbnN1cmVTZWxlY3RlZE11bHRpKHZhbHVlcylcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFNpbmdsZSBzZWxlY3Rpb25cbiAgICAgICAgY29uc3Qgc2luZ2xlID0gdmFsdWVzWzBdIC8vIE1heWJlIGxhc3QgaXMgYmV0dGVyP1xuICAgICAgICByZXR1cm4gdGhpcy5lbnN1cmVTZWxlY3RlZFNpbmdsZShzaW5nbGUpXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgcHJpdmF0ZSBlbnN1cmVTZWxlY3RlZE11bHRpKHZhbHVlczogVFtdKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLmlzQWxyZWFkeVNlbGVjdGVkKHZhbHVlcykpIHtcbiAgICAgIHZhbHVlcy5mb3JFYWNoKCh2YWx1ZSkgPT4ge1xuICAgICAgICB0aGlzLl9zZWxlY3Rpb25NYXAuc2V0KHRoaXMuX2tleUdldHRlckZuKHZhbHVlKSwgdmFsdWUpXG4gICAgICB9KVxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBwcml2YXRlIGlzRXhjbHVzaXZlU2VsZWN0ZWQodmFsdWU6IFQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1NlbGVjdGVkKHZhbHVlKSAmJiB0aGlzLl9zZWxlY3Rpb25NYXAuc2l6ZSA9PT0gMVxuICB9XG5cbiAgcHJpdmF0ZSBpc0FscmVhZHlTZWxlY3RlZCh2YWx1ZXM6IFRbXSk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLl9zZWxlY3Rpb25NYXAuc2l6ZSA+PSB2YWx1ZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdmFsdWVzLmV2ZXJ5KCh2KSA9PiB0aGlzLmlzU2VsZWN0ZWQodikpXG4gICAgfVxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgcHJpdmF0ZSBlbnN1cmVTZWxlY3RlZFNpbmdsZSh2YWx1ZTogVCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5pc0V4Y2x1c2l2ZVNlbGVjdGVkKHZhbHVlKSkge1xuICAgICAgdGhpcy5fc2VsZWN0aW9uTWFwLmNsZWFyKClcbiAgICAgIHRoaXMuX3NlbGVjdGlvbk1hcC5zZXQodGhpcy5fa2V5R2V0dGVyRm4odmFsdWUpLCB2YWx1ZSlcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICAgIHJldHVybiBmYWxzZVxuICB9XG59XG4iXX0=
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
export class Sets {
|
|
2
|
-
/**
|
|
3
|
-
* Compares the content of two sets for equality in O(n).
|
|
4
|
-
* @param as
|
|
5
|
-
* @param bs
|
|
6
|
-
*/
|
|
7
|
-
static equals(as, bs) {
|
|
8
|
-
if (as.size !== bs.size) {
|
|
9
|
-
return false;
|
|
10
|
-
}
|
|
11
|
-
if (as !== bs) {
|
|
12
|
-
// Same reference?
|
|
13
|
-
return Sets.containsEvery(bs, Array.from(as.values()));
|
|
14
|
-
}
|
|
15
|
-
return true;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Checks if the two given arrays have the same content.
|
|
19
|
-
* They are handled as "Sets" and order of the items is not relevant for the check.
|
|
20
|
-
*
|
|
21
|
-
* @param idsA
|
|
22
|
-
* @param idsB
|
|
23
|
-
*/
|
|
24
|
-
static equalContent(idsA, idsB) {
|
|
25
|
-
if (!idsA?.length && !idsB?.length) {
|
|
26
|
-
return true;
|
|
27
|
-
}
|
|
28
|
-
if (!idsA || !idsB) {
|
|
29
|
-
return false;
|
|
30
|
-
}
|
|
31
|
-
if (idsA.length !== idsB.length) {
|
|
32
|
-
return false;
|
|
33
|
-
}
|
|
34
|
-
// Both element lists have content and the same length
|
|
35
|
-
return Sets.containsEvery(new Set(idsA), idsB);
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Checks if the given set contains every given element
|
|
39
|
-
*/
|
|
40
|
-
static containsEvery(set, elements) {
|
|
41
|
-
const predicateFn = (e) => set.has(e); // aot does not like lambdas
|
|
42
|
-
return elements.every(predicateFn);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9zZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxJQUFJO0lBQ2Y7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUksRUFBVSxFQUFFLEVBQVU7UUFDNUMsSUFBSSxFQUFFLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN4QixPQUFPLEtBQUssQ0FBQTtRQUNkLENBQUM7UUFDRCxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUNkLGtCQUFrQjtZQUNsQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUN4RCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FBSSxJQUFTLEVBQUUsSUFBUztRQUNoRCxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNuQyxPQUFPLElBQUksQ0FBQTtRQUNiLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkIsT0FBTyxLQUFLLENBQUE7UUFDZCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQyxPQUFPLEtBQUssQ0FBQTtRQUNkLENBQUM7UUFDRCxzREFBc0Q7UUFDdEQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ2hELENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxhQUFhLENBQUksR0FBVyxFQUFFLFFBQWE7UUFDdkQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyw0QkFBNEI7UUFDckUsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ3BDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBTZXRzIHtcbiAgLyoqXG4gICAqIENvbXBhcmVzIHRoZSBjb250ZW50IG9mIHR3byBzZXRzIGZvciBlcXVhbGl0eSBpbiBPKG4pLlxuICAgKiBAcGFyYW0gYXNcbiAgICogQHBhcmFtIGJzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGVxdWFsczxUPihhczogU2V0PFQ+LCBiczogU2V0PFQ+KSB7XG4gICAgaWYgKGFzLnNpemUgIT09IGJzLnNpemUpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgICBpZiAoYXMgIT09IGJzKSB7XG4gICAgICAvLyBTYW1lIHJlZmVyZW5jZT9cbiAgICAgIHJldHVybiBTZXRzLmNvbnRhaW5zRXZlcnkoYnMsIEFycmF5LmZyb20oYXMudmFsdWVzKCkpKVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgdHdvIGdpdmVuIGFycmF5cyBoYXZlIHRoZSBzYW1lIGNvbnRlbnQuXG4gICAqIFRoZXkgYXJlIGhhbmRsZWQgYXMgXCJTZXRzXCIgYW5kIG9yZGVyIG9mIHRoZSBpdGVtcyBpcyBub3QgcmVsZXZhbnQgZm9yIHRoZSBjaGVjay5cbiAgICpcbiAgICogQHBhcmFtIGlkc0FcbiAgICogQHBhcmFtIGlkc0JcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZXF1YWxDb250ZW50PFQ+KGlkc0E6IFRbXSwgaWRzQjogVFtdKSB7XG4gICAgaWYgKCFpZHNBPy5sZW5ndGggJiYgIWlkc0I/Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgaWYgKCFpZHNBIHx8ICFpZHNCKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gICAgaWYgKGlkc0EubGVuZ3RoICE9PSBpZHNCLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICAgIC8vIEJvdGggZWxlbWVudCBsaXN0cyBoYXZlIGNvbnRlbnQgYW5kIHRoZSBzYW1lIGxlbmd0aFxuICAgIHJldHVybiBTZXRzLmNvbnRhaW5zRXZlcnkobmV3IFNldChpZHNBKSwgaWRzQilcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGdpdmVuIHNldCBjb250YWlucyBldmVyeSBnaXZlbiBlbGVtZW50XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGNvbnRhaW5zRXZlcnk8VD4oc2V0OiBTZXQ8VD4sIGVsZW1lbnRzOiBUW10pOiBib29sZWFuIHtcbiAgICBjb25zdCBwcmVkaWNhdGVGbiA9IChlOiBUKSA9PiBzZXQuaGFzKGUpIC8vIGFvdCBkb2VzIG5vdCBsaWtlIGxhbWJkYXNcbiAgICByZXR1cm4gZWxlbWVudHMuZXZlcnkocHJlZGljYXRlRm4pXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export class SuggestionProvider {
|
|
2
|
-
static build(provider) {
|
|
3
|
-
return new SuggestionProvider(provider);
|
|
4
|
-
}
|
|
5
|
-
constructor(provider) {
|
|
6
|
-
this.provider = provider;
|
|
7
|
-
}
|
|
8
|
-
loadSuggestions(filter) {
|
|
9
|
-
return this.provider(filter);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VnZ2VzdGlvbi1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9zdWdnZXN0aW9uLXByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNBLE1BQU0sT0FBTyxrQkFBa0I7SUFDdEIsTUFBTSxDQUFDLEtBQUssQ0FBSSxRQUE2QztRQUNsRSxPQUFPLElBQUksa0JBQWtCLENBQUksUUFBUSxDQUFDLENBQUE7SUFDNUMsQ0FBQztJQUVELFlBQW9CLFFBQTZDO1FBQTdDLGFBQVEsR0FBUixRQUFRLENBQXFDO0lBQUcsQ0FBQztJQUU5RCxlQUFlLENBQUMsTUFBYztRQUNuQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDOUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5cbmV4cG9ydCBpbnRlcmZhY2UgSVN1Z2dlc3Rpb25Qcm92aWRlcjxUPiB7XG4gIC8qKlxuICAgKiBMb2FkcyBhbGwgc3VnZ2VzdGlvbnMsIGZpbHRlcmVkIGJ5IHRoZSBnaXZlbiBmaWx0ZXIgc3RyaW5nLlxuICAgKi9cbiAgbG9hZFN1Z2dlc3Rpb25zKGZpbHRlcjogc3RyaW5nIHwgbnVsbCk6IE9ic2VydmFibGU8VFtdPlxufVxuXG5leHBvcnQgY2xhc3MgU3VnZ2VzdGlvblByb3ZpZGVyPFQ+IGltcGxlbWVudHMgSVN1Z2dlc3Rpb25Qcm92aWRlcjxUPiB7XG4gIHB1YmxpYyBzdGF0aWMgYnVpbGQ8VD4ocHJvdmlkZXI6IChmaWx0ZXI6IHN0cmluZykgPT4gT2JzZXJ2YWJsZTxUW10+KTogSVN1Z2dlc3Rpb25Qcm92aWRlcjxUPiB7XG4gICAgcmV0dXJuIG5ldyBTdWdnZXN0aW9uUHJvdmlkZXI8VD4ocHJvdmlkZXIpXG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHByb3ZpZGVyOiAoZmlsdGVyOiBzdHJpbmcpID0+IE9ic2VydmFibGU8VFtdPikge31cblxuICBwdWJsaWMgbG9hZFN1Z2dlc3Rpb25zKGZpbHRlcjogc3RyaW5nKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICByZXR1cm4gdGhpcy5wcm92aWRlcihmaWx0ZXIpXG4gIH1cbn1cbiJdfQ==
|