@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,198 +0,0 @@
|
|
|
1
|
-
import { isContinuableDataSource, isListDataSource, isPagedDataSource, } from './data-source';
|
|
2
|
-
import { Page, Pageable } from '../page';
|
|
3
|
-
import { TokenChunkRequest } from '../token-chunk-request';
|
|
4
|
-
import { map, switchMap, takeWhile, tap } from 'rxjs/operators';
|
|
5
|
-
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
6
|
-
import { BehaviorSubject } from 'rxjs';
|
|
7
|
-
export var ProcessState;
|
|
8
|
-
(function (ProcessState) {
|
|
9
|
-
ProcessState["INIT"] = "INIT";
|
|
10
|
-
ProcessState["RUNNING"] = "RUNNING";
|
|
11
|
-
ProcessState["COMPLETED"] = "COMPLETED";
|
|
12
|
-
ProcessState["ERROR"] = "ERROR";
|
|
13
|
-
})(ProcessState || (ProcessState = {}));
|
|
14
|
-
export class ProcessIterationContext {
|
|
15
|
-
static init() {
|
|
16
|
-
return new ProcessIterationContext(ProcessState.INIT);
|
|
17
|
-
}
|
|
18
|
-
static processingList(list) {
|
|
19
|
-
return new ProcessIterationContext(ProcessState.RUNNING, list);
|
|
20
|
-
}
|
|
21
|
-
static processingPage(currentPage) {
|
|
22
|
-
return new ProcessIterationContext(ProcessState.RUNNING, null, currentPage);
|
|
23
|
-
}
|
|
24
|
-
static processingContinuable(currentChunk) {
|
|
25
|
-
return new ProcessIterationContext(ProcessState.RUNNING, null, null, currentChunk);
|
|
26
|
-
}
|
|
27
|
-
static completed() {
|
|
28
|
-
return new ProcessIterationContext(ProcessState.COMPLETED);
|
|
29
|
-
}
|
|
30
|
-
static error() {
|
|
31
|
-
return new ProcessIterationContext(ProcessState.ERROR);
|
|
32
|
-
}
|
|
33
|
-
constructor(state, items, page, continuable) {
|
|
34
|
-
this.state = state;
|
|
35
|
-
this.items = items;
|
|
36
|
-
this.page = page;
|
|
37
|
-
this.continuable = continuable;
|
|
38
|
-
if (page) {
|
|
39
|
-
this.items = page.content;
|
|
40
|
-
}
|
|
41
|
-
if (continuable) {
|
|
42
|
-
this.items = continuable.content;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
export class DataSourceProcessor {
|
|
47
|
-
/***************************************************************************
|
|
48
|
-
* *
|
|
49
|
-
* Static *
|
|
50
|
-
* *
|
|
51
|
-
**************************************************************************/
|
|
52
|
-
static start(dataSource, chunkSize) {
|
|
53
|
-
return new DataSourceProcessor(dataSource, chunkSize);
|
|
54
|
-
}
|
|
55
|
-
/***************************************************************************
|
|
56
|
-
* *
|
|
57
|
-
* Constructor *
|
|
58
|
-
* *
|
|
59
|
-
**************************************************************************/
|
|
60
|
-
constructor(dataSource, chunkSize) {
|
|
61
|
-
/***************************************************************************
|
|
62
|
-
* *
|
|
63
|
-
* Fields *
|
|
64
|
-
* *
|
|
65
|
-
**************************************************************************/
|
|
66
|
-
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
67
|
-
this._process$ = new BehaviorSubject(ProcessIterationContext.init());
|
|
68
|
-
this._dataSource = dataSource;
|
|
69
|
-
this._chunkSize = chunkSize || 100;
|
|
70
|
-
}
|
|
71
|
-
/***************************************************************************
|
|
72
|
-
* *
|
|
73
|
-
* Properties *
|
|
74
|
-
* *
|
|
75
|
-
**************************************************************************/
|
|
76
|
-
get dataSource() {
|
|
77
|
-
return this._dataSource;
|
|
78
|
-
}
|
|
79
|
-
get listDataSource() {
|
|
80
|
-
return this.dataSource;
|
|
81
|
-
}
|
|
82
|
-
get pagedDataSource() {
|
|
83
|
-
return this.dataSource;
|
|
84
|
-
}
|
|
85
|
-
get continuableDataSource() {
|
|
86
|
-
return this.dataSource;
|
|
87
|
-
}
|
|
88
|
-
/***************************************************************************
|
|
89
|
-
* *
|
|
90
|
-
* Public API *
|
|
91
|
-
* *
|
|
92
|
-
**************************************************************************/
|
|
93
|
-
/**
|
|
94
|
-
* Allows to iterative load and process the contents of the
|
|
95
|
-
* data source in scope.
|
|
96
|
-
*
|
|
97
|
-
* @param processFn to iterative execute upon each item of each iteration
|
|
98
|
-
* @param filters to filter the data source
|
|
99
|
-
* @param sorts to sort the data source
|
|
100
|
-
*/
|
|
101
|
-
process$(processFn, filters, sorts) {
|
|
102
|
-
return this._process$.pipe(takeWhile((ctx) => this.notCompleted(ctx)), switchMap((ctx) => this.loadNext(ctx, filters, sorts)), tap((updatedCtx) => {
|
|
103
|
-
processFn(updatedCtx.items);
|
|
104
|
-
this._process$.next(updatedCtx);
|
|
105
|
-
}));
|
|
106
|
-
}
|
|
107
|
-
/***************************************************************************
|
|
108
|
-
* *
|
|
109
|
-
* Loading *
|
|
110
|
-
* *
|
|
111
|
-
**************************************************************************/
|
|
112
|
-
loadNext(currentCtx, filters, sorts) {
|
|
113
|
-
let updatedCtx$;
|
|
114
|
-
if (isListDataSource(this._dataSource)) {
|
|
115
|
-
updatedCtx$ = this.loadList(filters, sorts);
|
|
116
|
-
}
|
|
117
|
-
else if (isPagedDataSource(this._dataSource)) {
|
|
118
|
-
updatedCtx$ = this.loadNextPage(currentCtx.page, filters, sorts);
|
|
119
|
-
}
|
|
120
|
-
else if (isContinuableDataSource(this._dataSource)) {
|
|
121
|
-
updatedCtx$ = this.loadNextContinuable(currentCtx.continuable, filters, sorts);
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
throw new Error('Unsupported DataSource!');
|
|
125
|
-
}
|
|
126
|
-
return updatedCtx$;
|
|
127
|
-
}
|
|
128
|
-
/***************************************************************************
|
|
129
|
-
* *
|
|
130
|
-
* List *
|
|
131
|
-
* *
|
|
132
|
-
**************************************************************************/
|
|
133
|
-
loadList(filters, sorts) {
|
|
134
|
-
this.log.debug('Loading list with filters and sorts...', [filters, sorts]);
|
|
135
|
-
return this.listDataSource
|
|
136
|
-
.findAllFiltered(filters, sorts)
|
|
137
|
-
.pipe(map((page) => this.listIteration(page)));
|
|
138
|
-
}
|
|
139
|
-
listIteration(items) {
|
|
140
|
-
return new ProcessIterationContext(ProcessState.COMPLETED, items, null, null);
|
|
141
|
-
}
|
|
142
|
-
/***************************************************************************
|
|
143
|
-
* *
|
|
144
|
-
* Paged *
|
|
145
|
-
* *
|
|
146
|
-
**************************************************************************/
|
|
147
|
-
loadNextPage(currentPage, filters, sorts) {
|
|
148
|
-
const nextPageRequest = currentPage
|
|
149
|
-
? Page.nextPageable(currentPage, sorts)
|
|
150
|
-
: new Pageable(0, this._chunkSize, sorts);
|
|
151
|
-
this.log.debug('Loading next page...', [nextPageRequest, filters, sorts]);
|
|
152
|
-
return this.pagedDataSource
|
|
153
|
-
.findAllPaged(nextPageRequest, filters)
|
|
154
|
-
.pipe(map((page) => this.pageIteration(page)));
|
|
155
|
-
}
|
|
156
|
-
pageIteration(page) {
|
|
157
|
-
return new ProcessIterationContext(this.pageIterationState(page), null, page, null);
|
|
158
|
-
}
|
|
159
|
-
pageIterationState(page) {
|
|
160
|
-
return Page.hasNext(page) ? ProcessState.RUNNING : ProcessState.COMPLETED;
|
|
161
|
-
}
|
|
162
|
-
/***************************************************************************
|
|
163
|
-
* *
|
|
164
|
-
* Continuable *
|
|
165
|
-
* *
|
|
166
|
-
**************************************************************************/
|
|
167
|
-
loadNextContinuable(currentChunk, filters, sorts) {
|
|
168
|
-
const nextChunkRequest = currentChunk
|
|
169
|
-
? new TokenChunkRequest(currentChunk.nextContinuationToken, filters, sorts)
|
|
170
|
-
: new TokenChunkRequest(null, filters, sorts);
|
|
171
|
-
this.log.debug('Loading next chunk...', [nextChunkRequest, filters, sorts]);
|
|
172
|
-
return this.continuableDataSource
|
|
173
|
-
.findAllContinuable(nextChunkRequest)
|
|
174
|
-
.pipe(map((chunk) => this.continuableIteration(chunk)));
|
|
175
|
-
}
|
|
176
|
-
continuableIteration(chunk) {
|
|
177
|
-
return new ProcessIterationContext(this.continuableIterationState(chunk), null, null, chunk);
|
|
178
|
-
}
|
|
179
|
-
continuableIterationState(chunk) {
|
|
180
|
-
return chunk.hasMore ? ProcessState.RUNNING : ProcessState.COMPLETED;
|
|
181
|
-
}
|
|
182
|
-
/***************************************************************************
|
|
183
|
-
* *
|
|
184
|
-
* Private Methods *
|
|
185
|
-
* *
|
|
186
|
-
**************************************************************************/
|
|
187
|
-
notCompleted(ctx) {
|
|
188
|
-
const completed = ctx.state === ProcessState.COMPLETED;
|
|
189
|
-
if (completed) {
|
|
190
|
-
this.log.debug('Process completed with context', ctx);
|
|
191
|
-
}
|
|
192
|
-
else {
|
|
193
|
-
this.log.debug('Starting next process iteration, current iteration context:', ctx);
|
|
194
|
-
}
|
|
195
|
-
return !completed;
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtcHJvY2Vzc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2RhdGEvZGF0YXNvdXJjZS9kYXRhLXNvdXJjZS1wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUtMLHVCQUF1QixFQUN2QixnQkFBZ0IsRUFDaEIsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBRXhDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBSTFELE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUMvRCxPQUFPLEVBQVUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUV0QyxNQUFNLENBQU4sSUFBWSxZQVFYO0FBUkQsV0FBWSxZQUFZO0lBQ3RCLDZCQUFhLENBQUE7SUFFYixtQ0FBbUIsQ0FBQTtJQUVuQix1Q0FBdUIsQ0FBQTtJQUV2QiwrQkFBZSxDQUFBO0FBQ2pCLENBQUMsRUFSVyxZQUFZLEtBQVosWUFBWSxRQVF2QjtBQUVELE1BQU0sT0FBTyx1QkFBdUI7SUFDM0IsTUFBTSxDQUFDLElBQUk7UUFDaEIsT0FBTyxJQUFJLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN2RCxDQUFDO0lBRU0sTUFBTSxDQUFDLGNBQWMsQ0FBSSxJQUFTO1FBQ3ZDLE9BQU8sSUFBSSx1QkFBdUIsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ2hFLENBQUM7SUFFTSxNQUFN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LElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBQ3ZELENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsNkRBQTZELEVBQUUsR0FBRyxDQUFDLENBQUE7UUFDcEYsQ0FBQztRQUVELE9BQU8sQ0FBQyxTQUFTLENBQUE7SUFDbkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSUNvbnRpbnVhYmxlRGF0YVNvdXJjZSxcbiAgSURhdGFTb3VyY2UsXG4gIElMaXN0RGF0YVNvdXJjZSxcbiAgSVBhZ2VkRGF0YVNvdXJjZSxcbiAgaXNDb250aW51YWJsZURhdGFTb3VyY2UsXG4gIGlzTGlzdERhdGFTb3VyY2UsXG4gIGlzUGFnZWREYXRhU291cmNlLFxufSBmcm9tICcuL2RhdGEtc291cmNlJ1xuaW1wb3J0IHsgUGFnZSwgUGFnZWFibGUgfSBmcm9tICcuLi9wYWdlJ1xuaW1wb3J0IHsgRmlsdGVyIH0gZnJvbSAnLi4vZmlsdGVycy9maWx0ZXInXG5pbXBvcnQgeyBUb2tlbkNodW5rUmVxdWVzdCB9IGZyb20gJy4uL3Rva2VuLWNodW5rLXJlcXVlc3QnXG5pbXBvcnQgeyBDb250aW51YWJsZUxpc3RpbmcgfSBmcm9tICcuLi9jb250aW51YWJsZS1saXN0aW5nJ1xuaW1wb3J0IHsgU29ydCB9IGZyb20gJy4uL3NvcnQnXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcy9pbnRlcm5hbC9PYnNlcnZhYmxlJ1xuaW1wb3J0IHsgbWFwLCBzd2l0Y2hNYXAsIHRha2VXaGlsZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBMb2dnZXIsIExvZ2dlckZhY3RvcnkgfSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcidcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnXG5cbmV4cG9ydCBlbnVtIFByb2Nlc3NTdGF0ZSB7XG4gIElOSVQgPSAnSU5JVCcsXG5cbiAgUlVOTklORyA9ICdSVU5OSU5HJyxcblxuICBDT01QTEVURUQgPSAnQ09NUExFVEVEJyxcblxuICBFUlJPUiA9ICdFUlJPUicsXG59XG5cbmV4cG9ydCBjbGFzcyBQcm9jZXNzSXRlcmF0aW9uQ29udGV4dDxUPiB7XG4gIHB1YmxpYyBzdGF0aWMgaW5pdDxUPigpOiBQcm9jZXNzSXRlcmF0aW9uQ29udGV4dDxUPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9jZXNzSXRlcmF0aW9uQ29udGV4dChQcm9jZXNzU3RhdGUuSU5JVClcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgcHJvY2Vzc2luZ0xpc3Q8VD4obGlzdDogVFtdKTogUHJvY2Vzc0l0ZXJhdGlvbkNvbnRleHQ8VD4ge1xuICAgIHJldHVybiBuZXcgUHJvY2Vzc0l0ZXJhdGlvbkNvbnRleHQoUHJvY2Vzc1N0YXRlLlJVTk5JTkcsIGxpc3QpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHByb2Nlc3NpbmdQYWdlPFQ+KGN1cnJlbnRQYWdlOiBQYWdlPFQ+KTogUHJvY2Vzc0l0ZXJhdGlvbkNvbnRleHQ8VD4ge1xuICAgIHJldHVybiBuZXcgUHJvY2Vzc0l0ZXJhdGlvbkNvbnRleHQoUHJvY2Vzc1N0YXRlLlJVTk5JTkcsIG51bGwsIGN1cnJlbnRQYWdlKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBwcm9jZXNzaW5nQ29udGludWFibGU8VD4oXG4gICAgY3VycmVudENodW5rOiBDb250aW51YWJsZUxpc3Rpbmc8VD5cbiAgKTogUHJvY2Vzc0l0ZXJhdGlvbkNvbnRleHQ8VD4ge1xuICAgIHJldHVybiBuZXcgUHJvY2Vzc0l0ZXJhdGlvbkNvbnRleHQoUHJvY2Vzc1N0YXRlLlJVTk5JTkcsIG51bGwsIG51bGwsIGN1cnJlbnRDaHVuaylcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgY29tcGxldGVkPFQ+KCk6IFByb2Nlc3NJdGVyYXRpb25Db250ZXh0PFQ+IHtcbiAgICByZXR1cm4gbmV3IFByb2Nlc3NJdGVyYXRpb25Db250ZXh0KFByb2Nlc3NTdGF0ZS5DT01QTEVURUQpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGVycm9yPFQ+KCk6IFByb2Nlc3NJdGVyYXRpb25Db250ZXh0PFQ+IHtcbiAgICByZXR1cm4gbmV3IFByb2Nlc3NJdGVyYXRpb25Db250ZXh0KFByb2Nlc3NTdGF0ZS5FUlJPUilcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgc3RhdGU6IFByb2Nlc3NTdGF0ZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgaXRlbXM/OiBUW10sXG4gICAgcHVibGljIHJlYWRvbmx5IHBhZ2U/OiBQYWdlPFQ+LFxuICAgIHB1YmxpYyByZWFkb25seSBjb250aW51YWJsZT86IENvbnRpbnVhYmxlTGlzdGluZzxUPlxuICApIHtcbiAgICBpZiAocGFnZSkge1xuICAgICAgdGhpcy5pdGVtcyA9IHBhZ2UuY29udGVudFxuICAgIH1cbiAgICBpZiAoY29udGludWFibGUpIHtcbiAgICAgIHRoaXMuaXRlbXMgPSBjb250aW51YWJsZS5jb250ZW50XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEYXRhU291cmNlUHJvY2Vzc29yPFQ+IHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2c6IExvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSlcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kYXRhU291cmNlOiBJRGF0YVNvdXJjZTxUPlxuICBwcml2YXRlIHJlYWRvbmx5IF9jaHVua1NpemVcbiAgcHJpdmF0ZSByZWFkb25seSBfcHJvY2VzcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFByb2Nlc3NJdGVyYXRpb25Db250ZXh0PFQ+PihcbiAgICBQcm9jZXNzSXRlcmF0aW9uQ29udGV4dC5pbml0KClcbiAgKVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBTdGF0aWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBzdGF0aWMgc3RhcnQ8VD4oZGF0YVNvdXJjZTogSURhdGFTb3VyY2U8VD4sIGNodW5rU2l6ZT86IG51bWJlcik6IERhdGFTb3VyY2VQcm9jZXNzb3I8VD4ge1xuICAgIHJldHVybiBuZXcgRGF0YVNvdXJjZVByb2Nlc3NvcihkYXRhU291cmNlLCBjaHVua1NpemUpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoZGF0YVNvdXJjZTogSURhdGFTb3VyY2U8VD4sIGNodW5rU2l6ZT86IG51bWJlcikge1xuICAgIHRoaXMuX2RhdGFTb3VyY2UgPSBkYXRhU291cmNlXG4gICAgdGhpcy5fY2h1bmtTaXplID0gY2h1bmtTaXplIHx8IDEwMFxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBkYXRhU291cmNlKCk6IElEYXRhU291cmNlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YVNvdXJjZVxuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBsaXN0RGF0YVNvdXJjZSgpOiBJTGlzdERhdGFTb3VyY2U8VD4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2UgYXMgSUxpc3REYXRhU291cmNlPFQ+XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHBhZ2VkRGF0YVNvdXJjZSgpOiBJUGFnZWREYXRhU291cmNlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5kYXRhU291cmNlIGFzIElQYWdlZERhdGFTb3VyY2U8VD5cbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgY29udGludWFibGVEYXRhU291cmNlKCk6IElDb250aW51YWJsZURhdGFTb3VyY2U8VD4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2UgYXMgSUNvbnRpbnVhYmxlRGF0YVNvdXJjZTxUPlxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIEFsbG93cyB0byBpdGVyYXRpdmUgbG9hZCBhbmQgcHJvY2VzcyB0aGUgY29udGVudHMgb2YgdGhlXG4gICAqIGRhdGEgc291cmNlIGluIHNjb3BlLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvY2Vzc0ZuIHRvIGl0ZXJhdGl2ZSBleGVjdXRlIHVwb24gZWFjaCBpdGVtIG9mIGVhY2ggaXRlcmF0aW9uXG4gICAqIEBwYXJhbSBmaWx0ZXJzIHRvIGZpbHRlciB0aGUgZGF0YSBzb3VyY2VcbiAgICogQHBhcmFtIHNvcnRzIHRvIHNvcnQgdGhlIGRhdGEgc291cmNlXG4gICAqL1xuICBwdWJsaWMgcHJvY2VzcyQoXG4gICAgcHJvY2Vzc0ZuOiAoZGF0YUNodW5rOiBUW10pID0+IGFueSxcbiAgICBmaWx0ZXJzOiBGaWx0ZXJbXSxcbiAgICBzb3J0czogU29ydFtdXG4gICk6IE9ic2VydmFibGU8UHJvY2Vzc0l0ZXJhdGlvbkNvbnRleHQ8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5fcHJvY2VzcyQucGlwZShcbiAgICAgIHRha2VXaGlsZSgoY3R4KSA9PiB0aGlzLm5vdENvbXBsZXRlZChjdHgpKSxcbiAgICAgIHN3aXRjaE1hcCgoY3R4KSA9PiB0aGlzLmxvYWROZXh0KGN0eCwgZmlsdGVycywgc29ydHMpKSxcbiAgICAgIHRhcCgodXBkYXRlZEN0eCkgPT4ge1xuICAgICAgICBwcm9jZXNzRm4odXBkYXRlZEN0eC5pdGVtcylcbiAgICAgICAgdGhpcy5fcHJvY2VzcyQubmV4dCh1cGRhdGVkQ3R4KVxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTG9hZGluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGxvYWROZXh0KFxuICAgIGN1cnJlbnRDdHg6IFByb2Nlc3NJdGVyYXRpb25Db250ZXh0PFQ+LFxuICAgIGZpbHRlcnM6IEZpbHRlcltdLFxuICAgIHNvcnRzOiBTb3J0W11cbiAgKTogT2JzZXJ2YWJsZTxQcm9jZXNzSXRlcmF0aW9uQ29udGV4dDxUPj4ge1xuICAgIGxldCB1cGRhdGVkQ3R4JDogT2JzZXJ2YWJsZTxQcm9jZXNzSXRlcmF0aW9uQ29udGV4dDxUPj5cbiAgICBpZiAoaXNMaXN0RGF0YVNvdXJjZSh0aGlzLl9kYXRhU291cmNlKSkge1xuICAgICAgdXBkYXRlZEN0eCQgPSB0aGlzLmxvYWRMaXN0KGZpbHRlcnMsIHNvcnRzKVxuICAgIH0gZWxzZSBpZiAoaXNQYWdlZERhdGFTb3VyY2UodGhpcy5fZGF0YVNvdXJjZSkpIHtcbiAgICAgIHVwZGF0ZWRDdHgkID0gdGhpcy5sb2FkTmV4dFBhZ2UoY3VycmVudEN0eC5wYWdlLCBmaWx0ZXJzLCBzb3J0cylcbiAgICB9IGVsc2UgaWYgKGlzQ29udGludWFibGVEYXRhU291cmNlKHRoaXMuX2RhdGFTb3VyY2UpKSB7XG4gICAgICB1cGRhdGVkQ3R4JCA9IHRoaXMubG9hZE5leHRDb250aW51YWJsZShjdXJyZW50Q3R4LmNvbnRpbnVhYmxlLCBmaWx0ZXJzLCBzb3J0cylcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCBEYXRhU291cmNlIScpXG4gICAgfVxuXG4gICAgcmV0dXJuIHVwZGF0ZWRDdHgkXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGxvYWRMaXN0KGZpbHRlcnM6IEZpbHRlcltdLCBzb3J0czogU29ydFtdKTogT2JzZXJ2YWJsZTxQcm9jZXNzSXRlcmF0aW9uQ29udGV4dDxUPj4ge1xuICAgIHRoaXMubG9nLmRlYnVnKCdMb2FkaW5nIGxpc3Qgd2l0aCBmaWx0ZXJzIGFuZCBzb3J0cy4uLicsIFtmaWx0ZXJzLCBzb3J0c10pXG5cbiAgICByZXR1cm4gdGhpcy5saXN0RGF0YVNvdXJjZVxuICAgICAgLmZpbmRBbGxGaWx0ZXJlZChmaWx0ZXJzLCBzb3J0cylcbiAgICAgIC5waXBlKG1hcCgocGFnZSkgPT4gdGhpcy5saXN0SXRlcmF0aW9uKHBhZ2UpKSlcbiAgfVxuXG4gIHByaXZhdGUgbGlzdEl0ZXJhdGlvbihpdGVtczogVFtdKTogUHJvY2Vzc0l0ZXJhdGlvbkNvbnRleHQ8VD4ge1xuICAgIHJldHVybiBuZXcgUHJvY2Vzc0l0ZXJhdGlvbkNvbnRleHQoUHJvY2Vzc1N0YXRlLkNPTVBMRVRFRCwgaXRlbXMsIG51bGwsIG51bGwpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUGFnZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGxvYWROZXh0UGFnZShcbiAgICBjdXJyZW50UGFnZTogUGFnZTxUPixcbiAgICBmaWx0ZXJzOiBGaWx0ZXJbXSxcbiAgICBzb3J0czogU29ydFtdXG4gICk6IE9ic2VydmFibGU8UHJvY2Vzc0l0ZXJhdGlvbkNvbnRleHQ8VD4+IHtcbiAgICBjb25zdCBuZXh0UGFnZVJlcXVlc3QgPSBjdXJyZW50UGFnZVxuICAgICAgPyBQYWdlLm5leHRQYWdlYWJsZShjdXJyZW50UGFnZSwgc29ydHMpXG4gICAgICA6IG5ldyBQYWdlYWJsZSgwLCB0aGlzLl9jaHVua1NpemUsIHNvcnRzKVxuXG4gICAgdGhpcy5sb2cuZGVidWcoJ0xvYWRpbmcgbmV4dCBwYWdlLi4uJywgW25leHRQYWdlUmVxdWVzdCwgZmlsdGVycywgc29ydHNdKVxuXG4gICAgcmV0dXJuIHRoaXMucGFnZWREYXRhU291cmNlXG4gICAgICAuZmluZEFsbFBhZ2VkKG5leHRQYWdlUmVxdWVzdCwgZmlsdGVycylcbiAgICAgIC5waXBlKG1hcCgocGFnZSkgPT4gdGhpcy5wYWdlSXRlcmF0aW9uKHBhZ2UpKSlcbiAgfVxuXG4gIHByaXZhdGUgcGFnZUl0ZXJhdGlvbihwYWdlOiBQYWdlPFQ+KTogUHJvY2Vzc0l0ZXJhdGlvbkNvbnRleHQ8VD4ge1xuICAgIHJldHVybiBuZXcgUHJvY2Vzc0l0ZXJhdGlvbkNvbnRleHQodGhpcy5wYWdlSXRlcmF0aW9uU3RhdGUocGFnZSksIG51bGwsIHBhZ2UsIG51bGwpXG4gIH1cblxuICBwcml2YXRlIHBhZ2VJdGVyYXRpb25TdGF0ZShwYWdlOiBQYWdlPFQ+KTogUHJvY2Vzc1N0YXRlIHtcbiAgICByZXR1cm4gUGFnZS5oYXNOZXh0KHBhZ2UpID8gUHJvY2Vzc1N0YXRlLlJVTk5JTkcgOiBQcm9jZXNzU3RhdGUuQ09NUExFVEVEXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29udGludWFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGxvYWROZXh0Q29udGludWFibGUoXG4gICAgY3VycmVudENodW5rOiBDb250aW51YWJsZUxpc3Rpbmc8VD4sXG4gICAgZmlsdGVyczogRmlsdGVyW10sXG4gICAgc29ydHM6IFNvcnRbXVxuICApOiBPYnNlcnZhYmxlPFByb2Nlc3NJdGVyYXRpb25Db250ZXh0PFQ+PiB7XG4gICAgY29uc3QgbmV4dENodW5rUmVxdWVzdCA9IGN1cnJlbnRDaHVua1xuICAgICAgPyBuZXcgVG9rZW5DaHVua1JlcXVlc3QoY3VycmVudENodW5rLm5leHRDb250aW51YXRpb25Ub2tlbiwgZmlsdGVycywgc29ydHMpXG4gICAgICA6IG5ldyBUb2tlbkNodW5rUmVxdWVzdChudWxsLCBmaWx0ZXJzLCBzb3J0cylcblxuICAgIHRoaXMubG9nLmRlYnVnKCdMb2FkaW5nIG5leHQgY2h1bmsuLi4nLCBbbmV4dENodW5rUmVxdWVzdCwgZmlsdGVycywgc29ydHNdKVxuXG4gICAgcmV0dXJuIHRoaXMuY29udGludWFibGVEYXRhU291cmNlXG4gICAgICAuZmluZEFsbENvbnRpbnVhYmxlKG5leHRDaHVua1JlcXVlc3QpXG4gICAgICAucGlwZShtYXAoKGNodW5rKSA9PiB0aGlzLmNvbnRpbnVhYmxlSXRlcmF0aW9uKGNodW5rKSkpXG4gIH1cblxuICBwcml2YXRlIGNvbnRpbnVhYmxlSXRlcmF0aW9uKGNodW5rOiBDb250aW51YWJsZUxpc3Rpbmc8VD4pOiBQcm9jZXNzSXRlcmF0aW9uQ29udGV4dDxUPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9jZXNzSXRlcmF0aW9uQ29udGV4dCh0aGlzLmNvbnRpbnVhYmxlSXRlcmF0aW9uU3RhdGUoY2h1bmspLCBudWxsLCBudWxsLCBjaHVuaylcbiAgfVxuXG4gIHByaXZhdGUgY29udGludWFibGVJdGVyYXRpb25TdGF0ZShjaHVuazogQ29udGludWFibGVMaXN0aW5nPFQ+KTogUHJvY2Vzc1N0YXRlIHtcbiAgICByZXR1cm4gY2h1bmsuaGFzTW9yZSA/IFByb2Nlc3NTdGF0ZS5SVU5OSU5HIDogUHJvY2Vzc1N0YXRlLkNPTVBMRVRFRFxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgTWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBub3RDb21wbGV0ZWQoY3R4OiBQcm9jZXNzSXRlcmF0aW9uQ29udGV4dDxUPik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNvbXBsZXRlZCA9IGN0eC5zdGF0ZSA9PT0gUHJvY2Vzc1N0YXRlLkNPTVBMRVRFRFxuXG4gICAgaWYgKGNvbXBsZXRlZCkge1xuICAgICAgdGhpcy5sb2cuZGVidWcoJ1Byb2Nlc3MgY29tcGxldGVkIHdpdGggY29udGV4dCcsIGN0eClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2cuZGVidWcoJ1N0YXJ0aW5nIG5leHQgcHJvY2VzcyBpdGVyYXRpb24sIGN1cnJlbnQgaXRlcmF0aW9uIGNvbnRleHQ6JywgY3R4KVxuICAgIH1cblxuICAgIHJldHVybiAhY29tcGxldGVkXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/***************************************************************************
|
|
2
|
-
* *
|
|
3
|
-
* Type Predicates *
|
|
4
|
-
* *
|
|
5
|
-
**************************************************************************/
|
|
6
|
-
export function isDataSource(object) {
|
|
7
|
-
if (!object) {
|
|
8
|
-
return false;
|
|
9
|
-
}
|
|
10
|
-
return (object.dataChanged !== undefined &&
|
|
11
|
-
object.findById !== undefined &&
|
|
12
|
-
object.getId !== undefined);
|
|
13
|
-
}
|
|
14
|
-
export function isListDataSource(object) {
|
|
15
|
-
return object.findAllFiltered !== undefined;
|
|
16
|
-
}
|
|
17
|
-
export function isPagedDataSource(object) {
|
|
18
|
-
return object.findAllPaged !== undefined;
|
|
19
|
-
}
|
|
20
|
-
export function isContinuableDataSource(object) {
|
|
21
|
-
return object.findAllContinuable !== undefined;
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21tb24vZGF0YS9kYXRhc291cmNlL2RhdGEtc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTREQTs7Ozs0RUFJNEU7QUFFNUUsTUFBTSxVQUFVLFlBQVksQ0FBQyxNQUFXO0lBQ3RDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNaLE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVELE9BQU8sQ0FDSixNQUEyQixDQUFDLFdBQVcsS0FBSyxTQUFTO1FBQ3JELE1BQTJCLENBQUMsUUFBUSxLQUFLLFNBQVM7UUFDbEQsTUFBMkIsQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUNqRCxDQUFBO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxNQUF3QjtJQUN2RCxPQUFRLE1BQStCLENBQUMsZUFBZSxLQUFLLFNBQVMsQ0FBQTtBQUN2RSxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLE1BQXdCO0lBQ3hELE9BQVEsTUFBZ0MsQ0FBQyxZQUFZLEtBQUssU0FBUyxDQUFBO0FBQ3JFLENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQ3JDLE1BQXdCO0lBRXhCLE9BQVEsTUFBc0MsQ0FBQyxrQkFBa0IsS0FBSyxTQUFTLENBQUE7QUFDakYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgU29ydCB9IGZyb20gJy4uL3NvcnQnXG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tICcuLi9maWx0ZXJzL2ZpbHRlcidcbmltcG9ydCB7IFBhZ2UsIFBhZ2VhYmxlIH0gZnJvbSAnLi4vcGFnZSdcbmltcG9ydCB7IFRva2VuQ2h1bmtSZXF1ZXN0IH0gZnJvbSAnLi4vdG9rZW4tY2h1bmstcmVxdWVzdCdcbmltcG9ydCB7IENvbnRpbnVhYmxlTGlzdGluZyB9IGZyb20gJy4uL2NvbnRpbnVhYmxlLWxpc3RpbmcnXG5pbXBvcnQgeyBEYXRhU291cmNlQ2hhbmdlRXZlbnQgfSBmcm9tICcuL2RhdGEtc291cmNlLWNoYW5nZS1ldmVudCdcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICogRGF0YSBGZXRjaGVyIEFQSXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5leHBvcnQgaW50ZXJmYWNlIElMaXN0RmV0Y2hlcjxUPiB7XG4gIGZpbmRBbGxGaWx0ZXJlZChmaWx0ZXJzPzogRmlsdGVyW10sIHNvcnRzPzogU29ydFtdKTogT2JzZXJ2YWJsZTxBcnJheTxUPj5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGFnZUZldGNoZXI8VD4ge1xuICBmaW5kQWxsUGFnZWQocGFnZWFibGU6IFBhZ2VhYmxlLCBmaWx0ZXJzPzogRmlsdGVyW10pOiBPYnNlcnZhYmxlPFBhZ2U8VD4+XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbnRpbnVhdGlvbkZldGNoZXI8VD4ge1xuICBmaW5kQWxsQ29udGludWFibGUodG9rZW5DaHVua1JlcXVlc3Q6IFRva2VuQ2h1bmtSZXF1ZXN0KTogT2JzZXJ2YWJsZTxDb250aW51YWJsZUxpc3Rpbmc8VD4+XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqIERhdGEgQWNjZXNzb3IgQVBJcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YVNvdXJjZTxUPiB7XG4gIC8qKlxuICAgKiBOb3RpZmllcyB0aGF0IHRoaXMgZGF0YSBzb3VyY2UgaGFzIG1vZGlmaWVkIGVsZW1lbnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YUNoYW5nZWQ6IE9ic2VydmFibGU8RGF0YVNvdXJjZUNoYW5nZUV2ZW50PFQ+PlxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGVudGl0eSB3aXRoIHRoZSBnaXZlbiBJZC5cbiAgICovXG4gIGZpbmRCeUlkKGlkOiBhbnkpOiBPYnNlcnZhYmxlPFQ+XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgZW50aXR5IHdpdGggdGhlIGdpdmVuIElkLlxuICAgKi9cbiAgZmluZEJ5SWRzKGlkczogYW55W10pOiBPYnNlcnZhYmxlPFRbXT5cblxuICAvKipcbiAgICogR2V0IHRoZSBJZCB2YWx1ZSBvZiB0aGUgZ2l2ZW4gZW50aXR5XG4gICAqL1xuICBnZXRJZChlbnRpdHk6IFQpOiBhbnlcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTGlzdERhdGFTb3VyY2U8VD4gZXh0ZW5kcyBJTGlzdEZldGNoZXI8VD4sIElEYXRhU291cmNlPFQ+IHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBhZ2VkRGF0YVNvdXJjZTxUPiBleHRlbmRzIElQYWdlRmV0Y2hlcjxUPiwgSURhdGFTb3VyY2U8VD4ge31cblxuZXhwb3J0IGludGVyZmFjZSBJQ29udGludWFibGVEYXRhU291cmNlPFQ+IGV4dGVuZHMgSUNvbnRpbnVhdGlvbkZldGNoZXI8VD4sIElEYXRhU291cmNlPFQ+IHt9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqIFR5cGUgUHJlZGljYXRlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGF0YVNvdXJjZShvYmplY3Q6IGFueSk6IG9iamVjdCBpcyBJRGF0YVNvdXJjZTxhbnk+IHtcbiAgaWYgKCFvYmplY3QpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgKG9iamVjdCBhcyBJRGF0YVNvdXJjZTxhbnk+KS5kYXRhQ2hhbmdlZCAhPT0gdW5kZWZpbmVkICYmXG4gICAgKG9iamVjdCBhcyBJRGF0YVNvdXJjZTxhbnk+KS5maW5kQnlJZCAhPT0gdW5kZWZpbmVkICYmXG4gICAgKG9iamVjdCBhcyBJRGF0YVNvdXJjZTxhbnk+KS5nZXRJZCAhPT0gdW5kZWZpbmVkXG4gIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTGlzdERhdGFTb3VyY2Uob2JqZWN0OiBJRGF0YVNvdXJjZTxhbnk+KTogb2JqZWN0IGlzIElMaXN0RGF0YVNvdXJjZTxhbnk+IHtcbiAgcmV0dXJuIChvYmplY3QgYXMgSUxpc3REYXRhU291cmNlPGFueT4pLmZpbmRBbGxGaWx0ZXJlZCAhPT0gdW5kZWZpbmVkXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1BhZ2VkRGF0YVNvdXJjZShvYmplY3Q6IElEYXRhU291cmNlPGFueT4pOiBvYmplY3QgaXMgSVBhZ2VkRGF0YVNvdXJjZTxhbnk+IHtcbiAgcmV0dXJuIChvYmplY3QgYXMgSVBhZ2VkRGF0YVNvdXJjZTxhbnk+KS5maW5kQWxsUGFnZWQgIT09IHVuZGVmaW5lZFxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDb250aW51YWJsZURhdGFTb3VyY2UoXG4gIG9iamVjdDogSURhdGFTb3VyY2U8YW55PlxuKTogb2JqZWN0IGlzIElDb250aW51YWJsZURhdGFTb3VyY2U8YW55PiB7XG4gIHJldHVybiAob2JqZWN0IGFzIElDb250aW51YWJsZURhdGFTb3VyY2U8YW55PikuZmluZEFsbENvbnRpbnVhYmxlICE9PSB1bmRlZmluZWRcbn1cbiJdfQ==
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export class EntityIdUtil {
|
|
2
|
-
static getId(entity, idProperty) {
|
|
3
|
-
if (entity && idProperty) {
|
|
4
|
-
if (typeof entity === 'object') {
|
|
5
|
-
return entity?.[idProperty];
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
return entity;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWlkLXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21tb24vZGF0YS9kYXRhc291cmNlL2VudGl0eS1pZC11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxZQUFZO0lBQ2hCLE1BQU0sQ0FBQyxLQUFLLENBQUksTUFBUyxFQUFFLFVBQWtCO1FBQ2xELElBQUksTUFBTSxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ3pCLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQy9CLE9BQWEsTUFBTyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUE7WUFDcEMsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBFbnRpdHlJZFV0aWwge1xuICBwdWJsaWMgc3RhdGljIGdldElkPFQ+KGVudGl0eTogVCwgaWRQcm9wZXJ0eTogc3RyaW5nKTogYW55IHtcbiAgICBpZiAoZW50aXR5ICYmIGlkUHJvcGVydHkpIHtcbiAgICAgIGlmICh0eXBlb2YgZW50aXR5ID09PSAnb2JqZWN0Jykge1xuICAgICAgICByZXR1cm4gKDxhbnk+ZW50aXR5KT8uW2lkUHJvcGVydHldXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBlbnRpdHlcbiAgfVxufVxuIl19
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import { EMPTY, forkJoin, throwError } from 'rxjs';
|
|
2
|
-
import { EntityIdUtil } from '../entity-id-util';
|
|
3
|
-
export class DelegateDataSource {
|
|
4
|
-
/***************************************************************************
|
|
5
|
-
* *
|
|
6
|
-
* Static Builder *
|
|
7
|
-
* *
|
|
8
|
-
**************************************************************************/
|
|
9
|
-
static emptyListFetcher() {
|
|
10
|
-
const empty = () => EMPTY; // AOT Ignore
|
|
11
|
-
return DelegateDataSource.listFetcher(empty, 'id', empty, empty);
|
|
12
|
-
}
|
|
13
|
-
static listFetcher(listFetcher, idProperty = 'id', findByIdFn, findAllByIdFn) {
|
|
14
|
-
return new DelegateListDataSource(listFetcher, idProperty, findByIdFn, findAllByIdFn);
|
|
15
|
-
}
|
|
16
|
-
static emptyPageFetcher() {
|
|
17
|
-
const empty = () => EMPTY; // AOT Ignore
|
|
18
|
-
return DelegateDataSource.pageFetcher(empty, 'id', empty);
|
|
19
|
-
}
|
|
20
|
-
static pageFetcher(pageFetcher, idProperty = 'id', findByIdFn, findAllByIdFn) {
|
|
21
|
-
return new DelegatePagedDataSource(pageFetcher, idProperty, findByIdFn, findAllByIdFn);
|
|
22
|
-
}
|
|
23
|
-
static emptyContinuableFetcher() {
|
|
24
|
-
const empty = () => EMPTY; // AOT Ignore
|
|
25
|
-
return DelegateDataSource.continuableFetcher(empty, 'id', empty);
|
|
26
|
-
}
|
|
27
|
-
static continuableFetcher(chunkFetcher, idProperty = 'id', findByIdFn, findAllByIdFn) {
|
|
28
|
-
return new DelegateContinuableDataSource(chunkFetcher, idProperty, findByIdFn, findAllByIdFn);
|
|
29
|
-
}
|
|
30
|
-
/***************************************************************************
|
|
31
|
-
* *
|
|
32
|
-
* Constructor *
|
|
33
|
-
* *
|
|
34
|
-
**************************************************************************/
|
|
35
|
-
constructor(idProperty, findByIdFn, findAllByIdFn) {
|
|
36
|
-
this.idProperty = idProperty;
|
|
37
|
-
this.findByIdFn = findByIdFn;
|
|
38
|
-
this.findAllByIdFn = findAllByIdFn;
|
|
39
|
-
}
|
|
40
|
-
/***************************************************************************
|
|
41
|
-
* *
|
|
42
|
-
* Public API *
|
|
43
|
-
* *
|
|
44
|
-
**************************************************************************/
|
|
45
|
-
get dataChanged() {
|
|
46
|
-
return EMPTY;
|
|
47
|
-
}
|
|
48
|
-
findById(id) {
|
|
49
|
-
if (this.findByIdFn) {
|
|
50
|
-
return this.findByIdFn(id);
|
|
51
|
-
}
|
|
52
|
-
return throwError('This DelegateDataSource does not implement findById!');
|
|
53
|
-
}
|
|
54
|
-
findByIds(ids) {
|
|
55
|
-
if (this.findAllByIdFn) {
|
|
56
|
-
return this.findAllByIdFn(ids);
|
|
57
|
-
}
|
|
58
|
-
if (this.findByIdFn) {
|
|
59
|
-
return forkJoin(ids.map((id) => this.findById(id)));
|
|
60
|
-
}
|
|
61
|
-
return throwError('This DelegateDataSource does not implement findByIds or findById!');
|
|
62
|
-
}
|
|
63
|
-
getId(entity) {
|
|
64
|
-
return EntityIdUtil.getId(entity, this.idProperty);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
export class DelegateListDataSource extends DelegateDataSource {
|
|
68
|
-
/***************************************************************************
|
|
69
|
-
* *
|
|
70
|
-
* Constructor *
|
|
71
|
-
* *
|
|
72
|
-
**************************************************************************/
|
|
73
|
-
constructor(listFetcherFn, idProperty, findByIdFn, findAllByIdFn) {
|
|
74
|
-
super(idProperty, findByIdFn, findAllByIdFn);
|
|
75
|
-
this.listFetcherFn = listFetcherFn;
|
|
76
|
-
}
|
|
77
|
-
/***************************************************************************
|
|
78
|
-
* *
|
|
79
|
-
* Public API *
|
|
80
|
-
* *
|
|
81
|
-
**************************************************************************/
|
|
82
|
-
findAllFiltered(filters, sorts) {
|
|
83
|
-
return this.listFetcherFn(sorts, filters);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
export class DelegatePagedDataSource extends DelegateDataSource {
|
|
87
|
-
/***************************************************************************
|
|
88
|
-
* *
|
|
89
|
-
* Constructor *
|
|
90
|
-
* *
|
|
91
|
-
**************************************************************************/
|
|
92
|
-
constructor(pageFetcherFn, idProperty, findByIdFn, findAllByIdFn) {
|
|
93
|
-
super(idProperty, findByIdFn, findAllByIdFn);
|
|
94
|
-
this.pageFetcherFn = pageFetcherFn;
|
|
95
|
-
}
|
|
96
|
-
/***************************************************************************
|
|
97
|
-
* *
|
|
98
|
-
* Public API *
|
|
99
|
-
* *
|
|
100
|
-
**************************************************************************/
|
|
101
|
-
findAllPaged(pageable, filters) {
|
|
102
|
-
return this.pageFetcherFn(pageable, filters);
|
|
103
|
-
}
|
|
104
|
-
process(pageSize, processFn, filters) {
|
|
105
|
-
throw new Error('Not yet implemented');
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
export class DelegateContinuableDataSource extends DelegateDataSource {
|
|
109
|
-
/***************************************************************************
|
|
110
|
-
* *
|
|
111
|
-
* Constructor *
|
|
112
|
-
* *
|
|
113
|
-
**************************************************************************/
|
|
114
|
-
constructor(chunkFetcherFn, idProperty, findByIdFn, findAllByIdFn) {
|
|
115
|
-
super(idProperty, findByIdFn, findAllByIdFn);
|
|
116
|
-
this.chunkFetcherFn = chunkFetcherFn;
|
|
117
|
-
}
|
|
118
|
-
/***************************************************************************
|
|
119
|
-
* *
|
|
120
|
-
* Public API *
|
|
121
|
-
* *
|
|
122
|
-
**************************************************************************/
|
|
123
|
-
findAllContinuable(tokenChunkRequest) {
|
|
124
|
-
return this.chunkFetcherFn(tokenChunkRequest);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdhdGUtZGF0YS1zb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21tb24vZGF0YS9kYXRhc291cmNlL2ZldGNoZXIvZGVsZWdhdGUtZGF0YS1zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBTTlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUVoRCxNQUFNLE9BQWdCLGtCQUFrQjtJQUN0Qzs7OztnRkFJNEU7SUFFckUsTUFBTSxDQUFDLGdCQUFnQjtRQUM1QixNQUFNLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUEsQ0FBQyxhQUFhO1FBQ3ZDLE9BQU8sa0JBQWtCLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ2xFLENBQUM7SUFFTSxNQUFNLENBQUMsV0FBVyxDQUN2QixXQUF3RSxFQUN4RSxhQUFxQixJQUFJLEVBQ3pCLFVBQXVDLEVBQ3ZDLGFBQStDO1FBRS9DLE9BQU8sSUFBSSxzQkFBc0IsQ0FBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQTtJQUN2RixDQUFDO0lBRU0sTUFBTSxDQUFDLGdCQUFnQjtRQUM1QixNQUFNLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUEsQ0FBQyxhQUFhO1FBQ3ZDLE9BQU8sa0JBQWtCLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDM0QsQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUFXLENBQ3ZCLFdBQTRFLEVBQzVFLGFBQXFCLElBQUksRUFDekIs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USxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQzlDLENBQUM7SUFFTSxPQUFPLENBQUMsUUFBZ0IsRUFBRSxTQUFtQyxFQUFFLE9BQWtCO1FBQ3RGLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQTtJQUN4QyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sNkJBQ1gsU0FBUSxrQkFBcUI7SUFHN0I7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ21CLGNBRXFCLEVBQ3RDLFVBQWtCLEVBQ2xCLFVBQXNDLEVBQ3RDLGFBQThDO1FBRTlDLEtBQUssQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FBQyxDQUFBO1FBUDNCLG1CQUFjLEdBQWQsY0FBYyxDQUVPO0lBTXhDLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsa0JBQWtCLENBQ3ZCLGlCQUFvQztRQUVwQyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUMvQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJQ29udGludWFibGVEYXRhU291cmNlLFxuICBJRGF0YVNvdXJjZSxcbiAgSUxpc3REYXRhU291cmNlLFxuICBJUGFnZWREYXRhU291cmNlLFxufSBmcm9tICcuLi9kYXRhLXNvdXJjZSdcbmltcG9ydCB7IEVNUFRZLCBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tICcuLi8uLi9maWx0ZXJzL2ZpbHRlcidcbmltcG9ydCB7IFNvcnQgfSBmcm9tICcuLi8uLi9zb3J0J1xuaW1wb3J0IHsgUGFnZSwgUGFnZWFibGUgfSBmcm9tICcuLi8uLi9wYWdlJ1xuaW1wb3J0IHsgVG9rZW5DaHVua1JlcXVlc3QgfSBmcm9tICcuLi8uLi90b2tlbi1jaHVuay1yZXF1ZXN0J1xuaW1wb3J0IHsgQ29udGludWFibGVMaXN0aW5nIH0gZnJvbSAnLi4vLi4vY29udGludWFibGUtbGlzdGluZydcbmltcG9ydCB7IEVudGl0eUlkVXRpbCB9IGZyb20gJy4uL2VudGl0eS1pZC11dGlsJ1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGVsZWdhdGVEYXRhU291cmNlPFQ+IGltcGxlbWVudHMgSURhdGFTb3VyY2U8VD4ge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogU3RhdGljIEJ1aWxkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgc3RhdGljIGVtcHR5TGlzdEZldGNoZXI8VD4oKTogSURhdGFTb3VyY2U8VD4ge1xuICAgIGNvbnN0IGVtcHR5ID0gKCkgPT4gRU1QVFkgLy8gQU9UIElnbm9yZVxuICAgIHJldHVybiBEZWxlZ2F0ZURhdGFTb3VyY2UubGlzdEZldGNoZXIoZW1wdHksICdpZCcsIGVtcHR5LCBlbXB0eSlcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgbGlzdEZldGNoZXI8VD4oXG4gICAgbGlzdEZldGNoZXI6IChzb3J0czogU29ydFtdLCBmaWx0ZXJzPzogRmlsdGVyW10pID0+IE9ic2VydmFibGU8QXJyYXk8VD4+LFxuICAgIGlkUHJvcGVydHk6IHN0cmluZyA9ICdpZCcsXG4gICAgZmluZEJ5SWRGbj86IChpZDogYW55KSA9PiBPYnNlcnZhYmxlPFQ+LFxuICAgIGZpbmRBbGxCeUlkRm4/OiAoaWRzOiBhbnlbXSkgPT4gT2JzZXJ2YWJsZTxUW10+XG4gICk6IElEYXRhU291cmNlPFQ+IHtcbiAgICByZXR1cm4gbmV3IERlbGVnYXRlTGlzdERhdGFTb3VyY2UobGlzdEZldGNoZXIsIGlkUHJvcGVydHksIGZpbmRCeUlkRm4sIGZpbmRBbGxCeUlkRm4pXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGVtcHR5UGFnZUZldGNoZXI8VD4oKTogSURhdGFTb3VyY2U8VD4ge1xuICAgIGNvbnN0IGVtcHR5ID0gKCkgPT4gRU1QVFkgLy8gQU9UIElnbm9yZVxuICAgIHJldHVybiBEZWxlZ2F0ZURhdGFTb3VyY2UucGFnZUZldGNoZXIoZW1wdHksICdpZCcsIGVtcHR5KVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBwYWdlRmV0Y2hlcjxUPihcbiAgICBwYWdlRmV0Y2hlcjogKHBhZ2VhYmxlOiBQYWdlYWJsZSwgZmlsdGVycz86IEZpbHRlcltdKSA9PiBPYnNlcnZhYmxlPFBhZ2U8VD4+LFxuICAgIGlkUHJvcGVydHk6IHN0cmluZyA9ICdpZCcsXG4gICAgZmluZEJ5SWRGbj86IChpZDogYW55KSA9PiBPYnNlcnZhYmxlPFQ+LFxuICAgIGZpbmRBbGxCeUlkRm4/OiAoaWRzOiBhbnlbXSkgPT4gT2JzZXJ2YWJsZTxUW10+XG4gICk6IElEYXRhU291cmNlPFQ+IHtcbiAgICByZXR1cm4gbmV3IERlbGVnYXRlUGFnZWREYXRhU291cmNlKHBhZ2VGZXRjaGVyLCBpZFByb3BlcnR5LCBmaW5kQnlJZEZuLCBmaW5kQWxsQnlJZEZuKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBlbXB0eUNvbnRpbnVhYmxlRmV0Y2hlcjxUPigpOiBJRGF0YVNvdXJjZTxUPiB7XG4gICAgY29uc3QgZW1wdHkgPSAoKSA9PiBFTVBUWSAvLyBBT1QgSWdub3JlXG4gICAgcmV0dXJuIERlbGVnYXRlRGF0YVNvdXJjZS5jb250aW51YWJsZUZldGNoZXIoZW1wdHksICdpZCcsIGVtcHR5KVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjb250aW51YWJsZUZldGNoZXI8VD4oXG4gICAgY2h1bmtGZXRjaGVyOiAodG9rZW5DaHVua1JlcXVlc3Q6IFRva2VuQ2h1bmtSZXF1ZXN0KSA9PiBPYnNlcnZhYmxlPENvbnRpbnVhYmxlTGlzdGluZzxUPj4sXG4gICAgaWRQcm9wZXJ0eTogc3RyaW5nID0gJ2lkJyxcbiAgICBmaW5kQnlJZEZuPzogKGlkOiBhbnkpID0+IE9ic2VydmFibGU8VD4sXG4gICAgZmluZEFsbEJ5SWRGbj86IChpZHM6IGFueVtdKSA9PiBPYnNlcnZhYmxlPFRbXT5cbiAgKTogSURhdGFTb3VyY2U8VD4ge1xuICAgIHJldHVybiBuZXcgRGVsZWdhdGVDb250aW51YWJsZURhdGFTb3VyY2UoY2h1bmtGZXRjaGVyLCBpZFByb3BlcnR5LCBmaW5kQnlJZEZuLCBmaW5kQWxsQnlJZEZuKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaWRQcm9wZXJ0eTogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmluZEJ5SWRGbjogKGlkOiBhbnkpID0+IE9ic2VydmFibGU8VD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaW5kQWxsQnlJZEZuOiAoaWRzOiBhbnlbXSkgPT4gT2JzZXJ2YWJsZTxUW10+XG4gICkge31cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IGRhdGFDaGFuZ2VkKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIEVNUFRZXG4gIH1cblxuICBwdWJsaWMgZmluZEJ5SWQoaWQ6IGFueSk6IE9ic2VydmFibGU8VD4ge1xuICAgIGlmICh0aGlzLmZpbmRCeUlkRm4pIHtcbiAgICAgIHJldHVybiB0aGlzLmZpbmRCeUlkRm4oaWQpXG4gICAgfVxuICAgIHJldHVybiB0aHJvd0Vycm9yKCdUaGlzIERlbGVnYXRlRGF0YVNvdXJjZSBkb2VzIG5vdCBpbXBsZW1lbnQgZmluZEJ5SWQhJylcbiAgfVxuXG4gIHB1YmxpYyBmaW5kQnlJZHMoaWRzOiBhbnlbXSk6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgaWYgKHRoaXMuZmluZEFsbEJ5SWRGbikge1xuICAgICAgcmV0dXJuIHRoaXMuZmluZEFsbEJ5SWRGbihpZHMpXG4gICAgfVxuICAgIGlmICh0aGlzLmZpbmRCeUlkRm4pIHtcbiAgICAgIHJldHVybiBmb3JrSm9pbihpZHMubWFwKChpZCkgPT4gdGhpcy5maW5kQnlJZChpZCkpKVxuICAgIH1cbiAgICByZXR1cm4gdGhyb3dFcnJvcignVGhpcyBEZWxlZ2F0ZURhdGFTb3VyY2UgZG9lcyBub3QgaW1wbGVtZW50IGZpbmRCeUlkcyBvciBmaW5kQnlJZCEnKVxuICB9XG5cbiAgcHVibGljIGdldElkKGVudGl0eTogVCk6IGFueSB7XG4gICAgcmV0dXJuIEVudGl0eUlkVXRpbC5nZXRJZChlbnRpdHksIHRoaXMuaWRQcm9wZXJ0eSlcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRGVsZWdhdGVMaXN0RGF0YVNvdXJjZTxUPiBleHRlbmRzIERlbGVnYXRlRGF0YVNvdXJjZTxUPiBpbXBsZW1lbnRzIElMaXN0RGF0YVNvdXJjZTxUPiB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGlzdEZldGNoZXJGbjogKHNvcnRzOiBTb3J0W10sIGZpbHRlcnM/OiBGaWx0ZXJbXSkgPT4gT2JzZXJ2YWJsZTxBcnJheTxUPj4sXG4gICAgaWRQcm9wZXJ0eTogc3RyaW5nLFxuICAgIGZpbmRCeUlkRm46IChpZDogYW55KSA9PiBPYnNlcnZhYmxlPFQ+LFxuICAgIGZpbmRBbGxCeUlkRm46IChpZHM6IGFueVtdKSA9PiBPYnNlcnZhYmxlPFRbXT5cbiAgKSB7XG4gICAgc3VwZXIoaWRQcm9wZXJ0eSwgZmluZEJ5SWRGbiwgZmluZEFsbEJ5SWRGbilcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBmaW5kQWxsRmlsdGVyZWQoZmlsdGVycz86IEZpbHRlcltdLCBzb3J0cz86IFNvcnRbXSk6IE9ic2VydmFibGU8QXJyYXk8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5saXN0RmV0Y2hlckZuKHNvcnRzLCBmaWx0ZXJzKVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEZWxlZ2F0ZVBhZ2VkRGF0YVNvdXJjZTxUPlxuICBleHRlbmRzIERlbGVnYXRlRGF0YVNvdXJjZTxUPlxuICBpbXBsZW1lbnRzIElQYWdlZERhdGFTb3VyY2U8VD5cbntcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYWdlRmV0Y2hlckZuOiAocGFnZWFibGU6IFBhZ2VhYmxlLCBmaWx0ZXJzPzogRmlsdGVyW10pID0+IE9ic2VydmFibGU8UGFnZTxUPj4sXG4gICAgaWRQcm9wZXJ0eTogc3RyaW5nLFxuICAgIGZpbmRCeUlkRm46IChpZDogYW55KSA9PiBPYnNlcnZhYmxlPFQ+LFxuICAgIGZpbmRBbGxCeUlkRm46IChpZHM6IGFueVtdKSA9PiBPYnNlcnZhYmxlPFRbXT5cbiAgKSB7XG4gICAgc3VwZXIoaWRQcm9wZXJ0eSwgZmluZEJ5SWRGbiwgZmluZEFsbEJ5SWRGbilcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBmaW5kQWxsUGFnZWQocGFnZWFibGU6IFBhZ2VhYmxlLCBmaWx0ZXJzPzogRmlsdGVyW10pOiBPYnNlcnZhYmxlPFBhZ2U8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5wYWdlRmV0Y2hlckZuKHBhZ2VhYmxlLCBmaWx0ZXJzKVxuICB9XG5cbiAgcHVibGljIHByb2Nlc3MocGFnZVNpemU6IG51bWJlciwgcHJvY2Vzc0ZuOiAoZGF0YUNodW5rOiBUW10pID0+IHZvaWQsIGZpbHRlcnM/OiBGaWx0ZXJbXSk6IHZvaWQge1xuICAgIHRocm93IG5ldyBFcnJvcignTm90IHlldCBpbXBsZW1lbnRlZCcpXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIERlbGVnYXRlQ29udGludWFibGVEYXRhU291cmNlPFQ+XG4gIGV4dGVuZHMgRGVsZWdhdGVEYXRhU291cmNlPFQ+XG4gIGltcGxlbWVudHMgSUNvbnRpbnVhYmxlRGF0YVNvdXJjZTxUPlxue1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNodW5rRmV0Y2hlckZuOiAoXG4gICAgICB0b2tlbkNodW5rUmVxdWVzdDogVG9rZW5DaHVua1JlcXVlc3RcbiAgICApID0+IE9ic2VydmFibGU8Q29udGludWFibGVMaXN0aW5nPFQ+PixcbiAgICBpZFByb3BlcnR5OiBzdHJpbmcsXG4gICAgZmluZEJ5SWRGbjogKGlkOiBhbnkpID0+IE9ic2VydmFibGU8VD4sXG4gICAgZmluZEFsbEJ5SWRGbjogKGlkczogYW55W10pID0+IE9ic2VydmFibGU8VFtdPlxuICApIHtcbiAgICBzdXBlcihpZFByb3BlcnR5LCBmaW5kQnlJZEZuLCBmaW5kQWxsQnlJZEZuKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGZpbmRBbGxDb250aW51YWJsZShcbiAgICB0b2tlbkNodW5rUmVxdWVzdDogVG9rZW5DaHVua1JlcXVlc3RcbiAgKTogT2JzZXJ2YWJsZTxDb250aW51YWJsZUxpc3Rpbmc8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5jaHVua0ZldGNoZXJGbih0b2tlbkNodW5rUmVxdWVzdClcbiAgfVxufVxuIl19
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
import { BehaviorSubject, forkJoin, of, throwError } from 'rxjs';
|
|
2
|
-
import { map } from 'rxjs/operators';
|
|
3
|
-
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
4
|
-
import { DataSourceChangeEvent } from '../data-source-change-event';
|
|
5
|
-
import { DataSourceBase } from '../data-source-base';
|
|
6
|
-
import { SortUtil } from '../../../utils/sort-util';
|
|
7
|
-
import { FilterUtil } from '../../../utils/filter-util';
|
|
8
|
-
export class LocalListDataSource extends DataSourceBase {
|
|
9
|
-
/***************************************************************************
|
|
10
|
-
* *
|
|
11
|
-
* Static Builder *
|
|
12
|
-
* *
|
|
13
|
-
**************************************************************************/
|
|
14
|
-
/**
|
|
15
|
-
* Creates an empty local list data-source.
|
|
16
|
-
* You can set / modify data by using the data property.
|
|
17
|
-
* @param idProperty
|
|
18
|
-
* @param localSort
|
|
19
|
-
* @param localFilter
|
|
20
|
-
*/
|
|
21
|
-
static empty(idProperty, localSort, localFilter) {
|
|
22
|
-
return LocalListDataSource.from([], idProperty, localSort, localFilter);
|
|
23
|
-
}
|
|
24
|
-
static from(localData, idProperty, localSort, localFilter) {
|
|
25
|
-
return new LocalListDataSource(localData, localSort, localFilter, idProperty);
|
|
26
|
-
}
|
|
27
|
-
/***************************************************************************
|
|
28
|
-
* *
|
|
29
|
-
* Constructor *
|
|
30
|
-
* *
|
|
31
|
-
**************************************************************************/
|
|
32
|
-
constructor(localData, localSort, localFilter, idProperty) {
|
|
33
|
-
super(idProperty || LocalListDataSource.guessIdProperty(localData));
|
|
34
|
-
/***************************************************************************
|
|
35
|
-
* *
|
|
36
|
-
* Fields *
|
|
37
|
-
* *
|
|
38
|
-
**************************************************************************/
|
|
39
|
-
this.logger = LoggerFactory.getLogger(this.constructor.name);
|
|
40
|
-
this.data$ = new BehaviorSubject([]);
|
|
41
|
-
if (!localData) {
|
|
42
|
-
throw new Error('localData must not be null!');
|
|
43
|
-
}
|
|
44
|
-
this.localSort = localSort || SortUtil.sortData;
|
|
45
|
-
this.localFilter = localFilter || FilterUtil.filterData;
|
|
46
|
-
this.data = localData;
|
|
47
|
-
}
|
|
48
|
-
/***************************************************************************
|
|
49
|
-
* *
|
|
50
|
-
* Properties *
|
|
51
|
-
* *
|
|
52
|
-
**************************************************************************/
|
|
53
|
-
get data() {
|
|
54
|
-
return this.data$.getValue();
|
|
55
|
-
}
|
|
56
|
-
set data(data) {
|
|
57
|
-
this.replaceAll(data);
|
|
58
|
-
}
|
|
59
|
-
/***************************************************************************
|
|
60
|
-
* *
|
|
61
|
-
* IDataSource API *
|
|
62
|
-
* *
|
|
63
|
-
**************************************************************************/
|
|
64
|
-
findById(id) {
|
|
65
|
-
if (id === undefined || id === null) {
|
|
66
|
-
throw new Error('findById: id argument required!');
|
|
67
|
-
}
|
|
68
|
-
const found = this.data.find((d) => this.getId(d) === id);
|
|
69
|
-
if (found) {
|
|
70
|
-
return of(found);
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
return throwError(() => new Error("Could not find local entity by id: '" + id + "'"));
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
findByIds(ids) {
|
|
77
|
-
if (ids === undefined || ids === null) {
|
|
78
|
-
throw new Error('findByIds: ids array argument required!');
|
|
79
|
-
}
|
|
80
|
-
return forkJoin(ids.map((id) => this.findById(id)));
|
|
81
|
-
}
|
|
82
|
-
findAllFiltered(filters, sorts) {
|
|
83
|
-
return of(this.data).pipe(map((data) => this.localFilter(data, filters)), map((data) => this.localSort(data, sorts)));
|
|
84
|
-
}
|
|
85
|
-
/***************************************************************************
|
|
86
|
-
* *
|
|
87
|
-
* Public API *
|
|
88
|
-
* *
|
|
89
|
-
**************************************************************************/
|
|
90
|
-
replaceAll(data) {
|
|
91
|
-
this.silentReplaceData(data);
|
|
92
|
-
this.publishChangeEvent(DataSourceChangeEvent.unknownChanges());
|
|
93
|
-
}
|
|
94
|
-
delete(entity) {
|
|
95
|
-
this.deleteAll([entity]);
|
|
96
|
-
}
|
|
97
|
-
deleteAll(toDelete) {
|
|
98
|
-
if (toDelete?.length > 0) {
|
|
99
|
-
return this.deleteAllById(toDelete.map((e) => this.getId(e)));
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
deleteAllById(idsToDelete) {
|
|
103
|
-
if (idsToDelete?.length > 0) {
|
|
104
|
-
const existing = this.data;
|
|
105
|
-
const idsToDeleteSet = new Set(idsToDelete);
|
|
106
|
-
this.silentReplaceData(existing.filter((e) => !idsToDeleteSet.has(this.getId(e))));
|
|
107
|
-
this.publishChangeEvent(DataSourceChangeEvent.deleted(idsToDelete));
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
saveAll(toSave) {
|
|
111
|
-
toSave.forEach((entity) => this.save(entity));
|
|
112
|
-
}
|
|
113
|
-
save(entity) {
|
|
114
|
-
const id = this.getId(entity);
|
|
115
|
-
const newData = [...this.data];
|
|
116
|
-
const existingIndex = newData.findIndex((entity) => this.getId(entity) === id);
|
|
117
|
-
let created = false;
|
|
118
|
-
if (existingIndex === -1) {
|
|
119
|
-
newData.push(entity);
|
|
120
|
-
created = true;
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
newData[existingIndex] = entity;
|
|
124
|
-
}
|
|
125
|
-
this.silentReplaceData(newData);
|
|
126
|
-
this.publishChangeEvent(created ? DataSourceChangeEvent.created([entity]) : DataSourceChangeEvent.modified([entity]));
|
|
127
|
-
}
|
|
128
|
-
/***************************************************************************
|
|
129
|
-
* *
|
|
130
|
-
* Private methods *
|
|
131
|
-
* *
|
|
132
|
-
**************************************************************************/
|
|
133
|
-
silentReplaceData(newData) {
|
|
134
|
-
this.data$.next(newData);
|
|
135
|
-
}
|
|
136
|
-
static guessIdProperty(localData) {
|
|
137
|
-
const log = LoggerFactory.getLogger('LocalListDataSource');
|
|
138
|
-
if (localData && localData.length > 0) {
|
|
139
|
-
const sample = localData[0];
|
|
140
|
-
if (typeof sample === 'object') {
|
|
141
|
-
if (sample.hasOwnProperty('id')) {
|
|
142
|
-
log.warn('DataSource without defined id-property => autodetected property id-property as "id"');
|
|
143
|
-
return 'id'; // Use id
|
|
144
|
-
}
|
|
145
|
-
else {
|
|
146
|
-
log.warn('Local DataSource created without defined id-property and objects. Using object equality!');
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
return null; // Use value as id if scalar
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtbGlzdC1kYXRhLXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL2RhdGFzb3VyY2UvbG9jYWwvbG9jYWwtbGlzdC1kYXRhLXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBYyxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzVFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVwQyxPQUFPLEVBQVUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDNUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUE7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFFdkQsTUFBTSxPQUFPLG1CQUF1QixTQUFRLGNBQWlCO0lBYzNEOzs7O2dGQUk0RTtJQUU1RTs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUNqQixVQUF5QixFQUN6QixTQUE2QyxFQUM3QyxXQUFtRDtRQUVuRCxPQUFPLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQTtJQUN6RSxDQUFDO0lBRU0sTUFBTSxDQUFDLElBQUksQ0FDaEIsU0FBYyxFQUNkLFVBQXlCLEVBQ3pCLFNBQTZDLEVBQzdDLFdBQW1EO1FBRW5ELE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FB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WUFDM0IsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDL0IsSUFBSSxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7b0JBQ2hDLEdBQUcsQ0FBQyxJQUFJLENBQ04scUZBQXFGLENBQ3RGLENBQUE7b0JBQ0QsT0FBTyxJQUFJLENBQUEsQ0FBQyxTQUFTO2dCQUN2QixDQUFDO3FCQUFNLENBQUM7b0JBQ04sR0FBRyxDQUFDLElBQUksQ0FDTiwwRkFBMEYsQ0FDM0YsQ0FBQTtnQkFDSCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQSxDQUFDLDRCQUE0QjtJQUMxQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWx0ZXIgfSBmcm9tICcuLi8uLi9maWx0ZXJzL2ZpbHRlcidcbmltcG9ydCB7IFNvcnQgfSBmcm9tICcuLi8uLi9zb3J0J1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2YsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBJTGlzdERhdGFTb3VyY2UgfSBmcm9tICcuLi9kYXRhLXNvdXJjZSdcbmltcG9ydCB7IExvZ2dlciwgTG9nZ2VyRmFjdG9yeSB9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJ1xuaW1wb3J0IHsgRGF0YVNvdXJjZUNoYW5nZUV2ZW50IH0gZnJvbSAnLi4vZGF0YS1zb3VyY2UtY2hhbmdlLWV2ZW50J1xuaW1wb3J0IHsgRGF0YVNvdXJjZUJhc2UgfSBmcm9tICcuLi9kYXRhLXNvdXJjZS1iYXNlJ1xuaW1wb3J0IHsgU29ydFV0aWwgfSBmcm9tICcuLi8uLi8uLi91dGlscy9zb3J0LXV0aWwnXG5pbXBvcnQgeyBGaWx0ZXJVdGlsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvZmlsdGVyLXV0aWwnXG5cbmV4cG9ydCBjbGFzcyBMb2NhbExpc3REYXRhU291cmNlPFQ+IGV4dGVuZHMgRGF0YVNvdXJjZUJhc2U8VD4gaW1wbGVtZW50cyBJTGlzdERhdGFTb3VyY2U8VD4ge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlcjogTG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGF0YSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRbXT4oW10pXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2NhbFNvcnQ6IChkYXRhOiBUW10sIHNvcnRzOiBTb3J0W10pID0+IFRbXVxuICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsRmlsdGVyOiAoZGF0YTogVFtdLCBmaWx0ZXJzOiBGaWx0ZXJbXSkgPT4gVFtdXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFN0YXRpYyBCdWlsZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gZW1wdHkgbG9jYWwgbGlzdCBkYXRhLXNvdXJjZS5cbiAgICogWW91IGNhbiBzZXQgLyBtb2RpZnkgZGF0YSBieSB1c2luZyB0aGUgZGF0YSBwcm9wZXJ0eS5cbiAgICogQHBhcmFtIGlkUHJvcGVydHlcbiAgICogQHBhcmFtIGxvY2FsU29ydFxuICAgKiBAcGFyYW0gbG9jYWxGaWx0ZXJcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZW1wdHk8VD4oXG4gICAgaWRQcm9wZXJ0eTogc3RyaW5nIHwgbnVsbCxcbiAgICBsb2NhbFNvcnQ/OiAoZGF0YTogVFtdLCBzb3J0czogU29ydFtdKSA9PiBUW10sXG4gICAgbG9jYWxGaWx0ZXI/OiAoZGF0YTogVFtdLCBmaWx0ZXJzOiBGaWx0ZXJbXSkgPT4gVFtdXG4gICk6IExvY2FsTGlzdERhdGFTb3VyY2U8VD4ge1xuICAgIHJldHVybiBMb2NhbExpc3REYXRhU291cmNlLmZyb20oW10sIGlkUHJvcGVydHksIGxvY2FsU29ydCwgbG9jYWxGaWx0ZXIpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZyb208VD4oXG4gICAgbG9jYWxEYXRhOiBUW10sXG4gICAgaWRQcm9wZXJ0eTogc3RyaW5nIHwgbnVsbCxcbiAgICBsb2NhbFNvcnQ/OiAoZGF0YTogVFtdLCBzb3J0czogU29ydFtdKSA9PiBUW10sXG4gICAgbG9jYWxGaWx0ZXI/OiAoZGF0YTogVFtdLCBmaWx0ZXJzOiBGaWx0ZXJbXSkgPT4gVFtdXG4gICk6IExvY2FsTGlzdERhdGFTb3VyY2U8VD4ge1xuICAgIHJldHVybiBuZXcgTG9jYWxMaXN0RGF0YVNvdXJjZShsb2NhbERhdGEsIGxvY2FsU29ydCwgbG9jYWxGaWx0ZXIsIGlkUHJvcGVydHkpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBsb2NhbERhdGE6IFRbXSxcbiAgICBsb2NhbFNvcnQ6IChkYXRhOiBUW10sIHNvcnRzOiBTb3J0W10pID0+IFRbXSxcbiAgICBsb2NhbEZpbHRlcjogKGRhdGE6IFRbXSwgZmlsdGVyczogRmlsdGVyW10pID0+IFRbXSxcbiAgICBpZFByb3BlcnR5OiBzdHJpbmcgfCBudWxsXG4gICkge1xuICAgIHN1cGVyKGlkUHJvcGVydHkgfHwgTG9jYWxMaXN0RGF0YVNvdXJjZS5ndWVzc0lkUHJvcGVydHkobG9jYWxEYXRhKSlcbiAgICBpZiAoIWxvY2FsRGF0YSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdsb2NhbERhdGEgbXVzdCBub3QgYmUgbnVsbCEnKVxuICAgIH1cbiAgICB0aGlzLmxvY2FsU29ydCA9IGxvY2FsU29ydCB8fCBTb3J0VXRpbC5zb3J0RGF0YVxuICAgIHRoaXMubG9jYWxGaWx0ZXIgPSBsb2NhbEZpbHRlciB8fCBGaWx0ZXJVdGlsLmZpbHRlckRhdGFcbiAgICB0aGlzLmRhdGEgPSBsb2NhbERhdGFcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgZGF0YSgpOiBUW10ge1xuICAgIHJldHVybiB0aGlzLmRhdGEkLmdldFZhbHVlKClcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZGF0YShkYXRhOiBUW10pIHtcbiAgICB0aGlzLnJlcGxhY2VBbGwoZGF0YSlcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBJRGF0YVNvdXJjZSBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBmaW5kQnlJZChpZDogYW55KTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgaWYgKGlkID09PSB1bmRlZmluZWQgfHwgaWQgPT09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZmluZEJ5SWQ6IGlkIGFyZ3VtZW50IHJlcXVpcmVkIScpXG4gICAgfVxuICAgIGNvbnN0IGZvdW5kID0gdGhpcy5kYXRhLmZpbmQoKGQpID0+IHRoaXMuZ2V0SWQoZCkgPT09IGlkKVxuICAgIGlmIChmb3VuZCkge1xuICAgICAgcmV0dXJuIG9mKGZvdW5kKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoXCJDb3VsZCBub3QgZmluZCBsb2NhbCBlbnRpdHkgYnkgaWQ6ICdcIiArIGlkICsgXCInXCIpKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmaW5kQnlJZHMoaWRzOiBhbnlbXSk6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgaWYgKGlkcyA9PT0gdW5kZWZpbmVkIHx8IGlkcyA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdmaW5kQnlJZHM6IGlkcyBhcnJheSBhcmd1bWVudCByZXF1aXJlZCEnKVxuICAgIH1cbiAgICByZXR1cm4gZm9ya0pvaW4oaWRzLm1hcCgoaWQpID0+IHRoaXMuZmluZEJ5SWQoaWQpKSlcbiAgfVxuXG4gIHB1YmxpYyBmaW5kQWxsRmlsdGVyZWQoZmlsdGVycz86IEZpbHRlcltdLCBzb3J0cz86IFNvcnRbXSk6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgcmV0dXJuIG9mKHRoaXMuZGF0YSkucGlwZShcbiAgICAgIG1hcCgoZGF0YSkgPT4gdGhpcy5sb2NhbEZpbHRlcihkYXRhLCBmaWx0ZXJzKSksXG4gICAgICBtYXAoKGRhdGEpID0+IHRoaXMubG9jYWxTb3J0KGRhdGEsIHNvcnRzKSlcbiAgICApXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgcmVwbGFjZUFsbChkYXRhOiBUW10pIHtcbiAgICB0aGlzLnNpbGVudFJlcGxhY2VEYXRhKGRhdGEpXG4gICAgdGhpcy5wdWJsaXNoQ2hhbmdlRXZlbnQoRGF0YVNvdXJjZUNoYW5nZUV2ZW50LnVua25vd25DaGFuZ2VzKCkpXG4gIH1cblxuICBwdWJsaWMgZGVsZXRlKGVudGl0eTogVCkge1xuICAgIHRoaXMuZGVsZXRlQWxsKFtlbnRpdHldKVxuICB9XG5cbiAgcHVibGljIGRlbGV0ZUFsbCh0b0RlbGV0ZTogVFtdKSB7XG4gICAgaWYgKHRvRGVsZXRlPy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gdGhpcy5kZWxldGVBbGxCeUlkKHRvRGVsZXRlLm1hcCgoZSkgPT4gdGhpcy5nZXRJZChlKSkpXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRlbGV0ZUFsbEJ5SWQoaWRzVG9EZWxldGU6IGFueVtdKSB7XG4gICAgaWYgKGlkc1RvRGVsZXRlPy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBleGlzdGluZyA9IHRoaXMuZGF0YVxuICAgICAgY29uc3QgaWRzVG9EZWxldGVTZXQgPSBuZXcgU2V0KGlkc1RvRGVsZXRlKVxuICAgICAgdGhpcy5zaWxlbnRSZXBsYWNlRGF0YShleGlzdGluZy5maWx0ZXIoKGUpID0+ICFpZHNUb0RlbGV0ZVNldC5oYXModGhpcy5nZXRJZChlKSkpKVxuICAgICAgdGhpcy5wdWJsaXNoQ2hhbmdlRXZlbnQoRGF0YVNvdXJjZUNoYW5nZUV2ZW50LmRlbGV0ZWQoaWRzVG9EZWxldGUpKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzYXZlQWxsKHRvU2F2ZTogVFtdKSB7XG4gICAgdG9TYXZlLmZvckVhY2goKGVudGl0eSkgPT4gdGhpcy5zYXZlKGVudGl0eSkpXG4gIH1cblxuICBwdWJsaWMgc2F2ZShlbnRpdHk6IFQpIHtcbiAgICBjb25zdCBpZCA9IHRoaXMuZ2V0SWQoZW50aXR5KVxuICAgIGNvbnN0IG5ld0RhdGEgPSBbLi4udGhpcy5kYXRhXVxuICAgIGNvbnN0IGV4aXN0aW5nSW5kZXggPSBuZXdEYXRhLmZpbmRJbmRleCgoZW50aXR5KSA9PiB0aGlzLmdldElkKGVudGl0eSkgPT09IGlkKVxuXG4gICAgbGV0IGNyZWF0ZWQgPSBmYWxzZVxuICAgIGlmIChleGlzdGluZ0luZGV4ID09PSAtMSkge1xuICAgICAgbmV3RGF0YS5wdXNoKGVudGl0eSlcbiAgICAgIGNyZWF0ZWQgPSB0cnVlXG4gICAgfSBlbHNlIHtcbiAgICAgIG5ld0RhdGFbZXhpc3RpbmdJbmRleF0gPSBlbnRpdHlcbiAgICB9XG4gICAgdGhpcy5zaWxlbnRSZXBsYWNlRGF0YShuZXdEYXRhKVxuICAgIHRoaXMucHVibGlzaENoYW5nZUV2ZW50KFxuICAgICAgY3JlYXRlZCA/IERhdGFTb3VyY2VDaGFuZ2VFdmVudC5jcmVhdGVkKFtlbnRpdHldKSA6IERhdGFTb3VyY2VDaGFuZ2VFdmVudC5tb2RpZmllZChbZW50aXR5XSlcbiAgICApXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHNpbGVudFJlcGxhY2VEYXRhKG5ld0RhdGE6IFRbXSk6IHZvaWQge1xuICAgIHRoaXMuZGF0YSQubmV4dChuZXdEYXRhKVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ3Vlc3NJZFByb3BlcnR5PFQ+KGxvY2FsRGF0YTogVFtdKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIoJ0xvY2FsTGlzdERhdGFTb3VyY2UnKVxuXG4gICAgaWYgKGxvY2FsRGF0YSAmJiBsb2NhbERhdGEubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3Qgc2FtcGxlID0gbG9jYWxEYXRhWzBdXG4gICAgICBpZiAodHlwZW9mIHNhbXBsZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgaWYgKHNhbXBsZS5oYXNPd25Qcm9wZXJ0eSgnaWQnKSkge1xuICAgICAgICAgIGxvZy53YXJuKFxuICAgICAgICAgICAgJ0RhdGFTb3VyY2Ugd2l0aG91dCBkZWZpbmVkIGlkLXByb3BlcnR5ID0+IGF1dG9kZXRlY3RlZCBwcm9wZXJ0eSBpZC1wcm9wZXJ0eSBhcyBcImlkXCInXG4gICAgICAgICAgKVxuICAgICAgICAgIHJldHVybiAnaWQnIC8vIFVzZSBpZFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxvZy53YXJuKFxuICAgICAgICAgICAgJ0xvY2FsIERhdGFTb3VyY2UgY3JlYXRlZCB3aXRob3V0IGRlZmluZWQgaWQtcHJvcGVydHkgYW5kIG9iamVjdHMuIFVzaW5nIG9iamVjdCBlcXVhbGl0eSEnXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsIC8vIFVzZSB2YWx1ZSBhcyBpZCBpZiBzY2FsYXJcbiAgfVxufVxuIl19
|