geonetwork-ui 2.4.2 → 2.5.0-dev.0a41b52e9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +11 -1
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
- package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +50 -32
- package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +26 -10
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
- package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +7 -4
- package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +18 -16
- package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +24 -14
- package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +16 -18
- package/esm2022/libs/feature/editor/src/index.mjs +2 -1
- package/esm2022/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +2 -2
- package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +4 -4
- package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +2 -2
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.mjs +2 -2
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +3 -2
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +2 -2
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +2 -1
- package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +7 -23
- package/esm2022/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.mjs +11 -11
- package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +2 -2
- package/esm2022/libs/feature/editor/src/lib/models/wizard-field.type.mjs +3 -4
- package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +1 -1
- package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +25 -5
- package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +6 -7
- package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +10 -7
- package/esm2022/libs/feature/record/src/lib/state/mdview.actions.mjs +4 -1
- package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +7 -2
- package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +9 -1
- package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +19 -1
- package/esm2022/libs/feature/record/src/lib/state/mdview.selectors.mjs +6 -1
- package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +6 -3
- package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +1 -1
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +46 -1
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +3 -2
- package/esm2022/libs/ui/dataviz/src/index.mjs +3 -3
- package/esm2022/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.mjs +51 -0
- package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.component.mjs +133 -0
- package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.data.source.mjs +24 -0
- package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.mjs +82 -0
- package/esm2022/libs/ui/elements/src/index.mjs +2 -1
- package/esm2022/libs/ui/elements/src/lib/application-banner/application-banner.component.mjs +78 -0
- package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +18 -10
- package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +2 -1
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +10 -4
- package/esm2022/libs/ui/inputs/src/index.mjs +1 -2
- package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +43 -3
- package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +1 -6
- package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +2 -7
- package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +14 -4
- package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +22 -13
- package/esm2022/libs/ui/widgets/src/index.mjs +1 -2
- package/esm2022/libs/ui/widgets/src/lib/ui-widgets.module.mjs +5 -6
- package/esm2022/libs/util/data-fetcher/src/index.mjs +3 -1
- package/esm2022/libs/util/data-fetcher/src/lib/data-fetcher.mjs +5 -4
- package/esm2022/libs/util/data-fetcher/src/lib/model.mjs +7 -3
- package/esm2022/libs/util/data-fetcher/src/lib/readers/base-cache.mjs +12 -0
- package/esm2022/libs/util/data-fetcher/src/lib/readers/base-file.mjs +3 -3
- package/esm2022/libs/util/data-fetcher/src/lib/readers/base.mjs +1 -1
- package/esm2022/libs/util/data-fetcher/src/lib/readers/csv.mjs +2 -2
- package/esm2022/libs/util/data-fetcher/src/lib/readers/excel.mjs +2 -2
- package/esm2022/libs/util/data-fetcher/src/lib/readers/geojson.mjs +2 -2
- package/esm2022/libs/util/data-fetcher/src/lib/readers/gml.mjs +5 -3
- package/esm2022/libs/util/data-fetcher/src/lib/readers/json.mjs +2 -2
- package/esm2022/libs/util/data-fetcher/src/lib/readers/wfs.mjs +35 -9
- package/esm2022/libs/util/data-fetcher/src/lib/utils.mjs +14 -10
- package/esm2022/libs/util/shared/src/lib/services/date.service.mjs +41 -0
- package/esm2022/libs/util/shared/src/lib/services/index.mjs +2 -1
- package/esm2022/libs/util/shared/src/lib/utils/temporal-extent-union.mjs +4 -4
- package/esm2022/translations/de.json +10 -75
- package/esm2022/translations/en.json +10 -75
- package/esm2022/translations/es.json +9 -74
- package/esm2022/translations/fr.json +22 -87
- package/esm2022/translations/it.json +27 -91
- package/esm2022/translations/nl.json +9 -74
- package/esm2022/translations/pt.json +9 -74
- package/fesm2022/geonetwork-ui.mjs +1194 -1223
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +3 -0
- package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +3 -1
- package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +2 -1
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +6 -0
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +2 -1
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +2 -1
- package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts +7 -9
- package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts +2 -2
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +5 -7
- package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
- package/libs/feature/editor/src/index.d.ts +1 -0
- package/libs/feature/editor/src/index.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.d.ts +1 -3
- package/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.d.ts +3 -3
- package/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/models/wizard-field.type.d.ts +2 -3
- package/libs/feature/editor/src/lib/models/wizard-field.type.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +5 -1
- package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/feature-record.module.d.ts +2 -2
- package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +3 -2
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.actions.d.ts +16 -1
- package/libs/feature/record/src/lib/state/mdview.actions.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.effects.d.ts +5 -0
- package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.facade.d.ts +2 -0
- package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.reducer.d.ts +4 -1
- package/libs/feature/record/src/lib/state/mdview.reducer.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.selectors.d.ts +2 -0
- package/libs/feature/record/src/lib/state/mdview.selectors.d.ts.map +1 -1
- package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts +2 -1
- package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.d.ts +10 -0
- package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
- package/libs/ui/dataviz/src/index.d.ts +2 -2
- package/libs/ui/dataviz/src/index.d.ts.map +1 -1
- package/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.d.ts +14 -0
- package/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.d.ts.map +1 -0
- package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts +45 -0
- package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts.map +1 -0
- package/libs/ui/dataviz/src/lib/data-table/data-table.data.source.d.ts +12 -0
- package/libs/ui/dataviz/src/lib/data-table/data-table.data.source.d.ts.map +1 -0
- package/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.d.ts +10 -0
- package/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.d.ts.map +1 -0
- package/libs/ui/elements/src/index.d.ts +1 -0
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/application-banner/application-banner.component.d.ts +16 -0
- package/libs/ui/elements/src/lib/application-banner/application-banner.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +5 -0
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts +2 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
- package/libs/ui/inputs/src/index.d.ts +0 -1
- package/libs/ui/inputs/src/index.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts +16 -1
- package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +27 -28
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +2 -3
- package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -1
- package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +4 -2
- package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -1
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +6 -3
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
- package/libs/ui/widgets/src/index.d.ts +0 -1
- package/libs/ui/widgets/src/index.d.ts.map +1 -1
- package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts +8 -9
- package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/index.d.ts +3 -1
- package/libs/util/data-fetcher/src/index.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/data-fetcher.d.ts +2 -2
- package/libs/util/data-fetcher/src/lib/data-fetcher.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/model.d.ts +1 -1
- package/libs/util/data-fetcher/src/lib/model.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/readers/base-cache.d.ts +8 -0
- package/libs/util/data-fetcher/src/lib/readers/base-cache.d.ts.map +1 -0
- package/libs/util/data-fetcher/src/lib/readers/base-file.d.ts +2 -2
- package/libs/util/data-fetcher/src/lib/readers/base-file.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/readers/base.d.ts +2 -2
- package/libs/util/data-fetcher/src/lib/readers/base.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/readers/gml.d.ts +5 -3
- package/libs/util/data-fetcher/src/lib/readers/gml.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts +7 -4
- package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/utils.d.ts +2 -2
- package/libs/util/data-fetcher/src/lib/utils.d.ts.map +1 -1
- package/libs/util/shared/src/lib/services/date.service.d.ts +13 -0
- package/libs/util/shared/src/lib/services/date.service.d.ts.map +1 -0
- package/libs/util/shared/src/lib/services/index.d.ts +1 -0
- package/libs/util/shared/src/lib/services/index.d.ts.map +1 -1
- package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts +2 -1
- package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +25 -0
- package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +4 -0
- package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +55 -32
- package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +45 -18
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +3 -1
- package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +4 -1
- package/src/libs/common/fixtures/src/lib/records.fixtures.ts +165 -0
- package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +4 -1
- package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.html +3 -3
- package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.ts +17 -15
- package/src/libs/feature/dataviz/src/lib/service/data.service.ts +43 -20
- package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.html +4 -3
- package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +10 -18
- package/src/libs/feature/editor/src/index.ts +1 -0
- package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.html +1 -1
- package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.ts +3 -3
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +1 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +1 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +1 -0
- package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.html +0 -13
- package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.ts +0 -20
- package/src/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.ts +3 -4
- package/src/libs/feature/editor/src/lib/fields.config.ts +1 -1
- package/src/libs/feature/editor/src/lib/models/wizard-field.type.ts +0 -1
- package/src/libs/feature/record/src/lib/data-view/data-view.component.html +24 -11
- package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +26 -4
- package/src/libs/feature/record/src/lib/feature-record.module.ts +6 -4
- package/src/libs/feature/record/src/lib/map-view/map-view.component.html +71 -60
- package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +6 -3
- package/src/libs/feature/record/src/lib/state/mdview.actions.ts +16 -0
- package/src/libs/feature/record/src/lib/state/mdview.effects.ts +21 -2
- package/src/libs/feature/record/src/lib/state/mdview.facade.ts +15 -0
- package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +30 -1
- package/src/libs/feature/record/src/lib/state/mdview.selectors.ts +12 -0
- package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +1 -0
- package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +1 -0
- package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +2 -0
- package/src/libs/feature/search/src/lib/utils/service/fields.ts +55 -0
- package/src/libs/ui/dataviz/src/index.ts +2 -2
- package/src/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.ts +52 -0
- package/src/libs/ui/dataviz/src/lib/{table/table.component.css → data-table/data-table.component.css} +4 -0
- package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.html +67 -0
- package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.ts +173 -0
- package/src/libs/ui/dataviz/src/lib/data-table/data-table.data.source.ts +33 -0
- package/src/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.ts +84 -0
- package/src/libs/ui/elements/src/index.ts +1 -0
- package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.css +0 -0
- package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.html +25 -0
- package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.ts +70 -0
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.ts +2 -2
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +3 -3
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +12 -2
- package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +2 -0
- package/src/libs/ui/elements/src/lib/ui-elements.module.ts +3 -0
- package/src/libs/ui/inputs/src/index.ts +0 -1
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +48 -0
- package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +0 -3
- package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +1 -7
- package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +37 -1
- package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +8 -2
- package/src/libs/ui/search/src/lib/results-table/results-table.component.html +2 -0
- package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +10 -2
- package/src/libs/ui/widgets/src/index.ts +0 -1
- package/src/libs/ui/widgets/src/lib/ui-widgets.module.ts +2 -3
- package/src/libs/util/data-fetcher/src/index.ts +3 -0
- package/src/libs/util/data-fetcher/src/lib/data-fetcher.ts +13 -4
- package/src/libs/util/data-fetcher/src/lib/model.ts +6 -2
- package/src/libs/util/data-fetcher/src/lib/readers/base-cache.ts +14 -0
- package/src/libs/util/data-fetcher/src/lib/readers/base-file.ts +2 -1
- package/src/libs/util/data-fetcher/src/lib/readers/base.ts +2 -2
- package/src/libs/util/data-fetcher/src/lib/readers/csv.ts +1 -1
- package/src/libs/util/data-fetcher/src/lib/readers/excel.ts +1 -1
- package/src/libs/util/data-fetcher/src/lib/readers/geojson.ts +1 -1
- package/src/libs/util/data-fetcher/src/lib/readers/gml.ts +7 -7
- package/src/libs/util/data-fetcher/src/lib/readers/json.ts +1 -1
- package/src/libs/util/data-fetcher/src/lib/readers/wfs.ts +53 -8
- package/src/libs/util/data-fetcher/src/lib/utils.ts +38 -32
- package/src/libs/util/shared/src/lib/services/date.service.ts +45 -0
- package/src/libs/util/shared/src/lib/services/index.ts +1 -0
- package/src/libs/util/shared/src/lib/utils/temporal-extent-union.ts +6 -3
- package/translations/de.json +10 -75
- package/translations/en.json +10 -75
- package/translations/es.json +9 -74
- package/translations/fr.json +22 -87
- package/translations/it.json +27 -91
- package/translations/nl.json +9 -74
- package/translations/pt.json +9 -74
- package/translations/sk.json +9 -74
- package/esm2022/libs/ui/dataviz/src/lib/table/table.component.mjs +0 -61
- package/esm2022/libs/ui/dataviz/src/lib/table/table.fixtures.mjs +0 -40
- package/esm2022/libs/ui/inputs/src/lib/chips-input/chips-input.component.mjs +0 -78
- package/esm2022/libs/ui/widgets/src/lib/step-bar/step-bar.component.mjs +0 -55
- package/libs/ui/dataviz/src/lib/table/table.component.d.ts +0 -29
- package/libs/ui/dataviz/src/lib/table/table.component.d.ts.map +0 -1
- package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts +0 -11
- package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts.map +0 -1
- package/libs/ui/inputs/src/lib/chips-input/chips-input.component.d.ts +0 -33
- package/libs/ui/inputs/src/lib/chips-input/chips-input.component.d.ts.map +0 -1
- package/libs/ui/widgets/src/lib/step-bar/step-bar.component.d.ts +0 -21
- package/libs/ui/widgets/src/lib/step-bar/step-bar.component.d.ts.map +0 -1
- package/src/libs/data-access/datafeeder/src/index.ts +0 -1
- package/src/libs/data-access/datafeeder/src/openapi/api/api.ts +0 -11
- package/src/libs/data-access/datafeeder/src/openapi/api/config.api.service.ts +0 -168
- package/src/libs/data-access/datafeeder/src/openapi/api/dataPublishing.api.service.ts +0 -270
- package/src/libs/data-access/datafeeder/src/openapi/api/fileUpload.api.service.ts +0 -734
- package/src/libs/data-access/datafeeder/src/openapi/api.module.ts +0 -46
- package/src/libs/data-access/datafeeder/src/openapi/configuration.ts +0 -125
- package/src/libs/data-access/datafeeder/src/openapi/encoder.ts +0 -20
- package/src/libs/data-access/datafeeder/src/openapi/index.ts +0 -5
- package/src/libs/data-access/datafeeder/src/openapi/model/analysisStatusEnum.api.model.ts +0 -24
- package/src/libs/data-access/datafeeder/src/openapi/model/boundingBox.api.model.ts +0 -20
- package/src/libs/data-access/datafeeder/src/openapi/model/cRS.api.model.ts +0 -25
- package/src/libs/data-access/datafeeder/src/openapi/model/datasetMetadata.api.model.ts +0 -45
- package/src/libs/data-access/datafeeder/src/openapi/model/datasetPublishRequest.api.model.ts +0 -39
- package/src/libs/data-access/datafeeder/src/openapi/model/datasetPublishingStatus.api.model.ts +0 -50
- package/src/libs/data-access/datafeeder/src/openapi/model/datasetUploadStatus.api.model.ts +0 -39
- package/src/libs/data-access/datafeeder/src/openapi/model/models.ts +0 -13
- package/src/libs/data-access/datafeeder/src/openapi/model/property.api.model.ts +0 -17
- package/src/libs/data-access/datafeeder/src/openapi/model/publishJobStatus.api.model.ts +0 -33
- package/src/libs/data-access/datafeeder/src/openapi/model/publishRequest.api.model.ts +0 -16
- package/src/libs/data-access/datafeeder/src/openapi/model/publishStatusEnum.api.model.ts +0 -20
- package/src/libs/data-access/datafeeder/src/openapi/model/publishStepEnum.api.model.ts +0 -42
- package/src/libs/data-access/datafeeder/src/openapi/model/uploadJobStatus.api.model.ts +0 -33
- package/src/libs/data-access/datafeeder/src/openapi/variables.ts +0 -9
- package/src/libs/data-access/datafeeder/src/spec.yaml +0 -537
- package/src/libs/ui/dataviz/src/lib/table/table.component.html +0 -40
- package/src/libs/ui/dataviz/src/lib/table/table.component.ts +0 -80
- package/src/libs/ui/dataviz/src/lib/table/table.fixtures.ts +0 -40
- package/src/libs/ui/inputs/src/lib/chips-input/chips-input.component.css +0 -36
- package/src/libs/ui/inputs/src/lib/chips-input/chips-input.component.html +0 -23
- package/src/libs/ui/inputs/src/lib/chips-input/chips-input.component.ts +0 -81
- package/src/libs/ui/widgets/src/lib/step-bar/step-bar.component.css +0 -3
- package/src/libs/ui/widgets/src/lib/step-bar/step-bar.component.html +0 -13
- package/src/libs/ui/widgets/src/lib/step-bar/step-bar.component.ts +0 -55
|
@@ -18,7 +18,7 @@ export function parseExcel(buffer) {
|
|
|
18
18
|
}
|
|
19
19
|
export class ExcelReader extends BaseFileReader {
|
|
20
20
|
getData() {
|
|
21
|
-
return fetchDataAsArrayBuffer(this.url).then(parseExcel);
|
|
21
|
+
return fetchDataAsArrayBuffer(this.url, this.cacheActive).then(parseExcel);
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvZGF0YS1mZXRjaGVyL3NyYy9saWIvcmVhZGVycy9leGNlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLG9CQUFvQixFQUNwQixxQkFBcUIsR0FDdEIsTUFBTSxVQUFVLENBQUE7QUFDakIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUU1Qzs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBQyxNQUFtQjtJQUk1QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1FBQzdDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUM3QixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNyRCxJQUFJLElBQUksR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakIsSUFBSSxHQUFHLEVBQUUsQ0FBQTtRQUNYLENBQUM7UUFDRCxPQUFPLHFCQUFxQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNwRSxDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFFRCxNQUFNLE9BQU8sV0FBWSxTQUFRLGNBQWM7SUFDN0MsT0FBTztRQUNMLE9BQU8sc0JBQXNCLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQzVFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFJdGVtLCBQcm9wZXJ0eUluZm8gfSBmcm9tICcuLi9tb2RlbCdcbmltcG9ydCB7XG4gIGZldGNoRGF0YUFzQXJyYXlCdWZmZXIsXG4gIGpzb25Ub0dlb2pzb25GZWF0dXJlLFxuICBwcm9jZXNzSXRlbVByb3BlcnRpZXMsXG59IGZyb20gJy4uL3V0aWxzJ1xuaW1wb3J0IHsgQmFzZUZpbGVSZWFkZXIgfSBmcm9tICcuL2Jhc2UtZmlsZSdcblxuLyoqXG4gKiBUaGlzIHdpbGwgcmVhZCB0aGUgZmlyc3Qgc2hlZXQgb2YgdGhlIGV4Y2VsIHdvcmtib29rIGFuZCBleHBlY3QgdGhlIGZpcnN0XG4gKiBsaW5lIHRvIGNvbnRhaW4gdGhlIHByb3BlcnRpZXMgbmFtZXNcbiAqIEBwYXJhbSBidWZmZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRXhjZWwoYnVmZmVyOiBBcnJheUJ1ZmZlcik6IFByb21pc2U8e1xuICBpdGVtczogRGF0YUl0ZW1bXVxuICBwcm9wZXJ0aWVzOiBQcm9wZXJ0eUluZm9bXVxufT4ge1xuICByZXR1cm4gaW1wb3J0KCd4bHN4JykudGhlbigoeyByZWFkLCB1dGlscyB9KSA9PiB7XG4gICAgY29uc3Qgd29ya2Jvb2sgPSByZWFkKGJ1ZmZlcilcbiAgICBjb25zdCBzaGVldCA9IHdvcmtib29rLlNoZWV0c1t3b3JrYm9vay5TaGVldE5hbWVzWzBdXVxuICAgIGxldCBqc29uID0gdXRpbHMuc2hlZXRfdG9fanNvbihzaGVldClcbiAgICBpZiAoIWpzb24ubGVuZ3RoKSB7XG4gICAgICBqc29uID0gW11cbiAgICB9XG4gICAgcmV0dXJuIHByb2Nlc3NJdGVtUHJvcGVydGllcyhqc29uLm1hcChqc29uVG9HZW9qc29uRmVhdHVyZSksIHRydWUpXG4gIH0pXG59XG5cbmV4cG9ydCBjbGFzcyBFeGNlbFJlYWRlciBleHRlbmRzIEJhc2VGaWxlUmVhZGVyIHtcbiAgZ2V0RGF0YSgpIHtcbiAgICByZXR1cm4gZmV0Y2hEYXRhQXNBcnJheUJ1ZmZlcih0aGlzLnVybCwgdGhpcy5jYWNoZUFjdGl2ZSkudGhlbihwYXJzZUV4Y2VsKVxuICB9XG59XG4iXX0=
|
|
@@ -15,7 +15,7 @@ export function parseGeojson(text) {
|
|
|
15
15
|
}
|
|
16
16
|
export class GeojsonReader extends BaseFileReader {
|
|
17
17
|
getData() {
|
|
18
|
-
return fetchDataAsText(this.url).then(parseGeojson);
|
|
18
|
+
return fetchDataAsText(this.url, this.cacheActive).then(parseGeojson);
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvanNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9kYXRhLWZldGNoZXIvc3JjL2xpYi9yZWFkZXJzL2dlb2pzb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRTVDOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUFDLElBQVk7SUFJdkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUMvQixNQUFNLFFBQVEsR0FDWixNQUFNLENBQUMsSUFBSSxLQUFLLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUE7SUFDaEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUM3QixNQUFNLElBQUksS0FBSyxDQUNiLCtGQUErRixDQUNoRyxDQUFBO0lBQ0gsQ0FBQztJQUNELE9BQU8scUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQUE7QUFDeEMsQ0FBQztBQUVELE1BQU0sT0FBTyxhQUFjLFNBQVEsY0FBYztJQUMvQyxPQUFPO1FBQ0wsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQ3ZFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFJdGVtLCBQcm9wZXJ0eUluZm8gfSBmcm9tICcuLi9tb2RlbCdcbmltcG9ydCB7IGZldGNoRGF0YUFzVGV4dCwgcHJvY2Vzc0l0ZW1Qcm9wZXJ0aWVzIH0gZnJvbSAnLi4vdXRpbHMnXG5pbXBvcnQgeyBCYXNlRmlsZVJlYWRlciB9IGZyb20gJy4vYmFzZS1maWxlJ1xuXG4vKipcbiAqIFRoaXMgcGFyc2VyIHN1cHBvcnRzIGJvdGggR2VvanNvbiBGZWF0dXJlIGNvbGxlY3Rpb25zIG9yIGFycmF5c1xuICogb2YgRmVhdHVyZXNcbiAqIEBwYXJhbSB0ZXh0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUdlb2pzb24odGV4dDogc3RyaW5nKToge1xuICBpdGVtczogRGF0YUl0ZW1bXVxuICBwcm9wZXJ0aWVzOiBQcm9wZXJ0eUluZm9bXVxufSB7XG4gIGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2UodGV4dClcbiAgY29uc3QgZmVhdHVyZXMgPVxuICAgIHBhcnNlZC50eXBlID09PSAnRmVhdHVyZUNvbGxlY3Rpb24nID8gcGFyc2VkLmZlYXR1cmVzIDogcGFyc2VkXG4gIGlmICghQXJyYXkuaXNBcnJheShmZWF0dXJlcykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnQ291bGQgbm90IHBhcnNlIEdlb0pTT04sIGV4cGVjdGVkIGEgZmVhdHVyZXMgY29sbGVjdGlvbiBvciBhbiBhcnJheSBvZiBmZWF0dXJlcyBhdCByb290IGxldmVsJ1xuICAgIClcbiAgfVxuICByZXR1cm4gcHJvY2Vzc0l0ZW1Qcm9wZXJ0aWVzKGZlYXR1cmVzKVxufVxuXG5leHBvcnQgY2xhc3MgR2VvanNvblJlYWRlciBleHRlbmRzIEJhc2VGaWxlUmVhZGVyIHtcbiAgZ2V0RGF0YSgpIHtcbiAgICByZXR1cm4gZmV0Y2hEYXRhQXNUZXh0KHRoaXMudXJsLCB0aGlzLmNhY2hlQWN0aXZlKS50aGVuKHBhcnNlR2VvanNvbilcbiAgfVxufVxuIl19
|
|
@@ -24,13 +24,15 @@ export function parseGml(text, namespace, version) {
|
|
|
24
24
|
throw Error("Couldn't retrieve namespace url");
|
|
25
25
|
}
|
|
26
26
|
export class GmlReader extends BaseFileReader {
|
|
27
|
-
constructor(url, namespace, version) {
|
|
27
|
+
constructor(url, namespace, version, cacheActive = true) {
|
|
28
28
|
super(url);
|
|
29
|
+
this.url = url;
|
|
29
30
|
this.namespace = namespace;
|
|
30
31
|
this.version = version;
|
|
32
|
+
this.cacheActive = cacheActive;
|
|
31
33
|
}
|
|
32
34
|
getData() {
|
|
33
|
-
return fetchDataAsText(this.url).then((text) => parseGml(text, this.namespace, this.version));
|
|
35
|
+
return fetchDataAsText(this.url, this.cacheActive).then((text) => parseGml(text, this.namespace, this.version));
|
|
34
36
|
}
|
|
35
37
|
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ21sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2RhdGEtZmV0Y2hlci9zcmMvbGliL3JlYWRlcnMvZ21sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUd4QyxNQUFNLFVBQVUsUUFBUSxDQUN0QixJQUFZLEVBQ1osU0FBaUIsRUFDakIsT0FBZTtJQUtmLE1BQU0saUJBQWlCLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUM5QyxNQUFNLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxTQUFTLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO0lBQzFFLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFFOUIsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUMvQixNQUFNLEVBQUUsR0FBRyxJQUFJLEdBQUcsQ0FBQztZQUNqQixTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNuQixXQUFXLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLE9BQU8sRUFBRSxPQUFPO1NBQ2pCLENBQUMsQ0FBQTtRQUVGLElBQUksUUFBUSxDQUFBO1FBQ1osSUFBSSxDQUFDO1lBQ0gsUUFBUSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDbEMsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxNQUFNLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFBO1FBQ3JELENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQy9ELE9BQU8scUJBQXFCLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUMxRCxDQUFDO0lBQ0QsTUFBTSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQTtBQUNoRCxDQUFDO0FBRUQsTUFBTSxPQUFPLFNBQVUsU0FBUSxjQUFjO0lBQzNDLFlBQ1ksR0FBVyxFQUNYLFNBQWlCLEVBQ2pCLE9BQW1CLEVBQ25CLGNBQWMsSUFBSTtRQUU1QixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7UUFMQSxRQUFHLEdBQUgsR0FBRyxDQUFRO1FBQ1gsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUNqQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLGdCQUFXLEdBQVgsV0FBVyxDQUFPO0lBRzlCLENBQUM7SUFFUyxPQUFPO1FBQ2YsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDL0QsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FDN0MsQ0FBQTtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VGaWxlUmVhZGVyIH0gZnJvbSAnLi9iYXNlLWZpbGUnXG5pbXBvcnQgeyBEYXRhSXRlbSwgUHJvcGVydHlJbmZvIH0gZnJvbSAnLi4vbW9kZWwnXG5pbXBvcnQgeyBmZXRjaERhdGFBc1RleHQsIHByb2Nlc3NJdGVtUHJvcGVydGllcyB9IGZyb20gJy4uL3V0aWxzJ1xuaW1wb3J0IHsgR2VvSlNPTiwgV0ZTIH0gZnJvbSAnb2wvZm9ybWF0J1xuaW1wb3J0IHsgV2ZzVmVyc2lvbiB9IGZyb20gJ0BjYW1wdG9jYW1wL29nYy1jbGllbnQnXG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUdtbChcbiAgdGV4dDogc3RyaW5nLFxuICBuYW1lc3BhY2U6IHN0cmluZyxcbiAgdmVyc2lvbjogc3RyaW5nXG4pOiB7XG4gIGl0ZW1zOiBEYXRhSXRlbVtdXG4gIHByb3BlcnRpZXM6IFByb3BlcnR5SW5mb1tdXG59IHtcbiAgY29uc3Qgc3BsaXR0ZWROYW1lc3BhY2UgPSBuYW1lc3BhY2Uuc3BsaXQoJzonKVxuICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAoYHhtbG5zOiR7c3BsaXR0ZWROYW1lc3BhY2VbMF19PVtcIiddKFteJ1wiXSopW1wiJ11gKVxuICBjb25zdCBtYXRjaCA9IHJlZ2V4LmV4ZWModGV4dClcblxuICBpZiAobWF0Y2ggJiYgbWF0Y2gubGVuZ3RoID49IDIpIHtcbiAgICBjb25zdCB3ZiA9IG5ldyBXRlMoe1xuICAgICAgZmVhdHVyZU5TOiBtYXRjaFsxXSxcbiAgICAgIGZlYXR1cmVUeXBlOiBzcGxpdHRlZE5hbWVzcGFjZVsxXSxcbiAgICAgIHZlcnNpb246IHZlcnNpb24sXG4gICAgfSlcblxuICAgIGxldCBmZWF0dXJlc1xuICAgIHRyeSB7XG4gICAgICBmZWF0dXJlcyA9IHdmLnJlYWRGZWF0dXJlcyh0ZXh0KVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IEVycm9yKFwiQ291bGRuJ3QgcGFyc2UgV0ZTIHdpdGggR01MIGZlYXR1cmVzXCIpXG4gICAgfVxuXG4gICAgY29uc3QgZ2VvanNvbkl0ZW0gPSBuZXcgR2VvSlNPTigpLndyaXRlRmVhdHVyZXNPYmplY3QoZmVhdHVyZXMpXG4gICAgcmV0dXJuIHByb2Nlc3NJdGVtUHJvcGVydGllcyhnZW9qc29uSXRlbS5mZWF0dXJlcywgdHJ1ZSlcbiAgfVxuICB0aHJvdyBFcnJvcihcIkNvdWxkbid0IHJldHJpZXZlIG5hbWVzcGFjZSB1cmxcIilcbn1cblxuZXhwb3J0IGNsYXNzIEdtbFJlYWRlciBleHRlbmRzIEJhc2VGaWxlUmVhZGVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHVybDogc3RyaW5nLFxuICAgIHByb3RlY3RlZCBuYW1lc3BhY2U6IHN0cmluZyxcbiAgICBwcm90ZWN0ZWQgdmVyc2lvbjogV2ZzVmVyc2lvbixcbiAgICBwcm90ZWN0ZWQgY2FjaGVBY3RpdmUgPSB0cnVlXG4gICkge1xuICAgIHN1cGVyKHVybClcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXREYXRhKCkge1xuICAgIHJldHVybiBmZXRjaERhdGFBc1RleHQodGhpcy51cmwsIHRoaXMuY2FjaGVBY3RpdmUpLnRoZW4oKHRleHQpID0+XG4gICAgICBwYXJzZUdtbCh0ZXh0LCB0aGlzLm5hbWVzcGFjZSwgdGhpcy52ZXJzaW9uKVxuICAgIClcbiAgfVxufVxuIl19
|
|
@@ -13,7 +13,7 @@ export function parseJson(text) {
|
|
|
13
13
|
}
|
|
14
14
|
export class JsonReader extends BaseFileReader {
|
|
15
15
|
getData() {
|
|
16
|
-
return fetchDataAsText(this.url).then(parseJson);
|
|
16
|
+
return fetchDataAsText(this.url, this.cacheActive).then(parseJson);
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9kYXRhLWZldGNoZXIvc3JjL2xpYi9yZWFkZXJzL2pzb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLGVBQWUsRUFDZixvQkFBb0IsRUFDcEIscUJBQXFCLEdBQ3RCLE1BQU0sVUFBVSxDQUFBO0FBQ2pCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFNUM7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLFNBQVMsQ0FBQyxJQUFZO0lBSXBDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFVLENBQUE7SUFDeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUE7SUFDMUUsQ0FBQztJQUNELE9BQU8scUJBQXFCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUE7QUFDaEUsQ0FBQztBQUVELE1BQU0sT0FBTyxVQUFXLFNBQVEsY0FBYztJQUM1QyxPQUFPO1FBQ0wsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ3BFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFJdGVtLCBQcm9wZXJ0eUluZm8gfSBmcm9tICcuLi9tb2RlbCdcbmltcG9ydCB7XG4gIGZldGNoRGF0YUFzVGV4dCxcbiAganNvblRvR2VvanNvbkZlYXR1cmUsXG4gIHByb2Nlc3NJdGVtUHJvcGVydGllcyxcbn0gZnJvbSAnLi4vdXRpbHMnXG5pbXBvcnQgeyBCYXNlRmlsZVJlYWRlciB9IGZyb20gJy4vYmFzZS1maWxlJ1xuXG4vKipcbiAqIFRoaXMgcGFyc2VyIG9ubHkgc3VwcG9ydHMgYXJyYXlzIG9mIHNpbXBsZSBmbGF0IG9iamVjdHMgd2l0aCBwcm9wZXJ0aWVzXG4gKiBAcGFyYW0gdGV4dFxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VKc29uKHRleHQ6IHN0cmluZyk6IHtcbiAgaXRlbXM6IERhdGFJdGVtW11cbiAgcHJvcGVydGllczogUHJvcGVydHlJbmZvW11cbn0ge1xuICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKHRleHQpIGFzIGFueVtdXG4gIGlmICghQXJyYXkuaXNBcnJheShwYXJzZWQpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDb3VsZCBub3QgcGFyc2UgSlNPTiwgZXhwZWN0ZWQgYW4gYXJyYXkgYXQgcm9vdCBsZXZlbCcpXG4gIH1cbiAgcmV0dXJuIHByb2Nlc3NJdGVtUHJvcGVydGllcyhwYXJzZWQubWFwKGpzb25Ub0dlb2pzb25GZWF0dXJlKSlcbn1cblxuZXhwb3J0IGNsYXNzIEpzb25SZWFkZXIgZXh0ZW5kcyBCYXNlRmlsZVJlYWRlciB7XG4gIGdldERhdGEoKSB7XG4gICAgcmV0dXJuIGZldGNoRGF0YUFzVGV4dCh0aGlzLnVybCwgdGhpcy5jYWNoZUFjdGl2ZSkudGhlbihwYXJzZUpzb24pXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,17 +1,31 @@
|
|
|
1
1
|
import { WfsEndpoint } from '@camptocamp/ogc-client';
|
|
2
2
|
import { fetchDataAsText } from '../utils';
|
|
3
|
-
import { BaseReader } from './base';
|
|
4
3
|
import { GmlReader, parseGml } from './gml';
|
|
5
4
|
import { GeojsonReader, parseGeojson } from './geojson';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
import { BaseCacheReader } from './base-cache';
|
|
6
|
+
import { getJsonDataItemsProxy, jsonToGeojsonFeature } from '../utils';
|
|
7
|
+
import { generateSqlQuery } from '../sql-utils';
|
|
8
|
+
export class WfsReader extends BaseCacheReader {
|
|
9
|
+
constructor(url, wfsEndpoint, featureTypeName, cacheActive) {
|
|
10
|
+
super(url, cacheActive);
|
|
9
11
|
this.endpoint = wfsEndpoint;
|
|
10
12
|
this.featureTypeName = featureTypeName;
|
|
11
13
|
this.version = this.endpoint.getVersion();
|
|
12
14
|
}
|
|
13
15
|
get properties() {
|
|
14
|
-
return this.
|
|
16
|
+
return this.endpoint
|
|
17
|
+
.getFeatureTypeFull(this.featureTypeName)
|
|
18
|
+
.then((featureType) => Object.keys(featureType.properties).map((prop) => {
|
|
19
|
+
const originalType = featureType.properties[prop];
|
|
20
|
+
const type = originalType === 'float' || originalType === 'integer'
|
|
21
|
+
? 'number'
|
|
22
|
+
: originalType; // FIXME: ogc-client typing is incorrect, should be a string union
|
|
23
|
+
return {
|
|
24
|
+
name: prop,
|
|
25
|
+
label: prop,
|
|
26
|
+
type,
|
|
27
|
+
};
|
|
28
|
+
}));
|
|
15
29
|
}
|
|
16
30
|
get info() {
|
|
17
31
|
return this.endpoint.getFeatureTypeFull(this.featureTypeName).then((result) => ({
|
|
@@ -48,13 +62,18 @@ export class WfsReader extends BaseReader {
|
|
|
48
62
|
throw new Error('wfs.geojsongml.notsupported');
|
|
49
63
|
}
|
|
50
64
|
}
|
|
51
|
-
getData() {
|
|
65
|
+
async getData(aggregation, groupedBy) {
|
|
66
|
+
if (aggregation || groupedBy) {
|
|
67
|
+
return { items: await this.getQueryData() };
|
|
68
|
+
}
|
|
52
69
|
const asJson = this.endpoint.supportsJson(this.featureTypeName);
|
|
70
|
+
const attributes = this.selected ?? undefined;
|
|
53
71
|
let url = this.endpoint.getFeatureUrl(this.featureTypeName, {
|
|
54
72
|
...(this.startIndex !== null && { startIndex: this.startIndex }),
|
|
55
73
|
...(this.count !== null && { maxFeatures: this.count }),
|
|
56
74
|
asJson,
|
|
57
75
|
outputCrs: 'EPSG:4326',
|
|
76
|
+
attributes,
|
|
58
77
|
// sortBy: this.sort // TODO: no sort in ogc-client?
|
|
59
78
|
});
|
|
60
79
|
if (Array.isArray(this.sort) && this.sort.length > 0) {
|
|
@@ -65,15 +84,22 @@ export class WfsReader extends BaseReader {
|
|
|
65
84
|
// Direct update on string url to prevent encoding of +A and +D
|
|
66
85
|
url = `${url}${finalUrl.search ? '&' : ''}SORTBY=${sorts}`;
|
|
67
86
|
}
|
|
68
|
-
return fetchDataAsText(url).then((text) => asJson
|
|
87
|
+
return fetchDataAsText(url, this.cacheActive).then((text) => asJson
|
|
69
88
|
? parseGeojson(text)
|
|
70
89
|
: parseGml(text, this.featureTypeName, this.version));
|
|
71
90
|
}
|
|
91
|
+
async getQueryData() {
|
|
92
|
+
const items = (await this.getData()).items;
|
|
93
|
+
const jsonItems = getJsonDataItemsProxy(items);
|
|
94
|
+
const query = generateSqlQuery(this.selected, this.filter, this.sort, this.startIndex, this.count, this.groupedBy, this.aggregations);
|
|
95
|
+
const result = await import('alasql').then((module) => module.default(query, [jsonItems]));
|
|
96
|
+
return result.map(jsonToGeojsonFeature);
|
|
97
|
+
}
|
|
72
98
|
load() {
|
|
73
99
|
// Nothing to load for Wfs
|
|
74
100
|
}
|
|
75
101
|
async read() {
|
|
76
|
-
return (await this.getData()).items;
|
|
102
|
+
return (await this.getData(this.aggregations, this.groupedBy)).items;
|
|
77
103
|
}
|
|
78
104
|
}
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ZzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2RhdGEtZmV0Y2hlci9zcmMvbGliL3JlYWRlcnMvd2ZzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQWMsTUFBTSx3QkFBd0IsQ0FBQTtBQUVoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFDbkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUE7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFdkQsTUFBTSxPQUFPLFNBQVUsU0FBUSxVQUFVO0lBS3ZDLFlBQVksR0FBVyxFQUFFLFdBQXdCLEVBQUUsZUFBdUI7UUFDeEUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ1YsSUFBSSxDQUFDLFFBQVEsR0FBRyxXQUFXLENBQUE7UUFDM0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUE7UUFDdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFBO0lBQzNDLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUMzRCxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQ2hFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDVCxDQUFDO1lBQ0MsVUFBVSxFQUFFLE1BQU0sQ0FBQyxXQUFXO1NBQy9C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LElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDckQsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDN0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUk7aUJBQ3BCLEdBQUcsQ0FDRixDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FDdkU7aUJBQ0EsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQ1osK0RBQStEO1lBQy9ELEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxLQUFLLEVBQUUsQ0FBQTtRQUM1RCxDQUFDO1FBRUQsT0FBTyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDeEMsTUFBTTtZQUNKLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUN2RCxDQUFBO0lBQ0gsQ0FBQztJQUVELElBQUk7UUFDRiwwQkFBMEI7SUFDNUIsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJO1FBQ1IsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFBO0lBQ3JDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdmc0VuZHBvaW50LCBXZnNWZXJzaW9uIH0gZnJvbSAnQGNhbXB0b2NhbXAvb2djLWNsaWVudCdcbmltcG9ydCB7IERhdGFJdGVtLCBEYXRhc2V0SW5mbywgUHJvcGVydHlJbmZvIH0gZnJvbSAnLi4vbW9kZWwnXG5pbXBvcnQgeyBmZXRjaERhdGFBc1RleHQgfSBmcm9tICcuLi91dGlscydcbmltcG9ydCB7IEJhc2VSZWFkZXIgfSBmcm9tICcuL2Jhc2UnXG5pbXBvcnQgeyBHbWxSZWFkZXIsIHBhcnNlR21sIH0gZnJvbSAnLi9nbWwnXG5pbXBvcnQgeyBHZW9qc29uUmVhZGVyLCBwYXJzZUdlb2pzb24gfSBmcm9tICcuL2dlb2pzb24nXG5cbmV4cG9ydCBjbGFzcyBXZnNSZWFkZXIgZXh0ZW5kcyBCYXNlUmVhZGVyIHtcbiAgZW5kcG9pbnQ6IFdmc0VuZHBvaW50XG4gIGZlYXR1cmVUeXBlTmFtZTogc3RyaW5nXG4gIHZlcnNpb246IFdmc1ZlcnNpb25cblxuICBjb25zdHJ1Y3Rvcih1cmw6IHN0cmluZywgd2ZzRW5kcG9pbnQ6IFdmc0VuZHBvaW50LCBmZWF0dXJlVHlwZU5hbWU6IHN0cmluZykge1xuICAgIHN1cGVyKHVybClcbiAgICB0aGlzLmVuZHBvaW50ID0gd2ZzRW5kcG9pbnRcbiAgICB0aGlzLmZlYXR1cmVUeXBlTmFtZSA9IGZlYXR1cmVUeXBlTmFtZVxuICAgIHRoaXMudmVyc2lvbiA9IHRoaXMuZW5kcG9pbnQuZ2V0VmVyc2lvbigpXG4gIH1cblxuICBnZXQgcHJvcGVydGllcygpOiBQcm9taXNlPFByb3BlcnR5SW5mb1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RGF0YSgpLnRoZW4oKHJlc3VsdCkgPT4gcmVzdWx0LnByb3BlcnRpZXMpXG4gIH1cblxuICBnZXQgaW5mbygpOiBQcm9taXNlPERhdGFzZXRJbmZvPiB7XG4gICAgcmV0dXJuIHRoaXMuZW5kcG9pbnQuZ2V0RmVhdHVyZVR5cGVGdWxsKHRoaXMuZmVhdHVyZVR5cGVOYW1lKS50aGVuKFxuICAgICAgKHJlc3VsdCkgPT5cbiAgICAgICAgKHtcbiAgICAgICAgICBpdGVtc0NvdW50OiByZXN1bHQub2JqZWN0Q291bnQsXG4gICAgICAgIH0pIGFzIERhdGFzZXRJbmZvXG4gICAgKVxuICB9XG5cbiAgc3RhdGljIGFzeW5jIGNyZWF0ZVJlYWRlcih3ZnNVcmxFbmRwb2ludDogc3RyaW5nLCBmZWF0dXJlVHlwZU5hbWU/OiBzdHJpbmcpIHtcbiAgICBjb25zdCB3ZnNFbmRwb2ludCA9IGF3YWl0IG5ldyBXZnNFbmRwb2ludCh3ZnNVcmxFbmRwb2ludCkuaXNSZWFkeSgpXG4gICAgY29uc3QgZmVhdHVyZVR5cGVzID0gd2ZzRW5kcG9pbnQuZ2V0RmVhdHVyZVR5cGVzKClcbiAgICBjb25zdCBmZWF0dXJlVHlwZSA9IHdmc0VuZHBvaW50LmdldEZlYXR1cmVUeXBlU3VtbWFyeShcbiAgICAgIGZlYXR1cmVUeXBlcy5sZW5ndGggPT09IDEgJiYgIWZlYXR1cmVUeXBlTmFtZVxuICAgICAgICA/IGZlYXR1cmVUeXBlc1swXS5uYW1lXG4gICAgICAgIDogZmVhdHVyZVR5cGVOYW1lXG4gICAgKVxuICAgIGlmICghZmVhdHVyZVR5cGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignd2ZzLmZlYXR1cmV0eXBlLm5vdGZvdW5kJylcbiAgICB9XG5cbiAgICBpZiAod2ZzRW5kcG9pbnQuc3VwcG9ydHNTdGFydEluZGV4KCkpIHtcbiAgICAgIHJldHVybiBuZXcgV2ZzUmVhZGVyKHdmc1VybEVuZHBvaW50LCB3ZnNFbmRwb2ludCwgZmVhdHVyZVR5cGUubmFtZSlcbiAgICB9IGVsc2UgaWYgKHdmc0VuZHBvaW50LnN1cHBvcnRzSnNvbihmZWF0dXJlVHlwZS5uYW1lKSkge1xuICAgICAgcmV0dXJuIG5ldyBHZW9qc29uUmVhZGVyKFxuICAgICAgICB3ZnNFbmRwb2ludC5nZXRGZWF0dXJlVXJsKGZlYXR1cmVUeXBlLm5hbWUsIHtcbiAgICAgICAgICBhc0pzb246IHRydWUsXG4gICAgICAgICAgb3V0cHV0Q3JzOiAnRVBTRzo0MzI2JyxcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKFxuICAgICAgICBmZWF0dXJlVHlwZS5vdXRwdXRGb3JtYXRzLmZpbmQoKGYpID0+XG4gICAgICAgICAgZi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdnbWwnKVxuICAgICAgICApICYmXG4gICAgICAgIChmZWF0dXJlVHlwZS5kZWZhdWx0Q3JzID09PSAnRVBTRzo0MzI2JyB8fFxuICAgICAgICAgIGZlYXR1cmVUeXBlLm90aGVyQ3JzPy5pbmNsdWRlcygnRVBTRzo0MzI2JykpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHbWxSZWFkZXIoXG4gICAgICAgICAgd2ZzRW5kcG9pbnQuZ2V0RmVhdHVyZVVybChmZWF0dXJlVHlwZS5uYW1lLCB7XG4gICAgICAgICAgICBvdXRwdXRGb3JtYXQ6IGZlYXR1cmVUeXBlLm91dHB1dEZvcm1hdHMuZmluZCgoZikgPT5cbiAgICAgICAgICAgICAgZi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdnbWwnKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIG91dHB1dENyczogJ0VQU0c6NDMyNicsXG4gICAgICAgICAgfSksXG4gICAgICAgICAgZmVhdHVyZVR5cGUubmFtZSxcbiAgICAgICAgICB3ZnNFbmRwb2ludC5nZXRWZXJzaW9uKClcbiAgICAgICAgKVxuICAgICAgfVxuICAgICAgdGhyb3cgbmV3IEVycm9yKCd3ZnMuZ2VvanNvbmdtbC5ub3RzdXBwb3J0ZWQnKVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBnZXREYXRhKCkge1xuICAgIGNvbnN0IGFzSnNvbiA9IHRoaXMuZW5kcG9pbnQuc3VwcG9ydHNKc29uKHRoaXMuZmVhdHVyZVR5cGVOYW1lKVxuICAgIGxldCB1cmwgPSB0aGlzLmVuZHBvaW50LmdldEZlYXR1cmVVcmwodGhpcy5mZWF0dXJlVHlwZU5hbWUsIHtcbiAgICAgIC4uLih0aGlzLnN0YXJ0SW5kZXggIT09IG51bGwgJiYgeyBzdGFydEluZGV4OiB0aGlzLnN0YXJ0SW5kZXggfSksXG4gICAgICAuLi4odGhpcy5jb3VudCAhPT0gbnVsbCAmJiB7IG1heEZlYXR1cmVzOiB0aGlzLmNvdW50IH0pLFxuICAgICAgYXNKc29uLFxuICAgICAgb3V0cHV0Q3JzOiAnRVBTRzo0MzI2JyxcbiAgICAgIC8vIHNvcnRCeTogdGhpcy5zb3J0IC8vIFRPRE86IG5vIHNvcnQgaW4gb2djLWNsaWVudD9cbiAgICB9KVxuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5zb3J0KSAmJiB0aGlzLnNvcnQubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZmluYWxVcmwgPSBuZXcgVVJMKHVybClcbiAgICAgIGNvbnN0IHNvcnRzID0gdGhpcy5zb3J0XG4gICAgICAgIC5tYXAoXG4gICAgICAgICAgKGZpZWxkU29ydCkgPT4gYCR7ZmllbGRTb3J0WzFdfSske2ZpZWxkU29ydFswXSA9PT0gJ2FzYycgPyAnQScgOiAnRCd9YFxuICAgICAgICApXG4gICAgICAgIC5qb2luKCcsJylcbiAgICAgIC8vIERpcmVjdCB1cGRhdGUgb24gc3RyaW5nIHVybCB0byBwcmV2ZW50IGVuY29kaW5nIG9mICtBIGFuZCArRFxuICAgICAgdXJsID0gYCR7dXJsfSR7ZmluYWxVcmwuc2VhcmNoID8gJyYnIDogJyd9U09SVEJZPSR7c29ydHN9YFxuICAgIH1cblxuICAgIHJldHVybiBmZXRjaERhdGFBc1RleHQodXJsKS50aGVuKCh0ZXh0KSA9PlxuICAgICAgYXNKc29uXG4gICAgICAgID8gcGFyc2VHZW9qc29uKHRleHQpXG4gICAgICAgIDogcGFyc2VHbWwodGV4dCwgdGhpcy5mZWF0dXJlVHlwZU5hbWUsIHRoaXMudmVyc2lvbilcbiAgICApXG4gIH1cblxuICBsb2FkKCkge1xuICAgIC8vIE5vdGhpbmcgdG8gbG9hZCBmb3IgV2ZzXG4gIH1cblxuICBhc3luYyByZWFkKCk6IFByb21pc2U8RGF0YUl0ZW1bXT4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5nZXREYXRhKCkpLml0ZW1zXG4gIH1cbn1cbiJdfQ==
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ZzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2RhdGEtZmV0Y2hlci9zcmMvbGliL3JlYWRlcnMvd2ZzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQWMsTUFBTSx3QkFBd0IsQ0FBQTtBQUVoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFBO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDOUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUUvQyxNQUFNLE9BQU8sU0FBVSxTQUFRLGVBQWU7SUFLNUMsWUFDRSxHQUFXLEVBQ1gsV0FBd0IsRUFDeEIsZUFBdUIsRUFDdkIsV0FBcUI7UUFFckIsS0FBSyxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQTtRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQTtRQUMzQixJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQTtRQUN0QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUE7SUFDM0MsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFFBQVE7YUFDakIsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQzthQUN4QyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUNwQixNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENB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QyxDQUFBO1FBQ0QsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUE7SUFDekMsQ0FBQztJQUVELElBQUk7UUFDRiwwQkFBMEI7SUFDNUIsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJO1FBQ1IsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtJQUN0RSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBXZnNFbmRwb2ludCwgV2ZzVmVyc2lvbiB9IGZyb20gJ0BjYW1wdG9jYW1wL29nYy1jbGllbnQnXG5pbXBvcnQgeyBEYXRhSXRlbSwgRGF0YXNldEluZm8sIFByb3BlcnR5SW5mbyB9IGZyb20gJy4uL21vZGVsJ1xuaW1wb3J0IHsgZmV0Y2hEYXRhQXNUZXh0IH0gZnJvbSAnLi4vdXRpbHMnXG5pbXBvcnQgeyBHbWxSZWFkZXIsIHBhcnNlR21sIH0gZnJvbSAnLi9nbWwnXG5pbXBvcnQgeyBHZW9qc29uUmVhZGVyLCBwYXJzZUdlb2pzb24gfSBmcm9tICcuL2dlb2pzb24nXG5pbXBvcnQgeyBCYXNlQ2FjaGVSZWFkZXIgfSBmcm9tICcuL2Jhc2UtY2FjaGUnXG5pbXBvcnQgeyBnZXRKc29uRGF0YUl0ZW1zUHJveHksIGpzb25Ub0dlb2pzb25GZWF0dXJlIH0gZnJvbSAnLi4vdXRpbHMnXG5pbXBvcnQgeyBnZW5lcmF0ZVNxbFF1ZXJ5IH0gZnJvbSAnLi4vc3FsLXV0aWxzJ1xuXG5leHBvcnQgY2xhc3MgV2ZzUmVhZGVyIGV4dGVuZHMgQmFzZUNhY2hlUmVhZGVyIHtcbiAgZW5kcG9pbnQ6IFdmc0VuZHBvaW50XG4gIGZlYXR1cmVUeXBlTmFtZTogc3RyaW5nXG4gIHZlcnNpb246IFdmc1ZlcnNpb25cblxuICBjb25zdHJ1Y3RvcihcbiAgICB1cmw6IHN0cmluZyxcbiAgICB3ZnNFbmRwb2ludDogV2ZzRW5kcG9pbnQsXG4gICAgZmVhdHVyZVR5cGVOYW1lOiBzdHJpbmcsXG4gICAgY2FjaGVBY3RpdmU/OiBib29sZWFuXG4gICkge1xuICAgIHN1cGVyKHVybCwgY2FjaGVBY3RpdmUpXG4gICAgdGhpcy5lbmRwb2ludCA9IHdmc0VuZHBvaW50XG4gICAgdGhpcy5mZWF0dXJlVHlwZU5hbWUgPSBmZWF0dXJlVHlwZU5hbWVcbiAgICB0aGlzLnZlcnNpb24gPSB0aGlzLmVuZHBvaW50LmdldFZlcnNpb24oKVxuICB9XG5cbiAgZ2V0IHByb3BlcnRpZXMoKTogUHJvbWlzZTxQcm9wZXJ0eUluZm9bXT4ge1xuICAgIHJldHVybiB0aGlzLmVuZHBvaW50XG4gICAgICAuZ2V0RmVhdHVyZVR5cGVGdWxsKHRoaXMuZmVhdHVyZVR5cGVOYW1lKVxuICAgICAgLnRoZW4oKGZlYXR1cmVUeXBlKSA9PlxuICAgICAgICBPYmplY3Qua2V5cyhmZWF0dXJlVHlwZS5wcm9wZXJ0aWVzKS5tYXAoKHByb3ApID0+IHtcbiAgICAgICAgICBjb25zdCBvcmlnaW5hbFR5cGUgPSBmZWF0dXJlVHlwZS5wcm9wZXJ0aWVzW3Byb3BdXG4gICAgICAgICAgY29uc3QgdHlwZSA9XG4gICAgICAgICAgICBvcmlnaW5hbFR5cGUgPT09ICdmbG9hdCcgfHwgb3JpZ2luYWxUeXBlID09PSAnaW50ZWdlcidcbiAgICAgICAgICAgICAgPyAnbnVtYmVyJ1xuICAgICAgICAgICAgICA6IChvcmlnaW5hbFR5cGUgYXMgUHJvcGVydHlJbmZvWyd0eXBlJ10pIC8vIEZJWE1FOiBvZ2MtY2xpZW50IHR5cGluZyBpcyBpbmNvcnJlY3QsIHNob3VsZCBiZSBhIHN0cmluZyB1bmlvblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuYW1lOiBwcm9wLFxuICAgICAgICAgICAgbGFiZWw6IHByb3AsXG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIClcbiAgfVxuXG4gIGdldCBpbmZvKCk6IFByb21pc2U8RGF0YXNldEluZm8+IHtcbiAgICByZXR1cm4gdGhpcy5lbmRwb2ludC5nZXRGZWF0dXJlVHlwZUZ1bGwodGhpcy5mZWF0dXJlVHlwZU5hbWUpLnRoZW4oXG4gICAgICAocmVzdWx0KSA9PlxuICAgICAgICAoe1xuICAgICAgICAgIGl0ZW1zQ291bnQ6IHJlc3VsdC5vYmplY3RDb3VudCxcbiAgICAgICAgfSkgYXMgRGF0YXNldEluZm9cbiAgICApXG4gIH1cblxuICBzdGF0aWMgYXN5bmMgY3JlYXRlUmVhZGVyKHdmc1VybEVuZHBvaW50OiBzdHJpbmcsIGZlYXR1cmVUeXBlTmFtZT86IHN0cmluZykge1xuICAgIGNvbnN0IHdmc0VuZHBvaW50ID0gYXdhaXQgbmV3IFdmc0VuZHBvaW50KHdmc1VybEVuZHBvaW50KS5pc1JlYWR5KClcbiAgICBjb25zdCBmZWF0dXJlVHlwZXMgPSB3ZnNFbmRwb2ludC5nZXRGZWF0dXJlVHlwZXMoKVxuICAgIGNvbnN0IGZlYXR1cmVUeXBlID0gd2ZzRW5kcG9pbnQuZ2V0RmVhdHVyZVR5cGVTdW1tYXJ5KFxuICAgICAgZmVhdHVyZVR5cGVzLmxlbmd0aCA9PT0gMSAmJiAhZmVhdHVyZVR5cGVOYW1lXG4gICAgICAgID8gZmVhdHVyZVR5cGVzWzBdLm5hbWVcbiAgICAgICAgOiBmZWF0dXJlVHlwZU5hbWVcbiAgICApXG4gICAgaWYgKCFmZWF0dXJlVHlwZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCd3ZnMuZmVhdHVyZXR5cGUubm90Zm91bmQnKVxuICAgIH1cblxuICAgIGlmICh3ZnNFbmRwb2ludC5zdXBwb3J0c1N0YXJ0SW5kZXgoKSkge1xuICAgICAgcmV0dXJuIG5ldyBXZnNSZWFkZXIod2ZzVXJsRW5kcG9pbnQsIHdmc0VuZHBvaW50LCBmZWF0dXJlVHlwZS5uYW1lKVxuICAgIH0gZWxzZSBpZiAod2ZzRW5kcG9pbnQuc3VwcG9ydHNKc29uKGZlYXR1cmVUeXBlLm5hbWUpKSB7XG4gICAgICByZXR1cm4gbmV3IEdlb2pzb25SZWFkZXIoXG4gICAgICAgIHdmc0VuZHBvaW50LmdldEZlYXR1cmVVcmwoZmVhdHVyZVR5cGUubmFtZSwge1xuICAgICAgICAgIGFzSnNvbjogdHJ1ZSxcbiAgICAgICAgICBvdXRwdXRDcnM6ICdFUFNHOjQzMjYnLFxuICAgICAgICB9KVxuICAgICAgKVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoXG4gICAgICAgIGZlYXR1cmVUeXBlLm91dHB1dEZvcm1hdHMuZmluZCgoZikgPT5cbiAgICAgICAgICBmLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2dtbCcpXG4gICAgICAgICkgJiZcbiAgICAgICAgKGZlYXR1cmVUeXBlLmRlZmF1bHRDcnMgPT09ICdFUFNHOjQzMjYnIHx8XG4gICAgICAgICAgZmVhdHVyZVR5cGUub3RoZXJDcnM/LmluY2x1ZGVzKCdFUFNHOjQzMjYnKSlcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gbmV3IEdtbFJlYWRlcihcbiAgICAgICAgICB3ZnNFbmRwb2ludC5nZXRGZWF0dXJlVXJsKGZlYXR1cmVUeXBlLm5hbWUsIHtcbiAgICAgICAgICAgIG91dHB1dEZvcm1hdDogZmVhdHVyZVR5cGUub3V0cHV0Rm9ybWF0cy5maW5kKChmKSA9PlxuICAgICAgICAgICAgICBmLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2dtbCcpXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgb3V0cHV0Q3JzOiAnRVBTRzo0MzI2JyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBmZWF0dXJlVHlwZS5uYW1lLFxuICAgICAgICAgIHdmc0VuZHBvaW50LmdldFZlcnNpb24oKVxuICAgICAgICApXG4gICAgICB9XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3dmcy5nZW9qc29uZ21sLm5vdHN1cHBvcnRlZCcpXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldERhdGEoYWdncmVnYXRpb24/LCBncm91cGVkQnk/KSB7XG4gICAgaWYgKGFnZ3JlZ2F0aW9uIHx8IGdyb3VwZWRCeSkge1xuICAgICAgcmV0dXJuIHsgaXRlbXM6IGF3YWl0IHRoaXMuZ2V0UXVlcnlEYXRhKCkgfVxuICAgIH1cbiAgICBjb25zdCBhc0pzb24gPSB0aGlzLmVuZHBvaW50LnN1cHBvcnRzSnNvbih0aGlzLmZlYXR1cmVUeXBlTmFtZSlcbiAgICBjb25zdCBhdHRyaWJ1dGVzID0gdGhpcy5zZWxlY3RlZCA/PyB1bmRlZmluZWRcbiAgICBsZXQgdXJsID0gdGhpcy5lbmRwb2ludC5nZXRGZWF0dXJlVXJsKHRoaXMuZmVhdHVyZVR5cGVOYW1lLCB7XG4gICAgICAuLi4odGhpcy5zdGFydEluZGV4ICE9PSBudWxsICYmIHsgc3RhcnRJbmRleDogdGhpcy5zdGFydEluZGV4IH0pLFxuICAgICAgLi4uKHRoaXMuY291bnQgIT09IG51bGwgJiYgeyBtYXhGZWF0dXJlczogdGhpcy5jb3VudCB9KSxcbiAgICAgIGFzSnNvbixcbiAgICAgIG91dHB1dENyczogJ0VQU0c6NDMyNicsXG4gICAgICBhdHRyaWJ1dGVzLFxuICAgICAgLy8gc29ydEJ5OiB0aGlzLnNvcnQgLy8gVE9ETzogbm8gc29ydCBpbiBvZ2MtY2xpZW50P1xuICAgIH0pXG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnNvcnQpICYmIHRoaXMuc29ydC5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBmaW5hbFVybCA9IG5ldyBVUkwodXJsKVxuICAgICAgY29uc3Qgc29ydHMgPSB0aGlzLnNvcnRcbiAgICAgICAgLm1hcChcbiAgICAgICAgICAoZmllbGRTb3J0KSA9PiBgJHtmaWVsZFNvcnRbMV19KyR7ZmllbGRTb3J0WzBdID09PSAnYXNjJyA/ICdBJyA6ICdEJ31gXG4gICAgICAgIClcbiAgICAgICAgLmpvaW4oJywnKVxuICAgICAgLy8gRGlyZWN0IHVwZGF0ZSBvbiBzdHJpbmcgdXJsIHRvIHByZXZlbnQgZW5jb2Rpbmcgb2YgK0EgYW5kICtEXG4gICAgICB1cmwgPSBgJHt1cmx9JHtmaW5hbFVybC5zZWFyY2ggPyAnJicgOiAnJ31TT1JUQlk9JHtzb3J0c31gXG4gICAgfVxuXG4gICAgcmV0dXJuIGZldGNoRGF0YUFzVGV4dCh1cmwsIHRoaXMuY2FjaGVBY3RpdmUpLnRoZW4oKHRleHQpID0+XG4gICAgICBhc0pzb25cbiAgICAgICAgPyBwYXJzZUdlb2pzb24odGV4dClcbiAgICAgICAgOiBwYXJzZUdtbCh0ZXh0LCB0aGlzLmZlYXR1cmVUeXBlTmFtZSwgdGhpcy52ZXJzaW9uKVxuICAgIClcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRRdWVyeURhdGEoKSB7XG4gICAgY29uc3QgaXRlbXMgPSAoYXdhaXQgdGhpcy5nZXREYXRhKCkpLml0ZW1zXG4gICAgY29uc3QganNvbkl0ZW1zID0gZ2V0SnNvbkRhdGFJdGVtc1Byb3h5KGl0ZW1zKVxuICAgIGNvbnN0IHF1ZXJ5ID0gZ2VuZXJhdGVTcWxRdWVyeShcbiAgICAgIHRoaXMuc2VsZWN0ZWQsXG4gICAgICB0aGlzLmZpbHRlcixcbiAgICAgIHRoaXMuc29ydCxcbiAgICAgIHRoaXMuc3RhcnRJbmRleCxcbiAgICAgIHRoaXMuY291bnQsXG4gICAgICB0aGlzLmdyb3VwZWRCeSxcbiAgICAgIHRoaXMuYWdncmVnYXRpb25zXG4gICAgKVxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGltcG9ydCgnYWxhc3FsJykudGhlbigobW9kdWxlKSA9PlxuICAgICAgbW9kdWxlLmRlZmF1bHQocXVlcnksIFtqc29uSXRlbXNdKVxuICAgIClcbiAgICByZXR1cm4gcmVzdWx0Lm1hcChqc29uVG9HZW9qc29uRmVhdHVyZSlcbiAgfVxuXG4gIGxvYWQoKSB7XG4gICAgLy8gTm90aGluZyB0byBsb2FkIGZvciBXZnNcbiAgfVxuXG4gIGFzeW5jIHJlYWQoKTogUHJvbWlzZTxEYXRhSXRlbVtdPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmdldERhdGEodGhpcy5hZ2dyZWdhdGlvbnMsIHRoaXMuZ3JvdXBlZEJ5KSkuaXRlbXNcbiAgfVxufVxuIl19
|
|
@@ -36,30 +36,34 @@ export function fetchHeaders(url) {
|
|
|
36
36
|
return parseHeaders(response.headers);
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
|
-
export function fetchDataAsText(url) {
|
|
40
|
-
|
|
39
|
+
export function fetchDataAsText(url, cacheActive) {
|
|
40
|
+
const fetchFactory = () => sharedFetch(url)
|
|
41
41
|
.catch((error) => {
|
|
42
42
|
throw FetchError.corsOrNetwork(error.message);
|
|
43
43
|
})
|
|
44
44
|
.then(async (response) => {
|
|
45
45
|
if (!response.ok) {
|
|
46
|
-
|
|
46
|
+
const clonedResponse = response.clone();
|
|
47
|
+
throw FetchError.http(response.status, await clonedResponse.text());
|
|
47
48
|
}
|
|
48
|
-
|
|
49
|
-
|
|
49
|
+
const clonedResponse = response.clone();
|
|
50
|
+
return clonedResponse.text();
|
|
51
|
+
});
|
|
52
|
+
return cacheActive ? useCache(fetchFactory, url, 'asText') : fetchFactory();
|
|
50
53
|
}
|
|
51
|
-
export function fetchDataAsArrayBuffer(url) {
|
|
52
|
-
|
|
54
|
+
export function fetchDataAsArrayBuffer(url, cacheActive) {
|
|
55
|
+
const fetchFactory = () => sharedFetch(url)
|
|
53
56
|
.catch((error) => {
|
|
54
57
|
throw FetchError.corsOrNetwork(error.message);
|
|
55
58
|
})
|
|
56
59
|
.then(async (response) => {
|
|
57
60
|
if (!response.ok) {
|
|
58
|
-
throw FetchError.http(response.status);
|
|
61
|
+
throw FetchError.http(response.status, await response.text());
|
|
59
62
|
}
|
|
60
63
|
// convert to a numeric array so that we can store the response in cache
|
|
61
64
|
return Array.from(new Uint8Array(await response.arrayBuffer()));
|
|
62
|
-
})
|
|
65
|
+
});
|
|
66
|
+
return (cacheActive ? useCache(fetchFactory, url, 'asArrayBuffer') : fetchFactory()).then((array) => {
|
|
63
67
|
return new Uint8Array(array).buffer;
|
|
64
68
|
});
|
|
65
69
|
}
|
|
@@ -204,4 +208,4 @@ export function getJsonDataItemsProxy(items) {
|
|
|
204
208
|
},
|
|
205
209
|
});
|
|
206
210
|
}
|
|
207
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvZGF0YS1mZXRjaGVyL3NyYy9saWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLFVBQVUsRUFHVixjQUFjLEdBQ2YsTUFBTSxTQUFTLENBQUE7QUFDaEIsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxLQUFLLElBQUksU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDbkQsT0FBTyxFQUFFLFFBQVEsSUFBSSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUU1RCxNQUFNLENBQUMsS0FBSyxVQUFVLGdCQUFnQixDQUNwQyxHQUFXLEVBQ1gsUUFBd0I7SUFFeEIsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLEdBQUcsQ0FDbEMsR0FBRyxFQUNILE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUN2RSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDM0IsTUFBTSxhQUFhLEdBQ2pCLG9CQUFvQixJQUFJLG9CQUFvQixDQUFDLE1BQU07UUFDakQsQ0FBQyxDQUFFLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBb0I7UUFDMUQsQ0FBQyxDQUFDLElBQUksQ0FBQTtJQUVWLGVBQWU7SUFDZixJQUFJLFFBQVE7UUFBRSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7SUFFOUMseUJBQXlCO0lBQ3pCLE1BQU0sT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3ZD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LFVBQVUsQ0FBQTtZQUM3QixDQUFDO1lBQ0QsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDbEIsQ0FBQztRQUNELEdBQUc7WUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUE7UUFDN0MsQ0FBQztLQUNGLENBQUMsQ0FBQTtBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEYXRhSXRlbSxcbiAgRGF0YXNldEhlYWRlcnMsXG4gIEZldGNoRXJyb3IsXG4gIFByb3BlcnR5SW5mbyxcbiAgU3VwcG9ydGVkVHlwZSxcbiAgU3VwcG9ydGVkVHlwZXMsXG59IGZyb20gJy4vbW9kZWwnXG5pbXBvcnQgeyBzaGFyZWRGZXRjaCwgdXNlQ2FjaGUgfSBmcm9tICdAY2FtcHRvY2FtcC9vZ2MtY2xpZW50J1xuaW1wb3J0IHsgcGFyc2VIZWFkZXJzIH0gZnJvbSAnLi9oZWFkZXJzJ1xuaW1wb3J0IHsgcGFyc2UgYXMgcGFyc2VEYXRlIH0gZnJvbSAnZGF0ZS1mbnMvcGFyc2UnXG5pbXBvcnQgeyBwYXJzZUlTTyBhcyBwYXJzZUlzb0RhdGUgfSBmcm9tICdkYXRlLWZucy9wYXJzZUlTTydcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGluZmVyRGF0YXNldFR5cGUoXG4gIHVybDogc3RyaW5nLFxuICB0eXBlSGludD86IFN1cHBvcnRlZFR5cGVcbik6IFByb21pc2U8U3VwcG9ydGVkVHlwZT4ge1xuICBjb25zdCBmaWxlRXh0ZW5zaW9uTWF0Y2hlcyA9IG5ldyBVUkwoXG4gICAgdXJsLFxuICAgIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93LmxvY2F0aW9uLnRvU3RyaW5nKCkgOiB1bmRlZmluZWRcbiAgKS5wYXRobmFtZS5tYXRjaCgvXFwuKC4rKSQvKVxuICBjb25zdCBmaWxlRXh0ZW5zaW9uID1cbiAgICBmaWxlRXh0ZW5zaW9uTWF0Y2hlcyAmJiBmaWxlRXh0ZW5zaW9uTWF0Y2hlcy5sZW5ndGhcbiAgICAgID8gKGZpbGVFeHRlbnNpb25NYXRjaGVzWzFdLnRvTG93ZXJDYXNlKCkgYXMgU3VwcG9ydGVkVHlwZSlcbiAgICAgIDogbnVsbFxuXG4gIC8vIDEuIHR5cGUgaGludFxuICBpZiAodHlwZUhpbnQpIHJldHVybiBQcm9taXNlLnJlc29sdmUodHlwZUhpbnQpXG5cbiAgLy8gMi4gY29udGVudC10eXBlIGhlYWRlclxuICBjb25zdCBoZWFkZXJzID0gYXdhaXQgZmV0Y2hIZWFkZXJzKHVybClcbiAgaWYgKCdzdXBwb3J0ZWRUeXBlJyBpbiBoZWFkZXJzKSByZXR1cm4gaGVhZGVycy5zdXBwb3J0ZWRUeXBlXG4gIC8vIDMuIGZpbGUgZXh0ZW5zaW9uIGZyb20gdXJsXG4gIGVsc2UgaWYgKFN1cHBvcnRlZFR5cGVzLmluZGV4T2YoZmlsZUV4dGVuc2lvbikgPiAtMSkgcmV0dXJuIGZpbGVFeHRlbnNpb25cblxuICAvLyBubyB0eXBlIGluZmVycmVkIG9yIGhpbnRlZFxuICBpZiAoJ21pbWVUeXBlJyBpbiBoZWFkZXJzKSB0aHJvdyBGZXRjaEVycm9yLnVuc3VwcG9ydGVkVHlwZShoZWFkZXJzLm1pbWVUeXBlKVxuICBlbHNlIHRocm93IEZldGNoRXJyb3IudW5rbm93blR5cGUoKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmV0Y2hIZWFkZXJzKHVybDogc3RyaW5nKTogUHJvbWlzZTxEYXRhc2V0SGVhZGVycz4ge1xuICByZXR1cm4gc2hhcmVkRmV0Y2godXJsLCAnSEVBRCcpXG4gICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgdGhyb3cgRmV0Y2hFcnJvci5jb3JzT3JOZXR3b3JrKGVycm9yLm1lc3NhZ2UpXG4gICAgfSlcbiAgICAudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgICAgdGhyb3cgRmV0Y2hFcnJvci5odHRwKHJlc3BvbnNlLnN0YXR1cylcbiAgICAgIH1cbiAgICAgIHJldHVybiBwYXJzZUhlYWRlcnMocmVzcG9uc2UuaGVhZGVycylcbiAgICB9KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmV0Y2hEYXRhQXNUZXh0KHVybDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgcmV0dXJuIHVzZUNhY2hlKFxuICAgICgpID0+XG4gICAgICBzaGFyZWRGZXRjaCh1cmwpXG4gICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICB0aHJvdyBGZXRjaEVycm9yLmNvcnNPck5ldHdvcmsoZXJyb3IubWVzc2FnZSlcbiAgICAgICAgfSlcbiAgICAgICAgLnRoZW4oYXN5bmMgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgICAgICAgdGhyb3cgRmV0Y2hFcnJvci5odHRwKHJlc3BvbnNlLnN0YXR1cylcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnRleHQoKVxuICAgICAgICB9KSxcbiAgICB1cmwsXG4gICAgJ2FzVGV4dCdcbiAgKVxufVxuZXhwb3J0IGZ1bmN0aW9uIGZldGNoRGF0YUFzQXJyYXlCdWZmZXIodXJsOiBzdHJpbmcpOiBQcm9taXNlPEFycmF5QnVmZmVyPiB7XG4gIHJldHVybiB1c2VDYWNoZShcbiAgICAoKSA9PlxuICAgICAgc2hhcmVkRmV0Y2godXJsKVxuICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgdGhyb3cgRmV0Y2hFcnJvci5jb3JzT3JOZXR3b3JrKGVycm9yLm1lc3NhZ2UpXG4gICAgICAgIH0pXG4gICAgICAgIC50aGVuKGFzeW5jIChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgICAgICAgIHRocm93IEZldGNoRXJyb3IuaHR0cChyZXNwb25zZS5zdGF0dXMpXG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIGNvbnZlcnQgdG8gYSBudW1lcmljIGFycmF5IHNvIHRoYXQgd2UgY2FuIHN0b3JlIHRoZSByZXNwb25zZSBpbiBjYWNoZVxuICAgICAgICAgIHJldHVybiBBcnJheS5mcm9tKG5ldyBVaW50OEFycmF5KGF3YWl0IHJlc3BvbnNlLmFycmF5QnVmZmVyKCkpKVxuICAgICAgICB9KSxcbiAgICB1cmwsXG4gICAgJ2FzQXJyYXlCdWZmZXInXG4gICkudGhlbigoYXJyYXkpID0+IHtcbiAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoYXJyYXkpLmJ1ZmZlclxuICB9KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJ5UGFyc2VEYXRlKGlucHV0OiB1bmtub3duKTogRGF0ZSB8IG51bGwge1xuICBpZiAodHlwZW9mIGlucHV0ICE9PSAnc3RyaW5nJykgcmV0dXJuIG51bGxcblxuICBmdW5jdGlvbiB0cnlJc28odmFsdWU6IHN0cmluZykge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlSXNvRGF0ZSh2YWx1ZSlcbiAgICByZXR1cm4gaXNOYU4ocGFyc2VkLmdldERhdGUoKSkgPyBudWxsIDogcGFyc2VkXG4gIH1cbiAgZnVuY3Rpb24gdHJ5Rm9ybWF0KHZhbHVlOiBzdHJpbmcsIGZvcm1hdDogc3RyaW5nKSB7XG4gICAgY29uc3QgcGFyc2VkID0gcGFyc2VEYXRlKHZhbHVlLCBmb3JtYXQsIG5ldyBEYXRlKCkpXG4gICAgcmV0dXJuIGlzTmFOKHBhcnNlZC5nZXREYXRlKCkpID8gbnVsbCA6IHBhcnNlZFxuICB9XG4gIHJldHVybiAoXG4gICAgdHJ5SXNvKGlucHV0KSB8fFxuICAgIHRyeUZvcm1hdChpbnB1dCwgJ2RkL01NL3l5eXknKSB8fFxuICAgIHRyeUZvcm1hdChpbnB1dCwgJ2RkLk1NLnl5eXknKSB8fFxuICAgIHRyeUZvcm1hdChpbnB1dCwgJ01NL2RkL3l5eXknKSB8fFxuICAgIG51bGxcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJ5UGFyc2VOdW1iZXIoaW5wdXQ6IHN0cmluZyk6IG51bWJlciB8IG51bGwge1xuICBpZiAoaXNOYU4oaW5wdXQgYXMgYW55KSkgcmV0dXJuIG51bGxcbiAgY29uc3QgcGFyc2VkID0gcGFyc2VGbG9hdChpbnB1dClcbiAgcmV0dXJuIGlzTmFOKHBhcnNlZCkgPyBudWxsIDogcGFyc2VkXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBqc29uVG9HZW9qc29uRmVhdHVyZShvYmplY3Q6IHsgW2tleTogc3RyaW5nXTogYW55IH0pOiBEYXRhSXRlbSB7XG4gIGNvbnN0IHsgaWQsIHByb3BlcnRpZXMgfSA9IE9iamVjdC5rZXlzKG9iamVjdClcbiAgICAubWFwKChwcm9wZXJ0eSkgPT4gKHByb3BlcnR5ID8gcHJvcGVydHkgOiAndW5rbm93bicpKSAvL3ByZXZlbnQgZW1wdHkgc3RyaW5nc1xuICAgIC5yZWR1Y2UoXG4gICAgICAocHJldiwgY3VycikgPT5cbiAgICAgICAgY3Vyci50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKCdpZCcpXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgICAgIGlkOiBvYmplY3RbY3Vycl0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7XG4gICAgICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgICAgIHByb3BlcnRpZXM6IHsgLi4ucHJldi5wcm9wZXJ0aWVzLCBbY3Vycl06IG9iamVjdFtjdXJyXSB9LFxuICAgICAgICAgICAgfSxcbiAgICAgIHsgaWQ6IHVuZGVmaW5lZCwgcHJvcGVydGllczoge30gfVxuICAgIClcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAnRmVhdHVyZScsXG4gICAgZ2VvbWV0cnk6IG51bGwsXG4gICAgcHJvcGVydGllcyxcbiAgICAuLi4oaWQgIT09IHVuZGVmaW5lZCAmJiB7IGlkIH0pLFxuICB9XG59XG5cbmZ1bmN0aW9uIG11dGF0ZVByb3BlcnRpZXMoXG4gIGl0ZW1zOiBEYXRhSXRlbVtdLFxuICBtdXRhdG9yczogeyBbZmllbGROYW1lOiBzdHJpbmddOiAodmFsdWU6IHVua25vd24pID0+IHVua25vd24gfVxuKTogRGF0YUl0ZW1bXSB7XG4gIGNvbnN0IG11dGF0b3JLZXlzID0gT2JqZWN0LmtleXMobXV0YXRvcnMpXG4gIGZvciAobGV0IGkgPSAwLCBpaSA9IGl0ZW1zLmxlbmd0aDsgaSA8IGlpOyBpKyspIHtcbiAgICBjb25zdCBpdGVtID0gaXRlbXNbaV1cbiAgICBmb3IgKGNvbnN0IG11dGF0b3JGaWVsZCBvZiBtdXRhdG9yS2V5cykge1xuICAgICAgaWYgKCEobXV0YXRvckZpZWxkIGluIGl0ZW0ucHJvcGVydGllcykpIGNvbnRpbnVlXG4gICAgICBpdGVtLnByb3BlcnRpZXNbbXV0YXRvckZpZWxkXSA9IG11dGF0b3JzW211dGF0b3JGaWVsZF0oXG4gICAgICAgIGl0ZW0ucHJvcGVydGllc1ttdXRhdG9yRmllbGRdXG4gICAgICApXG4gICAgfVxuICB9XG4gIHJldHVybiBpdGVtc1xufVxuXG5jb25zdCBTQU1QTEVfU0laRSA9IDIwXG5cbi8qKlxuICogVGhpcyB3aWxsIGluZmVyIGZpZWxkIHR5cGVzIGZyb20gYSBsaXN0IG9mIGRhdGEgaXRlbXMgYW5kIGNhc3QgdGhlIHZhbHVlcyBhY2NvcmRpbmdseVxuICogQHBhcmFtIGl0ZW1zXG4gKiBAcGFyYW0gaW5mZXJUeXBlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvY2Vzc0l0ZW1Qcm9wZXJ0aWVzKFxuICBpdGVtczogRGF0YUl0ZW1bXSxcbiAgaW5mZXJUeXBlcyA9IGZhbHNlXG4pOiB7XG4gIGl0ZW1zOiBEYXRhSXRlbVtdXG4gIHByb3BlcnRpZXM6IFByb3BlcnR5SW5mb1tdXG59IHtcbiAgY29uc3QgZm91bmRGaWVsZHM6IHsgW25hbWU6IHN0cmluZ106IFByb3BlcnR5SW5mbyB9ID0ge31cbiAgZm9yIChsZXQgaSA9IDAsIGlpID0gTWF0aC5taW4oU0FNUExFX1NJWkUsIGl0ZW1zLmxlbmd0aCk7IGkgPCBpaTsgaSsrKSB7XG4gICAgY29uc3QgaXRlbSA9IGl0ZW1zW2ldXG4gICAgY29uc3QgZmllbGRzID0gT2JqZWN0LmtleXMoaXRlbS5wcm9wZXJ0aWVzKVxuICAgIGZvciAoY29uc3QgZmllbGQgb2YgZmllbGRzKSB7XG4gICAgICBpZiAoIShmaWVsZCBpbiBmb3VuZEZpZWxkcykpIHtcbiAgICAgICAgZm91bmRGaWVsZHNbZmllbGRdID0ge1xuICAgICAgICAgIGxhYmVsOiBmaWVsZCxcbiAgICAgICAgICBuYW1lOiBmaWVsZCxcbiAgICAgICAgICB0eXBlOiBudWxsLFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb25zdCB2YWx1ZSA9IGl0ZW0ucHJvcGVydGllc1tmaWVsZF1cbiAgICAgIGNvbnN0IGluZm8gPSBmb3VuZEZpZWxkc1tmaWVsZF1cbiAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSAnJyB8fCB2YWx1ZSA9PT0gbnVsbCkgY29udGludWVcblxuICAgICAgaWYgKCFpbmZlclR5cGVzKSB7XG4gICAgICAgIGlmIChpbmZvLnR5cGUgPT09IG51bGwgJiYgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgICAgIGluZm8udHlwZSA9ICdudW1iZXInXG4gICAgICAgIH0gZWxzZSBpZiAoaW5mby50eXBlID09PSAnbnVtYmVyJyAmJiB0eXBlb2YgdmFsdWUgIT09ICdudW1iZXInKSB7XG4gICAgICAgICAgaW5mby50eXBlID0gJ3N0cmluZydcbiAgICAgICAgfVxuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICBjb25zdCBwYXJzZWROdW1iZXIgPSB0cnlQYXJzZU51bWJlcih2YWx1ZSlcbiAgICAgIGlmIChpbmZvLnR5cGUgPT09IG51bGwgJiYgcGFyc2VkTnVtYmVyICE9PSBudWxsKSB7XG4gICAgICAgIGluZm8udHlwZSA9ICdudW1iZXInXG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9IGVsc2UgaWYgKGluZm8udHlwZSA9PT0gJ251bWJlcicgJiYgcGFyc2VkTnVtYmVyID09PSBudWxsKSB7XG4gICAgICAgIGluZm8udHlwZSA9ICdzdHJpbmcnXG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBjb25zdCBwYXJzZWREYXRlID0gdHJ5UGFyc2VEYXRlKHZhbHVlKVxuICAgICAgaWYgKGluZm8udHlwZSA9PT0gbnVsbCAmJiBwYXJzZWREYXRlICE9PSBudWxsKSB7XG4gICAgICAgIGluZm8udHlwZSA9ICdkYXRlJ1xuICAgICAgfSBlbHNlIGlmIChpbmZvLnR5cGUgPT09ICdkYXRlJyAmJiBwYXJzZWREYXRlID09PSBudWxsKSB7XG4gICAgICAgIGluZm8udHlwZSA9ICdzdHJpbmcnXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgcHJvcGVydGllczogUHJvcGVydHlJbmZvW10gPSBbXVxuICBjb25zdCBtdXRhdG9ycyA9IHt9XG4gIGZvciAoY29uc3QgZmllbGQgaW4gZm91bmRGaWVsZHMpIHtcbiAgICBjb25zdCBpbmZvID0gZm91bmRGaWVsZHNbZmllbGRdXG4gICAgaWYgKGluZm8udHlwZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIG11dGF0b3JzW2ZpZWxkXSA9IHRyeVBhcnNlTnVtYmVyXG4gICAgfSBlbHNlIGlmIChpbmZvLnR5cGUgPT09ICdkYXRlJykge1xuICAgICAgbXV0YXRvcnNbZmllbGRdID0gdHJ5UGFyc2VEYXRlXG4gICAgfVxuICAgIHByb3BlcnRpZXMucHVzaCh7IC4uLmluZm8sIHR5cGU6IGluZm8udHlwZSB8fCAnc3RyaW5nJyB9KVxuICB9XG4gIGlmIChpbmZlclR5cGVzKSB7XG4gICAgbXV0YXRlUHJvcGVydGllcyhpdGVtcywgbXV0YXRvcnMpXG4gIH1cbiAgcmV0dXJuIHsgaXRlbXMsIHByb3BlcnRpZXMgfVxufVxuXG4vKipcbiAqIFRoaXMgY3JlYXRlcyBhIFByb3h5IHRoYXQgYWxsb3dzIHJlYWRpbmcgYW5kIHdyaXRpbmcgdG8gdGhlIGRhdGEgaXRlbSBwcm9wZXJ0aWVzXG4gKiBhcyBpZiBpdCB3YXMgYSBzaW1wbGUgYXJyYXkgb2YgSlNPTiBvYmplY3RzXG4gKiBAcGFyYW0gaXRlbXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEpzb25EYXRhSXRlbXNQcm94eShcbiAgaXRlbXM6IERhdGFJdGVtW11cbik6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W10ge1xuICByZXR1cm4gbmV3IFByb3h5PFJlY29yZDxzdHJpbmcsIHVua25vd24+W10+KGl0ZW1zIGFzIGFueSwge1xuICAgIGdldCh0YXJnZXQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W10sIHA6IHN0cmluZyB8IHN5bWJvbCkge1xuICAgICAgaWYgKFxuICAgICAgICB0eXBlb2YgcCA9PT0gJ3N0cmluZycgJiZcbiAgICAgICAgIU51bWJlci5pc05hTihwYXJzZUludChwKSkgJiZcbiAgICAgICAgdGFyZ2V0W3BdPy5wcm9wZXJ0aWVzXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIHRhcmdldFtwXS5wcm9wZXJ0aWVzXG4gICAgICB9XG4gICAgICByZXR1cm4gdGFyZ2V0W3BdXG4gICAgfSxcbiAgICBzZXQoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoaXMgb2JqZWN0IGlzIHJlYWQtb25seScpXG4gICAgfSxcbiAgfSlcbn1cbiJdfQ==
|
|
211
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvZGF0YS1mZXRjaGVyL3NyYy9saWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLFVBQVUsRUFHVixjQUFjLEdBQ2YsTUFBTSxTQUFTLENBQUE7QUFDaEIsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxLQUFLLElBQUksU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDbkQsT0FBTyxFQUFFLFFBQVEsSUFBSSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUU1RCxNQUFNLENBQUMsS0FBSyxVQUFVLGdCQUFnQixDQUNwQyxHQUFXLEVBQ1gsUUFBd0I7SUFFeEIsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLEdBQUcsQ0FDbEMsR0FBRyxFQUNILE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUN2RSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDM0IsTUFBTSxhQUFhLEdBQ2pCLG9CQUFvQixJQUFJLG9CQUFvQixDQUFDLE1BQU07UUFDakQsQ0FBQyxDQUFFLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBb0I7UUFDMUQsQ0FBQyxDQUFDLElBQUksQ0FBQTtJQUVWLGVBQWU7SUFDZixJQUFJLFFBQVE7UUFBRSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7SUFFOUMseUJBQXlCO0lBQ3pCLE1BQU0sT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3ZD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SUFDRCxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFBO0FBQzlCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUNuQyxLQUFpQjtJQUVqQixPQUFPLElBQUksS0FBSyxDQUE0QixLQUFZLEVBQUU7UUFDeEQsR0FBRyxDQUFDLE1BQWlDLEVBQUUsQ0FBa0I7WUFDdkQsSUFDRSxPQUFPLENBQUMsS0FBSyxRQUFRO2dCQUNyQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMxQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUNyQixDQUFDO2dCQUNELE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQTtZQUM3QixDQUFDO1lBQ0QsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDbEIsQ0FBQztRQUNELEdBQUc7WUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUE7UUFDN0MsQ0FBQztLQUNGLENBQUMsQ0FBQTtBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEYXRhSXRlbSxcbiAgRGF0YXNldEhlYWRlcnMsXG4gIEZldGNoRXJyb3IsXG4gIFByb3BlcnR5SW5mbyxcbiAgU3VwcG9ydGVkVHlwZSxcbiAgU3VwcG9ydGVkVHlwZXMsXG59IGZyb20gJy4vbW9kZWwnXG5pbXBvcnQgeyBzaGFyZWRGZXRjaCwgdXNlQ2FjaGUgfSBmcm9tICdAY2FtcHRvY2FtcC9vZ2MtY2xpZW50J1xuaW1wb3J0IHsgcGFyc2VIZWFkZXJzIH0gZnJvbSAnLi9oZWFkZXJzJ1xuaW1wb3J0IHsgcGFyc2UgYXMgcGFyc2VEYXRlIH0gZnJvbSAnZGF0ZS1mbnMvcGFyc2UnXG5pbXBvcnQgeyBwYXJzZUlTTyBhcyBwYXJzZUlzb0RhdGUgfSBmcm9tICdkYXRlLWZucy9wYXJzZUlTTydcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGluZmVyRGF0YXNldFR5cGUoXG4gIHVybDogc3RyaW5nLFxuICB0eXBlSGludD86IFN1cHBvcnRlZFR5cGVcbik6IFByb21pc2U8U3VwcG9ydGVkVHlwZT4ge1xuICBjb25zdCBmaWxlRXh0ZW5zaW9uTWF0Y2hlcyA9IG5ldyBVUkwoXG4gICAgdXJsLFxuICAgIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93LmxvY2F0aW9uLnRvU3RyaW5nKCkgOiB1bmRlZmluZWRcbiAgKS5wYXRobmFtZS5tYXRjaCgvXFwuKC4rKSQvKVxuICBjb25zdCBmaWxlRXh0ZW5zaW9uID1cbiAgICBmaWxlRXh0ZW5zaW9uTWF0Y2hlcyAmJiBmaWxlRXh0ZW5zaW9uTWF0Y2hlcy5sZW5ndGhcbiAgICAgID8gKGZpbGVFeHRlbnNpb25NYXRjaGVzWzFdLnRvTG93ZXJDYXNlKCkgYXMgU3VwcG9ydGVkVHlwZSlcbiAgICAgIDogbnVsbFxuXG4gIC8vIDEuIHR5cGUgaGludFxuICBpZiAodHlwZUhpbnQpIHJldHVybiBQcm9taXNlLnJlc29sdmUodHlwZUhpbnQpXG5cbiAgLy8gMi4gY29udGVudC10eXBlIGhlYWRlclxuICBjb25zdCBoZWFkZXJzID0gYXdhaXQgZmV0Y2hIZWFkZXJzKHVybClcbiAgaWYgKCdzdXBwb3J0ZWRUeXBlJyBpbiBoZWFkZXJzKSByZXR1cm4gaGVhZGVycy5zdXBwb3J0ZWRUeXBlXG4gIC8vIDMuIGZpbGUgZXh0ZW5zaW9uIGZyb20gdXJsXG4gIGVsc2UgaWYgKFN1cHBvcnRlZFR5cGVzLmluZGV4T2YoZmlsZUV4dGVuc2lvbikgPiAtMSkgcmV0dXJuIGZpbGVFeHRlbnNpb25cblxuICAvLyBubyB0eXBlIGluZmVycmVkIG9yIGhpbnRlZFxuICBpZiAoJ21pbWVUeXBlJyBpbiBoZWFkZXJzKSB0aHJvdyBGZXRjaEVycm9yLnVuc3VwcG9ydGVkVHlwZShoZWFkZXJzLm1pbWVUeXBlKVxuICBlbHNlIHRocm93IEZldGNoRXJyb3IudW5rbm93blR5cGUoKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmV0Y2hIZWFkZXJzKHVybDogc3RyaW5nKTogUHJvbWlzZTxEYXRhc2V0SGVhZGVycz4ge1xuICByZXR1cm4gc2hhcmVkRmV0Y2godXJsLCAnSEVBRCcpXG4gICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgdGhyb3cgRmV0Y2hFcnJvci5jb3JzT3JOZXR3b3JrKGVycm9yLm1lc3NhZ2UpXG4gICAgfSlcbiAgICAudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgICAgdGhyb3cgRmV0Y2hFcnJvci5odHRwKHJlc3BvbnNlLnN0YXR1cylcbiAgICAgIH1cbiAgICAgIHJldHVybiBwYXJzZUhlYWRlcnMocmVzcG9uc2UuaGVhZGVycylcbiAgICB9KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmV0Y2hEYXRhQXNUZXh0KFxuICB1cmw6IHN0cmluZyxcbiAgY2FjaGVBY3RpdmU6IGJvb2xlYW5cbik6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IGZldGNoRmFjdG9yeSA9ICgpID0+XG4gICAgc2hhcmVkRmV0Y2godXJsKVxuICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICB0aHJvdyBGZXRjaEVycm9yLmNvcnNPck5ldHdvcmsoZXJyb3IubWVzc2FnZSlcbiAgICAgIH0pXG4gICAgICAudGhlbihhc3luYyAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgICAgIGNvbnN0IGNsb25lZFJlc3BvbnNlID0gcmVzcG9uc2UuY2xvbmUoKVxuICAgICAgICAgIHRocm93IEZldGNoRXJyb3IuaHR0cChyZXNwb25zZS5zdGF0dXMsIGF3YWl0IGNsb25lZFJlc3BvbnNlLnRleHQoKSlcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjbG9uZWRSZXNwb25zZSA9IHJlc3BvbnNlLmNsb25lKClcbiAgICAgICAgcmV0dXJuIGNsb25lZFJlc3BvbnNlLnRleHQoKVxuICAgICAgfSlcblxuICByZXR1cm4gY2FjaGVBY3RpdmUgPyB1c2VDYWNoZShmZXRjaEZhY3RvcnksIHVybCwgJ2FzVGV4dCcpIDogZmV0Y2hGYWN0b3J5KClcbn1cbmV4cG9ydCBmdW5jdGlvbiBmZXRjaERhdGFBc0FycmF5QnVmZmVyKFxuICB1cmw6IHN0cmluZyxcbiAgY2FjaGVBY3RpdmU6IGJvb2xlYW5cbik6IFByb21pc2U8QXJyYXlCdWZmZXI+IHtcbiAgY29uc3QgZmV0Y2hGYWN0b3J5ID0gKCkgPT5cbiAgICBzaGFyZWRGZXRjaCh1cmwpXG4gICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgIHRocm93IEZldGNoRXJyb3IuY29yc09yTmV0d29yayhlcnJvci5tZXNzYWdlKVxuICAgICAgfSlcbiAgICAgIC50aGVuKGFzeW5jIChyZXNwb25zZSkgPT4ge1xuICAgICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgdGhyb3cgRmV0Y2hFcnJvci5odHRwKHJlc3BvbnNlLnN0YXR1cywgYXdhaXQgcmVzcG9uc2UudGV4dCgpKVxuICAgICAgICB9XG4gICAgICAgIC8vIGNvbnZlcnQgdG8gYSBudW1lcmljIGFycmF5IHNvIHRoYXQgd2UgY2FuIHN0b3JlIHRoZSByZXNwb25zZSBpbiBjYWNoZVxuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShuZXcgVWludDhBcnJheShhd2FpdCByZXNwb25zZS5hcnJheUJ1ZmZlcigpKSlcbiAgICAgIH0pXG5cbiAgcmV0dXJuIChcbiAgICBjYWNoZUFjdGl2ZSA/IHVzZUNhY2hlKGZldGNoRmFjdG9yeSwgdXJsLCAnYXNBcnJheUJ1ZmZlcicpIDogZmV0Y2hGYWN0b3J5KClcbiAgKS50aGVuKChhcnJheSkgPT4ge1xuICAgIHJldHVybiBuZXcgVWludDhBcnJheShhcnJheSkuYnVmZmVyXG4gIH0pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cnlQYXJzZURhdGUoaW5wdXQ6IHVua25vd24pOiBEYXRlIHwgbnVsbCB7XG4gIGlmICh0eXBlb2YgaW5wdXQgIT09ICdzdHJpbmcnKSByZXR1cm4gbnVsbFxuXG4gIGZ1bmN0aW9uIHRyeUlzbyh2YWx1ZTogc3RyaW5nKSB7XG4gICAgY29uc3QgcGFyc2VkID0gcGFyc2VJc29EYXRlKHZhbHVlKVxuICAgIHJldHVybiBpc05hTihwYXJzZWQuZ2V0RGF0ZSgpKSA/IG51bGwgOiBwYXJzZWRcbiAgfVxuICBmdW5jdGlvbiB0cnlGb3JtYXQodmFsdWU6IHN0cmluZywgZm9ybWF0OiBzdHJpbmcpIHtcbiAgICBjb25zdCBwYXJzZWQgPSBwYXJzZURhdGUodmFsdWUsIGZvcm1hdCwgbmV3IERhdGUoKSlcbiAgICByZXR1cm4gaXNOYU4ocGFyc2VkLmdldERhdGUoKSkgPyBudWxsIDogcGFyc2VkXG4gIH1cbiAgcmV0dXJuIChcbiAgICB0cnlJc28oaW5wdXQpIHx8XG4gICAgdHJ5Rm9ybWF0KGlucHV0LCAnZGQvTU0veXl5eScpIHx8XG4gICAgdHJ5Rm9ybWF0KGlucHV0LCAnZGQuTU0ueXl5eScpIHx8XG4gICAgdHJ5Rm9ybWF0KGlucHV0LCAnTU0vZGQveXl5eScpIHx8XG4gICAgbnVsbFxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cnlQYXJzZU51bWJlcihpbnB1dDogc3RyaW5nKTogbnVtYmVyIHwgbnVsbCB7XG4gIGlmIChpc05hTihpbnB1dCBhcyBhbnkpKSByZXR1cm4gbnVsbFxuICBjb25zdCBwYXJzZWQgPSBwYXJzZUZsb2F0KGlucHV0KVxuICByZXR1cm4gaXNOYU4ocGFyc2VkKSA/IG51bGwgOiBwYXJzZWRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGpzb25Ub0dlb2pzb25GZWF0dXJlKG9iamVjdDogeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IERhdGFJdGVtIHtcbiAgY29uc3QgeyBpZCwgcHJvcGVydGllcyB9ID0gT2JqZWN0LmtleXMob2JqZWN0KVxuICAgIC5tYXAoKHByb3BlcnR5KSA9PiAocHJvcGVydHkgPyBwcm9wZXJ0eSA6ICd1bmtub3duJykpIC8vcHJldmVudCBlbXB0eSBzdHJpbmdzXG4gICAgLnJlZHVjZShcbiAgICAgIChwcmV2LCBjdXJyKSA9PlxuICAgICAgICBjdXJyLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoJ2lkJylcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgLi4ucHJldixcbiAgICAgICAgICAgICAgaWQ6IG9iamVjdFtjdXJyXSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgLi4ucHJldixcbiAgICAgICAgICAgICAgcHJvcGVydGllczogeyAuLi5wcmV2LnByb3BlcnRpZXMsIFtjdXJyXTogb2JqZWN0W2N1cnJdIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgeyBpZDogdW5kZWZpbmVkLCBwcm9wZXJ0aWVzOiB7fSB9XG4gICAgKVxuICByZXR1cm4ge1xuICAgIHR5cGU6ICdGZWF0dXJlJyxcbiAgICBnZW9tZXRyeTogbnVsbCxcbiAgICBwcm9wZXJ0aWVzLFxuICAgIC4uLihpZCAhPT0gdW5kZWZpbmVkICYmIHsgaWQgfSksXG4gIH1cbn1cblxuZnVuY3Rpb24gbXV0YXRlUHJvcGVydGllcyhcbiAgaXRlbXM6IERhdGFJdGVtW10sXG4gIG11dGF0b3JzOiB7IFtmaWVsZE5hbWU6IHN0cmluZ106ICh2YWx1ZTogdW5rbm93bikgPT4gdW5rbm93biB9XG4pOiBEYXRhSXRlbVtdIHtcbiAgY29uc3QgbXV0YXRvcktleXMgPSBPYmplY3Qua2V5cyhtdXRhdG9ycylcbiAgZm9yIChsZXQgaSA9IDAsIGlpID0gaXRlbXMubGVuZ3RoOyBpIDwgaWk7IGkrKykge1xuICAgIGNvbnN0IGl0ZW0gPSBpdGVtc1tpXVxuICAgIGZvciAoY29uc3QgbXV0YXRvckZpZWxkIG9mIG11dGF0b3JLZXlzKSB7XG4gICAgICBpZiAoIShtdXRhdG9yRmllbGQgaW4gaXRlbS5wcm9wZXJ0aWVzKSkgY29udGludWVcbiAgICAgIGl0ZW0ucHJvcGVydGllc1ttdXRhdG9yRmllbGRdID0gbXV0YXRvcnNbbXV0YXRvckZpZWxkXShcbiAgICAgICAgaXRlbS5wcm9wZXJ0aWVzW211dGF0b3JGaWVsZF1cbiAgICAgIClcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGl0ZW1zXG59XG5cbmNvbnN0IFNBTVBMRV9TSVpFID0gMjBcblxuLyoqXG4gKiBUaGlzIHdpbGwgaW5mZXIgZmllbGQgdHlwZXMgZnJvbSBhIGxpc3Qgb2YgZGF0YSBpdGVtcyBhbmQgY2FzdCB0aGUgdmFsdWVzIGFjY29yZGluZ2x5XG4gKiBAcGFyYW0gaXRlbXNcbiAqIEBwYXJhbSBpbmZlclR5cGVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm9jZXNzSXRlbVByb3BlcnRpZXMoXG4gIGl0ZW1zOiBEYXRhSXRlbVtdLFxuICBpbmZlclR5cGVzID0gZmFsc2Vcbik6IHtcbiAgaXRlbXM6IERhdGFJdGVtW11cbiAgcHJvcGVydGllczogUHJvcGVydHlJbmZvW11cbn0ge1xuICBjb25zdCBmb3VuZEZpZWxkczogeyBbbmFtZTogc3RyaW5nXTogUHJvcGVydHlJbmZvIH0gPSB7fVxuICBmb3IgKGxldCBpID0gMCwgaWkgPSBNYXRoLm1pbihTQU1QTEVfU0laRSwgaXRlbXMubGVuZ3RoKTsgaSA8IGlpOyBpKyspIHtcbiAgICBjb25zdCBpdGVtID0gaXRlbXNbaV1cbiAgICBjb25zdCBmaWVsZHMgPSBPYmplY3Qua2V5cyhpdGVtLnByb3BlcnRpZXMpXG4gICAgZm9yIChjb25zdCBmaWVsZCBvZiBmaWVsZHMpIHtcbiAgICAgIGlmICghKGZpZWxkIGluIGZvdW5kRmllbGRzKSkge1xuICAgICAgICBmb3VuZEZpZWxkc1tmaWVsZF0gPSB7XG4gICAgICAgICAgbGFiZWw6IGZpZWxkLFxuICAgICAgICAgIG5hbWU6IGZpZWxkLFxuICAgICAgICAgIHR5cGU6IG51bGwsXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbnN0IHZhbHVlID0gaXRlbS5wcm9wZXJ0aWVzW2ZpZWxkXVxuICAgICAgY29uc3QgaW5mbyA9IGZvdW5kRmllbGRzW2ZpZWxkXVxuICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09ICcnIHx8IHZhbHVlID09PSBudWxsKSBjb250aW51ZVxuXG4gICAgICBpZiAoIWluZmVyVHlwZXMpIHtcbiAgICAgICAgaWYgKGluZm8udHlwZSA9PT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgaW5mby50eXBlID0gJ251bWJlcidcbiAgICAgICAgfSBlbHNlIGlmIChpbmZvLnR5cGUgPT09ICdudW1iZXInICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ251bWJlcicpIHtcbiAgICAgICAgICBpbmZvLnR5cGUgPSAnc3RyaW5nJ1xuICAgICAgICB9XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHBhcnNlZE51bWJlciA9IHRyeVBhcnNlTnVtYmVyKHZhbHVlKVxuICAgICAgaWYgKGluZm8udHlwZSA9PT0gbnVsbCAmJiBwYXJzZWROdW1iZXIgIT09IG51bGwpIHtcbiAgICAgICAgaW5mby50eXBlID0gJ251bWJlcidcbiAgICAgICAgY29udGludWVcbiAgICAgIH0gZWxzZSBpZiAoaW5mby50eXBlID09PSAnbnVtYmVyJyAmJiBwYXJzZWROdW1iZXIgPT09IG51bGwpIHtcbiAgICAgICAgaW5mby50eXBlID0gJ3N0cmluZydcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNvbnN0IHBhcnNlZERhdGUgPSB0cnlQYXJzZURhdGUodmFsdWUpXG4gICAgICBpZiAoaW5mby50eXBlID09PSBudWxsICYmIHBhcnNlZERhdGUgIT09IG51bGwpIHtcbiAgICAgICAgaW5mby50eXBlID0gJ2RhdGUnXG4gICAgICB9IGVsc2UgaWYgKGluZm8udHlwZSA9PT0gJ2RhdGUnICYmIHBhcnNlZERhdGUgPT09IG51bGwpIHtcbiAgICAgICAgaW5mby50eXBlID0gJ3N0cmluZydcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBwcm9wZXJ0aWVzOiBQcm9wZXJ0eUluZm9bXSA9IFtdXG4gIGNvbnN0IG11dGF0b3JzID0ge31cbiAgZm9yIChjb25zdCBmaWVsZCBpbiBmb3VuZEZpZWxkcykge1xuICAgIGNvbnN0IGluZm8gPSBmb3VuZEZpZWxkc1tmaWVsZF1cbiAgICBpZiAoaW5mby50eXBlID09PSAnbnVtYmVyJykge1xuICAgICAgbXV0YXRvcnNbZmllbGRdID0gdHJ5UGFyc2VOdW1iZXJcbiAgICB9IGVsc2UgaWYgKGluZm8udHlwZSA9PT0gJ2RhdGUnKSB7XG4gICAgICBtdXRhdG9yc1tmaWVsZF0gPSB0cnlQYXJzZURhdGVcbiAgICB9XG4gICAgcHJvcGVydGllcy5wdXNoKHsgLi4uaW5mbywgdHlwZTogaW5mby50eXBlIHx8ICdzdHJpbmcnIH0pXG4gIH1cbiAgaWYgKGluZmVyVHlwZXMpIHtcbiAgICBtdXRhdGVQcm9wZXJ0aWVzKGl0ZW1zLCBtdXRhdG9ycylcbiAgfVxuICByZXR1cm4geyBpdGVtcywgcHJvcGVydGllcyB9XG59XG5cbi8qKlxuICogVGhpcyBjcmVhdGVzIGEgUHJveHkgdGhhdCBhbGxvd3MgcmVhZGluZyBhbmQgd3JpdGluZyB0byB0aGUgZGF0YSBpdGVtIHByb3BlcnRpZXNcbiAqIGFzIGlmIGl0IHdhcyBhIHNpbXBsZSBhcnJheSBvZiBKU09OIG9iamVjdHNcbiAqIEBwYXJhbSBpdGVtc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0SnNvbkRhdGFJdGVtc1Byb3h5KFxuICBpdGVtczogRGF0YUl0ZW1bXVxuKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXSB7XG4gIHJldHVybiBuZXcgUHJveHk8UmVjb3JkPHN0cmluZywgdW5rbm93bj5bXT4oaXRlbXMgYXMgYW55LCB7XG4gICAgZ2V0KHRhcmdldDogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXSwgcDogc3RyaW5nIHwgc3ltYm9sKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHR5cGVvZiBwID09PSAnc3RyaW5nJyAmJlxuICAgICAgICAhTnVtYmVyLmlzTmFOKHBhcnNlSW50KHApKSAmJlxuICAgICAgICB0YXJnZXRbcF0/LnByb3BlcnRpZXNcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gdGFyZ2V0W3BdLnByb3BlcnRpZXNcbiAgICAgIH1cbiAgICAgIHJldHVybiB0YXJnZXRbcF1cbiAgICB9LFxuICAgIHNldCgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyBvYmplY3QgaXMgcmVhZC1vbmx5JylcbiAgICB9LFxuICB9KVxufVxuIl19
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@ngx-translate/core";
|
|
5
|
+
export class DateService {
|
|
6
|
+
constructor(translateService) {
|
|
7
|
+
this.translateService = translateService;
|
|
8
|
+
}
|
|
9
|
+
getDateObject(date) {
|
|
10
|
+
if (typeof date === 'string') {
|
|
11
|
+
const dateObj = new Date(date);
|
|
12
|
+
if (isNaN(dateObj.getTime())) {
|
|
13
|
+
throw new Error('Invalid date string');
|
|
14
|
+
}
|
|
15
|
+
return dateObj;
|
|
16
|
+
}
|
|
17
|
+
return date;
|
|
18
|
+
}
|
|
19
|
+
getLocaleAndDate(date) {
|
|
20
|
+
const locale = this.translateService.currentLang || 'en-US';
|
|
21
|
+
const dateObj = this.getDateObject(date);
|
|
22
|
+
return { locale, dateObj };
|
|
23
|
+
}
|
|
24
|
+
formatDate(date, options) {
|
|
25
|
+
const { locale, dateObj } = this.getLocaleAndDate(date);
|
|
26
|
+
return dateObj.toLocaleDateString(locale, options);
|
|
27
|
+
}
|
|
28
|
+
formatDateTime(date, options) {
|
|
29
|
+
const { locale, dateObj } = this.getLocaleAndDate(date);
|
|
30
|
+
return dateObj.toLocaleString(locale, options);
|
|
31
|
+
}
|
|
32
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateService, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
33
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateService, providedIn: 'root' }); }
|
|
34
|
+
}
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateService, decorators: [{
|
|
36
|
+
type: Injectable,
|
|
37
|
+
args: [{
|
|
38
|
+
providedIn: 'root',
|
|
39
|
+
}]
|
|
40
|
+
}], ctorParameters: () => [{ type: i1.TranslateService }] });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMvbGliL3NlcnZpY2VzL2RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBOzs7QUFLdEQsTUFBTSxPQUFPLFdBQVc7SUFDdEIsWUFBb0IsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFBRyxDQUFDO0lBRWxELGFBQWEsQ0FBQyxJQUFtQjtRQUN2QyxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzdCLE1BQU0sT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQzlCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQzdCLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQTtZQUN4QyxDQUFDO1lBQ0QsT0FBTyxPQUFPLENBQUE7UUFDaEIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVPLGdCQUFnQixDQUFDLElBQW1CO1FBSTFDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLElBQUksT0FBTyxDQUFBO1FBQzNELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDeEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQTtJQUM1QixDQUFDO0lBRUQsVUFBVSxDQUNSLElBQW1CLEVBQ25CLE9BQW9DO1FBRXBDLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3ZELE9BQU8sT0FBTyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUNwRCxDQUFDO0lBRUQsY0FBYyxDQUNaLElBQW1CLEVBQ25CLE9BQW9DO1FBRXBDLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3ZELE9BQU8sT0FBTyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFDaEQsQ0FBQzsrR0FyQ1UsV0FBVzttSEFBWCxXQUFXLGNBRlYsTUFBTTs7NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZVNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG5cbiAgcHJpdmF0ZSBnZXREYXRlT2JqZWN0KGRhdGU6IERhdGUgfCBzdHJpbmcpOiBEYXRlIHtcbiAgICBpZiAodHlwZW9mIGRhdGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBkYXRlT2JqID0gbmV3IERhdGUoZGF0ZSlcbiAgICAgIGlmIChpc05hTihkYXRlT2JqLmdldFRpbWUoKSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGRhdGUgc3RyaW5nJylcbiAgICAgIH1cbiAgICAgIHJldHVybiBkYXRlT2JqXG4gICAgfVxuICAgIHJldHVybiBkYXRlXG4gIH1cblxuICBwcml2YXRlIGdldExvY2FsZUFuZERhdGUoZGF0ZTogRGF0ZSB8IHN0cmluZyk6IHtcbiAgICBsb2NhbGU6IHN0cmluZ1xuICAgIGRhdGVPYmo6IERhdGVcbiAgfSB7XG4gICAgY29uc3QgbG9jYWxlID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nIHx8ICdlbi1VUydcbiAgICBjb25zdCBkYXRlT2JqID0gdGhpcy5nZXREYXRlT2JqZWN0KGRhdGUpXG4gICAgcmV0dXJuIHsgbG9jYWxlLCBkYXRlT2JqIH1cbiAgfVxuXG4gIGZvcm1hdERhdGUoXG4gICAgZGF0ZTogRGF0ZSB8IHN0cmluZyxcbiAgICBvcHRpb25zPzogSW50bC5EYXRlVGltZUZvcm1hdE9wdGlvbnNcbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCB7IGxvY2FsZSwgZGF0ZU9iaiB9ID0gdGhpcy5nZXRMb2NhbGVBbmREYXRlKGRhdGUpXG4gICAgcmV0dXJuIGRhdGVPYmoudG9Mb2NhbGVEYXRlU3RyaW5nKGxvY2FsZSwgb3B0aW9ucylcbiAgfVxuXG4gIGZvcm1hdERhdGVUaW1lKFxuICAgIGRhdGU6IERhdGUgfCBzdHJpbmcsXG4gICAgb3B0aW9ucz86IEludGwuRGF0ZVRpbWVGb3JtYXRPcHRpb25zXG4gICk6IHN0cmluZyB7XG4gICAgY29uc3QgeyBsb2NhbGUsIGRhdGVPYmogfSA9IHRoaXMuZ2V0TG9jYWxlQW5kRGF0ZShkYXRlKVxuICAgIHJldHVybiBkYXRlT2JqLnRvTG9jYWxlU3RyaW5nKGxvY2FsZSwgb3B0aW9ucylcbiAgfVxufVxuIl19
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './theme.service';
|
|
2
2
|
export * from './log.service';
|
|
3
3
|
export * from './proxy.service';
|
|
4
|
-
|
|
4
|
+
export * from './date.service';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYy9saWIvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQTtBQUMvQixjQUFjLGVBQWUsQ0FBQTtBQUM3QixjQUFjLGlCQUFpQixDQUFBO0FBQy9CLGNBQWMsZ0JBQWdCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RoZW1lLnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL2xvZy5zZXJ2aWNlJ1xuZXhwb3J0ICogZnJvbSAnLi9wcm94eS5zZXJ2aWNlJ1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlLnNlcnZpY2UnXG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export function getTemporalRangeUnion(ranges) {
|
|
1
|
+
export function getTemporalRangeUnion(ranges, dateService) {
|
|
2
2
|
let earliestStartDate = Infinity;
|
|
3
3
|
let latestEndDate = -Infinity;
|
|
4
4
|
if (ranges.length) {
|
|
@@ -18,10 +18,10 @@ export function getTemporalRangeUnion(ranges) {
|
|
|
18
18
|
}
|
|
19
19
|
return {
|
|
20
20
|
start: earliestStartDate !== -Infinity
|
|
21
|
-
? new Date(earliestStartDate)
|
|
21
|
+
? dateService.formatDate(new Date(earliestStartDate))
|
|
22
22
|
: undefined,
|
|
23
23
|
end: latestEndDate !== Infinity
|
|
24
|
-
? new Date(latestEndDate)
|
|
24
|
+
? dateService.formatDate(new Date(latestEndDate))
|
|
25
25
|
: undefined,
|
|
26
26
|
};
|
|
27
27
|
}
|
|
@@ -29,4 +29,4 @@ export function getTemporalRangeUnion(ranges) {
|
|
|
29
29
|
return undefined;
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcG9yYWwtZXh0ZW50LXVuaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMvbGliL3V0aWxzL3RlbXBvcmFsLWV4dGVudC11bmlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUscUJBQXFCLENBQ25DLE1BR0csRUFDSCxXQUF3QjtJQUV4QixJQUFJLGlCQUFpQixHQUFHLFFBQVEsQ0FBQTtJQUNoQyxJQUFJLGFBQWEsR0FBRyxDQUFDLFFBQVEsQ0FBQTtJQUM3QixJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNsQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO2dCQUNoQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRTtnQkFDckMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFBO1lBQ2IsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUc7Z0JBQzVCLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFO2dCQUNuQyxDQUFDLENBQUMsUUFBUSxDQUFBO1lBQ1osSUFBSSxVQUFVLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQztnQkFDbkMsaUJBQWlCLEdBQUcsVUFBVSxDQUFBO1lBQ2hDLENBQUM7WUFDRCxJQUFJLFFBQVEsR0FBRyxhQUFhLEVBQUUsQ0FBQztnQkFDN0IsYUFBYSxHQUFHLFFBQVEsQ0FBQTtZQUMxQixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU87WUFDTCxLQUFLLEVBQ0gsaUJBQWlCLEtBQUssQ0FBQyxRQUFRO2dCQUM3QixDQUFDLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2dCQUNyRCxDQUFDLENBQUMsU0FBUztZQUNmLEdBQUcsRUFDRCxhQUFhLEtBQUssUUFBUTtnQkFDeEIsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQ2pELENBQUMsQ0FBQyxTQUFTO1NBQ2hCLENBQUE7SUFDSCxDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sU0FBUyxDQUFBO0lBQ2xCLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcydcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRlbXBvcmFsUmFuZ2VVbmlvbihcbiAgcmFuZ2VzOiB7XG4gICAgc3RhcnQ/OiBEYXRlXG4gICAgZW5kPzogRGF0ZVxuICB9W10sXG4gIGRhdGVTZXJ2aWNlOiBEYXRlU2VydmljZVxuKSB7XG4gIGxldCBlYXJsaWVzdFN0YXJ0RGF0ZSA9IEluZmluaXR5XG4gIGxldCBsYXRlc3RFbmREYXRlID0gLUluZmluaXR5XG4gIGlmIChyYW5nZXMubGVuZ3RoKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCByYW5nZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IHJhbmdlU3RhcnQgPSByYW5nZXNbaV0uc3RhcnRcbiAgICAgICAgPyBuZXcgRGF0ZShyYW5nZXNbaV0uc3RhcnQpLmdldFRpbWUoKVxuICAgICAgICA6IC1JbmZpbml0eVxuICAgICAgY29uc3QgcmFuZ2VFbmQgPSByYW5nZXNbaV0uZW5kXG4gICAgICAgID8gbmV3IERhdGUocmFuZ2VzW2ldLmVuZCkuZ2V0VGltZSgpXG4gICAgICAgIDogSW5maW5pdHlcbiAgICAgIGlmIChyYW5nZVN0YXJ0IDwgZWFybGllc3RTdGFydERhdGUpIHtcbiAgICAgICAgZWFybGllc3RTdGFydERhdGUgPSByYW5nZVN0YXJ0XG4gICAgICB9XG4gICAgICBpZiAocmFuZ2VFbmQgPiBsYXRlc3RFbmREYXRlKSB7XG4gICAgICAgIGxhdGVzdEVuZERhdGUgPSByYW5nZUVuZFxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgc3RhcnQ6XG4gICAgICAgIGVhcmxpZXN0U3RhcnREYXRlICE9PSAtSW5maW5pdHlcbiAgICAgICAgICA/IGRhdGVTZXJ2aWNlLmZvcm1hdERhdGUobmV3IERhdGUoZWFybGllc3RTdGFydERhdGUpKVxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgZW5kOlxuICAgICAgICBsYXRlc3RFbmREYXRlICE9PSBJbmZpbml0eVxuICAgICAgICAgID8gZGF0ZVNlcnZpY2UuZm9ybWF0RGF0ZShuZXcgRGF0ZShsYXRlc3RFbmREYXRlKSlcbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG59XG4iXX0=
|
|
@@ -20,8 +20,6 @@
|
|
|
20
20
|
"chart.type.lineSmooth": "Geglättes Liniendiagramm",
|
|
21
21
|
"chart.type.pie": "Kreisdiagramm",
|
|
22
22
|
"dashboard.catalog.allRecords": "Metadatenkatalog",
|
|
23
|
-
"dashboard.catalog.contacts": "Kontakte",
|
|
24
|
-
"dashboard.catalog.thesaurus": "Thesaurus",
|
|
25
23
|
"dashboard.createRecord": "Neuer Eintrag",
|
|
26
24
|
"dashboard.importRecord": "",
|
|
27
25
|
"dashboard.importRecord.importExternal": "",
|
|
@@ -34,29 +32,10 @@
|
|
|
34
32
|
"dashboard.records.myDraft": "Meine Entwürfe",
|
|
35
33
|
"dashboard.records.myRecords": "Meine Datensätze",
|
|
36
34
|
"dashboard.records.search": "Suche nach \"{searchText}\"",
|
|
37
|
-
"dashboard.records.templates": "Vorlagen",
|
|
38
35
|
"dashboard.records.userDetail": "Name",
|
|
39
36
|
"dashboard.records.userEmail": "E-Mail",
|
|
40
37
|
"dashboard.records.username": "Benutzername",
|
|
41
38
|
"dashboard.records.users": "{count, plural, =1{Benutzer} other{Benutzer}}",
|
|
42
|
-
"datafeeder.analysisProgressBar.illustration.fileFormatDetection": "Dateiformat-Erkennung",
|
|
43
|
-
"datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "Sammeln von Datensatzinformationen",
|
|
44
|
-
"datafeeder.analysisProgressBar.illustration.samplingData": "Datenauswahl",
|
|
45
|
-
"datafeeder.analysisProgressBar.subtitle": "Die Analyse kann einige Minuten dauern. Bitte warten Sie.",
|
|
46
|
-
"datafeeder.analysisProgressBar.title": "Analyse in Bearbeitung",
|
|
47
|
-
"datafeeder.datasetValidation.datasetInformation": "Der bereitgestellte Datensatz enthält {number} Elemente",
|
|
48
|
-
"datafeeder.datasetValidation.submitButton": "OK, meine Daten sind korrekt",
|
|
49
|
-
"datafeeder.datasetValidation.title": "Stellen Sie sicher, dass Ihre Daten korrekt sind",
|
|
50
|
-
"datafeeder.datasetValidation.unknown": " - ",
|
|
51
|
-
"datafeeder.datasetValidationCsv.explicitLineNumbers": "",
|
|
52
|
-
"datafeeder.datasetValidationCsv.lineNumbers": "",
|
|
53
|
-
"datafeeder.form.abstract": "Wie würden Sie Ihren Datensatz beschreiben?",
|
|
54
|
-
"datafeeder.form.datepicker": "Wissen Sie, wann der Datensatz erstellt wurde?",
|
|
55
|
-
"datafeeder.form.description": "Beschreiben Sie abschließend den Prozess, der zur Erstellung des Datensatzes verwendet wurde",
|
|
56
|
-
"datafeeder.form.dropdown": "Für welche Skala wurde er erstellt?",
|
|
57
|
-
"datafeeder.form.tags": "Wählen Sie einen oder mehrere Tage aus, die zu Ihrem Datensatz passen",
|
|
58
|
-
"datafeeder.form.title": "Geben Sie Ihrem Datensatz den besten Titel",
|
|
59
|
-
"datafeeder.formsPage.title": "Erzählen Sie uns mehr über Ihren Datensatz",
|
|
60
39
|
"datafeeder.month.april": "April",
|
|
61
40
|
"datafeeder.month.august": "August",
|
|
62
41
|
"datafeeder.month.december": "Dezember",
|
|
@@ -69,59 +48,6 @@
|
|
|
69
48
|
"datafeeder.month.november": "November",
|
|
70
49
|
"datafeeder.month.october": "Oktober",
|
|
71
50
|
"datafeeder.month.september": "September",
|
|
72
|
-
"datafeeder.publish.hint": "Sie können diese Seite sicher verlassen. Sie werden benachrichtigt, wenn der Vorgang abgeschlossen ist.",
|
|
73
|
-
"datafeeder.publish.illustration.title": "Ein weiterer Datensatz \n zum Veröffentlichen?",
|
|
74
|
-
"datafeeder.publish.subtitle": "Das Veröffentlichen kann einige Minuten dauern.",
|
|
75
|
-
"datafeeder.publish.title": "Vielen Dank! \n Ihr Datensatz wird veröffentlicht",
|
|
76
|
-
"datafeeder.publish.upload": "Jetzt hochladen",
|
|
77
|
-
"datafeeder.publishSuccess.geonetworkRecord": "Metadatensatz",
|
|
78
|
-
"datafeeder.publishSuccess.illustration.title": "Erledigt, alles ist gut!",
|
|
79
|
-
"datafeeder.publishSuccess.mapViewer": "Kartenviewer",
|
|
80
|
-
"datafeeder.publishSuccess.ogcFeature": "",
|
|
81
|
-
"datafeeder.publishSuccess.subtitle": "Zeigen Sie Ihre Daten an in:",
|
|
82
|
-
"datafeeder.publishSuccess.title": "Herzlichen Glückwunsch! \n Ihr Datensatz wurde veröffentlicht",
|
|
83
|
-
"datafeeder.publishSuccess.uploadAnotherData": "Ein weiteren Datensatz hochladen",
|
|
84
|
-
"datafeeder.summarizePage.illustration": "Kein Fehler? Los geht's!",
|
|
85
|
-
"datafeeder.summarizePage.previous": "Zurück",
|
|
86
|
-
"datafeeder.summarizePage.submit": "Absenden",
|
|
87
|
-
"datafeeder.summarizePage.title": "Sie sind fast fertig...",
|
|
88
|
-
"datafeeder.upload.acceptedFormats": "Akzeptierte Dateiformate:",
|
|
89
|
-
"datafeeder.upload.checkboxLabel": "Ich besitze die Rechte zur Veröffentlichung dieses Datensatzes",
|
|
90
|
-
"datafeeder.upload.error.subtitle.analysis": "Überprüfen Sie, ob die Datei einen gültigen geografischen Datensatz enthält",
|
|
91
|
-
"datafeeder.upload.error.subtitle.cantOpenFile": "Bitte überprüfen Sie, ob die Datei gültig ist",
|
|
92
|
-
"datafeeder.upload.error.subtitle.fileFormat": "Beachten Sie: Nur SHP-Dateien",
|
|
93
|
-
"datafeeder.upload.error.subtitle.fileSize": "Beachten Sie: Maximale Dateigröße {size} MB",
|
|
94
|
-
"datafeeder.upload.error.title.analysis": "Fehler während der Datensatzanalyse",
|
|
95
|
-
"datafeeder.upload.error.title.cantOpenFile": "Fehler beim Öffnen der Datei",
|
|
96
|
-
"datafeeder.upload.error.title.fileFormat": "Das ausgewählte Dateiformat wird nicht unterstützt",
|
|
97
|
-
"datafeeder.upload.error.title.fileHasntSelected": "Keine Datei ausgewählt",
|
|
98
|
-
"datafeeder.upload.error.title.fileSize": "Die Dateigröße ist zu groß",
|
|
99
|
-
"datafeeder.upload.error.title.noRightsToSendData": "Sie dürfen diesen Datensatz nicht veröffentlichen",
|
|
100
|
-
"datafeeder.upload.illustration.enrichment": "Anreicherung",
|
|
101
|
-
"datafeeder.upload.illustration.import": "Import",
|
|
102
|
-
"datafeeder.upload.illustration.title": "Das Hinzufügen von Daten \n war noch nie so einfach",
|
|
103
|
-
"datafeeder.upload.illustration.validation": "Validierung",
|
|
104
|
-
"datafeeder.upload.illustration.verification": "Überprüfung",
|
|
105
|
-
"datafeeder.upload.inputLabel": "Importieren Sie Ihre Datei",
|
|
106
|
-
"datafeeder.upload.maxFileSize": "Maximale Dateigröße beträgt {size} MB",
|
|
107
|
-
"datafeeder.upload.title": "Laden Sie Ihren Datensatz hoch",
|
|
108
|
-
"datafeeder.upload.uploadButton": "Hochladen",
|
|
109
|
-
"datafeeder.validation.csv.delimiter": "",
|
|
110
|
-
"datafeeder.validation.csv.delimiter.comma": "",
|
|
111
|
-
"datafeeder.validation.csv.delimiter.semicolon": "",
|
|
112
|
-
"datafeeder.validation.csv.lat.field": "",
|
|
113
|
-
"datafeeder.validation.csv.lng.field": "",
|
|
114
|
-
"datafeeder.validation.csv.quote.double": "",
|
|
115
|
-
"datafeeder.validation.csv.quote.none": "",
|
|
116
|
-
"datafeeder.validation.csv.quote.simple": "",
|
|
117
|
-
"datafeeder.validation.csv.quoteChar": "",
|
|
118
|
-
"datafeeder.validation.encoding": "Codierung",
|
|
119
|
-
"datafeeder.validation.extent.title": "Hier ist der Datensatzumfang",
|
|
120
|
-
"datafeeder.validation.extent.title.unknown": "Das Projektionssystem ist unbekannt",
|
|
121
|
-
"datafeeder.validation.projection": "Raumbezugssystem:",
|
|
122
|
-
"datafeeder.validation.projection.unknown": "Wählen Sie ein Raumbezugssystem aus",
|
|
123
|
-
"datafeeder.validation.sample.title": "Und eine Beispielentität aus dem Datensatz",
|
|
124
|
-
"datafeeder.wizard.emptyRequiredValuesMessage": "Bitte füllen Sie die obligatorischen Felder aus",
|
|
125
51
|
"datafeeder.wizardSummarize.createdAt": "Erstellt am",
|
|
126
52
|
"datafeeder.wizardSummarize.scale": "Maßstab",
|
|
127
53
|
"datahub.header.datasets": "Datensätze",
|
|
@@ -425,9 +351,10 @@
|
|
|
425
351
|
"record.action.download": "Herunterladen",
|
|
426
352
|
"record.action.duplicate": "",
|
|
427
353
|
"record.action.duplicating": "",
|
|
354
|
+
"record.action.rollback": "",
|
|
428
355
|
"record.action.view": "Anzeigen",
|
|
429
356
|
"record.externalViewer.open": "In externem Kartenviewer öffnen",
|
|
430
|
-
"record.feature.limit": "Die
|
|
357
|
+
"record.feature.limit": "Die Vorschau wurde aufgrund zu vieler Elemente deaktiviert",
|
|
431
358
|
"record.metadata.about": "Beschreibung",
|
|
432
359
|
"record.metadata.api": "API",
|
|
433
360
|
"record.metadata.api.form.closeButton": "Schließen",
|
|
@@ -547,6 +474,8 @@
|
|
|
547
474
|
"search.error.recordNotFound": "Der Datensatz mit der Kennung \"{ id }\" konnte nicht gefunden werden.",
|
|
548
475
|
"search.field.any.placeholder": "Suche Datensätze ...",
|
|
549
476
|
"search.field.sortBy": "Sortieren nach:",
|
|
477
|
+
"search.filters.availableServices.download": "",
|
|
478
|
+
"search.filters.availableServices.view": "",
|
|
550
479
|
"search.filters.changeDate": "Letzte Aktualisierung",
|
|
551
480
|
"search.filters.clear": "Zurücksetzen",
|
|
552
481
|
"search.filters.contact": "Kontakte",
|
|
@@ -589,6 +518,12 @@
|
|
|
589
518
|
"share.tab.webComponent": "Integrieren",
|
|
590
519
|
"table.loading.data": "Daten werden geladen...",
|
|
591
520
|
"table.object.count": "Objekte in diesem Datensatz",
|
|
521
|
+
"table.paginator.firstPage": "Erste Seite",
|
|
522
|
+
"table.paginator.itemsPerPage": "Elemente pro Seite",
|
|
523
|
+
"table.paginator.lastPage": "Letzte Seite",
|
|
524
|
+
"table.paginator.nextPage": "Nächste Seite",
|
|
525
|
+
"table.paginator.previousPage": "Vorherige Seite",
|
|
526
|
+
"table.paginator.rangeLabel": "{startIndex} - {endIndex} von {length}",
|
|
592
527
|
"table.select.data": "Datenquelle",
|
|
593
528
|
"tooltip.html.copy": "HTML kopieren",
|
|
594
529
|
"tooltip.id.copy": "Eindeutige Kennung kopieren",
|